/* ATC — Direction visuelle de l'accueil : rythme clair / bleu profond, cartes plus riches, titres homogènes.
   Palette logo : bleu #011875 · rouge #B92F29 · accents drapeau jaune #FFCC00. */

body main { --atc-blue:#011875; --atc-blue-dk:#010f52; --atc-blue-md:#0a2a9e; --atc-red:#B92F29; --atc-yellow:#FFCC00; --atc-ink:#14203f; }

/* ── Titres de section homogènes ───────────────────────── */
body main .section-head { margin-bottom:56px; }
body main .section-head .tag {
    display:inline-flex; align-items:center; gap:10px; background:none; border:0; padding:0; margin-bottom:14px;
    font:800 .74rem/1 'Kumbh Sans',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--atc-red); }
body main .section-head .tag::before, body main .section-head .tag::after { content:""; width:28px; height:2px; background:var(--atc-red); border-radius:2px; }
body main .section-head h2 { font-size:clamp(1.9rem,3.2vw,2.7rem); font-weight:800; letter-spacing:-.02em; color:var(--atc-blue) !important; line-height:1.15; }
body main .section-head .u-accent { color:var(--atc-red); }
body main .section-head p { font-size:1.05rem; line-height:1.75; color:#55638a; max-width:640px; }

/* ── Activités : cartes éditoriales ────────────────────── */
body main .activites-section { background:#fff; padding:110px 0 100px; position:relative; }
body main .activites-section::before { content:""; position:absolute; left:0; right:0; top:0; height:260px; background:linear-gradient(180deg,#f1f4fb,transparent); pointer-events:none; }
body main .activites-section .container { position:relative; }
body main .activites-grid { gap:34px; }
body main .act-card { border:0; border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 10px 40px rgba(1,24,117,.10); transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s; }
body main .act-card:hover { transform:translateY(-10px); box-shadow:0 26px 60px rgba(1,24,117,.22); }
body main .act-card::before { height:5px; background:linear-gradient(90deg,var(--atc-blue),var(--atc-red) 50%,var(--atc-yellow)); }
body main .act-img { overflow:hidden; }
body main .act-img img { transition:transform .9s cubic-bezier(.2,.8,.2,1); }
body main .act-card:hover .act-img img { transform:scale(1.08); }
body main .act-img-overlay { background:linear-gradient(180deg,transparent 45%,rgba(1,15,82,.55)); }
body main .act-date { background:var(--atc-blue); color:#fff; border-radius:50px; box-shadow:0 6px 18px rgba(1,24,117,.35); }
body main .act-icon { background:rgba(185,47,41,.10); color:var(--atc-red); border-radius:14px; }
body main .act-card h3 { color:var(--atc-blue); line-height:1.3; }
body main .act-link { border-radius:50px; border:2px solid var(--atc-blue); color:var(--atc-blue); transition:all .3s; }
body main .act-link:hover, body main .act-card:hover .act-link { background:var(--atc-red); border-color:var(--atc-red); color:#fff; }

/* ── Mot du Président : section bleu profond ───────────── */
body main .president-section {
    position:relative; overflow:hidden; padding:110px 0;
    background:radial-gradient(circle at 15% 20%, rgba(10,42,158,.9) 0, transparent 45%), linear-gradient(160deg,var(--atc-blue-dk),var(--atc-blue)); }
body main .president-section::before { content:""; position:absolute; inset:0; opacity:.07;
    background-image:radial-gradient(#fff 1.4px, transparent 1.6px); background-size:26px 26px; }
body main .president-section::after { content:""; position:absolute; left:0; right:0; bottom:0; height:6px;
    background:linear-gradient(90deg,var(--atc-blue-md) 0 25%,var(--atc-red) 25% 50%,var(--atc-yellow) 50% 75%,#006B3F 75%); }
body main .president-card { position:relative; border:0; border-radius:26px; box-shadow:0 40px 90px rgba(0,0,0,.40); border-left:8px solid var(--atc-red); }
body main .president-tag { background:rgba(185,47,41,.10); color:var(--atc-red); }
body main .president-card h2, body main .president-card h3 { color:var(--atc-blue); }
body main .president-excerpt { color:#35446b; }
body main .btn-more { background:var(--atc-red); color:#fff; border-radius:50px; box-shadow:0 10px 26px rgba(185,47,41,.35); }
body main .btn-more:hover { background:var(--atc-blue); }
body main .quote-mark { color:var(--atc-red); opacity:.18; }
body main .sig-avatar { background:linear-gradient(135deg,var(--atc-blue),var(--atc-blue-md)); box-shadow:0 0 0 4px rgba(1,24,117,.12); }

/* ── Missions & objectifs ──────────────────────────────── */
body main .mo-section { background:linear-gradient(180deg,#fff,#f1f4fb); padding:110px 0 100px; }
body main .mo-tabs { gap:12px; }
body main .mo-tab { border-radius:50px; font-weight:800; letter-spacing:.06em; border:2px solid var(--atc-blue); color:var(--atc-blue); background:#fff; transition:all .3s; }
body main .mo-tab.active, body main .mo-tab:hover { background:var(--atc-blue); color:#fff; box-shadow:0 10px 26px rgba(1,24,117,.30); }
body main .mission-content-card { border:0; border-radius:22px; background:#fff; box-shadow:0 18px 50px rgba(1,24,117,.10); border-top:5px solid var(--atc-red); padding:40px 44px; font-size:1.08rem; line-height:1.85; color:#35446b; }
body main .objectif-card { border:0; border-radius:20px; box-shadow:0 12px 36px rgba(1,24,117,.09); transition:transform .4s, box-shadow .4s; }
body main .objectif-card:hover { transform:translateY(-8px); box-shadow:0 24px 54px rgba(1,24,117,.18); }
body main .objectif-icon { background:var(--atc-blue); color:#fff; border-radius:16px; }

/* ── Chiffres : bandeau bleu profond ───────────────────── */
body main .stats-band {
    position:relative; max-width:1180px; margin:-10px auto 0; padding:44px 24px; border-radius:26px; overflow:hidden;
    background:linear-gradient(135deg,var(--atc-blue-dk),var(--atc-blue) 55%,var(--atc-blue-md)); box-shadow:0 30px 70px rgba(1,24,117,.35);
    display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
body main .stats-band::before { content:""; position:absolute; right:-80px; top:-80px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(185,47,41,.55),transparent 65%); }
body main .stats-band::after { content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,var(--atc-red) 0 33%,var(--atc-yellow) 33% 66%,#006B3F 66%); }
body main .stat-card { position:relative; background:transparent !important; border:0 !important; box-shadow:none !important; text-align:center; padding:10px 18px; border-radius:0 !important; }
body main .stat-card + .stat-card { border-left:1px solid rgba(255,255,255,.16) !important; }
body main .stat-icon { background:rgba(255,255,255,.10) !important; color:var(--atc-yellow) !important; border-radius:16px; margin:0 auto 12px; }
body main .stat-number { color:#fff !important; font-family:'Playfair Display',serif; font-weight:800; font-size:clamp(2rem,3.4vw,3rem); text-shadow:0 2px 14px rgba(0,0,0,.25); }
body main .stat-label { color:rgba(255,255,255,.78) !important; letter-spacing:.12em; text-transform:uppercase; font-size:.78rem; font-weight:700; }
@media (max-width:820px){ body main .stats-band { grid-template-columns:repeat(2,1fr); margin:0 16px; } body main .stat-card:nth-child(3) { border-left:0 !important; } body main .stat-card:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.16); padding-top:22px; } }

/* ── FAQ ───────────────────────────────────────────────── */
body main .faq-section { background:#fff; padding:110px 0 90px; }
body main .faq-card { border:0; border-radius:16px; background:#f4f6fc; box-shadow:none; transition:all .3s; }
body main .faq-card:hover { background:#fff; box-shadow:0 14px 36px rgba(1,24,117,.12); }
body main .faq-question { color:var(--atc-blue); font-weight:800; }
body main .faq-icon { background:#fff; color:var(--atc-red); border-radius:50%; }
body main .faq-card.open, body main .faq-card.active { background:#fff; box-shadow:0 18px 44px rgba(1,24,117,.14); border-left:5px solid var(--atc-red); }

/* ── Partenaires ───────────────────────────────────────── */
body main .partenaires { background:linear-gradient(180deg,#fff,#f4f6fc); padding:90px 0 100px; }
body main .partner-item img { filter:grayscale(1); opacity:.7; transition:all .4s; }
body main .partner-item:hover img { filter:none; opacity:1; transform:scale(1.08); }

/* ── Apparition douce au défilement (si .reveal) ───────── */
@media (prefers-reduced-motion:no-preference){ body main .act-card, body main .objectif-card { will-change:transform; } }
