/* ═══════════════════════════════════════════════════════════════════
   RENAISSANCE — Refonte "Dark luxe raffiné"
   Chargé en DERNIER : surcharge le thème existant.
   Palette monochrome ivoire + or mat, typo Archivo large & forte,
   glows néon calmés, plus d'air. Aucune dépendance externe.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Polices auto-hébergées (alias sur les noms existants → testable + fiable) ── */
@font-face{font-family:'Inter';src:url('fonts/inter-latin-wght-normal.woff2') format('woff2-variations'),url('fonts/inter-latin-ext-wght-normal.woff2') format('woff2-variations');font-weight:100 900;font-display:swap;font-style:normal;}
@font-face{font-family:'Archivo';src:url('fonts/archivo-latin-wght-normal.woff2') format('woff2-variations'),url('fonts/archivo-latin-ext-wght-normal.woff2') format('woff2-variations');font-weight:100 900;font-display:swap;font-style:normal;}
@font-face{font-family:'Archivo Variable';src:url('fonts/archivo-latin-wght-normal.woff2') format('woff2-variations'),url('fonts/archivo-latin-ext-wght-normal.woff2') format('woff2-variations');font-weight:100 900;font-display:swap;font-style:normal;}
/* Serif Renaissance (Trajan/Cinzel) — bas-de-casse = petites capitales */
@font-face{font-family:'Cinzel';src:url('fonts/cinzel-latin-wght.woff2') format('woff2');font-weight:400 900;font-display:swap;font-style:normal;}

/* ── Jetons dark luxe ── */
:root{
  --bg:#03040c; --bg-2:#06070f; --bg-card:#0d0f18;
  --ink:#f5f4f1; --ink-dim:#a7a29a; --ink-faint:#6f6b64;
  --line:rgba(245,244,241,.09); --line-2:rgba(245,244,241,.16);
  --gold:#6f88ff; --gold-2:#9fb2ff; --gold-soft:rgba(90,114,255,.14);
  --accent:#6f88ff; --accent-2:#9fb2ff; --accent-soft:rgba(90,114,255,.12);
  --text:#f5f4f1; --text-dim:#a7a29a; --text-faint:#6f6b64;
  --border:rgba(245,244,241,.09); --border-h:rgba(120,150,255,.5);
  --glass:rgba(23,44,110,.5); --glass-2:rgba(38,64,150,.62); --glass-line:rgba(255,255,255,.42);
  --r:14px;
}

