*{box-sizing:border-box}:root{--grain:none;--glow-sun:none;--glow-rose:none;--glow-ember:none}#sun,#archHalo,#intro .glow,.port .halo{display:none!important}.frame::after{display:none}html{scroll-behavior:smooth}body{overflow-x:hidden}
img{display:block;max-width:100%}
a{color:var(--text-tender)}a:hover{color:var(--text-strong)}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}
.eyebrow{font:600 11px/1.4 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-accent)}
.serif{font-family:var(--font-serif);font-weight:300}
.it{font-style:italic;color:var(--text-tender)}
.rule{width:56px;height:1px;background:var(--gold-500)}
.btn{display:inline-flex;align-items:center;gap:12px;padding:17px 32px;border-radius:999px;border:1px solid var(--anthracite-800);background:var(--anthracite-800);color:var(--ivory-100);font:600 11px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .5s var(--ease-tender)}
.btn:hover{background:var(--brun-900);color:var(--ivory-100);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.btn .ar{font:400 20px/0 var(--font-serif);letter-spacing:0;transition:transform .5s var(--ease-tender)}.btn:hover .ar{transform:translateX(5px)}
.btn.gold{background:var(--gold-500);border-color:var(--gold-500);color:var(--brun-900)}.btn.gold:hover{background:var(--gold-300);color:var(--brun-900)}
.btn.line{background:transparent;color:var(--text-strong)}.btn.line:hover{background:var(--anthracite-800);color:var(--ivory-100)}
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.2s var(--ease-tender),transform 1.2s var(--ease-tender)}.rv.on{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}

/* intro */
#intro{position:fixed;inset:0;z-index:100;background:var(--grain),var(--ivory-100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transition:transform 1.3s cubic-bezier(.76,0,.24,1),opacity .6s 1s}
#intro.out{transform:translateY(-100%)}
#intro .glow{position:absolute;width:70vmin;height:70vmin;border-radius:50%;background:radial-gradient(closest-side,rgba(244,223,184,.9),rgba(230,193,179,.35) 60%,transparent);filter:blur(10px);opacity:0;transform:scale(.6);transition:all 2s var(--ease-out)}
#intro img{width:clamp(110px,16vmin,170px);position:relative;opacity:0;transform:scale(.9);filter:blur(6px);transition:all 1.6s var(--ease-out)}
#intro .wm{position:relative;font:500 clamp(16px,2.2vw,24px)/1 var(--font-display);letter-spacing:.6em;color:var(--anthracite-800);opacity:0;transition:all 1.8s var(--ease-out) .35s;padding-left:.6em}
#intro.go .glow{opacity:1;transform:scale(1)}#intro.go img{opacity:1;transform:none;filter:none}#intro.go .wm{opacity:1;letter-spacing:.22em;padding-left:.22em}

