/* Destinéa — tunnel (la lecture). VARIANTE AUBE (thème clair).
   Recoloré sur la même logique que styles-aube.css : fond dégradé Aube éclairci,
   texte encre #070B24, accents or #C98A1A, surfaces claires translucides,
   sidebar claire. Structure + animations identiques. */

/* — surcharges locales de tokens pour le thème clair (cf. styles-aube.css) — */
:root{
  --c-or-fonce:#C98A1A;        /* or lisible sur fond clair */
  --c-violet-fonce:#7A6BB8;
  --c-encre-soft:#3A3358;      /* texte secondaire lisible sur Aube */
  --g-aube-soft:linear-gradient(150deg, #FBEFD8 0%, #F6DCE0 48%, #E5DAF2 100%);
}

*{box-sizing:border-box;margin:0;padding:0}
::selection{background:var(--c-or);color:var(--c-nuit)}
@keyframes drift{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}
@keyframes trace{to{stroke-dashoffset:0}}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes sweep{0%{transform:translateY(-46%);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateY(46%);opacity:0}}
@keyframes fadein{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

html{scroll-behavior:smooth}
body{font-family:var(--f-text);color:var(--c-nuit);background:var(--g-aube-soft);background-attachment:fixed;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(70% 45% at 50% -4%, rgba(201,138,26,.18), transparent 60%),
  radial-gradient(90% 55% at 12% 8%, rgba(233,181,195,.30), transparent 60%),
  radial-gradient(90% 60% at 92% 18%, rgba(147,133,206,.26), transparent 62%)}
.starfield{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;animation:twinkle 6s ease-in-out infinite;background-image:
  radial-gradient(1.6px 1.6px at 14% 16%,var(--c-or) 50%,transparent 51%),
  radial-gradient(1.4px 1.4px at 80% 12%,var(--c-rose) 50%,transparent 51%),
  radial-gradient(1.6px 1.6px at 62% 30%,var(--c-or-fonce) 50%,transparent 51%),
  radial-gradient(1.2px 1.2px at 30% 60%,var(--c-violet) 50%,transparent 51%),
  radial-gradient(1.4px 1.4px at 88% 70%,var(--c-or) 50%,transparent 51%),
  radial-gradient(1.2px 1.2px at 22% 84%,var(--c-rose) 50%,transparent 51%)}

/* boutons (styles DA) */
.btn{font-family:var(--f-ui);font-weight:500;font-size:14px;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:13px 26px;border-radius:var(--r-pill);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .25s cubic-bezier(.32,.72,0,1),box-shadow .25s,background .25s,border-color .25s}
.btn--lg{padding:16px 32px;font-size:15px}
.btn--xl{padding:20px 44px;font-size:18.5px}
.btn--gold{background:linear-gradient(135deg,#E0A53A,#C98A1A);color:#fff;box-shadow:0 10px 24px -8px rgba(201,138,26,.6)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(201,138,26,.8)}
.btn--ghost{color:var(--c-nuit);border-color:rgba(122,107,184,.45);background:rgba(255,255,255,.4)}
.btn--ghost:hover{transform:translateY(-2px);border-color:var(--c-violet);background:rgba(147,133,206,.16)}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-8)}
.cta-row.center{justify-content:center}
/* DÉMO : lien discret « Passer cette étape » sous les boutons du scanner */
.demo-skip{display:inline-block;margin-top:var(--sp-4);background:none;border:0;cursor:pointer;
  font-family:var(--f-ui);font-size:13px;color:var(--c-encre-soft);text-decoration:underline;
  text-underline-offset:3px;opacity:.7;transition:opacity .2s}
.demo-skip:hover{opacity:1;color:var(--c-or-fonce)}
.logo__word{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:23px;color:var(--c-nuit)}
.logo__word em{font-style:italic;color:var(--c-or-fonce)}
.reassure{font-family:var(--f-ui);font-weight:300;font-size:13px;color:var(--c-muted);margin-top:var(--sp-6)}
.center{text-align:center}

/* ===== layout app ===== */
.app{display:grid;grid-template-columns:1fr;min-height:100vh}          /* tunnel : pleine largeur, pas de sidebar */
body.in-espace .app{grid-template-columns:260px 1fr}                    /* espace : sidebar visible (après opt-in) */
.side{
  display:none;                                                         /* masquée pendant le tunnel */
  position:sticky;top:0;height:100vh;flex-direction:column;gap:var(--sp-6);
  padding:24px 20px;background:linear-gradient(180deg,rgba(255,251,243,.92),rgba(250,237,225,.82));
  backdrop-filter:saturate(150%) blur(16px);
  border-right:1px solid rgba(201,138,26,.20);
}
body.in-espace .side{display:flex}                                     /* espace : sidebar affichée */
.side__logo{text-decoration:none;padding:6px 8px}
.side__nav{display:flex;flex-direction:column;gap:4px;margin-top:var(--sp-4)}
.snav{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-sm);font-family:var(--f-ui);font-weight:400;font-size:14.5px;color:var(--c-encre-soft);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.snav__ic{color:var(--c-or-fonce);font-size:14px;width:18px;text-align:center;opacity:.95}
.snav:hover{background:rgba(147,133,206,.14);color:var(--c-nuit)}
.snav.active{background:rgba(201,138,26,.16);color:var(--c-nuit)}
.snav[data-locked]{opacity:.5}
.side__user{margin-top:auto;display:flex;align-items:center;gap:12px;padding:12px 10px;border-top:1px solid rgba(201,138,26,.18)}
.ava{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--c-violet),var(--c-indigo));flex:none}
.side__uinfo{display:flex;flex-direction:column;line-height:1.3}
.side__uinfo b{font-family:var(--f-ui);font-weight:500;font-size:14px;color:var(--c-nuit)}
.side__uinfo i{font-family:var(--f-ui);font-weight:400;font-size:12px;color:var(--c-muted);font-style:normal}

.main{padding:clamp(28px,4vw,56px) clamp(20px,4vw,56px);display:flex;align-items:center;min-height:100vh}

/* screens */
.screen{display:none;width:100%;max-width:1080px;margin:0 auto}
.screen[data-active]{display:block;animation:fadein .6s ease-out}
.step-eyebrow{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;color:var(--c-violet-fonce);margin-bottom:var(--sp-4)}
.screen-title{font-family:var(--f-display);font-weight:400;font-size:clamp(34px,4.6vw,52px);line-height:1.08;letter-spacing:-.01em;color:var(--c-nuit)}
.screen-title em{font-style:italic;color:var(--c-or-fonce)}
.screen-sub{font-family:var(--f-text);font-size:clamp(16px,1.5vw,18px);color:var(--c-encre-soft);max-width:46ch;margin-top:var(--sp-4)}
.screen-title.center,.screen-sub.center{margin-left:auto;margin-right:auto}

/* ===== intro deux mains (écran d'explication) ===== */
.intro-wrap{max-width:660px;margin:0 auto;text-align:center}
.intro-duo{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:var(--sp-4);margin-top:var(--sp-8)}
.intro-hand{
  background:linear-gradient(160deg,rgba(255,255,255,.86),rgba(252,244,232,.78));
  border:1px solid rgba(201,138,26,.22);border-radius:var(--r-md);
  padding:clamp(20px,2.6vw,28px) clamp(16px,2vw,22px);text-align:center;
  box-shadow:0 18px 36px -24px rgba(122,107,184,.5);
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.intro-hand__ic{font-size:30px;color:var(--c-or-fonce);line-height:1}
.intro-hand__k{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-violet-fonce)}
.intro-hand__t{font-family:var(--f-text);font-size:15.5px;line-height:1.5;color:var(--c-encre-soft)}
.intro-hand__t em{font-style:italic;color:var(--c-nuit)}
.intro-amp{align-self:center;font-family:var(--f-display);font-style:italic;font-size:24px;color:var(--c-or-fonce);opacity:.7}
.intro-line{font-family:var(--f-display);font-style:italic;font-size:clamp(18px,2vw,22px);color:var(--c-nuit);margin-top:var(--sp-8)}

