@font-face{font-family:Montserrat;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Layout : l'ambiance du site actuel (ciel clair qui plonge dans le noir, Montserrat espacé, wordmark GYMHUB) avec une mise en page plus aérée et des sections en bandes plein écran. Look unique assumé (pas de thème sombre séparé). */
:root{
  --white:#FFFFFF; --black:#000000; --ink:#111111; --grey:#5E6470; --mist:#8C9AAE; --panel:#1E1C26; --panel-line:#34313F;
  --check:#2DBE4E; --sky1:#7F93AE; --sky2:#B9C3CF; --fade:170px;
  --f:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--ink);font-family:var(--f);font-weight:400;font-size:16px;line-height:1.7;letter-spacing:.04em}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--white)}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-weight:400;margin:0;text-wrap:balance;line-height:1.2}
h1{font-size:clamp(2.1rem,5.6vw,4.2rem);letter-spacing:.08em;text-transform:uppercase}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:.08em}
h3{font-size:1.05rem;font-weight:600;letter-spacing:.06em}
p{margin:0;max-width:62ch}
a{color:inherit}
:focus-visible{outline:2px solid var(--mist);outline-offset:3px}
.kicker{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.lead{font-size:1.15rem;font-weight:300;letter-spacing:.05em;text-wrap:pretty}
h1,h2{text-wrap:balance}
p{text-wrap:pretty}
strong{font-weight:700}

/* Bandeau de revue (pas le site) */
.review{background:#F2F2F2;color:var(--grey);font-size:.74rem;letter-spacing:.04em}
.review .wrap{display:flex;gap:10px 18px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:6px}
.pjump{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;width:100%;order:3;border-top:1px solid #e2e2e2;padding-top:6px}
.pjump a{color:#111}
.pjump a:hover{opacity:.55}
.pjump a.on{font-weight:600;text-decoration:none;border-bottom:1px solid #111}
.review label{display:flex;gap:8px;align-items:center;cursor:pointer}

/* En-tête : comme l'actuel, en verre dépoli au défilement */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:6;background:rgba(255,255,255,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}
header.site .wrap{display:flex;align-items:center;gap:18px;padding-block:16px;flex-wrap:wrap}
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;text-decoration:none;color:var(--black);white-space:nowrap;line-height:1}
.logo svg{display:block;height:40px;width:auto}
nav.main{display:flex;align-items:center;gap:2px 22px;flex-wrap:wrap;margin-left:auto}
nav.main a{text-decoration:none;font-size:.88rem;letter-spacing:.04em;padding-block:4px;transition:opacity .2s}
nav.main a:not(.btn):hover{opacity:.55}
nav.main a[aria-current="page"]{font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:400 .92rem var(--f);letter-spacing:.04em;padding:9px 18px;border-radius:6px;border:1px solid var(--black);background:var(--black);color:var(--white);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--black)}
.btn.line{background:transparent;color:var(--black)}
.btn.light{background:var(--white);color:var(--black);border-color:var(--white)}
.btn.light:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.btn.line:hover{background:var(--black);color:var(--white)}
.on-dark .btn{background:var(--white);color:var(--black);border-color:var(--white)}
.on-dark .btn:hover{background:transparent;color:var(--white)}
.on-dark .btn.line{background:transparent;color:var(--white);border-color:var(--white)}
.on-dark .btn.line:hover{background:var(--white);color:var(--black)}
.btn.pill{border-radius:999px;padding:6px 16px;font-size:.84rem}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--black);border-radius:6px;font:500 .8rem var(--f);letter-spacing:.14em;padding:6px 12px;cursor:pointer;color:var(--black)}
@media (max-width:760px){
  .menu-toggle{display:inline-flex;margin-left:auto;font-size:.72rem;letter-spacing:.1em;padding:5px 9px}
  header.site .wrap{gap:10px}
  .logo svg{height:30px}
  nav.main{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:10px;padding-block:10px 4px}
  nav.main.open{display:flex}
}

/* Héros ciel → noir, repris du site actuel */
.hero{position:relative;color:var(--black);background:#8A9BB2 url("/assets/img/poster.jpg") center/cover no-repeat;text-align:center;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
@media (max-width:700px){.hero{background-image:url("/assets/img/poster-m.jpg")}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,0) calc(100% - var(--fade)),#000 100%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;padding-block:clamp(90px,16vw,170px) clamp(140px,20vw,230px);display:flex;flex-direction:column;align-items:center;gap:26px}
.hero h1{max-width:16ch}
.hero .lead{font-size:clamp(1.05rem,1.9vw,1.45rem);max-width:none}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}

.page-hero{background:linear-gradient(180deg,var(--sky2) 0%,var(--sky1) calc(100% - var(--fade)),#000 100%);color:var(--black);text-align:center}
.page-hero .wrap{padding-block:90px 190px;display:flex;flex-direction:column;align-items:center;gap:20px}
.page-hero h1{font-size:clamp(1.8rem,4.4vw,3.2rem);max-width:22ch}
.page-hero .lead{color:#141820}
@media (max-width:700px){.page-hero .wrap{padding-block:64px 130px}:root{--fade:120px}}

/* Bandes */
section{padding-block:88px}
.dark{background:var(--black);color:var(--white)}
.dark .muted{color:#B9BEC8}
.muted{color:var(--grey)}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.split > *{min-width:0}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.vision{padding:clamp(48px,7vw,96px) max(16px,env(safe-area-inset-right,0px)) clamp(48px,7vw,96px) max(16px,env(safe-area-inset-left,0px));display:flex;justify-content:flex-end}
.vision-inner{max-width:480px;border-left:1px solid rgba(255,255,255,.7);padding-left:clamp(24px,4vw,56px);display:flex;flex-direction:column;gap:22px;position:relative}
.vision-inner::before{content:"";position:absolute;left:-2px;top:0;width:3px;height:130px;background:var(--white);transform:translateY(calc(var(--vp,0) * (var(--vh,300px) - 130px)));will-change:transform}
.vision-inner h2{font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.7;letter-spacing:.08em}
.vision-inner p{font-size:.95rem;letter-spacing:.04em}
.photo{min-height:420px;background-size:cover;background-position:center}

.cols{display:grid;gap:32px}
.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.c2,.c3{grid-template-columns:1fr}}
@media (max-width:560px){.c4{grid-template-columns:1fr}}
.cols > *{min-width:0}
.stack{display:flex;flex-direction:column;gap:18px}
.center{text-align:center;align-items:center}
.center p{margin-inline:auto}

.step{border-top:1px solid currentColor;padding-top:20px;display:flex;flex-direction:column;gap:10px}
.step .n{font-size:.78rem;letter-spacing:.2em}
.tile{border:1px solid rgba(0,0,0,.14);padding:30px 26px;display:flex;flex-direction:column;gap:12px;border-radius:4px;transition:border-color .2s,transform .2s}
.tile:hover{border-color:var(--black);transform:translateY(-2px)}
.dark .tile{border-color:rgba(255,255,255,.2)}
.dark .tile:hover{border-color:var(--white)}
.tile .link{margin-top:auto;font-size:.88rem;font-weight:600}
.tile .link::after{content:" →"}

/* Image plein cadre avec texte */
.banner{position:relative;color:var(--white);background:#000 center/cover no-repeat;text-align:center}
.banner::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.62)}
.banner .wrap{position:relative;padding-block:110px;display:flex;flex-direction:column;align-items:center;gap:22px}
.quote{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:300;letter-spacing:.08em;max-width:30ch;line-height:1.5}

/* Tableaux style comparateur Nîmes */
.scroll{overflow-x:auto}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.plans.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.plans.three{grid-template-columns:1fr}}
.plan{border:1px solid #d8d8d8;border-radius:6px;padding:32px 28px;display:flex;flex-direction:column;gap:14px}
.plan h3{font-size:1.25rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.plan-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.plan ul{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:10px;font-size:.95rem}
.plan li{display:flex;gap:10px;align-items:baseline}
.plan li::before{content:"✓";font-weight:700}
.plan.plat{background:#000;color:#fff;border-color:#000}
.plan.plat .plan-tag{color:#B9BEC8}
.plan.plat li::before{color:var(--check)}
@media (max-width:700px){.plans{grid-template-columns:1fr}}
table.cmp{width:100%;border-collapse:collapse;background:var(--panel);color:var(--white);border-radius:6px;overflow:hidden;min-width:600px;font-size:.88rem}
table.cmp th,table.cmp td{padding:14px 16px;text-align:center;border-bottom:1px solid var(--panel-line)}
table.cmp thead th{background:#000;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
table.cmp td:first-child,table.cmp th:first-child{text-align:left;font-weight:700;background:#000;width:30%}
table.cmp .ok{color:var(--check);font-weight:700}
table.cmp .no{color:#7D7A88}

/* Hubs en création */
.hub{border:1px solid rgba(255,255,255,.2);padding:28px 24px;border-radius:4px;display:flex;flex-direction:column;gap:12px}
.hub .state{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#B9BEC8;display:flex;align-items:center;gap:8px}
.hub .state i{width:7px;height:7px;border-radius:50%;background:var(--white);display:inline-block}
.hub .state.soon i{background:var(--check)}
.hub h3{font-size:1.2rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase}
.hub h3 b{font-weight:700}
.bar{height:3px;background:rgba(255,255,255,.15)}
.bar span{display:block;height:100%;background:var(--white)}
.hub .count{font-size:.8rem;color:#B9BEC8}
.hub button{margin-top:auto;align-self:flex-start}

.hub-form[hidden]{display:none}
#hubGrid{align-items:start}
.hub button[data-vote]{margin-top:4px}
.hub-form{display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(255,255,255,.2);padding-top:14px}
.hub-form .field{gap:6px}
.hub-form label.l{font-size:.8rem;color:#B9BEC8}
.hub-form input{height:38px;padding:6px 10px;border-radius:6px;background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.6);font-size:.88rem}
.hub-form input::placeholder{color:#7d838e}
.hub-form .btn{align-self:flex-start}
.hub-err{color:#E08A7A;font-size:.8rem}
/* FAQ */
details{border-bottom:1px solid rgba(0,0,0,.14);padding-block:20px}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px;letter-spacing:.04em}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-weight:300;font-size:1.3rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:10px;color:var(--grey);font-size:.95rem}

/* Formulaires (style actuel : champs fins, bouton noir accolé) */
form{display:grid;gap:18px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:640px){.fields{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label.l{font-size:.86rem}
input,select,textarea{font:inherit;letter-spacing:.03em;color:var(--ink);background:var(--white);border:1px solid var(--black);border-radius:6px;padding:10px 12px;width:100%}
.dark input,.dark select{background:transparent;color:var(--white);border-color:rgba(255,255,255,.6)}
.dark select option{color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--mist);outline-offset:1px}
.ok-msg{color:var(--check);font-weight:600;font-size:.9rem}
form.news{display:flex;gap:0;max-width:380px;width:100%}
.news input{border-radius:6px 0 0 6px;border-right:0;min-width:0;flex:1}
.news .btn{border-radius:0 6px 6px 0}


/* Formulaires repris du site actuel */
.cand-head{padding-block:72px 56px;text-align:center;border-bottom:1px solid #9a9a9a}
.cand-head h1{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:.08em}
.cand-body{padding-block:80px 120px;border-bottom:1px solid #9a9a9a}
.cand{max-width:760px}
.cand h2{font-size:1.45rem;letter-spacing:.08em;margin-bottom:40px}
form.wix-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
form.wix-form > .field:has(textarea), form.wix-form > div:not(.field), form.wix-form > p{grid-column:1/-1}
@media (max-width:640px){form.wix-form{grid-template-columns:1fr}}
form.wix-form .field{gap:10px}
form.wix-form label.l{font-size:.9rem;letter-spacing:.02em}
form.wix-form input,form.wix-form select{height:40px;padding:6px 12px;border:1px solid #000;border-radius:6px;background:#fff}
form.wix-form textarea{min-height:150px;padding:12px 16px;border:1px solid #000;border-radius:6px;resize:vertical}
form.wix-form textarea::placeholder{color:#333}
form.wix-form .btn{border-radius:6px;padding:9px 26px}

form.wix-form fieldset{grid-column:1/-1;border:0;border-top:1px solid #9a9a9a;margin:0;padding:28px 0 6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;min-width:0}
form.wix-form fieldset > *{min-width:0}
form.wix-form legend{font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;padding:0 12px 0 0;font-weight:500}
form.wix-form .form-intro,form.wix-form .consent{grid-column:1/-1}
form.wix-form .form-intro{color:var(--grey);font-size:.92rem}
.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;cursor:pointer;line-height:1.4}
form.wix-form .chk input{width:16px;height:16px;padding:0;margin:1px 0 0;flex:none;accent-color:#000;border-radius:3px}
.chk{align-items:center}
.consent{display:flex;flex-direction:column;gap:10px;padding-top:6px}
@media (max-width:640px){form.wix-form fieldset{grid-template-columns:1fr}.checks{grid-template-columns:1fr 1fr}}

/* Formulaires compacts (demande de Laurie) */
.cand-head{padding-block:48px 36px}
.cand-body{padding-block:48px 72px}
.cand{max-width:980px}
.cand h2{margin-bottom:20px}
form.wix-form{gap:14px 16px}
form.wix-form .field{gap:5px}
form.wix-form label.l,form.wix-form span.l{font-size:.8rem;letter-spacing:.02em}
form.wix-form input,form.wix-form select{height:36px;padding:4px 10px;font-size:.9rem}
form.wix-form textarea{min-height:80px;padding:8px 10px;font-size:.9rem}
form.wix-form fieldset{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;padding:18px 0 4px}
form.wix-form fieldset .s2{grid-column:span 2}
form.wix-form fieldset{align-items:end}
form.wix-form fieldset > .field:has(.checks),form.wix-form fieldset > .field:has(textarea){align-self:start}
form.wix-form legend{font-size:.82rem}
form.wix-form .form-intro{font-size:.85rem}
.checks{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 14px}
.chk{font-size:.82rem}
.consent{gap:6px;padding-top:2px}
@media (max-width:760px){form.wix-form fieldset{grid-template-columns:1fr 1fr}.checks{grid-template-columns:1fr 1fr}}
@media (max-width:480px){form.wix-form fieldset .s2{grid-column:1/-1}}
/* Séparateur coup de pinceau du site actuel */
.brush{height:clamp(36px,5vw,80px);background:url("/assets/img/brush.svg") center top/100% 100% no-repeat,linear-gradient(#000,#000) center bottom/100% 4px no-repeat,var(--white);transform:scaleY(-1);margin-top:-2px;position:relative}

footer{background:var(--white);padding-block:56px 40px}
footer .cols{grid-template-columns:1fr 1fr;gap:56px;align-items:start}
footer .fleft{display:grid;gap:28px}
footer .fnavs{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media (max-width:760px){footer .cols{grid-template-columns:1fr;gap:40px}footer .fleft > .stack{align-items:center;text-align:center}footer .fleft .logo{align-items:center}}
footer h4{margin:0 0 14px;font-weight:400;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase}
footer nav a{display:block;text-decoration:none;font-size:.9rem;padding-block:3px}
footer nav a:hover,footer .legal a:hover{opacity:.55}
footer .legal a{text-decoration:none}
a{text-decoration:none}
footer .legal{margin-top:44px;font-size:.8rem;color:var(--grey);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}


/* Page hub ville (Nîmes) */
.hub-logos{background:#000}
.hub-logos .wrap{display:flex;justify-content:center;align-items:center;gap:clamp(14px,5vw,72px);flex-wrap:nowrap;padding-block:8px 48px}
.hub-logos a{display:flex;justify-content:center;min-width:0}.hub-logos a:has(.hl-run){max-width:24%}.hub-logos a:has(.hl-pf){max-width:44%}.hub-logos a:has(.hl-easy){max-width:22%}
.hub-logos img{display:block;width:auto;max-width:100%;object-fit:contain}.hl-run{height:clamp(28px,8.5vw,64px)}.hl-pf{height:clamp(30px,9.5vw,66px)}.hl-easy{height:clamp(16px,5vw,36px)}
.hub-compare{background:#000 center/cover no-repeat;color:var(--white);padding-block:56px}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:900px;margin:0 auto;border-radius:8px}
table.cmp{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;background:var(--panel);font-size:.85rem;letter-spacing:.02em}
table.cmp th,table.cmp td{padding:10px 12px;text-align:center;vertical-align:middle}
table.cmp tbody th{text-align:left;font-weight:600;background:#000;width:24%;font-size:.8rem}
table.cmp thead th{padding:18px 12px;border-bottom:1px solid var(--panel-line)}
table.cmp thead img{display:block;margin:0 auto;height:28px;width:auto;max-width:100%;object-fit:contain}
table.cmp thead .tl-plat{height:auto;width:110px}
table.cmp thead .tl-run{height:40px}
table.cmp .corner{font-weight:600;background:var(--panel)}
table.cmp tr.price td,table.cmp tr.price th{background:#000;font-size:1.15rem;font-weight:700;padding-block:18px}
table.cmp tr.small td{font-size:.75rem;font-weight:600;text-transform:uppercase}
table.cmp td svg{display:block;margin:0 auto}
table.cmp .muted{color:#BFC4CC}
.btn.nb{background:transparent;color:var(--white);border-color:rgba(255,255,255,.8);border-radius:999px;padding:5px 14px;font-size:.82rem;white-space:nowrap}
.btn.nb:hover{background:var(--white);color:var(--black)}
.cgv{text-align:center;margin:28px auto 0;font-size:1.05rem}
.cgv a{color:inherit;font-weight:600}
.plat-band{background:#000;color:var(--white);text-align:center;padding-block:64px}
.plat-band .wrap{display:flex;flex-direction:column;align-items:center;gap:20px}
.plat-band img{max-width:100%;width:auto}
.plat-logos{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(12px,5vw,48px);width:100%}.plat-logos img{object-fit:contain;min-width:0}.pl-run{height:clamp(28px,9vw,64px);max-width:30%}.pl-pf{height:clamp(20px,6.2vw,44px);max-width:38%}.pl-easy{height:clamp(17px,5.4vw,38px);max-width:26%}

/* Inscription hub (Run'UP, Easy Fit) */
.insc-head{background:linear-gradient(180deg,#000 0%,#111 100%);color:var(--white);text-align:center;padding-block:48px 56px}
.insc-head .wrap{display:flex;flex-direction:column;align-items:center;gap:18px}
.insc-head img{width:auto;max-width:100%}
.insc-head h1{font-size:clamp(1.6rem,3.6vw,2.6rem)}
.insc-head .back{align-self:flex-start;color:#BFC4CC;font-size:.85rem}
.insc-price{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;justify-content:center}
.insc-price b{font-size:2.6rem;font-weight:700}
.insc-price s{color:#8C9099}
.insc-price em{font-style:normal;background:var(--white);color:var(--black);border-radius:999px;padding:2px 10px;font-weight:600;font-size:.85rem}
.perks{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem;color:#D5D8DD}
.perks li::before{content:"✓  ";color:var(--check)}
.steps-bar{list-style:none;margin:0 0 36px;padding:0;display:flex;gap:8px;flex-wrap:wrap;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#9a9a9a}
.steps-bar li{flex:1 1 140px;border-top:3px solid #ddd;padding-top:8px}
.steps-bar li.on{color:var(--black);border-color:var(--black)}
.sig-field{grid-column:1/-1}
canvas.sig{width:100%;height:140px;border:1px solid #000;border-radius:6px;background:#fff;touch-action:none;cursor:crosshair}
.link{background:none;border:0;padding:0;font:inherit;font-size:.85rem;cursor:pointer;color:inherit;opacity:.7;justify-self:start}
.sig-field .link{align-self:flex-start}
form.wix-form[hidden],.pay-step[hidden],.done-step[hidden]{display:none!important}
.form-err{color:#B3261E;grid-column:1/-1}
.recap dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0 0 28px}
.recap dt{color:var(--grey)}
.recap dd{margin:0}
.stripe-box{border:1px solid #000;border-radius:8px;padding:24px;display:grid;gap:12px}
.stripe-box .lock{font-weight:600;margin:0}
.stripe-box .pm{font-size:.85rem;margin:0}
.stripe-box .btn{justify-self:start}
.done-step h3{font-size:1.6rem;margin-top:0}
/* Notes SEO */
.seo{display:none;margin-block:28px;border:1px dashed #C0392B;border-radius:6px;padding:16px;font-size:.8rem;line-height:1.5;background:#FFF8F6;color:#3a2a27;letter-spacing:0}
body.show-seo .seo{display:block}
.seo b{color:#C0392B}
.seo dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0 0}
.seo dt{color:#8a6a64}
.seo dd{margin:0;min-width:0;overflow-wrap:anywhere}

.article{max-width:740px}
.article h2{margin-top:36px;font-size:1.25rem;font-weight:600;letter-spacing:.05em}
.article p{margin-top:12px}
.article ul{margin:12px 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.article .gtable{width:100%;border-collapse:collapse;margin-top:16px;font-size:.88rem}
.article .gtable th,.article .gtable td{border-bottom:1px solid #d8d8d8;padding:9px 10px;text-align:left;vertical-align:top}
.article .gtable thead th{background:#000;color:#fff;font-weight:600;font-size:.8rem;letter-spacing:.04em}
.article .gnote{font-size:.8rem;color:var(--grey)}
.article .gfaq details{padding-block:14px}
.article .gfaq summary{font-size:.95rem}
.article .related{margin-top:40px;border-top:1px solid #d8d8d8;padding-top:20px}
.article .related b{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.article .related ul{list-style:none;padding:0}
@media (max-width:640px){.article .gtable{display:block;overflow-x:auto;white-space:nowrap}}

.page[hidden],#footBrush[hidden]{display:none!important}
#footBrush[hidden]+footer{border-top:1px solid #e2e2e2}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Maquette affichée dans un cadre (aperçu Claude, iPhone) : le défilement se fait dans #app pour que les liens remontent en haut et que les ancres fonctionnent */
.to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:7;width:44px;height:44px;border-radius:50%;border:1px solid var(--black);background:var(--white);color:var(--black);box-shadow:0 4px 14px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s}
.to-top.on{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--black);color:var(--white);border-color:var(--white)}
.to-top svg{width:18px;height:18px}
html.framed,html.framed body{height:100%;overflow:hidden;margin:0}
html.framed #app{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}

/* Site en ligne */
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.is-err{border-color:#c0392b!important;outline-color:#c0392b}
.form-msg{color:#c0392b;font-size:.88rem;margin:0;grid-column:1/-1}
button[disabled]{opacity:.6;cursor:wait}
