:root {
  --black: #000;
  --white: #fff;
  --pink: #ff004f;
  --pink-light: #ff315f;
  --grey: #939393;
  --line: #464646;
  --max: 1440px;
  --header-h: 88px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--white); background: var(--black); line-height: 1.5; }
button, a { font: inherit; }
a { color: inherit; }
img, video { max-width: 100%; display: block; }
.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100; background: var(--white); color: var(--black); padding: 10px 14px; border-radius: 6px; }
.skip-link:focus { top: 12px; }

.site-header { height: var(--header-h); padding: 0 clamp(20px, 3.4vw, 64px); display: flex; align-items: center; justify-content: space-between; position: absolute; inset: 0 0 auto; z-index: 20; color: var(--black); }
.brand img { width: 132px; height: auto; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 40px; font-weight: 700; }
.main-nav a { text-decoration: none; }
.button { display: inline-flex; align-items: center; justify-content: center; border: 0; cursor: pointer; text-decoration: none; font-weight: 800; border-radius: 999px; min-height: 48px; padding: 0 22px; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .text-link:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #65aaff; outline-offset: 4px; }
.button--pink { background: var(--pink); color: var(--white); }
.button--pink:hover { background: var(--pink-light); }
.button--outline { background: rgba(0,0,0,.25); color: var(--white); border: 2px solid var(--white); }
.menu-toggle, .mobile-menu { display: none; }

.hero { min-height: 100svh; background: var(--white); color: var(--white); position: relative; overflow: hidden; isolation: isolate; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -5; }
.hero__veil { position: absolute; inset: 0; background: rgba(255,255,255,.18); z-index: -4; }
.hero__shape { position: absolute; top: 13%; width: 61vw; aspect-ratio: 1; background: var(--black); border-radius: 50%; z-index: -2; }
.hero__shape--left { left: -9vw; }
.hero__shape--right { right: -9vw; }
.hero__content { min-height: 100svh; display: grid; grid-template-columns: 1fr 1fr; align-items: center; position: relative; padding-top: var(--header-h); }
.hero__symbol { font-size: clamp(48px, 6vw, 96px); font-weight: 800; letter-spacing: .05em; justify-self: center; white-space: nowrap; }
.hero__symbol span { color: #ff3748; }
.hero__copy { width: min(580px, 88%); text-align: center; justify-self: center; transform: translateY(5%); }
.hero h1 { margin: 0 0 28px; font-size: clamp(56px, 5.3vw, 104px); line-height: .88; letter-spacing: -.055em; text-transform: uppercase; font-weight: 950; }
.hero h1 span, .hero__lead strong { color: var(--pink); }
.hero__lead { font-size: clamp(17px, 1.25vw, 23px); font-weight: 700; }
.hero__manifesto-preview { margin: 26px auto 20px; color: #a2a2a2; font-weight: 700; max-width: 520px; }
.scroll-cue { position: absolute; left: 50%; bottom: 6.5%; transform: translateX(-50%); color: var(--pink); font-size: 42px; text-decoration: none; animation: bounce 1.8s infinite; }
@keyframes bounce { 0%,100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 10px); } }

.facts { min-height: 100svh; display: grid; place-items: center; padding: 110px 0 90px; text-align: center; }
.facts__inner { display: grid; justify-items: center; }
.facts h2 { margin: 0; font-size: clamp(30px, 2.6vw, 50px); line-height: 1.2; max-width: 1100px; }
.facts h2 span { color: var(--pink); }
.facts sup { font-size: .45em; vertical-align: super; }
.facts__grid { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 7vw, 120px); margin: 90px 0 80px; }
.fact-card { width: min(100%, 315px); aspect-ratio: 1; border: 2px solid var(--line); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 35px; justify-self: center; }
.fact-card p { margin: 2px 0; font-size: clamp(14px, 1vw, 18px); }
.fact-card strong { color: var(--pink); font-size: clamp(52px, 5vw, 80px); line-height: 1; margin: 6px 0 12px; }
.fact-card strong.fact-card__secondary { font-size: clamp(38px, 3.8vw, 58px); margin: 8px 0 0; }

