/* ============================================================
   KQALZ STUDIOS — site.css (source unique de vérité du design)
   Refonte minimaliste v2 — fond clair UNIFIÉ (août 2026)
   Le bleu nuit n'est plus un fond de page : c'est l'encre et
   quelques blocs d'accent (bouton, carte mise en avant).
   Règle contraste : texte = bleu nuit ; cyan en texte uniquement
   via --accent-deep ; jamais de texte clair sur cyan.
   ============================================================ */

:root{
  /* Fond unifié + surfaces */
  --bg:#f3f0e8;            /* crème — fond unique du site */
  --surface:#fffdf8;       /* cartes, panneaux */
  --surface-dim:#ece9e0;   /* surfaces légèrement creusées */

  /* Encres */
  --ink:#071626;           /* bleu nuit — texte + accents */
  --ink-soft:#35485a;
  --ink-faint:#4d5f6b;
  --on-dark:#f3f0e8;       /* texte sur blocs bleu nuit */
  --on-dark-soft:#c9d0d6;

  /* Accents */
  --accent:#3d9fc4;        /* cyan — petits aplats (texte bleu nuit dessus) */
  --accent-deep:#26718f;   /* cyan foncé — seul cyan autorisé en TEXTE sur fond clair */
  --signal:#ed3347;        /* rouge REC / obligatoire / badge Lancement */

  --line:rgba(7,22,38,.16);
  --line-strong:rgba(7,22,38,.4);

  --max:1240px;
  --pad:clamp(20px,4vw,48px);
  --cut:10px;

  --sans:'Albert Sans',system-ui,sans-serif;
  --mono:'Space Mono',ui-monospace,monospace;
  --display:'Anton',Impact,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--ink);color:var(--bg)}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px}

.skip-link{
  position:absolute;top:-48px;left:16px;z-index:200;
  background:var(--ink);color:var(--bg);
  font-family:var(--mono);font-size:.8rem;padding:10px 16px;
  transition:top .2s;
}
.skip-link:focus{top:12px}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- Curseur « axe technique » (pointeurs fins uniquement) ---------- */
@media (pointer:fine){
  body.cursor-on, body.cursor-on a, body.cursor-on button,
  body.cursor-on input, body.cursor-on textarea, body.cursor-on select,
  body.cursor-on label{cursor:none}
}
.cursor-rig{
  position:fixed;top:0;left:0;z-index:9999;pointer-events:none;
  opacity:0;transition:opacity .25s;
}
body.cursor-on .cursor-rig{opacity:1}
.cursor-rig .ax-dot{
  position:absolute;top:-2px;left:-2px;width:4px;height:4px;
  border-radius:50%;background:var(--signal);
  transition:transform .2s;
}
.cursor-rig .ax-x,.cursor-rig .ax-y{
  position:absolute;background:var(--ink-faint);
  transition:width .2s,height .2s;
}
.cursor-rig .ax-x{top:0;left:6px;width:14px;height:1px}
.cursor-rig .ax-y{left:0;top:-20px;width:1px;height:14px}
.cursor-rig .ax-x::after{
  content:"";position:absolute;right:-1px;top:-2px;
  border-left:4px solid var(--ink-faint);
  border-top:2.5px solid transparent;border-bottom:2.5px solid transparent;
}
.cursor-rig .ax-y::after{
  content:"";position:absolute;top:-1px;left:-2px;
  border-bottom:4px solid var(--ink-faint);
  border-left:2.5px solid transparent;border-right:2.5px solid transparent;
}
.cursor-rig .ax-coords{
  position:absolute;top:10px;left:10px;
  font-family:var(--mono);font-size:9px;letter-spacing:.08em;
  color:var(--ink-faint);white-space:nowrap;
}
.cursor-rig.is-active .ax-dot{transform:scale(1.8)}
.cursor-rig.is-active .ax-x{width:20px}
.cursor-rig.is-active .ax-y{height:20px;top:-26px}

