@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--blue:#143db1;--blue-bright:#1868c9;--sky:#b4dcff;--green:#9da901;--orange:#f2a900;--navy:#0b1d52;--ice:#f2f8ff;--text:#10204a;--muted:#62708a;--line:#d8e3f2;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff}a{text-decoration:none;color:inherit}
.header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;border-bottom:1px solid #e7edf2;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.logo{font-weight:900;letter-spacing:.08em;display:flex;align-items:center;gap:10px}.logo span{background:var(--navy);color:#fff;border-radius:8px;padding:9px;font-size:12px}
nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}nav a:hover{color:var(--green)}.contact-btn{background:var(--blue);color:#fff!important;padding:12px 20px;border-radius:50px}
.hero{min-height:720px;position:relative;display:flex;align-items:center;padding:100px 8vw;overflow:hidden;color:#fff}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,25,72,.90),rgba(11,29,82,.52) 58%,rgba(11,29,82,.18))}
.hero-text{position:relative;z-index:2;max-width:760px}.tag{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.18em;margin-bottom:20px}.hero .tag{color:var(--sky)}.hero h1,h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:900;line-height:.88;margin:0}.hero h1{font-size:clamp(65px,8vw,115px);letter-spacing:-.02em}.hero h1 em,h2 em{font-style:normal;color:var(--sky)}.hero-text>p,.intro>p{max-width:650px;line-height:1.75;font-size:17px;margin:28px 0}.hero-text>p{color:#e4edf5}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;padding:14px 22px;border-radius:8px;font-size:14px;font-weight:800}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue-bright)}.light{background:#fff;color:var(--text)}
.section{padding:110px 8vw}.intro h2{font-size:clamp(58px,7vw,92px)}.intro>p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px}.cards article{border:1px solid var(--line);border-radius:15px;padding:28px;overflow:hidden}.cards b{color:var(--green);font-size:12px}.cards h3{font:800 27px "Barlow Condensed";margin:30px 0 12px}.cards p{color:var(--muted);line-height:1.7;margin:0 0 22px}.cards img{width:100%;height:220px;object-fit:cover;border-radius:10px;display:block}
.gallery-section{padding:30px 8vw 110px}.gallery-title{margin-bottom:45px}.gallery-title h2{font-size:clamp(58px,7vw,92px)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:14px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:12px}.gallery img:nth-child(1){grid-row:span 2}.gallery img:nth-child(4){grid-column:span 2}
.dark{background:var(--navy);color:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.dark .intro>p{color:#9aabba}.planning-box{background:#fff;color:var(--text);border-radius:16px;overflow:hidden;box-shadow:0 30px 70px #0005}.box-top{padding:19px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.box-top span{font-size:10px;color:#3b7b51;font-weight:900}.planning-content{text-align:center;padding:65px 30px}.calendar{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:14px;background:var(--sky);color:var(--blue);font-size:10px;font-weight:800}.calendar strong{font-size:25px}.planning-content h3{font-size:25px;margin:18px 0 8px}.planning-content p{color:var(--muted);margin:0 0 25px}
.partnership{display:grid;grid-template-columns:.9fr 1fr;gap:80px;align-items:center}.partner-photo{height:470px;border-radius:22px;overflow:hidden}.partner-photo img{width:100%;height:100%;object-fit:cover}.partnership .intro>p{max-width:580px}
.numbers{display:grid;grid-template-columns:repeat(3,1fr);background:var(--blue);color:#fff;padding:60px 8vw;gap:30px}.numbers div{padding:10px 20px;border-left:1px solid #ffffff55}.numbers strong{display:block;font:900 38px "Barlow Condensed"}.numbers span{font-size:13px;opacity:.85}
.contact{padding:105px 8vw;background:var(--ice);border-top:6px solid var(--green);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-list{display:grid;gap:12px}.contact-list a{background:#fff;border:1px solid var(--line);padding:21px 24px;border-radius:11px;display:grid;grid-template-columns:1fr auto}.contact-list small{grid-column:1;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.15em}.contact-list strong{grid-column:1;margin-top:6px}.contact-list span{grid-column:2;grid-row:1/3;align-self:center;font-size:22px;color:var(--blue)}
footer{background:#050c14;color:#8fa1b3;padding:26px 8vw;display:flex;justify-content:space-between;font-size:12px}footer strong{color:#fff;letter-spacing:.1em}
@media(max-width:800px){.header{padding:0 5vw}.header nav a:not(.contact-btn){display:none}.hero{min-height:650px;padding:70px 7vw}.section,.contact,.gallery-section{padding:75px 7vw}.cards,.dark,.partnership,.contact{grid-template-columns:1fr}.cards{margin-top:40px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery img:nth-child(1){grid-row:span 1}.gallery img:nth-child(4){grid-column:span 1}.dark{gap:45px}.partner-photo{height:330px}.numbers{grid-template-columns:1fr;padding:45px 7vw}.numbers div{border-left:0;border-top:1px solid #ffffff55;padding:18px 0}.numbers div:first-child{border-top:0}footer{display:block;padding:25px 7vw}footer span{display:block;margin-top:8px}}

.logo{display:flex;align-items:center;gap:12px}
.logo img{width:52px;height:52px;border-radius:50%;background:#000;padding:4px}
.logo div{display:flex;flex-direction:column;line-height:1}
.logo strong{font-size:16px}
.logo small{font-size:11px;color:#666}
.hero-logo{width:130px;margin-bottom:24px;filter:drop-shadow(0 10px 25px rgba(0,0,0,.35))}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:46px;height:46px}

.logo img{width:42px;height:42px;object-fit:contain}
.logo strong{color:var(--blue)}
.logo small{display:block;color:var(--green);font-size:10px;letter-spacing:.08em;margin-top:2px}
.hero-logo{width:115px;height:115px;object-fit:contain;margin-bottom:18px}
.box-top span{color:var(--green)}
.partnership .tag{color:var(--green)}


/* Campagne de dons HelloAsso */
.donation-section { background: #f4f6f8; }
.donation-wrap { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 430px); gap: 70px; align-items: start; }
.donation-widget { background: #fff; padding: 22px; box-shadow: 0 18px 50px rgba(0,0,0,.08); border-radius: 4px; }
.widget-label { font-size: 11px; letter-spacing: .16em; font-weight: 700; margin-bottom: 14px; color: #68717b; }
.don-nav { font-weight: 800; }
@media (max-width: 800px) { .donation-wrap { grid-template-columns: 1fr; gap: 35px; } .donation-widget { padding: 14px; } }

/* Animations et nouvelles sections */
.reveal{opacity:0;transform:translateY(38px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}
.cards article{transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease;transition-delay:var(--delay,0ms)}
.cards article:hover{transform:translateY(-8px);box-shadow:0 22px 50px rgba(10,35,80,.12);border-color:#bfd1e8}
.gallery img{transition:transform .7s cubic-bezier(.22,1,.36,1),filter .7s ease}.gallery img:hover{transform:scale(1.035);filter:saturate(1.08)}
.header{transition:height .35s ease,box-shadow .35s ease}.header.scrolled{height:68px;box-shadow:0 8px 30px rgba(10,30,70,.08)}
.hero-photo{transition:transform .15s linear}
.donation-widget,.registration-card,.planning-box{transition:transform .45s ease,box-shadow .45s ease}.donation-widget:hover,.registration-card:hover,.planning-box:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(0,0,0,.13)}
.registration-section{background:#fff}.registration-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:80px;align-items:center}.registration-card{background:var(--navy);color:#fff;border-radius:18px;padding:38px;box-shadow:0 22px 55px rgba(11,29,82,.18)}.registration-number{color:var(--sky);font:900 14px "Barlow Condensed";letter-spacing:.16em}.registration-card h3{font:900 36px "Barlow Condensed";margin:32px 0 10px}.registration-card p{color:#cbd6e4;line-height:1.7}.registration-card a{display:flex;justify-content:space-between;margin-top:28px;padding-top:18px;border-top:1px solid #ffffff25;color:#fff;font-weight:800}.outline{border:1px solid var(--blue);color:var(--blue);background:transparent}.outline:hover{background:var(--blue);color:#fff}
.site-footer{background:#050c14;color:#8fa1b3;padding:28px 8vw;display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:25px;font-size:12px}.site-footer strong{color:#fff;letter-spacing:.08em}.footer-links{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap}.footer-links a:hover{color:#fff}.legal-section{background:#08142c;color:#dce6f2;padding:90px 8vw;border-top:1px solid #ffffff12}.legal-inner{max-width:1200px;margin:auto}.legal-section h2{font-size:clamp(55px,6vw,82px);margin-bottom:45px}.legal-section h2 em{font-style:normal;color:var(--sky)}.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.legal-grid article{border:1px solid #ffffff18;border-radius:12px;padding:25px;background:#ffffff05}.legal-grid h3{margin:0 0 12px;color:#fff;font:800 24px "Barlow Condensed"}.legal-grid p{color:#aebdd0;line-height:1.7;font-size:13px}.legal-grid a{color:#b4dcff}
@media(max-width:800px){nav{gap:8px}.header{height:72px}.registration-wrap{grid-template-columns:1fr;gap:40px}.site-footer{grid-template-columns:1fr;gap:10px}.footer-links{justify-content:flex-start}.legal-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
