/* =====================================================================
   STUDIO REVO — SYSTÈME DE DESIGN 2026 (refonte visuelle)
   Chargé en dernier : redéfinit les fondations (type, couleurs, rythme,
   composants) sur l'ensemble du site. Les modules interactifs gardent
   leurs styles ; seuls leurs cadres et typographies sont harmonisés.
   ===================================================================== */
:root{
  --r-paper:#F7F5F1;--r-paper-2:#EFEBE4;--r-white:#FFFFFF;--r-ink:#141317;--r-ink-2:#2B2930;
  --r-mute:#5E5A62;--r-line:rgba(20,19,23,.1);--r-line-2:rgba(20,19,23,.06);
  --r-acc:#6E1232;--r-acc-2:#B6476A;--r-acc-soft:#F6E7EC;--r-ok:#2F6B4D;
  --r-radius:14px;--r-radius-s:9px;--r-shadow:0 30px 60px -36px rgba(20,19,23,.35);
  --paper:var(--r-paper);--paper-2:var(--r-paper-2);--burgundy:var(--r-acc);
  --r-max:1240px;--r-gutter:clamp(20px,4vw,48px);
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--r-paper);color:var(--r-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}
.wrap{max-width:var(--r-max)!important;padding-left:var(--r-gutter)!important;padding-right:var(--r-gutter)!important}

/* ---------- Typographie ---------- */
h1,h2,h3,h4{font-family:Inter,system-ui,sans-serif!important;color:inherit;letter-spacing:-.025em;line-height:1.05;font-weight:650}
h1{font-size:clamp(40px,5.6vw,76px)!important;line-height:1.02!important;letter-spacing:-.032em!important;margin:0 0 .4em!important}
h2{font-size:clamp(30px,3.6vw,52px)!important;line-height:1.08!important;letter-spacing:-.028em!important;max-width:22ch;margin:0 0 .45em!important}
h3{font-size:clamp(19px,1.6vw,23px);line-height:1.25;letter-spacing:-.015em}
p{max-width:68ch}
.kicker{font-family:Inter,system-ui,sans-serif!important;font-size:12.5px!important;letter-spacing:.12em!important;text-transform:uppercase;font-weight:600;color:var(--r-acc)!important;margin:0 0 18px!important;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:22px;height:1.5px;background:currentColor;opacity:.8}
.intro,.sv-lede,.hx-sub,.x54-lede{font-size:clamp(17px,1.35vw,20px)!important;line-height:1.55!important;color:var(--r-mute)!important;max-width:60ch!important}
.x54-head{max-width:820px}
.x54-head .intro{margin-top:8px}
a{color:inherit}
::selection{background:var(--r-acc-soft);color:var(--r-ink)}

