/*
 * Page événement « Le Débrief Solganeo ».
 *
 * Portée de event-page/event.css (maquette). Toutes les règles sont confinées
 * sous .sol-event (le <main> de la page) : l'en-tête et le pied de page sont
 * ceux du site, stylés par contact.css, et la maquette ne doit pas les toucher.
 * Les règles que la maquette n'avait pas écrites sous .sol-event le sont sous
 * :where(.sol-event), qui ne pèse rien : chaque sélecteur garde la spécificité
 * qu'il avait dans la maquette, et la cascade reste la même.
 * Retirés : la navigation, le lien d'évitement et le pied de page de la
 * maquette. Renommés, car contact.css les définit aussi : .field, .form-actions,
 * .form-note -> .ev-field, .ev-form-actions, .ev-form-note.
 *
 * L'en-tête du site n'est pas dans .sol-event : il est posé par-dessus le hero
 * par .ev-page / .ev-header (fin de fichier), comme la barre de la maquette.
 * --ev-mountains : paysage de fond éditable, posé par le gabarit.
 */
@font-face{font-family:Bricolage;src:url('../fonts/Bricolage-variable.woff2') format('woff2');font-weight:200 800;font-display:swap}
.sol-event{--ink:#12124e;--purple:#6654df;--paper:#fdfcfe;--muted:#5e5d77;--ease:cubic-bezier(.2,.7,.2,1);background:var(--paper);color:var(--ink);font-family:Bricolage,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}
.sol-event *{box-sizing:border-box}.sol-event a{color:inherit;text-decoration:none}.sol-event button,.sol-event input{font:inherit}.sol-event button,.sol-event a{-webkit-tap-highlight-color:transparent}.sol-event :focus-visible{outline:3px solid #16929f;outline-offset:6px}.sol-event h1,.sol-event h2,.sol-event h3,.sol-event p{margin:0}.sol-event h2{font-size:clamp(2.8rem,4.8vw,5rem);font-weight:500;letter-spacing:-.04em;line-height:1.03}.sol-event img{max-width:100%;display:block}.sol-event section[id]{scroll-margin-top:100px}:where(.sol-event) .section-wrap{max-width:1320px;margin:auto;padding-left:64px;padding-right:64px}:where(.sol-event) .eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.11em;line-height:1.5}:where(.sol-event) .purple{color:var(--purple)}:where(.sol-event) .muted{color:var(--muted);line-height:1.7}
:where(.sol-event) .button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 28px;border:0;border-radius:100px;background:var(--ink);color:white!important;cursor:pointer;font-weight:500;font-size:.98rem;transition:background .25s,transform .25s,box-shadow .25s;min-height:52px}:where(.sol-event) .button:hover{background:var(--purple);transform:translateY(-3px);box-shadow:0 8px 24px #6654df25}:where(.sol-event) .button span{font-size:1.2rem}:where(.sol-event) .button-small{padding:14px 23px;min-height:48px;font-size:.85rem}:where(.sol-event) .text-link{display:inline-flex;align-items:center;gap:22px;font-weight:500;font-size:.95rem;padding:10px 0;border-bottom:1px solid #12124e40}:where(.sol-event) .text-link span{font-size:1.3rem;transition:transform .3s}:where(.sol-event) .text-link:hover span{transform:translate(3px,-3px)}
:where(.sol-event) .hero{position:relative;margin:14px;min-height:820px;height:calc(100svh - 28px);max-height:1100px;border-radius:25px;overflow:hidden;background:#d5d1f9}:where(.sol-event) .hero-landscape{position:absolute;inset:-5%;background:linear-gradient(90deg,#e9e4fb6b,transparent 65%),var(--ev-mountains) center 58%/cover no-repeat;transform:translateY(var(--hero-shift,0px)) scale(1.03);will-change:transform}:where(.sol-event) .hero-content{position:relative;z-index:2;padding:160px 0 150px 7%;max-width:1100px}:where(.sol-event) .hero-eyebrow{display:flex;align-items:center;gap:22px;margin-bottom:26px}:where(.sol-event) .event-pill{border:1px solid #12124e30;padding:8px 14px;border-radius:50px;background:#ffffff30}:where(.sol-event) .hero h1{position:relative;font-size:clamp(5rem,9.8vw,10.5rem);line-height:.96;font-weight:600;letter-spacing:-.045em;max-width:950px}:where(.sol-event) .hero h1>span:not(.title-spark){color:#6552d2}:where(.sol-event) .title-spark{display:inline-block;color:var(--purple);font-size:.54em;vertical-align:top;padding-top:.18em;margin-left:30px;animation:slow-spin 40s linear infinite}:where(.sol-event) .hero-lead{font-size:clamp(1.3rem,1.8vw,1.7rem);line-height:1.25;letter-spacing:-.03em;margin-top:30px!important;font-weight:500}:where(.sol-event) .hero-description{font-size:1rem;line-height:1.5;margin-top:14px!important;max-width:540px}:where(.sol-event) .hero-actions{display:flex;gap:32px;align-items:center;margin-top:27px}:where(.sol-event) .hero-actions .text-link{font-size:.85rem}:where(.sol-event) .date-card{position:absolute;z-index:3;right:6%;bottom:140px;width:255px;padding:25px;background:#ffffff52;backdrop-filter:blur(20px);border:1px solid #ffffffad;border-radius:20px;transform:rotate(5deg);box-shadow:0 20px 60px #32316b16}:where(.sol-event) .date-number{font-size:7.5rem;line-height:1.05;letter-spacing:-.04em;font-weight:500;display:flex;align-items:flex-start;gap:14px}:where(.sol-event) .date-number>span{font-size:2.4rem;letter-spacing:-.035em;margin-top:13px;border-bottom:2px solid var(--ink)}:where(.sol-event) .date-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:1rem}:where(.sol-event) .date-card-bottom small{font-size:.76rem;color:var(--muted);line-height:2}:where(.sol-event) .date-card-bottom a{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#fff8;font-size:1.3rem}:where(.sol-event) .hero-bottom{position:absolute;left:7%;right:6%;bottom:34px;display:flex;align-items:center;justify-content:space-between;font-size:.67rem;font-weight:600;letter-spacing:.08em;border-top:1px solid #12124e26;padding-top:20px;z-index:3}:where(.sol-event) .hero-bottom a{display:flex;gap:20px;align-items:center}:where(.sol-event) .hero-bottom a span{font-size:1.3rem}:where(.sol-event) .topic-ribbon{display:flex;align-items:center;justify-content:space-around;gap:24px;padding:28px 6% 40px;border-bottom:1px solid #12124e15;font-size:1.35rem;font-weight:500;letter-spacing:-.03em}:where(.sol-event) .topic-ribbon i{font-style:normal;color:#8574dc;font-size:1.8rem}
:where(.sol-event) .experience{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:130px;padding-bottom:130px;align-items:center}:where(.sol-event) .experience h2{margin-top:25px;margin-bottom:30px}:where(.sol-event) .experience .body-large{font-size:1.25rem;line-height:1.45;letter-spacing:-.02em}:where(.sol-event) .experience .muted{margin-top:22px}:where(.sol-event) .experience .text-link{margin-top:20px;font-size:.85rem}:where(.sol-event) .experience-visual{padding-top:35px}:where(.sol-event) .photo-shell{overflow:hidden;border-radius:16px;background:#12124e}:where(.sol-event) .photo-shell>img{width:100%;aspect-ratio:1.3;object-fit:cover;object-position:center;transition:transform .8s}:where(.sol-event) .photo-shell:hover>img{transform:scale(1.03)}:where(.sol-event) .photo-caption{display:flex;justify-content:space-between;padding:18px;color:#fff;font-size:.65rem;letter-spacing:.08em}:where(.sol-event) .experience-stat{display:flex;gap:22px;align-items:center;padding:22px 8px;border-bottom:1px solid #12124e24}:where(.sol-event) .experience-stat strong{font-size:5.2rem;font-weight:500;line-height:1;letter-spacing:-.08em}:where(.sol-event) .experience-stat p{font-size:1.1rem;line-height:1.4}:where(.sol-event) .experience-stat p span{color:var(--muted)}:where(.sol-event) .stat-spark{margin-left:auto;color:var(--purple);font-size:3rem}
:where(.sol-event) .programme{background:#14142e;border-radius:26px;margin:0 14px;color:#f6f4ff}:where(.sol-event) .programme-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:95px;padding-top:110px;padding-bottom:110px;align-items:start}:where(.sol-event) .programme-intro{position:sticky;top:145px;padding-top:20px}:where(.sol-event) .programme-intro>.eyebrow{color:#b2b0cf}:where(.sol-event) .programme-intro h2{margin-top:32px;font-size:clamp(2.7rem,4.2vw,4.5rem)}:where(.sol-event) .programme-intro h2 span{color:#aca1ff;display:inline}:where(.sol-event) .programme-intro p:not(.eyebrow){margin-top:30px;color:#c6c4d8;line-height:1.65;font-size:1.04rem}:where(.sol-event) .programme-intro .text-link{margin-top:35px;border-color:#f6f4ff55}:where(.sol-event) .chapter-progress{display:flex;align-items:center;gap:18px;font-size:.82rem;color:#aca1ff;margin-top:60px;max-width:245px}:where(.sol-event) .chapter-progress>div{height:2px;background:#ffffff26;flex:1}:where(.sol-event) .chapter-progress i{display:block;width:var(--progress,25%);height:100%;background:#aca1ff;transition:width .4s}:where(.sol-event) .programme-cards{position:relative;padding-bottom:10px}:where(.sol-event) .programme-card{position:sticky;top:125px;min-height:565px;border-radius:20px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);margin-bottom:55px;box-shadow:0 -14px 40px #08081c1a;transform-origin:center top}:where(.sol-event) .programme-card:last-child{margin-bottom:0}:where(.sol-event) .card-agent{background:#c9bffa;top:125px}:where(.sol-event) .card-data{background:#b5e1e2;top:140px}:where(.sol-event) .card-crm{background:#ebd1be;top:155px}:where(.sol-event) .card-action{background:#e8e4f4;top:170px}:where(.sol-event) .card-top{display:flex;justify-content:space-between;align-items:center}:where(.sol-event) .chapter{font-size:1rem;border:1px solid #12124e44;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}:where(.sol-event) .card-symbol{font-size:7rem;font-weight:300;line-height:1.1;align-self:flex-end;opacity:.85;padding-right:10px}:where(.sol-event) .card-copy h3{font-size:clamp(2rem,3vw,3.1rem);line-height:1.03;letter-spacing:-.045em;font-weight:500}:where(.sol-event) .card-copy p{line-height:1.6;margin-top:20px;font-size:1rem;max-width:390px}:where(.sol-event) .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}:where(.sol-event) .tags>span{border:1px solid #12124e35;border-radius:50px;padding:7px 12px;font-size:.75rem}
:where(.sol-event) .registration{position:relative;isolation:isolate;background:#e0d9f8;border-radius:25px;margin:0 14px;overflow:hidden}:where(.sol-event) .registration:before{content:'';position:absolute;inset:0;background:linear-gradient(#eee8fbba,#e6def897),var(--ev-mountains) center/cover;z-index:-1}:where(.sol-event) .registration-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-top:90px;padding-bottom:90px}:where(.sol-event) .registration-copy h2{font-size:clamp(3.5rem,6.2vw,6.4rem);margin-top:28px;line-height:.99}:where(.sol-event) .registration-copy h2 span{color:var(--purple)}:where(.sol-event) .registration-copy>p:not(.eyebrow){max-width:360px;line-height:1.6;margin-top:30px}:where(.sol-event) .event-details{margin-top:35px;display:grid;gap:18px}:where(.sol-event) .event-details>div{display:grid;gap:5px}:where(.sol-event) .event-details span{font-size:.67rem;letter-spacing:.08em;font-weight:600;color:#55516b}:where(.sol-event) .event-details strong{font-size:1rem;font-weight:500}:where(.sol-event) .partner{display:flex;align-items:center;gap:15px;margin-top:45px}:where(.sol-event) .partner img{object-fit:contain}:where(.sol-event) .partner span{font-size:.75rem;line-height:1.6}:where(.sol-event) .partner strong{font-weight:500}:where(.sol-event) .form-panel{background:#fff;border-radius:20px;padding:38px;box-shadow:0 25px 75px #47416e13}:where(.sol-event) .form-kicker{font-size:.66rem;letter-spacing:.1em;color:var(--purple);font-weight:600}:where(.sol-event) .form-panel h3{font-weight:500;font-size:2.3rem;letter-spacing:-.035em;line-height:1.05;margin-top:16px}:where(.sol-event) .form-panel>p{color:var(--muted);font-size:.9rem;line-height:1.5;margin-top:15px}:where(.sol-event) .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px;margin-top:33px}:where(.sol-event) .ev-field.full{grid-column:1/-1}:where(.sol-event) .ev-field label{font-size:.9rem;display:block;margin-bottom:5px}:where(.sol-event) .ev-field label>span{color:var(--purple)}:where(.sol-event) .ev-field input{border:0;border-bottom:1px solid #c8c7d3;width:100%;background:transparent;color:var(--ink);height:36px;border-radius:0;padding:5px 0;transition:border-color .2s}:where(.sol-event) .ev-field input:focus{outline:0;border-bottom:2px solid var(--purple)}:where(.sol-event) .ev-field:focus-within label{color:var(--purple)}:where(.sol-event) .consent{display:flex;align-items:flex-start;gap:10px;font-size:.73rem;line-height:1.5;color:var(--muted);margin:27px 0 25px;cursor:pointer}:where(.sol-event) .consent input{margin:2px 0 0;width:17px;height:17px;accent-color:var(--purple);flex-shrink:0}:where(.sol-event) .consent a{text-decoration:underline}:where(.sol-event) .form-submit{width:100%;font-size:.94rem;background:var(--purple)}:where(.sol-event) .form-submit:hover{background:var(--ink)}:where(.sol-event) .ev-form-note{font-size:.68rem;color:#68677b;line-height:1.5;text-align:center;margin-top:16px!important}:where(.sol-event) .mobile-cta{display:none}:where(.sol-event) .reveal{transition:opacity .7s var(--ease),transform .7s var(--ease)}:where(.sol-event).motion-enabled .reveal:not(.revealed){opacity:0;transform:translateY(25px)}@keyframes slow-spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){:where(.sol-event) .hero-content{padding-left:9%;padding-top:180px}:where(.sol-event) .date-card{right:9%;bottom:160px}:where(.sol-event) .hero-bottom{left:9%;right:9%}}
@media(max-width:1100px){:where(.sol-event) .section-wrap{padding-left:40px;padding-right:40px}:where(.sol-event) .hero{min-height:780px}:where(.sol-event) .hero h1{font-size:8.6rem}:where(.sol-event) .hero-content{padding-left:6%;padding-top:155px}:where(.sol-event) .date-card{width:210px;right:5%;bottom:130px;padding:20px}:where(.sol-event) .date-number{font-size:6rem}:where(.sol-event) .hero-description{max-width:440px}:where(.sol-event) .experience{gap:45px}:where(.sol-event) .programme-layout{gap:45px}:where(.sol-event) .registration-inner{gap:40px}:where(.sol-event) .form-panel{padding:28px}}
@media(max-width:800px){:where(.sol-event) .section-wrap{padding-left:28px;padding-right:28px}:where(.sol-event) .hero{height:auto;min-height:900px}:where(.sol-event) .hero-content{padding:145px 7% 370px}:where(.sol-event) .hero h1{font-size:clamp(4.8rem,12vw,7.6rem)}:where(.sol-event) .hero-eyebrow{font-size:.65rem;gap:14px}:where(.sol-event) .title-spark{margin-left:20px}:where(.sol-event) .hero-lead{font-size:1.45rem}:where(.sol-event) .hero-description{max-width:460px}:where(.sol-event) .date-card{bottom:95px;right:9%;width:240px;transform:rotate(4deg)}:where(.sol-event) .date-number{font-size:6.5rem}:where(.sol-event) .hero-bottom>span{max-width:210px;line-height:1.7}:where(.sol-event) .hero-bottom>a{font-size:0;gap:0}:where(.sol-event) .hero-bottom>a span{font-size:1.5rem}:where(.sol-event) .topic-ribbon{gap:12px;padding:27px 5%;font-size:1rem}:where(.sol-event) .topic-ribbon i{font-size:1.2rem}:where(.sol-event) .topic-ribbon span:last-child,:where(.sol-event) .topic-ribbon i:last-of-type{display:none}:where(.sol-event) .experience{grid-template-columns:1fr;gap:30px;padding-top:80px;padding-bottom:80px}:where(.sol-event) .experience-copy{max-width:590px}:where(.sol-event) .experience-visual{padding-top:0}:where(.sol-event) .photo-shell>img{aspect-ratio:1.8;object-fit:cover}:where(.sol-event) .programme-layout{grid-template-columns:1fr;gap:45px;padding-top:65px;padding-bottom:65px}:where(.sol-event) .programme-intro{position:static;padding-top:0}:where(.sol-event) .programme-intro h2{font-size:3.5rem}:where(.sol-event) .programme-intro h2 span{display:inline}:where(.sol-event) .programme-intro h2 br{display:none}:where(.sol-event) .programme-intro p:not(.eyebrow){margin-top:22px}:where(.sol-event) .chapter-progress{display:none}:where(.sol-event) .programme-intro .text-link{margin-top:15px}:where(.sol-event) .programme-card{min-height:550px;top:100px}:where(.sol-event) .card-data{top:112px}:where(.sol-event) .card-crm{top:124px}:where(.sol-event) .card-action{top:136px}:where(.sol-event) .card-copy h3{font-size:2.8rem}:where(.sol-event) .card-copy p{max-width:100%}:where(.sol-event) .takeaways{padding-top:80px;padding-bottom:80px}:where(.sol-event) .takeaway-grid{gap:26px;margin-top:45px}:where(.sol-event) .takeaway-grid h3{font-size:1.5rem}:where(.sol-event) .registration-inner{grid-template-columns:1fr;gap:45px;padding-top:65px;padding-bottom:65px}:where(.sol-event) .registration-copy h2{font-size:4.8rem}:where(.sol-event) .registration-copy h2 br:nth-of-type(2){display:none}:where(.sol-event) .registration-copy h2 span{margin-left:.15em}:where(.sol-event) .registration-copy>p:not(.eyebrow){max-width:500px}:where(.sol-event) .event-details{grid-template-columns:1fr 1fr}:where(.sol-event) .partner{margin-top:30px}:where(.sol-event) .form-panel{padding:35px}}
@media(max-width:520px){:where(.sol-event) .hero,:where(.sol-event) .programme,:where(.sol-event) .registration{margin-left:8px;margin-right:8px;border-radius:18px}:where(.sol-event) .hero{margin-top:8px;min-height:895px}:where(.sol-event) .hero-content{padding-top:123px;padding-bottom:345px}:where(.sol-event) .hero-eyebrow{flex-wrap:wrap;gap:10px;font-size:.6rem;margin-bottom:22px}:where(.sol-event) .event-pill{padding:6px 10px}:where(.sol-event) .hero h1{font-size:clamp(3.65rem,13vw,4.5rem);line-height:1.01;letter-spacing:-.04em}:where(.sol-event) .title-spark{margin-left:12px;font-size:.45em}:where(.sol-event) .hero-lead{font-size:1.27rem;line-height:1.3;margin-top:24px!important}:where(.sol-event) .hero-description{font-size:.94rem;line-height:1.5;margin-top:15px!important}:where(.sol-event) .desktop{display:none}:where(.sol-event) .hero-actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}:where(.sol-event) .hero-actions .button{font-size:.9rem;padding:17px 23px;min-height:54px}:where(.sol-event) .hero-actions .text-link{font-size:.8rem}:where(.sol-event) .date-card{bottom:94px;width:205px;padding:18px;right:11%}:where(.sol-event) .date-number{font-size:5.2rem}:where(.sol-event) .date-number>span{font-size:1.9rem}:where(.sol-event) .date-card-bottom{margin-top:8px;font-size:.88rem}:where(.sol-event) .date-card .eyebrow{font-size:.65rem}:where(.sol-event) .date-card-bottom small{font-size:.67rem}:where(.sol-event) .hero-bottom{font-size:.58rem;bottom:24px;left:7%;right:7%;padding-top:16px}:where(.sol-event) .topic-ribbon{gap:9px;font-size:.85rem;padding:24px 5%}:where(.sol-event) .topic-ribbon span:nth-last-of-type(2),:where(.sol-event) .topic-ribbon i:nth-last-of-type(2){display:none}:where(.sol-event) .section-wrap{padding-left:24px;padding-right:24px}.sol-event h2{font-size:2.9rem}:where(.sol-event) .experience{padding-top:65px;padding-bottom:70px}:where(.sol-event) .experience h2{margin-top:20px;margin-bottom:25px}:where(.sol-event) .experience .body-large{font-size:1.13rem}:where(.sol-event) .experience .muted{font-size:.95rem}:where(.sol-event) .experience .text-link{font-size:.78rem;gap:12px}:where(.sol-event) .photo-caption{font-size:.53rem;padding:14px}:where(.sol-event) .experience-stat strong{font-size:4.4rem}:where(.sol-event) .experience-stat p{font-size:.95rem}:where(.sol-event) .programme-layout{padding:55px 18px}:where(.sol-event) .programme-intro h2{font-size:2.9rem}:where(.sol-event) .programme-intro h2 span{display:block}:where(.sol-event) .programme-intro p:not(.eyebrow){font-size:.96rem}:where(.sol-event) .programme-card{padding:25px;min-height:530px;margin-bottom:36px;border-radius:15px}:where(.sol-event) .card-top .eyebrow{font-size:.62rem}:where(.sol-event) .card-symbol{font-size:6rem}:where(.sol-event) .card-copy h3{font-size:2.45rem}:where(.sol-event) .card-copy p{font-size:.95rem;line-height:1.55}:where(.sol-event) .tags>span{font-size:.67rem;padding:6px 10px}:where(.sol-event) .takeaways{padding-top:70px;padding-bottom:70px}:where(.sol-event) .takeaway-grid{grid-template-columns:1fr;gap:32px;margin-top:40px}:where(.sol-event) .takeaway-grid h3{font-size:1.9rem;margin-top:18px}:where(.sol-event) .takeaway-grid h3 br{display:none}:where(.sol-event) .takeaway-grid p{max-width:none;font-size:.95rem;margin-top:12px}:where(.sol-event) .registration-inner{padding:50px 18px;gap:35px}:where(.sol-event) .registration-copy h2{font-size:4.25rem;letter-spacing:-.045em}:where(.sol-event) .registration-copy h2 br:nth-of-type(2){display:block}:where(.sol-event) .registration-copy h2 span{margin-left:0}:where(.sol-event) .registration-copy>p:not(.eyebrow){font-size:.95rem}:where(.sol-event) .event-details{grid-template-columns:1fr;gap:20px}:where(.sol-event) .form-panel{padding:28px 22px;border-radius:15px}:where(.sol-event) .form-panel h3{font-size:2rem}:where(.sol-event) .form-panel>p{font-size:.83rem}:where(.sol-event) .form-grid{gap:24px 16px}:where(.sol-event) .ev-field label{font-size:.78rem}:where(.sol-event) .consent{font-size:.72rem}:where(.sol-event) .form-submit{padding:18px 20px;font-size:.87rem}:where(.sol-event) .ev-form-note{font-size:.65rem}:where(.sol-event) .mobile-cta{position:fixed;left:14px;right:14px;bottom:12px;z-index:35;background:var(--ink);color:white!important;border-radius:100px;padding:17px 22px;display:flex;justify-content:space-between;gap:16px;font-size:.73rem;box-shadow:0 5px 20px #12124e38;transform:translateY(100px);transition:transform .3s}:where(.sol-event) .mobile-cta.visible{transform:translateY(0)}:where(.sol-event) .mobile-cta>span{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.sol-event *{animation:none!important;transition:none!important;scroll-behavior:auto!important}:where(.sol-event) .hero-landscape{transform:none!important}:where(.sol-event).motion-enabled .reveal:not(.revealed){opacity:1;transform:none}:where(.sol-event) .programme-card{position:relative;top:auto!important}:where(.sol-event) .programme-intro{position:relative;top:auto}}

/* Client-day editorial refinement */
:where(.sol-event) .hero-lead{max-width:660px}:where(.sol-event) .hero-description{max-width:580px}:where(.sol-event) .date-card{width:275px}:where(.sol-event) .date-card-bottom small{line-height:1.6;display:block;margin-top:5px;font-size:.85rem}:where(.sol-event) .date-card-bottom{gap:14px}:where(.sol-event) .date-card-bottom a{flex-shrink:0}:where(.sol-event) .hero-bottom{font-size:.78rem}:where(.sol-event) .hero-eyebrow{font-size:.75rem}:where(.sol-event) .topic-ribbon{justify-content:center;gap:40px;font-size:1.2rem;padding:26px 6%}:where(.sol-event) .topic-ribbon span{display:inline!important}:where(.sol-event) .topic-ribbon i{display:inline!important}
:where(.sol-event) .experience{padding-top:90px;padding-bottom:90px;gap:65px}:where(.sol-event) .experience h2{font-size:clamp(2.7rem,4.1vw,4.2rem)}:where(.sol-event) .audience-note{font-size:1rem;line-height:1.6;border-left:2px solid var(--purple);padding-left:18px;margin-top:24px!important;color:var(--muted)}:where(.sol-event) .audience-note strong{color:var(--ink)}
:where(.sol-event) .programme-layout{padding-top:85px;padding-bottom:85px;gap:65px}:where(.sol-event) .programme-intro h2{font-size:clamp(2.7rem,4vw,4.1rem)}:where(.sol-event) .programme-card{min-height:520px;margin-bottom:30px;gap:20px}:where(.sol-event) .card-top .eyebrow{font-size:.75rem;letter-spacing:.065em}:where(.sol-event) .card-symbol{font-size:3.2rem;line-height:1}:where(.sol-event) .card-copy h3{font-size:clamp(2rem,2.7vw,2.8rem)}:where(.sol-event) .card-copy p{max-width:none;margin-top:18px}:where(.sol-event) .card-copy .card-outcome{border-top:1px solid #12124e30;padding-top:16px;font-size:.95rem;line-height:1.5}:where(.sol-event) .card-outcome strong{display:block;font-size:.8rem;margin-bottom:4px}:where(.sol-event) .tags{margin-top:18px}:where(.sol-event) .tags>span{font-size:.8rem}:where(.sol-event) .chapter-progress{margin-top:40px}
:where(.sol-event) .registration-copy h2{font-size:clamp(3rem,5vw,5.1rem);line-height:1.05}:where(.sol-event) .registration-copy>p:not(.eyebrow){max-width:430px}:where(.sol-event) .event-details{gap:20px}:where(.sol-event) .event-details span{font-size:.75rem}:where(.sol-event) .event-details strong{line-height:1.4}:where(.sol-event) .form-panel>p{font-size:1rem}:where(.sol-event) .consent{font-size:.8rem}:where(.sol-event) .ev-form-note{font-size:.75rem}:where(.sol-event) .form-kicker{font-size:.75rem}:where(.sol-event) .form-submit{font-size:1rem}
@media(max-width:1100px) and (min-width:801px){:where(.sol-event) .hero-description{max-width:490px}:where(.sol-event) .date-card{right:4%;width:240px}:where(.sol-event) .hero-actions{gap:20px}:where(.sol-event) .hero-actions .button{font-size:.9rem;padding:18px 22px}:where(.sol-event) .hero h1{font-size:8rem}}
@media(max-width:800px){:where(.sol-event) .hero-eyebrow{max-width:580px;flex-wrap:wrap}:where(.sol-event) .hero-bottom>span{max-width:none;letter-spacing:.035em}:where(.sol-event) .date-card{width:250px}:where(.sol-event) .topic-ribbon{gap:18px;font-size:1rem}:where(.sol-event) .experience{padding-top:65px;padding-bottom:65px;gap:35px}:where(.sol-event) .programme-layout{padding-top:60px;padding-bottom:60px;gap:35px}:where(.sol-event) .programme-card{min-height:500px}:where(.sol-event) .programme-intro h2 br{display:block}:where(.sol-event) .registration-copy h2{font-size:3.8rem}:where(.sol-event) .event-details{grid-template-columns:1fr 1fr}:where(.sol-event) .registration-copy h2 span{margin-left:0}}
@media(max-width:520px){:where(.sol-event) .hero-content{padding-top:125px;padding-bottom:335px}:where(.sol-event) .hero-eyebrow{font-size:.67rem;gap:12px;max-width:290px}:where(.sol-event) .hero-description{font-size:1rem}:where(.sol-event) .hero-lead{font-size:1.3rem}:where(.sol-event) .hero-actions .button{font-size:.95rem}:where(.sol-event) .hero-actions .text-link{font-size:.875rem}:where(.sol-event) .hero-bottom{font-size:.7rem;line-height:1.5}:where(.sol-event) .hero-bottom>span{max-width:260px}:where(.sol-event) .date-card{width:225px;bottom:92px;right:9%}:where(.sol-event) .date-card-bottom small{font-size:.8rem}:where(.sol-event) .topic-ribbon{flex-wrap:wrap;gap:10px 14px;font-size:.9rem;padding:22px 16px}:where(.sol-event) .topic-ribbon i{font-size:1rem}:where(.sol-event) .experience h2{font-size:2.6rem}:where(.sol-event) .programme-layout{padding:50px 18px}:where(.sol-event) .programme-intro h2{font-size:2.8rem}:where(.sol-event) .programme-card{padding:24px;min-height:520px;gap:20px}:where(.sol-event) .card-copy h3{font-size:2.15rem}:where(.sol-event) .card-copy p{font-size:1rem}:where(.sol-event) .card-copy .card-outcome{font-size:.95rem}:where(.sol-event) .card-top .eyebrow{font-size:.7rem;max-width:220px}:where(.sol-event) .chapter{flex-shrink:0;margin-left:10px}:where(.sol-event) .registration-copy h2{font-size:3.6rem}:where(.sol-event) .event-details{grid-template-columns:1fr}:where(.sol-event) .form-panel h3{font-size:2.15rem}:where(.sol-event) .form-panel>p{font-size:.95rem}:where(.sol-event) .ev-field label{font-size:.875rem}:where(.sol-event) .consent{font-size:.8rem}:where(.sol-event) .form-submit{font-size:.93rem}:where(.sol-event) .ev-form-note{font-size:.75rem}:where(.sol-event) .form-grid{grid-template-columns:1fr}:where(.sol-event) .ev-field.full{grid-column:auto}}

/* Keep the lower information strip in flow when the hero outgrows the viewport. */
:where(.sol-event) .hero{display:flex;flex-direction:column;height:auto;min-height:max(820px,calc(100svh - 28px));max-height:none}
:where(.sol-event) .hero-content{flex-shrink:0;padding-bottom:64px}
:where(.sol-event) .hero-bottom{position:relative;inset:auto;margin:auto 6% 34px 7%;gap:24px;flex-shrink:0}
:where(.sol-event) .hero-bottom>a{flex-shrink:0}
@media(min-width:1500px){:where(.sol-event) .hero-bottom{margin-left:9%;margin-right:9%}}
@media(max-width:1100px){:where(.sol-event) .hero{min-height:max(780px,calc(100svh - 28px))}}
@media(max-width:800px){
 :where(.sol-event) .hero{min-height:900px}
 :where(.sol-event) .hero-content{padding-bottom:40px}
 :where(.sol-event) .date-card{position:relative;inset:auto;align-self:flex-end;flex-shrink:0;margin:0 9% 42px}
}
@media(max-width:520px){
 :where(.sol-event) .hero{min-height:895px}
 :where(.sol-event) .hero-content{padding-bottom:36px}
 :where(.sol-event) .hero-bottom{margin:0 7% 24px;gap:16px}
 :where(.sol-event) .hero-bottom>span{max-width:none}
}

/* Solganeo shared layout, contact-form treatment and footer. */

:where(.sol-event) .section-wrap{max-width:1240px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}


:where(.sol-event) .ui-arrow{width:22px;height:22px;flex-shrink:0}
:where(.sol-event) .text-link .ui-arrow{width:20px;height:20px}
:where(.sol-event) .photo-shell{background:transparent;overflow:visible}
:where(.sol-event) .photo-shell>img{height:auto;aspect-ratio:1.7;object-fit:cover;border-radius:20px}
:where(.sol-event) .photo-caption{color:var(--muted);padding:12px 4px;font-size:.75rem;gap:12px}
:where(.sol-event) .registration{background:var(--paper);overflow:visible;border-top:1px solid #12124e1a;border-bottom:1px solid #12124e1a;border-radius:0;margin:0}
:where(.sol-event) .registration:before{display:none}
:where(.sol-event) .registration-inner{align-items:start;gap:90px;padding-top:100px;padding-bottom:100px;grid-template-columns:.9fr 1.1fr}
:where(.sol-event) .form-panel{font-family:'Inter Tight',Arial,sans-serif;background:transparent;box-shadow:none;padding:0;border-radius:0}
:where(.sol-event) .form-panel h3{font-size:2.75rem;line-height:1.1}
:where(.sol-event) .form-panel>p{color:#55547a}
:where(.sol-event) .form-grid{gap:26px 32px;margin-top:30px}
:where(.sol-event) .ev-field{position:relative;padding-top:24px}
:where(.sol-event) .ev-field label{position:absolute;left:0;top:31px;margin:0;font-size:1.25rem;font-weight:400;color:#79788e;pointer-events:none;transition:top .3s var(--ease),font-size .3s var(--ease),color .3s}
:where(.sol-event) .ev-field label>span{color:inherit}
:where(.sol-event) .ev-field input{display:block;height:auto;min-height:46px;font-size:1.25rem;padding:9px 0 12px;border-bottom:1px solid #12124e2e}
:where(.sol-event) .ev-field:focus-within label,:where(.sol-event) .ev-field:has(input:not(:placeholder-shown)) label{top:0;font-size:.875rem;font-weight:600;color:#6c6b85}
:where(.sol-event) .ev-field:focus-within label{color:#685ef8}
:where(.sol-event) .ev-field:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#685ef8,#9ba0fa);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
:where(.sol-event) .ev-field:focus-within:after{transform:scaleX(1);transform-origin:left}
:where(.sol-event) .ev-field input:focus{border-bottom:1px solid #12124e2e}
:where(.sol-event) .ev-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:10px}
:where(.sol-event) .form-submit{width:auto;max-width:100%;min-height:52px;padding:16px 28px;font-size:1rem;font-weight:600;background:linear-gradient(90deg,#685ef8,#9ba0fa);box-shadow:0 12px 30px #685ef859}
:where(.sol-event) .form-submit:hover{background:linear-gradient(90deg,#685ef8,#9ba0fa);transform:translateY(-2px);box-shadow:0 18px 40px #685ef873}
:where(.sol-event) .ev-form-note{text-align:left;font-size:.875rem;color:#6c6b85;max-width:400px}
:where(.sol-event) .consent{font-size:.875rem;line-height:1.5;margin:30px 0;color:#55547a}


:where(.sol-event) .f-brand-row{display:flex;align-items:center;gap:12px}
:where(.sol-event) .f-brand-row img{width:auto;height:34px;max-width:100%;object-fit:contain}







@media(max-width:1100px){:where(.sol-event) .registration-inner{gap:48px}}
@media(max-width:800px){:where(.sol-event) .section-wrap{padding-left:28px;padding-right:28px}:where(.sol-event) .registration-inner{grid-template-columns:1fr;gap:48px;padding-top:65px;padding-bottom:65px}:where(.sol-event) .form-panel{max-width:620px;width:100%}}
@media(max-width:520px){:where(.sol-event) .section-wrap{padding-left:24px;padding-right:24px}:where(.sol-event) .registration-inner{padding-top:55px;padding-bottom:55px}:where(.sol-event) .form-panel h3{font-size:2.3rem}:where(.sol-event) .form-grid{gap:20px}:where(.sol-event) .form-submit{font-size:1rem;padding:16px 24px}:where(.sol-event) .photo-caption{font-size:.7rem;letter-spacing:.02em}}

/* Dreamforce-inspired artwork replaces decorative font symbols. */
:where(.sol-event) .title-spark{display:inline-block;font-size:1em;width:.85em;height:.85em;margin-left:.2em;padding:0;vertical-align:middle;animation:artwork-float 7s ease-in-out infinite}
:where(.sol-event) .title-spark img{width:100%;height:100%;object-fit:contain}
:where(.sol-event) .stat-spark img{width:100%;height:auto}
:where(.sol-event) .stat-spark{width:78px;flex-shrink:0;margin-left:auto}
:where(.sol-event) .ribbon-spark{display:block;width:40px;flex-shrink:0;line-height:0}
:where(.sol-event) .ribbon-spark img{width:40px;height:40px;object-fit:contain}
:where(.sol-event) .card-symbol{width:106px;height:86px;padding:0;opacity:1;flex-shrink:0;line-height:0;transform:rotate(-9deg)}
:where(.sol-event) .card-symbol img{width:100%;height:100%;object-fit:contain}
:where(.sol-event) .card-data .card-symbol{transform:rotate(15deg)}
:where(.sol-event) .card-crm .card-symbol{transform:rotate(-20deg)}
:where(.sol-event) .card-action .card-symbol{transform:rotate(8deg)}
:where(.sol-event) .event-attribution{font-size:.8125rem;color:var(--muted);margin-top:20px!important;line-height:1.5}
:where(.sol-event) .form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
:where(.sol-event) .form-heading h3{margin:0}
:where(.sol-event) .event-guide{width:118px;height:auto;flex-shrink:0;transform:rotate(3deg)}
:where(.sol-event) .form-heading+p{margin-top:16px}
@keyframes artwork-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-8px) rotate(5deg)}}
@media(max-width:800px){:where(.sol-event) .title-spark{width:.85em}:where(.sol-event) .form-heading{max-width:570px}}
@media(max-width:520px){:where(.sol-event) .title-spark{width:.7em;height:.7em;margin-left:.1em}:where(.sol-event) .ribbon-spark{width:28px}:where(.sol-event) .ribbon-spark img{width:28px;height:28px}:where(.sol-event) .card-symbol{width:88px;height:70px}:where(.sol-event) .event-guide{width:92px}:where(.sol-event) .form-heading{gap:10px}:where(.sol-event) .form-heading h3{font-size:2.1rem}:where(.sol-event) .stat-spark{width:60px}}

/* Liquid glass for the floating navigation, with a readable dark-surface variant. */











/* Masquer la pillule du hero en mobile */
@media(max-width:800px){:where(.sol-event) .hero-eyebrow .event-pill{display:none}}

/* Mobile : boutons du hero et carte date centres */
@media(max-width:800px){
:where(.sol-event) .hero-actions{justify-content:center;align-items:center}
:where(.sol-event) .date-card{left:auto;right:auto;align-self:center;margin:0 auto 42px;transform:rotate(4deg)}
}

/* Carte date : effet liquid glass (identique a la navbar) */
:where(.sol-event) .date-card{isolation:isolate;background:linear-gradient(125deg,rgba(255,255,255,.48),rgba(235,234,255,.16) 45%,rgba(255,255,255,.30));-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);border:1px solid rgba(255,255,255,.65);box-shadow:0 12px 36px rgba(18,18,78,.10),0 2px 6px rgba(18,18,78,.05),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.25)}
:where(.sol-event) .date-card:before{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(115deg,rgba(255,255,255,.25),transparent 32%,transparent 70%,rgba(194,217,255,.13));box-shadow:inset 1px 0 1px rgba(255,255,255,.65),inset -1px 0 1px rgba(255,255,255,.35)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:where(.sol-event) .date-card{background:#efedf9f2}}
@media(prefers-reduced-transparency:reduce){:where(.sol-event) .date-card{background:#f3f1fc;-webkit-backdrop-filter:none;backdrop-filter:none}:where(.sol-event) .date-card:before{display:none}}

/* Ecrans larges : le hero suit le meme conteneur (1240px + 24px de gouttiere) que les sections */
@media(min-width:801px){
:where(.sol-event) .hero{--hero-pad-l:max(7%,calc((100% - 1212px)/2 + 10px));--hero-pad-r:max(6%,calc((100% - 1212px)/2 + 10px))}
:where(.sol-event) .hero-content{padding-left:var(--hero-pad-l);max-width:calc(1100px + var(--hero-pad-l))}
:where(.sol-event) .hero-bottom{margin-left:var(--hero-pad-l);margin-right:var(--hero-pad-r)}
:where(.sol-event) .date-card{right:var(--hero-pad-r)}
}
@media(min-width:801px) and (max-width:1100px){
:where(.sol-event) .hero{--hero-pad-l:6%;--hero-pad-r:5%}
}

/* Carte date remontee sur desktop, proportionnelle a la hauteur du hero */
@media(min-width:1101px){:where(.sol-event) .date-card{bottom:clamp(180px,21%,300px)}}
@media(min-width:1101px) and (min-height:850px){:where(.sol-event) .date-card{bottom:clamp(300px,38%,520px)}}

/* Carte date alignee sur le bloc chapo + description (ancrage par le haut) */
@media(min-width:1101px){:where(.sol-event) .date-card{top:calc(177px + 1.92*min(9.8vw,168px));bottom:auto}}
@media(min-width:1500px){:where(.sol-event) .date-card{top:calc(202px + 1.92*min(9.8vw,168px))}}

/* Grands ecrans : contenu du hero centre verticalement, carte date suivant le meme decalage */
@media(min-width:1101px){
:where(.sol-event) .hero{--h1f:min(9.8vw,168px);--hero-c:calc(537px + 1.92*var(--h1f));--hero-free:max(0px,calc(820px - 79px - var(--hero-c)),calc(100svh - 107px - var(--hero-c)))}
:where(.sol-event) .hero-content{margin-top:auto}
:where(.sol-event) .date-card{top:calc(177px + 1.92*var(--h1f) + var(--hero-free)/2)}
}
@media(min-width:1500px){
:where(.sol-event) .hero{--hero-c:calc(557px + 1.92*var(--h1f))}
:where(.sol-event) .date-card{top:calc(202px + 1.92*var(--h1f) + var(--hero-free)/2)}
}

/* Avatar animé du panneau d'inscription : propriétés propres à <video>.
   .sol-event img{display:block} ne cible pas <video>, et le rapport d'aspect
   ne doit pas dépendre de la traduction des attributs width/height. */
:where(.sol-event) .event-guide{display:block;aspect-ratio:1167/1347}

/* L'avatar est un WebP animé détouré, servi par une balise <img> : la transparence
   des images est composée partout, contrairement à celle des vidéos. Ni aplat de
   fond, ni mix-blend-mode, ni sélection de codec. */

/* Avatar à la hauteur du titre + du sous-titre.
   Le sous-titre rejoint le titre dans .form-heading-text : il n'est plus
   .form-panel>p ni .form-heading+p, ses déclarations sont donc reprises ici
   à l'identique.
   Au-dessus de 520 px l'avatar sort du flux et s'étire du haut du titre au bas
   du sous-titre : en flux, sa taille intrinsèque piloterait la hauteur de la
   ligne au lieu de la suivre. La gouttière réservée à droite du texte tient
   compte de sa largeur, déduite du rapport d'aspect.
   En dessous de 521 px, la largeur disponible impose de garder la taille fixe. */
:where(.sol-event) .form-heading-text>p{margin-top:16px;color:#55547a;font-size:1rem;line-height:1.5}
@media(min-width:521px){
 :where(.sol-event) .form-heading{display:block;position:relative}
 :where(.sol-event) .form-heading-text{padding-right:160px}
 :where(.sol-event) .event-guide{position:absolute;top:0;right:0;height:100%;width:auto}
}
@media(max-width:520px){
 /* Le sous-titre retrouve la pleine largeur du panneau : dans la colonne texte
    il passait de deux à quatre lignes. display:contents remet h3 et p au rang
    d'éléments de grille, p occupant les deux colonnes sous l'avatar. */
 :where(.sol-event) .form-heading{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center}
 :where(.sol-event) .form-heading-text{display:contents}
 :where(.sol-event) .form-heading-text>h3{grid-column:1;grid-row:1}
 :where(.sol-event) .form-heading-text>p{grid-column:1/-1;grid-row:2;font-size:.95rem}
 :where(.sol-event) .event-guide{grid-column:2;grid-row:1}
}
/* Respiration entre la carte sombre du décryptage et le bandeau d'inscription.
   Elle était portée par la section « Le regard Solganeo », supprimée. Valeurs
   calquées sur la transition symétrique .experience -> .programme : 90 px
   au-dessus de 800 px, 65 px en dessous. .programme{margin:0 14px} étant un
   raccourci qui fixe margin-bottom:0, seul un bloc en fin de fichier l'emporte. */
:where(.sol-event) .programme{margin-bottom:90px}
@media(max-width:800px){:where(.sol-event) .programme{margin-bottom:65px}}

/* Carte « Save the date » agrandie : un palier par plage, valeurs redonnées
   intégralement dans chacun. Une déclaration posée à la racine de ce bloc
   écraserait les quatre paliers d'un coup. Les deux paliers bas sont
   cumulatifs (800 px puis 520 px) : une plage exclusive laisserait un trou
   entre 520,0 et 521,0 px, atteignable au zoom 200 %. Dimensions justifiées
   dans specs/003-carte-date-20-novembre/research.md (D-03, D-04, D-05). */
@media(min-width:1101px){
:where(.sol-event) .date-card{width:clamp(310px,23vw,355px);padding:28px}
:where(.sol-event) .date-number{font-size:8.3rem}
:where(.sol-event) .date-number>span{font-size:2.65rem}
:where(.sol-event) .date-card-bottom small{font-size:.92rem}
:where(.sol-event) .date-card-bottom a{width:48px;height:48px}
}
@media(min-width:801px) and (max-width:1100px){
:where(.sol-event) .date-card{width:275px;padding:23px}
:where(.sol-event) .date-number{font-size:6.7rem}
:where(.sol-event) .date-card-bottom a{width:46px;height:46px}
}
@media(max-width:800px){
:where(.sol-event) .date-card{width:290px;padding:23px}
:where(.sol-event) .date-number{font-size:7.3rem}
:where(.sol-event) .date-card-bottom a{width:46px;height:46px}
}
@media(max-width:520px){
:where(.sol-event) .date-card{width:255px;padding:20px}
:where(.sol-event) .date-number{font-size:5.9rem}
:where(.sol-event) .date-number>span{font-size:2.1rem}
:where(.sol-event) .date-card-bottom small{font-size:.86rem}
}

/* One continuous landscape, then four independent programme cards.
   The unenhanced layout stays readable without JS and with reduced motion. */
:where(.sol-event) .scroll-story{position:relative;margin:24px 14px 90px;color:var(--ink)}
:where(.sol-event) .story-stage{position:relative;background:#e8e1fb;border-radius:26px}
:where(.sol-event) .story-backdrop{display:none}
:where(.sol-event) .scroll-story .experience{min-height:100svh;padding-top:110px;padding-bottom:70px}
:where(.sol-event) .scroll-story .programme{background:none;color:var(--ink);margin:0;border-radius:0}
:where(.sol-event) .scroll-story .programme-layout{display:block;padding:0;max-width:none}
:where(.sol-event) .scroll-story .programme-intro{position:relative;top:auto;max-width:850px;margin:auto;padding:90px 32px;text-align:center}
:where(.sol-event) .scroll-story .programme-intro>.eyebrow{color:var(--purple)}
:where(.sol-event) .scroll-story .programme-intro h2{font-size:clamp(2.8rem,5.5vw,5.4rem);margin-top:24px}
:where(.sol-event) .scroll-story .programme-intro h2 span{color:var(--purple)}
:where(.sol-event) .scroll-story .programme-intro p:not(.eyebrow){color:var(--muted);max-width:620px;margin:28px auto 0;font-size:1.125rem}
:where(.sol-event) .scroll-story .programme-intro .text-link{border-color:#12124e40;margin-top:24px}
:where(.sol-event) .scroll-story .programme-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:calc(100% - 64px);max-width:1240px;margin:auto;padding:0 0 32px}
:where(.sol-event) .scroll-story .programme-card{position:relative;top:auto;min-height:400px;margin:0;padding:30px;border-radius:22px;box-shadow:none;gap:20px;background:#d8cff8}
:where(.sol-event) .scroll-story .card-data{background:#c9e8ed}:where(.sol-event) .scroll-story .card-crm{background:#e4d8f2}:where(.sol-event) .scroll-story .card-action{background:#cedaf8}
:where(.sol-event) .scroll-story .card-symbol{position:absolute;right:30px;top:78px;width:56px;height:56px;opacity:.85}
:where(.sol-event) .scroll-story .card-copy{padding-top:12px}
:where(.sol-event) .scroll-story .card-copy h3{font-size:clamp(1.75rem,2.7vw,2.65rem);padding-right:65px}
:where(.sol-event) .scroll-story .card-copy p{font-size:1rem;line-height:1.5}
:where(.sol-event) .scroll-story .card-top .eyebrow{font-size:.875rem;letter-spacing:.06em}
:where(.sol-event) .scroll-story .tags>span{font-size:.875rem}
:where(.sol-event) .scroll-story .experience .eyebrow,:where(.sol-event) .scroll-story .programme-intro>.eyebrow{font-size:.875rem}
/* The four initially touching quadrants use the exact same image coordinates. */
:where(.sol-event) .story-animated .story-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:transparent;border-radius:0;isolation:isolate}
:where(.sol-event) .story-animated .story-backdrop{display:block;position:absolute;inset:0;z-index:-1;pointer-events:none}
/* Fond animé : les quatre pans sont peints dans un seul canvas (voir scroll-story.js). */
:where(.sol-event) .story-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
:where(.sol-event) .story-animated .story-experience{position:absolute;top:0;left:0;right:0;will-change:transform}
:where(.sol-event) .story-animated .experience .reveal{opacity:1;transform:none}
:where(.sol-event) .story-animated .programme-intro{position:absolute;left:0;right:0;top:0;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:110px;padding-bottom:70px;will-change:transform,opacity}
:where(.sol-event) .story-animated .programme-cards{position:absolute;left:0;right:0;top:0;padding-top:104px;will-change:transform}
:where(.sol-event) .story-animated .programme-card{background:transparent;color:white}
:where(.sol-event) .story-animated .programme-card>*{opacity:var(--card-reveal,0);transform:translateY(var(--card-lift,24px));will-change:opacity,transform}
:where(.sol-event) .story-animated .programme-card .chapter{border-color:#ffffff70}
:where(.sol-event) .story-animated .card-copy .card-outcome{border-color:#ffffff50}
:where(.sol-event) .story-animated .tags>span{border-color:#ffffff60;background:#ffffff0a}
:where(.sol-event) .story-animated .programme-intro .text-link{flex:none}
@media(max-width:800px){
 :where(.sol-event) .scroll-story{margin:16px 8px 65px}
 :where(.sol-event) .scroll-story .experience{gap:32px;padding:100px 24px 55px;grid-template-columns:1fr}
 :where(.sol-event) .scroll-story .experience-visual{padding:0;max-width:580px;width:100%;margin:auto}
 :where(.sol-event) .scroll-story .experience h2{font-size:clamp(2.5rem,6vw,3.7rem)}
 :where(.sol-event) .scroll-story .programme-cards{width:calc(100% - 32px);gap:16px}
 :where(.sol-event) .scroll-story .programme-card{padding:24px}
 :where(.sol-event) .scroll-story .card-top .eyebrow{font-size:.875rem;letter-spacing:.02em}
 :where(.sol-event) .scroll-story .card-symbol{right:24px;width:40px;height:40px;top:90px}
 :where(.sol-event) .scroll-story .card-copy h3{padding-right:42px;font-size:2rem}
 :where(.sol-event) .scroll-story .programme-intro{padding-left:24px;padding-right:24px}
}
@media(max-width:600px){
 :where(.sol-event) .scroll-story .programme-cards{grid-template-columns:1fr}
 :where(.sol-event) .scroll-story .programme-card{min-height:430px}
 :where(.sol-event) .scroll-story .programme-intro h2{font-size:clamp(2.6rem,10vw,3.8rem)}
 :where(.sol-event) .scroll-story .programme-intro p:not(.eyebrow){font-size:1rem}
 :where(.sol-event) .scroll-story .experience .muted{font-size:1rem}
 :where(.sol-event) .scroll-story .card-copy h3{font-size:2.1rem}
 :where(.sol-event) .story-animated .programme-cards{padding-top:94px;padding-bottom:90px}
}
@media(prefers-reduced-motion:reduce){
 :where(.sol-event) .scroll-story .programme-intro,:where(.sol-event) .scroll-story .programme-card{position:relative;top:auto}
}

/* Mention de consentement sous le formulaire */
:where(.sol-event) .ev-form-note{font-size:.7rem;line-height:1.4}
:where(.sol-event) .form-note-consent{margin-top:6px;max-width:460px;font-size:.645rem}
@media(max-width:800px){:where(.sol-event) .ev-form-note{font-size:.655rem}:where(.sol-event) .form-note-consent{font-size:.62rem}}

/* En-tête du site posé sur le hero (spec 005). Hors de .sol-event, pour
   échapper aux règles de la maquette ; .ev-page lui sert de repère, ce qui
   le garde sous la barre d'administration. Même marge que le hero. */
.ev-page{position:relative}
.ev-header{position:absolute;top:14px;left:14px;right:14px;z-index:50}
@media(max-width:520px){.ev-header{top:8px;left:8px;right:8px}}

/* Barre flottante « liquid glass » (spec 006). Au-delà du hero, event.js pose
   .is-fixed : même seuil, forme et matière que la barre de la maquette.
   Le verre est peint sur ::before et le reflet sur ::after, JAMAIS sur
   .ev-header ou .subnav : un ancêtre portant transform, filter ou
   backdrop-filter deviendrait le bloc conteneur du menu mobile, qui serait
   réduit à la taille de la pilule. Même raison pour le centrage par left et
   right plutôt que par translateX. */
.ev-header{transition:top .35s}
.ev-header.is-fixed{position:fixed;top:12px;left:max(24px,calc((100% - 1240px)/2));right:max(24px,calc((100% - 1240px)/2));border-radius:100px;isolation:isolate}
.ev-header.is-fixed::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.48),rgba(235,234,255,.16) 45%,rgba(255,255,255,.30));-webkit-backdrop-filter:blur(22px) saturate(175%);backdrop-filter:blur(22px) saturate(175%);border:1px solid rgba(255,255,255,.65);box-shadow:0 12px 36px rgba(18,18,78,.10),0 2px 6px rgba(18,18,78,.05),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.25)}
.ev-header.is-fixed::after{content:'';position:absolute;inset:1px;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.25),transparent 32%,transparent 70%,rgba(194,217,255,.13));box-shadow:inset 1px 0 1px rgba(255,255,255,.65),inset -1px 0 1px rgba(255,255,255,.35)}
.ev-header.is-fixed .subnav{padding-top:.85rem;padding-bottom:.85rem}
@media(max-width:800px){.ev-header.is-fixed{left:16px;right:16px}.ev-header.is-fixed .subnav{padding-top:.7rem;padding-bottom:.7rem}}
@media(max-width:520px){.ev-header.is-fixed{left:12px;right:12px;top:12px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ev-header.is-fixed::before{background:#f3f1fc}}
@media(prefers-reduced-transparency:reduce){.ev-header.is-fixed::before{background:#f3f1fc;-webkit-backdrop-filter:none;backdrop-filter:none}}
body.admin-bar .ev-header.is-fixed{top:44px}
@media(max-width:782px){body.admin-bar .ev-header.is-fixed{top:58px}}
@media(max-width:600px){body.admin-bar .ev-header.is-fixed{top:12px}}

/* Bouton « Je m'inscris » de l'en-tête, à la place de « Nous contacter »
   (spec 006) : .button + .button-small de la maquette. */
.ev-header .btn-register{display:inline-flex;align-items:center;gap:16px;padding:14px 23px;min-height:48px;border:0;border-radius:100px;background:#12124e;color:#fff;font-weight:500;font-size:.875rem;transition:background .25s,transform .25s,box-shadow .25s}
.ev-header .btn-register:hover{background:#6654df;border-color:transparent;transform:translateY(-3px);box-shadow:0 8px 24px #6654df25}
.ev-header .btn-register .ui-arrow{width:20px;height:20px;flex-shrink:0}
@media(prefers-reduced-motion:reduce){.ev-header,.ev-header::before,.ev-header::after,.ev-header .btn-register{transition:none}.ev-header .btn-register:hover{transform:none}}

/* Barre flottante au-dessus du sombre (spec 008). scroll-story.js pose
   .on-dark quand la barre survole le fond assombri des cartes. Le verre
   s'assombrit sur ::before / ::after, jamais sur .ev-header (menu mobile) ;
   .btn-register n'est jamais ciblé. Le logo passe à sa version pour fond
   foncé (.brand-logo-dark, posée par nav.php) : les deux images sont
   superposées dans la même case et se relaient en fondu. body.nav-open
   exclut le menu plein écran, qui reste clair. */
.ev-header .brand{display:grid;align-items:center}
.ev-header .brand>img{grid-area:1/1;transition:opacity .3s}
.ev-header .brand-logo-dark{opacity:0}
.ev-header::before{transition:background .3s,border-color .3s,box-shadow .3s}
.ev-header::after{transition:opacity .3s}
.ev-header .nav-links a,.ev-header .lang-switch,.ev-header .lang-link,.ev-header .subnav .nav-toggle{transition:color .3s,background-color .3s,border-color .3s}
.ev-header .nav-toggle-bars span{transition:transform .32s var(--ease-out),opacity .2s linear,background .3s}
body:not(.nav-open) .ev-header.is-fixed.on-dark::before{background:linear-gradient(125deg,rgba(24,23,56,.68),rgba(20,19,48,.64) 50%,rgba(28,26,64,.64));border-color:rgba(255,255,255,.32);box-shadow:0 12px 36px rgba(5,5,25,.16),inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(255,255,255,.12)}
body:not(.nav-open) .ev-header.is-fixed.on-dark::after{opacity:.2}
body:not(.nav-open) .ev-header.is-fixed.on-dark .brand>img{opacity:0}
body:not(.nav-open) .ev-header.is-fixed.on-dark .brand>.brand-logo-dark{opacity:1}
body:not(.nav-open) .ev-header.is-fixed.on-dark .nav-links a{color:#fff}
body:not(.nav-open) .ev-header.is-fixed.on-dark .lang-switch{border-color:rgba(255,255,255,.32)}
body:not(.nav-open) .ev-header.is-fixed.on-dark .lang-link{color:#fff}
body:not(.nav-open) .ev-header.is-fixed.on-dark .lang-link:hover,body:not(.nav-open) .ev-header.is-fixed.on-dark .lang-link.is-current{color:#fff}
body:not(.nav-open) .ev-header.is-fixed.on-dark .lang-link.is-current{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
body:not(.nav-open) .ev-header.is-fixed.on-dark .subnav .nav-toggle{background:rgba(12,12,40,.22)}
body:not(.nav-open) .ev-header.is-fixed.on-dark .nav-toggle-bars span{background:#fff}
@media(prefers-reduced-motion:reduce){.ev-header .brand>img,.ev-header::before,.ev-header::after,.ev-header .nav-links a,.ev-header .lang-switch,.ev-header .lang-link,.ev-header .subnav .nav-toggle,.ev-header .nav-toggle-bars span{transition:none}}

/* Confirmation d'inscription (spec 007) : balisage de la page Contact, dont
   contact.css porte déjà le style. Les règles d'éléments de la maquette
   (.sol-event h2, .sol-event p) pèsent autant et chargent après : on les
   reprend donc sous .sol-event .form-success. Marge haute : sf-lead.js fait
   défiler jusqu'au bloc, qui ne doit pas passer sous la barre flottante. */
.sol-event .form-success{scroll-margin-top:100px;padding:1.5rem 0}
.sol-event .form-success h2{font-size:2rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-top:.25rem}
.sol-event .form-success p{font-size:1.0625rem;line-height:1.6;color:#55547a;max-width:420px;margin-top:.4rem}
.sol-event .form-success .back-home{margin-top:1.4rem;color:#685ef8;font-weight:600;display:inline-block}
.sol-event .form-panel .captcha-field{margin:0 0 20px}
