/* Papier ivoire, lueurs lentes. Couleurs et formes réécrites ici. */

:root{
  --bg:#f6f1ea;
  --surface:#fffdf9;
  --surface-2:#f3eee6;
  --border:rgba(92,70,42,.14);
  --text:#1c1916;
  --muted:#5c534a;
  --navy:#1c1916;
}

html{background:#06090f;color:var(--text);color-scheme:dark}
html.pz-light,html:has(body:not(.night)){background:#f4f8fc;color-scheme:light}
html.pz-night,html:has(body.night){background:#06090f;color-scheme:dark}
body{
  background:
    radial-gradient(46vw 46vw at 108% -12%, rgba(253,230,167,.62), transparent 68%),
    radial-gradient(40vw 40vw at -12% 38%, rgba(232,211,166,.42), transparent 70%),
    #f6f1ea;
  color:var(--text);
}
body::before,
body::after{
  content:"";
  position:fixed;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  background:radial-gradient(circle, rgba(253,230,167,.55), transparent 66%);
}
body::before{
  width:44vw;height:44vw;right:-12vw;top:-14vw;
  animation:pianzoPaper1 28s ease-in-out infinite alternate;
}
body::after{
  width:36vw;height:36vw;left:-14vw;top:42vh;
  background:radial-gradient(circle, rgba(232,211,166,.48), transparent 66%);
  animation:pianzoPaper2 34s ease-in-out infinite alternate;
}
main{position:relative;z-index:1}
main::before{
  content:"";
  position:fixed;
  z-index:0;
  pointer-events:none;
  width:32vw;height:32vw;right:6vw;bottom:-12vw;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,252,246,.95), transparent 66%);
  animation:pianzoPaper1 40s ease-in-out infinite alternate-reverse;
}
@keyframes pianzoPaper1{to{transform:translate3d(-5vw,4vh,0) scale(1.06)}}
@keyframes pianzoPaper2{to{transform:translate3d(6vw,-5vh,0) scale(1.08)}}
.hero::before,
#paths::before{
  content:none;
  animation:none;
}
main,main>section,footer{background:transparent}
@media(prefers-reduced-motion:reduce){
  body::before,body::after,main::before,.hero::before,#paths::before{animation:none!important}
}

