html,body{overflow-x:hidden}

:root{--rouge:#E1633B;--rouge-dark:#C4512C;--rouge-bg:rgba(225,99,59,0.10);--dore:#B5A07A;--dore-dark:#8C7A58;--noir:#1A1A1A;--noir2:#242424;--creme:#FAF8F5;--beige:#F0EBE3;--beige-dark:#E2D9CE;--text:#2C2C2C;--muted:#6B6055;--white:#FFFFFF;--font:'Montserrat',sans-serif;--ease:0.3s ease;--r:6px;--sh:0 4px 24px rgba(0,0,0,0.08);--sh2:0 8px 40px rgba(0,0,0,0.12)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;font-size:16px}
body{font-family:var(--font);background:var(--creme);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font-family:var(--font);border:none;outline:none;background:none}
*:focus-visible{outline:2px solid var(--rouge);outline-offset:2px}
.container{max-width:1100px;margin:0 auto;padding:0 2rem}
.tag{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge);display:inline-block;margin-bottom:.8rem}
.titre{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;color:var(--noir);line-height:1.15;margin-bottom:.9rem}
.sous-titre{font-size:1rem;color:var(--muted);line-height:1.75;font-weight:400;max-width:580px}
.filet{width:40px;height:3px;background:var(--rouge);margin:1.1rem 0;border-radius:2px}
.btn{display:inline-block;padding:.72rem 1.7rem;border-radius:var(--r);font-family:var(--font);font-size:.88rem;font-weight:600;letter-spacing:.04em;transition:all var(--ease);cursor:pointer}
.btn-rouge{background:var(--rouge);color:var(--white);border:2px solid var(--rouge)}
.btn-rouge:hover{background:var(--rouge-dark);border-color:var(--rouge-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(225,99,59,.3)}
.btn-contour{background:transparent;color:var(--noir);border:2px solid var(--beige-dark)}
.btn-contour:hover{border-color:var(--rouge);color:var(--rouge);transform:translateY(-2px)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.on{opacity:1;transform:none}

/* HEADER */
#hdr{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(250,248,245,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--ease),box-shadow var(--ease)}
#hdr.scrolled{border-color:var(--beige-dark);box-shadow:0 2px 16px rgba(0,0,0,.07)}
.hdr-inner{max-width:1100px;margin:0 auto;padding:0 2rem;height:70px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.logo{display:flex;align-items:center;gap:.3rem;flex-shrink:0}
.logo-img{height:40px;width:auto}
.logo-fb{display:none;align-items:center;gap:0}
.lt1{font-size:1.1rem;font-weight:800;color:var(--noir);letter-spacing:.1em}
.ldot{width:6px;height:6px;border-radius:50%;background:var(--rouge);margin:0 3px;flex-shrink:0}
.lt2{font-size:1.1rem;font-weight:500;color:var(--dore-dark);letter-spacing:.08em}
.nav-d{display:flex;align-items:center;gap:1.6rem}
.nav-d a{font-size:.85rem;font-weight:500;color:var(--text);position:relative;transition:color var(--ease);white-space:nowrap}
.nav-d a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:2px;background:var(--rouge);transition:width var(--ease);border-radius:1px}
.nav-d a:hover{color:var(--rouge)}
.nav-d a:hover::after{width:100%}
.hdr-cta{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.btn-connect{padding:.45rem 1rem;font-size:.82rem;font-weight:500;color:var(--text);border:1.5px solid var(--beige-dark);border-radius:var(--r);transition:all var(--ease);white-space:nowrap;display:inline-block}
.btn-connect:hover{border-color:var(--rouge);color:var(--rouge)}
.btn-soon{position:relative;padding:.45rem 1rem;font-size:.82rem;font-weight:600;color:var(--muted);background:var(--beige-dark);border:1.5px solid var(--beige-dark);border-radius:var(--r);cursor:not-allowed;white-space:nowrap}
.badge-soon{position:absolute;top:-7px;right:-7px;background:var(--dore);color:var(--white);font-size:.5rem;font-weight:700;padding:2px 5px;border-radius:10px;white-space:nowrap}
.burger{display:none;flex-direction:column;gap:5px;padding:4px}
.burger span{display:block;width:22px;height:2px;background:var(--noir);border-radius:2px;transition:all var(--ease)}
.burger.on span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-m{display:none;flex-direction:column;background:var(--creme);border-top:1px solid var(--beige-dark);padding:1.5rem 2rem 2rem}
.nav-m.on{display:flex}
.nav-m a{padding:.8rem 0;font-size:1rem;font-weight:500;border-bottom:1px solid var(--beige);color:var(--text);transition:color var(--ease)}
.nav-m a:hover{color:var(--rouge)}
.nav-m-cta{display:flex;flex-direction:column;gap:.7rem;margin-top:1.6rem}
.nav-m-cta a{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;padding:.95rem 1rem;font-size:1rem;font-weight:600;text-align:center;border-bottom:none;border-radius:var(--r);white-space:nowrap}
.nav-m-cta .btn-connect{border:1.5px solid var(--beige-dark)}
.nav-m-cta .btn-rouge{padding:.95rem 1rem;font-size:1rem}

/* HERO */
#hero{padding:130px 0 90px;background:var(--creme);position:relative;overflow:hidden}
.hero-deco{position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at 80% 30%,rgba(181,160,122,.1) 0%,transparent 65%);pointer-events:none}
.hero-svg{position:absolute;top:40px;right:-60px;opacity:.05;pointer-events:none}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--beige);border:1px solid var(--beige-dark);border-radius:20px;padding:.35rem 1rem;font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem}
.hero-dot{width:6px;height:6px;border-radius:50%;background:var(--rouge);flex-shrink:0}
.hero-h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;color:var(--noir);line-height:1.08;letter-spacing:-.01em}
.hero-h1 span{color:var(--rouge)}
.hero-sub{font-size:clamp(.95rem,1.8vw,1.05rem);color:var(--muted);max-width:560px;line-height:1.8;font-weight:400;margin:1.4rem 0 2.2rem}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}
.hero-stats{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--beige-dark);display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.hs-item{display:flex;gap:.8rem;align-items:flex-start}
.hs-icon{width:36px;height:36px;background:var(--rouge-bg);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hs-icon svg{width:16px;height:16px;color:var(--rouge)}
.hs-t{font-size:.82rem;font-weight:700;color:var(--noir);margin-bottom:.2rem;line-height:1.3}
.hs-d{font-size:.78rem;color:var(--muted);line-height:1.5}

/* HISTOIRE */
#histoire{padding:100px 0;background:var(--beige)}
.hist-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.hist-img{background:var(--beige-dark);border-radius:8px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hist-img img{width:100%;height:100%;object-fit:cover}
.hist-ph{display:flex;flex-direction:column;align-items:center;gap:.8rem;color:var(--dore-dark);opacity:.4;font-size:.82rem;font-weight:500}
.hist-ph svg{width:60px;height:60px}
.tl{margin-top:2rem;display:flex;flex-direction:column;gap:1.2rem}
.tl-row{display:flex;gap:1.2rem;align-items:flex-start}
.tl-y{font-size:.75rem;font-weight:700;color:var(--rouge);min-width:44px;padding-top:.15rem;letter-spacing:.05em}
.tl-t{font-size:.9rem;color:var(--muted);line-height:1.65;border-left:2px solid var(--beige-dark);padding-left:1rem}

/* MISSION */
#mission{padding:100px 0;background:var(--creme)}
.mis-intro{max-width:680px;margin-bottom:3rem}
.mis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3.5rem}
.mc{background:var(--beige);border:1px solid var(--beige-dark);border-radius:8px;padding:1.8rem;transition:box-shadow var(--ease),transform var(--ease)}
.mc:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.mc-n{font-size:2.2rem;font-weight:800;color:var(--beige-dark);line-height:1;margin-bottom:.8rem}
.mc-t{font-size:.95rem;font-weight:700;color:var(--noir);margin-bottom:.6rem;line-height:1.35}
.mc-d{font-size:.88rem;color:var(--muted);line-height:1.7}
.mis-dark{background:var(--noir);border-radius:10px;padding:3rem;color:var(--white)}
.mis-dark .tag{color:var(--dore)}
.mis-dark .titre{color:var(--white)}
.mis-dark .filet{background:var(--rouge)}
.obj-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.obj-row{display:flex;gap:1rem;align-items:flex-start}
.obj-ic{width:32px;height:32px;background:rgba(225,99,59,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.obj-ic svg{width:14px;height:14px}
.obj-txt{font-size:.88rem;color:rgba(255,255,255,.85);line-height:1.7}
.obj-txt strong{display:block;color:var(--white);font-weight:600;font-size:.9rem;margin-bottom:.2rem}

/* PROGRAMMES */
#programmes{padding:100px 0;background:var(--beige)}
.prog-intro{max-width:650px;margin-bottom:3rem}
.tabs{display:flex;border-bottom:2px solid var(--beige-dark);margin-bottom:2.5rem;flex-wrap:wrap}
.tab{padding:.7rem 1.4rem;font-family:var(--font);font-size:.85rem;font-weight:600;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all var(--ease);letter-spacing:.04em}
.tab.on{color:var(--rouge);border-bottom-color:var(--rouge)}
.tab:hover{color:var(--text)}
.panel{display:none}
.panel.on{display:block}
/* Arabe panel : 2 colonnes côte à côte */
.arabe-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}
.arabe-col-titre{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:1px solid var(--beige-dark)}
.prog-cards{display:flex;flex-direction:column;gap:1.2rem}
.pc{background:var(--white);border:1px solid var(--beige-dark);border-radius:8px;padding:1.6rem;position:relative;overflow:hidden;transition:box-shadow var(--ease),transform var(--ease)}
.pc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--rouge)}
.pc:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.pc-lv{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--rouge);margin-bottom:.5rem}
.pc-t{font-size:1rem;font-weight:700;color:var(--noir);margin-bottom:.6rem;line-height:1.3}
.pc-d{font-size:.86rem;color:var(--muted);line-height:1.65;margin-bottom:.9rem}
.pc-i{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--muted);margin-top:.35rem}
.pc-i svg{width:13px;height:13px;flex-shrink:0;color:var(--dore-dark)}
.pc-badge{display:inline-block;background:var(--rouge-bg);color:var(--rouge);font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.pc-badge-dore{display:inline-block;background:rgba(181,160,122,.15);color:var(--dore-dark);font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
/* Mémo panel : grille auto */
.memo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;margin-bottom:1.5rem}
.prog-note{margin-top:1.5rem;padding:1rem 1.4rem;background:rgba(181,160,122,.1);border-left:3px solid var(--dore);border-radius:0 4px 4px 0;font-size:.88rem;color:var(--muted);font-style:italic}

/* METHODE */
#methode{padding:100px 0;background:var(--creme)}
.meth-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:start}
.meth-cite{margin:2rem 0;padding:1.4rem 1.8rem;background:var(--beige);border-left:3px solid var(--dore);border-radius:0 6px 6px 0;font-size:1rem;font-weight:500;color:var(--noir);line-height:1.65;font-style:italic}
.meth-pts{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem}
.mpt{display:flex;gap:1rem;align-items:flex-start}
.mpt-ic{width:30px;height:30px;background:var(--rouge-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.mpt-ic svg{width:13px;height:13px;color:var(--rouge)}
.mpt-tx{font-size:.9rem;color:var(--text);line-height:1.65}
.mpt-tx strong{color:var(--noir);font-weight:700}
.humain{background:var(--noir);border-radius:10px;padding:2rem}
.humain-t{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rouge);margin-bottom:1.2rem}
.humain-list{display:flex;flex-direction:column;gap:1rem}
.hi{display:flex;gap:.8rem;align-items:flex-start}
.hi-dot{width:6px;height:6px;border-radius:50%;background:var(--dore);flex-shrink:0;margin-top:.45rem}
.hi-tx{font-size:.85rem;color:rgba(255,255,255,.85);line-height:1.6}
.hi-tx strong{color:var(--white);font-weight:600}
.meth-stats{display:flex;flex-direction:column;gap:1rem}
.mst{background:var(--beige);border:1px solid var(--beige-dark);border-radius:8px;padding:1.4rem;text-align:center;transition:box-shadow var(--ease)}
.mst:hover{box-shadow:var(--sh)}
.mst-n{font-size:2rem;font-weight:800;color:var(--rouge)}
.mst-l{font-size:.82rem;color:var(--muted);margin-top:.25rem;font-weight:500}
.mst-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* TEMOIGNAGES */
#temoignages{padding:100px 0;background:var(--beige)}
/* CTA FINAL */
#cta-final{padding:100px 0;background:var(--creme)}
.temo-intro{max-width:580px;margin-bottom:3rem}
.temo-slider-wrap{position:relative}
.temo-grid{display:flex;align-items:flex-start;gap:1.25rem;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.temo-grid::-webkit-scrollbar{display:none}
.temo-dots{display:none;justify-content:center;gap:8px;margin-top:20px}.temo-dot{width:8px;height:8px;border-radius:50%;background:var(--beige-dark);border:none;cursor:pointer;transition:all 0.2s;padding:0}.temo-dot.active{background:var(--rouge);transform:scale(1.3)}
/* Fleches de navigation (desktop) */
.temo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:var(--white);border:1.5px solid var(--beige-dark);color:var(--noir);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--sh);transition:border-color var(--ease),color var(--ease),transform var(--ease)}
.temo-arrow:hover{border-color:var(--rouge);color:var(--rouge);transform:translateY(-50%) scale(1.07)}
.temo-arrow svg{width:20px;height:20px}
.temo-arrow--prev{left:-12px}.temo-arrow--next{right:-12px}
.temo-arrow[disabled]{opacity:0;pointer-events:none}
.temo-slider-wrap.no-scroll .temo-arrow,.temo-slider-wrap.no-scroll .temo-dots{display:none!important}
.temo-c{flex:0 0 clamp(280px,30%,340px);scroll-snap-align:start;background:var(--white);border:1px solid var(--beige-dark);border-radius:8px;padding:1.8rem;transition:box-shadow var(--ease),transform var(--ease);display:flex;flex-direction:column;gap:1rem}
.temo-c:hover{box-shadow:var(--sh2);transform:translateY(-3px)}
.temo-stars{color:var(--rouge);font-size:.9rem;letter-spacing:2px}
.temo-tx{font-size:.92rem;color:var(--text);line-height:1.75;font-style:italic;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:10;line-clamp:10;overflow:hidden}
.temo-tx::before{content:'\201C';font-size:1.4rem;color:var(--rouge);line-height:0;vertical-align:-.4rem;margin-right:3px}
.temo-tx::after{content:'\201D';font-size:1.4rem;color:var(--rouge);line-height:0;vertical-align:-.4rem;margin-left:3px}
.temo-au{display:flex;align-items:center;gap:.75rem}
.temo-av{width:38px;height:38px;border-radius:50%;background:var(--beige-dark);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--dore-dark);flex-shrink:0}
.temo-nm{font-size:.85rem;font-weight:700;color:var(--noir)}
.temo-vl{font-size:.78rem;color:var(--muted)}

