
:root{--navy:#0b1d3a;--navy2:#13294f;--gold:#d4a63b;--cream:#f7f4ec;--ink:#1c2433}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:#fff;line-height:1.65}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:10;background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px}
.brand{font-weight:bold;letter-spacing:.06em;text-transform:uppercase;font-size:15px}
.brand small{display:block;color:var(--gold);font-size:10px;letter-spacing:.2em}
nav{display:flex;gap:18px;align-items:center;font:14px system-ui,sans-serif}
nav a{text-decoration:none;opacity:.9}nav a:hover{color:var(--gold)}
.lang{border:1px solid var(--gold);background:none;color:var(--gold);padding:5px 12px;border-radius:20px;cursor:pointer;font:600 13px system-ui}

.hero{position:relative;overflow:hidden;color:#fff;background:var(--navy);padding:96px 0 84px;text-align:center}
.hero h1{font-size:clamp(34px,6vw,58px);margin:0 0 14px;line-height:1.15}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p{max-width:680px;margin:0 auto 28px;font-size:19px;color:#e5e9f2}
.verse{display:block;margin-top:22px;color:var(--gold);font-style:italic;font-size:16px}
.btn{display:inline-block;background:var(--gold);color:var(--navy);font:700 15px system-ui;padding:13px 26px;border-radius:30px;text-decoration:none;margin:4px}
.btn.o{background:none;border:2px solid var(--gold);color:#fff}
section{padding:68px 0}
section.alt{background:var(--cream)}
h2{font-size:clamp(26px,4vw,36px);margin:0 0 8px;color:var(--navy)}
h2:after{content:"";display:block;width:60px;height:3px;background:var(--gold);margin-top:10px}
.lead{max-width:760px;font-size:18px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:30px}
.fact{background:#fff;border-top:3px solid var(--gold);padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.06);font:15px system-ui}
.fact b{display:block;font:bold 24px Georgia;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:30px}
.card{background:#fff;padding:26px;border-radius:6px;box-shadow:0 2px 14px rgba(0,0,0,.08)}
.card h3{margin:0 0 8px;color:var(--navy)}
.card .n{color:var(--gold);font:bold 32px Georgia}
table{width:100%;border-collapse:collapse;margin-top:26px;font:16px system-ui;background:#fff}
td,th{padding:14px 16px;border-bottom:1px solid #e4dfd0;text-align:left;vertical-align:top}
th{background:var(--navy);color:#fff}
td.m{font-weight:700;color:var(--navy)}
@media(max-width:600px){td,th{padding:10px 8px;font-size:14px}.hero{padding:64px 0}}
img{max-width:100%}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:28px}
.gallery img{width:100%;height:280px;object-fit:cover;border-radius:6px}
.official{background:var(--navy);color:#fff}
.official h2{color:#fff}
.official .box{border:1px solid var(--gold);padding:22px;border-radius:6px;margin-top:22px;font:16px system-ui}
.official b{color:var(--gold)}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:26px}
.contact div{background:#fff;padding:22px;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.07);font:16px system-ui}
.contact b{display:block;color:var(--navy);margin-bottom:4px}
footer{background:#08142a;color:#aab4c8;text-align:center;padding:28px 20px;font:14px system-ui}
.en{display:none}body.en-on .fr{display:none}body.en-on .en{display:revert}
body.en-on span.en,body.en-on b.en,body.en-on a.en{display:inline}
.fr,.en{}

.accounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin:28px 0}
.acc{background:#fff;border:2px solid var(--gold);border-radius:8px;padding:24px;font:16px system-ui;box-shadow:0 2px 14px rgba(0,0,0,.07)}
.acc.soon{border-color:#cfd5e0;border-style:dashed;opacity:.85}
.acc h3{margin:0 0 12px;font:bold 19px Georgia;color:var(--navy)}
.acc dl{margin:0}.acc dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6a7385;margin-top:10px}
.acc dd{margin:2px 0 0;font-weight:600;word-break:break-all}
.acc .num{font:bold 22px ui-monospace,monospace;letter-spacing:.04em;color:var(--navy)}
.acc button{margin-top:14px;background:var(--navy);color:#fff;border:0;border-radius:20px;padding:9px 18px;font:600 14px system-ui;cursor:pointer}
.acc p{font-size:14px;color:#555;margin:14px 0 0}
.media{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:24px}
.media .m{background:#fff;border-radius:6px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.07);font:15px system-ui}
.media .m b{display:block;margin-bottom:8px;color:var(--navy)}
.media iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:4px}
.media video,.media audio{width:100%}

header .wrap{flex-wrap:wrap}
nav a.on{color:var(--gold);border-bottom:2px solid var(--gold)}
@media(max-width:720px){nav{width:100%;overflow-x:auto;gap:14px;padding-bottom:4px;font-size:13px;white-space:nowrap}header .wrap{padding:10px 20px 6px}}
.page-head{background:linear-gradient(rgba(11,29,58,.88),rgba(11,29,58,.92)),var(--hero-img,url(img/culte1.jpg)) center/cover;color:#fff;padding:56px 0 44px}
.page-head h1{margin:0;font-size:clamp(28px,5vw,44px)}
.page-head p{margin:8px 0 0;color:#d8deea;max-width:640px}
.links3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:30px}
.links3 a{display:block;text-decoration:none;background:#fff;border-top:3px solid var(--gold);padding:24px;border-radius:6px;box-shadow:0 2px 14px rgba(0,0,0,.08);color:var(--ink)}
.links3 a b{display:block;color:var(--navy);font-size:20px;margin-bottom:6px}
.links3 a span.go{color:var(--gold);font:700 14px system-ui}
.band{background:var(--navy);color:#fff;text-align:center;padding:48px 0}
.band h2{color:#fff}.band h2:after{margin:10px auto 0}
.band p{max-width:620px;margin:0 auto 18px;color:#d8deea}
.social a{margin-right:6px}
footer a{color:var(--gold);margin:0 8px}
section[id]{scroll-margin-top:70px}

.brand{order:1}nav{order:2}.lang{order:3}
@media(max-width:720px){.lang{order:2;margin-left:auto}nav{order:3}}

.week{background:#fff;border-left:4px solid var(--gold);padding:26px;border-radius:6px;box-shadow:0 2px 14px rgba(0,0,0,.08);margin-top:26px}
.week .date{font:13px system-ui;color:#6a7385;text-transform:uppercase;letter-spacing:.08em}
.week h3{margin:4px 0 14px;font-size:26px;color:var(--navy)}
.week blockquote{margin:0 0 14px;padding:12px 18px;background:var(--cream);border-radius:4px}
.week blockquote b{color:var(--navy);display:block;font:700 14px system-ui;letter-spacing:.04em;margin-bottom:4px}
.week p{margin:0 0 12px}
.archive .week{box-shadow:none;border:1px solid #e4dfd0;border-left:4px solid var(--gold)}

.frm{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 14px rgba(0,0,0,.08);max-width:640px;margin-top:26px;font:16px system-ui}
.frm label{display:block;margin:0 0 14px;font-weight:600;color:var(--navy)}
.frm input,.frm textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd5e0;border-radius:6px;font:16px system-ui}
.frm .ok{color:#1c7a3d;font-weight:600}
.gb{display:grid;gap:14px;margin-top:22px}
.gb blockquote{margin:0;background:var(--cream);border-left:4px solid var(--gold);padding:14px 18px;border-radius:4px}
.gb cite{display:block;margin-top:6px;font:600 14px system-ui;color:var(--navy);font-style:normal}

#live-bar{background:#c0182b;color:#fff;text-align:center;padding:9px 14px;font:700 15px system-ui}
#live-bar a{color:#fff;text-decoration:underline}
.redot{display:inline-block;width:14px;height:14px;border-radius:50%;background:#e02626;margin-right:10px;vertical-align:middle;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.25}}
.livebox iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:6px;background:#000}

/* ===== Mouvement et vie ===== */
.hero:before{content:"";position:absolute;inset:-6%;z-index:0;background:linear-gradient(rgba(11,29,58,.74),rgba(11,29,58,.9)),var(--hero-img,url(img/culte1.jpg)) center/cover;transform:translate3d(0,var(--py,0px),0) scale(1.04);animation:kb 26s ease-in-out infinite alternate;will-change:transform}
.hero:after{content:"";position:absolute;left:50%;bottom:-120px;width:620px;height:620px;margin-left:-310px;z-index:0;border-radius:50%;background:radial-gradient(circle,rgba(212,166,59,.28),rgba(212,166,59,0) 65%);animation:glow 7s ease-in-out infinite alternate;pointer-events:none}
.hero .wrap{position:relative;z-index:1}
@keyframes kb{from{transform:translate3d(0,var(--py,0px),0) scale(1.04)}to{transform:translate3d(-1.5%,var(--py,0px),0) scale(1.16)}}
@keyframes glow{from{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}
@keyframes up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero h1,.hero p,.hero .btn,.hero .verse{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
.hero h1{animation-delay:.1s}.hero p{animation-delay:.3s}.hero .btn{animation-delay:.5s}.hero .btn.o{animation-delay:.62s}.hero .verse{animation-delay:.8s}
.page-head h1,.page-head p{animation:up .8s cubic-bezier(.2,.7,.2,1) both}.page-head p{animation-delay:.2s}
body{animation:fi .5s ease both}@keyframes fi{from{opacity:0}to{opacity:1}}
header{transition:box-shadow .3s,padding .3s}header.sc{box-shadow:0 6px 24px rgba(0,0,0,.35)}header.sc .wrap{padding-top:7px;padding-bottom:7px}
#bar{position:fixed;left:0;top:0;height:3px;width:100%;z-index:50;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.js .rv{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.fact,.card,.links3 a{transition:transform .35s,box-shadow .35s}
.fact:hover,.card:hover,.links3 a:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(11,29,58,.18)}
.btn{transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 22px rgba(0,0,0,.3)}
.gallery img{cursor:zoom-in;transition:transform .5s,box-shadow .5s,filter .5s}.gallery img:hover{transform:scale(1.04);box-shadow:0 14px 30px rgba(0,0,0,.3);filter:saturate(1.15)}
h2:after{transform-origin:left;transition:width .9s .2s}.js .rv h2:after,.js h2.rv:after{width:0}.js .rv.in h2:after,.js h2.rv.in:after{width:60px}
#lb{position:fixed;inset:0;z-index:100;background:rgba(5,12,28,.94);display:none;align-items:center;justify-content:center;padding:20px}
#lb.on{display:flex;animation:fi .3s both}
#lb img{max-width:94vw;max-height:80vh;border-radius:6px;box-shadow:0 20px 60px #000;animation:zi .35s both}
@keyframes zi{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
#lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font:15px system-ui;margin:0;padding:0 60px}
#lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;font:30px system-ui;width:52px;height:52px;border-radius:50%;cursor:pointer}
#lb button:hover{background:var(--gold);color:var(--navy)}
#lb .x{top:14px;right:14px}#lb .pv{left:12px;top:50%;margin-top:-26px}#lb .nx{right:12px;top:50%;margin-top:-26px}
@media(prefers-reduced-motion:reduce){.hero:before,.hero:after,.hero h1,.hero p,.hero .btn,.hero .verse,body,.page-head h1,.page-head p{animation:none!important}.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* photos flottantes */
.floaters{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:18px;padding:10px 0 20px}
.floaters img{width:30%;min-width:150px;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:6px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.22);cursor:zoom-in;animation:bob 6s ease-in-out infinite;transition:transform .3s}
.floaters img.f1{transform:rotate(-3deg)}.floaters img.f2{transform:rotate(2deg);animation-delay:-1s;margin-top:22px}.floaters img.f3{transform:rotate(-2deg);animation-delay:-2s}
.floaters img.f4{transform:rotate(3deg);animation-delay:-3s;margin-top:18px}.floaters img.f5{transform:rotate(-2deg);animation-delay:-4s}.floaters img.f6{transform:rotate(2deg);animation-delay:-5s;margin-top:22px}
.floaters img:hover{transform:scale(1.06) rotate(0);z-index:2;animation-play-state:paused}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media(max-width:600px){.floaters img{width:44%;min-width:0;gap:10px}}
@media(prefers-reduced-motion:reduce){.floaters img{animation:none}}
.floaters img{width:calc(25% - 18px);min-width:140px;object-position:center 25%}
.floaters img.f1{aspect-ratio:3/4;object-position:center 15%}
@media(max-width:600px){.floaters img{width:calc(50% - 14px);min-width:0}}
.floaters img{width:calc(33.3% - 20px)}
.floaters img.f1{aspect-ratio:4/3;object-position:center 20%}
@media(max-width:600px){.floaters img{width:calc(50% - 14px)}}
#vie{padding-top:34px;padding-bottom:6px;background:linear-gradient(#fff,#f7f3ea)}

/* logo, événement, bio */
.brand{display:flex;align-items:center;gap:10px}.brand .bl{display:block;line-height:0}.brand img{width:42px;height:42px;border-radius:10px;border:1px solid rgba(212,168,67,.6);box-shadow:0 0 14px rgba(255,140,40,.35)}
header.sc .brand img{width:34px;height:34px}
.hero-logo{display:block;margin:0 auto 18px;width:150px;height:150px;border-radius:26px;object-fit:cover;border:2px solid rgba(212,168,67,.7);box-shadow:0 0 40px rgba(255,140,40,.45);animation:fi 1.2s both}
#evenement{padding:40px 0;background:linear-gradient(135deg,#1a0b3a,#4b0f6b 55%,#7a1280);color:#fff}
#evenement h2{color:#fff}
.ev{display:grid;grid-template-columns:minmax(220px,420px) 1fr;gap:28px;align-items:center;margin-top:18px}
.ev img{width:100%;height:auto;border-radius:14px;border:4px solid #d4a843;box-shadow:0 14px 36px rgba(0,0,0,.45);cursor:zoom-in}
.ev h3{font-size:30px;margin:0 0 6px;color:#f3c24a}.ev .evd{font-weight:700;font-size:18px;margin:0 0 4px}.ev .evth{color:#f3c24a;font-weight:700;margin:0 0 10px}.ev p{line-height:1.6}
@media(max-width:700px){.ev{grid-template-columns:1fr}.ev h3{font-size:24px}.hero-logo{width:120px;height:120px}}
.bio{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:28px;align-items:start;margin-top:14px}
.bio img{width:100%;height:auto;border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.25)}
@media(max-width:700px){.bio{grid-template-columns:1fr}.bio img{max-width:260px;margin:0 auto}}
.card .vs{font-style:italic;color:#8a6a14;font-size:14px;border-left:3px solid #d4a843;padding-left:10px;margin:10px 0}
.center{text-align:center;margin-top:24px}
#foi .cards{margin-top:14px}

/* ===== Logo qui saute ===== */
.hop{animation:hop 3.4s cubic-bezier(.28,.84,.42,1) 1.2s infinite;transform-origin:50% 100%;will-change:transform}
@keyframes hop{0%,38%,100%{transform:translateY(0) scale(1,1)}6%{transform:translateY(0) scale(1.07,.9)}20%{transform:translateY(-34px) scale(.96,1.06)}30%{transform:translateY(0) scale(1.06,.93)}34%{transform:translateY(-10px) scale(1,1)}37%{transform:translateY(0) scale(1.03,.97)}}
.brand .bl img{animation:hop2 4s ease-in-out infinite}
@keyframes hop2{0%,60%,100%{transform:translateY(0)}72%{transform:translateY(-6px)}84%{transform:translateY(0)}92%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.hop,.brand .bl img{animation:none!important}}

/* ===== Boutons de don ===== */
.btn.seed{background:linear-gradient(135deg,#f3c24a,#d4a63b);box-shadow:0 8px 22px rgba(212,166,59,.45);text-align:center;line-height:1.15;padding:11px 26px}
.btn.seed b{display:block;font:800 18px system-ui;letter-spacing:.01em}
.btn.seed small{display:block;font:600 11px system-ui;opacity:.8}
.give3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:26px}
.gv{display:block;text-align:center;text-decoration:none;background:#fff;border-radius:12px;padding:28px 18px;box-shadow:0 4px 18px rgba(0,0,0,.1);border-top:4px solid var(--gold);color:var(--ink);transition:transform .3s,box-shadow .3s}
.gv:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(11,29,58,.2)}
.gv i{display:block;font-style:normal;font-size:40px;margin-bottom:6px}
.gv b{display:block;font:800 22px system-ui;color:var(--navy)}
.gv small{display:block;font:600 13px system-ui;color:#6a7385}
.gv em{display:block;font:14px system-ui;color:#555;font-style:normal;margin-top:6px}
.gv.seed{background:linear-gradient(160deg,#fff8e0,#fff);border-top-width:6px}
.gv.seed i{animation:grow 2.6s ease-in-out infinite}
@keyframes grow{50%{transform:scale(1.18) rotate(-6deg)}}
.paynote{font:14px system-ui;color:#555;margin-top:18px}
/* choix du type de don */
.seg{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.seg button{flex:1 1 180px;border:2px solid var(--gold);background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--navy);font:inherit}
.seg button b{display:block;font:800 18px system-ui}.seg button small{display:block;font:600 12px system-ui;color:#6a7385}
.seg button.on{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(11,29,58,.3)}.seg button.on small{color:var(--gold)}
.step{margin:30px 0 4px;color:var(--navy);font:800 20px system-ui}
.pay3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:12px}
.pm{background:#fff;border:2px solid var(--gold);border-radius:10px;padding:20px;font:15px system-ui;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.pm h4{margin:0 0 8px;font:800 18px system-ui;color:var(--navy)}
.pm .btn{margin:6px 0 0}.pm .soon{color:#8a6a14;background:#fff6dc;border-radius:6px;padding:8px 10px;font-size:13px}
.pm .btn.off{opacity:.45;pointer-events:none}
.motif{background:var(--cream);border-left:4px solid var(--gold);padding:12px 16px;border-radius:4px;font:15px system-ui}
/* donner sa vie à Jésus */
#jesus{background:linear-gradient(135deg,#0b1d3a,#1a2f63 60%,#2b1a5c);color:#fff}
#jesus h2{color:#fff}#jesus .lead{color:#e5e9f2}
.rom{margin:18px 0;padding:14px 18px;border-left:4px solid var(--gold);background:rgba(255,255,255,.07);border-radius:4px;max-width:760px;font-style:italic}
.rom b{display:block;color:var(--gold);font:700 13px system-ui;font-style:normal;letter-spacing:.06em;margin-bottom:4px}
#jesus .btn.o{color:#fff}
#jesus .frm{color:var(--ink)}
/* partenaires */
.plist{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:26px 0}
.plist a,.plist span{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e4dfd0;border-radius:10px;padding:10px 16px;font:600 15px system-ui;color:var(--navy);text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.plist img{height:40px;width:auto;border-radius:4px}
.cards .card p{margin:0}
.frm .btn{border:0;cursor:pointer}
#partenaires .cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.goal{max-width:560px;margin:22px auto 0;background:#fff;border:1px solid #e3dcc8;border-radius:14px;padding:16px 18px}
.goal .gt{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--navy)}
.gbar{height:14px;background:#eee6d2;border-radius:99px;margin-top:10px;overflow:hidden}.gbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#e8c46a);border-radius:99px;transition:width 1s}
.amts{margin:18px 0}.amts>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.amts button{border:2px solid var(--gold);background:#fff;border-radius:10px;padding:9px 14px;cursor:pointer;color:var(--navy);font:inherit}
.amts button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.amts input{width:120px;padding:9px;border:2px solid #ddd;border-radius:10px;font:inherit}
.cd{display:flex;gap:12px;margin:12px 0;flex-wrap:wrap}.cd div{background:var(--navy);color:#fff;border-radius:10px;padding:8px 12px;text-align:center;min-width:64px}.cd b{display:block;font-size:24px;color:var(--gold)}.cd small{font-size:12px}
.frm .fine{font-size:13px;color:#666;margin-top:10px}
#sub-form select{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}

/* ===== Version 2 : bleu plus clair, en-tête vivant, finitions ===== */
:root{--navy:#17407a;--navy2:#1f5399;--ink:#1a2438}
header{background:linear-gradient(180deg,#1c4a8e,#17407a)}
.brand small{letter-spacing:.08em;text-transform:none;font-size:11px;font-weight:600;color:#f1cf7a}
.hero{min-height:calc(100vh - 70px);min-height:calc(100svh - 70px);display:flex;align-items:center;justify-content:center;padding:120px 0 110px;background:var(--navy)}
.hero>.wrap{width:100%}
.hero:before{background:linear-gradient(180deg,rgba(23,64,122,.42),rgba(23,64,122,.74)),var(--hero-img,url(img/culte1.jpg)) center/cover}
.hero h1{font-size:clamp(38px,7vw,72px);text-shadow:0 4px 24px rgba(0,0,0,.35)}
.hero p{font-size:clamp(18px,2.2vw,22px);max-width:760px}
.hero h1 em{background:linear-gradient(90deg,#f3c24a,#fff1b8,#f3c24a);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 4s linear infinite}
@keyframes shine{to{background-position:200% center}}
.hero:after{width:900px;height:900px;margin-left:-450px;bottom:-300px;background:radial-gradient(circle,rgba(243,194,74,.38),rgba(243,194,74,0) 65%)}
.hero .fx{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero .fx span{position:absolute;bottom:-20px;border-radius:50%;background:radial-gradient(circle,#fff6d0,rgba(243,194,74,.0) 70%);animation:rise linear infinite}
@keyframes rise{from{transform:translate3d(0,0,0)}50%{transform:translate3d(24px,-50vh,0)}to{transform:translate3d(-16px,-105vh,0)}}
.hero .rays{position:absolute;left:50%;top:-30%;width:160%;height:160%;margin-left:-80%;z-index:0;pointer-events:none;opacity:.5;background:repeating-conic-gradient(from 0deg at 50% 38%,rgba(255,236,170,.0) 0 8deg,rgba(255,236,170,.14) 9deg 11deg,rgba(255,236,170,0) 12deg 20deg);animation:spin 80s linear infinite;-webkit-mask-image:radial-gradient(circle at 50% 38%,#000 0,transparent 62%);mask-image:radial-gradient(circle at 50% 38%,#000 0,transparent 62%)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-logo{width:200px;height:200px;filter:drop-shadow(0 12px 30px rgba(0,0,0,.45))}
@media(max-width:600px){.hero{padding:84px 0 76px}.hero-logo{width:150px;height:150px}}
.hero .btn{transition:transform .2s,box-shadow .2s}.hero .btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.3)}
/* finitions */
.btn{transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.card,.gv,.links3 a,.fact{transition:transform .25s,box-shadow .25s}.card:hover,.gv:hover,.links3 a:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(23,64,122,.16)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.frm input,.frm textarea,.frm select{transition:border-color .2s,box-shadow .2s}.frm input:focus,.frm textarea:focus,.frm select:focus{border-color:var(--navy2);box-shadow:0 0 0 3px rgba(31,83,153,.18);outline:0}
footer{background:linear-gradient(180deg,#123461,#0d2748);padding:36px 20px;line-height:1.9}
footer .fine2{color:#c9d3e6;margin-top:4px}
.bio{grid-template-columns:minmax(240px,340px) 1fr;gap:40px;align-items:center}
.bio img{aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:18px;border:4px solid var(--gold);box-shadow:0 18px 44px rgba(23,64,122,.35)}
@media(max-width:700px){.bio img{max-width:300px}}
.band,.official{background:linear-gradient(135deg,#17407a,#1f5399)}
/* ===== Porte d'entrée ===== */
html.porte-on{overflow:hidden}
#porte{position:fixed;inset:0;z-index:999;perspective:1400px;cursor:pointer;overflow:hidden;background:radial-gradient(circle at 50% 50%,#fff3c4,#f3c24a 40%,#8a5a0a 100%)}
#porte .pl,#porte .pr{position:absolute;top:0;bottom:0;width:50.2%;background:linear-gradient(90deg,#10305c,#1b4a8a 55%,#17407a);box-shadow:inset 0 0 0 6px #d4a63b,inset 0 0 0 12px #0d2748,inset 0 0 80px rgba(0,0,0,.45);transition:transform 1.7s cubic-bezier(.65,.02,.2,1)}
#porte .pl{left:0;transform-origin:0 50%;border-right:2px solid #0d2748}
#porte .pr{right:0;transform-origin:100% 50%;border-left:2px solid #0d2748}
#porte .pl:after,#porte .pr:after{content:"";position:absolute;top:78%;width:14px;height:90px;margin-top:-45px;border-radius:8px;background:linear-gradient(90deg,#fff1b8,#d4a63b,#8a5a0a);box-shadow:0 2px 8px rgba(0,0,0,.5)}
#porte .pl:after{right:26px}#porte .pr:after{left:26px}
#porte .pl:before,#porte .pr:before{content:"";position:absolute;inset:34px;border:2px solid rgba(212,166,59,.55);border-radius:6px}
#porte .pg{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.95),rgba(255,230,150,.6) 40%,transparent 70%);transition:opacity 1.2s .2s;pointer-events:none}
#porte .pc{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:2;transition:opacity .5s,transform .8s}
#porte .pc img{display:block;margin:0 auto 14px;border-radius:26px;border:2px solid #d4a63b;box-shadow:0 0 40px rgba(243,194,74,.55);animation:hop 1.6s ease-in-out infinite}
#porte .pc b{display:block;font:700 26px Georgia,serif;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px #000}
#porte .pc>span{display:none;margin:6px 0 16px;color:#f3c24a;font:600 16px system-ui;letter-spacing:.2em;text-transform:uppercase}
body:not(.en-on) #porte .pc>.fr,body.en-on #porte .pc>.en{display:block!important}
#porte .pc button{background:#d4a63b;color:#10305c;border:0;border-radius:30px;padding:11px 30px;font:700 15px system-ui;cursor:pointer}
#porte.open .pl{transform:rotateY(-104deg)}#porte.open .pr{transform:rotateY(104deg)}
#porte.open .pg{opacity:1}#porte.open .pc{opacity:0;transform:translate(-50%,-62%) scale(.9)}
#porte.gone{opacity:0;transition:opacity .8s;pointer-events:none}
@media(max-width:600px){#porte .pc img{width:120px;height:120px}#porte .pc b{font-size:20px}}

/* Nos débuts */
.debuts-sec{background:linear-gradient(180deg,#0f1f3d,#16305e);color:#fff;padding:56px 0}
.debuts-sec h2{color:#f2c14e}.debuts-sec .lead{color:#e8eefb}
.debuts-sec .tag{display:inline-block;background:#f2c14e;color:#0f1f3d;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;padding:6px 14px;border-radius:20px;margin-bottom:10px}
.gallery.debuts{display:block;column-count:3;column-gap:14px;margin-top:26px}
.gallery.debuts img{width:100%;height:auto;margin:0 0 14px;break-inside:avoid;border-radius:10px;border:4px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.35);display:block}
.debuts-sec .verse-d{text-align:center;color:#f2c14e;font-style:italic;margin-top:18px}
@media(max-width:900px){.gallery.debuts{column-count:2}}
@media(max-width:480px){.gallery.debuts{column-gap:10px}.gallery.debuts img{margin-bottom:10px}}

/* Accueil : moments de louange */
#moments .lead{max-width:640px}
.moments{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px;margin-top:26px}
.moments img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:12px;cursor:zoom-in;box-shadow:0 8px 20px rgba(0,0,0,.18);transition:transform .5s,box-shadow .5s}
.moments img:hover{transform:scale(1.03);box-shadow:0 14px 30px rgba(0,0,0,.3)}
.moments img:first-child{grid-column:span 2;grid-row:span 2}
#moments .more{text-align:center;margin-top:22px}
@media(max-width:700px){.moments{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.moments img:first-child{grid-column:span 2;grid-row:span 1;height:100%}}
#moments .more .btn.o{color:#1a3a6e;border-color:#c9a23f;background:transparent}#moments .more .btn.o:hover{background:#c9a23f;color:#fff}
.moments img{object-position:center 15%}

/* Baptêmes */
.bapt-sec{padding:64px 0;background:linear-gradient(180deg,#eaf3fb,#fff)}
.bapt-sec .verse-d{color:#1a3a6e}
.gallery.bapt{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.gallery.bapt img{width:100%;height:320px;object-fit:cover;object-position:center 40%;border-radius:12px;border:4px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.2)}
@media(max-width:900px){.gallery.bapt{grid-template-columns:repeat(2,1fr)}.gallery.bapt img{height:240px}}
@media(max-width:480px){.gallery.bapt{gap:10px}.gallery.bapt img{height:190px}}
.bapt-sec .verse-d{text-align:center;font-style:italic;margin-top:18px}
.bapt-sec .tag{background:#1a3a6e;color:#f2c14e}
