/* ============================================================
   TMOO — « Atelier » · couche d'unification
   Chargée EN DERNIER sur toutes les pages : impose la même
   identité que la page d'accueil (crème, encre, orange, typo
   massive et serrée, bordures franches, ombres dures).
   ============================================================ */
:root{
  --a-cr:#F5F2EA; --a-cr2:#EDE9DD; --a-white:#FFFFFF;
  --a-ink:#141414; --a-g1:#5C5A54; --a-g2:#9C9990;
  --a-acc:#E8501A; --a-acc-d:#C43F0F;
  --a-line:rgba(20,20,20,.12); --a-line2:rgba(20,20,20,.22);
  --a-sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --a-ease:cubic-bezier(.22,1,.36,1);
  /* réécrit les variables des anciens systèmes */
  --paper:#F5F2EA; --paper-2:#EDE9DD; --white:#FFFFFF;
  --ink:#141414; --ink-2:#5C5A54; --ink-3:#9C9990;
  --acc:#E8501A; --acc-d:#C43F0F;
  --n0:#F5F2EA; --n1:#FFFFFF; --n2:#EDE9DD;
  --tx:#141414; --tx2:#5C5A54; --tx3:#9C9990; --ch:#E8501A;
  --line:rgba(20,20,20,.12); --line-2:rgba(20,20,20,.22); --line2:rgba(20,20,20,.22);
  --grotesk:"Instrument Sans",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;
  --mono:"Instrument Sans",-apple-system,Helvetica,Arial,sans-serif;
  --serif2:"Instrument Sans",-apple-system,Helvetica,Arial,sans-serif;
  --serif:"Instrument Sans",-apple-system,Helvetica,Arial,sans-serif;
  --sans:"Instrument Sans",-apple-system,Helvetica,Arial,sans-serif;
  --r:20px;
  --sh-1:none; --sh-2:none; --sh-3:none;
}

/* ---------- fond & texte ---------- */
body{background:var(--a-cr);color:var(--a-g1);font-family:var(--a-sans);line-height:1.65}
::selection{background:var(--a-ink);color:var(--a-cr)}
:focus-visible{outline:2px solid var(--a-acc);outline-offset:3px}
img{max-width:100%;height:auto;display:block}

/* ---------- typo massive et serrée (l'ADN de la page d'accueil) ---------- */
h1,h2,h3,h4{font-family:var(--a-sans)!important;color:var(--a-ink);font-weight:700!important;
  letter-spacing:-.04em!important;line-height:1.02!important;font-style:normal!important}
h1{font-size:clamp(38px,7.4vw,88px)}
h2{font-size:clamp(32px,5.4vw,62px)}
h3{font-size:clamp(18px,2.3vw,22px);letter-spacing:-.02em!important;line-height:1.15!important}
/* les accents autrefois en serif italique deviennent de la typo pleine */
.sr,.fx,h1 .fx,h2 .fx,h1 .sr,h2 .sr,.serif,em.fx{
  font-family:var(--a-sans)!important;font-style:normal!important;font-weight:700!important;
  letter-spacing:-.04em!important}
.acc,.ch,.sun{color:var(--a-acc)!important}
strong,b{color:var(--a-ink);font-weight:700}
p{font-family:var(--a-sans)}

/* surtitres */
.k,.eyebrow,.lbl,.sec-no,.n,.tag,.pill,.ministeps .n{
  font-family:var(--a-sans)!important;font-size:12px!important;letter-spacing:.16em!important;
  text-transform:uppercase;color:var(--a-g2)!important;font-weight:700!important;font-style:normal!important}
.sec-no b{color:var(--a-acc)!important}
.ministeps .n{color:var(--a-acc)!important}
/* le « surtitre » redevient du texte nu, comme sur l'accueil */
.eyebrow{background:none!important;border:none!important;box-shadow:none!important;padding:0!important;
  margin-bottom:18px!important;gap:11px!important}
.eyebrow::before{width:9px!important;height:9px!important;border-radius:2px!important;background:var(--a-acc)!important}
.formsec .eyebrow{color:var(--a-g2)!important}

/* ---------- le logo, identique partout ---------- */
.logo,.brand,.bd,nav.top .logo,.nav .brand,footer .bd{
  font-family:var(--a-sans)!important;font-style:normal!important;font-weight:700!important;
  letter-spacing:-.05em!important;color:var(--a-ink)!important;
  display:inline-flex!important;align-items:center;gap:.14em;line-height:1}
