.elementor-66550 .elementor-element.elementor-element-6e0f83f{--display:flex;overflow:visible;}/* Start custom CSS for text-editor, class: .elementor-element-cf70fcc *//* ===========================================================
   AQGS — 40 ans (2026) · CSS complet (correctifs affichage)
   Palette + Base + HERO v3 + Souvenirs + Timeline + Formulaire
   =========================================================== */
:root{
  --primary-color:#1E3A5F;     /* Bleu foncé */
  --secondary-color:#4A90A4;   /* Bleu-vert */
  --accent-color:#6AAB8C;      /* Vert doux */
  --highlight-color:#F2C94C;   /* Jaune doré */
  --light-color:#F8FAFC;       /* Fond très clair */
  --dark-color:#2D3748;        /* Texte foncé */
  --text-color:#4A5568;        /* Texte principal */
  --radius:22px;
  --shadow-lg:0 24px 60px rgba(0,0,0,.16);
  --shadow:0 18px 45px rgba(0,0,0,.10);
  --transition:all .28s ease;
}

.aqgs40{
  font-family:'Montserrat','Segoe UI',Roboto,Arial,sans-serif;
  color:var(--text-color); background:#fff; line-height:1.6;
}
.aqgs40 *{box-sizing:border-box}
.aqgs40 img,.aqgs40 video{max-width:100%;height:auto;display:block}
.aqgs40 .container{width:min(100%,1200px);margin-inline:auto;padding-inline:clamp(16px,3vw,32px)}
.aqgs40 h1,.aqgs40 h2,.aqgs40 h3{color:var(--primary-color);margin:0 0 .5rem}
.aqgs40 a{text-decoration:none}

