@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/instrument-sans-variable.woff") format("woff");font-weight:400 700;font-display:swap}
/* Page de vente au gabarit monexpansion.com : une colonne large, titres en deux teintes, cartes définies par leur fond, capsules noires. */
:root{
  --bg:#fff;--soft:#f6f5f3;--ink:#0d0d0d;--ink-2:#2b2b2b;--muted:#6e6e73;--line:#ececec;
  --coral:#ff6b5c;--coral-txt:#e2462f;--vert:#1f9e7a;
  --av-t:#c2412f;--ap-t:#137a5c;
  --g:clamp(0px,2.2vw,32px);
  --sans:"Instrument Sans",-apple-system,"Helvetica Neue",Arial,sans-serif;
}
:root{--ph-f:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--bg:#0d0d0d;--soft:#171717;--ink:#f5f5f5;--ink-2:#dcdcdc;--muted:#9a9a9f;--line:#262626;--coral-txt:#ff6b5c;--av-t:#ff9a8c;--ap-t:#5fd3a8;--ph-f:brightness(.82) saturate(.94);color-scheme:dark}
}
:root[data-theme="dark"]{--bg:#0d0d0d;--soft:#171717;--ink:#f5f5f5;--ink-2:#dcdcdc;--muted:#9a9a9f;--line:#262626;--coral-txt:#ff6b5c;--av-t:#ff9a8c;--ap-t:#5fd3a8;--ph-f:brightness(.82) saturate(.94);color-scheme:dark}

*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-weight:600;letter-spacing:-.035em;text-wrap:balance}
h1 span,h2 span{color:var(--muted)}
.wrap{max-width:1180px;margin:0 auto;padding-inline:var(--g)}
.etroit{max-width:820px;margin-inline:auto}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:6px}