/* cursor light */
#sun{position:fixed;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;background:radial-gradient(closest-side,rgba(244,210,160,.55),rgba(240,169,142,.18) 55%,transparent);pointer-events:none;z-index:60;mix-blend-mode:soft-light;opacity:0;transition:opacity .8s}
@media (hover:none){#sun{display:none}}

/* #nav */
#nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(20px,4vw,44px);transition:all .6s var(--ease-tender)}
#nav.solid{background:rgba(248,241,231,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--border-hairline);padding-top:12px;padding-bottom:12px}
#nav .brand{flex:none;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--anthracite-800)}
#nav .brand img{height:40px}#nav .brand span{font:500 15px/1 var(--font-display);letter-spacing:.14em;white-space:nowrap}
#nav .links{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px)}
#nav .links a{white-space:nowrap}#nav .links a:not(.btn){font:600 10.5px/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--text-strong);text-decoration:none;position:relative;padding:6px 0}
#nav .links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-500);transform:scaleX(0);transition:transform .5s var(--ease-tender)}
#nav .links a:not(.btn):hover::after{transform:scaleX(1)}
#nav .btn{padding:13px 22px}
@media (max-width:1180px){nav .brand span{display:none}}@media (max-width:900px){nav .links a:not(.btn){display:none}}@media (max-height:640px){#hero .cue{display:none}}

/* hero, la porte */
#hero{height:260vh;position:relative}
#hero .stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--glow-sun),var(--glow-rose),var(--grain),var(--ivory-100)}
#arch{position:absolute;left:50%;top:54%;width:34vw;height:42vh;transform:translate(-50%,-50%);border-radius:999px 999px 24px 24px;overflow:hidden;box-shadow:var(--shadow-lift);will-change:width,height,border-radius}
#arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 30%;will-change:transform}
#arch .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(46,22,20,0) 40%,rgba(46,22,20,.62) 100%);opacity:0}
#archHalo{position:absolute;left:50%;top:52%;width:70vmin;height:90vmin;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(244,223,184,.85),rgba(230,193,179,.35) 60%,transparent);filter:blur(14px);animation:mr-breathe 8s ease-in-out infinite}
.h-top,.h-bot{position:absolute;left:0;right:0;text-align:center;pointer-events:none;will-change:transform,opacity}
.h-top{top:max(12vh,74px)}.h-bot{bottom:6vh}
.h-top .eyebrow{margin-bottom:18px}
.h1{margin:0;font:300 clamp(46px,min(10.5vw,15vh),176px)/.9 var(--font-serif);color:var(--text-strong);letter-spacing:-.01em}
.h1.it{font-style:italic;color:var(--text-tender)}
.h-over{position:absolute;left:0;right:0;bottom:12vh;color:var(--ivory-100);opacity:0;transform:translateY(40px);pointer-events:none}
.h-over p{margin:0 auto;max-width:760px;text-align:center;font:300 clamp(22px,2.6vw,34px)/1.4 var(--font-serif);text-wrap:balance}
.h-over .by{margin-top:22px;display:flex;justify-content:center}.h-over .by img{height:52px}
.cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:600 9.5px var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted)}
.cue i{width:1px;height:44px;background:linear-gradient(var(--gold-500),transparent);animation:cue 2.4s var(--ease-tender) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* manifeste */
#manifeste{height:230vh;position:relative;background:var(--glow-rose),var(--grain),var(--miel-100)}
#manifeste .stage{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:34px;padding:0 clamp(20px,6vw,80px)}
#manifeste .q{max-width:1100px;text-align:center;font:300 clamp(28px,4.3vw,64px)/1.22 var(--font-serif);color:var(--text-strong);text-wrap:balance}
#manifeste .q span{color:rgba(62,52,49,.13);transition:color .5s var(--ease-tender)}
#manifeste .q span.lit{color:var(--text-strong)}#manifeste .q span.em.lit{color:var(--text-tender);font-style:italic}
#manifeste .mark{font:300 120px/.4 var(--font-serif);color:var(--gold-500);height:40px}

/* bio */
#approche{padding:clamp(100px,14vw,180px) 0;background:var(--grain),var(--ivory-100);position:relative;overflow:hidden}
.bio{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,110px);align-items:start}
@media (max-width:860px){.bio{grid-template-columns:1fr}}
.port{position:relative;max-width:460px;width:100%;justify-self:center}
.port .halo{position:absolute;inset:-12% -16%;background:radial-gradient(closest-side,rgba(244,223,184,.8),rgba(230,193,179,.35) 55%,transparent);filter:blur(10px)}
.port .fr{position:relative;aspect-ratio:4/5;border-radius:999px 999px 28px 28px;overflow:hidden;box-shadow:var(--shadow-lift)}
.port .fr img{width:100%;height:118%;object-fit:cover;object-position:50% 20%;will-change:transform}
.port .cap{position:relative;margin-top:20px;text-align:center;font:400 36px/1 var(--font-script);color:var(--text-tender)}
.bio h2{margin:18px 0 30px;font:300 clamp(40px,5.2vw,76px)/1.02 var(--font-serif);color:var(--text-strong);text-wrap:balance}
.bio .roles{list-style:none;padding:0;font:400 15px/1.7 var(--font-sans);color:var(--text-muted);margin:0 0 34px;max-width:560px;display:flex;flex-wrap:wrap;gap:4px 22px}
.bio p.b{margin:0 0 22px;font:400 18px/1.8 var(--font-sans);color:var(--text-body);max-width:600px;text-wrap:pretty}
.vocation{margin:44px 0 34px;padding:38px 42px;border-radius:28px;background:var(--glow-sun),var(--rose-100);box-shadow:var(--shadow-soft);font:italic 300 clamp(24px,2.5vw,34px)/1.35 var(--font-serif);color:var(--text-strong);max-width:620px}
.sig{height:64px;clip-path:inset(0 100% 0 0);transition:clip-path 2.6s cubic-bezier(.65,.05,.36,1) .3s}.sig.on{clip-path:inset(0 0 0 0)}