/* progression de la capture (main 1/2 -> 2/2) */
.scan-progress{display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-4)}
.scan-progress .sp-dot{
  width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-ui);font-weight:500;font-size:12px;
  background:rgba(255,255,255,.6);border:1px solid rgba(201,138,26,.30);color:var(--c-muted);
  transition:background .3s,color .3s,border-color .3s;
}
.scan-progress .sp-dot.is-current{background:linear-gradient(135deg,#E0A53A,#C98A1A);border-color:transparent;color:#fff}
.scan-progress .sp-dot.is-done{background:rgba(201,138,26,.18);border-color:rgba(201,138,26,.40);color:var(--c-or-fonce)}
.scan-progress .sp-bar{flex:0 0 28px;height:2px;border-radius:2px;background:rgba(201,138,26,.30)}
.scan-progress .sp-count{margin-left:6px;font-family:var(--f-ui);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-violet-fonce)}

/* ===== scan ===== */
.scan-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,4vw,56px);align-items:start}
.scanner{
  position:relative;margin-top:var(--sp-8);aspect-ratio:4/3.1;width:100%;max-width:520px;
  border-radius:var(--r-md);overflow:hidden;
  background:linear-gradient(160deg,#141A3E,#0B1030);
  border:1px solid rgba(201,138,26,.40);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 30px 60px -28px rgba(122,107,184,.55),0 0 26px rgba(233,181,195,.30);
}
/* flux caméra réel + overlay détection (façon Face ID) */
.scanner__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s;transform:scaleX(-1);z-index:0}
.scanner__overlay{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .4s;transform:scaleX(-1);z-index:1;pointer-events:none}
.scanner.is-live .scanner__video,.scanner.is-live .scanner__overlay{opacity:1}
/* caméra arrière : pas de miroir */
.scanner.is-env .scanner__video,.scanner.is-env .scanner__overlay{transform:none}
.scanner__flip{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(246,239,228,.5);background:rgba(11,16,48,.55);color:var(--c-brume);
  font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .3s,border-color .3s}
.scanner__flip:hover{transform:rotate(180deg);border-color:var(--c-or)}
/* le SVG guide reste au-dessus du flux */
.scanner .hand{position:relative;z-index:2}
.scanner .scanline,.scanner .scan-hint{z-index:2}
.scanner .bracket{position:absolute;width:26px;height:26px;border:2px solid var(--c-or);opacity:.85;z-index:2;transition:border-color .3s,box-shadow .3s}
.bracket.tl{top:16px;left:16px;border-right:0;border-bottom:0;border-radius:6px 0 0 0}
.bracket.tr{top:16px;right:16px;border-left:0;border-bottom:0;border-radius:0 6px 0 0}
.bracket.bl{bottom:16px;left:16px;border-right:0;border-top:0;border-radius:0 0 0 6px}
.bracket.br{bottom:16px;right:16px;border-left:0;border-top:0;border-radius:0 0 6px 0}
.hand{height:78%;width:auto}
.hand__outline path{fill:rgba(147,133,206,.05);stroke:rgba(246,239,228,.35);stroke-width:1.4;stroke-dasharray:5 6;transition:stroke .5s,fill .5s}
.hand__lines path{stroke-dasharray:300;stroke-dashoffset:300}
.scanline{position:absolute;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,var(--c-or),transparent);box-shadow:0 0 14px var(--c-or);opacity:0}
.scan-hint{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-family:var(--f-ui);font-weight:300;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-brume)}

/* états du scanner */
.scanner[data-state="scanning"] .scanline{animation:sweep 1.6s ease-in-out infinite}
.scanner[data-state="scanning"] .hand__outline path{stroke:rgba(230,181,103,.6);fill:rgba(230,181,103,.05)}
.scanner[data-state="scanning"] .hand__lines path{animation:trace 1.5s ease forwards}
.scanner[data-state="scanning"] .hand__lines path:nth-child(2){animation-delay:.3s}
.scanner[data-state="scanning"] .hand__lines path:nth-child(3){animation-delay:.6s}
.scanner[data-state="detected"] .hand__outline path{stroke:var(--c-or);fill:rgba(230,181,103,.06)}
.scanner[data-state="detected"] .hand__lines path{stroke-dashoffset:0}
.scanner[data-state="detected"] .scan-hint{color:var(--c-or)}

/* feedback live caméra : rouge (cherche) / vert (cadré) */
.scanner.is-live[data-state="searching"] .bracket{border-color:#E9657B;box-shadow:0 0 12px rgba(233,101,123,.6)}
.scanner.is-live[data-state="searching"] .hand__outline path{stroke:rgba(233,101,123,.55)}
.scanner.is-live[data-state="searching"] .scan-hint{color:#F2A6B3}
.scanner.is-live[data-state="locked"] .bracket{border-color:#7CD8A4;box-shadow:0 0 14px rgba(124,216,164,.7)}
.scanner.is-live[data-state="locked"] .hand__outline path{stroke:#7CD8A4;fill:rgba(124,216,164,.08)}
.scanner.is-live[data-state="locked"] .scan-hint{color:#7CD8A4}
/* la silhouette guide s'estompe une fois la caméra live (on voit la vraie main) */
.scanner.is-live .hand__outline path{opacity:.45}
.scanner.is-live .scanline{opacity:0!important;animation:none!important}

/* mini-confirmation de capture (flash + check) */
.scanner.is-captured::after{content:"✓ Capturée";position:absolute;inset:0;z-index:4;display:flex;
  align-items:center;justify-content:center;font-family:var(--f-ui);font-weight:500;font-size:18px;
  letter-spacing:.14em;text-transform:uppercase;color:#0B1030;
  background:rgba(124,216,164,.92);animation:capFlash .9s ease forwards}
@keyframes capFlash{0%{opacity:0}18%{opacity:1}80%{opacity:1}100%{opacity:0}}

/* ===== interstitiel : coupure entre les deux mains ===== */
.handbreak{
  position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;
  padding:clamp(20px,5vw,48px);
  background:radial-gradient(120% 90% at 50% 0%, rgba(251,239,216,.96), rgba(238,221,242,.94) 55%, rgba(229,218,242,.96));
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  animation:fadein .4s ease-out;
}
.handbreak[hidden]{display:none}
.handbreak__card{
  max-width:540px;width:100%;text-align:center;
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(252,244,232,.86));
  border:1px solid rgba(201,138,26,.34);border-radius:var(--r-lg);
  padding:clamp(32px,5vw,52px) clamp(24px,4vw,44px);
  box-shadow:0 40px 80px -30px rgba(122,107,184,.6),0 0 30px rgba(233,181,195,.4);
}
.handbreak__check{
  display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#7CD8A4,#56B98A);color:#063;font-size:30px;line-height:1;
  box-shadow:0 12px 28px -10px rgba(86,185,138,.7);margin-bottom:var(--sp-4);
}
.handbreak__eyebrow{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--c-violet-fonce);margin-bottom:var(--sp-3)}
.handbreak__title{font-family:var(--f-display);font-weight:400;font-size:clamp(26px,3.6vw,40px);line-height:1.1;color:var(--c-nuit)}
.handbreak__title em{font-style:italic;color:var(--c-or-fonce)}
.handbreak__sub{font-family:var(--f-text);font-size:clamp(15px,1.6vw,17px);color:var(--c-encre-soft);max-width:42ch;margin:var(--sp-4) auto 0;line-height:1.55}
.handbreak__sub strong{color:var(--c-nuit)}
.handbreak__dots{display:flex;align-items:center;justify-content:center;gap:10px;margin:var(--sp-6) 0}
.hb-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-ui);font-weight:500;font-size:12px;background:rgba(255,255,255,.6);border:1px solid rgba(201,138,26,.3);color:var(--c-muted)}
.hb-dot.is-done{background:rgba(201,138,26,.18);border-color:rgba(201,138,26,.4);color:var(--c-or-fonce)}
.hb-dot.is-next{background:linear-gradient(135deg,#E0A53A,#C98A1A);border-color:transparent;color:#fff}
.hb-bar{flex:0 0 30px;height:2px;border-radius:2px;background:rgba(201,138,26,.3)}
.handbreak__card .btn{margin-top:var(--sp-2)}

/* howto */
.howto{background:linear-gradient(160deg,rgba(255,255,255,.86),rgba(252,244,232,.78));border:1px solid rgba(201,138,26,.22);border-radius:var(--r-md);padding:clamp(20px,2.4vw,28px);margin-top:var(--sp-8);box-shadow:0 18px 36px -24px rgba(122,107,184,.5)}
.howto__title{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-or-fonce);margin-bottom:var(--sp-6)}
.howto ol{list-style:none;display:flex;flex-direction:column;gap:var(--sp-6)}
.howto li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px}
.howto li span{grid-row:span 2;font-family:var(--f-display);font-style:italic;font-size:26px;color:var(--c-or-fonce);line-height:1}
.howto li b{font-family:var(--f-display);font-weight:500;font-size:16px;color:var(--c-nuit)}
.howto li p{font-size:13.5px;color:var(--c-encre-soft);line-height:1.5}
.howto__note{margin-top:var(--sp-6);padding-top:var(--sp-6);border-top:1px solid rgba(122,107,184,.20);font-family:var(--f-text);font-style:italic;font-size:14px;color:var(--c-encre-soft)}

/* ===== date ===== */
.date-wrap{max-width:620px;margin:0 auto;text-align:center}
.date-fields{display:flex;justify-content:center;gap:var(--sp-4);margin-top:var(--sp-8)}
.date-fields label{display:flex;flex-direction:column;gap:6px;font-family:var(--f-ui);font-weight:400;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-encre-soft)}
.date-fields input{
  width:104px;padding:14px 12px;text-align:center;border-radius:var(--r-sm);
  background:rgba(255,255,255,.7);border:1px solid rgba(201,138,26,.30);
  color:var(--c-nuit);font-family:var(--f-display);font-size:24px;
}
.date-fields input::placeholder{color:rgba(58,51,88,.4)}
.date-fields input:focus{outline:none;border-color:var(--c-or-fonce);box-shadow:0 0 0 3px rgba(201,138,26,.18)}