html,body{background:#03040c;}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:-.011em;}

/* ── Calmer le décor (grain + aurora + particules) ── */
body::before{opacity:.025 !important;}          /* grain quasi invisible */
.aurora{opacity:.5 !important;filter:blur(90px) !important;}
.aurora-a{background:radial-gradient(circle,rgba(60,90,220,.16) 0%,transparent 66%) !important;}
.aurora-b{background:radial-gradient(circle,rgba(120,150,255,.09) 0%,transparent 66%) !important;}
#cv{opacity:.5 !important;}

/* ── Typo display : Archivo, large & forte, tracking serré, solide ── */
.sec-t,.cine-hero__title,.hero-name,.zyra-title,.dg-profile,.dg-q,
h1,h2,h3,.footer-brand{font-family:'Archivo Variable','Archivo',system-ui,sans-serif !important;}
.sec-t{font-weight:800 !important;letter-spacing:-.03em !important;line-height:1.02 !important;
  background:none !important;-webkit-text-fill-color:currentColor !important;color:var(--ink) !important;
  text-transform:none !important;}
.sec-t .tl>span,.sec-t span{background:none !important;-webkit-text-fill-color:currentColor !important;color:inherit !important;}
/* le mot mis en avant dans les titres → or mat (au lieu d'indigo/dégradé) */
.sec-t b,.sec-t .accent,.sec-t em,.sec-t .hl,.sec-t strong,.sec-t .y{color:#3a56e0 !important;font-style:normal !important;font-weight:800 !important;background:none !important;-webkit-text-fill-color:#3a56e0 !important;}
/* titre forcé sur une seule ligne, toutes résolutions */
.sec-t--1line{white-space:nowrap !important;font-size:clamp(13px,4vw,28px) !important;letter-spacing:-.02em !important;padding:0 6px;}

/* ── Boutons : sobres, petit rayon, pas de glow néon ── */
.btn-fp,.nav-diag,.cta{
  font-family:'Inter',sans-serif !important;font-weight:700 !important;letter-spacing:.01em !important;
  border-radius:8px !important;box-shadow:none !important;text-transform:none !important;transition:transform .25s ease,background .25s ease,border-color .25s ease !important;}
.btn-fp::before,.cta::before{display:none !important;}   /* enlève les balayages brillants */
.btn-fp.primary,.nav-diag{
  background:var(--glass) !important;color:#eaf2ff !important;border:1px solid var(--glass-line) !important;
  border-radius:40px !important;
  backdrop-filter:blur(14px) saturate(150%) !important;-webkit-backdrop-filter:blur(14px) saturate(150%) !important;
  box-shadow:0 8px 26px rgba(23,44,110,.5),inset 0 1px 0 rgba(255,255,255,.28) !important;}
.btn-fp.primary:hover,.nav-diag:hover{background:var(--glass-2) !important;border-color:rgba(255,255,255,.75) !important;transform:translateY(-2px) !important;box-shadow:0 14px 40px rgba(60,107,255,.5),inset 0 1px 0 rgba(255,255,255,.4) !important;}
.btn-fp:not(.primary),.btn-fp.fil{background:rgba(245,244,241,.04) !important;color:var(--ink) !important;border:1px solid var(--line-2) !important;}
.btn-fp:not(.primary):hover{background:rgba(245,244,241,.09) !important;transform:translateY(-2px) !important;}

/* ── Cartes / blocs : élévation unique (bordure hairline OU ombre douce), pas les deux ── */
.carte-fp,.card,.faq-it,.use-case,.targets-block,.mod-row,.credit,.dg-axis{
  border:1px solid var(--line) !important;border-radius:var(--r) !important;
  box-shadow:none !important;background:var(--bg-card) !important;}
.carte-fp:hover,.card:hover,.faq-it:hover{border-color:var(--border-h) !important;box-shadow:0 24px 60px -30px rgba(0,0,0,.8) !important;transform:none !important;}
.carte-fp::after,.card::after,.carte-fp::before,.card::before{display:none !important;} /* pas de bord conique néon / balayage */

/* ── Liste modules : chiffres discrets, prix or mat, séparateurs hairline ── */
.mod-row{background:transparent !important;border:none !important;border-bottom:1px solid var(--line) !important;border-radius:0 !important;}
.mod-num,.uc-num{background:transparent !important;color:var(--ink-faint) !important;box-shadow:none !important;
  border:1px solid var(--line-2) !important;font-weight:700 !important;}
.mod-price,.dg-price,.price,.credit .num{color:var(--gold) !important;text-shadow:none !important;}

/* ── Puces / checks : or mat, pas de halo pulsé ── */
.check-dot,.ok,.check-acc,.uc-num{box-shadow:none !important;animation:none !important;}
.check-dot{background:transparent !important;border:1px solid var(--gold) !important;color:var(--gold) !important;}

/* ── Badges / tags : hairline discret ── */
.badge,.card-tag,.badge-fp,.soon-badge,.launch-badge,.dg-kick{
  background:rgba(90,114,255,.12) !important;color:#9fb2ff !important;border:1px solid rgba(120,150,255,.34) !important;
  box-shadow:none !important;font-weight:700 !important;letter-spacing:.14em !important;}
/* badge du diagnostic : pill compacte (pas de boîte pleine largeur "coupée") */
.dg-kick{display:inline-block !important;border-radius:999px !important;padding:.34rem .8rem !important;width:auto !important;}

/* ── Navbar : pill flottante liquid-glass bleu (gérée dans le <style> du hero) ── */

/* ── Diagnostic (tunnel) : formes nettes, or mat, pas de néon ── */
.dg-opt{border:1px solid var(--line-2) !important;background:rgba(245,244,241,.03) !important;box-shadow:none !important;border-radius:12px !important;}
.dg-opt.picked,.dg-opt:hover{border-color:var(--gold) !important;background:rgba(185,151,91,.08) !important;}
.dg-chip{background:transparent !important;border:1px solid var(--line-2) !important;color:var(--ink-dim) !important;}
.dg-opt.picked .dg-chip{border-color:var(--gold) !important;color:var(--gold) !important;}
.dg-ax-fill,.dg-gauge .dg-gnum,.dg-profile .y{color:var(--gold) !important;}
.dg-ax-fill{background:var(--gold) !important;}
#dgBarFill,.dp-bar>i{background:var(--gold) !important;}

/* ── Liens focus accessibles ── */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold) !important;outline-offset:2px !important;}

/* ── HERO plein écran : titre solide (pas de dégradé), Archivo large & fort ── */
/* Titre RENAISSANCE : serif Cinzel (grand R + petites capitales), verre bleu */
.cine-hero__title{
  font-family:'Cinzel','Archivo Variable',Georgia,serif !important;
  font-weight:700 !important;letter-spacing:.02em !important;}
.cine-hero__title--glass{
  font-family:'Cinzel',Georgia,serif !important;
  background:none !important;-webkit-background-clip:border-box !important;background-clip:border-box !important;
  color:#2f46d6 !important;-webkit-text-fill-color:#2f46d6 !important;
  -webkit-text-stroke:.9px rgba(255,255,255,.85) !important;
  filter:drop-shadow(0 10px 44px rgba(47,70,214,.5)) drop-shadow(0 3px 12px rgba(0,0,0,.6)) !important;
  animation:chUp 1s cubic-bezier(.16,1,.3,1) .28s forwards !important;text-shadow:none !important;}