/* accompagnements, les portes */
#accompagnements{padding:clamp(100px,13vw,170px) 0;background:var(--glow-sun),var(--grain),var(--ivory-50);position:relative}
.head{text-align:center;max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}
.head h2{margin:0;font:300 clamp(40px,5.6vw,84px)/1 var(--font-serif);color:var(--text-strong)}
.head p{margin:0;font:400 18px/1.8 var(--font-sans);color:var(--text-muted);text-wrap:pretty}
.doors{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(28px,4vw,56px)}
.door{display:flex;flex-direction:column;align-items:center;gap:26px;background:none;border:0;padding:0;cursor:pointer;text-align:center;color:inherit;font:inherit}
.frame{position:relative;width:100%;max-width:330px;aspect-ratio:3/4.1;border-radius:999px 999px 10px 10px;border:1px solid var(--gold-500);padding:12px;perspective:1400px;transition:box-shadow .9s var(--ease-tender),transform .9s var(--ease-tender)}
.room{position:absolute;inset:12px;border-radius:999px 999px 4px 4px;overflow:hidden;background:var(--miel-200);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28% 12% 12%;gap:14px}
.room p{margin:0;font:italic 400 19px/1.45 var(--font-serif);color:var(--brun-800)}
.room .go{font:600 10px var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--terracotta-700)}
.leaf{position:absolute;inset:12px;border-radius:999px 999px 4px 4px;transform-origin:0 50%;transition:transform 1.3s cubic-bezier(.3,.7,.2,1);box-shadow:inset 0 0 0 1px rgba(184,148,78,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;backface-visibility:hidden}
.leaf::before{content:"";position:absolute;inset:18px;border-radius:999px 999px 2px 2px;border:1px solid rgba(184,148,78,.35)}
.leaf img{width:34%;opacity:.9}
.leaf .knob{position:absolute;right:16%;top:58%;width:9px;height:9px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 3px rgba(205,174,108,.2)}
.door:nth-child(1) .leaf{background:var(--grain),var(--rose-100)}
.door:nth-child(2) .leaf{background:var(--grain),var(--nude-200)}
.door:nth-child(3) .leaf{background:var(--grain),var(--glow-ember),var(--brun-800)}
.door:nth-child(3) .frame{border-color:var(--gold-400)}
.door:hover .frame,.door:focus-visible .frame{box-shadow:0 0 0 8px rgba(233,211,164,.25),0 40px 80px rgba(185,120,78,.28);transform:translateY(-6px)}
.door:hover .leaf,.door:focus-visible .leaf{transform:rotateY(-78deg)}
.door:focus-visible{outline:none}
.door .t{display:flex;flex-direction:column;gap:10px;align-items:center}
.door h3{margin:0;font:400 clamp(28px,2.6vw,36px)/1.1 var(--font-serif);color:var(--text-strong)}

.door.rv.on .leaf{animation:ajar 5.5s var(--ease-tender) 1.2s infinite}
.door.rv.on.d1 .leaf{animation-delay:1.9s}.door.rv.on.d2 .leaf{animation-delay:2.6s}
@keyframes ajar{0%,100%{transform:rotateY(-10deg)}45%,60%{transform:rotateY(-34deg)}}
.door:hover .leaf,.door:focus-visible .leaf{animation:none!important;transform:rotateY(-78deg)}
.frame::after{content:"";position:absolute;left:12px;top:12px;bottom:12px;width:40%;border-radius:999px 0 0 4px;background:radial-gradient(60% 50% at 0% 55%,rgba(255,236,200,.75),transparent 70%);opacity:0;pointer-events:none;transition:opacity 1s}
.door.rv.on .frame::after{opacity:1}
.push{margin-top:clamp(48px,6vw,80px);display:flex;justify-content:center;align-items:center;gap:14px;font:italic 400 clamp(20px,1.8vw,24px)/1.3 var(--font-serif);color:var(--text-tender)}
.push i{width:40px;height:1px;background:var(--gold-500)}
@media (prefers-reduced-motion:reduce){.door .leaf{animation:none!important;transform:rotateY(-22deg)}}
/* overlay pièce */
#pièce{position:fixed;inset:0;z-index:80;background:var(--glow-sun),var(--glow-rose),var(--grain),var(--ivory-100);clip-path:circle(0 at 50% 50%);transition:clip-path 1.1s cubic-bezier(.76,0,.24,1);overflow-y:auto;visibility:hidden}
#pièce.open{visibility:visible}#pièce::before{content:"";position:sticky;top:0;display:block;height:96px;margin-bottom:-96px;z-index:2;background:linear-gradient(var(--ivory-100) 45%,rgba(248,241,231,0));pointer-events:none}
#pièce .in{max-width:1180px;margin:0 auto;padding:clamp(100px,13vh,150px) clamp(24px,6vw,80px) 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px)}
@media (max-width:860px){#pièce .in{grid-template-columns:1fr}}
#pièce h2{margin:18px 0 26px;font:300 clamp(40px,4.4vw,68px)/1.04 var(--font-serif);color:var(--text-strong);overflow-wrap:break-word;hyphens:auto;text-wrap:balance}#pièce .in>div:first-child{position:sticky;top:clamp(90px,12vh,140px);align-self:start}@media (max-width:860px){#pièce .in>div:first-child{position:static}}
#pièce .lead{font:400 19px/1.8 var(--font-sans);color:var(--text-body);margin:0 0 20px}
#pièce .end{margin:34px 0 0;font:italic 300 clamp(26px,2.6vw,36px)/1.3 var(--font-serif);color:var(--text-tender)}
#pièce ul{list-style:none;margin:0 0 40px;padding:0;display:flex;flex-direction:column}
#pièce li{display:flex;gap:18px;min-width:0;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border-hairline);font:300 clamp(22px,2vw,28px)/1.3 var(--font-serif);color:var(--text-strong);opacity:0;transform:translateX(20px);transition:all .8s var(--ease-tender)}
#pièce.shown li{opacity:1;transform:none}
#pièce li::before{content:"";flex:none;width:18px;height:1px;background:var(--gold-500);transform:translateY(-6px)}
#pièce .intro{font:400 17px/1.7 var(--font-sans);color:var(--text-muted);margin:0 0 10px}
.close{position:fixed;top:22px;right:max(28px,calc(env(safe-area-inset-right) + 28px));box-shadow:var(--shadow-soft);z-index:81;width:52px;height:52px;border-radius:50%;border:1px solid var(--anthracite-800);background:var(--ivory-100);font:300 26px/1 var(--font-sans);color:var(--anthracite-800);cursor:pointer;opacity:0;pointer-events:none;transition:all .5s var(--ease-tender)}
.close.on{opacity:1;pointer-events:auto}.close:hover{background:var(--anthracite-800);color:var(--ivory-100);transform:rotate(90deg)}

/* signature */
#signature{position:relative;overflow:hidden;background:var(--brun-900);color:var(--ivory-200);padding:clamp(110px,14vw,190px) 0}
#signature .mono{position:absolute;right:-8vw;top:50%;width:min(70vw,820px);transform:translateY(-50%);opacity:.1;animation:mr-breathe 9s ease-in-out infinite}
#signature .eyebrow{color:var(--gold-300)}
#signature h2{margin:20px 0 0;font:300 clamp(52px,8.4vw,140px)/.95 var(--font-serif);color:var(--ivory-100)}
#signature h2 em{color:var(--gold-300)}
.sgrid{margin-top:clamp(50px,6vw,80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);position:relative}
@media (max-width:860px){.sgrid{grid-template-columns:1fr}}
.sgrid p{margin:0 0 22px;font:400 18px/1.8 var(--font-sans);color:var(--ivory-300);text-wrap:pretty}
.duree{display:flex;align-items:baseline;gap:18px;margin:10px 0 26px}
.duree b{font:300 clamp(96px,12vw,190px)/.8 var(--font-serif);color:var(--gold-400)}
.duree span{font:italic 300 clamp(26px,2.8vw,40px)/1.1 var(--font-serif);color:var(--ivory-100)}
.fmt{display:inline-flex;padding:5px;border-radius:999px;border:1px solid rgba(233,211,164,.35);margin-bottom:34px;position:relative}
.fmt button{position:relative;z-index:1;border:0;background:none;padding:13px 26px;border-radius:999px;font:600 10.5px var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-200);cursor:pointer;transition:color .5s}
.fmt button.on{color:var(--brun-900)}
.fmt .pill{position:absolute;top:5px;bottom:5px;border-radius:999px;background:var(--gold-500);transition:all .7s var(--ease-tender)}
.panel{position:relative;min-height:360px}
.pf{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(16px);transition:all .8s var(--ease-tender);pointer-events:none}
.pf.on{opacity:1;transform:none;pointer-events:auto;position:relative}
.pf h3{margin:0 0 14px;font:400 clamp(28px,2.6vw,38px)/1.15 var(--font-serif);color:var(--ivory-100)}
.pf .ld{font:italic 300 clamp(22px,2vw,28px)/1.35 var(--font-serif);color:var(--gold-300);margin:0 0 20px}
.pf ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px}
.pf li{display:flex;gap:14px;align-items:baseline;font:400 17px/1.6 var(--font-sans);color:var(--ivory-200)}
.pf li::before{content:"";flex:none;width:14px;height:1px;background:var(--gold-400);transform:translateY(-5px)}

