:root{--red:#df0a22;--red-dark:#af0719;--ink:#17202a;--muted:#657080;--cream:#f8f5f2;--line:#e9e5e2;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;color:var(--ink);background:#fbfaf9;line-height:1.65}h1,h2,h3,h4,h5,.brand{font-family:"Manrope",sans-serif}a{transition:.2s ease}.site-header{height:82px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(20,20,20,.06);position:sticky;top:0;z-index:1030;backdrop-filter:blur(14px)}.site-header .navbar{height:82px}.brand,.footer-brand{display:flex;align-items:center;color:var(--ink);text-decoration:none!important}.brand-mark{width:44px;height:44px;border-radius:13px;background:var(--red);color:#fff;display:grid;place-items:center;margin-right:12px;box-shadow:0 8px 20px rgba(223,10,34,.2)}.brand span:last-child,.footer-brand span:last-child{display:flex;flex-direction:column;line-height:1.15}.brand b{font-size:16px}.brand small,.footer-brand small{font-size:11px;color:var(--muted);letter-spacing:.04em;margin-top:4px}.nav-link{font-weight:600;color:#424b57!important;margin:0 8px}.nav-link:hover{color:var(--red)!important}.btn{border-radius:10px;font-weight:700;border-width:0;padding:.7rem 1.2rem}.btn-crb{background:var(--red);color:#fff!important;box-shadow:0 9px 22px rgba(223,10,34,.18)}.btn-crb:hover{background:var(--red-dark);transform:translateY(-1px)}.nav-cta{margin-left:14px}.hero{min-height:670px;background:linear-gradient(130deg,#fbf8f5 0%,#fff 50%,#f9eded 100%);position:relative;overflow:hidden;display:flex;align-items:center}.hero-content{position:relative;z-index:2;padding-top:60px;padding-bottom:70px}.hero h1{font-size:clamp(44px,5.5vw,76px);line-height:1.04;letter-spacing:-.045em;font-weight:800;margin:20px 0 24px}.hero h1 span{color:var(--red)}.hero-lead{font-size:20px;color:var(--muted);max-width:650px}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--red)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0}.btn-soft{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 24px rgba(22,32,42,.06)}.hero-trust{display:flex;flex-wrap:wrap;gap:22px;color:#55606d;font-size:13px;font-weight:600}.hero-trust i{color:var(--red);margin-right:6px}.hero-card{background:rgba(255,255,255,.86);padding:36px;border-radius:26px;border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 80px rgba(45,24,27,.14);transform:rotate(1.5deg);backdrop-filter:blur(16px)}.hero-card-icon{width:62px;height:62px;border-radius:18px;background:#feecef;color:var(--red);display:grid;place-items:center;font-size:25px;margin-bottom:24px}.mini-label{font-size:12px;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.hero-card h3{font-size:25px;line-height:1.35;margin:10px 0 28px}.mini-step{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.mini-step b{color:var(--red);font-size:12px}.mini-step span{font-weight:600}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px)}.hero-orb-one{width:360px;height:360px;background:rgba(223,10,34,.07);right:-90px;top:-100px}.hero-orb-two{width:220px;height:220px;border:50px solid rgba(223,10,34,.05);left:-80px;bottom:-80px}.section-space{padding:100px 0}.section-heading{max-width:640px;margin:0 auto 55px}.section-heading h2,.levels-section h2,.cta-card h2{font-size:40px;font-weight:800;letter-spacing:-.035em;margin:12px 0}.section-heading p,.levels-section p{color:var(--muted);font-size:17px}.feature-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;position:relative;box-shadow:0 12px 40px rgba(36,30,31,.045);transition:.25s}.feature-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(36,30,31,.09);border-color:#f0cdd1}.feature-number{position:absolute;right:24px;top:18px;font-family:"Manrope";font-size:32px;font-weight:800;color:#eee9e7}.feature-icon{width:52px;height:52px;border-radius:14px;background:#fff0f2;color:var(--red);display:grid;place-items:center;font-size:20px;margin-bottom:24px}.feature-card h3{font-size:20px;font-weight:800}.feature-card p{color:var(--muted);margin:0}.levels-section{padding:90px 0;background:var(--cream)}.levels-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.level-pill{background:#fff;border-radius:18px;padding:26px;display:flex;align-items:center;gap:18px;box-shadow:0 10px 35px rgba(31,25,26,.05)}.level-pill>i{width:48px;height:48px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center}.level-pill span{display:flex;flex-direction:column;color:var(--muted);font-size:13px}.level-pill b{color:var(--ink);font-size:18px}.level-wide{grid-column:1/-1}.text-link{font-weight:800;color:var(--red)}.cta-section{padding:80px 0}.cta-card{background:linear-gradient(125deg,var(--red-dark),var(--red));color:#fff;border-radius:26px;padding:50px 55px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 24px 55px rgba(223,10,34,.22)}.eyebrow.light{color:#ffcbd1}.cta-card h2{margin-bottom:0}.site-footer{padding:38px 0;background:#151b22;color:#adb4bd}.footer-brand{color:#fff}.brand-mark.small{width:38px;height:38px;border-radius:10px}.site-footer p{margin:0;font-size:13px}
/* Formulaire */
#container-image{background:linear-gradient(125deg,#a90719,#e20a24)!important;padding:58px 7%!important;min-height:170px;display:flex;flex-direction:column;justify-content:center;border-radius:0 0 28px 28px;box-shadow:0 18px 40px rgba(160,5,23,.15)}#container-image h4{font-size:32px}#container-image p{margin:8px 0 0!important;text-align:left!important;opacity:.87;max-width:720px}.tab.card{border:0;border-radius:20px;box-shadow:0 15px 45px rgba(29,24,25,.08)!important;overflow:hidden}.tab .card-header{background:#fff;border-bottom:1px solid #eee8e6;padding:24px 30px;font-family:"Manrope";font-size:18px}.tab .card-body{padding:30px}.form-control{height:50px;border-radius:10px;border:1px solid #ddd8d5;padding:10px 14px}.form-control:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(223,10,34,.09)}label{font-weight:700;font-size:14px}.candidate-card{background:#fff;border:1px solid #e9e3e1!important;border-radius:16px!important}.candidate-card h5{color:var(--ink);font-size:17px}.candidate-card .alert{background:#f6f8f8;border:0!important}.step{width:34px!important;height:7px!important;border-radius:20px!important}.form-check-input{margin-top:.4rem}#prevBtn,#nextBtn,#submitBtn{padding:12px 25px!important;border-radius:10px!important}#nextBtn,#submitBtn{background:var(--red)!important}.alert-info{background:#f0f6f8;border:0;color:#3a5965;border-radius:12px}
@media(max-width:767px){.site-header,.site-header .navbar{height:auto;min-height:72px}.navbar-collapse{padding:16px 0}.nav-cta{margin:8px 0 0}.hero{min-height:auto}.hero-content{padding:70px 20px}.hero h1{font-size:43px}.hero-lead{font-size:17px}.hero-actions .btn{width:100%}.hero-trust{display:grid;gap:8px}.section-space,.levels-section,.cta-section{padding:65px 0}.section-heading h2,.levels-section h2,.cta-card h2{font-size:31px}.levels-grid{grid-template-columns:1fr}.level-wide{grid-column:auto}.cta-card{padding:35px 25px;display:block}.cta-card .btn{margin-top:22px;width:100%}.site-footer{text-align:center}.footer-brand{justify-content:center;margin-bottom:20px}#container-image{padding:40px 24px!important;border-radius:0 0 20px 20px}#container-image h4{font-size:25px}.tab .card-header,.tab .card-body{padding:22px 20px}}

/* Logo officiel */
.brand-mark{width:52px;height:52px;border-radius:50%;background:#fff;color:var(--red);padding:3px;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 8px 20px rgba(223,10,34,.14)}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.brand-mark.small{width:46px;height:46px;border-radius:50%;background:#fff}

/* Zone de dépôt des dossiers */
.candidate-dropzone{border:2px dashed #d9d1cf;border-radius:16px;background:#fcfbfa;min-height:185px;padding:24px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;outline:0;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.candidate-dropzone:hover,.candidate-dropzone:focus{border-color:#e7838f;background:#fff7f8;box-shadow:0 0 0 4px rgba(223,10,34,.05)}
.candidate-dropzone.is-dragging{border-color:var(--red);background:#fff0f2;transform:scale(1.01);box-shadow:0 12px 30px rgba(223,10,34,.12)}
.dropzone-empty{display:flex;flex-direction:column;align-items:center;color:var(--muted)}
.dropzone-empty strong{color:var(--ink);font-size:16px;margin:12px 0 2px}
.dropzone-empty>span:not(.dropzone-icon){font-size:14px}
.dropzone-empty small{margin-top:12px;color:#8b929b}
.dropzone-icon{width:52px;height:52px;border-radius:15px;background:#feecef;color:var(--red);display:grid;place-items:center;font-size:22px}
.dropzone-selected{width:100%;align-items:center;text-align:left;background:#fff;border:1px solid #ece6e4;border-radius:13px;padding:16px;box-shadow:0 8px 24px rgba(30,24,25,.06)}
.file-icon{width:46px;height:46px;flex:0 0 auto;border-radius:12px;background:#fff0f2;color:var(--red);display:grid;place-items:center;font-size:19px;margin-right:13px}
.file-details{min-width:0;display:flex;flex:1;flex-direction:column}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.file-size{color:var(--muted)}
.remove-dossier{width:36px;height:36px!important;padding:0!important;border-radius:50%!important;background:#f3efed!important;color:#6b7179!important;flex:0 0 auto;margin-left:10px}.remove-dossier:hover{background:#feecef!important;color:var(--red)!important}
.file-error{display:block;margin-top:7px}

/* Bouton de vérification des membres */
.lookup-member{background:#fff!important;border:1px solid var(--red)!important;color:var(--red)!important;min-height:50px;box-shadow:none}
.lookup-member:hover{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;box-shadow:0 8px 18px rgba(223,10,34,.18)!important}
.lookup-member:focus,.lookup-member:active{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;box-shadow:0 0 0 3px rgba(223,10,34,.14)!important}
.lookup-member:disabled{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;cursor:wait;opacity:.82}

/* État du calendrier de dépôt */
.period-notice{display:flex!important;align-items:flex-start;gap:12px;border-radius:12px;padding:15px 17px;margin:-2px 0 22px;font-size:14px;font-weight:600}
.period-notice[style*="display:none"]{display:none!important}
.period-notice i{font-size:18px;margin-top:2px}.period-notice.is-open{background:#edf8f1;color:#267043;border:1px solid #cdebd8}.period-notice.is-closed{background:#fff2f3;color:#a70c20;border:1px solid #f4cbd0}

/* Pied de page clair */
.site-footer{background:#fff;color:#6f7885;border-top:1px solid #ebe7e5;box-shadow:0 -8px 30px rgba(31,26,27,.025)}
.site-footer .footer-brand{color:var(--ink)}
.site-footer .footer-brand small{color:#7b8490}

/* Calendrier public */
.calendar-section{padding:95px 0;background:#fff;border-top:1px solid #f0ecea}.calendar-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.calendar-heading h2{font-size:40px;font-weight:800;letter-spacing:-.035em;margin:11px 0 5px}.calendar-heading p{color:var(--muted);margin:0}.calendar-live{font-size:11px;font-weight:700;color:#6f7883;background:#f7f5f3;border-radius:20px;padding:8px 12px}.calendar-live span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#32a45f;margin-right:6px;box-shadow:0 0 0 4px rgba(50,164,95,.12)}.public-calendar-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;position:relative;overflow:hidden;box-shadow:0 12px 38px rgba(33,27,28,.055);transition:.25s}.public-calendar-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:#c9c3c0}.public-calendar-card.state-open:before{background:#31a35e}.public-calendar-card.state-upcoming:before{background:#d99718}.public-calendar-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(33,27,28,.09)}.calendar-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.calendar-level-icon{width:48px;height:48px;border-radius:14px;background:#fff0f2;color:var(--red);display:grid;place-items:center;font-size:18px}.calendar-status{border-radius:20px;padding:6px 9px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.calendar-status i{font-size:6px;margin-right:4px}.status-open{background:#e3f5e9;color:#287447}.status-upcoming{background:#fff2d7;color:#8a6415}.status-closed{background:#fee9ec;color:#a20c20}.status-missing{background:#f0eeee;color:#77716f}.calendar-kicker{text-transform:uppercase;letter-spacing:.12em;color:#9a9290;font-size:9px;font-weight:800}.public-calendar-card h3{font-size:22px;font-weight:800;margin:4px 0 23px}.calendar-dates{display:flex;align-items:center;background:#faf8f7;border-radius:14px;padding:16px;margin-bottom:18px}.calendar-dates>div{display:flex;align-items:center;min-width:0;flex:1}.date-icon{width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#e8f5ec;color:#29804c;display:grid;place-items:center;margin-right:9px;font-size:10px}.date-icon.end{background:#feecef;color:var(--red)}.calendar-dates>div>span:last-child{display:flex;flex-direction:column;line-height:1.25}.calendar-dates small{font-size:8px;text-transform:uppercase;color:#9299a0;font-weight:800}.calendar-dates b{font-size:12px}.calendar-dates em{font-size:9px;color:#818891;font-style:normal}.date-line{width:1px;height:40px;background:#e3dedb;margin:0 12px}.calendar-empty{height:83px;background:#faf8f7;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;color:#8b9299;font-size:11px;padding:15px;margin-bottom:18px}.calendar-empty i{font-size:20px;color:#c4bcba}.calendar-message{color:#747d88;font-size:11px;min-height:37px;margin-bottom:18px}.calendar-action{display:flex;align-items:center;justify-content:space-between;border-radius:10px;background:var(--red);color:#fff;text-decoration:none;padding:11px 13px;font-size:11px;font-weight:800}.calendar-action:hover{background:var(--red-dark);color:#fff}.calendar-action.disabled{background:#f3f0ef;color:#99918e}.calendar-action.disabled i{font-size:9px}
@media(max-width:767px){.calendar-section{padding:65px 0}.calendar-heading{display:block}.calendar-heading h2{font-size:31px}.calendar-live{display:inline-block;margin-top:15px}}
