/* Publiextra — site public */
:root{
  --fond:#FFF8FB; --fond-2:#F6EFFA; --carte:#FFFFFF; --encre:#241B33; --encre-2:#5E5470; --ligne:#E4D9EE;
  --rose:#E8508A; --rose-fort:#C2306B; --sur-rose:#FFFFFF; --rose-doux:#FCE1EC;
  --lilas:#B9A3E3; --lilas-doux:#EAE1F8; --bleu:#3E6FE0; --bleu-fort:#2A55C2; --bleu-doux:#DCE6FD;
  --vert:#1F7A4D; --vert-doux:#DDF3E6;
  --r-petit:10px; --r-moyen:18px; --r-grand:28px; --r-rond:999px;
  --titres:"Outfit",system-ui,sans-serif; --texte:"DM Sans",system-ui,sans-serif;
  --ombre:0 1px 2px rgba(36,27,51,.06),0 12px 32px -12px rgba(36,27,51,.18);
}
@media (prefers-color-scheme: dark){
  :root{
    --fond:#17121F; --fond-2:#201929; --carte:#271F31; --encre:#F6EEF7; --encre-2:#B7ABC6; --ligne:#3A3049;
    --rose:#F07AA8; --rose-fort:#F07AA8; --sur-rose:#17121F; --rose-doux:#45233A;
    --lilas:#9C86CF; --lilas-doux:#3A2F52; --bleu:#7FA2F7; --bleu-fort:#8FB0FA; --bleu-doux:#22304F;
    --vert:#7FD8A6; --vert-doux:#1C3A2B;
    --ombre:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6);
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fond);color:var(--encre);font:400 17px/1.6 var(--texte);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--bleu-fort);text-underline-offset:3px}
a:hover{color:var(--rose-fort)}
:focus-visible{outline:3px solid var(--lilas);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--titres);color:var(--encre);margin:0}
p{margin:0 0 1em}
.cadre{max-width:1160px;margin:0 auto;padding:0 24px}
.sauter{position:absolute;left:-9999px;top:8px;background:var(--encre);color:var(--fond);padding:8px 14px;border-radius:var(--r-petit);z-index:10}
.sauter:focus{left:8px}
.cache{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--r-rond);background:var(--rose-fort);color:var(--sur-rose);border:0;font:600 16px/1 var(--texte);text-decoration:none;cursor:pointer;transition:filter .15s}
.btn:hover{filter:brightness(1.08);color:var(--sur-rose)}
.btn-sec{background:transparent;color:var(--encre);border:1.5px solid var(--ligne)}
.btn-sec:hover{border-color:var(--encre);color:var(--encre);filter:none}
.btn-petit{min-height:40px;padding:0 18px;font-size:15px}
.btn-grand{min-height:56px;padding:0 30px;font-size:17px}

/* En-tête */
.site-entete{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--fond) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent}
.site-entete-int{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--encre)}
.logo span{font:600 25px/1 var(--titres);letter-spacing:-.02em}
.logo b{font-weight:600;color:var(--rose-fort)}
.logo:hover{color:var(--encre)}
.site-nav{display:flex;align-items:center;gap:6px}
.site-nav a:not(.btn){color:var(--encre);text-decoration:none;font-weight:500;padding:8px 12px;border-radius:var(--r-rond)}
.site-nav a:not(.btn):hover{background:var(--lilas-doux);color:var(--encre)}
.site-nav a[aria-current="page"]{background:var(--lilas-doux)}
.site-nav .btn{margin-left:8px}
.menu-bouton{display:none;min-height:40px;padding:0 16px;border:1.5px solid var(--ligne);border-radius:var(--r-rond);background:transparent;color:var(--encre);font:600 15px var(--texte);cursor:pointer}
@media (max-width:900px){
  .menu-bouton{display:inline-flex;align-items:center}
  .site-nav{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;gap:2px;padding:12px 24px 20px;background:var(--fond);border-bottom:1px solid var(--ligne)}
  .site-nav.ouvert{display:flex}
  .site-nav a:not(.btn){padding:12px}
  .site-nav .btn{margin:8px 0 0}
}