/* ---------- En-tête ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(243,240,232,.95);
  border-bottom:1px solid var(--line);
}
.header-inner{
  padding:0 clamp(16px,2.2vw,36px);
  display:flex;align-items:center;gap:28px;
  min-height:76px;
}
.brand{width:150px;flex:0 0 auto}
.brand img{width:100%;height:auto}
.nav-links{
  display:flex;list-style:none;gap:30px;margin-left:auto;
}
.nav-links a{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);
  display:inline-block;padding:12px 2px;
  position:relative;
}
.nav-links a::after{
  content:"";position:absolute;left:2px;right:100%;bottom:8px;
  border-bottom:1px solid var(--ink);
  transition:right .25s;
}
.nav-links a:hover::after,
.nav-links a[aria-current="page"]::after{right:2px}
.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-cta{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;
  background:var(--ink);color:var(--bg);
  padding:13px 22px;
  clip-path:polygon(var(--cut) 0,100% 0,calc(100% - var(--cut)) 100%,0 100%);
  transition:background .2s,transform .2s;
  flex:0 0 auto;
}
.nav-cta:hover{background:var(--accent);color:var(--ink);transform:translateY(-2px)}

@media (max-width:860px){
  .header-inner{flex-wrap:wrap;padding-top:12px;padding-bottom:12px;row-gap:2px}
  .brand{width:122px}
  .nav-links{order:3;width:100%;margin-left:0;gap:8px;justify-content:space-between}
  .nav-links a{font-size:.7rem;letter-spacing:.08em;padding:10px 2px}
  .nav-cta{margin-left:auto;padding:11px 16px}
}

/* ---------- Sections numérotées ---------- */
.sec{padding:clamp(48px,6.5vw,88px) 0}
.sec-head{
  display:flex;align-items:baseline;gap:24px;
  border-top:1px solid var(--line);
  padding-top:18px;margin-bottom:clamp(24px,3.5vw,42px);
}
.sec-num{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  color:var(--accent-deep);flex:0 0 auto;
}
.sec-label{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-faint);
}
.sec-title{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.04;
  letter-spacing:.01em;text-wrap:balance;
  margin-bottom:18px;
}
.sec-intro{max-width:56ch;color:var(--ink-soft);margin-bottom:8px}

/* héritage : .on-light n'est plus une alternance — le fond est unifié */
.on-light{background:transparent;color:inherit}

/* ---------- Hero ---------- */
.hero{padding:clamp(60px,9vw,110px) 0 clamp(44px,6vw,72px)}
.hero-inner{position:relative}
.hero-topline{
  display:flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:clamp(24px,4vw,44px);
}
.rec-dot{
  width:9px;height:9px;border-radius:50%;background:var(--signal);
  flex:0 0 auto;
  animation:blink 1.6s ease-in-out 4;
}
@keyframes blink{50%{opacity:.3}}
.hero h1{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(2.6rem,8.6vw,7.2rem);
  line-height:.98;letter-spacing:.005em;
}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 em{font-style:italic;color:var(--accent-deep)}
.hero h1 .line-in{
  display:block;
  animation:line-rise .8s cubic-bezier(.22,1,.36,1) both;
}
.hero h1 .line:nth-child(1) .line-in{animation-delay:.08s}
.hero h1 .line:nth-child(2) .line-in{animation-delay:.2s}
.hero h1 .line:nth-child(3) .line-in{animation-delay:.32s}
@keyframes line-rise{from{transform:translateY(108%)}to{transform:translateY(0)}}
/* « Intelligence digitale. » entre par la gauche (décision Romain) */
.hero h1 em.line .line-in{animation-name:line-slide;animation-duration:.9s}
@keyframes line-slide{from{transform:translateX(-105%)}to{transform:translateX(0)}}
.hero-topline{animation:fade-rise .6s cubic-bezier(.22,1,.36,1) both}
.hero-sub{animation:fade-rise .6s cubic-bezier(.22,1,.36,1) .5s both}
.hero-geo{animation:fade-rise .6s cubic-bezier(.22,1,.36,1) .58s both}
.hero-ctas{animation:fade-rise .6s cubic-bezier(.22,1,.36,1) .66s both}
.hero-iris{animation:fade-rise .8s cubic-bezier(.22,1,.36,1) .45s both}
@keyframes fade-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-sub{
  max-width:52ch;color:var(--ink-soft);
  font-size:clamp(1rem,1.4vw,1.13rem);
  margin:clamp(22px,3.5vw,36px) 0 14px;
}
.hero-geo{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent-deep);
  margin-bottom:clamp(28px,4vw,44px);
}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ---------- Iris vidéo du hero (cercle intégré, sans lecteur) ---------- */
.hero-split{
  display:grid;grid-template-columns:1.12fr .88fr;
  gap:clamp(28px,5vw,72px);align-items:center;
}
@media (max-width:900px){
  .hero-split{grid-template-columns:1fr}
  .hero-iris{justify-self:center;margin-top:34px}
}
.hero-iris{justify-self:end}
.hero-iris video{
  width:min(100%,440px);aspect-ratio:1/1;
  border-radius:50%;
  object-fit:cover;object-position:center;
  display:block;
}
@media (max-width:900px){
  .hero-iris video{width:min(64vw,300px)}
}