/* ===== calc ===== */
.calc{text-align:center;display:none;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}
.calc[data-active]{display:flex}
.calc-fil{width:min(300px,72vw);height:auto;animation:drift 6s ease-in-out infinite}
.calc-fil .ctr{stroke-dasharray:300;stroke-dashoffset:300;animation:trace 2s ease forwards}
.calc-fil .ctr:nth-child(2){animation-delay:.4s}
.calc-fil .ctr:nth-child(3){animation-delay:.8s}
.calc-fil .ctr:nth-child(4){animation-delay:1.6s}
.calc-stars circle{animation:twinkle 3s ease-in-out infinite}
.calc-num{font-family:var(--f-display);font-style:italic;font-size:clamp(72px,12vw,128px);color:var(--c-or-fonce);line-height:1;text-shadow:0 6px 24px rgba(201,138,26,.30);margin-top:var(--sp-4);opacity:0;transition:opacity 1s ease}
.calc-num.show{opacity:1}
.calc-line{font-family:var(--f-text);font-style:italic;font-size:18px;color:var(--c-encre-soft);margin-top:var(--sp-6)}

/* ===== opt-in ===== */
.optin-wrap{max-width:560px;margin:0 auto;text-align:center}
.optin-form{display:flex;flex-direction:column;gap:var(--sp-4);max-width:460px;margin:var(--sp-8) auto 0;text-align:left}
/* prénom + nom côte à côte (desktop) — empilés en mobile via media query */
.optin-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.optin-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.optin-label{font-family:var(--f-ui);font-weight:400;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-encre-soft);text-align:left}
.optin-form input[type="text"],.optin-form input[type="email"],.optin-form input[type="tel"]{
  width:100%;padding:15px 18px;border-radius:var(--r-sm);background:rgba(255,255,255,.7);
  border:1px solid rgba(201,138,26,.30);color:var(--c-nuit);font-family:var(--f-text);font-size:17px;
  transition:border-color .2s,box-shadow .2s}
.optin-form input::placeholder{color:rgba(58,51,88,.4)}
.optin-form input:focus{outline:none;border-color:var(--c-or-fonce);box-shadow:0 0 0 3px rgba(201,138,26,.18)}
.optin-field.is-invalid input{border-color:#D9657B;box-shadow:0 0 0 3px rgba(217,101,123,.16)}
.optin-hint{font-family:var(--f-ui);font-weight:300;font-size:12.5px;line-height:1.45;color:var(--c-encre-soft);opacity:.9}
.optin-err{font-family:var(--f-ui);font-weight:400;font-size:12.5px;line-height:1.4;color:#C24A62}
.optin-err[hidden]{display:none}

/* case RGPD custom (thème Aube) — grande zone de tap, label cliquable */
.optin-consent{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;
  cursor:pointer;padding:4px 2px;margin-top:var(--sp-1)}
.optin-consent input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.optin-consent__box{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;
  background:rgba(255,255,255,.72);border:1.5px solid rgba(201,138,26,.5);color:#fff;
  transition:background .2s,border-color .2s,box-shadow .2s}
.optin-consent__box svg{opacity:0;transform:scale(.6);transition:opacity .18s,transform .18s}
.optin-consent input:checked + .optin-consent__box{
  background:linear-gradient(135deg,#E0A53A,#C98A1A);border-color:transparent;
  box-shadow:0 6px 14px -6px rgba(201,138,26,.7)}
.optin-consent input:checked + .optin-consent__box svg{opacity:1;transform:none}
.optin-consent input:focus-visible + .optin-consent__box{outline:2px solid var(--c-or-fonce);outline-offset:2px}
.optin-consent__txt{font-family:var(--f-text);font-size:14px;line-height:1.5;color:var(--c-encre-soft)}
.optin-consent__link{color:var(--c-or-fonce);text-decoration:underline;text-underline-offset:2px}
.optin-consent__link:hover{color:#C98A1A}
.optin-consent.is-invalid .optin-consent__box{border-color:#D9657B}

.optin-form .btn{margin-top:var(--sp-2);width:100%}
/* bouton désactivé : grisé, non cliquable */
.optin-form .btn[disabled]{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(.25)}
.optin-form .btn[disabled]:hover{transform:none;box-shadow:none}

/* ===== profil ===== */
/* Task 1 — carte rapprochée du texte : colonnes serrées, carte alignée au bloc titre.
   La colonne texte ne prend plus tout l'espace (plus de vide géant à droite). */
.profil-top{display:grid;grid-template-columns:minmax(0,auto) auto;justify-content:start;
  align-items:start;gap:clamp(20px,3vw,40px);margin-top:var(--sp-4);
  padding-bottom:var(--sp-8);border-bottom:1px solid rgba(122,107,184,.20)}
.ph-arche{max-width:48ch}
.ph-label{font-family:var(--f-ui);font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-violet-fonce)}
.ph-name{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(40px,6vw,68px);color:var(--c-nuit);line-height:1.05;margin:var(--sp-2) 0}
.ph-meta{font-family:var(--f-text);font-size:16px;color:var(--c-encre-soft)}
.ph-meta em{font-style:italic;color:var(--c-or-fonce)}
.ph-intro{font-family:var(--f-text);font-size:15.5px;color:var(--c-encre-soft);max-width:42ch;margin-top:var(--sp-4)}
.profil-card-v{width:100%;border-radius:16px;overflow:hidden;border:1px solid rgba(201,138,26,.5);box-shadow:0 30px 60px -26px rgba(122,107,184,.6),0 0 26px rgba(233,181,195,.4);flex:none}
.profil-card-v video{display:block;width:100%}

/* ===================================================================
   TASK 2 — RÉVÉLATION FAÇON BOOSTER (moment dopamine, gratuit)
   Dos scellé (design Aube) -> flip 3D -> carte réelle. sessionStorage.
   =================================================================== */
.reveal{width:clamp(170px,20vw,240px);flex:none;perspective:1400px}
.reveal__stage{position:relative;width:100%;aspect-ratio:200/280;
  transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
/* les deux faces occupent tout le stage, dos-à-dos */
.reveal__back,.reveal__front{position:absolute;inset:0;width:100%;height:100%;
  border-radius:16px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.reveal__front{transform:rotateY(180deg)}

/* — DOS SCELLÉ : bouton cliquable, invite douce (float + glow pulsé) — */
.reveal__back{border:0;padding:0;cursor:pointer;display:block;
  box-shadow:0 30px 60px -26px rgba(122,107,184,.6),0 0 30px rgba(233,181,195,.45);
  animation:rvFloat 5.2s ease-in-out infinite}
.reveal__back:focus-visible{outline:2px solid var(--c-or);outline-offset:3px}
.reveal__ornament{position:absolute;inset:0;width:100%;height:100%;display:block}
/* halo pulsé par-dessus le dos */
.reveal__back::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(246,239,228,.4),0 0 0 0 rgba(233,181,195,.6);
  animation:rvGlow 3.2s ease-in-out infinite}
/* reflet doré qui glisse en boucle (le « brillant » d'un booster) */
.reveal__sheen{position:absolute;top:0;left:-60%;width:55%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(246,239,228,.55),transparent);
  transform:skewX(-14deg);animation:rvSheen 4.4s ease-in-out infinite}
.reveal__hint{position:absolute;left:0;right:0;bottom:12px;text-align:center;
  font-family:var(--f-ui);font-size:11.5px;letter-spacing:.06em;color:#3a2e5c;
  text-shadow:0 1px 8px rgba(246,239,228,.7);padding:0 10px}

/* — état RÉVÉLÉ : on flippe le stage, le dos disparaît — */
.reveal[data-revealed="true"] .reveal__stage{transform:rotateY(180deg)}
.reveal[data-revealed="true"] .reveal__back{animation:none;pointer-events:none}
/* glow d'apparition qui s'estompe sur la carte réelle */
.reveal.is-revealing .reveal__front::after{content:"";position:absolute;inset:0;border-radius:16px;
  pointer-events:none;box-shadow:0 0 44px 8px rgba(243,217,166,.85),inset 0 0 30px rgba(246,239,228,.7);
  animation:rvSettle 1.1s ease-out forwards}
/* petite vibration du dos juste avant le flip */
.reveal.is-revealing .reveal__back{animation:rvShake .34s ease-in-out}

/* — BURST de particules étoilées dorées (CSS, transform/opacity) — */
.reveal__burst{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0}
.reveal__burst i{position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;
  background:radial-gradient(circle,#F6EFE4 0 35%,#F3D9A6 60%,transparent 72%);border-radius:50%;
  opacity:0;box-shadow:0 0 8px rgba(243,217,166,.9)}
.reveal.is-revealing .reveal__burst{opacity:1;animation:rvBurstFade 1.2s ease-out forwards}
.reveal.is-revealing .reveal__burst i{animation:rvParticle 1.05s ease-out forwards}
.reveal__burst i:nth-child(1){--rx:0px;--ry:-118px}
.reveal__burst i:nth-child(2){--rx:64px;--ry:-96px}
.reveal__burst i:nth-child(3){--rx:104px;--ry:-52px}
.reveal__burst i:nth-child(4){--rx:120px;--ry:6px}
.reveal__burst i:nth-child(5){--rx:100px;--ry:64px}
.reveal__burst i:nth-child(6){--rx:56px;--ry:104px}
.reveal__burst i:nth-child(7){--rx:0px;--ry:122px}
.reveal__burst i:nth-child(8){--rx:-56px;--ry:104px}
.reveal__burst i:nth-child(9){--rx:-100px;--ry:64px}
.reveal__burst i:nth-child(10){--rx:-120px;--ry:6px}
.reveal__burst i:nth-child(11){--rx:-104px;--ry:-52px}
.reveal__burst i:nth-child(12){--rx:-64px;--ry:-96px}
.reveal__burst i:nth-child(13){--rx:34px;--ry:-70px}
.reveal__burst i:nth-child(14){--rx:-34px;--ry:78px}

@keyframes rvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes rvGlow{0%,100%{box-shadow:inset 0 0 0 1px rgba(246,239,228,.35),0 0 0 0 rgba(233,181,195,0)}
  50%{box-shadow:inset 0 0 0 1px rgba(246,239,228,.6),0 0 26px 4px rgba(233,181,195,.55)}}
@keyframes rvSheen{0%{left:-60%}42%,100%{left:130%}}
@keyframes rvShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-3px) rotate(-.6deg)}
  40%{transform:translateX(3px) rotate(.6deg)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}
@keyframes rvSettle{0%{opacity:1}100%{opacity:0}}
@keyframes rvBurstFade{0%{opacity:1}70%{opacity:1}100%{opacity:0}}
@keyframes rvParticle{0%{opacity:0;transform:translate(0,0) scale(.4)}
  12%{opacity:1}70%{opacity:1}
  100%{opacity:0;transform:translate(var(--rx),var(--ry)) scale(1.05)}}
.lines-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-6);margin-top:var(--sp-8)}
.lcard{background:linear-gradient(160deg,rgba(255,255,255,.86),rgba(252,244,232,.78));border:1px solid rgba(201,138,26,.22);border-radius:var(--r-md);padding:var(--sp-6);box-shadow:0 18px 36px -24px rgba(122,107,184,.5)}
.lc-name{font-family:var(--f-display);font-size:19px;color:var(--c-nuit)}
.lc-sub{font-family:var(--f-ui);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--c-or-fonce);margin:4px 0 var(--sp-2)}
.lc-say{font-size:14.5px;color:var(--c-encre-soft);line-height:1.5}
.voie{margin-top:var(--sp-8);background:radial-gradient(120% 100% at 50% 25%, rgba(247,223,210,.85), rgba(238,221,242,.7) 55%, rgba(250,243,233,.6));border:1px solid rgba(201,138,26,.30);border-radius:var(--r-md);padding:clamp(24px,3vw,36px);box-shadow:0 18px 36px -24px rgba(122,107,184,.5)}
.voie-label{font-family:var(--f-ui);font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-or-fonce)}
.voie-text{font-family:var(--f-text);font-size:clamp(17px,1.8vw,20px);color:var(--c-nuit);max-width:60ch;margin-top:var(--sp-4)}

