/* ═══════════════════════════════════════════════════════
   BÖRJA PREMIUM DESIGN SYSTEM — v3.1
   Fix iOS: progressive enhancement + no color-mix()
   ═══════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════
   KEYFRAMES
   ══════════════════════════════════════════════════════ */

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes shimmer {
  from { transform: translateX(-120%) skewX(-12deg); }
  to   { transform: translateX(220%) skewX(-12deg); }
}
@keyframes pulseGlow {
  0%,100% { box-shadow: 0 0 0 0 rgba(0,122,255,.38); }
  50%      { box-shadow: 0 0 0 7px rgba(0,122,255,0); }
}
@keyframes blurIn {
  from { opacity: 0; filter: blur(8px); }
  to   { opacity: 1; filter: blur(0); }
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-16px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(12px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
  0%   { opacity: 0; transform: scale(.7); }
  70%  { transform: scale(1.04); }
  100% { opacity: 1; transform: scale(1); }
}
/* clip-path avec opacity explicite pour Safari iOS */
@keyframes clipReveal {
  from { opacity: 1; -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0); }
  to   { opacity: 1; -webkit-clip-path: inset(0 0% 0 0);   clip-path: inset(0 0% 0 0); }
}
@keyframes badgePop {
  0%   { opacity: 0; transform: scale(.5); }
  70%  { opacity: 1; transform: scale(1.08); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes checkPop {
  0%   { opacity: 0; transform: scale(0); }
  65%  { transform: scale(1.2); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes driftLeft {
  from { opacity: 0; transform: translateX(-12px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes letterSpacingClose {
  from { opacity: 0; letter-spacing: .06em; }
  to   { opacity: 1; letter-spacing: 0; }
}
@keyframes statPunch {
  0%   { opacity: 0; transform: scale(.6); }
  70%  { transform: scale(1.05); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes kpiVal {
  0%   { opacity: 0; transform: scale(.8); }
  65%  { transform: scale(1.05); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes blink {
  0%,100% { opacity: 1; }
  50%      { opacity: .3; }
}
/* emPulse sans color-mix() — compat Safari iOS 15+ */
@keyframes emPulse {
  0%   { text-shadow: none; }
  50%  { text-shadow: 0 0 20px rgba(0,122,255,.55); }
  100% { text-shadow: 0 0 4px rgba(0,122,255,.18); }
}
@keyframes statColorFlash {
  0%,60% { color: var(--brand); }
  100%   { color: inherit; }
}
@keyframes vscanColorFlash {
  0%,55% { color: var(--brand); }
  100%   { color: inherit; }
}

/* ══════════════════════════════════════════════════════
   TOKENS LIGHT MODE
   ══════════════════════════════════════════════════════ */

:root {
  --brand:      #007aff;
  --brand-dim:  rgba(0,122,255,.10);
  --brand-glow: rgba(0,122,255,.28);
  --bg: #f0f0f5;
  --surface: rgba(255,255,255,.88);
  --surface-heavy: rgba(255,255,255,.97);
  --glass-bg: rgba(255,255,255,.74);
  --glass-border: rgba(255,255,255,.88);
  --glass-shadow: 0 1px 8px rgba(0,0,0,.04),0 4px 20px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.92);
  --glass-shadow-hover: 0 4px 24px rgba(0,0,0,.07),0 14px 40px rgba(0,0,0,.07),inset 0 1px 0 rgba(255,255,255,.96);
  --sep: rgba(0,0,0,.07);
  --sep-heavy: rgba(0,0,0,.12);
  --black: #1a1a1f;
  --black-2: rgba(26,26,31,.68);
  --black-3: rgba(26,26,31,.44);
  --black-4: rgba(26,26,31,.26);
  --anim-spring: cubic-bezier(.22,1,.36,1);
}

body { background: var(--bg); }
body::before { background-color: #f0f0f5; }
.overlay { background: #f0f0f5; }
.nav { background: rgba(248,248,252,.82); border-color: rgba(255,255,255,.85); }

/* ══════════════════════════════════════════════════════
   HERO — animations page load (toujours jouées)
   ══════════════════════════════════════════════════════ */

.hero-eyebrow {
  animation: blurIn .5s ease both;
  animation-delay: .05s;
}
.hero-h1 {
  animation: fadeUp .8s var(--anim-spring) both;
  animation-delay: .10s;
}
.hero-h1 .thin {
  animation: blurIn .7s var(--anim-spring) both;
  animation-delay: .22s;
}
.hero-sub {
  animation: driftLeft .65s var(--anim-spring) both;
  animation-delay: .28s;
}
.hero-ctas {
  animation: scaleIn .55s var(--anim-spring) both;
  animation-delay: .40s;
}
.hero-trust {
  animation: letterSpacingClose .5s ease both;
  animation-delay: .55s;
}

/* ══════════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════════ */

.nav-brand { animation: fadeIn .4s ease both; }
.nav-lnk {
  position: relative;
  transition: color .16s ease, background .16s ease, transform .16s ease;
}
.nav-lnk::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 0; height: 1px;
  background: var(--brand);
  transition: width .25s var(--anim-spring);
}
.nav-lnk:hover { transform: translateY(-1px); }
.nav-lnk:hover::after { width: 100%; }

.btn-nav-ghost {
  position: relative;
  overflow: hidden;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.btn-nav-ghost::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 1.5px solid var(--brand);
  border-radius: inherit;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  transition: clip-path .3s var(--anim-spring), -webkit-clip-path .3s var(--anim-spring);
}
.btn-nav-ghost:hover::before { -webkit-clip-path: inset(0 0% 0 0); clip-path: inset(0 0% 0 0); }

.btn-nav-red {
  animation: pulseGlow 3s ease-in-out infinite;
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-nav-red:hover { transform: translateY(-2px); animation-play-state: paused; }

/* ══════════════════════════════════════════════════════
   REVEAL SCROLL
   ══════════════════════════════════════════════════════ */

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s var(--anim-spring), transform .65s var(--anim-spring);
}
.reveal.visible { opacity: 1; transform: none; }

.reveal .sec-kicker {
  opacity: 0; transform: translateX(-16px);
  transition: opacity .5s ease, transform .5s ease;
  transition-delay: .00s;
}
.reveal.visible .sec-kicker { opacity: 1; transform: translateX(0); }

.reveal .sec-title {
  opacity: 0; transform: translateY(14px); filter: blur(4px);
  transition: opacity .65s ease, transform .65s ease, filter .65s ease;
  transition-delay: .08s;
}
.reveal.visible .sec-title { opacity: 1; transform: translateY(0); filter: blur(0); }
.reveal.visible .sec-title em {
  animation: emPulse .9s ease forwards;
  animation-delay: .55s;
}

.reveal .sec-sub {
  opacity: 0; transform: translateY(10px);
  transition: opacity .6s ease-out, transform .6s ease-out;
  transition-delay: .18s;
}
.reveal.visible .sec-sub { opacity: 1; transform: translateY(0); }

.reveal .cards-grid > *:nth-child(1),.reveal .solutions-grid > *:nth-child(1) { transition-delay:.08s; }
.reveal .cards-grid > *:nth-child(2),.reveal .solutions-grid > *:nth-child(2) { transition-delay:.15s; }
.reveal .cards-grid > *:nth-child(3),.reveal .solutions-grid > *:nth-child(3) { transition-delay:.22s; }
.reveal .cards-grid > *:nth-child(4),.reveal .solutions-grid > *:nth-child(4) { transition-delay:.29s; }
.reveal .cards-grid > *:nth-child(5),.reveal .solutions-grid > *:nth-child(5) { transition-delay:.36s; }
.reveal .cards-grid > *:nth-child(6),.reveal .solutions-grid > *:nth-child(6) { transition-delay:.43s; }

/* CTA */
.reveal .cta-kicker { opacity:0; transform:translateX(-16px); transition:opacity .5s ease,transform .5s ease; transition-delay:.00s; }
.reveal.visible .cta-kicker { opacity:1; transform:translateX(0); }
.reveal .cta-title { opacity:0; transform:scale(.94); transition:opacity .7s var(--anim-spring),transform .7s var(--anim-spring); transition-delay:.07s; }
.reveal.visible .cta-title { opacity:1; transform:scale(1); }
.reveal .cta-sub { opacity:0; transform:translateX(-12px); transition:opacity .55s var(--anim-spring),transform .55s var(--anim-spring); transition-delay:.14s; }
.reveal.visible .cta-sub { opacity:1; transform:translateX(0); }
.reveal .cta-avail { opacity:0; letter-spacing:.04em; transition:opacity .5s ease,letter-spacing .5s ease; transition-delay:.22s; }
.reveal.visible .cta-avail { opacity:1; letter-spacing:0; }

/* Footer */
.reveal .ft-brand-name { opacity:0; filter:blur(8px); transition:opacity .5s ease,filter .5s ease; }
.reveal.visible .ft-brand-name { opacity:1; filter:blur(0); }
.reveal .ft-nav a { opacity:0; transform:translateX(-8px); transition:opacity .4s ease,transform .4s ease; }
.reveal.visible .ft-nav a:nth-child(1){opacity:1;transform:translateX(0);transition-delay:.00s;}
.reveal.visible .ft-nav a:nth-child(2){opacity:1;transform:translateX(0);transition-delay:.06s;}
.reveal.visible .ft-nav a:nth-child(3){opacity:1;transform:translateX(0);transition-delay:.12s;}
.reveal.visible .ft-nav a:nth-child(4){opacity:1;transform:translateX(0);transition-delay:.18s;}
.reveal.visible .ft-nav a:nth-child(5){opacity:1;transform:translateX(0);transition-delay:.24s;}
.reveal.visible .ft-nav a:nth-child(6){opacity:1;transform:translateX(0);transition-delay:.30s;}
.reveal .ft-copy { opacity:0; transition:opacity .5s ease; transition-delay:.30s; }
.reveal.visible .ft-copy { opacity:1; }

/* ══════════════════════════════════════════════════════
   BOUTONS
   ══════════════════════════════════════════════════════ */

.btn-primary,.btn-ghost,.btn-nav-red,.btn-nav-ghost,.form-submit {
  transition: transform .18s var(--anim-spring), box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  will-change: transform;
  position: relative;
  overflow: hidden;
}
.btn-primary::after,.btn-nav-red::after,.form-submit::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.28) 50%, transparent 75%);
  transform: translateX(-120%) skewX(-12deg);
  pointer-events: none;
}
.btn-primary:hover::after,.btn-nav-red:hover::after,.form-submit:hover::after { animation: shimmer .55s ease forwards; }
.btn-primary:hover,.btn-nav-red:hover,.form-submit:hover { transform: translateY(-2px) scale(1.025); }
.btn-ghost:hover,.btn-nav-ghost:hover { transform: translateY(-1px); }
.btn-primary:active,.btn-nav-red:active,.form-submit:active,.btn-ghost:active,.btn-nav-ghost:active {
  transform: scale(.96) translateY(0); transition-duration: .08s;
}
.btn-ghost { position:relative; overflow:hidden; }
.btn-ghost::before {
  content:''; position:absolute; inset:0;
  border: 1.5px solid currentColor; border-radius:inherit;
  -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0);
  transition: clip-path .35s var(--anim-spring), -webkit-clip-path .35s var(--anim-spring);
  opacity: .5;
}
.btn-ghost:hover::before { -webkit-clip-path:inset(0 0% 0 0); clip-path:inset(0 0% 0 0); opacity:1; }

.cta-band .reveal.visible .btn-primary,
.cta-band.reveal.visible .btn-primary { animation: scaleIn .6s var(--anim-spring) both; }

/* ══════════════════════════════════════════════════════
   CARTES — progressive enhancement via ._pm-reveal
   ══════════════════════════════════════════════════════ */

.card {
  transition: transform .22s var(--anim-spring), box-shadow .22s ease;
  will-change: transform;
}
.card:hover { transform: translateY(-5px) scale(1.012); box-shadow: var(--glass-shadow-hover); }

/* Enfants cachés UNIQUEMENT quand ._pm-reveal est présent (JS requis) */
.card._pm-reveal .card-title,
.card._pm-reveal .card-body { opacity: 0; transform: translateY(10px); transition: none; }
.card._pm-reveal .card-badge { opacity: 0; transform: none; transition: none; }
.card._pm-reveal .tag { opacity: 0; transform: translateY(10px); transition: none; }

.card._pm-in .card-title  { animation: fadeUp  .45s .05s cubic-bezier(.16,1,.3,1) forwards; }
.card._pm-in .card-body   { animation: fadeUp  .45s .12s cubic-bezier(.16,1,.3,1) forwards; }
.card._pm-in .card-badge  { animation: badgePop .48s .18s cubic-bezier(.34,1.56,.64,1) forwards; }
.card._pm-in .tag:nth-child(1) { animation: fadeUp .35s .23s cubic-bezier(.16,1,.3,1) forwards; }
.card._pm-in .tag:nth-child(2) { animation: fadeUp .35s .28s cubic-bezier(.16,1,.3,1) forwards; }
.card._pm-in .tag:nth-child(3) { animation: fadeUp .35s .33s cubic-bezier(.16,1,.3,1) forwards; }
.card._pm-in .tag:nth-child(n+4) { animation: fadeUp .35s .38s cubic-bezier(.16,1,.3,1) forwards; }

/* ══════════════════════════════════════════════════════
   STATISTIQUES — progressive enhancement
   ══════════════════════════════════════════════════════ */

.stat-item._pm-reveal .stat-n,
.stat-item._pm-reveal .stat-label,
.stat-item._pm-reveal .stat-unit,
.stat-item._pm-reveal .stat-src { opacity: 0; }

.stat-item._pm-in .stat-n     { animation: statPunch .55s cubic-bezier(.34,1.56,.64,1) forwards; }
.stat-item._pm-in .stat-unit  { animation: blurIn .4s .10s cubic-bezier(.16,1,.3,1) forwards; }
.stat-item._pm-in .stat-label { animation: fadeUp .4s .15s cubic-bezier(.16,1,.3,1) forwards; }
.stat-item._pm-in .stat-src   { animation: blurIn .3s .25s cubic-bezier(.16,1,.3,1) forwards; }
.stat-item._pm-in .stat-n em  { animation: statColorFlash .9s .1s ease forwards; }

/* ══════════════════════════════════════════════════════
   ACCORDION — progressive enhancement
   ══════════════════════════════════════════════════════ */

.acc-item._pm-reveal .acc-num,
.acc-item._pm-reveal .acc-q { opacity: 0; }

.acc-item._pm-in .acc-num { animation: blurIn .4s cubic-bezier(.16,1,.3,1) forwards; }
.acc-item._pm-in .acc-q   { animation: slideInRight .45s .06s cubic-bezier(.16,1,.3,1) forwards; }

.acc-chev { transition: transform .3s var(--anim-spring), background .15s ease, color .15s ease; }
.acc-item.open .acc-chev { transform: rotate(45deg); }
.acc-body { transition: max-height .4s var(--anim-spring), opacity .3s var(--anim-spring); opacity: 0; }
.acc-item.open .acc-body { opacity: 1; }

/* ══════════════════════════════════════════════════════
   CHECK ITEMS — progressive enhancement
   ══════════════════════════════════════════════════════ */

.check-item._pm-reveal { opacity: 0; transform: translateX(-20px); transition: none; }
.check-item._pm-in { animation: slideInLeft .45s cubic-bezier(.34,1.56,.64,1) forwards; }

.check-item._pm-reveal .check-text,
.check-item._pm-reveal .check-sub,
.check-item._pm-reveal .check-icon { opacity: 0; transform: none; }

.check-item._pm-in .check-icon { animation: checkPop  .4s  .05s cubic-bezier(.34,1.56,.64,1) forwards; }
.check-item._pm-in .check-text { animation: blurIn    .4s  .10s cubic-bezier(.16,1,.3,1) forwards; }
.check-item._pm-in .check-sub  { animation: blurIn    .35s .18s cubic-bezier(.16,1,.3,1) forwards; }

/* ══════════════════════════════════════════════════════
   TERMINAUX — progressive enhancement
   ══════════════════════════════════════════════════════ */

.device-terminal._pm-reveal,
.compta-terminal._pm-reveal { opacity: 0; transform: translateY(16px); }

.device-terminal._pm-in,
.compta-terminal._pm-in { animation: fadeUp .6s cubic-bezier(.16,1,.3,1) forwards; }

.device-terminal._pm-reveal .dt-label,
.compta-terminal._pm-reveal .dt-label { opacity: 0; }
.device-terminal._pm-in .dt-label,
.compta-terminal._pm-in .dt-label { animation: blurIn .4s .2s cubic-bezier(.16,1,.3,1) forwards; }

.dt-live { animation: blink 1.8s ease-in-out infinite; }

.compta-terminal._pm-reveal .ct-step-label { opacity: 0; transform: translateX(-8px); }
.compta-terminal._pm-in .ct-step-label:nth-child(1) { animation: slideInLeft .38s .15s cubic-bezier(.16,1,.3,1) forwards; }
.compta-terminal._pm-in .ct-step-label:nth-child(2) { animation: slideInLeft .38s .22s cubic-bezier(.16,1,.3,1) forwards; }
.compta-terminal._pm-in .ct-step-label:nth-child(3) { animation: slideInLeft .38s .29s cubic-bezier(.16,1,.3,1) forwards; }
.compta-terminal._pm-in .ct-step-label:nth-child(4) { animation: slideInLeft .38s .36s cubic-bezier(.16,1,.3,1) forwards; }

.compta-terminal._pm-reveal .ct-event-title { opacity: 0; }
.compta-terminal._pm-in .ct-event-title { animation: slideInLeft .35s .20s cubic-bezier(.16,1,.3,1) forwards; }
.compta-terminal._pm-reveal .ct-event-meta { opacity: 0; }
.compta-terminal._pm-in .ct-event-meta { animation: blurIn .3s .30s cubic-bezier(.16,1,.3,1) forwards; }

/* ══════════════════════════════════════════════════════
   VSCAN — progressive enhancement
   ══════════════════════════════════════════════════════ */

.vscan-intro-title._pm-reveal { opacity: 0; -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0); }
.vscan-intro-title._pm-in { animation: clipReveal .7s var(--anim-spring) forwards; }

.vscan-intro-sub._pm-reveal { opacity: 0; transform: translateX(-12px); }
.vscan-intro-sub._pm-in { animation: driftLeft .55s .12s cubic-bezier(.16,1,.3,1) forwards; }

.vscan-intro-badge._pm-reveal { opacity: 0; }
.vscan-intro-badge._pm-in { animation: badgePop .5s cubic-bezier(.34,1.56,.64,1) forwards; }
.vscan-intro-badge:nth-child(2)._pm-in { animation-delay: .08s; }
.vscan-intro-badge:nth-child(3)._pm-in { animation-delay: .16s; }
.vscan-intro-badge:nth-child(4)._pm-in { animation-delay: .24s; }

.vscan-node._pm-reveal { opacity: 0; transform: translateY(12px); }
.vscan-node._pm-in              { animation: fadeUp .45s .00s cubic-bezier(.34,1.56,.64,1) forwards; }
.vscan-node:nth-child(2)._pm-in { animation-delay: .08s; }
.vscan-node:nth-child(3)._pm-in { animation-delay: .16s; }
.vscan-node:nth-child(4)._pm-in { animation-delay: .24s; }
.vscan-node:nth-child(n+5)._pm-in { animation-delay: .30s; }

.vscan-node-value { transition: color .6s ease; }
.vscan-node._pm-in .vscan-node-value { animation: vscanColorFlash .9s ease forwards; }

/* ══════════════════════════════════════════════════════
   PERSONA / TABS — progressive enhancement
   ══════════════════════════════════════════════════════ */

.ptab._pm-reveal, .tab-btn._pm-reveal { opacity: 0; }
.ptab:nth-child(1)._pm-in   { animation: blurIn .45s .00s cubic-bezier(.16,1,.3,1) forwards; }
.ptab:nth-child(2)._pm-in   { animation: blurIn .45s .07s cubic-bezier(.16,1,.3,1) forwards; }
.ptab:nth-child(3)._pm-in   { animation: blurIn .45s .14s cubic-bezier(.16,1,.3,1) forwards; }
.ptab:nth-child(4)._pm-in   { animation: blurIn .45s .21s cubic-bezier(.16,1,.3,1) forwards; }
.ptab:nth-child(n+5)._pm-in { animation: blurIn .45s .28s cubic-bezier(.16,1,.3,1) forwards; }
.tab-btn:nth-child(1)._pm-in { animation: blurIn .45s .00s cubic-bezier(.16,1,.3,1) forwards; }
.tab-btn:nth-child(2)._pm-in { animation: blurIn .45s .07s cubic-bezier(.16,1,.3,1) forwards; }
.tab-btn:nth-child(3)._pm-in { animation: blurIn .45s .14s cubic-bezier(.16,1,.3,1) forwards; }
.tab-btn:nth-child(4)._pm-in { animation: blurIn .45s .21s cubic-bezier(.16,1,.3,1) forwards; }

.ppane-card._pm-reveal { opacity: 0; transform: scale(.94); }
.ppane-card._pm-in { animation: scaleIn .5s cubic-bezier(.34,1.56,.64,1) forwards; }

/* ══════════════════════════════════════════════════════
   FORMULAIRE — progressive enhancement
   ══════════════════════════════════════════════════════ */

.form-label._pm-reveal { opacity: 0; }
.form-label:nth-child(1)._pm-in   { animation: slideInLeft .4s .00s cubic-bezier(.16,1,.3,1) forwards; }
.form-label:nth-child(2)._pm-in   { animation: slideInLeft .4s .06s cubic-bezier(.16,1,.3,1) forwards; }
.form-label:nth-child(3)._pm-in   { animation: slideInLeft .4s .12s cubic-bezier(.16,1,.3,1) forwards; }
.form-label:nth-child(4)._pm-in   { animation: slideInLeft .4s .18s cubic-bezier(.16,1,.3,1) forwards; }
.form-label:nth-child(n+5)._pm-in { animation: slideInLeft .4s .24s cubic-bezier(.16,1,.3,1) forwards; }

.form-input:focus {
  transform: translateY(-1px);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s cubic-bezier(.34,1.56,.64,1);
}
.form-submit._pm-reveal { opacity: 0; transform: scale(.85); }
.form-submit._pm-in { animation: scaleIn .55s cubic-bezier(.34,1.56,.64,1) forwards; }

/* ══════════════════════════════════════════════════════
   KPIs — progressive enhancement
   ══════════════════════════════════════════════════════ */

.ct-kpi._pm-reveal .ct-kpi-val,
.ct-kpi._pm-reveal .ct-kpi-label { opacity: 0; }
.ct-kpi._pm-in .ct-kpi-val   { animation: kpiVal .5s cubic-bezier(.34,1.56,.64,1) forwards; }
.ct-kpi._pm-in .ct-kpi-label { animation: blurIn .4s .12s cubic-bezier(.16,1,.3,1) forwards; }

/* ══════════════════════════════════════════════════════
   FOOTER NAV — progressive enhancement
   ══════════════════════════════════════════════════════ */

.ft-nav a._pm-reveal { opacity: 0; }
.ft-nav a._pm-in { animation: blurIn .4s cubic-bezier(.16,1,.3,1) forwards; }

/* ══════════════════════════════════════════════════════
   DARK MODE COMPLET
   ══════════════════════════════════════════════════════ */
@media (prefers-color-scheme: dark) {

  :root {
    --brand:      #0a84ff;
    --brand-dim:  rgba(10,132,255,.12);
    --brand-glow: rgba(10,132,255,.28);
    --black: #f2f2f7;
    --black-2: rgba(242,242,247,.68);
    --black-3: rgba(242,242,247,.42);
    --black-4: rgba(242,242,247,.24);
    --white: #1c1c1e;
    --bg: #0d0d10;
    --surface: rgba(22,22,26,.90);
    --surface-heavy: rgba(36,36,40,.97);
    --sep: rgba(255,255,255,.08);
    --sep-heavy: rgba(255,255,255,.14);
    --glass-bg: rgba(22,22,26,.76);
    --glass-border: rgba(255,255,255,.09);
    --glass-blur: saturate(200%) blur(40px);
    --glass-shadow: 0 1px 10px rgba(0,0,0,.30),0 4px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07);
    --glass-shadow-hover: 0 4px 24px rgba(0,0,0,.40),0 14px 40px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.10);
    --green: #32d74b;
    --orange: #ff9f0a;
    --blue: #0a84ff;
    --red: #ff453a;
  }

  body { background: #0d0d10; color: #f2f2f7; }
  body::before {
    background-color: #0a0a0d;
    background:
      radial-gradient(ellipse 120% 80% at 10% 20%, rgba(10,132,255,.06) 0%, transparent 60%),
      radial-gradient(ellipse 80% 100% at 90% 80%, rgba(10,132,255,.04) 0%, transparent 60%),
      radial-gradient(ellipse 60% 60% at 50% 50%, rgba(22,22,26,.7) 0%, transparent 100%);
  }
  .overlay { background: #0d0d10; }

  .nav { background:rgba(16,16,20,.88); border-color:rgba(255,255,255,.09); box-shadow:0 2px 20px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.07); }
  .nav:hover { box-shadow:0 4px 28px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.09); }
  .nav-brand { color:#f2f2f7; border-color:rgba(255,255,255,.09); }
  .nav-lnk { color:rgba(242,242,247,.60); }
  .nav-lnk:hover { color:#f2f2f7; background:rgba(255,255,255,.08); }
  .nav-lnk.active { color:#f2f2f7; background:rgba(255,255,255,.10); font-weight:600; }
  .btn-nav-ghost { background:rgba(255,255,255,.09); color:rgba(242,242,247,.70); border-color:rgba(255,255,255,.13); }
  .btn-nav-ghost:hover { background:rgba(255,255,255,.15); color:#f2f2f7; }
  .btn-nav-red { box-shadow:0 1px 8px rgba(10,132,255,.35),inset 0 1px 0 rgba(255,255,255,.15); }
  .nav-mobile-arrow { color:rgba(242,242,247,.28); }

  .hero-h1 { color:#f2f2f7; }
  .hero-h1 .thin { color:rgba(242,242,247,.36); }
  .hero-sub { color:rgba(242,242,247,.62); }
  .hero-sub strong { color:#f2f2f7; }
  .hero-trust { color:rgba(242,242,247,.38); }
  .hero-eyebrow { color:var(--brand); }

  .btn-primary { background:#f2f2f7; color:#0d0d10; box-shadow:0 2px 12px rgba(255,255,255,.06),0 8px 24px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.18); }
  .btn-primary::before { background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%); }
  .btn-primary:hover { background:var(--brand); color:#fff; box-shadow:0 4px 20px rgba(10,132,255,.45),0 12px 32px rgba(10,132,255,.22),inset 0 1px 0 rgba(255,255,255,.2); }
  .btn-ghost { background:rgba(255,255,255,.09); color:rgba(242,242,247,.72); border-color:rgba(255,255,255,.14); }
  .btn-ghost:hover { background:rgba(255,255,255,.15); color:#f2f2f7; }

  .stat-strip { background:#080810; }
  .stat-unit { color:rgba(242,242,247,.70); }
  .sec-kicker { color:rgba(242,242,247,.36); }
  .sec-title { color:#f2f2f7; }
  .sec-sub { color:rgba(242,242,247,.60); }

  .card { background:rgba(22,22,26,.78); border-color:rgba(255,255,255,.08); box-shadow:var(--glass-shadow); }
  .card::before { background:linear-gradient(90deg,transparent,rgba(255,255,255,.06) 20%,rgba(255,255,255,.06) 80%,transparent); }
  .card-title { color:#f2f2f7; }
  .card-body { color:rgba(242,242,247,.62); }
  .card-icon-dark { background:rgba(255,255,255,.10); color:#f2f2f7; box-shadow:0 2px 8px rgba(0,0,0,.25); }
  .card-icon-glass { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.10); }
  .tag { background:rgba(255,255,255,.09); color:rgba(242,242,247,.58); }
  .card-badge { background:var(--brand-dim); border-color:rgba(10,132,255,.18); color:var(--brand); }

  .tab-btn { background:rgba(255,255,255,.09); color:rgba(242,242,247,.58); }
  .tab-btn:hover { background:rgba(255,255,255,.14); color:#f2f2f7; }
  .tab-btn.on { background:#f2f2f7; color:#0d0d10; box-shadow:0 2px 8px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.15); }

  .ptab { background:rgba(255,255,255,.09); color:rgba(242,242,247,.58); }
  .ptab:hover { background:rgba(255,255,255,.14); color:#f2f2f7; }
  .ptab.on { background:#f2f2f7; color:#0d0d10; box-shadow:0 2px 8px rgba(255,255,255,.06); }
  .ppane-card { background:rgba(22,22,26,.78); border-color:rgba(255,255,255,.08); }
  .ppane-card h4 { color:rgba(242,242,247,.36); }
  .ppane-card li { color:rgba(242,242,247,.62); }

  .check-prog { background:rgba(255,255,255,.10); }
  .check-prog-label { color:rgba(242,242,247,.38); }
  .check-item { background:rgba(22,22,26,.78); border-color:rgba(255,255,255,.08); }
  .check-item:hover { background:rgba(36,36,40,.90); }
  .check-item.done { background:rgba(50,215,75,.07); border-color:rgba(50,215,75,.18); }
  .check-icon { border-color:rgba(255,255,255,.22); }
  .check-text { color:#f2f2f7; }
  .check-item.done .check-text { color:rgba(242,242,247,.36); }

  .acc-item { background:rgba(22,22,26,.78); border-color:rgba(255,255,255,.08); box-shadow:0 1px 8px rgba(0,0,0,.15); }
  .acc-item.open { box-shadow:0 4px 20px rgba(0,0,0,.25); }
  .acc-head:hover { background:rgba(255,255,255,.04); }
  .acc-num { color:rgba(242,242,247,.35); }
  .acc-q { color:#f2f2f7; }
  .acc-chev { background:rgba(255,255,255,.10); color:rgba(242,242,247,.62); }
  .acc-item.open .acc-chev { background:var(--brand); color:#fff; }
  .acc-inner { color:rgba(242,242,247,.62); }

  .device-terminal,.compta-terminal { background:rgba(14,14,18,.88); border-color:rgba(255,255,255,.08); box-shadow:0 1px 10px rgba(0,0,0,.30),0 4px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06); }
  .device-terminal::before,.compta-terminal::before { background:linear-gradient(90deg,transparent,rgba(255,255,255,.06) 20%,rgba(255,255,255,.06) 80%,transparent); }
  .dt-bar,.ct-header { background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.07); }
  .dt-label { color:rgba(242,242,247,.38); }
  .dt-live { color:var(--brand); }
  .dt-body { scrollbar-color:rgba(255,255,255,.14) transparent; }
  .dt-body::-webkit-scrollbar-thumb { background:rgba(255,255,255,.14); }
  .dt-cta { border-color:rgba(255,255,255,.07); background:rgba(255,255,255,.02); }
  .sc-intro { color:rgba(242,242,247,.58); border-color:rgba(255,255,255,.07); }
  .sc-intro strong { color:#f2f2f7; }
  .sc-section { color:var(--brand); }
  .sc-label { color:rgba(242,242,247,.36); }
  .sc-value { color:#f2f2f7; }
  .sc-why { color:rgba(242,242,247,.52); }
  .sc-sep { background:rgba(255,255,255,.07); }
  .sc-row:hover { background:rgba(255,255,255,.03); }
  .sc-result { background:var(--brand-dim); border-color:rgba(10,132,255,.18); }
  .sc-result-label { color:var(--brand); }
  .sc-result-text { color:rgba(242,242,247,.60); }
  .ct-title-text { color:#f2f2f7; }
  .ct-sub-text { color:rgba(242,242,247,.40); }
  .ct-feed { border-color:rgba(255,255,255,.07); }
  .ct-feed::-webkit-scrollbar-thumb { background:rgba(255,255,255,.12); }
  .ct-feed-title { color:rgba(242,242,247,.36); }
  .ct-event-title { color:#f2f2f7; }
  .ct-event-meta { color:rgba(242,242,247,.38); }
  .ct-pipeline .ct-pipe-title { color:rgba(242,242,247,.36); }
  .ct-step { background:rgba(255,255,255,.04); border-color:transparent; }
  .ct-step.active { background:rgba(10,132,255,.12); border-color:rgba(10,132,255,.22); }
  .ct-step.done { background:rgba(50,215,75,.08); border-color:rgba(50,215,75,.18); }
  .ct-step-num { background:rgba(255,255,255,.11); color:rgba(242,242,247,.42); }
  .ct-step.active .ct-step-num { background:var(--brand); color:#fff; }
  .ct-step.done .ct-step-num { background:var(--green); color:#fff; }
  .ct-step-label { color:rgba(242,242,247,.58); }
  .ct-step.active .ct-step-label { color:#f2f2f7; }
  .ct-step.done .ct-step-label { color:rgba(242,242,247,.36); }
  .ct-journal { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.08); color:rgba(242,242,247,.58); }
  .ct-journal::-webkit-scrollbar-thumb { background:rgba(255,255,255,.10); }

  .seo-url-row { border-color:rgba(255,255,255,.07); }
  .seo-url-row input { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); color:#f2f2f7; }
  .seo-url-row input:focus { border-color:var(--brand); background:rgba(255,255,255,.11); box-shadow:0 0 0 3px rgba(10,132,255,.16); }
  .seo-url-row input::placeholder { color:rgba(242,242,247,.28); }
  .seo-url-row button { box-shadow:0 1px 8px rgba(10,132,255,.30); }
  .seo-scores-grid .seo-score-item { background:rgba(255,255,255,.05); }
  .seo-score-item .s-label { color:rgba(242,242,247,.36); }
  .seo-score-item .s-bar { background:rgba(255,255,255,.10); }
  .seo-summary { border-color:rgba(255,255,255,.07); }
  .seo-sum-title { color:#f2f2f7; }
  .seo-sum-sub { color:rgba(242,242,247,.40); }
  .seo-score-ring .ring-val { color:#f2f2f7; }

  .contact-form { background:rgba(22,22,26,.82); border-color:rgba(255,255,255,.09); box-shadow:var(--glass-shadow); }
  .contact-form::before { background:linear-gradient(90deg,transparent,rgba(255,255,255,.06) 30%,rgba(255,255,255,.06) 70%,transparent); }
  .form-label { color:rgba(242,242,247,.40); }
  .form-input,.form-select { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.12); color:#f2f2f7; }
  .form-input:focus,.form-select:focus { background:rgba(255,255,255,.11); border-color:var(--brand); box-shadow:0 0 0 3px rgba(10,132,255,.16); }
  .form-input::placeholder { color:rgba(242,242,247,.28); }
  .form-select option { background:#1c1c20; color:#f2f2f7; }
  .form-submit { background:#f2f2f7; color:#0d0d10; box-shadow:0 2px 12px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.18); }
  .form-submit:hover { background:var(--brand); color:#fff; box-shadow:0 4px 20px rgba(10,132,255,.40); }

  .cta-title { color:#f2f2f7; }
  .cta-kicker { color:rgba(242,242,247,.36); }
  .cta-sub { color:rgba(242,242,247,.60); }
  .cta-avail { color:rgba(242,242,247,.36); }

  .site-footer { background:rgba(14,14,18,.95) !important; border-color:rgba(255,255,255,.07) !important; }
  .ft-brand-name { color:#f2f2f7; }
  .ft-nav a { color:rgba(242,242,247,.50); }
  .ft-nav a:hover { color:rgba(242,242,247,.80); }

  .fab { background:rgba(22,22,26,.88); border-color:rgba(255,255,255,.12); box-shadow:0 2px 12px rgba(0,0,0,.35),0 6px 24px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.10); }
  .fab-icon { color:rgba(242,242,247,.75); }
  .fab-wrap.open .fab { background:var(--brand); }
  .fab-wrap.open .fab-icon { color:#fff; }
  .fab-panel { background:rgba(20,20,24,.92); border-color:rgba(255,255,255,.10); box-shadow:0 2px 12px rgba(0,0,0,.40),0 8px 32px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08); }
  .fab-panel::before { background:linear-gradient(90deg,transparent 5%,rgba(255,255,255,.07) 30%,rgba(255,255,255,.07) 70%,transparent 95%); }
  .fab-action { color:rgba(242,242,247,.82); }
  .fab-action:hover { background:rgba(255,255,255,.07); color:#f2f2f7; }
  .fab-action-icon { background:rgba(255,255,255,.09) !important; }

  .lang-btn { background:rgba(22,22,26,.88); border-color:rgba(255,255,255,.12); color:rgba(242,242,247,.72); box-shadow:0 2px 10px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08); }
  .lang-btn:hover { background:rgba(36,36,40,.95); }
  .lang-panel { background:rgba(20,20,24,.92); border-color:rgba(255,255,255,.10); box-shadow:0 2px 12px rgba(0,0,0,.40),0 8px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08); }
  .lang-option { color:rgba(242,242,247,.68); }
  .lang-option:hover { background:rgba(255,255,255,.07); color:#f2f2f7; transform:translateX(-3px); }
  .lang-option.active { background:rgba(255,255,255,.10); color:#f2f2f7; }
  .lang-abbr { background:rgba(255,255,255,.09); color:rgba(242,242,247,.60); }

  .vscan-intro { color:rgba(242,242,247,.60); }
  .vscan-intro-title { color:#f2f2f7; }
  .vscan-intro-sub { color:rgba(242,242,247,.54); }
  .vscan-intro-badge { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.10); color:rgba(242,242,247,.62); }
  .vscan-intro-badge.done { background:rgba(50,215,75,.12); border-color:rgba(50,215,75,.20); color:var(--green); }
  .vscan-node { background:rgba(22,22,26,.78); border-color:rgba(255,255,255,.08); }
  .vscan-node-label { color:rgba(242,242,247,.56); }
  .vscan-node-value { color:#f2f2f7; }
  .vscan-node-value.danger { color:var(--red); }
  .vscan-node-value.safe { color:var(--green); }
  .vscan-node-risk { background:rgba(255,255,255,.07); color:rgba(242,242,247,.50); }
  .vscan-cta { background:rgba(22,22,26,.82); border-color:rgba(255,255,255,.09); }

  .wa-bubble { box-shadow:0 4px 20px rgba(0,0,0,.40),0 2px 8px rgba(0,0,0,.25); }
  .ct-kpis { background:rgba(255,255,255,.03); }
  .ct-kpi { border-color:rgba(255,255,255,.07); }
  .ct-kpi-label { color:rgba(242,242,247,.36); }
  .ct-kpi-val { color:#f2f2f7; }
}

/* ══════════════════════════════════════════════════════
   ACCESSIBILITÉ — désactive toutes les animations
   ═════════════════════════════════════════════════════�� */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  /* Forcer la visibilité de tous les éléments animés */
  ._pm-reveal, ._pm-reveal * {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
  }
  .reveal, .reveal .sec-kicker, .reveal .sec-title, .reveal .sec-sub,
  .reveal .cta-kicker, .reveal .cta-title, .reveal .cta-sub, .reveal .cta-avail,
  .reveal .ft-brand-name, .reveal .ft-copy, .reveal .ft-nav a {
    opacity: 1 !important; transform: none !important; filter: none !important;
  }
  .hero-eyebrow, .hero-h1, .hero-h1 .thin, .hero-sub, .hero-ctas, .hero-trust {
    opacity: 1 !important; transform: none !important; filter: none !important;
    -webkit-clip-path: none !important; clip-path: none !important;
    letter-spacing: inherit !important;
  }
}

/* ══════════════════════════════════════════════════════
   OVERRIDE ROUGE → BLEU APPLE
   Remplace toutes les valeurs #E8000E / rgba(232,0,14,…)
   / #c5000b / #ff4d00 codées en dur dans les <style>
   inline des pages PHP. premium.css est chargé APRÈS le
   bloc <style> inline → cascade + !important l'emportent.
   ══════════════════════════════════════════════════════ */

/* 1 — Bouton CTA nav rouge (toutes pages) */
.btn-nav-red {
  box-shadow: 0 1px 8px rgba(0,122,255,.35), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.btn-nav-red:hover {
  background: #0066d6 !important;
  box-shadow: 0 2px 14px rgba(0,122,255,.45) !important;
}

/* 2 — btn-nav-red dark + mobile dark (digital.php, index.php) */
@media (prefers-color-scheme: dark) {
  .btn-nav-red {
    background: rgba(0,122,255,.88) !important;
    box-shadow:
      0 4px 16px rgba(0,122,255,.28),
      0 8px 32px rgba(0,122,255,.14),
      inset 0 1px 0 rgba(255,255,255,.18) !important;
    border: 0.5px solid rgba(0,122,255,.55) !important;
  }
  .btn-nav-red:hover {
    background: rgba(0,122,255,.95) !important;
    box-shadow: 0 4px 24px rgba(0,122,255,.38) !important;
  }
}

/* 3 — nav-cta (cyber.php, physique.php — utilise var(--red)) */
.nav-cta {
  background: var(--brand) !important;
}
.nav-cta:hover {
  background: #0066d6 !important;
}

/* 4 — Gradient hero-h1 em (#ff4d00 → #0055cc) */
.hero-h1 em {
  background: linear-gradient(135deg, var(--brand) 0%, #0055cc 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: var(--brand) !important;
}

/* 5 — Gradient cta-title em (#ff4d00 → #0055cc) */
.cta-title em {
  background: linear-gradient(135deg, var(--brand) 0%, #0055cc 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* 6 — body::before gradient teinté rouge → bleu */
body::before {
  background:
    radial-gradient(ellipse 120% 80% at 10% 20%, rgba(0,122,255,.04) 0%, transparent 60%),
    radial-gradient(ellipse 80% 100% at 90% 80%, rgba(0,122,255,.02) 0%, transparent 60%),
    #f0f0f5 !important;
}
@media (prefers-color-scheme: dark) {
  body::before {
    background:
      radial-gradient(ellipse 120% 80% at 10% 20%, rgba(10,132,255,.06) 0%, transparent 60%),
      radial-gradient(ellipse 80% 100% at 90% 80%, rgba(10,132,255,.04) 0%, transparent 60%),
      radial-gradient(ellipse 60% 60% at 50% 50%, rgba(22,22,26,.7) 0%, transparent 100%),
      #0a0a0d !important;
  }
}

/* 7 — btn-primary ombres rouges → bleu */
.btn-primary {
  box-shadow: 0 1px 4px rgba(0,122,255,.35) !important;
}
.btn-primary:hover {
  box-shadow: 0 4px 20px rgba(0,122,255,.35), 0 12px 32px rgba(0,122,255,.15), inset 0 1px 0 rgba(255,255,255,.2) !important;
}

/* 8 — card-icon-red */
.card-icon-red {
  background: var(--brand) !important;
  box-shadow: 0 2px 8px rgba(0,122,255,.35) !important;
}

/* 9 — card-badge bordure */
.card-badge {
  border-color: rgba(0,122,255,.12) !important;
}

/* 10 — Quiz (cyber.php, physique.php) */
.quiz-opt:hover   { border-color: var(--brand) !important; }
.quiz-opt.sel,
.quiz-opt.active  {
  border-color: var(--brand) !important;
  background: rgba(0,122,255,.06) !important;
}
.quiz-opt.sel .quiz-opt-icon,
.quiz-opt.active .quiz-opt-icon { background: var(--brand) !important; }
.quiz-bar    { background: var(--brand) !important; }
.quiz-next:hover { background: var(--brand) !important; }
.result-cta  { background: var(--brand) !important; }
.result-cta:hover { background: #0066d6 !important; }
.result-score em { color: var(--brand) !important; }

/* 11 — form-submit survol */
.form-submit:hover {
  background: var(--brand) !important;
  box-shadow: 0 4px 20px rgba(0,122,255,.30) !important;
}

/* 12 — form-input focus glow */
.form-input:focus,
.form-select:focus {
  box-shadow: 0 0 0 3px rgba(0,122,255,.10) !important;
}

/* 13 — SEO URL row */
.seo-url-row input:focus {
  box-shadow: 0 0 0 3px rgba(0,122,255,.10) !important;
}
.seo-url-row button {
  background: var(--brand) !important;
  box-shadow: 0 1px 8px rgba(0,122,255,.30) !important;
}

/* 14 — sc-result bordure */
.sc-result { border-color: rgba(0,122,255,.14) !important; }

/* 15 — ct-step active + spinner */
.ct-step.active  { border-color: rgba(0,122,255,.14) !important; }
.ct-step-spinner {
  border-color: rgba(0,122,255,.20) !important;
  border-top-color: var(--brand) !important;
}

/* 16 — Lang switcher ombres */
.lang-btn {
  box-shadow: 0 1px 6px rgba(0,122,255,.15), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.lang-wrap.open .lang-btn {
  background: var(--brand) !important;
  box-shadow: 0 4px 16px rgba(0,122,255,.28) !important;
}
.lang-option.active {
  background: var(--brand) !important;
  box-shadow: 0 2px 10px rgba(0,122,255,.25) !important;
}

/* 17 — Terminal cyber/physique (hardcodé #E8000E) */
.dt-line em  { color: var(--brand) !important; }
.dt-prompt   { color: var(--brand) !important; }

/* 18 — cta-btn (cyber.php, physique.php) */
.cta-btn { background: var(--brand) !important; }
.cta-btn:hover { background: #0066d6 !important; }
.cta-input:focus { border-color: var(--brand) !important; }

/* 19 — Éléments texte rouge (via --red ou --brand) */
.hero-eyebrow { color: var(--brand) !important; }
.sec-label   { color: var(--brand) !important; }
.sec-title em { color: var(--brand) !important; }
.stat-n em   { color: var(--brand) !important; }
.acc-code    { color: var(--brand) !important; }
.pcard-label { color: var(--brand) !important; }
.pcard-list li::before { background: var(--brand) !important; }

/* 20 — Ombres rouges mobiles dark (cyber.php, physique.php) */
@media (prefers-color-scheme: dark) {
  .nav-cta {
    background: rgba(0,122,255,.88) !important;
    box-shadow: 0 2px 12px rgba(0,122,255,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
    border: 0.5px solid rgba(0,122,255,.55) !important;
  }
  .nav-cta:hover {
    background: rgba(0,122,255,.95) !important;
    box-shadow: 0 4px 24px rgba(0,122,255,.32) !important;
  }
  .quiz-opt.active {
    background: rgba(0,122,255,.10) !important;
    border-color: rgba(0,122,255,.35) !important;
  }
  .result-cta { background: rgba(0,122,255,.90) !important; }
  .cta-btn    { background: rgba(0,122,255,.90) !important; }
}