/* ---------- Boutons ---------- */
.button{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;
  text-transform:uppercase;font-weight:700;
  padding:16px 28px;
  clip-path:polygon(var(--cut) 0,100% 0,calc(100% - var(--cut)) 100%,0 100%);
  border:1px solid var(--line-strong);
  color:var(--ink);
  transition:background .2s,color .2s,transform .2s;
}
.button:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}
.button.primary{background:var(--ink);border-color:transparent;color:var(--bg)}
.button.primary:hover{background:var(--accent);color:var(--ink)}
.button .arr{transition:transform .2s}
.button:hover .arr{transform:translateX(4px)}

.arrow-link{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:.77rem;letter-spacing:.05em;
  text-transform:uppercase;font-weight:700;
  color:var(--accent-deep);
}
.arrow-link .arr{transition:transform .2s}
.arrow-link:hover .arr{transform:translateX(4px)}

/* ---------- Média pleine largeur en haut de page ---------- */
.media-hero{background:var(--ink)}
.media-hero img,.media-hero video{
  width:100%;height:auto;display:block;
  max-height:80vh;object-fit:cover;
}

/* ---------- Bande services — discrète, icône + libellé, défilement lent ---------- */
.band{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:20px 0;
}
.band-inner{
  max-width:var(--max);margin:0 auto;padding:0 var(--pad);
  display:flex;
}
.band-viewport{
  flex:1;overflow:hidden;display:flex;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.band-track{
  list-style:none;display:flex;align-items:center;
  flex:0 0 auto;white-space:nowrap;
  animation:band-scroll 46s linear infinite;
}
.band-track li{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.07em;
  text-transform:uppercase;font-weight:700;color:var(--ink);
  margin-right:52px;
}
.band-ico{width:17px;height:17px;flex:0 0 auto;color:var(--ink)}
@keyframes band-scroll{to{transform:translateX(-100%)}}

/* ---------- Cartes ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card-grid--fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
@media (max-width:900px){.card-grid{grid-template-columns:1fr}}
.card{
  border:1px solid var(--line);
  background:var(--surface);
  padding:34px 28px 28px;
  display:flex;flex-direction:column;gap:14px;
}
.card-index{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent-deep);
}
.card h3{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:1.5rem;line-height:1.1;letter-spacing:.01em;
}
.card p{color:var(--ink-soft);font-size:.95rem}
.card .arrow-link{margin-top:auto;padding-top:12px}

/* Cartes d'offres */
.offer-card{
  border:1px solid var(--line);background:var(--surface);
  padding:36px 30px 30px;
  display:flex;flex-direction:column;gap:16px;
  min-height:500px;
}
.offer-card.featured{
  background:var(--ink);color:var(--on-dark);
  border-color:var(--ink);
}
.offer-card.featured .card-index{color:var(--accent)}
.offer-card.featured p,.offer-card.featured li{color:var(--on-dark-soft)}
.offer-card h3,.offer-card h2{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:1.7rem;line-height:1.08;
}
.offer-tag{
  align-self:flex-start;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;
  background:var(--accent);color:var(--ink);
  padding:4px 10px;
}
.launch-tag{
  align-self:flex-start;display:inline-flex;align-items:stretch;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;
  text-transform:uppercase;font-weight:700;
}
.launch-tag span{background:var(--ink);color:var(--bg);padding:5px 9px}
.launch-tag strong{background:var(--signal);color:#fffdf8;padding:5px 9px;font-weight:700}
.price{
  font-family:var(--display);font-size:2.6rem;line-height:1;
  letter-spacing:.01em;
}
.price small{
  font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;
  font-weight:400;
}
.price .strike{
  font-family:var(--mono);font-size:1rem;text-decoration:line-through;
  color:var(--ink-faint);font-weight:400;margin-right:10px;
}
.offer-card.featured .price .strike{color:var(--on-dark-soft)}
.offer-card ul{list-style:none;display:grid;gap:9px;font-size:.93rem;color:var(--ink-soft)}
.offer-card li{padding-left:20px;position:relative}
.offer-card li::before{
  content:"+";position:absolute;left:0;
  font-family:var(--mono);font-weight:700;color:var(--accent-deep);
}
.offer-card.featured li::before{color:var(--accent)}
.offer-card .button,.offer-card .arrow-link{margin-top:auto}
.offer-card.featured .button{border-color:rgba(255,255,255,.35);color:var(--on-dark)}
.offer-card.featured .button:hover{background:var(--bg);color:var(--ink)}
.offer-card.featured .button.primary{background:var(--accent);border-color:transparent;color:var(--ink)}
.offer-card.featured .button.primary:hover{background:var(--bg);color:var(--ink)}

.offers-note{
  border-left:3px solid var(--accent-deep);padding-left:18px;
  max-width:44ch;font-weight:600;color:var(--ink-soft);
}
.disclaimer{
  border:1px solid var(--line);
  background:var(--surface);
  padding:18px 22px;margin-top:28px;
  font-size:.88rem;color:var(--ink-soft);max-width:none;
}
.disclaimer strong{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:6px;color:var(--ink)}

/* ---------- Bandeau signature (ex. Vidéos IA) ---------- */
.feature-strip{
  border:1px solid var(--line);background:var(--surface);
  border-left:3px solid var(--accent-deep);
  display:flex;align-items:center;gap:clamp(18px,3vw,34px);
  padding:26px clamp(20px,3vw,34px);
  margin-top:28px;
}
.feature-ico{width:26px;height:26px;flex:0 0 auto;color:var(--accent-deep)}
.feature-body{flex:1 1 320px}
.feature-kicker{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;
}
.feature-strip h3{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:1.5rem;line-height:1.1;margin-bottom:6px;
}
.feature-text{font-size:.92rem;color:var(--ink-soft);max-width:60ch}
.feature-cta{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  flex:0 0 auto;
}
@media (max-width:760px){
  .feature-strip{flex-wrap:wrap}
  .feature-cta{flex-direction:row;align-items:center;gap:16px}
}

/* ---------- Processus — parcours connecté ---------- */
.steps{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;
  position:relative;
}
.steps::before{ /* fil conducteur visible dans les interstices entre cartes */
  content:"";position:absolute;left:0;right:0;top:40px;
  border-top:1px dashed var(--line-strong);
}
@media (max-width:640px){
  .steps::before{left:26px;right:auto;top:0;bottom:0;border-top:0;border-left:1px dashed var(--line-strong)}
}
.step{
  border:1px solid var(--line);padding:24px 22px;
  display:flex;flex-direction:column;gap:10px;
  background:var(--surface);
  position:relative;
}
.step-head{display:flex;align-items:center;gap:10px}
.step-ico{width:20px;height:20px;flex:0 0 auto;color:var(--accent-deep)}
.step-code{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent-deep);font-weight:700;
}
.step h3,.step h4{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:1.25rem;line-height:1.12;
}
.step p{font-size:.92rem;color:var(--ink-soft)}

/* ---------- Showreel ---------- */
.reel-layout{
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);
  align-items:center;
}
@media (max-width:900px){.reel-layout{grid-template-columns:1fr}}
.reel-frame{
  position:relative;justify-self:center;
  width:min(100%,390px);
  border:1px solid var(--line);
  background:var(--ink);
}
.reel-frame video{width:100%;height:auto;aspect-ratio:608/1080;object-fit:cover}
.video-label{
  position:absolute;top:14px;left:14px;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
  color:var(--signal);font-weight:700;
}
.video-controls{position:absolute;bottom:14px;right:14px}
.video-control{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;
  background:rgba(7,22,38,.85);color:var(--on-dark);
  border:1px solid rgba(255,255,255,.3);
  padding:9px 14px;
}
.video-control:hover{background:var(--bg);color:var(--ink)}
.video-control svg{width:10px;height:12px;fill:currentColor}
.reel-chapters{
  list-style:none;display:flex;flex-wrap:wrap;gap:10px 14px;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-faint);
}
.reel-chapters li{display:flex;align-items:baseline;gap:14px}
.reel-chapters li + li::before{content:"/";color:var(--accent-deep)}
.reel-note{font-size:.85rem;color:var(--ink-faint);max-width:52ch}