/* ===================================================================
   SPLIT DES DEUX MAINS — gauche (gratuite) / droite (verrouillée)
   Mécanique de conversion : gauche = « ce que tu es » (appât, visible),
   droite = « ce que tu deviens » (scellée, clic -> paywall 4,99 €).
   =================================================================== */
.split{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(20px,3vw,40px);
  align-items:stretch;margin-top:var(--sp-8)}
.split__half{border-radius:var(--r-lg);padding:clamp(22px,2.6vw,34px)}
/* — moitié gauche : lumineuse, ouverte, rassurante — */
.split__half--left{background:linear-gradient(165deg,rgba(255,255,255,.9),rgba(252,244,232,.78));
  border:1px solid rgba(201,138,26,.22);box-shadow:0 18px 40px -26px rgba(122,107,184,.5)}
/* — moitié droite : plus nocturne, scellée, désirable — */
.split__half--right{position:relative;cursor:pointer;overflow:hidden;
  background:radial-gradient(130% 110% at 50% 0%, rgba(238,221,242,.72), rgba(247,223,210,.6) 55%, rgba(250,243,233,.5));
  border:1px solid rgba(122,107,184,.4);box-shadow:0 18px 40px -24px rgba(122,107,184,.6)}
.split__half--right:focus-visible{outline:2px solid var(--c-or);outline-offset:3px}

.split__kicker{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.2em;
  text-transform:uppercase}
.split__half--left .split__kicker{color:var(--c-violet-fonce)}
.split__half--right .split__kicker{color:var(--c-or-fonce)}
.split__title{font-family:var(--f-display);font-style:italic;font-weight:400;
  font-size:clamp(24px,3vw,34px);color:var(--c-nuit);line-height:1.1;margin:var(--sp-2) 0 var(--sp-3)}
.split__intro,.split__teaser{font-family:var(--f-text);font-size:clamp(15px,1.6vw,17px);
  line-height:1.6;color:var(--c-encre-soft)}
.split__teaser{color:var(--c-nuit)}
.split__lines{display:grid;gap:var(--sp-4);margin-top:var(--sp-6)}
.split__lines .lcard{margin:0}

/* — frontière verticale (desktop) — */
.split__seam{width:1px;align-self:stretch;justify-self:center;
  background:linear-gradient(180deg,transparent,rgba(201,138,26,.55) 20%,rgba(147,133,206,.55) 80%,transparent)}

/* — zone scellée : contenu réel flouté + overlay — */
.split__sealed{position:relative;margin-top:var(--sp-6)}
.split__lines--locked,.split__extra--locked{transition:filter .55s ease,opacity .55s ease}
.split__extra--locked{margin-top:var(--sp-6)}
.split__extra--locked .ecart-text{font-family:var(--f-text);font-size:clamp(15px,1.6vw,17px);
  color:var(--c-nuit);line-height:1.55;margin-top:var(--sp-2)}
body:not(.is-premium) .split__lines--locked,
body:not(.is-premium) .split__extra--locked{filter:blur(7px);opacity:.5;user-select:none;pointer-events:none}

/* overlay cadenas doré + hint + CTA (visible tant que non-premium) */
.seal-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:var(--sp-3);text-align:center;padding:var(--sp-4);
  background:radial-gradient(120% 90% at 50% 45%, rgba(255,251,243,.62), rgba(255,251,243,.28) 70%, transparent);
  transition:opacity .5s ease}
.seal-overlay__lock{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  color:var(--c-or-fonce);background:radial-gradient(circle at 50% 35%,rgba(243,217,166,.95),rgba(230,181,103,.6));
  box-shadow:0 0 0 1px rgba(201,138,26,.5),0 10px 26px -10px rgba(201,138,26,.8),0 0 22px rgba(243,217,166,.5)}
.seal-overlay__hint{font-family:var(--f-display);font-style:italic;font-size:clamp(15px,1.8vw,18px);
  color:var(--c-or-fonce);max-width:26ch;line-height:1.4}
.seal-overlay__cta{pointer-events:none;margin-top:var(--sp-1)}
.seal-overlay__price{font-family:var(--f-ui);font-size:12.5px;color:var(--c-encre-soft)}
.seal-overlay__price b{color:var(--c-or-fonce);font-weight:500}