/* PRE-INSCRIPTION */
#preinscription{padding:100px 0;background:var(--noir);position:relative;overflow:hidden}
#preinscription::before{content:'';position:absolute;top:-50%;left:-10%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(225,99,59,.07) 0%,transparent 60%);pointer-events:none}
.pi-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1}
.pi-texte .tag{color:var(--dore)}
.pi-texte .titre{color:var(--white)}
.pi-texte .filet{background:var(--rouge)}
.pi-texte .sous-titre{color:rgba(255,255,255,.85);max-width:100%}
.pi-list{display:flex;flex-direction:column;gap:.9rem;margin-top:2rem}
.pi-item{display:flex;gap:.75rem;align-items:center;font-size:.88rem;color:rgba(255,255,255,.75)}
.pi-item svg{width:15px;height:15px;color:var(--rouge);flex-shrink:0}
.pi-form{background:rgba(255,255,255,.04);border:1px solid rgba(181,160,122,.2);border-radius:10px;padding:2.5rem}
.form-t{font-size:1.15rem;font-weight:700;color:var(--white);margin-bottom:1.5rem}
.fg{margin-bottom:1.1rem}
.fg label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.55);margin-bottom:.4rem;text-transform:uppercase}
.fi,.fsel,.fta{width:100%;padding:.72rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(181,160,122,.22);border-radius:var(--r);color:var(--white);font-family:var(--font);font-size:.9rem;transition:border-color var(--ease);outline:none;display:block}
.fi::placeholder,.fta::placeholder{color:rgba(255,255,255,.28)}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--rouge)}
.fsel{cursor:pointer;color:rgba(255,255,255,.75);-webkit-appearance:none}
.fsel option{background:#242424;color:var(--white)}
.fta{resize:vertical;min-height:80px}
.fchk{display:flex;align-items:flex-start;gap:.6rem;font-size:.8rem;color:rgba(255,255,255,.65);margin-bottom:1rem;cursor:pointer;line-height:1.5}
.fchk input{margin-top:2px;accent-color:var(--rouge);flex-shrink:0}
.fsub{width:100%;padding:.85rem;background:var(--rouge);color:var(--white);border:none;border-radius:var(--r);font-family:var(--font);font-size:.92rem;font-weight:600;cursor:pointer;transition:background var(--ease),transform var(--ease);letter-spacing:.04em;margin-top:.5rem}
.fsub:hover{background:var(--rouge-dark);transform:translateY(-1px)}
.form-ok{display:none;background:rgba(225,99,59,.15);border:1px solid rgba(225,99,59,.3);border-radius:var(--r);padding:1rem;text-align:center;font-size:.9rem;color:rgba(255,255,255,.9);margin-top:1rem}
.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}