/* ---------- Formulaire ---------- */
.form-grid{display:grid;gap:26px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media (max-width:700px){.form-row{grid-template-columns:1fr}}
.field label{
  display:block;
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-soft);
  margin-bottom:8px;
}
.required-mark{color:var(--signal)}
.field input,.field textarea,.field select{
  width:100%;background:transparent;border:0;
  border-bottom:2px solid var(--line-strong);
  font-family:var(--sans);font-size:1rem;color:var(--ink);
  padding:10px 2px;
  border-radius:0;
}
.field textarea{resize:vertical;min-height:110px}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{
  outline:3px solid var(--accent-deep);outline-offset:2px;
  border-bottom-color:var(--accent-deep);
}
.form-note{font-size:.85rem;color:var(--ink-faint);max-width:60ch}
.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}

/* ---------- Encart contact ---------- */
.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(36px,6vw,88px)}
@media (max-width:900px){.contact-layout{grid-template-columns:1fr}}
.contact-aside{display:grid;gap:22px;align-content:start}
.contact-line b{
  display:block;font-family:var(--mono);font-size:.7rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);
  font-weight:400;margin-bottom:4px;
}
.contact-line a{font-weight:700;color:var(--ink)}
.contact-line a:hover{color:var(--accent-deep)}

/* ---------- Bande contact ---------- */
.contact-strip{border-top:0}
.contact-strip .sec-title{max-width:16ch}