/* — état PREMIUM : la main droite se dévoile en douceur — */
body.is-premium .split__lines--locked,
body.is-premium .split__extra--locked{filter:none;opacity:1;pointer-events:auto;user-select:auto}
body.is-premium .seal-overlay{opacity:0;pointer-events:none}
body.is-premium .split__half--right{cursor:default}

/* — PORTRAIT gauche : multi-paragraphes aérés (gratuit, généreux) — */
.split__portrait{display:flex;flex-direction:column;gap:var(--sp-3)}
.split__portrait .split__para{font-family:var(--f-text);font-size:clamp(15px,1.6vw,17px);
  line-height:1.65;color:var(--c-encre-soft);margin:0}
/* — texte du chemin de vie (gauche) — */
.split__chemin{margin-top:var(--sp-6)}
.split__chemin .voie-text{font-family:var(--f-text);font-size:clamp(15px,1.6vw,17px);
  line-height:1.6;color:var(--c-nuit);margin-top:var(--sp-2)}

/* — ÉLAN (droite, scellé) : mise en avant, cœur du paiement — */
.elan-block{margin-top:var(--sp-6);padding:var(--sp-4);border-radius:16px;
  background:linear-gradient(150deg,rgba(243,217,166,.28),rgba(233,181,195,.2) 60%,rgba(147,133,206,.16));
  border:1px solid rgba(201,138,26,.35);box-shadow:0 10px 30px -18px rgba(201,138,26,.55)}
.elan-label{color:var(--c-or-fonce)}
.elan-text{font-family:var(--f-text);font-size:clamp(15.5px,1.7vw,18px);line-height:1.65;
  color:var(--c-nuit);margin-top:var(--sp-2)}
/* — CONSEIL (droite, scellé) — */
.conseil-block{margin-top:var(--sp-6)}
.conseil-text{font-family:var(--f-display);font-style:italic;font-size:clamp(15px,1.7vw,18px);
  line-height:1.55;color:var(--c-encre-soft);margin-top:var(--sp-2)}

/* ===================================================================
   ESPACE PERSONNEL (porté de espace-proposition.css) — onglets de la
   sidebar fonctionnels après le tunnel. Thème Aube clair, mêmes tokens.
   =================================================================== */

/* l'espace est un "screen" pleine largeur, en flux vertical (pas centré) */
.screen.espace[data-active]{display:block;width:100%;max-width:1160px;margin:0 auto}
.main:has(.espace[data-active]){align-items:flex-start}

/* boutons sidebar (les onglets sont des <button>) */
button.snav{appearance:none;-webkit-appearance:none;background:transparent;border:0;width:100%;text-align:left;font:inherit;line-height:1.2}
button.snav.active{background:rgba(201,138,26,.16);color:var(--c-nuit)}

/* tag premium */
.tag-pro{font-family:var(--f-ui);font-weight:600;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#E0A53A,#C98A1A);padding:3px 9px;border-radius:var(--r-pill);box-shadow:0 4px 10px -4px rgba(201,138,26,.6)}

/* surcharges locales pour le clair (encre-faint manquait dans app.css) */
:root{--c-encre-faint:#6A6486;
  --sh-card-aube:0 22px 46px -26px rgba(122,107,184,.5);
  --sh-glow-aube:0 0 30px rgba(233,181,195,.4)}

/* — BANDEAU GUIDANCE DU JOUR — */
.guidance{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-6);
  background:radial-gradient(120% 100% at 50% 25%, rgba(247,223,210,.86), rgba(238,221,242,.7) 55%, rgba(250,243,233,.66));
  border:1px solid rgba(201,138,26,.3);border-radius:var(--r-lg);
  padding:clamp(22px,2.6vw,30px) clamp(24px,3vw,38px);
  box-shadow:var(--sh-card-aube),var(--sh-glow-aube);
  margin-bottom:var(--sp-8);
}
.g-eyebrow{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--c-or-fonce)}
.g-line{font-family:var(--f-display);font-style:italic;font-size:clamp(19px,2.2vw,25px);line-height:1.32;color:var(--c-nuit);margin:var(--sp-3) 0 var(--sp-6);max-width:52ch}
.g-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.g-actions .btn{font-size:13px;padding:11px 20px}
.guidance__num{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-left:var(--sp-6);border-left:1px solid rgba(122,107,184,.28)}
.guidance__num span{font-family:var(--f-display);font-style:italic;font-size:clamp(52px,7vw,76px);color:var(--c-or-fonce);line-height:1}
.guidance__num i{font-family:var(--f-ui);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-encre-soft);font-style:normal;margin-top:6px}

/* — ONGLETS : un seul visible à la fois — */
.tab{display:none;padding:clamp(20px,2.6vw,34px) 0 0;animation:tabIn .4s cubic-bezier(.32,.72,0,1) both}
.tab.is-active{display:block}
@keyframes tabIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tab__head{margin-bottom:var(--sp-8)}
.tab__kicker{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;color:var(--c-violet-fonce);margin-bottom:var(--sp-3)}
.tab__title{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,4vw,46px);line-height:1.05;color:var(--c-nuit)}
.tab__sub{font-family:var(--f-text);font-size:clamp(15px,1.5vw,17.5px);color:var(--c-encre-soft);max-width:62ch;margin-top:var(--sp-3)}

.block-label{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-or-fonce);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:10px}

/* — MON PROFIL : évolution dans le temps — */
.evol{margin-top:var(--sp-8)}
.evol-row{display:flex;align-items:stretch;gap:0;flex-wrap:nowrap}
.evol-step{flex:1;background:linear-gradient(160deg, rgba(255,255,255,.88), rgba(252,244,232,.8));border:1px solid rgba(201,138,26,.22);border-radius:var(--r-md);padding:var(--sp-6);box-shadow:0 16px 32px -26px rgba(122,107,184,.45)}
.evol-step b{font-family:var(--f-display);font-style:italic;font-size:18px;color:var(--c-or-fonce);display:block;margin-bottom:6px}
.evol-step p{font-size:14px;color:var(--c-encre-soft);line-height:1.5}
.evol-step.is-now{border-color:rgba(201,138,26,.55);box-shadow:0 0 0 1px rgba(201,138,26,.25),0 16px 32px -26px rgba(122,107,184,.5)}
.evol-link{flex:0 0 28px;align-self:center;height:2px;background:linear-gradient(90deg,var(--c-violet),var(--c-or-fonce))}
/* frise « première lecture » : étape future en pointillé/atténuée (état honnête) */
.evol-step--future{background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(252,244,232,.45));border-style:dashed;border-color:rgba(201,138,26,.28);box-shadow:none;opacity:.72}
.evol-step--future b{color:var(--c-encre-soft)}
.evol-link--future{background:linear-gradient(90deg,var(--c-or-fonce),transparent)}

/* — MES CARTES : galerie — */
.cards-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}
.dcard{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(201,138,26,.4);background:linear-gradient(160deg, rgba(255,255,255,.86), rgba(250,241,230,.78));box-shadow:var(--sh-card-aube)}
.dcard--mine{border-color:rgba(201,138,26,.78);box-shadow:var(--sh-card-aube),var(--sh-glow-aube)}
.dcard video{display:block;width:100%;aspect-ratio:2/3;object-fit:cover}
.dcard figcaption{font-family:var(--f-display);font-size:14px;color:var(--c-nuit);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:6px;background:rgba(255,250,242,.7)}
.dcard figcaption span{font-family:var(--f-ui);font-weight:500;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-or-fonce)}
.dcard--ghost{display:flex;flex-direction:column}
.dcard--ghost .ghost-face{aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;font-size:46px;color:rgba(201,138,26,.4);background:linear-gradient(160deg, rgba(247,235,222,.9), rgba(238,221,242,.7))}
.dcard--ghost figcaption span{color:var(--c-encre-faint)}
.cards-actions{margin-top:var(--sp-8);display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.cards-note{font-family:var(--f-text);font-style:italic;font-size:14px;color:var(--c-encre-soft);flex-basis:100%}

.voie-quote{font-family:var(--f-display);font-style:italic;font-size:clamp(16px,1.7vw,19px);line-height:1.5;color:var(--c-or-fonce);max-width:52ch;margin-top:var(--sp-4);padding-left:16px;border-left:2px solid rgba(201,138,26,.55)}

/* — CHEMIN DE VIE — */
.chemin-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(28px,4vw,56px)}
.chemin-hero .calc-num{font-size:clamp(96px,13vw,150px);margin:0;text-shadow:0 0 18px rgba(233,181,195,.45)}
.sense-text{font-family:var(--f-text);font-size:clamp(16px,1.6vw,19px);color:var(--c-nuit);line-height:1.55;max-width:54ch}
.fo-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);margin-top:var(--sp-8)}
.fo-card{border-radius:var(--r-md);padding:clamp(22px,2.6vw,30px);box-shadow:0 16px 32px -26px rgba(122,107,184,.45)}
.fo-force{background:linear-gradient(160deg,rgba(247,223,170,.4),rgba(255,250,240,.78));border:1px solid rgba(201,138,26,.34)}
.fo-ombre{background:linear-gradient(160deg,rgba(196,186,228,.34),rgba(243,238,250,.8));border:1px solid rgba(122,107,184,.38)}
.fo-label{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-or-fonce);margin-bottom:var(--sp-4);display:flex;align-items:center;gap:10px}
.fo-card ul{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}
.fo-card li{font-family:var(--f-text);font-size:15.5px;color:var(--c-nuit);padding-left:18px;position:relative}
.fo-card li::before{content:"◇";position:absolute;left:0;color:var(--c-or-fonce);font-size:11px;top:3px}