/* CONTRIBUER */
#contribuer{padding:100px 0;background:var(--creme)}
.contrib-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.cc{background:var(--white);border:1px solid var(--beige-dark);border-radius:10px;padding:2.5rem;transition:box-shadow var(--ease),transform var(--ease)}
.cc:hover{box-shadow:var(--sh2);transform:translateY(-4px)}
.cc-ic{width:48px;height:48px;background:var(--rouge-bg);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem}
.cc-ic svg{width:22px;height:22px;color:var(--rouge)}
.cc-t{font-size:1.2rem;font-weight:700;color:var(--noir);margin-bottom:.9rem}
.cc-d{font-size:.9rem;color:var(--muted);line-height:1.75;margin-bottom:1.2rem}
.skill-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.4rem}
.sk{background:var(--beige);border:1px solid var(--beige-dark);border-radius:20px;padding:.25rem .8rem;font-size:.76rem;font-weight:500;color:var(--muted)}

/* CONTACT — sans infos, formulaire seul */
#contact{padding:100px 0;background:var(--beige)}
.ct-wrap{max-width:680px;margin:0 auto}
.ct-intro{max-width:680px;margin-bottom:3rem}
.ct-form{background:var(--white);border:1px solid var(--beige-dark);border-radius:10px;padding:2.5rem}
.ct-form .fg label{color:var(--muted)}
.ct-form .fi,.ct-form .fta{background:var(--beige);border:1px solid var(--beige-dark);color:var(--text)}
.ct-form .fi::placeholder,.ct-form .fta::placeholder{color:var(--muted)}
.ct-form .fi:focus,.ct-form .fta:focus{border-color:var(--rouge)}
.ct-form .fsub{background:var(--noir)}
.ct-form .fsub:hover{background:var(--rouge)}
.ct-note{font-size:.78rem;color:var(--muted);font-style:italic;margin-top:.8rem}