/* Typographie : titres serif, texte ivoire */
h1.hero-kicker,
#hero h1.hero-kicker{
  font-family:'Space Grotesk',system-ui,sans-serif;
  font-weight:700;
  font-size:clamp(26px,2.8vw,40px);
  line-height:1.15;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#7a5a2e;
}
#hero .display{font-size:clamp(2.7rem,6.05vw,5.65rem)}
.display{color:#1c1916}
.display em{
  background-image:linear-gradient(100deg,#6b4d26 0%,#9a763f 28%,#8d6840 50%,#9a763f 72%,#6b4d26 100%);
  animation:none;
}
h2,
.section-head h2,
#scenes .section-head h2,
#paths .section-head h2,
#train .section-head h2,
#pz-live .section-head h2,
#options .section-head h2,
#pocket h2{
  font-family:"Instrument Serif","Instrument Serif Fallback",Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-.02em;
  color:#1c1916;
}
.section-head p,
#scenes .section-head p,
#paths .section-head p,
#train .section-head p,
#pz-live .section-head p,
#options .section-head p,
.hero-olaf,
.hero-proof,
.hero-raph,
.path-card p,
.scene-card>p,
.opt-card p,
.opt-card .opt-note,
.copy,
.bot-desc{
  color:#5c534a;
}
.hero-raph a{color:#9a5b24}
.label,.pz-label,.path-kicker,.scenes-example{
  color:#7a5a2e;
  letter-spacing:.16em;
}

/* Barre flottante */
header{
  position:static;
  top:auto;
  background:transparent;
  border:0;
  padding:12px 12px 0;
}
#jarvis{scroll-margin-top:0}
.nav{
  background:rgba(255,253,250,.82);
  border:1px solid rgba(255,255,255,.9);
  border-radius:999px;
  box-shadow:0 1px 2px rgba(60,44,24,.05),0 14px 36px -18px rgba(60,44,24,.28);
  padding:8px 16px;
}
.logo{color:#1c1916}
.lang-toggle{background:transparent;border-color:rgba(92,70,42,.16)}
.lang-toggle button{color:#5c534a}
.lang-toggle button.active{background:#1c1916;color:#fbf7f0}
.theme-toggle{
  background:#fffdf9;
  border-color:rgba(92,70,42,.18);
  color:#1c1916;
}

/* Boutons : l'orange fort reste sur Prendre rendez-vous */
.cta,.opt-cta,.opt-cta.standard,.opt-cta.premium,.opt-cta.enterprise,.pz-roi-cta{
  background:#1c1916;
  color:#fbf7f0;
  border-radius:999px;
  box-shadow:0 10px 26px -12px rgba(29,26,23,.5);
  border:0;
}
.cta-ghost{
  background:rgba(255,253,250,.8);
  color:#1c1916;
  border-radius:999px;
  border:1px solid rgba(92,70,42,.22);
}
.bottom-bar{
  background:linear-gradient(180deg,transparent,rgba(246,241,234,.94) 28%,#f6f1ea);
  padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));
}
body{
  padding-bottom:calc(112px + env(safe-area-inset-bottom, 0px));
}
.bottom-cluster{
  background:rgba(255,253,250,.72);
  border-color:rgba(92,70,42,.12);
  box-shadow:0 10px 28px rgba(60,44,24,.12);
}
.bottom-btn.cal{
  background:linear-gradient(135deg,#ff9a1f,#ff6b2b);
  color:#2a1204;
  border-color:transparent;
}
@media(max-width:480px){
  .bottom-btn.cal{
    min-height:44px;
    padding:10px 14px;
    font-size:14.5px;
    line-height:1;
    gap:6px;
  }
  .bottom-btn.cal svg{width:16px;height:16px}
}

/* Cartes, sections, filets */
.hero{padding:clamp(108px,14vh,160px) 0 72px}
main>section{padding-top:clamp(88px,11vw,148px)}
main>section+section{border-top:1px solid rgba(92,70,42,.12)}
.section-head{margin-bottom:clamp(36px,5vw,64px)}
.path-card,.opt-card,.scene-card,.testi-card,.metric-card,.bot-desc,.statc{
  background:linear-gradient(180deg,#fffefb,#fdf9f3);
  border:0;
  border-radius:22px;
  box-shadow:0 1px 2px rgba(60,44,24,.05),0 18px 44px -18px rgba(60,44,24,.22),inset 0 0 0 1px rgba(92,70,42,.12);
  color:#1c1916;
}
.scene-card h3,.path-card h3,.opt-card h4,.testi-name,.train-item{color:#1c1916}
body:not(.night) .testi-quote{color:#1c1916}
body:not(.night) #train .train-item .scene-ico{
  width:48px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(135deg,#ff9a1f,#ff6b2b);
  color:#2a1204;
  border-color:transparent;
}
body:not(.night) #train .train-item .scene-ico [data-lucide]{
  width:24px;
  height:24px;
}

/* Scènes Ordinateur : la hauteur reste celle du plus grand état. */
#scenes[data-device="desk"] .scene-class .story-slot{
  max-height:78px;
  margin-top:6px;
  padding:8px;
  border-width:1px;
  overflow:hidden;
  transform:none;
}
#scenes[data-device="desk"] .scene-class .scene-follow{
  max-height:72px;
  margin-top:8px;
  overflow:hidden;
  align-items:center;
}
/* Appel Ordinateur : l'égaliseur anime en transform, dans une boîte de hauteur fixe. */
#scenes[data-device="desk"] .scene-desk-call .scene-eq-sum{
  height:16px;
  min-height:16px;
  max-height:16px;
  margin:2px 0;
  overflow:hidden;
  flex-shrink:0;
}
#scenes[data-device="desk"] .scene-desk-call .scene-eq-sum i{
  max-height:100%;
}
#scenes[data-device="desk"] .scene-class-files .piece-row,
#scenes[data-device="desk"] .scene-class-files .order-row{
  margin-left:16px;
}
#scenes[data-device="desk"] .scene-badge{
  white-space:nowrap;
}
#scenes[data-device="desk"] .scene-badge-stack{
  position:relative;
  height:24px;
  overflow:visible;
}
#scenes[data-device="desk"] .scene-badge-stack>.scene-badge{
  position:absolute;
  top:0;
  right:0;
}
#scenes[data-device="desk"] .scene-desk-call .desk-step.desk-line{
  display:block;
  visibility:hidden;
}
#scenes[data-device="desk"] .scene-desk-call .desk-step.scene-deskpan{
  display:flex;
  visibility:hidden;
}
#scenes[data-device="desk"] .scene-desk-call[data-beat="1"] .desk-step.d1,
#scenes[data-device="desk"] .scene-desk-call[data-beat="2"] .desk-step.d1,
#scenes[data-device="desk"] .scene-desk-call[data-beat="2"] .desk-step.d2,
#scenes[data-device="desk"] .scene-desk-call[data-beat="3"] .desk-step.d1,
#scenes[data-device="desk"] .scene-desk-call[data-beat="3"] .desk-step.d2,
#scenes[data-device="desk"] .scene-desk-call[data-beat="3"] .desk-step.d3,
#scenes[data-device="desk"] .scene-desk-call[data-beat="4"] .desk-step.d1,
#scenes[data-device="desk"] .scene-desk-call[data-beat="4"] .desk-step.d2,
#scenes[data-device="desk"] .scene-desk-call[data-beat="4"] .desk-step.d3{
  visibility:visible;
}
#scenes[data-device="desk"] .scene-card-files{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:10px;
}
#scenes[data-device="desk"] .scene-card-files>.scene-ico{grid-area:1/1}
#scenes[data-device="desk"] .scene-card-files>.scene-case-kicker{grid-area:2/1}
#scenes[data-device="desk"] .scene-card-files>h3{grid-area:3/1;align-self:start}
#scenes[data-device="desk"] .scene-card-files>p.is-stock,
#scenes[data-device="desk"] .scene-card-files>p.is-devis{grid-area:4/1;align-self:start}
#scenes[data-device="desk"] .scene-card-files>.scene-deskwin{grid-area:5/1}
#scenes[data-device="desk"] .scene-card-files>.scene-handset{display:none}
#scenes[data-device="desk"] .scene-card-files[data-case="stock"]>h3.is-devis,
#scenes[data-device="desk"] .scene-card-files[data-case="devis"]>h3.is-stock,
#scenes[data-device="desk"] .scene-card-files[data-case="stock"]>p.is-devis,
#scenes[data-device="desk"] .scene-card-files[data-case="devis"]>p.is-stock{
  display:block;
  visibility:hidden;
}
#scenes[data-device="desk"] .scene-card-files[data-case="stock"]>.scene-deskwin.is-devis,
#scenes[data-device="desk"] .scene-card-files[data-case="devis"]>.scene-deskwin.is-stock{
  display:flex;
  visibility:hidden;
}
#scenes.is-paused .scene-eq i,
#scenes.is-paused .scene-wave i,
#scenes.is-paused .scene-live::after,
#scenes.is-paused .scene-typing i,
#scenes.is-paused .desk-body::after,
#scenes.is-paused .mail-draft,
#scenes.is-paused .scene-scan{
  animation-play-state:paused;
}
.opt-card ul.opt-list li,.cat li,.incl li,.foot-link,.trust-item{color:#3f382f}
.foot h5,.trust-item b{color:#7a5a2e}
.scene-card::before{background:linear-gradient(90deg,transparent,#c4a36a,transparent)}
.scene-handset,.scene-handset .scene-ui{color:#f8fafc}
footer{border-top:1px solid rgba(92,70,42,.12)}
.legal-links a,.foot-contacts a{
  background:#fffdf9;
  color:#1c1916;
  border-color:rgba(92,70,42,.16);
}
.label{
  background:rgba(164,128,76,.1);
  border-color:rgba(164,128,76,.28);
}

/* Apparition */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);
}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* Encre sur le papier, hors des maquettes sombres */
.scene-traits-list li,
.scene-traits-lead,
.tools-logos span,
.tools-cap,
.agent-note,
.split .checks li,
.mini-stat,
.hero-bullets li,
.launch-sub,
.launch-perks li,
.launch-perks-title,
.launch-price .pl,
.launch-price .pv span,
.launch-price .pv-old,
.price-box,
.price-box .pl,
.price-box .pd,
.opt-card .opt-price,
.opt-card .opt-setup,
.tab-link,
.time-row,
.time-task{
  color:#1c1916;
}
.scene-switch{
  background:rgba(255,253,250,.86);
  border-color:rgba(92,70,42,.22);
}
.scene-switch button{color:#5c534a;min-height:44px}
.scene-switch button[aria-pressed="true"]{color:#1a1406}
.hero-bullets li,.agent-note,.mini-stat{background:#fffdf9}

/* Corrections : barre, contraste, titre stable */
.hero-time,
.copy-bridge-meta,
.tools-strip-k,
.vision-eyebrow,
.scene-card>p.scene-case-kicker,
.scene-traits-ico [data-lucide]{color:#6b4d26}
.hero-trust li{
  background:#fffdf9;
  color:#3f382f;
  border-color:rgba(92,70,42,.18);
}
.path-card .path-go{
  color:#6b4d26;
  min-height:44px;
  align-items:center;
}
.path-card .path-go [data-lucide],
.path-card.local .path-go [data-lucide]{color:#6b4d26}
.path-card.local .path-kicker{color:#c2410c}
.agent-note em,
.copy-bridge-pair,
.compare-table td.crit,
.compare-table td.col-pianzo,
.pz-chip,
.pz-roi-pay,
.report-card .row b,
.hero-residency,
.hero-mission{color:#1c1916}
.compare-table thead th.col-pianzo,
.compare-table td.col-pianzo::before{color:#047857}
.opt-card.standard .opt-tag,
.opt-card.standard .opt-demo{color:#047857}
.opt-card.standard .opt-demo{background:rgba(46,191,140,.14)}
.opt-card.premium .opt-tag,
.opt-card.premium .opt-demo{color:#9a3412}
.opt-card.premium .opt-demo{background:rgba(249,115,22,.14)}
.opt-card-ent .opt-tag,
.opt-card-ent .opt-demo{color:#1d4ed8}
.opt-card-ent .opt-demo{background:rgba(59,130,246,.14)}
.metric-after,
.pz-roi-hero .v,
.testi-verified{color:#047857}
.launch-card,
.launch-card .launch-sub,
.launch-card .launch-price .pl,
.launch-card .launch-price .pv span,
.launch-card .launch-price .pv-old,
.launch-card .launch-perks-title,
.launch-card .launch-perks li{color:#e2e8f0}
.launch-card .launch-title{color:#fb923c}
.launch-card .launch-price .pv{color:#86efac}
.pz-label{color:#1d4ed8}

.lang-compact{display:none}
.lang-menu{display:flex;align-items:center;gap:2px}
@media(max-width:430px){
  header{padding:6px 4px 0}
  header .container{padding-left:0;padding-right:0}
  header .nav{
    height:auto;
    min-height:52px;
    padding:4px 8px;
    gap:6px;
    overflow:visible;
    align-items:center;
    flex-wrap:nowrap;
  }
  .logo{
    font-size:0.8125rem;
    gap:4px;
    min-height:44px;
    letter-spacing:-0.04em;
    min-width:0;
    flex:1 1 auto;
    white-space:nowrap;
  }
  .logo-mark{width:28px;height:28px;border-radius:7px;flex:0 0 28px}
  .right{gap:4px;flex:0 0 auto}
  .theme-toggle{width:44px;height:44px;flex:0 0 44px}
  .theme-toggle [data-lucide]{width:18px;height:18px}
  .lang-toggle{position:relative;padding:0;gap:0;flex:0 0 auto;background:transparent}
  .lang-toggle .lang-menu{display:flex;align-items:center;gap:0}
  .lang-toggle .lang-menu button{
    min-width:36px;
    width:auto;
    min-height:44px;
    height:44px;
    padding:0 6px;
    font-size:0.75rem;
    line-height:1;
  }
  .lang-compact{display:none}
}
@media(max-width:420px){
  .lang-toggle button.lang-compact{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0;
    min-width:52px;
    height:44px;
    min-height:44px;
    padding:0 10px;
    border-radius:999px;
    border:1px solid rgba(92,70,42,.22);
    background:#fffdf9;
    color:#1c1916;
    font:700 0.8125rem/1 'Space Grotesk', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    letter-spacing:0;
    cursor:pointer;
    white-space:nowrap;
  }
  .lang-caret{font-size:0.625rem;line-height:1}
  .lang-toggle .lang-menu{
    display:none;
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    z-index:5;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    min-width:88px;
    padding:4px;
    border-radius:14px;
    background:#fffdf9;
    border:1px solid rgba(92,70,42,.16);
    box-shadow:0 12px 28px rgba(60,44,24,.18);
  }
  .lang-toggle.is-open .lang-menu{display:flex}
  .lang-toggle .lang-menu button{
    min-width:88px;
    width:100%;
    min-height:44px;
    height:44px;
    padding:0 12px;
    font-size:0.875rem;
    text-align:center;
    border-radius:10px;
  }
  body.night .lang-toggle button.lang-compact{
    background:#111827;
    color:#fff;
    border-color:rgba(255,255,255,.16);
  }
  body.night .lang-toggle .lang-menu{
    background:#111827;
    border-color:rgba(255,255,255,.16);
    box-shadow:0 12px 28px rgba(0,0,0,.45);
  }
}

/* Carte Jarvis : ivoire en clair. Le sombre reste sur body.night. */
body:not(.night) .pz-live-card{
  background:#fffdf9;
  border:1px solid rgba(92,70,42,.16);
  box-shadow:0 1px 2px rgba(60,44,24,.05),0 18px 44px -18px rgba(60,44,24,.2);
}
body:not(.night) .pz-live-head{
  background:#fbf7f0;
  border-bottom:1px solid rgba(92,70,42,.12);
  color:#1c1916;
}
body:not(.night) .pz-live-name{color:#1c1916}
body.night .pz-live-name{color:#f6f1ea}
body:not(.night) .pz-live-st{color:#9a5b24}
body:not(.night) .pz-dot{background:#ff6b2b}
body:not(.night) .pz-live-av{
  background:linear-gradient(135deg,#ff9a1f,#ff6b2b);
  color:#2a1204;
  box-shadow:none;
}
body:not(.night) .pz-live-badge{
  background:linear-gradient(135deg,#ff9a1f,#ff6b2b);
  color:#2a1204;
}
body:not(.night) .pz-live-log,
body:not(.night) .pz-live-hint,
body:not(.night) .pz-live-chips,
body:not(.night) .pz-live-bar{background:#f6f1ea}
body:not(.night) .pz-live-hint{color:#5c534a}
body:not(.night) .pz-msg.bot{
  background:#fffdf9;
  color:#1c1916;
  border:1px solid rgba(92,70,42,.16);
}
body:not(.night) .pz-msg.user{
  background:linear-gradient(135deg,#ff9a1f,#ff6b2b);
  color:#2a1204;
}
body:not(.night) .pz-msg a{color:#9a5b24}
body:not(.night) .pz-chip{
  background:#fffdf9;
  color:#1c1916;
  border:1px solid rgba(92,70,42,.22);
}
body:not(.night) .pz-live-bar input{
  background:#fffdf9;
  color:#1c1916;
  border:1px solid rgba(154,91,36,.4);
}
body:not(.night) .pz-live-bar input::placeholder{color:#5c534a}
body:not(.night) .pz-live-bar input:focus{
  border-color:#ff6b2b;
  box-shadow:0 0 0 3px rgba(255,107,43,.2);
}
body:not(.night) .pz-live-bar button{
  background:linear-gradient(135deg,#ff9a1f,#ff6b2b);
  color:#2a1204;
  box-shadow:none;
}

/* Thème sombre : défaut au premier chargement. Le bouton repasse au papier. */
body.night{
  --bg:#050814;
  --surface:#111827;
  --surface-2:#1a2231;
  --card:rgba(8, 16, 32, 0.72);
  --line:rgba(125, 211, 252, 0.22);
  --kicker:#7dd3fc;
  --gold:#f5c14a;
  --warm:#f5c14a;
  --ink:#fff;
  --soft:#c5d0de;
  --chip:rgba(8,16,32,.55);
  --field:rgba(5,8,20,.72);
  --on-kicker:#041018;
  --border:rgba(255,255,255,0.08);
  --text:#fff;
  --muted:#c5d0de;
  --navy:#050814;
  background:
    radial-gradient(ellipse 90% 48% at 50% -8%, rgba(37,99,235,.22), transparent 58%),
    radial-gradient(ellipse 70% 42% at 78% 108%, rgba(46,191,140,.16), transparent 52%),
    #050814;
  color:#fff;
}
html.pz-night,html:has(body.night){background:#050814}
body.night::before,
body.night::after,
body.night main::before{
  background:radial-gradient(circle, rgba(37,99,235,.10), transparent 68%);
}
body.night .hero::before{
  background:radial-gradient(ellipse at 50% 38%,rgba(37,99,235,.14) 0%,rgba(46,191,140,.05) 42%,transparent 72%);
}
body.night #paths::before{
  background:radial-gradient(ellipse at center,rgba(37,99,235,.12) 0%,transparent 70%);
}
body.night .nav{
  background:rgba(5,8,20,.72);
  border-color:var(--line);
  box-shadow:none;
}
body.night .logo{color:#fff}
body.night .logo-tech{color:var(--gold)}
body.night .lang-toggle{border-color:rgba(255,255,255,.16)}
body.night .lang-toggle button{color:#c5d0de}
body.night .lang-toggle button.active{background:#fff;color:#0a0f1a}
body.night .theme-toggle{
  background:#111827;
  color:#fff;
  border-color:rgba(255,255,255,.16);
}
body.night .theme-toggle .moon{display:none}
body.night .theme-toggle .sun{display:block}
body.night h1.hero-kicker,
body.night #hero h1.hero-kicker{color:var(--kicker)}
body.night .display{color:#fff}
body.night .display em{
  font-size:1em;
  background-image:linear-gradient(100deg,#2563eb 0%,#2ebf8c 100%);
}
body.night h2,
body.night .section-head h2,
body.night #scenes .section-head h2,
body.night #paths .section-head h2,
body.night #train .section-head h2,
body.night #pz-live .section-head h2,
body.night #options .section-head h2,
body.night #pocket h2,
body.night .scene-card h3,
body.night .path-card h3,
body.night .opt-card h4,
body.night .testi-name,
body.night .train-item,
body.night .path-card .path-go,
body.night .path-card .path-go [data-lucide],
body.night .path-card.local .path-go [data-lucide],
body.night .agent-note em,
body.night .copy-bridge-pair,
body.night .compare-table td.crit,
body.night .compare-table td.col-pianzo,
body.night .pz-chip,
body.night .pz-roi-pay,
body.night .report-card .row b,
body.night .legal-links a,
body.night .foot-contacts a,
body.night .foot-link,
body.night .opt-card .opt-price,
body.night .opt-card .opt-setup,
body.night .scene-traits-list li,
body.night .scene-traits-lead,
body.night .tools-logos span,
body.night .hero-bullets li,
body.night .price-box,
body.night .price-box .pl,
body.night .price-box .pd,
body.night .tab-link,
body.night .time-row,
body.night .time-task,
body.night .cta-ghost{color:#f8fafc}
body.night .section-head p,
body.night #scenes .section-head p,
body.night #paths .section-head p,
body.night #train .section-head p,
body.night #pz-live .section-head p,
body.night #options .section-head p,
body.night .hero-olaf,
body.night .hero-proof,
body.night .hero-raph,
body.night .path-card p,
body.night .scene-card>p,
body.night .opt-card p,
body.night .opt-card .opt-note,
body.night .copy,
body.night .bot-desc,
body.night .opt-card ul.opt-list li,
body.night .cat li,
body.night .incl li,
body.night .trust-item,
body.night .tools-cap,
body.night .agent-note,
body.night .split .checks li,
body.night .mini-stat,
body.night .launch-sub,
body.night .hero-residency,
body.night .hero-mission,
body.night .scene-switch button{color:#c5d0de}
body.night .hero-raph a,
body.night .hero-time,
body.night .copy-bridge-meta,
body.night .tools-strip-k,
body.night .vision-eyebrow,
body.night .scene-card>p.scene-case-kicker,
body.night .scene-traits-ico [data-lucide]{color:#e8bc60}
body.night .hero-trust li{
  background:rgba(17,24,39,.72);
  color:#c5d0de;
  border-color:rgba(255,255,255,.1);
}
body.night .path-card.local .path-kicker{color:#ff8a4c}
body.night .label,
body.night .pz-label,
body.night .path-kicker,
body.night .scenes-example,
body.night .foot h5,
body.night .trust-item b{color:#e8bc60}
body.night .path-card,
body.night .opt-card,
body.night .scene-card,
body.night .testi-card,
body.night .metric-card,
body.night .bot-desc,
body.night .statc,
body.night .hero-bullets li,
body.night .agent-note,
body.night .mini-stat{
  background:#111827;
  color:#f8fafc;
  box-shadow:0 18px 44px -18px rgba(0,0,0,.55);
}
body.night .legal-links a,
body.night .foot-contacts a{background:#111827;border-color:rgba(255,255,255,.16)}
body.night .scene-switch{
  background:rgba(255,255,255,.04);
  border-color:rgba(232,188,96,.32);
}
body.night .scene-switch button[aria-pressed="true"]{color:#1a1406}
body.night .opt-card.standard .opt-tag,
body.night .opt-card.standard .opt-demo{color:#9ff0d0;background:rgba(46,191,140,.18)}
body.night .opt-card.premium .opt-tag,
body.night .opt-card.premium .opt-demo{color:#fdba74;background:rgba(249,115,22,.18)}
body.night .opt-card-ent .opt-tag,
body.night .opt-card-ent .opt-demo{color:#93c5fd;background:rgba(59,130,246,.18)}
body.night .metric-after,
body.night .pz-roi-hero .v,
body.night .testi-verified,
body.night .compare-table thead th.col-pianzo,
body.night .compare-table td.col-pianzo::before{color:#7fe3c0}
body.night .bottom-bar{
  background:linear-gradient(180deg,transparent,rgba(5,8,20,.94) 28%,#050814);
}
body.night .bottom-cluster{
  background:rgba(17,24,39,.78);
  border-color:rgba(255,255,255,.12);
}
body.night .cta-ghost{
  background:rgba(17,24,39,.8);
  border-color:rgba(255,255,255,.2);
}
body.night .hero-cta-row .cta{
  background:#f6f1ea;
  color:#1c1916;
  border:1px solid #e4d3b8;
  box-shadow:none;
}
body.night .opt-cta,
body.night .pz-roi-cta{
  border:1px solid rgba(248,250,252,.55);
}
body.night footer{border-top-color:rgba(255,255,255,.1)}
body.night main>section+section{border-top-color:rgba(255,255,255,.08)}

/* Hero : démo vocale visible, réassurance plus grande, traits en colonne */
.hero-voice-row .cta-ghost{
  background:#fffdf9;
  color:#1c1916;
  border:2px solid #1c1916;
  box-shadow:none;
}
.hero .hero-cta-row{margin-bottom:10px}
.hero-proof{
  display:block;
  width:auto;
  margin:0 auto 16px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-family:'Space Grotesk',system-ui,sans-serif;
  font-size:clamp(16px,1.7vw,18px);
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1.4;
  color:#1c1916;
}
.hero .copy-bridge{
  margin:18px auto 0;
  max-width:720px;
  padding:16px 8px 0;
}
.hero .copy-bridge-pair{
  font-size:clamp(20px,2.5vw,26px);
  line-height:1.3;
}
.hero .copy-bridge-meta{
  margin-top:8px;
  font-size:clamp(16px,1.9vw,20px);
  font-weight:700;
}
.hero .scene-traits{margin:22px auto 0;max-width:440px}
.scene-traits-lead{font-size:15px;letter-spacing:.14em;margin-bottom:12px}
.scene-traits-list{
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:8px;
}
.scene-traits-list li{
  width:100%;
  justify-content:flex-start;
  border-radius:16px;
  font-size:16px;
  padding:10px 14px;
  text-align:left;
}
body.night .hero-voice-row .cta-ghost{
  background:rgba(248,250,252,.1);
  color:#f8fafc;
  border:2px solid rgba(248,250,252,.78);
  box-shadow:none;
}
body.night .hero-proof{
  color:#f8fafc;
  background:transparent;
  border:0;
  font-size:clamp(16px,1.7vw,18px);
}

.eupen{padding-bottom:calc(112px + env(safe-area-inset-bottom, 0px))}
.eupen-grid{
  display:grid;
  grid-template-columns:minmax(220px,380px) minmax(0,1fr);
  gap:clamp(22px,4vw,48px);
  align-items:center;
}
.eupen picture,.eupen img{display:block;width:100%;height:auto;border-radius:22px}
.eupen h2{
  font-family:"Instrument Serif","Instrument Serif Fallback",Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(28px,3vw,34px);
  letter-spacing:-.02em;
  line-height:1.15;
  color:#1c1916;
  margin:0 0 4px;
}
.eupen-place{
  margin:0 0 14px;
  font-family:'Space Grotesk',system-ui,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.35;
  color:#7a5a2e;
}
.eupen-copy{
  font-family:"Instrument Serif","Instrument Serif Fallback",Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(18px,1.55vw,22px);
  line-height:1.5;
  color:#1c1916;
  margin:0;
}
.eupen-copy a{color:#9a5b24;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.eupen-sign{display:block;width:168px;height:56px;margin:16px 0 18px}
.eupen-book{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff9a1f,#ff6b2b);
  color:#2a1204;
  font-family:'Space Grotesk',system-ui,sans-serif;
  font-weight:800;
  font-size:16px;
  text-decoration:none;
}
@media(max-width:800px){
  .eupen-grid{grid-template-columns:1fr}
  .eupen picture{max-width:420px;margin:0 auto}
}
body.night .eupen h2,
body.night .eupen-copy{color:#f8fafc}
body.night .eupen-place{color:#e8bc60}
body.night .eupen-copy a{color:#e8bc60}

/* Brouillon couverture : kickers, titres, cartes traits. Le reste du thème nuit reste en place. */
:is(body.night, body:not(.night)) h1.hero-kicker,
:is(body.night, body:not(.night)) #hero h1.hero-kicker,
:is(body.night, body:not(.night)) .label,
:is(body.night, body:not(.night)) .pz-label,
:is(body.night, body:not(.night)) .path-kicker,
:is(body.night, body:not(.night)) .path-card.local .path-kicker,
:is(body.night, body:not(.night)) .scene-traits-lead,
:is(body.night, body:not(.night)) .scenes-example,
:is(body.night, body:not(.night)) .tools-strip-k{
  font-family:'Space Grotesk',system-ui,sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--kicker);
}
:is(body.night, body:not(.night)) h1.hero-kicker .accent,
:is(body.night, body:not(.night)) #hero h1.hero-kicker .accent{
  background:none;
  -webkit-background-clip:border-box;
  background-clip:border-box;
  -webkit-text-fill-color:currentColor;
  color:inherit;
}
:is(body.night, body:not(.night)) .label,
:is(body.night, body:not(.night)) .pz-label{
  display:inline-block;
  margin-bottom:14px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
:is(body.night, body:not(.night)) .section-head h2,
:is(body.night, body:not(.night)) #scenes .section-head h2,
:is(body.night, body:not(.night)) #paths .section-head h2,
:is(body.night, body:not(.night)) #train .section-head h2,
:is(body.night, body:not(.night)) #pz-live .section-head h2,
:is(body.night, body:not(.night)) #options .section-head h2,
:is(body.night, body:not(.night)) #pocket h2,
:is(body.night, body:not(.night)) #hero .display{
  color:var(--ink);
}
:is(body.night, body:not(.night)) #hero .display em,
:is(body.night, body:not(.night)) .section-head h2 .accent,
:is(body.night, body:not(.night)) h2 .accent{
  font-size:1em;
  background-image:linear-gradient(100deg,#2563eb 0%,#2ebf8c 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
:is(body.night, body:not(.night)) .hero .scene-traits{
  margin:28px auto 0;
  max-width:920px;
}
:is(body.night, body:not(.night)) .scene-traits-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
}
:is(body.night, body:not(.night)) .scene-traits-list li{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:18px;
  width:auto;
  margin:0;
  padding:28px 26px 32px;
  text-align:left;
  background:var(--card);
  background-image:none;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:none;
  color:var(--ink);
  font-size:clamp(18px,2vw,22px);
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.02em;
}
:is(body.night, body:not(.night)) .scene-traits-ico{
  width:56px;
  height:56px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  background:rgba(125,211,252,.06);
  border:1px solid var(--line);
  box-shadow:none;
}
:is(body.night, body:not(.night)) .scene-traits-ico svg,
:is(body.night, body:not(.night)) .scene-traits-ico [data-lucide]{
  width:26px;
  height:26px;
  color:var(--kicker);
  stroke:var(--kicker);
  stroke-width:1.75;
}
.scene-traits-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left}
.scene-traits-copy strong{font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.scene-traits-copy span{display:block;font-size:16px;font-weight:500;letter-spacing:0;line-height:1.35;color:var(--soft)}
@media(max-width:640px){
  :is(body.night, body:not(.night)) .scene-traits-list{grid-template-columns:1fr;gap:12px}
  :is(body.night, body:not(.night)) .scene-traits-list li{padding:22px 20px 24px}
}

/* Couverture sur toute la page nuit : header, cartes, boutons, pied. */
:is(body.night, body:not(.night)) header{
  background:transparent;
  border:0;
  padding:22px 12px 0;
}
:is(body.night, body:not(.night)) .nav{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:8px 0 6px;
}
@media(min-width:901px){
  :is(body.night, body:not(.night)) .nav{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
  }
  :is(body.night, body:not(.night)) .logo{grid-column:2;justify-self:center}
  :is(body.night, body:not(.night)) .right{grid-column:3;justify-self:end}
}
:is(body.night, body:not(.night)) .lang-toggle,
:is(body.night, body:not(.night)) .theme-toggle{
  background:var(--chip);
  border:1px solid var(--line);
  color:var(--kicker);
}
:is(body.night, body:not(.night)) .lang-toggle button{color:var(--ink)}
:is(body.night, body:not(.night)) .lang-toggle button.active{
  background:var(--kicker);
  color:var(--on-kicker);
}
:is(body.night, body:not(.night)) .theme-toggle .sun,
:is(body.night, body:not(.night)) .theme-toggle [data-lucide]{color:var(--kicker)}
:is(body.night, body:not(.night)) main>section+section,
:is(body.night, body:not(.night)) footer{border-top-color:var(--line)}
:is(body.night, body:not(.night)) .scene-card{
  --gold:#7dd3fc;
}
:is(body.night, body:not(.night)) .scene-card,
:is(body.night, body:not(.night)) .path-card,
:is(body.night, body:not(.night)) .path-card.cloud,
:is(body.night, body:not(.night)) .path-card.local,
:is(body.night, body:not(.night)) .opt-card,
:is(body.night, body:not(.night)) .testi-card,
:is(body.night, body:not(.night)) .pz-live-card,
:is(body.night, body:not(.night)) .pocket-box,
:is(body.night, body:not(.night)) .train-item,
:is(body.night, body:not(.night)) .trust-item,
:is(body.night, body:not(.night)) .hero-bullets li,
:is(body.night, body:not(.night)) .statc,
:is(body.night, body:not(.night)) .bot-desc,
:is(body.night, body:not(.night)) .metric-card,
:is(body.night, body:not(.night)) .mini-stat,
:is(body.night, body:not(.night)) .agent-note{
  background:var(--card);
  background-image:none;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:none;
  color:var(--ink);
}
:is(body.night, body:not(.night)) .scene-card h3,
:is(body.night, body:not(.night)) .path-card h3,
:is(body.night, body:not(.night)) .opt-card h4,
:is(body.night, body:not(.night)) .testi-name,
:is(body.night, body:not(.night)) .opt-price,
:is(body.night, body:not(.night)) #pocket h2,
:is(body.night, body:not(.night)) .eupen h2{color:var(--ink)}
:is(body.night, body:not(.night)) .scene-card>p,
:is(body.night, body:not(.night)) .path-card p,
:is(body.night, body:not(.night)) .opt-card p,
:is(body.night, body:not(.night)) .opt-card .opt-note,
:is(body.night, body:not(.night)) .testi-quote,
:is(body.night, body:not(.night)) .trust-item,
:is(body.night, body:not(.night)) #pocket p,
:is(body.night, body:not(.night)) .eupen-copy{color:var(--soft)}
:is(body.night, body:not(.night)) .scene-card .scene-ico,
:is(body.night, body:not(.night)) .train-item .scene-ico{
  width:56px;
  height:56px;
  border-radius:16px;
  background:rgba(125,211,252,.06);
  border:1px solid var(--line);
  color:var(--kicker);
  box-shadow:none;
}
:is(body.night, body:not(.night)) .scene-card .scene-ico svg,
:is(body.night, body:not(.night)) .scene-card .scene-ico [data-lucide],
:is(body.night, body:not(.night)) .train-item .scene-ico svg,
:is(body.night, body:not(.night)) .train-item .scene-ico [data-lucide]{
  width:26px;
  height:26px;
  color:var(--kicker);
  stroke:var(--kicker);
}
:is(body.night, body:not(.night)) .scene-card::before{
  background:linear-gradient(90deg,transparent,var(--kicker),transparent);
}
:is(body.night, body:not(.night)) .train-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  max-width:920px;
}
:is(body.night, body:not(.night)) .train-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  padding:28px 24px 32px;
  font-size:clamp(18px,2vw,22px);
  letter-spacing:-.02em;
}
:is(body.night, body:not(.night)) .path-kicker,
:is(body.night, body:not(.night)) .path-card.local .path-kicker,
:is(body.night, body:not(.night)) .scene-card>p.scene-case-kicker,
:is(body.night, body:not(.night)) .eupen-place,
:is(body.night, body:not(.night)) .trust-item b,
:is(body.night, body:not(.night)) .hero-time,
:is(body.night, body:not(.night)) .copy-bridge-meta,
:is(body.night, body:not(.night)) .opt-card .opt-tag,
:is(body.night, body:not(.night)) .opt-card .opt-demo,
:is(body.night, body:not(.night)) .opt-card.standard .opt-tag,
:is(body.night, body:not(.night)) .opt-card.premium .opt-tag,
:is(body.night, body:not(.night)) .opt-card-ent .opt-tag,
:is(body.night, body:not(.night)) .opt-card.standard .opt-demo,
:is(body.night, body:not(.night)) .opt-card.premium .opt-demo,
:is(body.night, body:not(.night)) .opt-card-ent .opt-demo{color:var(--kicker)}
:is(body.night, body:not(.night)) .opt-card .opt-tag,
:is(body.night, body:not(.night)) .opt-card .opt-demo{
  background:rgba(125,211,252,.08);
}
:is(body.night, body:not(.night)) .copy-bridge{border-top-color:var(--line)}
:is(body.night, body:not(.night)) .scene-switch{
  background:var(--chip);
  border-color:var(--line);
}
:is(body.night, body:not(.night)) .scene-switch button[aria-pressed="true"]{
  color:var(--on-kicker);
  background:var(--kicker);
}
:is(body.night, body:not(.night)) .pocket-box{padding:28px 26px}
:is(body.night, body:not(.night)) .trust-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  padding:0;
  background:transparent;
  border:0;
}
:is(body.night, body:not(.night)) .trust-item{padding:22px 18px}
:is(body.night, body:not(.night)) .foot-contacts a,
:is(body.night, body:not(.night)) .legal-links a{
  background:var(--card);
  border:1px solid var(--line);
  color:var(--ink);
}
:is(body.night, body:not(.night)) .opt-cta,
:is(body.night, body:not(.night)) .opt-cta.standard,
:is(body.night, body:not(.night)) .opt-cta.premium,
:is(body.night, body:not(.night)) .opt-cta.enterprise,
:is(body.night, body:not(.night)) .bottom-btn.cal,
:is(body.night, body:not(.night)) .eupen-book,
:is(body.night, body:not(.night)) .pz-call-btn,
:is(body.night, body:not(.night)) .pz-roi-cta,
:is(body.night, body:not(.night)) .hero-cta-row .cta{
  background:var(--gold);
  color:#1a1406;
  border:0;
  box-shadow:none;
}
:is(body.night, body:not(.night)) .cta-ghost{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--line);
}
:is(body.night, body:not(.night)) .bottom-cluster{
  background:transparent;
  border:0;
  box-shadow:none;
}
:is(body.night, body:not(.night)) .pz-live-card{overflow:hidden}
:is(body.night, body:not(.night)) .pz-live-head,
:is(body.night, body:not(.night)) .pz-live-log,
:is(body.night, body:not(.night)) .pz-live-hint,
:is(body.night, body:not(.night)) .pz-live-chips,
:is(body.night, body:not(.night)) .pz-live-bar{background:transparent}
:is(body.night, body:not(.night)) .pz-live-head{border-bottom-color:var(--line)}
:is(body.night, body:not(.night)) .pz-live-bar input{
  background:var(--field);
  border-color:var(--line);
  color:var(--ink);
}
:is(body.night, body:not(.night)) .pz-chip{
  background:var(--card);
  border:1px solid var(--line);
  color:var(--ink);
}
@media(max-width:800px){
  :is(body.night, body:not(.night)) .train-row,
  :is(body.night, body:not(.night)) .trust-strip{grid-template-columns:1fr}
}

/* Mode clair : même mise en page et mêmes textes, fond clair. */
body:not(.night){
  --bg:#f4f8fc;
  --surface:#ffffff;
  --surface-2:#eef4fa;
  --card:rgba(255,255,255,.92);
  --line:rgba(2,132,199,.28);
  --kicker:#0369a1;
  --gold:#e0a82a;
  --warm:#b45309;
  --ink:#0b1220;
  --soft:#3d4d63;
  --chip:#ffffff;
  --field:#ffffff;
  --on-kicker:#ffffff;
  --text:#0b1220;
  --muted:#3d4d63;
  --border:rgba(2,132,199,.18);
  background:
    radial-gradient(ellipse 90% 48% at 50% -8%, rgba(37,99,235,.12), transparent 58%),
    radial-gradient(ellipse 70% 42% at 78% 108%, rgba(46,191,140,.10), transparent 52%),
    #f4f8fc;
  color:var(--ink);
}
body:not(.night)::before,
body:not(.night)::after,
body:not(.night) main::before{
  background:radial-gradient(circle, rgba(37,99,235,.12), transparent 68%);
}
body:not(.night) .logo,
body:not(.night) .copy-bridge-pair{color:var(--ink)}
body:not(.night) .logo-tech{color:var(--gold)}
body:not(.night) .hero-olaf,
body:not(.night) .section-head p,
body:not(.night) .copy{color:var(--soft)}
body:not(.night) .bottom-bar{
  background:linear-gradient(180deg,transparent,rgba(244,248,252,.94) 28%,#f4f8fc);
}
@media(max-width:420px){
  body:not(.night) .lang-toggle button.lang-compact,
  body:not(.night) .lang-toggle .lang-menu{
    background:var(--card);
    color:var(--ink);
    border-color:var(--line);
    box-shadow:none;
  }
}

/* Un peu d'air entre les lignes empilées du hero. */
#hero .display{margin-bottom:0}
:is(body.night, body:not(.night)) #hero h1.hero-kicker{
  font-size:clamp(17px,1.5vw,20px);
}
#hero .hero-time{margin:20px auto 0}
#hero .hero-olaf{margin:20px auto 0}
#hero .copy-bridge{
  margin:20px auto 0;
  padding:0;
  border-top:0;
}
#hero .copy-bridge-meta{margin-top:16px}
#hero .scene-traits{margin-top:20px}
#hero .scene-traits-lead{margin:0 0 16px}

/* Survol doux des encadrés. */
:is(body.night, body:not(.night)) .scene-traits-list li,
:is(body.night, body:not(.night)) .scene-card,
:is(body.night, body:not(.night)) .path-card,
:is(body.night, body:not(.night)) .opt-card,
:is(body.night, body:not(.night)) .train-item,
:is(body.night, body:not(.night)) .trust-item,
:is(body.night, body:not(.night)) .testi-card,
:is(body.night, body:not(.night)) .pz-live-card,
:is(body.night, body:not(.night)) .pocket-box{
  transition:transform .55s cubic-bezier(.22,1,.36,1),border-color .55s ease,box-shadow .55s ease;
}
:is(body.night, body:not(.night)) .scene-traits-ico,
:is(body.night, body:not(.night)) .scene-card .scene-ico,
:is(body.night, body:not(.night)) .train-item .scene-ico{
  transition:transform .55s cubic-bezier(.22,1,.36,1),background-color .55s ease,border-color .55s ease;
}
:is(body.night, body:not(.night)) .scene-traits-list li:hover,
:is(body.night, body:not(.night)) .scene-card:hover,
:is(body.night, body:not(.night)) .path-card:hover,
:is(body.night, body:not(.night)) .opt-card:hover,
:is(body.night, body:not(.night)) .train-item:hover,
:is(body.night, body:not(.night)) .trust-item:hover,
:is(body.night, body:not(.night)) .testi-card:hover,
:is(body.night, body:not(.night)) .pz-live-card:hover,
:is(body.night, body:not(.night)) .pocket-box:hover{
  transform:translateY(-6px);
  border-color:rgba(125,211,252,.85);
  box-shadow:0 0 0 1px rgba(125,211,252,.35),0 18px 40px rgba(37,99,235,.18);
}
:is(body.night, body:not(.night)) .scene-traits-list li:hover .scene-traits-ico,
:is(body.night, body:not(.night)) .scene-card:hover .scene-ico,
:is(body.night, body:not(.night)) .train-item:hover .scene-ico{
  transform:translateY(-3px);
  background:rgba(245,193,74,.24);
  border-color:rgba(245,193,74,.7);
}

/* Orange seulement là où il fait ressortir : le titre du hero, les icônes, le bouton de thème. Le reste des labels reste bleu. */
:is(body.night, body:not(.night)) h1.hero-kicker,
:is(body.night, body:not(.night)) #hero h1.hero-kicker{color:var(--warm)}
:is(body.night, body:not(.night)) .scene-traits-ico,
:is(body.night, body:not(.night)) .scene-card .scene-ico,
:is(body.night, body:not(.night)) .train-item .scene-ico{
  color:var(--warm);
  background:rgba(245,193,74,.12);
  border-color:rgba(245,193,74,.42);
}
:is(body.night, body:not(.night)) .scene-traits-ico svg,
:is(body.night, body:not(.night)) .scene-traits-ico [data-lucide],
:is(body.night, body:not(.night)) .scene-card .scene-ico svg,
:is(body.night, body:not(.night)) .scene-card .scene-ico [data-lucide],
:is(body.night, body:not(.night)) .train-item .scene-ico svg,
:is(body.night, body:not(.night)) .train-item .scene-ico [data-lucide]{
  color:var(--warm);
  stroke:var(--warm);
}
:is(body.night, body:not(.night)) .theme-toggle .sun,
:is(body.night, body:not(.night)) .theme-toggle [data-lucide]{color:var(--warm)}

/* Prendre rendez-vous : fond sombre transparent, texte et contour orange. */
:is(body.night, body:not(.night)) .bottom-btn.cal{
  background:rgba(5,8,20,.55);
  color:#f5c14a;
  border:1px solid rgba(245,193,74,.9);
  box-shadow:0 0 0 1px rgba(245,193,74,.28),0 0 18px rgba(245,193,74,.35);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  animation:pz-cal-glow 2.6s ease-in-out infinite;
}
:is(body.night, body:not(.night)) .bottom-btn.cal svg{color:#f5c14a;stroke:#f5c14a}
:is(body.night, body:not(.night)) .bottom-btn.cal:hover{
  background:rgba(5,8,20,.72);
  color:#ffd56a;
  border-color:#ffd56a;
  box-shadow:0 0 0 1px rgba(255,213,106,.45),0 0 28px rgba(245,193,74,.6);
}
@keyframes pz-cal-glow{
  0%,100%{box-shadow:0 0 0 1px rgba(245,193,74,.28),0 0 14px rgba(245,193,74,.28)}
  50%{box-shadow:0 0 0 1px rgba(245,193,74,.75),0 0 26px rgba(245,193,74,.55)}
}

/* Sélecteur de langue moins arrondi. */
:is(body.night, body:not(.night)) .lang-toggle,
:is(body.night, body:not(.night)) .lang-toggle button,
:is(body.night, body:not(.night)) .lang-toggle button.lang-compact,
:is(body.night, body:not(.night)) .lang-toggle .lang-menu{
  border-radius:8px;
}
:is(body.night, body:not(.night)) .lang-toggle button.active{border-radius:6px}
@media(prefers-reduced-motion:reduce){
  :is(body.night, body:not(.night)) .scene-traits-list li,
  :is(body.night, body:not(.night)) .scene-card,
  :is(body.night, body:not(.night)) .path-card,
  :is(body.night, body:not(.night)) .opt-card,
  :is(body.night, body:not(.night)) .train-item,
  :is(body.night, body:not(.night)) .trust-item,
  :is(body.night, body:not(.night)) .testi-card,
  :is(body.night, body:not(.night)) .pz-live-card,
  :is(body.night, body:not(.night)) .pocket-box,
  :is(body.night, body:not(.night)) .scene-traits-ico,
  :is(body.night, body:not(.night)) .scene-card .scene-ico,
  :is(body.night, body:not(.night)) .train-item .scene-ico,
  :is(body.night, body:not(.night)) .bottom-btn.cal{
    transition:none;
    animation:none;
  }
  :is(body.night, body:not(.night)) .scene-traits-list li:hover,
  :is(body.night, body:not(.night)) .scene-card:hover,
  :is(body.night, body:not(.night)) .path-card:hover,
  :is(body.night, body:not(.night)) .opt-card:hover,
  :is(body.night, body:not(.night)) .train-item:hover,
  :is(body.night, body:not(.night)) .trust-item:hover,
  :is(body.night, body:not(.night)) .testi-card:hover,
  :is(body.night, body:not(.night)) .pz-live-card:hover,
  :is(body.night, body:not(.night)) .pocket-box:hover,
  :is(body.night, body:not(.night)) .scene-traits-list li:hover .scene-traits-ico,
  :is(body.night, body:not(.night)) .scene-card:hover .scene-ico,
  :is(body.night, body:not(.night)) .train-item:hover .scene-ico{
    transform:none;
  }
}