nav.top .logo,.nav .brand{font-size:24px!important}
footer .bd{font-size:26px!important;color:var(--a-cr)!important}
.logo i,.brand i,.bd i{
  font-style:normal!important;display:inline-block;width:.2em;height:.2em;
  background:var(--a-acc);border-radius:2px;text-indent:-999em;overflow:hidden;
  align-self:flex-end;margin-bottom:.1em}

/* ---------- boutons chunky ---------- */
.b,.btn,button.b,a.b{
  font-family:var(--a-sans)!important;font-weight:700!important;font-size:15.5px;
  border-radius:14px!important;padding:16px 26px;border:2px solid var(--a-ink)!important;
  background:var(--a-ink)!important;color:var(--a-cr)!important;
  box-shadow:none!important;transition:transform .25s var(--a-ease),box-shadow .25s,background .25s,color .25s;
  display:inline-flex;align-items:center;justify-content:center;gap:10px}
.b:hover,.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--a-acc)!important;opacity:1}
.b:active,.btn:active{transform:scale(.98);box-shadow:none!important}
.b.bl,.b.gold,.btn.acc,.btn[class*="acc"]{background:var(--a-acc)!important;border-color:var(--a-acc)!important;color:#fff!important}
.b.bl:hover,.b.gold:hover,.btn.acc:hover{box-shadow:4px 4px 0 var(--a-ink)!important}
.b.line,.b.ghost,.btn.ghost,.btn-ghost,.btn.line,.btn-line{
  background:transparent!important;color:var(--a-ink)!important;border:2px solid var(--a-ink)!important}
.b.line:hover,.btn.ghost:hover{box-shadow:4px 4px 0 var(--a-acc)!important}
.b.full,.btn.block{width:100%}
.btn.sm{padding:11px 18px;font-size:14.5px;border-radius:11px!important}
.lnk{font-weight:700!important;color:var(--a-ink)!important;border-bottom:2px solid var(--a-ink)!important;padding-bottom:1px}
.lnk:hover{color:var(--a-acc)!important;border-color:var(--a-acc)!important}

/* boutons des cartes de prix : contour, et inversés sur la carte noire */
.tcard .go{background:transparent!important;color:var(--a-ink)!important;
  border:2px solid var(--a-ink)!important;border-radius:12px!important;font-weight:700!important}
.tcard .go:hover{background:var(--a-ink)!important;color:var(--a-cr)!important}
.tcard.reco .go{background:var(--a-cr)!important;border-color:var(--a-cr)!important;color:var(--a-ink)!important}
.tcard.reco .go:hover{background:var(--a-acc)!important;border-color:var(--a-acc)!important;color:#fff!important}

/* ---------- cartes franches, plus d'ombres floues ---------- */
.card,.box,.panel,.card2,.fcard,.gcard,.met,.ms,.works,.tbl-wrap,.substats,
.ab,.how .h,.rcard,.brow,.faq .item,.ministeps{
  background:var(--a-white)!important;border:2px solid var(--a-ink)!important;
  border-radius:20px!important;box-shadow:none!important}
.ministeps{gap:0;background:var(--a-ink)!important;overflow:hidden}
.ministeps .ms{border:none!important;border-radius:0!important;border-right:2px solid var(--a-ink)!important}
.ministeps .ms:last-child{border-right:none!important}
@media(max-width:840px){.ministeps .ms{border-right:none!important;border-bottom:2px solid var(--a-ink)!important}}
.how{border:2px solid var(--a-ink)!important;border-radius:20px!important;background:var(--a-ink)!important}
.how .h{border-radius:0!important;border:none!important}
.gcard{background:var(--a-ink)!important;color:var(--a-cr)!important;border-color:var(--a-ink)!important}
.gcard q,.gcard p,.gcard .sig{color:rgba(245,242,234,.8)!important}
.gcard b{color:#fff!important}
.gcard .lbl{color:#fff!important;background:var(--a-acc);display:inline-block;
  border-radius:8px;padding:6px 12px;letter-spacing:.14em!important}

/* ---------- champs ---------- */
.field label{font-family:var(--a-sans)!important;font-size:11.5px!important;letter-spacing:.14em!important;
  text-transform:uppercase;font-weight:700!important;color:var(--a-g2)!important}
input,select,textarea{
  font-family:var(--a-sans)!important;background:var(--a-white)!important;color:var(--a-ink)!important;
  border:2px solid var(--a-ink)!important;border-radius:13px!important;padding:14px 16px;font-size:16px;
  transition:box-shadow .22s var(--a-ease),border-color .22s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--a-acc)!important;
  box-shadow:4px 4px 0 var(--a-acc)!important}
input::placeholder,textarea::placeholder{color:#B4B0A6!important}

/* ---------- nav ---------- */
nav.top.on,.nav.stuck .in{background:rgba(245,242,234,.92)!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nav .in{background:rgba(245,242,234,.85)!important;border:2px solid var(--a-ink)!important;
  border-radius:999px!important;box-shadow:none!important}
.nav-links a,nav.top .nl a{font-family:var(--a-sans)!important;font-size:14.5px!important;font-weight:600!important;color:var(--a-g1)!important}
.nav-links a:hover,nav.top .nl a:hover{color:var(--a-acc)!important}
.nav-links a.on{color:var(--a-ink)!important}
nav.top .nl a.call,nav.top a.call,.nav .in a.call{
  background:var(--a-ink)!important;color:var(--a-cr)!important;border-radius:11px!important;
  padding:10px 17px!important;font-weight:700!important;border:2px solid var(--a-ink)!important;
  transition:transform .25s var(--a-ease),background .25s}
nav.top .nl a.call::after,nav.top a.call::after{content:none!important}
nav.top .nl a.call:hover,nav.top a.call:hover{background:var(--a-acc)!important;border-color:var(--a-acc)!important;color:#fff!important;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--a-ink)}

/* ---------- cartes des pages ressources / score / audit ---------- */
.rr,.gate,.gaps .gp,.how .h,.card2{
  background:var(--a-white)!important;border:2px solid var(--a-ink)!important;border-radius:20px!important;box-shadow:none!important}
.rr:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--a-acc)!important;border-color:var(--a-ink)!important}
.rr .n{font-family:var(--a-sans)!important;font-style:normal!important;font-weight:700!important;color:var(--a-acc)!important;letter-spacing:-.03em!important}
.rr .go,.rr .next{color:var(--a-ink)!important;font-weight:700!important}
.gaps .gp{border-left:8px solid var(--a-acc)!important}
.verdict{font-family:var(--a-sans)!important;font-style:normal!important;font-weight:700!important;
  letter-spacing:-.03em!important;color:var(--a-acc)!important}
/* réponses du quiz */
.qz .list button,.qz label,.opt{border:2px solid var(--a-ink)!important;border-radius:14px!important;
  background:var(--a-white)!important;box-shadow:none!important;transition:transform .2s var(--a-ease),box-shadow .2s}
.qz .list button:hover,.opt:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--a-acc)!important}
.gauge circle{stroke-linecap:round}

/* ---------- pieds de page ---------- */
footer.site,footer{background:var(--a-ink)!important;color:rgba(245,242,234,.62)!important}
footer.site .t{color:var(--a-cr)!important;font-weight:700!important;letter-spacing:.14em!important;
  text-transform:uppercase;font-size:12px!important}
footer.site .fl:hover,footer a:hover{color:var(--a-cr)!important}
footer.site p{color:rgba(245,242,234,.62)!important}

/* ---------- décor : soulignement dessiné (comme l'accueil) ---------- */
.squig path{stroke:var(--a-acc)!important}

/* ---------- micro-corrections ---------- */
mark{background:rgba(232,80,26,.14)!important;color:var(--a-acc)!important}
.stamp0,.cstamp{background:var(--a-acc)!important;color:#fff!important;border:3px solid var(--a-cr)!important}
.stamp0 .ct{fill:#fff}
hr,.rule,.rule-top{border-color:var(--a-line2)!important}

/* ============================================================
   Anti-doublon : le dock du bas assure la navigation et le CTA.
   La barre du haut ne garde que le logo (mobile) ou les liens
   de section (ordinateur).
   ============================================================ */
/* le CTA vit dans le dock : plus de bouton en double en haut */
nav.top .nl a.call,nav.top a.call,.nav .in .btn.sm{display:none!important}
/* l'ancien menu plein écran de style.css est remplacé par celui du dock */
.burger,.mnav{display:none!important}

@media(max-width:720px){
  /* barre du haut = pastille logo seule */
  nav.top{padding:14px clamp(16px,4vw,24px)!important}
  nav.top .nl{display:none!important}
  .nav{padding:12px 0!important}
  .nav .in{width:auto!important;max-width:none!important;display:inline-flex!important;
    margin:0 0 0 clamp(14px,4vw,22px)!important;padding:9px 18px!important;gap:0!important}
  .nav .nav-links{display:none!important}
}
/* le tampon 0 € ne doit pas mordre sur le surtitre (mobile) */
@media(max-width:720px){.hero .eyebrow{padding-right:118px!important}}