/* En-tête */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:17px;text-decoration:none;min-height:44px}
.brand svg{width:20px;height:20px;flex:none}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);border:0;text-decoration:none;font-family:inherit;font-weight:500;font-size:15px;line-height:1;border-radius:999px;padding:14px 22px;cursor:pointer;transition:opacity .2s}
.btn:hover{opacity:.82}
.btn.s{padding:11px 18px;font-size:14px}
.btn svg{width:18px;height:18px;transition:transform .25s}
.btn:hover svg{transform:translateX(4px)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
/* Le bouton principal : capsule encre, flèche dans une pastille */
.btn.p{padding:7px 7px 7px 24px;gap:14px;font-weight:600;font-size:16px;letter-spacing:-.01em}
.btn.p:hover{opacity:1}
.btn.p .fl{width:42px;height:42px;border-radius:50%;background:var(--bg);color:var(--ink);display:grid;place-items:center;flex:none}
.btn.p .fl svg{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.btn.p:hover .fl svg{transform:rotate(-45deg)}
.acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* Apparition liée au défilement : sans prise en charge, tout reste visible */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    @keyframes rv{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
  }
}

/* Créatures des routines (mêmes formes que monexpansion.com) */
:root{--etoile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M61.44 17.76L64.88 33.94Q65.72 37.85 69.52 39.09L85.24 44.2Q94.75 47.3 86.1 52.3L71.78 60.57Q68.32 62.57 68.31 66.57L68.31 83.11Q68.3 93.11 60.87 86.42L48.58 75.36Q45.6 72.69 41.8 73.92L26.07 79.02Q16.56 82.11 20.62 72.97L27.34 57.87Q28.97 54.21 26.62 50.97L16.9 37.59Q11.03 29.5 20.97 30.54L37.42 32.26Q41.4 32.68 43.75 29.44L53.47 16.07Q59.36 7.98 61.44 17.76Z'/%3E%3C/svg%3E")}
.forme{position:relative;display:inline-block;width:var(--t,64px);height:var(--t,64px);background:var(--c,var(--ink));border-radius:50%;flex:none}
.forme::before,.forme::after{content:"";position:absolute;top:42%;width:13%;height:19%;border-radius:50%;background:#fff;transform:translate(-50%,-50%);animation:cligne 5s infinite}
.forme::before{left:35%}.forme::after{left:65%}
.forme-galet{border-radius:60% 40% 55% 45%/50% 55% 45% 50%}
.forme-hexa{border-radius:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.forme-feuille{border-radius:78% 12% 78% 12%}
.forme-etoile{border-radius:0;background:linear-gradient(135deg,#f2553e,#f7964a);-webkit-mask:var(--etoile) center/contain no-repeat;mask:var(--etoile) center/contain no-repeat;width:calc(var(--t,64px)*1.375);height:calc(var(--t,64px)*1.375)}
.forme-etoile::before,.forme-etoile::after{width:10%;height:14.6%;transform:translate(-50%,-50%) rotate(10deg);animation-name:cligne-etoile}
.forme-etoile::before{left:42.3%;top:49.6%}.forme-etoile::after{left:59.5%;top:53%}
@keyframes cligne{0%,92%,100%{transform:translate(-50%,-50%) scaleY(1)}95%{transform:translate(-50%,-50%) scaleY(.1)}}
@keyframes cligne-etoile{0%,92%,100%{transform:translate(-50%,-50%) rotate(10deg) scaleY(1)}95%{transform:translate(-50%,-50%) rotate(10deg) scaleY(.1)}}

/* L'étoile guide : elle longe la page et traverse à chaque nouvelle section */
#fil{display:none;position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:30}
.guide-actif #fil{display:block}
.guide{position:absolute;left:0;top:0;width:124px;height:124px;margin:-62px 0 0 -62px;display:grid;place-items:center;opacity:0;will-change:transform,opacity}
.guide::before{content:"";position:absolute;inset:-45%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,#ff7a5c 30%,transparent),color-mix(in srgb,#ff7a5c 9%,transparent) 55%,transparent)}
.guide .forme-etoile{--t:90px}
.guide.repos .forme-etoile{animation:flotte 3.4s ease-in-out infinite}
@keyframes flotte{0%,100%{translate:0 0}50%{translate:0 -20px}}
@media (max-width:900px){.guide{width:92px;height:92px;margin:-46px 0 0 -46px}.guide .forme-etoile{--t:66px}}

.lbl{font-size:14px;color:var(--muted);letter-spacing:.01em}
.sous{color:var(--muted);font-size:18px;line-height:1.5;max-width:600px}
.petit{font-size:14px;color:var(--muted)}
.centre{text-align:center}
.centre .sous{margin-inline:auto}
.t2{font-size:clamp(30px,4vw,50px);line-height:1.05;margin-top:10px}
.t2 span{display:block}
section{padding-block:clamp(44px,5.6vw,80px) 0}

/* Haut de page */
.hero{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(24px,3.4vw,52px);align-items:center;padding-block:clamp(12px,2vw,24px) 0}
/* Le haut de page reste à l'écran tant que l'étoile n'a pas fini de balayer la photo */
.hero-scene.pin .hero{position:sticky;top:var(--htop,0px)}
.theme{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}
.theme svg{width:18px;height:18px}
.top-r{display:flex;gap:10px;align-items:center}
.hero > *{min-width:0}
.hero h1{font-size:clamp(40px,5vw,74px);line-height:.98;letter-spacing:-.04em;margin-top:14px}
.hero .hook{margin-top:22px;font-size:clamp(18px,1.7vw,22px);line-height:1.45;color:var(--ink-2);max-width:520px;letter-spacing:-.01em}
.hero .acts{margin-top:30px}
.hero .petit{margin-top:16px}
.hero .photo{border-radius:28px;aspect-ratio:5/4;max-height:calc(100vh - 150px);width:100%;background:#1b1714}
.couche{position:absolute;inset:0}
.couche img{width:100%;height:100%;object-fit:cover}
.couche.av img{object-position:36% 50%}
.couche.ap img{object-position:62% 50%}
.hr{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#0d0d0d;font-size:14px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;transform-origin:0 100%}
.hr i{width:8px;height:8px;border-radius:50%;background:#ff7a69}
.couche.ap .hr{left:auto;right:16px;bottom:auto;top:16px;transform-origin:100% 0}
.couche.ap .hr i{background:#1f9e7a}

/* Le passage de l'étoile : l'avant dessous, l'après dessus, dévoilé par un fondu qui suit l'étoile.
   Sans script ou en mouvement réduit, les deux états se lisent l'un sous l'autre. */
.ba{position:relative;overflow:hidden}
.couche.ap{display:none}
.passe-actif .couche.ap{display:block;opacity:0}
.lueur{display:none;position:absolute;left:0;top:-15%;height:130%;width:190px;margin-left:-95px;z-index:3;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(255,150,120,0),rgba(255,176,140,.42) 50%,rgba(255,150,120,0))}
.passe-actif .lueur{display:block}
.ba.fait .couche.ap .hr{animation:paf .55s cubic-bezier(.34,1.56,.64,1)}
@keyframes paf{from{transform:scale(.55)}to{transform:none}}

/* Les preuves : un gros « ! » qui tourne sur lui-même, que l'étoile change en coche verte ; le texte passe
   de l'avant à l'aujourd'hui en fondu. Sans script, les deux textes se lisent l'un sous l'autre, sans icône. */
.etat{display:grid;grid-template-columns:1fr;gap:14px;align-items:center;border-radius:16px;padding:14px 16px;background:color-mix(in srgb,#ff6b5c 9%,var(--bg));transition:background .5s}
.passe-actif .etat{grid-template-columns:auto 1fr}
.passe-actif .tr.ok .etat{background:color-mix(in srgb,#1f9e7a 11%,var(--bg))}
.ic{display:none;position:relative;width:54px;height:54px;flex:none}
.passe-actif .ic{display:block}
.ic span{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;font-size:29px;font-weight:700;line-height:1;color:#fff;transition:opacity .3s,scale .55s cubic-bezier(.34,1.56,.64,1),rotate .55s cubic-bezier(.34,1.56,.64,1)}
.ic .recto{background:#ff7a69;animation:tourne 3.2s cubic-bezier(.65,0,.3,1) infinite}
.ic .verso{background:#1f9e7a;opacity:0;scale:.3;rotate:-120deg}
.tr:nth-of-type(1) .recto{animation-delay:-1.1s}
.tr:nth-of-type(2) .recto{animation-delay:-2.2s}
.tr.ok .ic .recto{opacity:0;scale:.3;animation:none}
.tr.ok .ic .verso{opacity:1;scale:1;rotate:0deg}
.ic::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1f9e7a;opacity:0;pointer-events:none}
.tr.ok .ic::after{animation:onde .7s ease-out}
@keyframes tourne{0%,58%{rotate:0deg}100%{rotate:360deg}}
@keyframes onde{from{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}
.txts{display:grid;gap:10px;min-width:0}
.t{display:grid;gap:3px;font-size:14px;line-height:1.45;color:var(--ink-2);transition:opacity .45s,transform .5s cubic-bezier(.22,1,.36,1)}
.t em{font-style:normal;font-size:13px;font-weight:600;letter-spacing:.02em}
.t.av em{color:var(--av-t)}
.t.ap em{color:var(--ap-t)}
.passe-actif .txts{gap:0}
.passe-actif .t{grid-area:1/1}
.passe-actif .t.ap{opacity:0;transform:translateY(8px)}
.passe-actif .tr.ok .t.av{opacity:0;transform:translateY(-8px)}
.passe-actif .tr.ok .t.ap{opacity:1;transform:none}
.fort .etat,.passe-actif .fort.ok .etat{background:none;padding:0;border-radius:0;gap:18px}
.fort .t{font-size:inherit;color:var(--bg);gap:8px}
.fort .t.av em{color:color-mix(in srgb,#ff6b5c 78%,var(--bg))}
.fort .t.ap em{color:color-mix(in srgb,#1f9e7a 62%,var(--bg))}
.fort .t.av q{color:color-mix(in srgb,var(--bg) 62%,var(--ink))}

/* Punchline */
.punch{text-align:center;padding-block:clamp(34px,4.4vw,60px) 0}
.punch p.g{font-size:clamp(34px,7.6vw,100px);font-weight:600;letter-spacing:-.05em;line-height:.96}
.punch p.g span{display:block;color:var(--muted)}
.punch .defn{margin:clamp(20px,2.6vw,32px) auto 0;max-width:640px;font-size:clamp(18px,1.9vw,23px);font-weight:500;letter-spacing:-.015em;line-height:1.4;color:var(--ink)}
.mots{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:clamp(20px,2.6vw,30px) auto 0;max-width:680px}
.mots li{padding:10px 18px;border-radius:999px;background:color-mix(in srgb,var(--c) 17%,var(--bg));color:color-mix(in srgb,var(--c) 62%,var(--ink));font-size:clamp(15px,1.5vw,18px);font-weight:600;letter-spacing:-.01em;line-height:1.2}
.punch .mots + .promesse{margin-top:22px}
/* Les mots de l'admin arrivent l'un après l'autre, et les barres du calcul poussent, au fil du défilement */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .mots li{animation:mot linear both;animation-timeline:view();animation-range:cover calc(2% + var(--i)*2.6%) cover calc(9% + var(--i)*2.6%)}
    @keyframes mot{from{opacity:0;transform:translateY(16px) scale(.86)}to{opacity:1;transform:none}}
    .barre i{transform-origin:0 50%;animation:pousse linear both;animation-timeline:view();animation-range:cover 6% cover 26%}
    .barre .marge{animation-range:cover 22% cover 34%}
    @keyframes pousse{from{transform:scaleX(0)}to{transform:none}}
  }
}
.punch .promesse{margin:clamp(22px,3vw,36px) auto 0;max-width:680px;font-size:clamp(18px,1.8vw,22px);line-height:1.5;color:var(--ink-2)}
.punch .promesse b{font-weight:600;color:var(--ink)}

/* Est-ce ton cas */
.cas-toi{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:26px}
.cas:last-child{grid-column:1/-1}
@media (max-width:700px){.cas-toi{grid-template-columns:1fr}}
.cas{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--ink);border:0;cursor:pointer;background:var(--soft);border-radius:18px;padding:14px 18px;font-size:clamp(16px,1.55vw,19px);font-weight:500;letter-spacing:-.02em;line-height:1.3;quotes:"« " " »";transition:background .25s,color .25s,scale .25s}
.cas:hover{scale:1.01}
.cas .ck{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ink) 28%,var(--bg));display:grid;place-items:center;font-size:15px;font-weight:700;transition:background .25s,border-color .25s}
.cas[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.cas[aria-pressed="true"] .ck{background:var(--bg);border-color:var(--bg);color:var(--ink)}
.cas[aria-pressed="true"] .ck::before{content:"✓"}
.verdict{margin-top:16px;font-size:17px;color:var(--muted)}
.verdict b{color:var(--ink);font-weight:600}

/* Diagnostic */
.diag p{margin-top:16px}
.diag .t2{margin-top:12px}
.diag .corps{margin:18px auto 0;max-width:600px;display:grid;gap:10px;font-size:17px;line-height:1.5;color:var(--ink-2)}

/* Menu des corvées */
/* Le parcours : un panneau qui reste à l'écran, six étapes qui défilent, l'étoile prend la forme de chaque agent */
@property --gc{syntax:"<color>";inherits:true;initial-value:#f2553e}
.scene{margin-top:26px}
.colle{--gc:#f2553e;position:relative;display:grid;grid-template-columns:auto 1fr 1.12fr;gap:clamp(18px,3vw,44px);align-items:center;text-align:left;border-radius:36px;padding:clamp(18px,2.8vw,36px);background:color-mix(in srgb,var(--gc) 9%,var(--bg));transition:--gc .6s}
.scene.pin .colle{position:sticky;top:var(--top,24px)}
.colle > *{min-width:0}
.menu{position:relative;z-index:1;display:grid;gap:14px}
.rail{display:grid;gap:6px}
.arr{display:flex;align-items:center;gap:10px;background:none;border:0;font:inherit;font-size:15px;font-weight:500;color:var(--muted);cursor:pointer;padding:0;min-height:44px;text-align:left;border-radius:12px;transition:color .3s}
.arr .nm{white-space:nowrap}
.arr:hover,.arr.on{color:var(--ink)}
.arr .pt{width:44px;height:44px;display:grid;place-items:center;flex:none}
.arr .pt::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid color-mix(in srgb,var(--ink) 24%,var(--bg));transition:opacity .25s,background .25s,border-color .25s}
.arr.on .pt::before{opacity:0}
.arr.pris .pt::before{background:var(--c);border-color:var(--c)}
.arr.pris .nm::after{content:"✓";margin-left:8px;font-weight:700;color:var(--ink)}
.trait{position:absolute;background:color-mix(in srgb,var(--ink) 12%,var(--bg));border-radius:2px;overflow:hidden;z-index:0}
.trait i{display:block;width:100%;height:100%;background:var(--gc);transform-origin:0 0}
.guide-s{position:absolute;left:0;top:0;width:52px;height:52px;margin:-26px 0 0 -26px;z-index:2;pointer-events:none;will-change:transform}
.guide-s .corps{position:absolute;inset:0;display:grid;place-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.guide-s .forme{--t:36px}.guide-s .forme-etoile{--t:30px}
.guide-s.mue .corps{transform:scale(.2) rotate(-90deg)}
.compte{font-size:14px;font-weight:500;color:var(--ink-2);padding-left:12px}
.etapes{display:grid}
.etape{grid-area:1/1;display:flex;flex-direction:column;justify-content:center;gap:14px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .45s,transform .6s cubic-bezier(.22,1,.36,1),visibility 0s .45s}
.etape.on{opacity:1;visibility:visible;transform:none;transition-delay:.08s,.08s,0s}
.jr{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--muted)}
.jr .forme{--t:30px}.jr .forme-etoile{--t:26px}
.jr b{font-weight:600;color:var(--ink)}
.etape h3{font-size:clamp(26px,3vw,40px);line-height:1.06;letter-spacing:-.04em}
.etape .d{font-size:17px;line-height:1.5;color:var(--ink-2);max-width:440px}
.etape .recap{font-size:15px;font-weight:500;color:var(--ink)}
.choix{display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:15px;font-weight:600;color:var(--ink);background:var(--bg);border:1.5px solid color-mix(in srgb,var(--gc) 60%,var(--bg));border-radius:999px;padding:10px 18px 10px 11px;cursor:pointer;min-height:46px;transition:background .25s,color .25s,border-color .25s}
.choix .bx{width:24px;height:24px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ink) 30%,var(--bg));display:grid;place-items:center;font-size:13px;font-weight:700}
.choix[aria-pressed="true"]{background:var(--gc);border-color:var(--gc);color:#0d0d0d}
.choix[aria-pressed="true"] .bx{background:#0d0d0d;border-color:#0d0d0d;color:#fff}
.choix[aria-pressed="true"] .bx::before{content:"✓"}
.suiv{font:inherit;font-size:15px;font-weight:500;color:var(--ink-2);background:none;border:0;cursor:pointer;padding:10px 6px;min-height:46px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--ink) 28%,transparent)}
.suiv:hover{color:var(--ink);text-decoration-color:var(--ink)}
.photos{display:grid;border-radius:28px;overflow:hidden;aspect-ratio:4/3.5;background:var(--soft);box-shadow:0 40px 70px -48px color-mix(in srgb,var(--gc) 80%,transparent)}
.ph{grid-area:1/1;position:relative;margin:0;display:flex;align-items:flex-end;justify-content:center;padding:clamp(12px,2vw,24px);opacity:0;transition:opacity .6s}
.ph.on{opacity:1}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.07);transition:transform 1.6s cubic-bezier(.22,1,.36,1);filter:var(--ph-f,none)}
.ph.on img{transform:none}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.2));pointer-events:none}
.win{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:100%;padding:10px;border-radius:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translateY(14px) scale(.97);opacity:0;transition:opacity .6s .15s,transform .8s cubic-bezier(.22,1,.36,1) .15s}
.ph.on .win{opacity:1;transform:none}
.etq{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:#f1f1f2;color:#0d0d0d;font-size:14px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.etq.ch{background:#ffe5e1;color:#a2291e}
.etq.ok{background:#dff3ea;color:#11684f}
.fl3{color:#55555a;font-size:17px;line-height:1}

/* Ton matin */
.matin{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.matin > *{min-width:0}
.matin h2{font-size:clamp(30px,3.8vw,50px);line-height:1.05}
.matin h2 span{display:block}
.av-ap{display:grid;gap:8px;font-size:15px;line-height:1.45;color:var(--ink-2);margin-top:26px}
.av-ap div{display:grid;gap:3px;border-radius:14px;padding:12px 14px 12px 46px;position:relative}
.av-ap em{font-style:normal;font-size:13px;font-weight:600;letter-spacing:.02em}
.av-ap div::before{position:absolute;left:14px;top:13px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff}
.av-ap .av{background:color-mix(in srgb,#ff6b5c 10%,var(--bg))}
.av-ap .av em{color:var(--av-t)}
.av-ap .av::before{content:"!";background:#ff8a7a}
.av-ap .ap{background:color-mix(in srgb,#1f9e7a 11%,var(--bg))}
.av-ap .ap em{color:var(--ap-t)}
.av-ap .ap::before{content:"✓";background:#1f9e7a}
.msg{background:var(--soft);border-radius:28px;padding:clamp(18px,2.6vw,28px)}
.msg .tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.msg .tete b{font-size:19px;font-weight:600;letter-spacing:-.02em}
.msg .tete span{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.msg ul{list-style:none;padding:0;margin-top:16px;display:grid;gap:8px}
.msg li{background:var(--bg);border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.msg li > span{min-width:0;font-size:15px;line-height:1.35;color:var(--ink-2)}
.msg li b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.msg .ok{flex:none;font:inherit;font-size:13px;font-weight:600;border:1.5px solid var(--ink);border-radius:999px;padding:8px 14px;min-height:38px;background:var(--bg);color:var(--ink);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.msg .ok:hover{background:var(--ink);color:var(--bg)}
.msg .ok.fait,.msg .ok.fait:hover{border-color:transparent;background:color-mix(in srgb,#1f9e7a 16%,var(--bg));color:var(--ap-t)}
.msg li{transition:opacity .3s}
.msg li:has(.fait){opacity:.62}
.msg .note{margin-top:14px;font-size:13px;color:var(--muted)}

/* Preuves */
.passe-actif .matin .av-ap div{transition:opacity .5s}
.passe-actif .matin .av-ap .ap,.passe-actif .matin.tout .av-ap .av{opacity:.42}
.passe-actif .matin.tout .av-ap .ap{opacity:1}
.fini{position:relative;display:flex;align-items:center;gap:16px;margin-top:10px;padding:14px 16px;border-radius:18px;background:var(--bg);transition:background .5s}
.fini svg{width:64px;height:64px;flex:none;overflow:visible}
.fini circle{fill:transparent;stroke:color-mix(in srgb,var(--ink) 24%,var(--bg));stroke-width:3;stroke-dasharray:5 7;transition:fill .35s,stroke .35s}
.fini path{fill:none;stroke:#fff;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:44;stroke-dashoffset:44;transition:stroke-dashoffset .45s .2s cubic-bezier(.22,1,.36,1)}
.fini p{font-size:15px;line-height:1.4;color:var(--muted)}
.fini b{display:block;font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.fini::after{content:"";position:absolute;left:16px;top:50%;width:64px;height:64px;margin-top:-32px;border-radius:50%;border:2px solid #1f9e7a;opacity:0;pointer-events:none}
.msg.tout .fini{background:color-mix(in srgb,#1f9e7a 15%,var(--bg))}
.msg.tout .fini svg{animation:paf .65s cubic-bezier(.34,1.56,.64,1)}
.msg.tout .fini circle{fill:#1f9e7a;stroke:#1f9e7a;stroke-dasharray:none}
.msg.tout .fini path{stroke-dashoffset:0}
.msg.tout .fini::after{animation:onde .8s .1s ease-out}
.preuves{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;text-align:left}
.fort{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--ink);color:var(--bg);border-radius:28px;padding:clamp(24px,4vw,44px)}
.fort img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.fort q{display:block;font-size:clamp(24px,3vw,36px);line-height:1.15;letter-spacing:-.02em;quotes:"« " " »"}
.fort .qui{margin-top:12px;font-size:14px;color:color-mix(in srgb,var(--bg) 70%,var(--ink))}
.ca{background:var(--soft);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.ca header{display:flex;gap:12px;align-items:center}
.ca header img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.ca header b{display:block;font-weight:600;font-size:15px}
.ca header span{font-size:13px;color:var(--muted)}
.ca h3{font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.2}
.ca .av-ap{margin-top:0;font-size:14px}

/* Julien */
.julien{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(24px,4.4vw,64px);align-items:center}
.julien > *{min-width:0}
.julien .photo{border-radius:28px;overflow:hidden;aspect-ratio:1/1}
.julien .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.julien h2{font-size:clamp(30px,3.6vw,46px);line-height:1.08;margin-top:12px}
.julien h2 span{display:block}
.julien .bio{margin-top:18px;font-size:17px;line-height:1.55;color:var(--muted);display:grid;gap:12px}
.julien .bio b{color:var(--ink);font-weight:600}

/* Pour toi, pas pour toi */
.deux{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;text-align:left}
.col{border-radius:24px;padding:22px;display:grid;gap:10px;align-content:start;min-width:0}
.col h3{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-bottom:4px}
.col p{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--ink-2)}
.col.oui{background:color-mix(in srgb,var(--vert) 10%,var(--bg))}
.col.non{background:var(--soft)}
.col i{flex:none;font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff}
.col i.ck{background:var(--vert)}
.col i.x{background:#9a9a9f}

/* Le calcul */
.calc{max-width:860px;margin:22px auto 0;text-align:left;display:grid;gap:18px}
.ans{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--soft);justify-self:center}
.ans button{font:inherit;font-size:14px;font-weight:600;border:0;background:transparent;color:var(--muted);padding:10px 18px;border-radius:999px;cursor:pointer;min-height:40px;transition:background .25s,color .25s}
.ans button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.ligne-c{display:grid;gap:10px;min-width:0}
.ligne-c .t{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap}
.ligne-c .t span{font-size:15px;font-weight:600;color:var(--ink-2)}
.ligne-c .t b{font-size:clamp(28px,4.4vw,52px);font-weight:600;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.ligne-c.pers .t b{color:var(--muted)}
.barre{height:36px;border-radius:12px;background:var(--soft);overflow:hidden;display:flex}
.barre i{display:block;height:100%;transition:width .9s cubic-bezier(.22,1,.36,1)}
.barre .plein{background:var(--muted)}
.barre .marge{background:repeating-linear-gradient(135deg,var(--muted) 0 6px,transparent 6px 12px);opacity:.5}
.barre .sys{background:linear-gradient(135deg,#f2553e,#f7964a);min-width:10px;border-radius:14px}
.ligne-c .d{font-size:15px;color:var(--muted);line-height:1.45}
.fois{text-align:center;font-size:clamp(26px,3.6vw,44px);font-weight:600;letter-spacing:-.04em;line-height:1.08}
.fois span{display:block;color:var(--muted)}
.source{margin:16px auto 0;max-width:560px;font-size:13px;color:var(--muted);line-height:1.5}

/* L'offre */
.offre{text-align:center;padding:clamp(30px,4.2vw,58px) clamp(16px,3.4vw,44px);border-radius:40px;background:radial-gradient(45% 60% at 25% 30%,rgba(255,170,150,.30),transparent 70%),radial-gradient(40% 55% at 78% 70%,rgba(190,180,255,.26),transparent 70%),var(--soft)}
.prix{font-size:clamp(50px,8.5vw,112px);font-weight:600;letter-spacing:-.05em;line-height:.95;margin-top:14px;font-variant-numeric:tabular-nums}
.prix span{color:var(--coral-txt)}
.prix-d{margin:16px auto 0;max-width:560px;font-size:17px;line-height:1.5;color:var(--ink-2)}
.prix-d b{font-weight:600;color:var(--ink)}
.ton-choix{margin:14px auto 0;max-width:560px;font-size:15px;font-weight:600;color:var(--ink)}
.inclus{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px;text-align:left}
.bloc{background:var(--bg);border-radius:22px;padding:20px;display:grid;gap:8px;align-content:start;min-width:0}
.bloc .k{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--coral-txt)}
.bloc h3{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.bloc p{font-size:15px;line-height:1.5;color:var(--muted)}
.bloc.large{grid-column:1/-1}
.bloc ul{list-style:none;padding:0;display:grid;gap:8px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.bloc li{display:flex;gap:10px;align-items:flex-start}
.bloc li::before{content:"✓";color:var(--vert);font-weight:700;flex:none}
.offre .acts{justify-content:center;margin-top:26px}
.coches{margin-top:20px;display:flex;justify-content:center;gap:10px 20px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.coches span::before{content:"✓";color:var(--vert);font-weight:700;margin-right:6px}

/* Questions */
.faq{max-width:820px;margin:0 auto}
.faq h2{font-size:clamp(30px,4vw,46px);text-align:center;margin-bottom:22px}
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;font-size:18px;font-weight:500;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:300;color:var(--muted);transition:transform .3s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 40px 22px 0;color:var(--muted);font-size:16px;line-height:1.6}

/* Clôture */
.sombre{text-align:center;padding:clamp(36px,5vw,68px) clamp(16px,3.4vw,40px);border-radius:40px;background:radial-gradient(45% 60% at 80% 20%,rgba(255,107,92,.35),transparent 70%),radial-gradient(40% 55% at 15% 85%,rgba(120,110,255,.25),transparent 70%),#0d0d0d;color:#fff}
.sombre .lbl{color:rgba(255,255,255,.6)}
.sombre h2{font-size:clamp(36px,5.6vw,76px);line-height:.98;letter-spacing:-.05em;margin-top:12px}
.sombre h2 span{display:block;color:#ff8a72}
.chemins{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:940px;margin:26px auto 0;text-align:left}
.chemin{border-radius:22px;padding:22px;background:rgba(255,255,255,.07);display:grid;gap:8px;align-content:start;min-width:0}
.chemin b{font-size:18px;font-weight:600;letter-spacing:-.02em}
.chemin p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.72)}
.chemin.bon{background:rgba(255,107,92,.2)}
.sombre .acts{justify-content:center;margin-top:26px}
.sombre .btn{background:#fff;color:#0d0d0d;padding:18px 28px;font-size:17px;font-weight:600}
.sombre .btn.p{padding:8px 8px 8px 28px}
.sombre .btn.p .fl{background:#0d0d0d;color:#fff}
.sombre .btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}

/* Pied */
.pied{border-top:1px solid var(--line);margin-top:clamp(56px,8vw,96px);padding-block:30px 60px;display:grid;gap:10px;font-size:14px;color:var(--muted)}
.pied b{color:var(--ink);font-weight:600}
.pied a{text-underline-offset:4px}

@media (max-width:900px){
  .hero,.matin,.julien{grid-template-columns:1fr}
  .hero .photo{aspect-ratio:4/3.3}
  .couche.av img{object-position:42% 50%}
  .couche.ap img{object-position:58% 50%}
  section{padding-block:38px 0}
  .preuves,.chemins{grid-template-columns:1fr}
  .fort{grid-template-columns:1fr;gap:12px;padding:20px}
  .fort img{width:48px;height:48px}
  .fort q{font-size:21px}
  .ic{width:46px;height:46px}
  .ic span{font-size:25px}
  .fort .etat,.passe-actif .fort.ok .etat{gap:14px}
  .julien .photo{aspect-ratio:16/11}
  .chemin{padding:16px}
  /* Sur téléphone, les blocs de l'offre se feuillettent de côté au lieu de s'empiler */
  .inclus{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;scrollbar-width:none}
  .inclus::-webkit-scrollbar{display:none}
  .inclus .bloc{flex:0 0 84%;scroll-snap-align:start}
  .scene{margin-top:28px}
  .colle{grid-template-columns:1fr;gap:12px;padding:14px;border-radius:26px}
  .menu{gap:2px}
  .rail{display:flex;justify-content:space-between;gap:0}
  .arr{min-width:40px;justify-content:center}
  .arr .pt{width:40px}
  .arr .nm{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .compte{text-align:center;padding-left:0;font-size:13px}
  .photos{order:2;aspect-ratio:16/10;border-radius:20px}
  .etapes{order:3}
  .etape{gap:10px;justify-content:flex-start}
  .etape h3{font-size:25px}
  .etape .d{font-size:16px}
  .guide-s{width:44px;height:44px;margin:-22px 0 0 -22px}
  .guide-s .forme{--t:30px}.guide-s .forme-etoile{--t:26px}
  .etq{font-size:13px;padding:7px 11px}
  .win{gap:6px;padding:8px}
}
@media (max-width:820px){.deux{grid-template-columns:1fr}}
@media (max-width:640px){.faq details p{padding-right:0}.barre{height:38px}}
@media (max-width:420px){.top .btn.s{display:none}}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* Les 3 corvées choisies partent chez Julien (12 novembre 2026) : un bouton sous le compteur, une fenêtre à deux champs */
.envoyer{justify-self:start;margin-left:12px;font:inherit;font-size:14px;font-weight:600;border:0;border-radius:999px;padding:11px 17px;min-height:44px;background:var(--ink);color:var(--bg);cursor:pointer;transition:opacity .2s}
.envoyer:hover{opacity:.85}
.envoyer.cache{visibility:hidden}
dialog.cv{margin:auto;border:0;padding:0;border-radius:28px;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--bg);color:var(--ink);box-shadow:0 40px 90px -30px rgba(0,0,0,.5)}
dialog.cv::backdrop{background:rgba(13,13,13,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cv-in{position:relative;padding:clamp(22px,4vw,30px)}
.cv-etape{display:grid;gap:12px}
.cv h2{font-size:clamp(24px,3vw,30px);line-height:1.08;letter-spacing:-.035em;padding-right:40px}
.cv-liste{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cv-liste li{padding:7px 13px;border-radius:999px;font-size:14px;font-weight:600;background:color-mix(in srgb,var(--c) 17%,var(--bg));color:color-mix(in srgb,var(--c) 62%,var(--ink))}
.cv-d{font-size:16px;line-height:1.45;color:var(--ink-2)}
.cv-champ{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}
.cv-champ input{font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--soft);border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;min-height:48px;width:100%}
.cv-champ input:focus{outline:none;border-color:var(--ink)}
.cv-piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cv-err{font-size:14px;line-height:1.4;color:var(--av-t)}
.cv-go{justify-self:start;margin-top:4px}
.cv-go[disabled]{opacity:.6;cursor:wait}
.cv-petit{font-size:13px;line-height:1.45;color:var(--muted)}
.cv-x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--soft);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.cv-coche{width:64px;height:64px}
.cv-coche circle{fill:#1f9e7a}.cv-coche path{fill:none;stroke:#fff;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:44;stroke-dashoffset:44;animation:trace .5s .15s cubic-bezier(.22,1,.36,1) forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.cv-plus{justify-self:start;font:inherit;font-size:15px;background:none;border:0;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;padding:10px 0;min-height:44px;cursor:pointer}
/* Pour qui a déjà décidé : le paiement direct, discret, sous les boutons */
.deja{margin:16px auto 0;max-width:560px;font-size:14px;line-height:1.55;color:var(--muted)}
.deja a{color:var(--ink);font-weight:600;text-underline-offset:4px}
.sombre .deja{color:rgba(255,255,255,.62)}.sombre .deja a{color:#fff}
@media (max-width:900px){.envoyer{justify-self:center;margin-left:0}}

/* Le jour se lève (12 novembre 2026) : sans choix de thème mémorisé, la page s'ouvre la nuit et passe au jour
   au rythme du balayage de l'étoile (--jour de 0 à 1, piloté par le script). Le bouton de thème y met fin. */
:root.aube{
  --j:var(--jour,0);
  --bg:color-mix(in srgb,#fff calc(var(--j)*100%),#0d0d0d);
  --soft:color-mix(in srgb,#f6f5f3 calc(var(--j)*100%),#171717);
  --ink:color-mix(in srgb,#0d0d0d calc(var(--j)*100%),#f5f5f5);
  --ink-2:color-mix(in srgb,#2b2b2b calc(var(--j)*100%),#dcdcdc);
  --muted:color-mix(in srgb,#6e6e73 calc(var(--j)*100%),#9a9a9f);
  --line:color-mix(in srgb,#ececec calc(var(--j)*100%),#262626);
  --coral-txt:color-mix(in srgb,#e2462f calc(var(--j)*100%),#ff6b5c);
  --av-t:color-mix(in srgb,#c2412f calc(var(--j)*100%),#ff9a8c);
  --ap-t:color-mix(in srgb,#137a5c calc(var(--j)*100%),#5fd3a8);
  --ph-f:brightness(calc(.82 + .18*var(--j))) saturate(calc(.94 + .06*var(--j)));
}

/* Ajouts du site (accueil-v9.py) : navigation d'en-tête, bouton de langue, liens du pied */
.top .nav{display:flex;gap:4px}
.top .nav a{text-decoration:none;font-size:15px;font-weight:500;color:var(--ink-2);padding:12px 14px;min-height:44px;display:inline-flex;align-items:center;border-radius:999px;transition:background .2s}
.top .nav a:hover{background:var(--soft)}
.langue{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:600;letter-spacing:.02em;text-decoration:none;color:var(--ink);flex:none;transition:background .2s}
.langue:hover{background:var(--soft)}
.pied nav{display:flex;gap:0 18px;flex-wrap:wrap}
.pied nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.pied nav a:hover{color:var(--ink)}
@media (max-width:760px){
  .top{flex-wrap:wrap;gap:0 16px;padding-top:6px}
  .top .nav{order:3;width:100%}
  .top .nav a{white-space:nowrap;font-size:14px;padding:8px 10px}
}