.aqgs40 .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:44px;padding:.9rem 1.8rem;border-radius:999px;border:1.5px solid transparent;
  background:var(--primary-color);color:#fff;font-weight:800;letter-spacing:.02em;
  box-shadow:0 6px 14px rgba(30,58,95,.25); transition:var(--transition)
}
.aqgs40 .btn:hover{transform:translateY(-3px);background:var(--secondary-color)}
.aqgs40 .btn.btn-secondary{background:var(--highlight-color);color:var(--dark-color);box-shadow:0 6px 14px rgba(242,201,76,.25)}
.aqgs40 .btn.btn-secondary:hover{background:var(--accent-color);color:#fff}

/* ==========================================
   HERO v3 — split premium + badge + vidéo
   ========================================== */
.aqgs-hero-v3{
  position:relative;isolation:isolate;overflow:hidden;color:#fff;
  background:
    radial-gradient(1100px 600px at 15% -10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(135deg,#1f416b 0%, #2d7c8c 100%);
}
.aqgs-hero-v3 .container{width:min(100%,1200px);margin:0 auto;padding:clamp(18px,4vw,40px) clamp(16px,4vw,32px)}
.aqgs-hero-v3::after{
  content:"";position:absolute;inset:-40% -10% auto -10%;
  height:140%;
  background:
    radial-gradient(18px 18px at 20% 30%, rgba(255,255,255,.22), transparent 60%),
    radial-gradient(14px 14px at 70% 15%, rgba(255,255,255,.16), transparent 60%),
    radial-gradient(10px 10px at 85% 55%, rgba(255,255,255,.18), transparent 60%);
  filter:blur(8px);opacity:.25;pointer-events:none;
}
/* layout split (scopé) */
.aqgs-hero-v3 .hero-grid{
  display:grid;gap:clamp(18px,3vw,40px);
  grid-template-columns:1fr;align-items:center;
}
@media (min-width:980px){ .aqgs-hero-v3 .hero-grid{grid-template-columns:1.08fr .92fr} }

/* Panneau texte */
.aqgs-hero-v3 .leadwrap{
  position:relative;padding:clamp(24px,3.2vw,36px);
  backdrop-filter:saturate(120%) blur(4px);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.aqgs-hero-v3 .eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#e9f3ff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  padding:.35rem .8rem;border-radius:999px;margin:0 0 .9rem;
}
.aqgs-hero-v3 h1{
  font-weight:900;line-height:1.12;margin:0 0 .5rem;
  font-size:clamp(2rem,1.1rem + 3.6vw,3.4rem);
  background:linear-gradient(90deg,var(--highlight-color),#ffffff 60%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.aqgs-hero-v3 .sub{ color:#eaf2ff;font-size:clamp(1.02rem,.96rem + .4vw,1.22rem);max-width:62ch }
.aqgs-hero-v3 .ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:clamp(12px,2vw,18px)}
.aqgs-hero-v3 .btn{display:inline-flex;align-items:center;gap:.45rem;padding:.9rem 1.6rem;min-height:44px;border-radius:999px;border:1.5px solid transparent;font-weight:800;background:var(--primary-color);color:#fff;box-shadow:0 6px 14px rgba(30,58,95,.22);transition:var(--transition)}
.aqgs-hero-v3 .btn:hover{transform:translateY(-3px);background:var(--secondary-color)}
.aqgs-hero-v3 .btn.alt{background:var(--highlight-color);color:#2b2b2b;box-shadow:0 6px 14px rgba(242,201,76,.28)}
.aqgs-hero-v3 .btn.alt:hover{background:var(--accent-color);color:#fff}

/* Média (vidéo carrée) */
.aqgs-hero-v3 .media{position:relative;align-self:stretch}
.aqgs-hero-v3 .frame{
  position:relative;width:min(100%,640px);margin:0 auto;padding:2px;border-radius:28px;
  background:linear-gradient(135deg,var(--highlight-color),var(--accent-color));
  box-shadow:var(--shadow-lg);
}
.aqgs-hero-v3 .crop{
  position:relative;overflow:hidden;border-radius:26px;background:#fff;aspect-ratio:1/1;
}
.aqgs-hero-v3 video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center;background:#fff;border:0;display:block;
}

/* Poster & Play overlay (sans URL externe) */
.aqgs-hero-v3 .poster-overlay{
  position:absolute;inset:0;display:grid;place-items:center;z-index:2;
  background:
    radial-gradient(1200px 800px at 20% -10%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(135deg,#1E3A5F 0%, #4A90A4 100%);
  overflow:hidden;transition:opacity .28s ease;
}
.aqgs-hero-v3 .poster-overlay::after{
  content:"";position:absolute;inset:auto -10% -20% -10%;height:40%;
  background:radial-gradient(closest-side, rgba(255,255,255,.15), transparent 70%);
  transform:translateY(0);filter:blur(8px);
}
.aqgs-hero-v3 .play-btn{
  position:relative;width:92px;height:92px;border-radius:50%;
  background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.7);
  display:grid;place-items:center;transform:scale(1);transition:transform .2s ease;
}
.aqgs-hero-v3 .play-btn::before{
  content:""; display:block;width:0;height:0;margin-left:6px;
  border-left:28px solid var(--primary-color);
  border-top:18px solid transparent;border-bottom:18px solid transparent;
}
.aqgs-hero-v3 .poster-overlay:hover .play-btn{ transform:scale(1.05) }
.aqgs-hero-v3 .media.is-playing .poster-overlay{ opacity:0; pointer-events:none }

.aqgs-hero-v3 .shadow{
  width:72%;height:18px;margin:14px auto 2px;border-radius:999px;
  background:radial-gradient(closest-side, rgba(0,0,0,.28), transparent 70%);filter:blur(6px);
}

/* Badge 40 (centré) */
.aqgs-hero-v3 .badge40{
  position:absolute;top:18px;right:18px;width:138px;height:138px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#3a2d00;z-index:3;overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%, #fff7d6 0 34%, #ffeaa3 35% 60%, #f6c744 61% 100%),
    conic-gradient(from 120deg at 50% 50%, rgba(255,255,255,.35), rgba(255,255,255,0) 30% 70%, rgba(255,255,255,.35));
  box-shadow:0 0 0 6px rgba(255,255,255,.18), 0 18px 42px rgba(242,201,76,.46), inset 0 6px 14px rgba(0,0,0,.08);
}
.aqgs-hero-v3 .badge40 .inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}
.aqgs-hero-v3 .badge40 .num{font-size:2.6rem;font-weight:900;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.aqgs-hero-v3 .badge40 .lab{font-size:.95rem;font-weight:800;letter-spacing:.18em}
.aqgs-hero-v3 .badge40 .grain{position:absolute;inset:0;pointer-events:none;opacity:.22;z-index:1;background-image:radial-gradient(1px 1px at 20% 30%, rgba(0,0,0,.25), transparent 40%),radial-gradient(1px 1px at 70% 60%, rgba(0,0,0,.25), transparent 40%),radial-gradient(1px 1px at 40% 80%, rgba(0,0,0,.25), transparent 40%);filter:contrast(120%)}
.aqgs-hero-v3 .badge40 .ring{position:absolute;inset:-8px;border-radius:50%;pointer-events:none;z-index:0;background:conic-gradient(from 0deg,rgba(255,255,255,0) 0 22%,rgba(255,255,255,.85) 22% 26%,rgba(255,255,255,0) 26% 51%,rgba(255,255,255,.55) 51% 54%,rgba(255,255,255,0) 54% 100%);-webkit-mask:radial-gradient(circle farthest-side,#0000 66%,#000 67%);mask:radial-gradient(circle farthest-side,#0000 66%,#000 67%);animation:ring-osc 4.8s ease-in-out infinite}
@keyframes ring-osc{0%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}100%{transform:rotate(-18deg)}}
.aqgs-hero-v3 .badge40::before{content:"";position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.60), transparent 70%);filter:blur(12px);opacity:.75;animation:halo-breathe 3.4s ease-in-out infinite}
@keyframes halo-breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:.35}}
.aqgs-hero-v3 .badge40::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:linear-gradient(68deg, transparent 46%, rgba(255,255,255,.38) 50%, transparent 54%);transform:translateX(-140%);animation:shine-swipe 5.2s ease-in-out infinite 1.2s}
@keyframes shine-swipe{0%{transform:translateX(-140%)}50%{transform:translateX(140%)}100%{transform:translateX(140%)}}
.aqgs-hero-v3 .badge40 .stars{position:absolute;inset:-6px;border-radius:50%;pointer-events:none;opacity:.9;z-index:1;background:radial-gradient(#fff 0 2px, transparent 3px) 22% 28%/8px 8px no-repeat,radial-gradient(#fff 0 1.5px, transparent 2.5px) 72% 62%/6px 6px no-repeat,radial-gradient(#fff 0 1.5px, transparent 2.5px) 40% 78%/6px 6px no-repeat;animation:twinkle 3.6s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.2;transform:scale(.98)}to{opacity:.9;transform:scale(1.02)}}
@media (max-width:740px){ .aqgs-hero-v3 .badge40{width:110px;height:110px;top:12px;right:12px} .aqgs-hero-v3 .badge40 .num{font-size:2.2rem} .aqgs-hero-v3 .badge40 .lab{font-size:.82rem} }

/* =========================
   SOUVENIRS
   ========================= */
.souvenirs{padding:clamp(40px,8vw,80px) 0;background:#fff}
.section-title{text-align:center;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.4rem);font-weight:800;margin-bottom:.3rem}
.section-sub{text-align:center;color:var(--text-color);max-width:760px;margin:0 auto 1.25rem}
.aqgs40 .cards-grid{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch}
.card{background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:var(--transition)}
.card:hover{transform:translateY(-6px)}
.card .media{position:relative;aspect-ratio:16/9;overflow:hidden}
.card .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .body{padding:1.25rem}
.meta{display:flex;gap:.5rem;align-items:center;color:var(--secondary-color);font-weight:700;font-size:.95rem}
.meta .pill{background:rgba(74,144,164,.12);color:var(--secondary-color);padding:.25rem .6rem;border-radius:999px}
.card h3{font-size:1.25rem;margin:.4rem 0;color:var(--primary-color)}
.quote{margin-top:.5rem;font-style:italic}
.hash{display:inline-block;margin-top:.9rem;padding:.35rem .9rem;border-radius:999px;background:var(--light-color);color:var(--primary-color);font-weight:700;font-size:.9rem}

/* =========================
   TIMELINE
   ========================= */
.timeline{padding:clamp(36px,8vw,80px) 0;background:var(--light-color)}
.ribbon{position:relative;max-width:980px;margin:0 auto;border-left:4px solid var(--accent-color)}
.tli{position:relative;padding-left:1.25rem;margin:0 0 1.6rem}
.tli::before{content:"";position:absolute;left:-12px;top:.35rem;width:22px;height:22px;border-radius:50%;background:var(--highlight-color);box-shadow:0 0 0 4px #fff}
.tli .year{font-weight:900;color:var(--primary-color)}
.tli h4{margin:.2rem 0 .4rem;font-size:1.15rem}

/* =========================
   FORMULAIRE
   ========================= */
.formsec{padding:clamp(40px,8vw,80px) 0;background:var(--light-color)}
.formbox{max-width:1000px;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
.formbox .intro{padding:2rem;text-align:center;color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}
.formbox iframe{width:100%;height:800px;border:0;display:block}

/* Motion-safe */
@media (prefers-reduced-motion:reduce){
  .aqgs40 *, .aqgs-hero-v3 *{animation:none!important;transition:none!important}
}/* End custom CSS */