/* ---------- Rythme des sections ---------- */
.hs,.sec9,.x54-sec,.x55-brief,.media-split,.env{padding:clamp(72px,9vw,136px) 0!important;background:transparent}
.tint,.hs.tint,.sec9.tint,.x54-sec.tint{background:var(--r-white)!important}
.hs:not(.tint):not(.hs-dark),.sec9:not(.tint),.x54-sec:not(.tint){background:var(--r-paper)!important}
.hs-dark,.ia-not,.vband,.sr-cta,.hx{background:var(--r-ink)!important;color:#F3F0EA}
.hs-dark .kicker,.sr-cta .kicker,.vband .kicker,.hx .kicker,.ia-not .kicker{color:var(--r-acc-2)!important}
.hs-dark .intro,.sr-cta .sr-cta-text,.vband .intro,.ia-not .intro{color:rgba(243,240,234,.72)!important}
section[data-reveal]{position:relative}

/* ---------- Navigation ---------- */
.sr-nav{position:sticky;top:0;z-index:50;background:rgba(247,245,241,.86)!important;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--r-line)!important;box-shadow:none!important}
.nav-inner{max-width:var(--r-max);padding:0 var(--r-gutter);height:72px;display:flex;align-items:center;gap:28px}
.nav-logo{height:40px!important;width:auto!important}
.nav-links{margin-left:auto;gap:4px!important}
.nav-links a{font-size:15px!important;font-weight:500!important;color:var(--r-ink-2)!important;padding:10px 14px!important;border-radius:999px;transition:background .18s ease}
.nav-links a:hover{background:rgba(20,19,23,.06)}
.nav-links a[aria-current=page],.nav-links a.is-active{background:var(--r-ink);color:#fff!important}
.nav-links a::after{display:none!important}
.nav-cta{background:var(--r-acc)!important;color:#fff!important;border-radius:999px!important;padding:11px 20px!important;font-weight:600!important;font-size:14.5px!important;border:0!important;box-shadow:0 10px 24px -14px rgba(110,18,50,.7)}
.nav-cta:hover{background:#5A0E29!important}
.mobile-menu{background:var(--r-paper)!important;border-top:1px solid var(--r-line)}
.mobile-menu a{font-size:18px!important;padding:16px var(--r-gutter)!important}
.sr-progress{background:var(--r-acc)!important;height:2px!important}

/* ---------- Boutons ---------- */
.btn{border-radius:999px!important;font-weight:600!important;font-size:15px!important;padding:13px 22px!important;letter-spacing:0!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.btn-primary{background:var(--r-acc)!important;color:#fff!important;border:0!important;box-shadow:0 14px 30px -16px rgba(110,18,50,.75)}
.btn-primary:hover{background:#5A0E29!important;transform:translateY(-1px)}
.btn-primary::after{content:"→";margin-left:8px}
.btn-ghost{background:transparent!important;color:inherit!important;border:1.5px solid rgba(20,19,23,.22)!important}
.hx .btn-ghost,.sr-cta .btn-ghost,.vband .btn-ghost{border-color:rgba(255,255,255,.3)!important;color:#fff!important}
.btn-ghost:hover{border-color:currentColor!important}
.btn-sm{padding:10px 16px!important;font-size:14px!important}

/* ---------- Hero accueil ---------- */
.hx.hx11{padding:clamp(56px,7vw,110px) 0 clamp(64px,8vw,120px)!important;background:radial-gradient(1200px 600px at 85% -10%,rgba(182,71,106,.22),transparent 60%),var(--r-ink)!important;color:#F3F0EA}
.hx11 .eyebrow{font-family:Inter,system-ui,sans-serif!important;font-size:12.5px!important;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--r-acc-2)!important;margin:0 0 26px!important}
.hx11 .eyebrow::before{display:none}
.hx11 #hx-title{max-width:12ch!important;font-size:clamp(44px,6vw,84px)!important;color:#FBF9F5!important}
.hx11 .hx-sub{color:rgba(243,240,234,.75)!important;font-size:clamp(17px,1.4vw,21px)!important;max-width:48ch!important;margin:0 0 34px!important}
.x57-stage{border-radius:var(--r-radius)!important;box-shadow:0 50px 90px -40px rgba(0,0,0,.7)!important;background:#F7F5F1!important}
.x57-stage .x55-tabs{background:#E9E5DE!important}
.x57-stage .x55-tabs button{font-size:14px!important;padding:14px 16px!important;color:#55515A!important}
.x57-stage .x55-tabs button[aria-selected=true]{background:#F7F5F1!important;color:var(--r-acc)!important}

/* ---------- Héros des pages intérieures ---------- */
.sv-hero,.ab-hero,.ct-hero{background:var(--r-white)!important;padding:clamp(40px,5vw,72px) 0 clamp(48px,6vw,88px)!important;border-bottom:1px solid var(--r-line)}
.sv-hero .eyebrow,.ab-hero .eyebrow,.ct-hero .eyebrow{font-family:Inter,system-ui,sans-serif!important;font-size:12.5px!important;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--r-acc)!important}
.sv-hero h1,.ab-hero h1,.ct-hero h1{font-size:clamp(36px,4.6vw,64px)!important;max-width:16ch}
.crumbs{font-family:Inter,system-ui,sans-serif!important;font-size:13px!important;letter-spacing:0!important;color:var(--r-mute)!important;margin-bottom:28px!important}
.crumbs a{text-decoration:none;color:var(--r-mute)!important}.crumbs a:hover{color:var(--r-ink)!important}
.sv-note{font-family:Inter,system-ui,sans-serif!important;font-size:13.5px!important;letter-spacing:0!important;color:var(--r-mute)!important}
.sv-note a{color:var(--r-acc)!important}
.sv-stage>*,.pt-shot{border-radius:var(--r-radius)!important;box-shadow:var(--r-shadow)!important}

/* ---------- Fiche « en bref » ---------- */
.x55-brief{background:var(--r-paper)!important;border-bottom:0!important}
.x55-brief h2{font-size:clamp(26px,2.6vw,36px)!important}
.x55-brief-grid{border-top:1.5px solid var(--r-ink)!important}
.x55-brief-grid h3{font-size:12.5px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--r-acc)!important}
.x55-brief-grid li,.x55-brief-grid p{font-size:15px!important;color:var(--r-ink-2)!important}

/* ---------- Cartes et cadres ---------- */
.x57-case,.x55-apps,.x56-trust article,.x56-two article,.x57-fmt article,.x58-agent,.x58-data,.x58-app,.x58-learn,.x57-deliv,.x55-run,.x56-ask,.x57-plan,.x54-opt>div,.x55-types>div,.x54-three>div,.x54-agent,.x56-more,.ens,.door,.x54-aside,.x57-rec{border-radius:var(--r-radius)!important;border-color:var(--r-line)!important}
.x54-opt>div,.x55-types>div,.x54-three>div,.x56-trust article{box-shadow:none!important;background:var(--r-white)!important}
.x54-sc,.x54-xp ul li{font-family:Inter,system-ui,sans-serif!important}
.x58-head,.x55-run-top,.x56-ask-q,.x57-deliv-h{border-radius:var(--r-radius) var(--r-radius) 0 0!important}
.x56-two article:last-child{background:var(--r-ink)!important}
.x54-aside{background:var(--r-white)!important;border-left:3px solid var(--r-acc)!important}

/* ---------- Enjeux (onglets verticaux) ---------- */
.x57-cases .x55-tabs button{background:var(--r-white)!important;border-radius:var(--r-radius-s)!important;font-size:15.5px!important}
.x57-cases .x55-tabs button[aria-selected=true]{background:var(--r-ink)!important;color:#fff!important;border-color:var(--r-ink)!important}
.x57-cases .x55-tabs button[aria-selected=true] small{color:rgba(255,255,255,.7)!important}

/* ---------- Expertises (index éditorial) ---------- */
.x57-xp{border-top:1.5px solid var(--r-ink)!important;gap:0 64px!important}
.x57-xp article{padding:34px 0!important;grid-template-columns:56px 1fr!important}
.x57-xp .n{font-family:Inter,system-ui,sans-serif!important;font-size:13px!important;color:var(--r-acc)!important;padding-top:10px!important}
.x57-xp h3{font-size:clamp(22px,2vw,28px)!important}
.x57-xp p{font-size:16px!important}
.x57-xp p.ex{color:var(--r-ink)!important}
.x57-xp a{color:var(--r-acc)!important}

/* ---------- Méthode + livrable ---------- */
.x57-tl{border-left:1.5px solid var(--r-line)!important}
.x57-tl b{font-size:19px!important}.x57-tl span{font-size:15.5px!important}
.x57-tl li::before{border-color:var(--r-ink)!important}

/* ---------- Hub Services ---------- */
.ens-idx{border-radius:var(--r-radius)!important;background:var(--r-white)!important;border:1px solid var(--r-line)!important}
.ens-n{font-family:Inter,system-ui,sans-serif!important;color:var(--r-acc)!important}
.enss .ens{background:transparent!important;border:0!important;border-top:1px solid var(--r-line)!important;border-radius:0!important}
.ens-dl dt{font-family:Inter,system-ui,sans-serif!important;letter-spacing:.08em;font-size:12px!important;color:var(--r-acc)!important}

/* ---------- Formulaire ---------- */
input,select,textarea{font-family:Inter,system-ui,sans-serif!important;border-radius:var(--r-radius-s)!important;border:1.5px solid var(--r-line)!important;background:var(--r-white)!important;padding:13px 14px!important;font-size:15.5px!important}
input:focus,select:focus,textarea:focus{border-color:var(--r-acc)!important;box-shadow:0 0 0 4px rgba(110,18,50,.12)!important;outline:none}
label{font-weight:600;font-size:14px}

/* ---------- Appel à l'action final ---------- */
.sr-cta{padding:clamp(80px,10vw,150px) 0!important;text-align:center}
.sr-cta .wrap{display:flex;flex-direction:column;align-items:center}
.sr-cta h2{max-width:18ch!important;margin-left:auto!important;margin-right:auto!important;font-size:clamp(34px,4.4vw,64px)!important;color:#FBF9F5}
.sr-cta .sr-cta-text{max-width:52ch!important;margin:0 auto 30px!important}
.fc-tags{display:none!important}
.sr-cta .btn-row{justify-content:center;gap:12px}

/* ---------- Pied de page ---------- */
.sr-footer{background:var(--r-paper-2)!important;border-top:1px solid var(--r-line)!important;padding:clamp(56px,7vw,96px) 0 32px!important;color:var(--r-ink-2)}
.sf-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
.sf-brand img{height:44px!important;width:auto!important;margin-bottom:18px}
.sf-brand p{font-size:15.5px;color:var(--r-mute);max-width:36ch}
.sf-col h2{font-family:Inter,system-ui,sans-serif!important;font-size:12.5px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--r-acc)!important;margin:0 0 14px!important;max-width:none!important}
.sf-col ul{list-style:none;margin:0;padding:0}
.sf-col li{margin:0 0 9px;font-size:15px}
.sf-col a{text-decoration:none;color:var(--r-ink-2)}.sf-col a:hover{color:var(--r-acc)}
.sf-contact address{font-style:normal;font-size:15px;line-height:1.55;color:var(--r-ink-2)}
.sf-bottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--r-line);display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:var(--r-mute)}
.sf-bottom a,.sf-cookie{color:var(--r-mute);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}
@media (max-width:900px){.sf-top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sf-top{grid-template-columns:1fr}}

/* ---------- Divers ---------- */
.cookie-banner{border-radius:var(--r-radius)!important;box-shadow:var(--r-shadow)!important;font-family:Inter,system-ui,sans-serif}
.x54-note{font-size:14px!important;color:var(--r-mute)!important}
.faq details,.x56-acc{border-color:var(--r-line)!important}
.faq summary,.x56-acc>summary{font-size:17px!important}
.parc-note,.x56-steps-note{color:var(--r-mute)!important}
img{max-width:100%;height:auto}
.hx11 .hx-inner,.hx11 .hx-grid{gap:clamp(32px,5vw,72px)!important}
.x59-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
@media (max-width:900px){.x59-levels{grid-template-columns:1fr}}
.hx11 #hx-title{font-size:clamp(40px,4.8vw,66px)!important;max-width:14ch!important}
.hx11 .eyebrow{max-width:40ch}

/* ===================== V60 — Système d'espacement et corrections de composition ===================== */
:root{--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:40px;--sp-5:64px;--sp-6:96px;--sec:clamp(56px,6.5vw,96px);--sec-s:clamp(40px,5vw,64px)}
html{scroll-padding-top:96px}
.hs,.sec9,.x54-sec,.x55-brief,.media-split,.env{padding:var(--sec) 0!important}
.x55-brief{padding:var(--sec-s) 0!important}
.pt-feature{padding:var(--sec-s) 0!important}
.pt-feature .pt-shot,.pt-feature figure{max-width:980px;margin-left:auto;margin-right:auto}
.vband{padding:var(--sec) 0!important}
.vband .vp,.vband .vp-cine{max-width:900px;margin-left:auto;margin-right:auto}
.sr-cta{padding:clamp(64px,8vw,110px) 0!important}
.x54-head{margin-bottom:var(--sp-4)!important}
.x54-head h2{margin:0 0 var(--sp-2)!important}
.x54-head .intro{margin:0!important}
h2+.intro,h1+.sv-lede{margin-top:var(--sp-2)!important}
.btn-row{margin-top:var(--sp-3);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.x57-face{min-height:0!important}
.x57-cases,.x57-xp,.x59-levels,.x57-mt,.x56-two,.x57-fmt,.x55-apps,.x54-opt,.x56-trust{margin-top:0!important}
.x55-tabs button,.x57-cases .x55-tabs button{min-height:44px}
/* héros intérieurs sans visuel : largeur de lecture et respiration mesurées */
.sv-hero.sv-wide .sv-copy-wide{max-width:760px}
.sv-hero,.ab-hero,.ct-hero{padding:var(--sec-s) 0 var(--sec-s)!important}
.sv-hero .btn-row{margin-top:var(--sp-3)}
/* cartes : paddings uniformes */
.x56-two article,.x57-fmt article,.x56-trust article,.x54-opt>div,.x59-levels>div{padding:var(--sp-3)!important}
.x54-opt>div h3,.x59-levels>div h3{margin:0 0 var(--sp-1)}
/* accordéons : contenu rapproché */
.x56-acc>summary{padding:var(--sp-2) 0!important}
.x56-acc>.x56-acc-b{padding:0 0 var(--sp-3)!important}
.x56-acc>.x56-acc-b .intro{margin:0 0 var(--sp-2)!important}
/* titres : éviter les mots isolés */
h1,h2{text-wrap:balance}
/* appels à l'action : regroupés */
.x57-deliv-f{line-height:1.6}
/* hub : blocs d'expertise sur deux colonnes */
.x60-ex{border-top:1px solid var(--r-line);padding:var(--sp-5) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4) clamp(32px,5vw,72px)}
.x60-ex:first-of-type{border-top:1.5px solid var(--r-ink)}
.x60-ex .n{font-size:13px;font-weight:600;color:var(--r-acc);margin:0 0 var(--sp-2)}
.x60-ex h3{font-size:clamp(24px,2.4vw,32px);margin:0 0 var(--sp-2)}
.x60-ex dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--r-acc);margin:var(--sp-2) 0 4px}
.x60-ex dd{margin:0;font-size:16px;line-height:1.55;color:var(--r-ink-2)}
.x60-ex .liv{margin:0;padding:0;list-style:none}
.x60-ex .liv li{padding:9px 0;border-top:1px solid var(--r-line-2);font-size:15.5px}
.x60-ex .ex{background:var(--r-white);border:1px solid var(--r-line);border-radius:var(--r-radius);padding:var(--sp-3);margin-top:var(--sp-3)}
.x60-ex .ex small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--r-acc);margin-bottom:6px}
.x60-ex .ex p{margin:0;font-size:15.5px}
.x60-ex .act{margin-top:var(--sp-3);display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.x60-ex .act a{font-weight:600;color:var(--r-acc)}
.x60-ex details{margin-top:var(--sp-2)}
.x60-ex details summary{cursor:pointer;font-size:14px;color:var(--r-mute)}
.x60-ex details p{font-size:14.5px;color:var(--r-mute);margin:8px 0 0}
@media (max-width:860px){.x60-ex{grid-template-columns:1fr;padding:var(--sp-4) 0}}
/* démos : révélation progressive */
.x60-more{margin-top:10px}
.x60-more>summary{cursor:pointer;font-size:.8rem;font-weight:600;color:var(--r-acc);list-style:none;display:inline-flex;gap:6px;align-items:center;padding:6px 0}
.x60-more>summary::-webkit-details-marker{display:none}
.x60-more>summary::before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;font-size:.8rem}
.x60-more[open]>summary::before{content:"−"}
/* vidéo du hub : cadre plus mesuré */
.vband .vs-cta{margin-top:var(--sp-3)}
/* pied de page : respiration réduite */
.sr-footer{padding:var(--sp-5) 0 var(--sp-3)!important}
.x60-volet{margin:-12px 0 var(--sp-3);font-size:14px;color:var(--r-mute)}.x60-volet a{color:var(--r-acc);font-weight:600}
.x60-enss{display:block}
.hx.hx11{padding:clamp(36px,4.5vw,56px) 0 clamp(48px,6vw,80px)!important}
.hx11 #hx-title{font-size:clamp(38px,4.3vw,60px)!important}
.hx11 .eyebrow{margin-bottom:18px!important}
.hx11 .hx-sub{margin-bottom:26px!important}