.annee{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,3vw,44px);margin-top:var(--sp-8);background:radial-gradient(120% 100% at 50% 25%, rgba(247,223,210,.82), rgba(238,221,242,.66) 55%, rgba(250,243,233,.6));border:1px solid rgba(201,138,26,.3);border-radius:var(--r-lg);padding:clamp(26px,3vw,38px);box-shadow:var(--sh-card-aube)}
.annee-num{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(28px,3.4vw,40px);color:var(--c-or-fonce);margin:var(--sp-2) 0 var(--sp-4)}
.annee-text{font-family:var(--f-text);font-size:16px;color:var(--c-nuit);line-height:1.55;max-width:46ch}
.annee__cycles{display:flex;flex-direction:column;gap:var(--sp-3);justify-content:center}
.cyc{font-family:var(--f-text);font-size:14.5px;color:var(--c-encre-soft);padding:12px 16px;border-radius:var(--r-sm);border:1px solid rgba(122,107,184,.28);background:rgba(255,255,255,.55)}
.cyc span{display:block;font-family:var(--f-ui);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-or-fonce);margin-bottom:3px}
.cyc--now{border-color:rgba(201,138,26,.55);box-shadow:0 0 0 1px rgba(201,138,26,.2);color:var(--c-nuit);background:rgba(255,251,243,.85)}
.mois-perso{font-family:var(--f-text);font-size:15px;color:var(--c-encre-soft);line-height:1.55;margin-top:var(--sp-4);max-width:46ch}
.mois-perso span{display:block;font-family:var(--f-ui);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-or-fonce);margin-bottom:4px}

/* — COMPATIBILITÉS — */
.compat-form{background:linear-gradient(160deg, rgba(255,255,255,.9), rgba(252,244,232,.82));border:1px solid rgba(201,138,26,.24);border-radius:var(--r-md);padding:clamp(20px,2.4vw,28px);box-shadow:0 16px 32px -26px rgba(122,107,184,.45)}
.cf-row{display:flex;gap:var(--sp-4);align-items:flex-end;flex-wrap:wrap}
.cf-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}
.cf-field span{font-family:var(--f-ui);font-weight:400;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-encre-soft)}
.cf-field input{font-family:var(--f-text);font-size:15px;color:var(--c-nuit);background:rgba(255,255,255,.7);border:1px solid rgba(122,107,184,.32);border-radius:var(--r-sm);padding:12px 14px;outline:none}
.cf-field input::placeholder{color:var(--c-encre-faint)}
.cf-field input:focus{border-color:var(--c-or-fonce);box-shadow:0 0 0 3px rgba(201,138,26,.18)}
.cf-row .btn{flex:0 0 auto}
.compat-wrap{display:flex;flex-direction:column;gap:var(--sp-8)}
.compat-faces{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(20px,3vw,48px);background:radial-gradient(120% 100% at 50% 25%, rgba(247,223,210,.82), rgba(238,221,242,.66) 55%, rgba(250,243,233,.6));border:1px solid rgba(201,138,26,.3);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);box-shadow:var(--sh-card-aube),var(--sh-glow-aube)}
.cface{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.cface .ava{width:56px;height:56px}
.ava--me{background:radial-gradient(circle at 35% 30%,var(--c-violet),var(--c-or-fonce))}
.ava--them{background:radial-gradient(circle at 35% 30%,var(--c-rose),var(--c-or-fonce))}
.cface b{font-family:var(--f-display);font-size:20px;color:var(--c-nuit)}
.cface i{font-family:var(--f-ui);font-weight:400;font-size:12.5px;letter-spacing:.08em;color:var(--c-or-fonce);font-style:normal}
.compat-score{text-align:center}
.cs-num{font-family:var(--f-display);font-style:italic;font-size:clamp(58px,8vw,92px);color:var(--c-or-fonce);line-height:1;text-shadow:0 0 18px rgba(233,181,195,.4)}
.cs-num small{font-size:.42em;color:var(--c-or-fonce)}
.cs-word{font-family:var(--f-ui);font-weight:400;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--c-encre-soft);margin-top:4px}
.compat-read{background:linear-gradient(160deg, rgba(255,255,255,.9), rgba(252,244,232,.82));border:1px solid rgba(201,138,26,.24);border-radius:var(--r-md);padding:clamp(22px,2.6vw,30px);box-shadow:0 16px 32px -26px rgba(122,107,184,.45)}
.cr-text{font-family:var(--f-text);font-size:16px;color:var(--c-nuit);line-height:1.55;max-width:64ch}
.compat-cta{display:flex;gap:var(--sp-4);flex-wrap:wrap}

/* — LA LECTURE (relance) — */
.lecture-relaunch{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(24px,4vw,56px);background:linear-gradient(160deg, rgba(255,255,255,.9), rgba(252,244,232,.82));border:1px solid rgba(201,138,26,.24);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);box-shadow:var(--sh-card-aube)}
.lr-txt .btn{margin-top:var(--sp-6)}
.lr-fil svg{width:clamp(180px,22vw,240px);height:auto;animation:drift 6s ease-in-out infinite}

/* ===================================================================
   PREMIUM / PAYWALL (factice) — badges, teaser flouté, modales.
   Thème Aube, motion transform/opacity uniquement.
   =================================================================== */

/* — onglet Compat mis en avant : glow doré + badge Premium — */
.snav--premium{position:relative;color:var(--c-nuit)}
.snav--premium .snav__ic{color:#C98A1A}
.snav__pro{margin-left:auto;font-family:var(--f-ui);font-weight:600;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#E0A53A,#C98A1A);padding:2px 7px;border-radius:var(--r-pill);box-shadow:0 3px 8px -3px rgba(201,138,26,.7)}
/* indicateur verrouillé (petit cadenas doré) : pas de pilule, pas de vente d'un 2e produit */
.snav__pro--lock{background:none;box-shadow:none;color:#C98A1A;font-size:11px;padding:0;letter-spacing:0}
body.is-premium .snav__pro--lock{display:none}
body.in-espace .snav--premium{background:linear-gradient(135deg,rgba(224,165,58,.16),rgba(201,138,26,.10));border:1px solid rgba(201,138,26,.42);box-shadow:0 0 0 1px rgba(201,138,26,.14),0 0 16px -2px rgba(230,181,103,.55);animation:glowPulse 3.4s ease-in-out infinite}
@keyframes glowPulse{0%,100%{box-shadow:0 0 0 1px rgba(201,138,26,.14),0 0 14px -3px rgba(230,181,103,.45)}50%{box-shadow:0 0 0 1px rgba(201,138,26,.28),0 0 22px -1px rgba(230,181,103,.75)}}
body.in-espace .snav--premium.active{background:linear-gradient(135deg,rgba(224,165,58,.26),rgba(201,138,26,.16))}

/* — teaser des lignes : 2 offertes / 2 verrouillées — */
.lines-teaser-label{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-violet-fonce);margin:var(--sp-8) 0 var(--sp-4)}
.free-tag{color:#3E8E63;background:rgba(124,216,164,.22);padding:2px 8px;border-radius:var(--r-pill);letter-spacing:.08em}
.lcard{position:relative}
.lcard--locked{overflow:hidden}
.lcard--locked .lc-say{filter:blur(5px);opacity:.5;user-select:none;transition:filter .3s,opacity .3s}
.lcard--locked::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,251,243,0),rgba(255,251,243,.35));pointer-events:none}
.lock-badge{position:absolute;top:12px;right:12px;font-size:15px;filter:grayscale(.1) drop-shadow(0 2px 4px rgba(201,138,26,.4));z-index:2}
body.is-premium .lcard--locked .lc-say{filter:none;opacity:1}
body.is-premium .lcard--locked::after,body.is-premium .lock-badge{display:none}