.seo-content { background: #111; padding: 100px 0; border-top: 1px solid #333; }
.prose { max-width: 960px; }
.eyebrow { color: var(--pink); text-transform: uppercase; font-size: 14px; font-weight: 900; letter-spacing: .12em; }
.prose h2 { font-size: clamp(36px, 4vw, 64px); line-height: 1; margin: 12px 0 28px; }
.prose > p:not(.eyebrow) { font-size: clamp(18px, 1.6vw, 24px); color: #d0d0d0; }
.seo-content__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 34px; }
.text-link { border: 0; background: transparent; color: var(--white); padding: 10px 0; font-weight: 800; text-decoration: underline; cursor: pointer; }

.site-footer { background: var(--black); border-top: 1px solid #333; padding: 50px 0; }
.site-footer__inner { display: grid; grid-template-columns: 160px 1fr auto; gap: 40px; align-items: start; }
.site-footer__inner > p:first-child { color: var(--pink); font-size: 18px; line-height: 1.1; }
.site-footer__inner > p:first-child strong { font-size: 28px; }
.site-footer__legal { color: #888; font-size: 12px; max-width: 820px; }
.site-footer nav { display: grid; gap: 10px; }
.site-footer nav a, .site-footer nav button { color: #bbb; font-size: 13px; text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }

.modal { width: min(780px, calc(100% - 32px)); max-height: calc(100svh - 32px); border: 1px solid #404040; border-radius: 24px; background: #080808; color: var(--white); padding: 0; }
.modal::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(8px); }
.modal__content { padding: clamp(36px, 6vw, 72px); }
.modal__content--wide { max-width: 900px; }
.modal h2 { font-size: clamp(38px, 5vw, 68px); line-height: .95; margin: 12px 0 30px; }
.modal p, .references { color: #d2d2d2; font-size: 17px; }
.modal__close { position: sticky; float: right; top: 16px; margin: 16px 16px 0 0; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #666; color: white; background: black; font-size: 28px; cursor: pointer; z-index: 2; }
.references { padding-left: 22px; }
.references li { margin-bottom: 14px; }

@media (max-width: 980px) {
  :root { --header-h: 74px; }
  .container { width: min(calc(100% - 32px), var(--max)); }
  .site-header { position: fixed; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-bottom: 1px solid #ddd; }
  .main-nav { display: none; }
  .menu-toggle { display: grid; width: 44px; height: 44px; place-content: center; gap: 5px; background: transparent; border: 0; cursor: pointer; }
  .menu-toggle span { display: block; width: 24px; height: 2px; background: #000; }
  .mobile-menu { position: fixed; top: var(--header-h); left: 0; right: 0; display: grid; gap: 18px; padding: 26px 24px; color: #000; background: #fff; box-shadow: 0 15px 30px rgba(0,0,0,.16); font-weight: 800; }
  .mobile-menu[hidden] { display: none; }
  .hero { background: #000; padding-top: var(--header-h); }
  .hero__shape { display: none; }
  .hero__veil { background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.82)); }
  .hero__content { grid-template-columns: 1fr; min-height: calc(100svh - var(--header-h)); padding: 70px 0 110px; }
  .hero__symbol { order: 2; font-size: clamp(40px, 12vw, 72px); margin-top: 35px; }
  .hero__copy { order: 1; width: min(620px, 100%); transform: none; }
  .hero h1 { font-size: clamp(54px, 14vw, 92px); }
  .facts { min-height: auto; padding: 90px 0; }
  .facts__grid { grid-template-columns: 1fr; gap: 28px; margin: 60px 0; }
  .fact-card { width: min(100%, 340px); }
  .site-footer__inner { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 560px) {
  .brand img { width: 105px; }
  .hero__manifesto-preview { display: none; }
  .hero__lead { font-size: 17px; }
  .facts h2 br { display: none; }
  .fact-card { aspect-ratio: auto; min-height: 300px; border-radius: 999px; padding: 34px 30px; }
  .seo-content, .facts { padding-block: 72px; }
  .seo-content__actions { align-items: stretch; flex-direction: column; }
  .seo-content__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero__video { display: none; }
}

/* Animated key figures — perfect circles and progressive reveal */
.facts { overflow: clip; }
.facts__grid { align-items: center; }
.fact-card {
  position: relative;
  box-sizing: border-box;
  width: min(100%, 330px);
  aspect-ratio: 1 / 1;
  min-height: 0;
  border-radius: 50%;
  padding: clamp(28px, 2.4vw, 42px);
  overflow: hidden;
  isolation: isolate;
  opacity: 0;
  transform: translateY(38px) scale(.72);
  filter: blur(10px);
  border-color: rgba(255,255,255,.48);
  background: radial-gradient(circle at 50% 42%, rgba(255,255,255,.055), rgba(255,255,255,.01) 62%, transparent 72%);
  box-shadow: 0 0 0 0 rgba(255,0,68,0);
  transition: opacity .55s ease, transform .7s cubic-bezier(.2,.8,.2,1), filter .55s ease, border-color .5s ease, box-shadow .65s ease;
}
.fact-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  z-index: -1;
  background: conic-gradient(from -90deg, transparent 0 20%, rgba(255,0,68,.9) 37%, transparent 52% 100%);
  opacity: 0;
  transform: rotate(-40deg);
}
.fact-card::after {
  content: "";
  position: absolute;
  inset: 6%;
  border-radius: inherit;
  z-index: -1;
  background: radial-gradient(circle, rgba(255,0,68,.14), transparent 67%);
  opacity: 0;
  transform: scale(.7);
  transition: opacity .5s ease, transform .7s ease;
}
.fact-card.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
.fact-card.is-visible::before { animation: factOrbit 1.15s cubic-bezier(.2,.75,.2,1) both; }
.fact-card.is-counting {
  border-color: rgba(255,0,68,.88);
  box-shadow: 0 0 32px rgba(255,0,68,.16), inset 0 0 30px rgba(255,0,68,.055);
}
.fact-card.is-counting::after { opacity: 1; transform: scale(1); }
.fact-card.is-complete { border-color: rgba(255,255,255,.65); box-shadow: 0 0 28px rgba(255,0,68,.1); }
.fact-card__intro {
  margin: 0 0 4px;
  font-weight: 800;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .38s ease, transform .38s ease;
}
.fact-card.is-intro-visible .fact-card__intro { opacity: 1; transform: none; }
.fact-card__number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  min-height: 1.05em;
  margin: 5px 0 13px;
  font-variant-numeric: tabular-nums lining-nums;
  opacity: 0;
  transform: scale(.78);
  transition: opacity .25s ease, transform .45s cubic-bezier(.2,1.45,.4,1);
}
.fact-card.is-counting .fact-card__number { opacity: 1; transform: scale(1); }
.fact-card.is-counted .fact-card__number { animation: factNumberPulse .45s ease both; }
.fact-card__detail { margin: 0; }
.fact-card__detail > span {
  display: block;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .4s ease, transform .4s ease;
}
.fact-card__detail > span.is-line-visible { opacity: 1; transform: none; }
.fact-card__rank { margin-top: 9px; color: #fff; }
.fact-card__rank > strong { display: inline; color: var(--pink); font-size: 1.75em; margin: 0 .12em 0 0; line-height: 1; }
.fact-card__rank sup { font-size: .43em; }

@keyframes factOrbit {
  0% { opacity: 0; transform: rotate(-70deg); }
  35% { opacity: .9; }
  100% { opacity: 0; transform: rotate(250deg); }
}
@keyframes factNumberPulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.085); text-shadow: 0 0 20px rgba(255,0,68,.44); }
}

@media (min-width:981px) {
  .facts__grid { gap: clamp(22px, 4vw, 74px); }
  .fact-card { width: min(27vw, 330px); }
  .fact-card p { font-size: clamp(13px, .92vw, 17px); line-height: 1.38; }
  .fact-card__number { font-size: clamp(52px, 5vw, 80px); }
}

@media (max-width:980px) {
  .facts { padding: 84px 0 72px; }
  .facts__grid { gap: clamp(44px, 10vh, 88px); margin: 54px 0 64px; }
  .fact-card {
    width: min(82vw, 340px);
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    border-radius: 50% !important;
    padding: clamp(28px, 8vw, 42px);
  }
  .fact-card p { font-size: clamp(13px, 3.75vw, 16px); line-height: 1.38; }
  .fact-card__number { font-size: clamp(56px, 17vw, 78px); }
}

@media (max-width:380px) {
  .fact-card { width: min(88vw, 320px); padding: 26px; }
  .fact-card p { font-size: 13px; }
  .fact-card__number { font-size: 56px; margin-bottom: 10px; }
}

@media (prefers-reduced-motion:reduce) {
  .fact-card,
  .fact-card__intro,
  .fact-card__number,
  .fact-card__detail > span { transition: none !important; }
  .fact-card::before,
  .fact-card.is-counted .fact-card__number { animation: none !important; }
}


/* Key figures — refined text composition */
.fact-card__detail {
  width: 100%;
  max-width: 292px;
  margin-inline: auto;
  text-wrap: balance;
}
.fact-card__detail > span {
  line-height: 1.32;
}
.fact-card__rank {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: .18em;
  margin-top: 12px;
  line-height: 1.15 !important;
}
.fact-card__rank > strong {
  flex: 0 0 auto;
  font-size: 2.45em;
  line-height: .82;
  margin: 0;
}
.fact-card__rank > strong sup {
  font-size: .34em;
  vertical-align: super;
}
@media (min-width:981px) {
  .fact-card {
    width: min(28.5vw, 350px);
    padding: 32px 24px;
  }
  .fact-card p {
    font-size: clamp(13px, .88vw, 15.5px);
    line-height: 1.32;
  }
  .fact-card__intro { margin-bottom: 1px; }
  .fact-card__number { margin: 3px 0 10px; }
  .fact-card--double .fact-card__detail { max-width: 300px; }
  .fact-card--double .fact-card__rank { font-size: .96em; }
}
@media (max-width:980px) {
  .fact-card__detail { max-width: 286px; }
  .fact-card__rank > strong { font-size: 2.35em; }
}


/* Desktop hero V2 — title on the left, animated heart logo centred in header */
.hero__title-svg--desktop{display:none}
@media (min-width:981px){
  .site-header{justify-content:flex-end!important;background:#fff!important}
  .site-header .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;margin:0;z-index:2}
  .site-header .brand__logo{width:clamp(122px,8.6vw,158px);margin:0 auto;transform-origin:50% 50%;will-change:transform,filter;animation:desktopLogoHeartbeat 2.4s cubic-bezier(.4,0,.2,1) infinite}
  .main-nav{margin-left:auto;position:relative;z-index:3}
  .hero__media{width:min(39vw,660px);transform:translateY(4.5vh);display:grid;place-items:center}
  .hero__title-svg--desktop{display:block;width:min(38vw,620px);max-height:44vh;margin:0;object-fit:contain}
  .hero__title-svg--mobile{display:none!important}
  .hero__copy{width:min(34vw,590px);transform:translateY(5vh)}
  .hero__lead{max-width:570px;font-size:clamp(16px,1.08vw,20px);line-height:1.45}
  .hero__manifesto-preview{max-width:540px}
}
@keyframes desktopLogoHeartbeat{
  0%,22%,100%{transform:scale(1);filter:none}
  7%{transform:scale(1.07);filter:drop-shadow(0 0 0 rgba(255,0,68,0))}
  12%{transform:scale(.985)}
  17%{transform:scale(1.045);filter:drop-shadow(0 0 5px rgba(255,0,68,.22))}
}
@media (max-width:980px){
  .hero__title-svg--desktop{display:none!important}
  .hero__title-svg--mobile{display:block}
}
@media (prefers-reduced-motion:reduce){.site-header .brand__logo{animation:none!important}}

/* Hero motion V2: stronger breathing and cursor heart trail */
@media (min-width:981px){
  .hero__shape{
    will-change:transform;
    transform-origin:50% 50%;
  }
  .hero__shape--left{
    animation:heroCircleBreathLeft 6.2s cubic-bezier(.45,0,.55,1) infinite;
  }
  .hero__shape--right{
    animation:heroCircleBreathRight 6.2s cubic-bezier(.45,0,.55,1) infinite;
  }
  .hero__media,.hero__copy{
    transition:transform .55s cubic-bezier(.2,.8,.2,1);
    will-change:transform;
  }
  .hero.is-parallax .hero__media{
    transform:translate(calc(var(--mx,0px) * -.48),calc(4.5vh + var(--my,0px) * -.38));
  }
  .hero.is-parallax .hero__copy{
    transform:translate(calc(var(--mx,0px) * .4),calc(5vh + var(--my,0px) * .3));
  }
  .cursor-heart-layer{
    position:absolute;
    inset:var(--header-h) 0 0;
    z-index:4;
    pointer-events:none;
    overflow:hidden;
  }
  .cursor-heart{
    position:absolute;
    left:0;
    top:0;
    display:block;
    color:var(--pink);
    line-height:1;
    font-family:Arial,Helvetica,sans-serif;
    transform:translate(-50%,-50%) scale(.45) rotate(var(--heart-rotate,0deg));
    transform-origin:center;
    opacity:0;
    filter:drop-shadow(0 0 6px rgba(255,0,68,.18));
    will-change:transform,opacity;
    animation:cursorHeartFade var(--heart-duration,760ms) cubic-bezier(.16,.75,.28,1) forwards;
  }
}
@keyframes heroCircleBreathLeft{
  0%,100%{transform:translateX(0) scale(1)}
  50%{transform:translateX(5px) scale(1.018)}
}
@keyframes heroCircleBreathRight{
  0%,100%{transform:translateX(0) scale(1)}
  50%{transform:translateX(-5px) scale(1.018)}
}
@keyframes cursorHeartFade{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(var(--heart-rotate,0deg))}
  16%{opacity:.82;transform:translate(-50%,-58%) scale(1) rotate(var(--heart-rotate,0deg))}
  100%{opacity:0;transform:translate(calc(-50% + var(--heart-drift-x,0px)),calc(-50% - var(--heart-rise,42px))) scale(.62) rotate(calc(var(--heart-rotate,0deg) + 8deg))}
}
@media (max-width:980px){.cursor-heart-layer{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .hero__shape{animation:none!important}
  .cursor-heart-layer{display:none!important}
}


/* ===== Page Chiffres clés ===== */
.site-header--inner{position:fixed;background:#fff;color:#000;border-bottom:1px solid rgba(0,0,0,.08)}
.keyfigures-page{background:#000;color:#fff}
.keyfigures{padding-top:var(--header-h);overflow:hidden;background:#000}
.keyfigures sup{font-size:.5em;vertical-align:super}
.keyfigures em{font-style:normal;color:var(--pink)}
.keyfigures__hero{position:relative;padding:clamp(110px,10vw,170px) 0 clamp(70px,8vw,130px);background:#000;isolation:isolate}
.keyfigures__heart-cut{position:absolute;z-index:-1;left:50%;top:-56vw;width:118vw;aspect-ratio:2/1;transform:translateX(-50%);background:var(--pink);border-radius:0 0 50% 50%}
.keyfigures__hero-inner{text-align:center}
.keyfigures__back{position:absolute;left:24px;top:30px;text-decoration:none;font-weight:700;color:#fff;opacity:.78}
.keyfigures__hero h1,.keyfigures__section h2{margin:0;text-align:center;font-size:clamp(34px,4.2vw,68px);line-height:1.04}
.keyfigures__hero h1 span,.keyfigures__callout{color:var(--pink)}
.keyfigures__top-stats{display:grid;grid-template-columns:1fr 1px 1fr;gap:clamp(38px,6vw,110px);align-items:center;margin:clamp(60px,7vw,100px) auto 40px;max-width:1180px}
.kf-divider{width:1px;height:120px;background:var(--pink);justify-self:center}
.kf-stat p{margin:0 0 8px;color:#bbb;font-size:18px}
.kf-stat strong{display:block;color:var(--pink);font-size:clamp(42px,5vw,76px);line-height:1;margin-bottom:12px}
.kf-stat span{display:block;font-size:clamp(15px,1.15vw,20px);line-height:1.35}
.keyfigures__symbol{width:230px;margin:32px auto 0;filter:brightness(0) invert(1)}
.keyfigures__section{padding:clamp(85px,9vw,150px) 0}
.keyfigures__section h2{font-size:clamp(32px,3.2vw,54px)}
.kf-france{display:flex;justify-content:center;align-items:center;gap:clamp(28px,5vw,88px);margin:55px auto 78px}
.kf-france>div{display:flex;align-items:flex-end;gap:18px}
.kf-france strong{color:var(--pink);font-size:clamp(46px,5vw,78px);line-height:.9;text-align:right}
.kf-france span{font-size:18px;line-height:1.2;text-align:left}
.kf-arrow{color:var(--pink);font-size:42px}
.keyfigures__subhead{margin-top:20px!important}
.symptoms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px 34px;margin-top:62px;align-items:end}
.symptom-card{text-align:center}
.symptom-card img{height:118px;width:100%;object-fit:contain;margin:0 auto 18px}
.symptom-card h3{font-size:17px;line-height:1.25;font-weight:500;margin:0}
.keyfigures__section--bias{border-top:1px solid #222}
.bias-grid{display:grid;grid-template-columns:1fr 1px 1fr;gap:clamp(40px,7vw,120px);align-items:center;max-width:1150px;margin:58px auto 65px;text-align:center}
.bias-grid article p{font-size:clamp(17px,1.4vw,21px);line-height:1.35;margin:0 0 24px}
.bias-symbol{font-size:34px;font-weight:700;letter-spacing:5px}.bias-symbol b{color:var(--pink)}
.keyfigures__callout{font-size:clamp(40px,4vw,64px)!important;margin-top:45px!important}
.keyfigures__minute{text-align:center;font-size:clamp(26px,2.6vw,40px);font-weight:800;margin:18px 0 50px}
.keyfigures__campaign-title{width:min(520px,70vw);margin:0 auto 70px}
.time-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:auto}
.time-grid article{text-align:center;padding:10px 35px;border-right:1px solid var(--pink)}
.time-grid article:last-child{border-right:0}.time-grid strong{color:var(--pink);font-size:clamp(45px,5vw,72px);line-height:1}.time-grid p{font-size:17px;line-height:1.35}
.keyfigures-footer{border-top:0}

@media (max-width:980px){
 .site-header--inner{position:fixed}
 .keyfigures{padding-top:var(--header-h)}
 .keyfigures__heart-cut{top:-44vw;width:155vw}
 .keyfigures__hero{padding:90px 0 75px}
 .keyfigures__back{top:16px;left:20px}
 .keyfigures__top-stats{grid-template-columns:1fr;gap:38px;margin-top:55px}
 .keyfigures__top-stats .kf-divider,.bias-grid .kf-divider{width:90px;height:1px}
 .keyfigures__symbol{width:155px}
 .kf-france{gap:16px;flex-wrap:wrap}
 .kf-france>div{gap:10px}.kf-france span{font-size:14px}.kf-arrow{font-size:28px}
 .symptoms-grid{grid-template-columns:repeat(2,1fr);gap:44px 18px}
 .symptom-card img{height:94px}.symptom-card h3{font-size:15px}
 .bias-grid{grid-template-columns:1fr;gap:32px}
 .time-grid{grid-template-columns:1fr;gap:0}
 .time-grid article{border-right:0;border-bottom:1px solid var(--pink);padding:34px 10px}
 .time-grid article:last-child{border-bottom:0}
}
@media (max-width:520px){
 .keyfigures__hero h1{font-size:32px}
 .keyfigures__heart-cut{top:-32vw;width:210vw}
 .kf-stat strong{font-size:50px}.kf-stat span{font-size:15px}
 .keyfigures__section{padding:70px 0}.keyfigures__section h2{font-size:31px}
 .kf-france{display:grid;grid-template-columns:1fr auto 1fr}.kf-france>div{display:block;text-align:center}.kf-france strong,.kf-france span{text-align:center;display:block}.kf-france strong{font-size:43px}.kf-arrow{font-size:24px}
 .symptoms-grid{grid-template-columns:1fr 1fr}.keyfigures__campaign-title{width:90vw}
}

/* Mobile hero V25 — rounded animated transition beneath the white header */
@media (max-width:980px){
  .hero{
    --mobile-curve-top:calc(var(--header-h) + 18px);
    background:#fff!important;
    min-height:100svh;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    z-index:-3;
    left:0;
    right:0;
    top:calc(var(--mobile-curve-top) + 50vw - 3px);
    bottom:0;
    background:#000;
  }
  .hero__shape{
    display:block!important;
    position:absolute;
    z-index:-2;
    top:var(--mobile-curve-top)!important;
    width:100vw!important;
    height:100vw!important;
    aspect-ratio:1;
    border-radius:50%;
    background:#000;
    will-change:transform;
  }
  .hero__shape--left{
    left:-50vw!important;
    right:auto!important;
    transform-origin:50% 50%;
    animation:mobileHeroCurveLeft 5.8s cubic-bezier(.45,0,.55,1) infinite!important;
  }
  .hero__shape--right{
    right:-50vw!important;
    left:auto!important;
    transform-origin:50% 50%;
    animation:mobileHeroCurveRight 5.8s cubic-bezier(.45,0,.55,1) infinite!important;
  }
  .hero__content.container{
    position:relative;
    z-index:2;
    min-height:100svh!important;
    padding-top:calc(var(--header-h) + 50vw + clamp(54px,8svh,82px))!important;
    padding-bottom:clamp(94px,13svh,128px)!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
  }
  .hero__copy{
    margin-inline:auto;
  }
}

@keyframes mobileHeroCurveLeft{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(4px,4px,0) scale(1.022)}
}
@keyframes mobileHeroCurveRight{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-4px,4px,0) scale(1.022)}
}

@media (max-width:560px) and (max-height:740px){
  .hero{--mobile-curve-top:calc(var(--header-h) + 10px)}
  .hero__content.container{
    padding-top:calc(var(--header-h) + 50vw + 32px)!important;
    padding-bottom:78px!important;
  }
  .hero__title-svg{margin-bottom:14px!important}
  .hero__lead{margin-bottom:18px!important}
}

@media (prefers-reduced-motion:reduce){
  .hero__shape--left,.hero__shape--right{animation:none!important}
}