.cine-hero__tagline{color:var(--ink-dim) !important;font-weight:600 !important;letter-spacing:.34em !important;}
.cine-hero__tagline span{color:var(--accent) !important;}
.cine-hero__scrim{background:
  radial-gradient(ellipse 78% 56% at 50% 44%,transparent 42%,rgba(3,4,12,.5) 100%),
  linear-gradient(180deg,rgba(3,4,12,.42) 0%,rgba(3,4,12,.1) 36%,rgba(3,4,12,.72) 82%,#03040c 100%) !important;}
.ch-btn--gold{color:#eaf2ff !important;background:var(--glass) !important;border:1.4px solid var(--glass-line) !important;border-radius:40px !important;
  backdrop-filter:blur(14px) saturate(150%) !important;-webkit-backdrop-filter:blur(14px) saturate(150%) !important;
  box-shadow:0 10px 34px rgba(23,44,110,.5),inset 0 1px 0 rgba(255,255,255,.3) !important;}
.ch-btn--gold:hover{background:var(--glass-2) !important;border-color:rgba(255,255,255,.85) !important;box-shadow:0 14px 46px rgba(60,107,255,.55),inset 0 1px 0 rgba(255,255,255,.4) !important;}
.ch-btn--ghost{border-radius:40px !important;border:1px solid rgba(255,255,255,.28) !important;background:rgba(255,255,255,.06) !important;backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;}
.cine-hero__scroll span{background:var(--accent) !important;}

/* ── Détecteur : corrections finales ── */
.dg-verdict{border-left:1px solid var(--gold) !important;padding-left:18px !important;}  /* side-tab → hairline */
/* halos sombres résiduels neutralisés (déjà pour l'essentiel) */
.dg-anz .dg-ring,.ps-glow,.ps-device{box-shadow:none !important;}

/* ══════════════════════════════════════════════════════════════════
   BOULES CHROMÉES DANS LES BOUTONS (identiques à l'écran de chargement)
   Injectées par assets/btn-orbs.js. Bougent en continu, léger flou iOS.
   ══════════════════════════════════════════════════════════════════ */
.has-orbs{position:relative !important;overflow:hidden !important;isolation:isolate !important;}
.has-orbs>*:not(.btn-orbs){position:relative;z-index:1;}
.btn-orbs{position:absolute !important;inset:0;border-radius:inherit;overflow:hidden;
  z-index:-1;pointer-events:none;filter:blur(1.1px) saturate(115%);}          /* flou iOS ~10% */
.btn-orbs::before{content:'';position:absolute;inset:0;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:.55;}    /* frost iOS derrière */
/* Chrome noir brillant — IDENTIQUE aux bulles de la page de chargement */
.btn-orb{position:absolute;border-radius:50%;will-change:transform;
  background:
    radial-gradient(circle at 50% 116%, rgba(150,172,214,.4) 0%, rgba(150,172,214,0) 42%),
    radial-gradient(circle at 33% 23%, #ffffff 0%, rgba(255,255,255,.5) 5%, rgba(255,255,255,0) 14%),
    radial-gradient(circle at 44% 34%, #454b5a 0%, #22262f 30%, #0e1016 60%, #05060d 100%);
  box-shadow:inset 0 -4px 10px rgba(140,165,210,.22),inset 0 2px 4px rgba(255,255,255,.1),0 5px 14px rgba(0,0,0,.55);}
.btn-orb::after{content:'';position:absolute;top:20%;left:52%;width:14%;height:14%;border-radius:50%;
  background:radial-gradient(circle,#ffffff 0%,rgba(255,255,255,.25) 55%,transparent 100%);filter:blur(.3px);}
/* mouvement continu, plus ample — volontairement actif même si le
   téléphone est en "réduire les animations" (demande explicite) */
.bo-1{animation:boA 5s ease-in-out infinite !important;}
.bo-2{animation:boB 6s ease-in-out infinite !important;}
.bo-3{animation:boC 5.4s ease-in-out infinite !important;}
.bo-4{animation:boD 6.6s ease-in-out infinite !important;}
@keyframes boA{0%,100%{transform:translate(0,0)}50%{transform:translate(26px,-13px)}}
@keyframes boB{0%,100%{transform:translate(0,0)}50%{transform:translate(-24px,12px)}}
@keyframes boC{0%,100%{transform:translate(0,0)}33%{transform:translate(18px,14px)}66%{transform:translate(-16px,-11px)}}
@keyframes boD{0%,100%{transform:translate(0,0)}50%{transform:translate(20px,15px)}}