/* — bandeau de déblocage (unlock strip) — */
.unlock-strip{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-8);cursor:pointer;
  background:linear-gradient(135deg,rgba(247,223,170,.5),rgba(238,221,242,.55));
  border:1px solid rgba(201,138,26,.4);border-radius:var(--r-md);padding:clamp(16px,2vw,22px) clamp(18px,2.4vw,26px);
  box-shadow:var(--sh-card-aube);transition:transform .25s,box-shadow .25s}
.unlock-strip:hover{transform:translateY(-2px);box-shadow:var(--sh-card-aube),0 0 22px -4px rgba(230,181,103,.6)}
.unlock-strip__lock{font-size:26px;flex:none}
.unlock-strip__txt{flex:1}
.unlock-strip__txt b{font-family:var(--f-display);font-size:clamp(17px,2vw,20px);color:var(--c-nuit);display:block}
.unlock-strip__txt p{font-family:var(--f-text);font-size:14px;color:var(--c-encre-soft);margin-top:3px}
.unlock-strip__cta{flex:none;pointer-events:none}
.ecart{margin-top:var(--sp-8);background:radial-gradient(120% 100% at 50% 25%, rgba(238,221,242,.7), rgba(247,223,210,.7) 60%, rgba(250,243,233,.6));border:1px solid rgba(122,107,184,.34);border-radius:var(--r-md);padding:clamp(22px,3vw,32px);box-shadow:0 18px 36px -24px rgba(122,107,184,.5)}
.ecart-text{font-family:var(--f-text);font-size:clamp(16px,1.7vw,19px);color:var(--c-nuit);max-width:60ch;margin-top:var(--sp-3);line-height:1.55}

/* le contenu premium reste visible en flou léger tant que non débloqué (aperçu),
   pleinement lisible une fois premium */
.is-premium-content{position:relative}
body:not(.is-premium) .is-premium-content{filter:blur(6px);opacity:.55;pointer-events:none;user-select:none}
body.is-premium .unlock-strip{display:none}
body.is-premium .lines-teaser-label .free-tag{content:none}

/* — MODALE PAYWALL — */
.paywall{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:clamp(18px,5vw,44px);
  background:radial-gradient(120% 90% at 50% 0%, rgba(251,239,216,.9), rgba(238,221,242,.88) 55%, rgba(229,218,242,.92));
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .26s ease}
.paywall.is-open{opacity:1}
.paywall[hidden]{display:none}
.paywall__card{position:relative;max-width:460px;width:100%;text-align:center;
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(252,244,232,.92));
  border:1px solid rgba(201,138,26,.4);border-radius:var(--r-lg);
  padding:clamp(30px,4vw,44px) clamp(24px,3.4vw,38px);
  box-shadow:0 40px 80px -30px rgba(122,107,184,.6),0 0 30px rgba(233,181,195,.4);
  transform:translateY(14px) scale(.98);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.paywall.is-open .paywall__card{transform:none}
.paywall__close,.popmodal__close{position:absolute;top:14px;right:16px;width:32px;height:32px;border:0;background:rgba(147,133,206,.12);border-radius:50%;color:var(--c-encre-soft);font-size:15px;cursor:pointer;line-height:1;transition:background .2s}
.paywall__close:hover,.popmodal__close:hover{background:rgba(147,133,206,.24)}
.paywall__lock{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;font-size:26px;background:linear-gradient(135deg,#F3D9A6,#E0A53A);box-shadow:0 12px 26px -10px rgba(201,138,26,.7);margin-bottom:var(--sp-4)}
.paywall__eyebrow{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--c-violet-fonce);margin-bottom:var(--sp-2)}
.paywall__title{font-family:var(--f-display);font-weight:400;font-size:clamp(24px,3.4vw,34px);line-height:1.1;color:var(--c-nuit)}
.paywall__sub{font-family:var(--f-text);font-size:clamp(14.5px,1.6vw,16.5px);color:var(--c-encre-soft);line-height:1.55;margin:var(--sp-3) auto var(--sp-6);max-width:40ch}
.paywall__list{list-style:none;text-align:left;display:flex;flex-direction:column;gap:10px;margin:0 auto var(--sp-6);max-width:320px}
.paywall__list li{font-family:var(--f-text);font-size:15px;color:var(--c-nuit);padding-left:26px;position:relative}
.paywall__list li::before{content:"✦";position:absolute;left:0;top:1px;color:var(--c-or-fonce);font-size:13px}
.paywall__price{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:var(--sp-4)}
.paywall__price b{font-family:var(--f-display);font-style:italic;font-size:30px;color:var(--c-or-fonce)}
.paywall__price i{font-family:var(--f-ui);font-size:12.5px;color:var(--c-encre-soft);font-style:normal}
.paywall__cta{width:100%}
.paywall__note{font-family:var(--f-ui);font-size:11.5px;color:var(--c-muted);margin-top:var(--sp-3);letter-spacing:.02em}

/* — POP-UP D'INTRO COMPAT — */
.popmodal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:clamp(18px,5vw,44px);
  background:radial-gradient(120% 90% at 50% 0%, rgba(251,239,216,.86), rgba(238,221,242,.85) 55%, rgba(229,218,242,.9));
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .26s ease}
.popmodal.is-open{opacity:1}
.popmodal[hidden]{display:none}
.popmodal__card{position:relative;max-width:480px;width:100%;text-align:center;
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(252,244,232,.92));
  border:1px solid rgba(201,138,26,.36);border-radius:var(--r-lg);
  padding:clamp(30px,4vw,46px) clamp(24px,3.4vw,40px);
  box-shadow:0 40px 80px -30px rgba(122,107,184,.6),0 0 30px rgba(233,181,195,.4);
  transform:translateY(14px) scale(.98);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.popmodal.is-open .popmodal__card{transform:none}
.popmodal__ic{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;font-size:26px;color:#C98A1A;background:radial-gradient(circle at 35% 30%,rgba(233,181,195,.6),rgba(247,223,170,.5));box-shadow:0 12px 26px -12px rgba(201,138,26,.6);margin-bottom:var(--sp-4)}
.popmodal__eyebrow{font-family:var(--f-ui);font-weight:500;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--c-violet-fonce);margin-bottom:var(--sp-3);display:flex;align-items:center;justify-content:center;gap:8px}
.popmodal__title{font-family:var(--f-display);font-weight:400;font-size:clamp(26px,3.6vw,38px);line-height:1.1;color:var(--c-nuit)}
.popmodal__title em{font-style:italic;color:var(--c-or-fonce)}
.popmodal__sub{font-family:var(--f-text);font-size:clamp(14.5px,1.6vw,16.5px);color:var(--c-encre-soft);line-height:1.6;margin:var(--sp-4) auto var(--sp-6);max-width:44ch}
.popmodal__sub strong{color:var(--c-nuit)}
.popmodal__cta{display:flex;flex-direction:column;gap:var(--sp-3);align-items:stretch}
.popmodal__cta .btn{width:100%}

/* ===================================================================
   OPTIMISATION MOBILE — conversion (teaser + sticky) + fix modales.
   Bases neutres ici ; les comportements mobiles sont dans les media
   queries plus bas. Rien de tout ça n'affecte le desktop.
   =================================================================== */

/* — TEASER PREMIUM (mobile only, non-premium) : découvrable dès le 2e écran — */
.profil-teaser{display:none}

/* — « Lire la suite » du contenu gratuit gauche : bouton masqué en desktop — */
.split__more{display:none}

/* — STICKY CTA PREMIUM (mobile only, non-premium) — */
.premium-sticky{display:none}
body.is-premium .premium-sticky{display:none}

/* — FIX MODALES : scrim assombri (la carte ressort) + fond carte 100% opaque.
     Corrige la popup compat qui paraissait « transparente » (page visible à
     travers) sur fond clair. Le motion opacity/scale est conservé. — */
.paywall,.popmodal{background:rgba(26,19,46,.58);
  -webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%)}