/* FOOTER */
#footer{background:var(--noir);padding:4rem 0 2rem}
.ft-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.ft-logo{display:flex;align-items:center;gap:.3rem;margin-bottom:1rem}
.ft-logo .lt1{color:var(--white);font-size:1rem}
.ft-logo .lt2{color:var(--dore);font-size:1rem}
.ft-desc{font-size:.85rem;line-height:1.7;color:rgba(255,255,255,.5);max-width:270px}
.ft-ht{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dore);margin-bottom:1.1rem}
.ft-col ul{display:flex;flex-direction:column;gap:.55rem}
.ft-col a{font-size:.85rem;color:rgba(255,255,255,.6);transition:color var(--ease)}
.ft-col a:hover{color:var(--rouge)}
.ft-col button{font-family:var(--font);font-size:.85rem;color:rgba(255,255,255,.6);transition:color var(--ease);padding:0;text-align:left}
.ft-col button:hover{color:var(--rouge)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.ft-copy{font-size:.77rem;color:rgba(255,255,255,.35)}
.ft-amk{font-size:.75rem;color:rgba(255,255,255,.3)}
.ft-amk a{color:rgba(181,160,122,.6);transition:color var(--ease)}
.ft-amk a:hover{color:var(--dore)}

/* MODALS */
.modal{display:none;position:fixed;inset:0;background:rgba(26,26,26,.8);z-index:2000;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(6px)}
.modal.on{display:flex}
.modal-box{background:var(--white);border-radius:10px;max-width:680px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--sh2)}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;position:sticky;top:0;background:var(--white);border-bottom:1px solid var(--beige);z-index:1}
.modal-t{font-size:1.1rem;font-weight:700;color:var(--noir)}
.modal-x{width:34px;height:34px;background:var(--beige);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background var(--ease)}
.modal-x:hover{background:var(--rouge)}
.modal-x:hover svg{color:var(--white)}
.modal-x svg{width:16px;height:16px;color:var(--text)}
.modal-body{padding:2rem;font-size:.9rem;color:var(--muted);line-height:1.8}
.modal-body h3{font-size:.95rem;font-weight:700;color:var(--noir);margin:1.5rem 0 .5rem}
.modal-body h3:first-child{margin-top:0}
.modal-body p{margin-bottom:.8rem}
.modal-body ul{list-style:disc;padding-left:1.4rem;margin-bottom:.8rem}
.modal-body li{margin-bottom:.4rem}

