/* POINTS DE RUPTURE CONVOQUÉS : 320px (20rem) et 1200px (75rem) */

@font-face {
    font-family: 'Lost Trial Normal';
    src: url('fonts/LostTrial-Normal.eot');
    src: url('fonts/LostTrial-Normal.eot?#iefix') format('embedded-opentype'),
        url('fonts/LostTrial-Normal.woff2') format('woff2'),
        url('fonts/LostTrial-Normal.woff') format('woff'),
        url('fonts/LostTrial-Normal.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lost Trial Condensed';
    src: url('fonts/LostTrial-Condensed.eot');
    src: url('fonts/LostTrial-Condensed.eot?#iefix') format('embedded-opentype'),
        url('fonts/LostTrial-Condensed.woff2') format('woff2'),
        url('fonts/LostTrial-Condensed.woff') format('woff'),
        url('fonts/LostTrial-Condensed.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'LivoryRegular';
    src: url('fonts/LivoryRegular.eot');
    src: url('fonts/LivoryRegular.eot') format('embedded-opentype'),
         url('fonts/LivoryRegular.woff2') format('woff2'),
         url('fonts/LivoryRegular.woff') format('woff'),
         url('fonts/LivoryRegular.ttf') format('truetype'),
         url('fonts/LivoryRegular.svg#LivoryRegular') format('svg');
}

@font-face {
    font-family: 'LivoryRegularItalic';
    src: url('fonts/LivoryRegularItalic.eot');
    src: url('fonts/LivoryRegularItalic.eot') format('embedded-opentype'),
         url('fonts/LivoryRegularItalic.woff2') format('woff2'),
         url('fonts/LivoryRegularItalic.woff') format('woff'),
         url('fonts/LivoryRegularItalic.ttf') format('truetype'),
         url('fonts/LivoryRegularItalic.svg#LivoryRegularItalic') format('svg');
}

:root {
    --jaune: #ffff00;
    --noir: #000200;
    --blanc: #ffffff;
    --gris: #cacaca;
    --gris50: #dadada;
    --rose: #f5befa;
    --bleu: #64d7eb;
    --vert: #b9fa73;
    --fond: #f2f2f2;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; font-size: 1em; }

  body {
    background: var(--blanc);
    color: var(--noir);
    font-family: 'Lost Trial Normal', sans-serif;
    overflow-x: hidden;
  }

    img { max-width: 100%; }

  /* ── NAV ── */
  nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    background: var(--jaune);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(194,143,25,0.25);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    height: 56px;
  }

  .nav-logo {
    font-family: 'Lost Trial Normal', sans-serif;
    font-weight: 400;
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    color: var(--noir);
    white-space: nowrap;
    text-align: center;
  }

  .nav-logo span {
    font-family: 'Lost Trial Normal', sans-serif;
  }

  .nav-links {
    font-family: 'Lost Trial Normal', sans-serif;
    display: flex;
    gap: 0.15rem;
    list-style: none;
  }

  .nav-links a {
    display: block;
    padding: 0.4rem 0.65rem;
    font-size: 0.65rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--noir);
    text-decoration: none;
    border: 1px solid transparent;
    transition: color 0.2s, border-color 0.2s;
  }

  .nav-links a:hover,
  .nav-links a.active {
    color: var(--gris);
  }

  .hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 4px;
  }
  .hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--noir);
    transition: all 0.3s;
  }

  /* ── MOBILE NAV ── */
  .mobile-menu {
    display: none;
    position: fixed;
    top: 56px; left: 0; right: 0;
    background: rgba(10,10,10,0.98);
    z-index: 99;
    padding: 1.5rem 2rem 2rem;
    border-bottom: 1px solid rgba(240,134,169,0.2);
  }
  .mobile-menu.open { display: block; }
  .mobile-menu a {
    display: block;
    padding: 0.8rem 0;
    font-size: 0.82rem;
    letter-spacing: 0.18em;
    /*text-transform: uppercase;*/
    color: var(--jaune);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    transition: color 0.2s;
  }
  .mobile-menu a:hover { color: var(--gris); }

  /* ── SECTIONS ── */
  section {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
  }

  .label, .objectifs-tag, .cible-tag, .notions-tag, .concept-tag, .systeme-tag {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(1.6rem, 1.418rem + 0.909vw, 2.1rem);
    font-weight: 300;
    letter-spacing: 0.03em;
    color: var(--gris);
    margin-top: 5rem;
    margin-bottom: 1.5rem;
    text-align: center;
  }

  .gris { background: var(--fond); }

  /* ── ENTÊTE ── */
  #entete {
    background: var(--jaune);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 35vh;
  }

  .entete-noms .desktop {
    display: flex;
    gap: 3rem;
    padding-top: 12rem;
    margin-bottom: 6rem;
    font-family: 'LivoryRegular';
    font-size: clamp(1rem, 0.964rem + 0.182vw, 1.1rem);
    color: var(--noir);
    letter-spacing: 0.1rem;
    font-weight: 100;
    text-align: center;
  }
  .entete-noms .mobile{ display: none; }

  .entete-noms span {
    padding: 0px 10px 0px 10px;
  }

  .entete-titrea, .entete-titreb, .concept-titre {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(3.2rem, 1.636rem + 7.818vw, 7.5rem);
    font-weight: 400;
    line-height: 0.88;
    letter-spacing: -0.01em;
    text-align: center;
     padding-top: 4rem;
  }

  .entete-titrea, .entete-titreb { color: var(--noir); display: block; }

  .entete-titrea { display: contents; }
  .entete-titreb { display: none; }

  .entete-scroll {
    font-family: 'LivoryRegularItalic';
    position: absolute;
    bottom: 8rem;
    right: 8vw;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 0.6rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--gris);
    cursor: pointer;
    text-decoration: none;
  }
  .entete-scroll::after {
    content: '';
    display: block;
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, var(--gris), transparent);
    animation: scrollLine 1.6s ease-in-out infinite;
  }
  @keyframes scrollLine {
    0%,100% { opacity: 1; transform: scaleY(1); }
    50% { opacity: 0.3; transform: scaleY(0.5); }
  }

  .institution-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    margin-top: 3rem;
    margin: 0 14rem;
    font-family: 'LivoryRegularItalic';
    font-size: clamp(1.7rem, 1.445rem + 1.273vw, 2.4rem);
  }

  .institution-card {
    max-width: 100%;
    font-family: 'Livory-RegularItalic' serif;
    font-size: clamp(1.7rem, 1.445rem + 1.273vw, 2.4rem);
    padding: 2rem 2rem;
    text-align: center;
    transition: border-color 0.3s, transform 0.3s;
  }

  .institution-noms {
    font-weight: 350;
    color: var(--noir);
    margin-bottom: 0.5rem;
  }

  /* ── INTENTION ── */
  #intention {
    background: var(--jaune);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .intention-titre {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(3rem, 1.727rem + 6.364vw, 6.5rem);
    font-weight: 400;
    line-height: 1.3;
    color: var(--noir);
    letter-spacing: -0.01em;
    text-align: center;
  }

  .intention-tag, .situation-tag, .reseaux-tag, .programme-tag, .programme-tag2 {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(1.6rem, 1.418rem + 0.909vw, 2.1rem);
    font-weight: 300;
    letter-spacing: 0.01em;
    color: var(--noir);
    margin-top: 7rem;
    margin-bottom: 2rem;
    text-align: center;
  }

  /* ── SOMMAIRE ── */
  #sommaire {
    width: 70vw;
    margin: 0 auto;
    background: var(--blanc);
  }

  .sommaire-2 {
    width: 70vw;
    margin: 0 auto;
  }

  .blanc { 
    width: 70vw;
    margin: 0 auto;
  }

  .sommaire-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    margin-top: 0.2rem;
  }
  .sommaire-grid a { text-decoration: none; }

  .sommaire-card {
    font-family: 'LivoryRegularItalic';
    font-weight: 400;
    /*background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);*/
    padding: 2.5rem 2rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
  }

  .sommaire-num {
    font-size: clamp(1.7rem, 1.445rem + 1.273vw, 2.4rem);
    font-weight: 400;
    color: var(--noir);
    line-height: 1;
    margin-bottom: 1rem;
  }

  .inspiration-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 0.2rem;
  }

  .inspiration-num {
    font-size: clamp(1.5rem, 1.427rem + 0.364vw, 1.7rem);
    font-weight: 400;
    color: var(--noir);
    line-height: 1;
    margin-bottom: 1rem;
  }

  .inspiration-card {
    font-family: 'LivoryRegularItalic';
    font-weight: 400;
    /*background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);*/
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
  }

  .inspiration-objectif {
    font-family: 'Livory-Regular', sans-serif;
    font-size: clamp(1rem, 0.964rem + 0.182vw, 1.1rem);
    font-weight: 350;
    color: var(--noir);
    margin-bottom: 0.5rem;
  }

  .sommaire-objectif {
    font-family: 'Livory-Regular', sans-serif;
    font-size: clamp(1rem, 0.891rem + 0.545vw, 1.3rem);
    font-weight: 350;
    color: var(--noir);
    margin-bottom: 0.5rem;
  }

  .sommaire-text {
    max-width: 800px;
    margin: 0 auto;
    font-family: 'Livory-Regular', sans-serif;
    font-size: clamp(1.1rem, 0.991rem + 0.545vw, 1.4rem);
    font-weight: 300;
    line-height: 1.3;
    color: var(--noir);
    text-align: left;
  }

  .sommaire-tag {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(1.6rem, 1.418rem + 0.909vw, 2.1rem);
    font-weight: 300;
    letter-spacing: 0.01em;
    color: var(--noir);
    margin-top: 5rem;
    margin-bottom: 0.5rem;
    text-align: center;
  }
  .picto { width: 18px; height: 18px; position: relative; bottom: 2px; right: 6px; }

  .sommaire-sub {
    font-size: 0.62rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gris);
  }

  /* ── IDENTITÉ GRAPHIQUE ── */
  #identite {
    background: var(--jaune);
    text-align: center;
    align-items: center;
  }

  .identite-titre {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(3rem, 1.727rem + 6.364vw, 6.5rem);
    font-weight: 400;
    line-height: 1.3;
    color: var(--noir);
    letter-spacing: -0.01em;
    text-align: center;
  }

  .identite-grid {
    width: 50vw;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto;
    gap: 120px;
    margin-top: 0.2rem;
  }

  .identite-num {
    font-size: clamp(1.5rem, 1.427rem + 0.364vw, 1.7rem);
    font-weight: 400;
    color: var(--noir);
    line-height: 1;
    margin-bottom: 1rem;
  }

  .identite-card {
    font-family: 'LivoryRegularItalic';
    font-weight: 400;
    /*background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);*/
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
  }

  .identite-picto { width: 60%; margin: 0 auto; padding-top: 30px; padding-bottom: 30px; }

  .identite-fleche { width: 10%; margin: 0 auto; padding-top: 30px; }

  .identite-objectif {
    font-family: 'Livory-RegularItalic', sans-serif;
    font-size: clamp(1rem, 0.891rem + 0.545vw, 1.3rem);
    font-weight: 350;
    color: var(--noir);
    margin-bottom: 0.5rem;
  }

  .marge-bottom { height: 80px; }

  .typographie-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;;
    width: 60vw;
    gap: 1px;
    margin-top: 0.2rem;
  }

  .typographie-card {
    width: 90%;
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    margin: 0 auto;
  }

  .typographie-tag {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(1.6rem, 1.418rem + 0.909vw, 2.1rem);
    font-weight: 300;
    letter-spacing: 0.01em;
    color: var(--noir);
    margin-top: 7rem;
    margin-bottom: 0.5rem;
    text-align: center;
  }

  .pastille-grid {
    width: 60vw;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto;
    gap: 80px;
    margin-top: 0.2rem;
  }

  .pastille-card {
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-self: center;
  }

  .pastille-objectif {
    font-family: 'Livory-RegularItalic', sans-serif;
    font-size: clamp(1rem, 0.891rem + 0.545vw, 1.3rem);
    font-weight: 350;
    color: var(--noir);
    margin-bottom: 0.5rem;
    display: flex;
    flex-direction: column;
    align-self: center;
  }
  .pastille-noir-h { width: 140%; position: relative; right: 4em; }
  .pastille-obj-2 { position: relative; top: 3.85em; }
  .pastille-obj-3 { position: relative; top: 1.95em; }

  .pastille-anime-grid {
    width: 20vw;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
    margin-top: 0.2rem;
    margin: 0 auto;
  }

  .palette-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /*width: 41vw;*/
    margin-top: 0.2rem;
    margin: 0 auto;
  }

  .palette-card {
    font-family: 'LivoryRegularItalic';
    font-weight: 400;
    /*background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);*/
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
  }

  .palette-objectif, .palette-objectif2, .palette-objectif3, .palette-objectif4 {
    font-family: 'Livory-Regular', sans-serif;
    font-size: clamp(0.9rem, 0.864rem + 0.182vw, 1rem);
    font-weight: 350;
    color: var(--noir);
    margin-bottom: 0.5rem;
    position: relative;
    bottom: 50px;
  }
  .palette-box {
    width: 200px;
    height: 380px;
    margin-bottom: 0.8rem;
    margin: 0 auto;
  }
  .palette-jaune { background: var(--jaune); }
  .palette-rose { background: var(--rose); }
  .palette-bleu { background: var(--bleu); }
  .palette-vert { background: var(--vert); }

  .palette-tag {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(1.6rem, 1.418rem + 0.909vw, 2.1rem);
    font-weight: 300;
    letter-spacing: 0.01em;
    color: var(--noir);
    margin-top: 9rem;
    margin-bottom: 0.5rem;
    text-align: center;
  }

  /* ── L'AFFICHE ── */
  #affiche {
    background: var(--jaune);
    text-align: center;
    align-items: center;
  }

  .affiche-titre {
    font-family: 'Lost Trial Normal', sans-serif;
    font-size: clamp(3rem, 1.727rem + 6.364vw, 6.5rem);
    font-weight: 400;
    line-height: 1.3;
    color: var(--noir);
    letter-spacing: -0.01em;
    text-align: center;
  }

  .affiche-grid {
    width: 75vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 0 auto;
    gap: 10px;
    margin-top: 0.2rem;
  }

  .affiche-card {
    font-family: 'LivoryRegularItalic';
    font-weight: 400;
    /*background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);*/
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .affiche-grid-2 {
    width: 50vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
    gap: 10px;
    margin-top: 0.2rem;
  }

  .affiche-grid-3 {
    width: 30vw;
    display: grid;
    grid-template-columns: 1fr;
    margin: 0 auto;
    margin-top: 0.2rem;
    margin-bottom: 3rem;
  }

  .affiche-objectif {
    font-family: 'Livory-Regular', sans-serif;
    font-size: clamp(0.75rem, 0.695rem + 0.273vw, 0.9rem);
    font-weight: 350;
    color: var(--noir);
    margin-bottom: 0.5rem;
    display: flex;
    flex-direction: column;
    align-self: center;
  }

/* ── COMMUNICATION WEB ── */
  #web {
    background: var(--jaune);
    text-align: center;
    align-items: center;
  }

  .web-grid {
    width: 75vw;
    display: grid;
    grid-template-columns: 1fr;
    margin: 0 auto;
    gap: 10px;
    margin-top: 0.2rem;
  }

  .web-card {
    font-family: 'LivoryRegularItalic';
    font-weight: 400;
    /*background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);*/
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
    /*display: flex;
    flex-direction: column;
    align-self: center;*/
  }

  /* ── DÉCLINAISONS GRAPHIQUES ── */
  #declinaisons {
    background: var(--jaune);
    text-align: center;
    align-items: center;
  }

  .declinaisons-grid {
    width: 75vw;
    display: grid;
    grid-template-columns: 1fr;
    margin: 0 auto;
    gap: 10px;
    margin-top: 0.2rem;
  }

  .declinaisons-card {
    font-family: 'LivoryRegularItalic';
    font-weight: 400;
    /*background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);*/
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    text-align: center;
    /*display: flex;
    flex-direction: column;
    align-self: center;*/
  }

  .declinaisons-grid-2 {
    width: 70vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
    gap: 10px;
    margin-top: 0.2rem;
  }

  /* ── VIDÉO ── */
  .video-grid, .video-grid2 {
    width: 50vw;
    display: grid;
    grid-template-columns: 1fr;
    margin: 0 auto;
    margin-top: 0.2rem;
  }

  .video-card-outils {
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    position: relative;
    right: 10.5%;
  }

  .video-card-reels {
    padding: 1.5rem 0.8rem;
    transition: background 0.3s, border-color 0.3s;
    position: relative;
    left: 14.4%;
  }

  .video-wrap-outils {
    width: 98vw;
    overflow: hidden;
    animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) both;
  }

  .video-wrap-reels {
    width: 98vw;
    overflow: hidden;
    animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) both;
  }

  @keyframes fadeUp {
      from { opacity: 0; transform: translateY(20px); }
      to   { opacity: 1; transform: translateY(0); }
  }

  .outil-ondes {
    width: 68%;
    display: block;
    aspect-ratio: 15 / 7;
    object-fit: cover;
    border: 1px dotted var(--gris50);
  }

  .reels {
    width: 20%;
    display: block;
    aspect-ratio: 4 / 7;
    object-fit: cover;
    border-radius: 10px;
  }

  .programme-imprime { display: contents; }
  .programme-imprime2 { display: none; }

  /* ── FOOTER ── */
  #footer {
    background: var(--jaune);
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 35vh;
  }





  /* ── RESPONSIVE ── */
  @media (max-width: 768px) {
    section { padding: 0.6em; }
    nav { padding: 0 1.2rem; }
    .nav-links { display: none; }
    .hamburger { display: flex; }
    .picto { width: 15px; height: 15px; position: relative; bottom: 1px; right: 6px; }
    .blanc { width: 98vw; margin: 0 auto; }
    #entete { padding-bottom: 40vh; width: 100vw; margin: 0 auto; }
    .entete-titreb { margin-bottom: 0.2rem; }
    .entete-titreb .ligne1 { margin-top: 2rem; }
    .entete-titrea { display: none; }
    .entete-titreb { display: contents; }
    .entete-noms { gap: 0.5rem; flex-direction: column; align-items: center; padding-top: 5px; margin-bottom: 1rem; line-height: 1; }
    .entete-noms .desktop { display: none; }
    .entete-noms .mobile{ display: flex; font-family: 'LivoryRegular'; font-size: clamp(1rem, 0.964rem + 0.182vw, 1.1rem); margin-top: 5rem; margin-bottom: 0.1rem; color: var(--noir); text-align: center; }
    .intention-titre { position: relative; bottom: 100px; }
    .institution-grid { grid-template-columns: 1fr; justify-items: center; margin: 0 2rem; padding-top: 2rem; }
    .institution-card { max-width: 100%; padding: 0.2rem 1rem; text-align: center; transition: border-color 0.3s, transform 0.3s; }
    .institution-noms { margin-bottom: 0.3rem; line-height: 1; }
    #sommaire { width: 96vw; margin: 0 auto; }
    .sommaire-grid { grid-template-columns: 1fr; gap: 1px; margin-top: 0.4em; }
    .sommaire-card { padding: 0.6rem 0.1rem; }
    .sommaire-num { margin-bottom: 0.1rem;}
    .sommaire-titre { margin-bottom: 0.1rem; }
    .sommaire-text { max-width: 85vw; margin: 0 auto; line-height: 1.1; }
    .sommaire-tag { margin-top: 6rem; margin-bottom: 0.5rem; }
    .inspiration-grid { grid-template-columns: 1fr; gap: 5px; }
    .identite-titre { position: relative; bottom: 100px; line-height: 0.9; }
    .identite-grid { width: 50vw; display: grid; grid-template-columns: 1fr; margin: 0 auto; gap: 20px; margin-top: 0.2rem; }
    .identite-card { padding-top: 1rem; padding-left: 1.4rem; padding-right: 1.4rem; padding-bottom: 3rem; }
    .identite-picto { padding-top: 10px; padding-bottom: 5px; }
    .identite-fleche { width: 10%; margin: 0 auto; padding-top: 10px; }
    .intention-tag, .programme-tag, .programme-tag2 { margin-top: 7rem; margin-bottom: 0.1rem; }
    .programme-imprime { display: none; }
    .programme-imprime2 { display: contents; }
    .pastille-grid { width: 50vw; grid-template-columns: 1fr; margin: 0 auto; gap: 20px; margin-top: 2rem; }
    .pastille-card { padding: 0rem 0.8rem; }
    .pastille-noir-h { width: 140%; position: relative; right: 2em; }
    .pastille-obj-2 { position: relative; top: -0.2em; }
    .pastille-obj-3 { position: relative; top: -0.2em; }
    .pastille-anime-grid { width: 60vw; grid-template-columns: 1fr; }
    .typographie-grid { grid-template-columns: 1fr; width: 100%; margin: 0 auto; margin-top: 1rem; }
    .typographie-card { width: 100%; padding: 1.5rem 0.1rem; }
    .palette-grid { grid-template-columns: 1fr; margin-top: 1rem; gap: 1px; }
    .palette-card { padding-top: 0rem; padding-bottom: 0rem; }
    .palette-box { width: 90vw; height: 200px; margin-bottom: 0.8rem; margin: 0 auto; }
    .palette-tag { margin-top: 7rem; }
    .palette-rose { position: relative; bottom: 50px; }
    .palette-objectif2 { position: relative; bottom: 100px; }
    .palette-bleu { position: relative; bottom: 100px; }
    .palette-objectif3 { position: relative; bottom: 150px; }
    .palette-vert { position: relative; bottom: 150px; }
    .palette-objectif4 { position: relative; bottom: 200px; }
    .situation-tag, .reseaux-tag { margin-top: 3rem; margin-bottom: 1rem; }
    .affiche-grid { width: 65vw; grid-template-columns: 1fr; justify-content: center; }
    .affiche-grid-2 { width: 90vw; grid-template-columns: 1fr; margin: 0 auto; }
    .affiche-grid-3 { width: 90vw; grid-template-columns: 1fr; margin: 0 auto; }
    .affiche-card { width: 90vw; padding: 0.5rem 0.8rem; margin: 0 auto;}
    .declinaisons-grid-2 { width: 88vw; grid-template-columns: 1fr; justify-content: center; }
    .declinaisons-card { padding: 0.5rem 0.1rem; }
    .video-grid2 { width: 90vw; display: grid; grid-template-columns: 1fr; margin: 0 auto; margin-top: 0.2rem; }
    .video-card-outils { position: relative; right: 11%; }
    .video-wrap-outils { width: 98vw; overflow: hidden; animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) both; }
    .video-card-reels { width: 100vw; position: relative; left: 2%; }
    .video-wrap-reels { width: 98vw; overflow: hidden; animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) both; }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(20px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .outil-ondes { width: 90%; display: block; aspect-ratio: 15 / 7; object-fit: cover; border: 1px solid var(--gris50); }
    .reels { width: 80%; display: block; aspect-ratio: 4 / 7; object-fit: cover;  border-radius: 10px; }
  }

  /* motif SVG inline */
  .motif-arc {
    width: 100%;
    height: 100%;
  }
  