.paywall__card,.popmodal__card{background:linear-gradient(160deg,#FFFDF9,#FBF2E4)}
/* cible tactile ≥44px pour la fermeture (au moins en mobile) */
.paywall__close,.popmodal__close{width:40px;height:40px;font-size:16px}

/* ===== responsive ===== */
@media (max-width:880px){
  /* cibles tactiles de fermeture des modales : 44px mini */
  .paywall__close,.popmodal__close{width:44px;height:44px;font-size:17px;top:12px;right:12px}

  /* (nav 1 ligne scrollable : réglée directement sur la règle .side__nav ci-dessous) */

  /* — GUIDANCE compactée sur mobile (le bloc le plus haut de l'espace) — */
  .guidance{padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-6)}
  .g-line{font-size:clamp(17px,4.6vw,20px);margin:var(--sp-2) 0 var(--sp-3)}
  .guidance__num{padding:var(--sp-3) 0 0}
  .guidance__num span{font-size:46px}

  /* — densité générale du profil sur mobile — */
  .tab__head{margin-bottom:var(--sp-5)}
  .profil-top{margin-top:var(--sp-2);padding-bottom:var(--sp-5);gap:var(--sp-4)}
  .evol,.split{margin-top:var(--sp-5)}
  .split__half{padding:var(--sp-6) var(--sp-5)}

  /* — CONTENU GRATUIT GAUCHE replié (aperçu court + « Lire la suite ») —
       preuve rapide plutôt qu'un mur de texte ; contenu conservé dans le DOM. */
  .split__free{position:relative;max-height:210px;overflow:hidden;
    -webkit-mask-image:linear-gradient(180deg,#000 66%,transparent);
    mask-image:linear-gradient(180deg,#000 66%,transparent);transition:max-height .3s ease}
  .split__free.is-open{max-height:4000px;-webkit-mask-image:none;mask-image:none}
  .split__more{display:inline-flex;align-items:center;gap:6px;margin-top:var(--sp-3);
    background:none;border:0;cursor:pointer;font-family:var(--f-ui);font-weight:500;font-size:13px;
    color:var(--c-or-fonce);text-decoration:underline;text-underline-offset:3px;padding:4px 0}
  .split__more::after{content:"▾";font-size:11px;text-decoration:none}
  .split__more[aria-expanded="true"]::after{content:"▴"}

  /* — TEASER PREMIUM visible (non-premium) juste après la carte d'archétype — */
  body.in-espace:not(.is-premium) .profil-teaser{
    display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;
    margin-top:var(--sp-6);padding:15px 17px;border-radius:var(--r-md);font:inherit;
    appearance:none;-webkit-appearance:none;
    background:linear-gradient(135deg,rgba(247,223,170,.55),rgba(238,221,242,.6));
    border:1px solid rgba(201,138,26,.42);box-shadow:var(--sh-card-aube);
    transition:transform .2s,box-shadow .2s}
  body.in-espace:not(.is-premium) .profil-teaser:active{transform:scale(.99)}
  .profil-teaser__lock{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
    color:var(--c-or-fonce);background:radial-gradient(circle at 50% 35%,rgba(243,217,166,.95),rgba(230,181,103,.6));
    box-shadow:0 0 0 1px rgba(201,138,26,.5),0 8px 18px -8px rgba(201,138,26,.7)}
  .profil-teaser__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .profil-teaser__txt b{font-family:var(--f-ui);font-weight:500;font-size:10px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--c-or-fonce);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .profil-teaser__txt i{font-family:var(--f-display);font-style:italic;font-size:14.5px;line-height:1.3;color:var(--c-nuit)}
  .profil-teaser__go{flex:none;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
  .profil-teaser__go b{font-family:var(--f-display);font-style:italic;font-size:21px;color:var(--c-or-fonce);line-height:1}
  .profil-teaser__go em{font-family:var(--f-ui);font-style:normal;font-size:9.5px;letter-spacing:.03em;color:var(--c-encre-soft);margin-top:2px}

  /* — PAVÉ SCELLÉ -> teaser compact et désirable (fini le flou interminable).
       Le contenu reste dans le DOM ; on borne juste sa hauteur (aperçu court).
       En premium, aucune borne : la lecture complète se déploie. — */
  body.in-espace:not(.is-premium) .split__sealed{max-height:330px;overflow:hidden;border-radius:var(--r-md)}
  body.in-espace:not(.is-premium) .split__sealed .seal-overlay{
    background:radial-gradient(120% 90% at 50% 55%, rgba(255,251,243,.78), rgba(255,251,243,.5) 70%, rgba(255,251,243,.32));
    gap:var(--sp-2)}
  /* teaser droite : titre + accroche courts, pas un pavé */
  body.in-espace:not(.is-premium) .split__half--right .split__teaser{
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

  /* — STICKY CTA PREMIUM : barre basse, largeur pleine, au pouce — */
  body.in-espace:not(.is-premium) .premium-sticky{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:11px 16px calc(11px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(251,239,216,0),rgba(251,239,216,.94) 42%,rgba(251,239,216,.99));
    -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
  .premium-sticky__btn{width:100%;box-shadow:0 12px 30px -8px rgba(201,138,26,.85)}
  /* le dernier contenu respire au-dessus de la barre sticky */
  body.in-espace:not(.is-premium) .screen.espace{padding-bottom:90px}

  /* minmax(0,1fr) : la colonne peut passer sous la taille min-content de son
     contenu -> la nav scrollable ne gonfle plus toute la page (fix overflow-x). */
  .app, body.in-espace .app{grid-template-columns:minmax(0,1fr)}
  body.in-espace .side{position:static;height:auto;min-width:0;flex-direction:row;align-items:center;gap:var(--sp-4);padding:14px 18px;border-right:0;border-bottom:1px solid rgba(201,138,26,.20)}
  .side__nav{display:none}
  /* en mode espace, la nav devient une barre d'onglets horizontale scrollable */
  body.in-espace .side{flex-wrap:wrap}
  /* NAV ESPACE : une seule ligne d'onglets scrollable horizontalement (snap + fondus) */
  body.in-espace .side__nav{display:flex;flex-direction:row;flex-wrap:nowrap;order:3;flex-basis:100%;
    min-width:0;max-width:100%;
    gap:8px;margin-top:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);
    mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}
  body.in-espace .side__nav::-webkit-scrollbar{display:none}
  body.in-espace .snav{width:auto;white-space:nowrap;flex:0 0 auto;scroll-snap-align:start;font-size:12.5px;padding:8px 12px;border:1px solid rgba(201,138,26,.22);border-radius:var(--r-pill)}
  body.in-espace .snav.active{border-color:rgba(201,138,26,.5)}
  .snav__pro{margin-left:6px;font-size:8px;padding:2px 5px}
  .paywall__card,.popmodal__card{max-height:88vh;overflow-y:auto}
  .paywall__cta{padding-left:14px;padding-right:14px;font-size:15px;white-space:normal;line-height:1.2}
  .unlock-strip{flex-wrap:wrap}
  .side__user{margin:0 0 0 auto;border-top:0;padding:0}
  .main{padding:24px 18px 56px;align-items:flex-start}
  .scan-grid{grid-template-columns:1fr}
  .scanner{max-width:none}
  .intro-duo{grid-template-columns:1fr;gap:var(--sp-4)}
  .intro-amp{transform:rotate(90deg)}
  .profil-top{grid-template-columns:1fr;text-align:center;justify-items:center}
  .ph-arche{max-width:none}
  .reveal{width:min(240px,72vw)}
  .lines-grid{grid-template-columns:1fr}
  /* SPLIT en mobile : gauche AU-DESSUS, droite (scellée) EN DESSOUS, frontière horizontale nette */
  .split{grid-template-columns:1fr;gap:var(--sp-4)}
  .split__seam{width:100%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(201,138,26,.55) 20%,rgba(147,133,206,.55) 80%,transparent)}
  .split__half--right{border-width:2px;border-color:rgba(201,138,26,.45)}
  .date-fields input{width:84px;font-size:20px}
  .guidance{grid-template-columns:1fr}
  .guidance__num{flex-direction:row;gap:12px;border-left:0;border-top:1px solid rgba(122,107,184,.28);padding:var(--sp-4) 0 0}
  .cards-gallery{grid-template-columns:repeat(2,1fr)}
  .chemin-hero{grid-template-columns:1fr;text-align:center;justify-items:center}
  .fo-grid,.annee,.lecture-relaunch{grid-template-columns:1fr}
  .compat-faces{grid-template-columns:1fr;gap:var(--sp-6)}
  .evol-row{flex-direction:column}
  .evol-link{width:2px;height:18px;background:linear-gradient(180deg,var(--c-violet),var(--c-or-fonce))}
}
@media (max-width:540px){.btn{width:100%}.cta-row{flex-direction:column;width:100%}.cards-gallery{grid-template-columns:1fr 1fr}.lr-fil{display:none}
  /* opt-in : prénom + nom empilés sur mobile */
  .optin-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important}.hand__lines path,.calc-fil .ctr{stroke-dashoffset:0!important}.calc-num{opacity:1!important}
  /* révélation sans flip/particules : simple fondu du dos vers la carte */
  .reveal__stage{transform:none!important;transition:none}
  .reveal__back,.reveal__front{backface-visibility:visible;-webkit-backface-visibility:visible}
  .reveal__front{transform:none;opacity:0;transition:opacity .4s ease}
  .reveal__burst,.reveal__sheen{display:none}
  .reveal[data-revealed="true"] .reveal__back{opacity:0;pointer-events:none}
  .reveal[data-revealed="true"] .reveal__front{opacity:1}}