/* RESPONSIVE */
@media(max-width:900px){
.nav-d,.hdr-cta{display:none}
.burger{display:flex}
.hist-grid,.meth-grid,.pi-grid{grid-template-columns:1fr;gap:2.5rem}
.mis-grid{grid-template-columns:1fr 1fr}
.obj-grid{grid-template-columns:1fr}
.ft-inner{grid-template-columns:1fr;gap:2rem}
.hero-stats{grid-template-columns:1fr 1fr}
.contrib-grid{grid-template-columns:1fr}.temo-grid{gap:14px}.temo-c{flex:0 0 82vw;max-width:340px;transform:none!important}.temo-c:hover{transform:none!important}.temo-dots{display:flex}.temo-arrow{display:none}
#hero{padding:110px 0 70px}
.arabe-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
.mis-grid,.memo-cards{grid-template-columns:1fr}
.hero-stats{grid-template-columns:1fr;gap:1rem}
.hero-cta{flex-direction:column;align-items:flex-start}
.pi-form,.ct-form{padding:1.5rem}
.mst-row{grid-template-columns:1fr}
}

/* Formulaire long — fieldsets & radios */
.fs{border:none;padding:0;margin:0 0 2rem}
.fs-lg{font-size:.95rem;font-weight:700;color:var(--white);letter-spacing:.04em;padding-bottom:.6rem;margin-bottom:1.2rem;border-bottom:1px solid rgba(181,160,122,.22);width:100%}
.fradio{display:flex;gap:1.5rem;flex-wrap:wrap;padding-top:.2rem}
.fradio-col{flex-direction:column;gap:.6rem}
.fradio label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:rgba(255,255,255,.8);cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400}
.fradio input{accent-color:var(--rouge)}
.form-err{background:rgba(220,60,60,.12);border:1px solid rgba(220,60,60,.35);border-radius:var(--r);padding:.9rem 1rem;font-size:.88rem;color:#ffb4b4;margin-bottom:1.2rem}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ============================================================
   WIZARD PREINSCRIPTION
   ============================================================ */
.wiz-wrap{width:100%}

/* Progress bar */
.wiz-progress{display:flex;align-items:center;gap:0;margin-bottom:2rem;padding:0}
.wiz-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;position:relative;z-index:1}
.wiz-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:rgba(255,255,255,.08);border:2px solid rgba(181,160,122,.25);color:rgba(255,255,255,.4);transition:all .25s}
.wiz-label{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.35);white-space:nowrap;transition:color .25s}
.wiz-step.active .wiz-dot{background:var(--rouge);border-color:var(--rouge);color:var(--white)}
.wiz-step.active .wiz-label{color:rgba(255,255,255,.85)}
.wiz-step.done .wiz-dot{background:rgba(181,160,122,.25);border-color:var(--dore);color:var(--dore)}
.wiz-step.done .wiz-label{color:var(--dore)}
.wiz-step.done .wiz-dot svg{width:12px;height:12px}
.wiz-line{flex:1;height:2px;background:rgba(181,160,122,.18);margin-bottom:1.4rem;transition:background .25s}
.wiz-line.done{background:var(--dore)}