/* ---------- Tuiles d'accès rapide (processus) ---------- */
.jump-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;
  max-width:960px;
}
.jump{
  border:1px solid var(--line);background:var(--surface);
  padding:20px 20px 18px;
  display:flex;flex-direction:column;gap:8px;
  transition:border-color .2s,transform .2s;
}
.jump:hover{border-color:var(--ink);transform:translateY(-2px)}
.jump-ico{width:22px;height:22px;color:var(--accent-deep)}
.jump-label{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;color:var(--ink);
}
.jump-text{font-size:.85rem;color:var(--ink-faint);line-height:1.45}

/* ---------- Pied de page ---------- */
footer{border-top:1px solid var(--line)}
.footer-inner{
  max-width:var(--max);margin:0 auto;padding:44px var(--pad);
  display:flex;flex-wrap:wrap;align-items:center;gap:24px 48px;
}
.footer-brand{width:122px}
.footer-brand img{width:100%;height:auto}
.footer-nav{display:flex;flex-wrap:wrap;gap:20px;list-style:none}
.footer-nav a{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-faint);
  display:inline-block;padding:8px 0;
}
.footer-nav a:hover{color:var(--ink)}
.footer-copy{
  margin-left:auto;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;
  color:var(--ink-faint);
}
@media (max-width:700px){.footer-copy{margin-left:0}}

/* ---------- Pages simples ---------- */
.simple-page{min-height:58vh;display:grid;align-content:center;padding:96px 0}
.simple-page h1{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(2.4rem,7vw,5rem);line-height:1;margin-bottom:22px;
}
.simple-page p{max-width:56ch;color:var(--ink-soft);margin-bottom:14px}
.legal{padding:80px 0}
.legal h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,5vw,3.4rem);margin-bottom:34px}
.legal h2{
  font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-deep);
  border-top:1px solid var(--line);padding-top:16px;
  margin:38px 0 12px;font-weight:700;
}
.legal p,.legal li{max-width:68ch;color:var(--ink-soft);font-size:.95rem}
.legal ul{padding-left:20px;margin:8px 0}

/* ---------- Carte « dossier confidentiel » (easter egg 404) ---------- */
.secret-card{
  display:inline-block;
  border:1px dashed var(--line-strong);
  background:var(--surface);
  padding:22px 28px;
  margin:26px 0 6px;
  transition:border-color .2s,transform .2s;
}
.secret-card:hover{border-color:var(--signal);transform:translateY(-2px)}
.secret-kicker{
  display:flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--signal);font-weight:700;
  margin-bottom:8px;
}
.secret-kicker .rec-dot{animation:blink 1.6s ease-in-out infinite}
.secret-title{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.05;
  color:var(--ink);margin-bottom:6px;
}
.secret-text{
  font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;
  color:var(--ink-faint);
}
.secret-card:hover .secret-text{color:var(--ink)}

/* ---------- Révélations ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .cursor-rig{display:none}
  .band-track{animation:none;white-space:normal;flex-wrap:wrap}
  .band-track[aria-hidden="true"] ~ .band-track,
  .band-track + .band-track{display:none}
  .band-viewport{-webkit-mask-image:none;mask-image:none}
}