/* Héros */
.heros{padding:56px 0 88px;overflow:hidden}
.heros-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.heros h1{font-size:clamp(40px,5.2vw,66px);line-height:1.02;letter-spacing:-.035em;font-weight:700;margin-bottom:24px}
.heros .chapeau{font-size:20px;line-height:1.55;color:var(--encre-2);max-width:31em;margin-bottom:32px}
.heros-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.heros-preuve{margin-top:28px;font-size:15px;color:var(--encre-2);display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;list-style:none}
.heros-preuve li{display:flex;align-items:center;gap:8px}
.heros-preuve li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rose)}
@media (max-width:960px){.heros-grille{grid-template-columns:1fr;gap:48px}.heros{padding-top:32px}}

/* Maquette du calendrier (le moment fort) */
.maquette{position:relative;padding:0 0 64px 0}
.cal{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r-grand);box-shadow:var(--ombre);padding:22px 22px 18px}
.cal-tete{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.cal-tete strong{font:600 20px/1 var(--titres)}
.cal-tete span{font-size:13px;color:var(--encre-2)}
.cal-jours,.cal-cases{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cal-jours span{font-size:11px;color:var(--encre-2);text-align:center;padding-bottom:4px}
.cal-case{min-height:62px;border-radius:9px;background:var(--fond-2);padding:5px;display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--encre-2)}
.cal-case.vide{background:transparent}
.cal-case .num{font-weight:600}
.cal-case.fete{box-shadow:inset 0 0 0 1.5px var(--lilas)}
.puce{display:block;border-radius:5px;padding:2px 5px;font-size:10px;line-height:1.3;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#241B33}
.puce-fb{background:#DCE6FD}
.puce-ig{background:#FCE1EC}
.puce-g{background:#DDF3E6}
@media (prefers-color-scheme: dark){.puce-fb{background:#9FBAF8}.puce-ig{background:#F5A9C7}.puce-g{background:#9EDDBA}}
.cal-legende{display:flex;gap:14px;margin-top:12px;font-size:12px;color:var(--encre-2);flex-wrap:wrap}
.cal-legende i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pub-flottante{position:absolute;right:-12px;bottom:0;width:min(300px,62%);background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r-moyen);box-shadow:var(--ombre);overflow:hidden;font-size:13px;line-height:1.45}
.pf-tete{display:flex;align-items:center;gap:9px;padding:11px 12px}
.pf-avatar{width:30px;height:30px;border-radius:50%;background:#2E6B5E;color:#fff;display:flex;align-items:center;justify-content:center;font:600 13px var(--titres)}
.pf-tete strong{display:block;font-size:13px}
.pf-tete small{color:var(--encre-2);font-size:11px}
.pf-langues{margin-left:auto;display:flex;gap:2px;background:var(--fond-2);border-radius:var(--r-rond);padding:2px}
.pf-langues button{border:0;background:transparent;color:var(--encre-2);font:600 11px var(--texte);padding:4px 8px;border-radius:var(--r-rond);cursor:pointer}
.pf-langues button[aria-pressed="true"]{background:var(--carte);color:var(--encre);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.pf-texte{padding:0 12px 10px;color:var(--encre);min-height:76px}
.pf-texte .tags{color:var(--bleu-fort)}
.pf-visuel{aspect-ratio:1.91/1;background:#2E6B5E;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 16px;position:relative;overflow:hidden}
.pf-visuel::before{content:"";position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;background:#F2C14E}
.pf-visuel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:#F2C14E}
.pf-visuel strong{position:relative;font:700 21px/1.1 var(--titres);max-width:80%}
.pf-visuel small{position:relative;font-size:11px;opacity:.85;margin-top:6px}
.pf-actions{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-top:1px solid var(--ligne)}
.pf-statut{font-size:12px;font-weight:600;color:var(--vert);background:var(--vert-doux);padding:3px 10px;border-radius:var(--r-rond)}
.pf-actions span:last-child{font-size:12px;color:var(--encre-2)}
@media (max-width:600px){.pub-flottante{position:relative;right:auto;width:100%;margin-top:16px}.maquette{padding-bottom:0}.cal-case{min-height:46px}.puce{font-size:0;height:7px;padding:0}}
/* Une seule animation : les puces du mois apparaissent une à une au chargement */
@media (prefers-reduced-motion: no-preference){
  .cal .puce{animation:apparait .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 70ms + 250ms)}
  .pub-flottante{animation:monte .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:1.3s}
  @keyframes apparait{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
  @keyframes monte{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}

/* Sections */
.section{padding:96px 0}
.section-teinte{background:var(--fond-2)}
.section-tete{max-width:680px;margin-bottom:48px}
.section-tete h2{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.025em;margin-bottom:16px}
.section-tete p{font-size:19px;color:var(--encre-2);margin:0}
.centre{text-align:center;margin-left:auto;margin-right:auto}

/* Étapes : une vraie séquence */
.etapes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;counter-reset:etape;position:relative}
.etapes::before{content:"";position:absolute;top:23px;left:24px;right:calc(33% - 24px);height:2px;background:repeating-linear-gradient(90deg,var(--lilas) 0 8px,transparent 8px 14px)}
.etapes li{position:relative;counter-increment:etape}
.etapes li::before{content:counter(etape);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--rose-fort);color:var(--sur-rose);font:700 20px var(--titres);margin-bottom:20px;position:relative}
.etapes h3{font-size:22px;margin-bottom:8px}
.etapes p{color:var(--encre-2);margin:0}
@media (max-width:820px){.etapes{grid-template-columns:1fr;gap:32px}.etapes::before{display:none}}

/* Rangées de fonctionnalités (texte + vraie interface) */
.rangee{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;padding:40px 0}
.rangee + .rangee{border-top:1px solid var(--ligne)}
.rangee:nth-child(even) .rangee-texte{order:2}
.rangee-texte h2,.rangee-texte h3{font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.02em;margin-bottom:14px}
.rangee-texte > p{color:var(--encre-2);font-size:18px}
.rangee-texte ul{padding:0;margin:20px 0 0;list-style:none}
.rangee-texte li{padding:6px 0 6px 30px;position:relative}
.rangee-texte li::before{content:"";position:absolute;left:4px;top:13px;width:12px;height:6px;border-left:2.5px solid var(--rose-fort);border-bottom:2.5px solid var(--rose-fort);transform:rotate(-45deg)}
@media (max-width:860px){.rangee{grid-template-columns:1fr;gap:28px}.rangee:nth-child(even) .rangee-texte{order:0}}

/* Mini-interfaces */
.ui{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r-moyen);box-shadow:var(--ombre);padding:20px;font-size:14px}
.ui-titre{font:600 15px var(--titres);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.ui-demande{border:1.5px solid var(--ligne);border-radius:var(--r-petit);padding:12px 14px;background:var(--fond);color:var(--encre);font-size:15px;margin-bottom:12px}
.ui-ligne{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--ligne)}
.ui-ligne:first-of-type{border-top:0}
.ui-date{flex:0 0 52px;text-align:center;font:600 12px/1.2 var(--texte);color:var(--encre-2)}
.ui-date b{display:block;font:700 22px/1 var(--titres);color:var(--encre)}
.ui-ligne p{margin:0;font-size:14px}
.ui-ligne small{color:var(--encre-2)}
.etiq{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r-rond);background:var(--lilas-doux);color:var(--encre)}
.etiq-ok{background:var(--vert-doux);color:var(--vert)}
.etiq-rose{background:var(--rose-doux);color:var(--rose-fort)}
.visuels{display:grid;grid-template-columns:1fr 1fr .58fr;gap:10px;align-items:end}
.visuels img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.pf-image{display:block;width:100%;height:auto}
.vis{border-radius:12px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;position:relative;overflow:hidden;font:700 15px/1.15 var(--titres)}
.vis small{font:400 10px var(--texte);opacity:.85;margin-top:4px}
.vis-1{aspect-ratio:1;background:#2E6B5E}
.vis-1::before{content:"";position:absolute;inset:0 0 38% 0;background:linear-gradient(135deg,#7FB7A4,#3E8A76)}
.vis-2{aspect-ratio:1;background:#F2C14E;color:#241B33}
.vis-2::before{content:"";position:absolute;inset:12px 12px 44% 12px;border-radius:8px;background:linear-gradient(135deg,#E9A23B,#C9762A)}
.vis-3{aspect-ratio:9/16;background:#241B33}
.vis-3::before{content:"";position:absolute;inset:0 0 30% 0;background:linear-gradient(160deg,#B9A3E3,#5E4A9A)}
.vis > *{position:relative}
.vis-legende{display:grid;grid-template-columns:1fr 1fr .58fr;gap:10px;margin-top:8px;font-size:12px;color:var(--encre-2)}
.ui-commentaire{background:#FFF6E6;border:1px solid #F3D9A8;border-radius:12px;padding:10px 12px;color:#3D2A10;margin:10px 0}
@media (prefers-color-scheme: dark){.ui-commentaire{background:#2E2414;border-color:#5A4520;color:#FFE9C7}}
.ui-boutons{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ui-btn{font:600 13px var(--texte);padding:8px 14px;border-radius:var(--r-rond);background:var(--rose-fort);color:var(--sur-rose)}
.ui-btn-sec{background:transparent;border:1.5px solid var(--ligne);color:var(--encre)}
.courriel{border-radius:12px;overflow:hidden;border:1px solid var(--ligne)}
.courriel-tete{background:#2E6B5E;color:#fff;padding:14px 16px;font:700 16px var(--titres)}
.courriel-bande{height:4px;background:#F2C14E}
.courriel-corps{padding:16px;background:#fff;color:#333}
.courriel-corps h4{font:700 18px/1.2 var(--titres);margin:0 0 8px;color:#1c1c1c}
.courriel-corps p{font-size:13px;margin:0 0 10px}
.courriel-section{border-left:3px solid #F2C14E;padding-left:10px;margin:12px 0}
.courriel-section b{display:block;color:#1c1c1c;font-size:14px}
.courriel-btn{display:inline-block;background:#2E6B5E;color:#fff;font-size:12px;font-weight:700;padding:7px 14px;border-radius:20px;margin-top:6px}
.objet{font-size:13px;color:var(--encre-2);margin-bottom:10px}
.objet b{color:var(--encre)}
.regle{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--ligne)}
.regle:first-of-type{border-top:0}
.regle::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:var(--lilas);margin-top:7px}
.diff del{color:#B42318;background:#FDE7E4;text-decoration-thickness:1.5px}
.diff ins{color:var(--vert);background:var(--vert-doux);text-decoration:none}
@media (prefers-color-scheme: dark){.diff del{background:#4A1D1A;color:#FFB4A9}}

/* Bilingue */
.bilingue{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.bilingue-textes{display:grid;gap:12px}
.bulle{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r-moyen);padding:16px 18px;box-shadow:var(--ombre)}
.bulle small{display:block;font-weight:600;color:var(--encre-2);font-size:12px;margin-bottom:4px}
.bulle p{margin:0}
.bulle-en{margin-left:40px}
@media (max-width:860px){.bilingue{grid-template-columns:1fr;gap:32px}.bulle-en{margin-left:20px}}

/* Pour qui */
.pour-qui{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.pour-qui h3{font-size:22px;margin-bottom:10px;padding-top:18px;border-top:3px solid var(--rose)}
.pour-qui div:nth-child(2) h3{border-color:var(--lilas)}
.pour-qui div:nth-child(3) h3{border-color:var(--bleu)}
.pour-qui p{color:var(--encre-2);margin:0}
@media (max-width:820px){.pour-qui{grid-template-columns:1fr;gap:32px}}

/* Forfaits */
.forfaits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.forfait{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r-grand);padding:32px 28px;display:flex;flex-direction:column}
.forfait-vedette{border:2px solid var(--rose-fort);box-shadow:var(--ombre)}
.forfait-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.forfait h3{font-size:26px}
.pastille{font-size:12px;font-weight:600;background:var(--rose-doux);color:var(--rose-fort);padding:4px 12px;border-radius:var(--r-rond);white-space:nowrap}
.forfait-pour{color:var(--encre-2);font-size:15px;line-height:1.5;min-height:46px}
.forfait-prix{margin:4px 0 22px;color:var(--encre-2)}
.forfait-prix strong{font:700 52px/1 var(--titres);color:var(--encre);letter-spacing:-.03em;margin-right:4px}
.forfait ul{list-style:none;padding:0;margin:0 0 28px;flex:1}
.forfait li{padding:9px 0 9px 28px;position:relative;border-top:1px solid var(--ligne);font-size:15px}
.forfait li:first-child{border-top:0}
.forfait li::before{content:"";position:absolute;left:3px;top:16px;width:11px;height:5px;border-left:2px solid var(--rose-fort);border-bottom:2px solid var(--rose-fort);transform:rotate(-45deg)}
.forfaits-note{text-align:center;color:var(--encre-2);font-size:15px;margin:28px auto 0;max-width:46em}
@media (max-width:900px){.forfaits{grid-template-columns:1fr;max-width:480px;margin:0 auto}.forfait-pour{min-height:0}}

/* Tableau comparatif */
.comparatif-zone{overflow-x:auto;margin-top:56px;border:1px solid var(--ligne);border-radius:var(--r-moyen);background:var(--carte)}
.comparatif{width:100%;border-collapse:collapse;min-width:620px;font-size:15px}
.comparatif th,.comparatif td{padding:13px 18px;text-align:center;border-top:1px solid var(--ligne)}
.comparatif thead th{border-top:0;font:600 16px var(--titres);background:var(--fond-2)}
.comparatif th[scope=row]{text-align:left;font-weight:500}
.comparatif .oui{color:var(--vert);font-weight:700}
.comparatif .groupe th{text-align:left;background:var(--fond-2);font:600 14px var(--titres);color:var(--encre-2)}

/* FAQ */
.faq{max-width:820px;margin:0 auto;border-top:1px solid var(--ligne)}
.faq details{border-bottom:1px solid var(--ligne)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font:600 19px/1.35 var(--titres);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border-right:2px solid var(--encre-2);border-bottom:2px solid var(--encre-2);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq-reponse{padding:0 0 22px;color:var(--encre-2);max-width:68ch}
.faq-reponse p{margin:0}

/* Appel final */
.cta-final{background:var(--encre);color:var(--fond);padding:88px 0}
.cta-final h2{color:var(--fond);font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.025em;margin-bottom:16px}
.cta-final p{color:color-mix(in srgb,var(--fond) 78%,transparent);font-size:18px;max-width:30em}
.cta-final a{color:var(--lilas)}
.cta-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.cta-actions{display:flex;justify-content:flex-end}
.form-liste{background:var(--carte);color:var(--encre);border-radius:var(--r-grand);padding:28px}
.form-liste a{color:var(--bleu-fort)}
.form-liste .btn{width:100%}
@media (prefers-color-scheme: dark){.cta-final{background:#0F0B15;color:var(--encre)}.cta-final h2{color:var(--encre)}.cta-final p{color:var(--encre-2)}}
@media (max-width:860px){.cta-grille{grid-template-columns:1fr;gap:32px}.cta-actions{justify-content:flex-start}}

/* Formulaires */
label{display:block;font-weight:500;font-size:14px;margin:0 0 6px}
.facultatif{font-weight:400;color:var(--encre-2)}
input[type=text],input[type=email],input[type=url],textarea,select{width:100%;padding:12px 14px;border:1.5px solid var(--ligne);border-radius:var(--r-petit);background:var(--fond);color:var(--encre);font:inherit;font-size:16px;margin-bottom:16px}
textarea{min-height:140px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:3px solid var(--lilas);outline-offset:1px;border-color:var(--rose)}
.champs-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:520px){.champs-2{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;line-height:1.45;color:var(--encre-2);margin:2px 0 20px}
.consent input{margin-top:2px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--rose-fort)}
.note{border-radius:var(--r-petit);padding:12px 16px;margin-bottom:16px;font-size:15px}
.note-ok{background:var(--vert-doux);color:var(--vert)}
.note-err{background:var(--rose-doux);color:var(--rose-fort)}

/* Pages intérieures */
.page-tete{padding:64px 0 24px}
.page-tete h1{font-size:clamp(40px,5.5vw,64px);line-height:1.04;letter-spacing:-.035em;margin-bottom:18px;max-width:14em}
.page-tete p{font-size:20px;color:var(--encre-2);max-width:36em;margin:0}
.contact-grille{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start}
.contact-cote h2{font-size:24px;margin:0 0 10px}
.contact-cote p{color:var(--encre-2)}
.contact-cote + .contact-cote{margin-top:32px}
@media (max-width:860px){.contact-grille{grid-template-columns:1fr}}
.feuille{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r-grand);padding:32px}
.bientot{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px 40px}
.bientot div{padding-left:18px;border-left:3px solid var(--lilas)}
.bientot h3{font-size:19px;margin-bottom:6px}
.bientot p{color:var(--encre-2);margin:0;font-size:16px}
.page-404{padding:120px 0;text-align:left}
.page-404 h1{font-size:clamp(44px,6vw,72px);letter-spacing:-.035em;margin-bottom:16px}

/* Pied de page */
.site-pied{border-top:1px solid var(--ligne);padding:56px 0 28px;font-size:15px}
.pied-grille{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.pied-marque p{color:var(--encre-2);max-width:26em;margin-top:14px}
.site-pied nav{display:flex;flex-direction:column;gap:8px}
.site-pied h2{font:600 15px var(--titres);margin-bottom:6px}
.site-pied nav a{color:var(--encre-2);text-decoration:none}
.site-pied nav a:hover{color:var(--rose-fort)}
.pied-bas{margin-top:40px;padding-top:20px;border-top:1px solid var(--ligne);color:var(--encre-2);font-size:14px}
.pied-bas p{margin:0}
@media (max-width:820px){.pied-grille{grid-template-columns:1fr 1fr}.pied-marque{grid-column:1 / -1}}

/* Badge Conçu au Québec */
.badge-qc{display:inline-flex;align-items:center;gap:7px;font:600 13px/1 var(--texte);color:#1F4FA8;background:#E3ECFB;border:1px solid #C3D4F4;padding:7px 12px 7px 10px;border-radius:var(--r-rond);white-space:nowrap}
.badge-qc svg{flex:0 0 auto}
.badge-qc-heros{margin-bottom:20px}
.pied-bas{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
@media (prefers-color-scheme: dark){.badge-qc{color:#BFD2FA;background:#1E2A45;border-color:#33456B}}

/* Apparition au défilement */
@media (prefers-reduced-motion: no-preference){
  .apparition{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1) var(--delai,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--delai,0ms)}
  .apparition.vu{opacity:1;transform:none}
  .rangee.apparition .ui,.rangee.apparition .bilingue-textes{transform:translateY(20px) scale(.97);transition:transform .9s cubic-bezier(.2,.8,.2,1) .15s}
  .rangee.apparition.vu .ui,.rangee.apparition.vu .bilingue-textes{transform:none}
  .forfait{transition:transform .25s,box-shadow .25s}
  .forfait:hover{transform:translateY(-4px);box-shadow:var(--ombre)}
  .visuels img{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .visuels img:hover{transform:translateY(-4px) rotate(-1deg)}
}

/* Section IA */
.section-ia{background:linear-gradient(180deg,var(--fond) 0%,var(--rose-doux) 140%);overflow:hidden}
.rangee-ia{padding-top:0;padding-bottom:0}
.rangee-ia .rangee-texte h2{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.025em}
.demo-ia{--pos:100%;margin:0;background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r-grand);box-shadow:var(--ombre);padding:16px;position:relative}
.dia-demande{border:1.5px solid var(--ligne);border-radius:var(--r-moyen);padding:12px 14px;background:var(--fond);margin-bottom:12px;transition:border-color .3s}
.demo-ia.tape .dia-demande{border-color:var(--rose)}
.dia-etiquette{display:block;font-size:12px;font-weight:600;color:var(--encre-2);margin-bottom:2px}
.dia-texte{margin:0;font-size:15px;line-height:1.45;min-height:2.9em}
.dia-curseur{display:none;width:2px;height:1.1em;background:var(--rose-fort);vertical-align:-3px;margin-left:1px;animation:clignote 1s steps(1) infinite}
.demo-ia.tape .dia-curseur{display:inline-block}
@keyframes clignote{50%{opacity:0}}
.dia-image{position:relative;border-radius:var(--r-moyen);overflow:hidden;aspect-ratio:1;background:#fff}
.dia-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.dia-apres-zone{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.dia-balayage{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 0 18px rgba(255,255,255,.9);opacity:0;transition:opacity .3s;pointer-events:none}
.dia-balayage::after{content:"";position:absolute;top:50%;left:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25);background-image:linear-gradient(45deg,transparent 42%,#241B33 42% 50%,transparent 50%),linear-gradient(-45deg,transparent 42%,#241B33 42% 50%,transparent 50%);opacity:0;transition:opacity .3s}
.demo-ia.revele .dia-balayage,.demo-ia.fini .dia-balayage{opacity:1}
.demo-ia.fini .dia-balayage::after{opacity:1;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6' fill='none' stroke='%23241B33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.dia-chargement{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;font:600 15px var(--texte);color:#241B33;background:linear-gradient(110deg,rgba(255,255,255,.55) 20%,rgba(252,225,236,.85) 40%,rgba(234,225,248,.85) 55%,rgba(255,255,255,.55) 75%);background-size:250% 100%;opacity:0;pointer-events:none;transition:opacity .35s}
.demo-ia.cree .dia-chargement{opacity:1;animation:reflet 1.2s linear infinite}
@keyframes reflet{from{background-position:120% 0}to{background-position:-130% 0}}
.dia-roue{width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(194,48,107,.25);border-top-color:#C2306B;animation:tourne .8s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}
.dia-pastille{position:absolute;top:12px;font:600 12px/1 var(--texte);padding:7px 11px;border-radius:var(--r-rond);background:rgba(255,255,255,.92);color:#241B33;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:opacity .3s;pointer-events:none}
.dia-pastille-g{right:12px}
.dia-pastille-d{left:12px;background:#241B33;color:#fff;opacity:0}
.demo-ia.revele .dia-pastille-d,.demo-ia.fini .dia-pastille-d{opacity:1}
.dia-curseur-comp{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;pointer-events:none;-webkit-appearance:none;appearance:none}
.demo-ia.fini .dia-curseur-comp{pointer-events:auto}
.dia-curseur-comp:focus-visible + *{outline:none}
.demo-ia:has(.dia-curseur-comp:focus-visible) .dia-image{outline:3px solid var(--lilas);outline-offset:3px}
.dia-bas{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;color:var(--encre-2)}
.dia-bas span{opacity:0;transition:opacity .4s}
.demo-ia.fini .dia-bas span{opacity:1}
.dia-rejouer{border:1.5px solid var(--ligne);background:transparent;color:var(--encre);font:600 13px var(--texte);padding:7px 14px;border-radius:var(--r-rond);cursor:pointer}
.dia-rejouer:hover{border-color:var(--encre)}
@media (prefers-reduced-motion: no-preference){
  .demo-ia{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
  .demo-ia.fini.indice{transform:rotate(-.6deg)}
}

/* Bouton de langue */
.site-nav a.nav-langue{font:600 14px/1 var(--texte);letter-spacing:.04em;border:1.5px solid var(--ligne);padding:8px 11px}
.site-nav a.nav-langue:hover{border-color:var(--encre);background:transparent}
@media (max-width:900px){.site-nav a.nav-langue{align-self:flex-start;padding:10px 16px}}