/* Fields area */
.wiz-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* Navigation */
.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid rgba(181,160,122,.15)}
.wiz-btn-prev{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;padding:.5rem 0;color:rgba(255,255,255,.45);font-family:var(--font);font-size:.85rem;font-weight:500;cursor:pointer;transition:color var(--ease)}
.wiz-btn-prev svg{width:15px;height:15px;flex-shrink:0}
.wiz-btn-prev:hover{color:rgba(255,255,255,.85)}
.wiz-btn-next{min-width:160px}

/* Recap step 5 */
.wiz-recap{background:rgba(255,255,255,.04);border:1px solid rgba(181,160,122,.18);border-radius:8px;overflow:hidden;margin-bottom:.5rem}
.wiz-recap-row{display:flex;justify-content:space-between;align-items:baseline;padding:.7rem 1rem;font-size:.88rem;border-bottom:1px solid rgba(181,160,122,.1)}
.wiz-recap-row:last-child{border-bottom:none}
.wiz-recap-row span{color:rgba(255,255,255,.5);min-width:140px}
.wiz-recap-row strong{color:var(--white);text-align:right;word-break:break-word}

/* Error messages */
.wiz-err{font-size:.78rem;color:#ffb4b4;display:block;margin-top:.25rem}

/* Success screen */
.wiz-success{text-align:center;padding:3rem 1rem}
.wiz-ok-icon{width:56px;height:56px;color:var(--dore);margin:0 auto 1.2rem;display:block}
.wiz-success h3{font-size:1.3rem;font-weight:700;color:var(--white);margin-bottom:.8rem}
.wiz-success p{font-size:.92rem;color:rgba(255,255,255,.7);max-width:440px;margin:0 auto;line-height:1.7}

@media(max-width:600px){
.fg-row{grid-template-columns:1fr}
.wiz-label{display:none}
.wiz-dot{width:28px;height:28px;font-size:.72rem}
}
/* Wizard — lisibilité labels + texte arabe */
.wiz-wrap .fg>label{color:rgba(255,255,255,.88);text-transform:none;letter-spacing:.01em;font-size:.84rem}
.wiz-wrap .fradio label{color:rgba(255,255,255,.82)}

/* --- TARIFS --- */
.tarifs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.tc{background:var(--white);border:1px solid var(--beige-dark);border-radius:8px;padding:2rem 1.6rem;position:relative;overflow:hidden;transition:box-shadow var(--ease),transform var(--ease)}
.tc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--beige-dark)}
.tc:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.tc-star{border-color:var(--rouge);background:var(--creme)}
.tc-star::before{background:var(--rouge)}
.tc-recommande{display:inline-block;background:var(--rouge);color:var(--white);font-size:.62rem;font-weight:700;padding:3px 10px;border-radius:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.8rem}
.tc-titre{font-size:1.1rem;font-weight:700;color:var(--noir);margin-bottom:.5rem;margin-top:.3rem}
.tc-prix-row{display:flex;align-items:baseline;gap:3px;margin-bottom:.2rem}
.tc-prix{font-size:2.6rem;font-weight:800;color:var(--noir);line-height:1}
.tc-prix-sm{font-size:1.9rem}
.tc-devise{font-size:1.1rem;font-weight:700;color:var(--rouge);align-self:flex-start;margin-top:.35rem}
.tc-freq{font-size:.75rem;color:var(--muted);font-weight:500;margin-left:2px}
.tc-desc{font-size:.85rem;color:var(--muted);line-height:1.65;margin-top:.8rem}
.tc-ligne{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);margin-top:.8rem;padding:.3rem .7rem;background:var(--beige);border-radius:4px}
.tc-ligne::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--dore);flex-shrink:0;display:block}
.tc-si{margin:.8rem 0;display:flex;flex-direction:column;gap:.5rem}
.tc-si-row{display:flex;align-items:center;justify-content:space-between}
.tc-si-genre{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--beige);padding:3px 8px;border-radius:4px}
.tc-si-sep{height:1px;background:var(--beige-dark);margin:.2rem 0}
.tc-final{margin-top:2rem;background:var(--noir);border-radius:10px;padding:2.5rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
@media(max-width:900px){.tarifs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tarifs-grid{grid-template-columns:1fr}.tc-final{padding:1.8rem 1.5rem;flex-direction:column;align-items:flex-start}}


/* ── Module Témoignages — formulaire & styles page /temoignages ── */
.temo-form{max-width:680px;margin:2rem auto 0}
.temo-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.temo-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.temo-field label{font-size:.85rem;font-weight:600;color:var(--noir)}
.temo-field input,.temo-field select,.temo-field textarea{width:100%;padding:.6rem .85rem;border:1.5px solid var(--beige-dark);border-radius:6px;font-size:.92rem;font-family:inherit;color:var(--noir);background:#fff;transition:border-color .2s}
.temo-field input:focus,.temo-field select:focus,.temo-field textarea:focus{outline:none;border-color:var(--dore)}
.temo-field small{font-size:.75rem;color:var(--muted)}
.req{color:var(--rouge)}
.temo-errors{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:.85rem 1rem;margin-bottom:1.25rem;font-size:.88rem;color:#b91c1c}
.temo-errors ul{margin:0;padding-left:1.2rem}
.temo-success{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.92rem;color:#166534}

/* Étoiles CSS (RTL pour sélection intuitive) */
.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.2rem}
.star-rating input[type=radio]{display:none}
.star-rating label{font-size:1.6rem;color:#d1d5db;cursor:pointer;transition:color .15s;line-height:1}
.star-rating input[type=radio]:checked ~ label,.star-rating label:hover,.star-rating label:hover ~ label{color:var(--rouge)}

/* Consentements RGPD */
.temo-consents{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}
.temo-check{display:flex;align-items:flex-start;gap:.75rem;font-size:.84rem;color:var(--text);cursor:pointer;line-height:1.5}
.temo-check input[type=checkbox]{flex-shrink:0;margin-top:.2rem;width:16px;height:16px;accent-color:var(--rouge)}
.temo-check.is-error{color:#b91c1c}
.temo-check a{color:var(--dore-dark);text-decoration:underline}

@media(max-width:640px){
  .temo-row{grid-template-columns:1fr}
  .star-rating label{font-size:1.4rem}
}

.temo-date{font-size:.72rem;color:var(--muted);font-weight:400;white-space:nowrap}