/* valeurs */
#valeurs{padding:clamp(80px,10vw,130px) 0;background:var(--glow-rose),var(--grain),var(--ivory-100);overflow:hidden;text-align:center}
.mq{display:flex;width:max-content;animation:mq 60s linear infinite;margin-top:34px}
.mq span{font:300 clamp(48px,7vw,112px)/1.1 var(--font-serif);color:var(--text-strong);white-space:nowrap;padding:0 .35em;display:flex;align-items:center;gap:.7em}
.mq span:nth-child(even){font-style:italic;color:var(--text-tender)}
.mq span::after{content:"";width:.14em;height:.14em;border-radius:50%;background:var(--gold-500)}
.mq.rev{animation-direction:reverse;animation-duration:75s;margin-top:0;opacity:.35}
@keyframes mq{to{transform:translateX(-50%)}}

/* contact */
#contact{padding:clamp(100px,13vw,170px) 0;background:var(--glow-sun),var(--grain),var(--rose-100)}
.cgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:center}
@media (max-width:860px){.cgrid{grid-template-columns:1fr}}
#contact h2{margin:20px 0 28px;font:300 clamp(42px,5.4vw,82px)/1.02 var(--font-serif);color:var(--text-strong);text-wrap:balance}
#contact .coord{display:flex;flex-direction:column;gap:6px;margin-top:34px;font:400 17px/1.6 var(--font-sans)}
#contact .coord a{color:var(--text-strong);text-decoration:none;border-bottom:1px solid var(--gold-400);align-self:flex-start}
.form{position:relative;background:var(--white);border-radius:32px;padding:clamp(28px,4vw,48px);box-shadow:var(--shadow-lift);display:grid;gap:18px}
.form label,.lab-wrap>label{display:flex;flex-direction:column;gap:9px;font:600 10.5px var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}
.form input,.form select,.form textarea{font:400 16px/1.5 var(--font-sans);color:var(--text-strong);background:var(--ivory-50);border:1px solid var(--border-hairline);border-radius:14px;padding:14px 16px;outline:none;transition:all .3s;letter-spacing:0;text-transform:none;width:100%;resize:vertical;appearance:none}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--gold-600);box-shadow:0 0 0 4px rgba(205,174,108,.18);background:var(--white)}
.form select{display:none}
.dd{position:relative;letter-spacing:0;text-transform:none}
.dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;font:400 16px/1.5 var(--font-sans);color:var(--text-strong);background:var(--ivory-50);border:1px solid var(--border-hairline);border-radius:14px;padding:14px 18px;cursor:pointer;transition:all .3s var(--ease-tender)}
.dd-btn:hover{border-color:var(--gold-400)}
.dd.open .dd-btn,.dd-btn:focus-visible{outline:none;border-color:var(--gold-600);box-shadow:0 0 0 4px rgba(205,174,108,.18);background:var(--white)}
.dd-ch{flex:none;width:9px;height:9px;border-right:1.25px solid var(--gold-600);border-bottom:1.25px solid var(--gold-600);transform:translateY(-3px) rotate(45deg);transition:transform .4s var(--ease-tender)}
.dd.open .dd-ch{transform:translateY(2px) rotate(-135deg)}
.dd-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:5;margin:0;padding:8px;list-style:none;background:var(--white);border:1px solid var(--border-hairline);border-radius:18px;box-shadow:var(--shadow-lift);opacity:0;transform:translateY(-6px);pointer-events:none;transition:all .35s var(--ease-tender)}
.dd.open .dd-list{opacity:1;transform:none;pointer-events:auto}
.dd-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;font:400 15.5px/1.4 var(--font-sans);color:var(--text-body);cursor:pointer;transition:background .2s}
.dd-list li:hover,.dd-list li.act{background:var(--rose-100)}
.dd-list li small{display:block;font:italic 400 14px/1.3 var(--font-serif);color:var(--text-muted);margin-top:2px}
.dd-list li[aria-selected="true"]{color:var(--text-strong);font-weight:600}
.dd-list li[aria-selected="true"]::after{content:"";flex:none;width:5px;height:10px;border-right:1.5px solid var(--gold-600);border-bottom:1.5px solid var(--gold-600);transform:rotate(45deg) translateY(-2px)}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:520px){.form .two{grid-template-columns:1fr}}
.form .btn{justify-self:start;margin-top:6px}
.merci{position:absolute;inset:0;border-radius:32px;background:var(--glow-sun),var(--miel-100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:40px;opacity:0;pointer-events:none;transition:opacity 1s var(--ease-tender)}
.merci.on{opacity:1;pointer-events:auto}
.merci .m{font:400 64px/1 var(--font-script);color:var(--text-tender)}
.merci p{margin:0;font:italic 300 24px/1.4 var(--font-serif);color:var(--text-strong);max-width:360px}

/* footer */
footer{background:var(--glow-ember),var(--grain),var(--brun-900);color:var(--ivory-300);padding:90px 0 36px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:48px}
.lock{display:flex;align-items:center;gap:18px}.lock img{height:72px}
.lock .n{font:500 clamp(20px,2vw,26px)/1 var(--font-display);letter-spacing:.08em;color:var(--ivory-100)}
.lock .b{font:italic 400 17px/1.3 var(--font-serif);color:var(--ivory-300);margin-top:8px}
footer h4{margin:0 0 16px;font:600 10.5px var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-300)}
footer a{color:var(--ivory-200);text-decoration:none}footer a:hover{color:var(--gold-300)}
footer .col{display:flex;flex-direction:column;gap:10px;font:400 15px/1.5 var(--font-sans)}
.legal .lg{display:flex;flex-wrap:wrap;gap:8px 22px}.legal a{color:var(--anthracite-200)}.legal a:hover{color:var(--gold-300)}.legal .infl{color:var(--gold-300);font-weight:600}.legal{margin-top:64px;padding-top:24px;border-top:1px solid rgba(248,241,231,.12);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font:400 13px var(--font-sans);color:var(--anthracite-200)}

@media (prefers-reduced-motion:reduce){#hero{height:auto}#hero .stage{position:relative}#manifeste{height:auto}#manifeste .stage{position:relative;height:auto;padding:120px 24px}#manifeste .q span{color:var(--text-strong)}.rv{opacity:1;transform:none}.sig{clip-path:none}}
.form-privacy{font:400 12px/1.5 var(--font-sans);color:var(--text-muted)}
.form-privacy a{text-decoration:underline;text-underline-offset:3px;color:inherit}
