/* ————————————————————————————————————————
   OMNIA — Une décennie. Douze lumières.
   DA « Nuit du Léman » : ciel profond, voie lactée,
   agences en or — la seule chaleur de la nuit.
   ———————————————————————————————————————— */
:root{
  --night:#04060d;
  --deep:#070b18;
  --fg:#ECF0FC;
  --muted:#8f9cc4;
  --accent:#aebbf0;
  --gold:#ffd9a1;
  --gold-deep:#f2b96b;
  --font:"Inter","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;overflow:hidden;color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased}

/* Ciel de fond : nuit alpine + bande lactée diagonale */
body{
  background:
    radial-gradient(1100px 750px at 72% 108%, rgba(36,56,108,.42), transparent 62%),
    linear-gradient(112deg, transparent 30%, rgba(190,210,255,.045) 43%, rgba(214,228,255,.085) 50%, rgba(190,210,255,.045) 57%, transparent 70%),
    linear-gradient(112deg, transparent 44%, rgba(230,240,255,.06) 49.5%, transparent 55%),
    radial-gradient(850px 550px at 20% 26%, rgba(110,140,210,.07), transparent 60%),
    linear-gradient(180deg,#05070f,var(--deep) 45%,var(--night));
  background-color:var(--night);
}
canvas#webgl{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:-1}

/* ——— Chargement : la première lumière qui attend ——— */
.loader{position:fixed;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;background:#020308;pointer-events:none;transition:opacity 1.2s ease}
.loader.done{opacity:0}
.loader__dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px 3px rgba(255,217,161,.5);animation:loadbreath 1.7s ease-in-out infinite}
@keyframes loadbreath{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(.68);opacity:.45}}

/* ——— Ouverture cinématographique ——— */
.cineveil{position:fixed;inset:0;background:#020308;opacity:1;pointer-events:none;z-index:5}
.cine{position:fixed;inset:0;z-index:6;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center;padding:0 6vw}
/* Sourcil : même langue que les villes des chapitres */
.cine__eyebrow{font-size:clamp(10px,.85vw,13px);font-weight:400;letter-spacing:.34em;line-height:2;color:#93a4d6;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}
.cine__eyebrow.reveal{opacity:1;transform:translateY(0)}
/* Grande phrase : bas de casse, révélée par masque de mots — aucun jeu d'espacement */
.cine__phrase{font-size:clamp(30px,3.4vw,58px);font-weight:500;letter-spacing:-.02em;line-height:1.22;color:#e9edfa;max-width:14.5em;opacity:0}
.cine__phrase.reveal{opacity:1}
.cine__phrase .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.cine__phrase .wi{display:inline-block;white-space:pre;transform:translateY(115%);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.cine__phrase.reveal .wi{transform:translateY(0)}
.cine.exit .cine__phrase .wi{transform:translateY(-115%);transition:transform .7s cubic-bezier(.6,0,.8,.4)}
.cine.exit .cine__eyebrow{opacity:0;transform:translateY(-8px);transition:opacity .5s ease,transform .5s ease}
body.cine-on .header,body.cine-on .footer,body.cine-on .rail,body.cine-on .progressbar{opacity:0}
body.cine-on .hud,body.cine-on .lifeline,body.cine-on .cursor{visibility:hidden}
body.dive-on .lifeline{visibility:hidden}
.header,.footer,.rail,.progressbar{transition:opacity 1.4s ease}

/* ——— La plongée : seuls l'espace, le header et la barre existent ——— */
body.dive-on .sections,body.dive-on .citylabels,body.dive-on .hud,body.dive-on .rail,body.dive-on .footer{visibility:hidden}
body.dive-on .header,body.dive-on .progressbar{opacity:1}
body.dive-on .cursor{visibility:visible}
body.dive-on .header__hint{opacity:0}
.header__hint{transition:opacity 1s ease}

/* ——— Chrome ——— */
.progressbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:40}
.progressbar__fill{height:100%;width:100%;background:linear-gradient(90deg,var(--accent),var(--gold));transform-origin:left center;transform:scaleX(0)}
.header,.footer{position:fixed;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px 3vw;z-index:30;font-size:12px;letter-spacing:.14em;color:var(--fg)}
.header{top:0}
.footer{bottom:0;color:var(--muted)}
.footer a{color:inherit;text-decoration:none;letter-spacing:inherit;pointer-events:auto}
.footer a:hover{color:var(--gold)}
.header__logo{position:absolute;left:50%;transform:translate(-50%);font-size:18px;letter-spacing:.04em;font-weight:700}
.header__logo b{font-weight:300;color:var(--muted)}
.header__hint{transition:opacity .6s ease}
.header__hint.hidden{opacity:0}
.header__hint.idlepulse{animation:hintpulse 2.2s ease-in-out infinite}
@keyframes hintpulse{0%,100%{opacity:.25}50%{opacity:1}}
.header__audio{background:none;border:none;color:var(--fg);font:inherit;letter-spacing:inherit;cursor:pointer;padding:6px 10px;pointer-events:auto}
.header__audio:hover{color:var(--gold)}

.hud{position:fixed;bottom:62px;left:50%;transform:translate(-50%);z-index:30;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--muted);white-space:nowrap;opacity:0}

/* L'invitation au premier scroll : label, fil vertical où glisse une goutte
   de lumière, chevron qui respire — au centre, sous le milieu de l'écran */
.scrollcue{position:fixed;left:50%;top:56%;transform:translateX(-50%);z-index:25;display:flex;flex-direction:column;align-items:center;gap:14px;color:#aebbf0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.scrollcue.on{opacity:1}
.scrollcue__label{font-family:var(--mono);font-size:10px;letter-spacing:.42em;text-indent:.42em;color:var(--muted)}
.scrollcue__track{position:relative;width:1px;height:44px;background:rgba(174,187,240,.18);overflow:hidden;border-radius:1px}
.scrollcue__drop{position:absolute;left:0;top:0;width:100%;height:14px;background:linear-gradient(to bottom,rgba(217,211,255,0),#d9d3ff);animation:cuedrop 2.1s cubic-bezier(.45,0,.4,1) infinite}
@keyframes cuedrop{0%{transform:translateY(-16px);opacity:0}18%{opacity:1}72%{opacity:1}100%{transform:translateY(46px);opacity:0}}
.scrollcue__arrow{width:14px;height:8px;color:#aebbf0;animation:cuearrow 2.1s ease-in-out infinite}
@keyframes cuearrow{0%,55%{opacity:.25;transform:translateY(0)}75%{opacity:.9;transform:translateY(3px)}100%{opacity:.25;transform:translateY(0)}}

/* Le fil de vie : discret, sous le logo — symétrique du HUD du bas */
.lifeline{position:fixed;top:64px;left:50%;transform:translateX(-50%);z-index:30;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--muted);white-space:nowrap;opacity:0;transition:color .6s ease}
.lifeline::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin-right:10px;vertical-align:1px;box-shadow:0 0 8px 2px rgba(255,217,161,.35)}
.lifeline.tick{color:var(--gold);transition:color .12s ease}

/* ——— Étiquettes de villes ——— */
.citylabels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.chip{position:absolute;top:0;left:0;background:#060a18e0;color:#edf1fb;border:1px solid rgba(174,187,240,.4);font-size:11px;font-weight:500;letter-spacing:.05em;padding:5px 9px;border-radius:4px;white-space:nowrap;opacity:0;will-change:transform,opacity;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.chip.clickable{pointer-events:auto;animation:chipbreath 3.2s ease-in-out infinite;transition:transform .25s ease}
.chip.clickable:nth-child(2n){animation-delay:-1.1s}
.chip.clickable:nth-child(3n){animation-delay:-2.2s}
.chip.clickable:nth-child(5n){animation-delay:-.6s}
.chip.clickable:hover{transform:scale(1.08);filter:brightness(1.25)}
@keyframes chipbreath{0%,100%{box-shadow:0 0 0 0 rgba(255,217,161,0)}50%{box-shadow:0 0 14px 2px rgba(255,217,161,.3)}}

/* ——— Traînée de visages (payoff carte → fin) ——— */
.trailwrap{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.trailcard{position:absolute;top:0;left:0;width:clamp(104px,11vw,150px);aspect-ratio:2/3;border-radius:10px;overflow:hidden;opacity:0;will-change:transform,opacity;border:1px solid rgba(174,187,240,.22);box-shadow:0 22px 60px rgba(2,3,8,.6)}
.trailcard img{width:100%;height:100%;object-fit:cover;display:block}

/* ——— Sections ——— */
.sections{position:absolute;inset:0;pointer-events:none}
.section{position:absolute;inset:0;opacity:0;visibility:hidden}
.moment__year,.moment__note,.map__title,.outro__title{mix-blend-mode:difference;color:#e9edfa}
.line{display:block;overflow:hidden;padding:.1em 0;margin:-.1em 0}
.chw{display:inline-block;white-space:nowrap}
.ch{display:inline-block;white-space:pre;will-change:transform;transform:translateY(115%)}
.wd{display:inline-block;will-change:transform,opacity,filter;opacity:0}

.moment{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2vh}
.moment__year{font-size:clamp(120px,24vw,340px);font-weight:500;letter-spacing:-.05em;line-height:.9}
/* Inversion éditoriale : la phrase-ville est le héros, la ville un sourcil bleu-gris */
.moment__note{font-size:clamp(24px,2.7vw,46px);font-weight:500;letter-spacing:-.02em;line-height:1.22;max-width:16em}
.moment__city{font-size:clamp(10px,.85vw,13px);font-weight:400;letter-spacing:.34em;line-height:2;color:#93a4d6;text-transform:uppercase;margin-bottom:1.4vh}
.moment--media .moment__citywrap .moment__note{margin-left:auto}
/* 2025, les dix ans : la phrase respire un peu plus fort */
.moment--fete .moment__note{font-size:clamp(27px,3.2vw,54px);max-width:15em}

/* Bouton de son des vidéos : suit le plan vidéo, posé sur son bord bas */
.videosound{position:fixed;left:0;top:0;z-index:46;transform:translate(-50%,-50%) scale(.85);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(6,10,24,.5);border:1px solid rgba(174,187,240,.32);color:#eef1fb;cursor:pointer;pointer-events:auto;opacity:0;transition:opacity .4s ease,transform .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.videosound.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.videosound:hover{border-color:var(--gold);color:var(--gold)}
.videosound.live{border-color:var(--gold);color:var(--gold);box-shadow:0 0 16px 2px rgba(255,217,161,.3)}
.videosound svg{width:18px;height:18px;display:block}
.videosound .wave{opacity:0;transition:opacity .2s ease}
.videosound .mute{opacity:1;transition:opacity .2s ease}
.videosound.live .wave{opacity:1}
.videosound.live .mute{opacity:0}
#moments .moment--media:nth-child(2n) .moment__citywrap .moment__note{margin-left:0;margin-right:auto}
.moment--media{display:block;text-align:left}
.moment--media .moment__year{position:absolute;top:9vh;left:4vw;z-index:2;font-size:clamp(90px,17vw,240px)}
.moment--media .moment__citywrap{position:absolute;bottom:13vh;right:4vw;z-index:2;text-align:right}
/* Un chapitre sur deux inverse sa composition */
#moments .moment--media:nth-child(2n) .moment__year{left:auto;right:4vw}
#moments .moment--media:nth-child(2n) .moment__citywrap{right:auto;left:4vw;text-align:left}

.map__title{position:absolute;top:12vh;left:4vw;font-size:clamp(36px,4.5vw,76px);font-weight:500;letter-spacing:-.03em;line-height:1.05}
.map__sub{position:absolute;bottom:14vh;right:4vw;font-size:12px;letter-spacing:.24em;color:var(--muted)}

/* Les chiffres en constellation : chaque stat est une lumière posée dans la nuit,
   reliée aux autres par un fil discret ; une flaque d'ombre garantit la lecture */
.section--stats{padding:0}
.stats__lines{position:absolute;inset:0;width:100%;height:100%}
.stats__lines polyline{fill:none;stroke:rgba(255,217,161,.13);stroke-width:.16;stroke-dasharray:.9 1.5}
.statitem{position:absolute;transform:translate(-50%,-50%);text-align:center;padding:38px 52px;background:radial-gradient(closest-side,rgba(2,3,8,.72),rgba(2,3,8,0) 72%)}
.statitem::before{content:'';display:block;width:5px;height:5px;margin:0 auto 16px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px 3px rgba(255,217,161,.45)}
.statitem--1{left:24%;top:34%}
.statitem--2{left:47%;top:19%}
.statitem--3{left:71%;top:40%}
.statitem--4{left:40%;top:66%}
.statitem__num{font-size:clamp(44px,5.6vw,92px);font-weight:500;letter-spacing:-.04em;color:var(--fg);text-shadow:0 0 26px rgba(201,216,255,.25)}
.statitem__label{margin-top:1.2vh;font-size:11px;letter-spacing:.26em;line-height:1.9;color:var(--muted)}

/* Les métiers : six lumières de savoir-faire — pas de boîtes de verre.
   Un point d'or, un titre, un souffle de texte ; une ombre douce derrière
   toute la grille pour que la nuit ne mange pas les mots */
.section--cards{display:flex;flex-direction:column;justify-content:center;gap:6vh;padding:0 7vw}
.section--cards::before{content:'';position:absolute;inset:2% -6%;background:radial-gradient(ellipse at 50% 55%,rgba(2,3,8,.8),rgba(2,3,8,.45) 55%,rgba(2,3,8,0) 82%);pointer-events:none}
.cards__title{position:relative;font-size:clamp(32px,4vw,64px);font-weight:500;letter-spacing:-.03em;color:var(--fg)}
.cards__grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4.5vh 4vw}
.card{padding:0 1vw;opacity:0;transform:translateY(40px);will-change:opacity,transform;transition:filter .4s ease}
.card__icon{display:none}
.card::before{content:'';display:block;width:5px;height:5px;margin-bottom:2.2vh;border-radius:50%;background:var(--gold);box-shadow:0 0 10px 2px rgba(255,217,161,.4)}
.card:hover::before{box-shadow:0 0 16px 5px rgba(255,217,161,.65)}
.card h3{font-size:clamp(16px,1.35vw,22px);font-weight:500;letter-spacing:.02em;margin-bottom:1.3vh;color:var(--fg)}
.card p{font-size:clamp(11px,.82vw,13.5px);line-height:1.8;color:var(--muted)}

.section--outro{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7vh;text-align:center}
.section--outro::before{content:'';position:absolute;left:50%;top:50%;width:88vw;height:70vh;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(2,3,8,.6),rgba(2,3,8,0) 75%);pointer-events:none}
.outro__title{position:relative;font-size:clamp(40px,6.6vw,110px);font-weight:500;letter-spacing:-.04em;line-height:1.02}
/* L'invitation de la 13e lumière — puis sa confirmation en or */
.outro__hint{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--muted);transition:color .8s ease}
.outro__hint.lit{color:var(--gold)}
/* Le CTA est une lumière qu'on allume — pas une pilule.
   Un point d'or qui respire, le mot en dessous, l'aimantation en JS. */
.outro__cta{position:relative;pointer-events:auto;display:inline-flex;flex-direction:column;align-items:center;gap:22px;color:var(--fg);background:none;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:.32em;padding:26px 40px;will-change:transform,opacity}
.outro__cta::before{content:'';width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 16px 4px rgba(255,217,161,.55),0 0 60px 22px rgba(242,185,107,.18);animation:ctabeat 2.8s ease-in-out infinite;transition:box-shadow .5s ease}
.outro__cta::after{content:'';position:absolute;left:50%;bottom:16px;width:0;height:1px;background:var(--gold);opacity:.65;transform:translateX(-50%);transition:width .55s cubic-bezier(.16,.6,.18,1)}
.outro__cta:hover::before{animation-play-state:paused;box-shadow:0 0 22px 7px rgba(255,217,161,.8),0 0 90px 34px rgba(242,185,107,.3)}
.outro__cta:hover::after{width:72%}
@keyframes ctabeat{
  0%,100%{box-shadow:0 0 16px 4px rgba(255,217,161,.55),0 0 60px 22px rgba(242,185,107,.18),0 0 0 0 rgba(255,217,161,.4)}
  55%{box-shadow:0 0 16px 4px rgba(255,217,161,.55),0 0 60px 22px rgba(242,185,107,.18),0 0 0 16px rgba(255,217,161,0)}
}

/* ——— Fiche agence ——— */
.panel{position:fixed;top:50%;right:24px;transform:translateY(-50%) translate(26px);width:min(300px,80vw);background:#060a188c;border:1px solid rgba(255,217,161,.28);border-radius:12px;padding:18px;z-index:45;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.panel.open{opacity:1;pointer-events:auto;transform:translateY(-50%) translate(0)}
.panel__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;margin-bottom:12px;display:block}
.panel__img[hidden]{display:none}
.panel__city{font-size:20px;font-weight:600;color:var(--fg)}
.panel__meta{font-size:11px;letter-spacing:.12em;color:var(--muted);line-height:1.8;margin-top:6px}
.panel__close{position:absolute;top:8px;right:12px;background:none;border:none;color:var(--fg);font-size:20px;cursor:pointer;padding:4px 8px}

/* ——— Rail ——— */
.rail{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:35;display:flex;flex-direction:column;gap:12px;pointer-events:auto}
.rail__dot{width:9px;height:9px;border-radius:50%;background:#ecf0fc2e;border:none;cursor:pointer;padding:0;position:relative;transition:background .3s ease,transform .3s ease}
.rail__dot:hover{background:#ffd9a199}
.rail__dot.active{background:var(--gold);transform:scale(1.5)}
.rail__dot span{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:10px;letter-spacing:.14em;color:var(--fg);opacity:0;transition:opacity .25s ease;pointer-events:none;white-space:nowrap}
.rail__dot:hover span,.rail__dot.active span{opacity:1}

/* ——— Curseur ——— */
.cursor{display:none}
@media(pointer:fine){
  html,body,a,button{cursor:none}
  .cursor{display:block;position:fixed;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--accent);border:1.5px solid var(--accent);pointer-events:none;z-index:100;transition:width .25s ease,height .25s ease,background-color .25s ease,border-color .25s ease;will-change:transform}
  .cursor.is-hover{width:44px;height:44px;background:#ffd9a11a;border-color:var(--gold)}
}

/* ——— Grain + vignette ——— */
.grain{position:fixed;top:-100px;right:-100px;bottom:-100px;left:-100px;z-index:60;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .5s steps(4) infinite}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-40px,30px)}50%{transform:translate(30px,-50px)}75%{transform:translate(-30px,-20px)}100%{transform:translate(40px,40px)}}
.vignette{position:fixed;inset:0;z-index:4;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%, transparent 55%, rgba(2,3,8,.5) 100%)}

@media (prefers-reduced-motion: reduce){
  .chip.clickable,.outro__cta,.grain{animation:none}
  .cine__phrase .wi,.cine__eyebrow{transition:opacity .4s ease}
}

/* ————————————————————————————————————————
   MOBILE (portrait, ≤ 820px) — v1 du 22 juillet.
   Décisions de DA prises en autonomie, ⚠️ à valider par Srdjan :
   HUD GPS et rail masqués (le scroll est la seule navigation),
   constellation de stats en colonne sans fils, métiers en titres
   seuls, fiche agence en bottom-sheet.
   ———————————————————————————————————————— */
@media (max-width: 820px){
  .header{padding:16px 5vw}
  .header__logo{font-size:15px}
  /* visibility (pas display) : le flex garde ses 3 postes, AUDIO reste à droite */
  .header__hint{visibility:hidden}
  .lifeline{top:46px;font-size:8.5px;letter-spacing:.18em}
  .hud{display:none}
  .rail{display:none}
  .footer{padding:12px 5vw;font-size:9.5px;letter-spacing:.1em}

  /* Intro / plongée */
  .cine{padding:0 8vw;gap:20px}
  .cine__phrase{font-size:clamp(24px,7vw,40px)}
  .scrollcue{top:58%}

  /* Chapitres */
  .moment--media .moment__year{top:8vh;left:5vw;font-size:clamp(64px,22vw,140px)}
  #moments .moment--media:nth-child(2n) .moment__year{left:auto;right:5vw}
  .moment--media .moment__citywrap{left:6vw;right:6vw;bottom:9vh}
  .moment__note{font-size:clamp(20px,6vw,30px);max-width:none}
  .moment--fete .moment__note{font-size:clamp(22px,6.6vw,34px);max-width:none}
  .moment__city{letter-spacing:.26em}

  /* Carte : chips tapables, titres recalés */
  .map__title{top:10vh;left:5vw;font-size:clamp(28px,8vw,48px)}
  .map__sub{bottom:10vh;right:5vw;font-size:10px}
  .chip{font-size:12px;padding:12px 14px;min-height:44px;display:flex;align-items:center}

  /* Fiche agence : bottom-sheet */
  .panel{top:auto;bottom:14px;left:14px;right:14px;width:auto;transform:translateY(14px)}
  .panel.open{transform:translateY(0)}

  /* Stats : la constellation devient une colonne, sans fils */
  .stats__lines{display:none}
  .statitem{padding:18px 30px}
  .statitem--1{left:50%;top:22%}
  .statitem--2{left:50%;top:41%}
  .statitem--3{left:50%;top:60%}
  .statitem--4{left:50%;top:79%}
  .statitem__num{font-size:clamp(34px,10vw,56px)}
  .statitem__label{font-size:9.5px;letter-spacing:.2em}

  /* Métiers : six lumières, titres seuls */
  .section--cards{padding:0 9vw;gap:4vh}
  .cards__grid{grid-template-columns:1fr 1fr;gap:4.5vh 8vw}
  .card p{display:none}
  .card h3{font-size:14px;margin-bottom:0}

  /* Outro */
  .outro__title{font-size:clamp(30px,9vw,54px)}
}

/* Cibles tactiles élargies */
@media (pointer: coarse){
  .videosound{width:46px;height:46px}
  .videosound svg{width:21px;height:21px}
}
