/* ============================================================
   ANIMAL SHADOW - MEDIA KIT
   ============================================================
   Feuille extraite de mediakit.php le 2026-09-27. La page portait 34 Ko de
   CSS reparti dans cinq blocs en ligne, donc rien n'etait mis en cache d'une
   visite a l'autre, et la page restait la dernière page publique coupée du
   système du site.

   ORDRE DE CHARGEMENT, et il est essentiel : styles.bundle.css et
   shadow-fx.css viennent AVANT cette feuille, qui garde donc le dernier mot.
   Les cinq blocs sont repris ci-dessous dans leur ordre d'origine (deux du
   <head>, trois du <body>), ce qui preserve exactement la cascade qu'ils
   avaient entre eux.
   ============================================================ */

/* ---- neutralisation des regles d'element du bundle -------------------
   Mesure au rendu le 2026-09-27, bundle allume puis eteint sur la page en
   ligne. Trois regles d'ELEMENT traversaient la page parce qu'elle ne les
   déclare pas. Elles sont rendues a leur valeur d'avant, au niveau element,
   donc toute règle de classe écrite plus bas dans ce fichier garde le dessus.

   Ce qui n'est PAS neutralise, volontairement : la taille et l'interlignage
   du corps de texte, et le passage des images en display:block avec
   max-width:100%. C'est le système du site, et c'est le but de l'y brancher. */
h1,h2,h3,h4,h5,h6{text-transform:none;letter-spacing:normal}
em{font-weight:inherit}
a{text-decoration:underline}

/* ---- le rouge de texte, par contexte de fond -------------------------
   La page écrit var(--c-red-text, #ae0000) sans definir la variable : elle
   tombait donc sur #ae0000 partout. Contraste mesure des 54 occurrences :

     fond blanc  (4 elements)  #ae0000 = 7,50  |  #e74c3c = 3,82
     fond #0a0a0a (24)         #ae0000 = 2,64  |  #e74c3c = 5,18
     fond #1a1a1a (16)         #ae0000 = 2,32  |  #e74c3c = 4,56
     fond #111111  (9)         #ae0000 = 2,52  |  #e74c3c = 4,94
     fond #060606  (1)         #ae0000 = 2,70  |  #e74c3c = 5,30

   Autrement dit CINQUANTE des cinquante-quatre etaient sous le seuil AA de
   4,5, et le rouge du bundle les repare toutes. Les quatre exceptions sont
   dans le hero a fond blanc, ou c'est l'inverse : elles gardent #ae0000.
   Resultat : 54 sur 54 au-dessus du seuil. -------------------------------- */
.mk-hero-v2{--c-red-text:#ae0000}

/* ---------- bloc 1 d'origine ---------- */
    @font-face{font-family:'Benzin';src:url('/assets/fonts/Benzin-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:optional}
    @font-face{font-family:'Benzin';src:url('/assets/fonts/Benzin-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:optional}
    @font-face{font-family:'Benzin';src:url('/assets/fonts/Benzin-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:optional}
    @font-face{font-family:'Benzin';src:url('/assets/fonts/Benzin-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:optional}
    @font-face{font-family:'Benzin';src:url('/assets/fonts/Benzin-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:optional}

    :root {
      --c-black: #0a0a0a;
      --c-dark: #111111;
      --c-dark-card: #1a1a1a;
      --c-red: #ae0000;
      --c-red-light: #d10000;
      --c-red-dim: rgba(174,0,0,0.15);
      --c-gold: #cda85c;
      --c-white: #f5f5f5;
      --c-white-muted: #aaaaaa;
      --ff-display: 'Benzin', 'Oswald', sans-serif;
      --ff-heading: 'Oswald', sans-serif;
      --ff-body: 'Montserrat', sans-serif;
    }

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

    html { scroll-behavior: smooth; }

    body {
      background: var(--c-black);
      color: var(--c-white);
      font-family: var(--ff-body);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

    /* Global nav (cohérent legal.html / autres pages) */
    .global-nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(10,10,10,0.95);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(174,0,0,0.18);
      padding: 1rem 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .global-nav a { text-decoration: none; }

    .global-nav__brand {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      color: #fff;
    }

    .global-nav__brand img { height: 28px; width: auto; display: block; }

    .global-nav__links {
      display: flex;
      gap: 1.75rem;
      align-items: center;
    }

    .global-nav__link {
      font-family: var(--ff-heading);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #888;
      transition: color 0.2s;
    }
    .global-nav__link:hover { color: #fff; }

    .global-nav__link--cta {
      color: var(--c-white);
      border: 1px solid rgba(174,0,0,0.45);
      padding: 0.5rem 0.95rem;
    }
    .global-nav__link--cta:hover {
      background: var(--c-red);
      border-color: var(--c-red);
      color: #fff;
    }

    /* Print bar */
    .print-bar {
      background: var(--c-red);
      color: var(--c-white);
      padding: 0.7rem 2rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-family: var(--ff-heading);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
    }

    .print-bar__btn {
      background: var(--c-black);
      color: var(--c-white);
      border: 1px solid rgba(255,255,255,0.15);
      padding: 0.5rem 1.25rem;
      font-family: var(--ff-heading);
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
    }
    .print-bar__btn:hover { background: #fff; color: var(--c-red-text, var(--c-red)); }

    /* Layout */
    .mk {
      max-width: 1080px;
      margin: 0 auto;
      padding: 4rem 2rem 4rem;
    }

    /* Cover - split layout text + photo */
    .mk-cover {
      min-height: 86vh;
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 3rem;
      align-items: center;
      padding: 3rem 0 5rem;
      border-bottom: 1px solid rgba(174,0,0,0.2);
      margin-bottom: 5rem;
      position: relative;
    }

    .mk-cover__bg {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 50% at 20% 50%, rgba(174,0,0,0.10) 0%, transparent 60%);
      pointer-events: none;
      z-index: 0;
    }

    .mk-cover__text { position: relative; z-index: 2; }

    .mk-cover__tag {
      font-family: var(--ff-heading);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.3em;
      color: var(--c-red-text, var(--c-red));
      text-transform: uppercase;
      margin-bottom: 1.75rem;
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
    }

    .mk-cover__tag::before {
      content: '';
      width: 32px;
      height: 1px;
      background: var(--c-red);
    }

    .mk-cover__name {
      font-family: var(--ff-display);
      font-size: clamp(2.8rem, 6.5vw, 5.5rem);
      font-weight: 700;
      line-height: 0.92;
      text-transform: uppercase;
      letter-spacing: -0.015em;
      margin-bottom: 1.25rem;
    }

    .mk-cover__name span {
      color: var(--c-red-text, var(--c-red));
      display: block;
    }

    .mk-cover__tagline {
      font-family: var(--ff-heading);
      font-size: clamp(0.85rem, 1.4vw, 1rem);
      font-weight: 500;
      color: var(--c-white-muted);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin-bottom: 2.5rem;
      max-width: 460px;
      line-height: 1.5;
    }

    .mk-cover__divider {
      width: 60px;
      height: 2px;
      background: var(--c-red);
      margin-bottom: 2.25rem;
    }

    .mk-cover__meta {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem 2rem;
    }

    .mk-cover__meta-label {
      color: var(--c-white-muted);
      font-family: var(--ff-heading);
      font-size: 0.6875rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      margin-bottom: 0.3rem;
    }

    .mk-cover__meta-value {
      color: var(--c-white);
      font-weight: 600;
      font-size: 0.88rem;
    }

    .mk-cover__photo {
      position: relative;
      z-index: 2;
      aspect-ratio: 3/4;
      width: 100%;
      overflow: hidden;
      background: var(--c-dark);
      border: 1px solid rgba(255,255,255,0.06);
    }

    .mk-cover__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .mk-cover__photo::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 60%, rgba(10,10,10,0.5) 100%);
      pointer-events: none;
    }

    /* Section structure */
    .mk-section {
      margin-bottom: 6rem;
      page-break-inside: avoid;
    }

    .mk-section-label {
      font-family: var(--ff-heading);
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.3em;
      color: var(--c-red-text, var(--c-red));
      text-transform: uppercase;
      margin-bottom: 0.85rem;
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
    }

    .mk-section-label::before {
      content: '';
      width: 28px;
      height: 1px;
      background: var(--c-red);
    }

    .mk-section-title {
      font-family: var(--ff-display);
      font-size: clamp(1.8rem, 4vw, 3rem);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.005em;
      margin-bottom: 2.75rem;
      line-height: 1;
    }

    /* Stats */
    .mk-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
    }

    .mk-stat {
      background: var(--c-dark-card);
      border: 1px solid rgba(255,255,255,0.06);
      padding: 2.25rem 1.75rem;
      position: relative;
      transition: border-color 0.25s, transform 0.25s;
    }
    .mk-stat:hover { border-color: rgba(174,0,0,0.45); transform: translateY(-2px); }

    .mk-stat::before {
      content: '';
      position: absolute;
      top: 0; left: 0;
      width: 3px;
      height: 100%;
      background: var(--c-red);
    }

    /* Stat hero - touche gold premium réservée au premier chiffre */
    .mk-stat--hero::before { background: var(--c-gold); }
    .mk-stat--hero .mk-stat__number { color: var(--c-gold); }
    .mk-stat--hero .mk-stat__platform { color: var(--c-gold); border-top-color: rgba(205,168,92,0.25); }

    .mk-stat__number {
      font-family: var(--ff-display);
      font-size: clamp(2.2rem, 4vw, 3.4rem);
      font-weight: 700;
      color: var(--c-red-text, var(--c-red));
      line-height: 1;
      margin-bottom: 0.6rem;
    }

    .mk-stat__label {
      font-family: var(--ff-body);
      font-size: 0.8rem;
      color: var(--c-white-muted);
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }

    .mk-stat__platform {
      font-family: var(--ff-heading);
      font-size: 0.6875rem;
      font-weight: 600;
      color: var(--c-red-text, var(--c-red));
      letter-spacing: 0.2em;
      text-transform: uppercase;
      margin-top: 0.85rem;
      padding-top: 0.85rem;
      border-top: 1px solid rgba(174,0,0,0.2);
    }

    /* Platforms */
    .mk-platforms {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.25rem;
    }

    .mk-platform {
      background: var(--c-dark);
      border: 1px solid rgba(255,255,255,0.06);
      padding: 1.85rem;
      display: flex;
      gap: 1.4rem;
      align-items: flex-start;
      transition: border-color 0.25s;
    }
    .mk-platform:hover { border-color: rgba(174,0,0,0.4); }

    .mk-platform__icon {
      width: 46px;
      height: 46px;
      background: var(--c-red-dim);
      border: 1px solid rgba(174,0,0,0.35);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .mk-platform__icon svg {
      width: 22px;
      height: 22px;
      fill: var(--c-red);
    }

    .mk-platform__name {
      font-family: var(--ff-heading);
      font-size: 1.05rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 0.25rem;
    }

    .mk-platform__handle {
      font-size: 0.78rem;
      color: var(--c-red-text, var(--c-red));
      margin-bottom: 0.85rem;
      font-family: var(--ff-heading);
      letter-spacing: 0.05em;
    }

    .mk-platform__stat { display: flex; gap: 1.5rem; flex-wrap: wrap; }

    .mk-platform__stat-item { font-size: 0.72rem; }

    .mk-platform__stat-num {
      font-family: var(--ff-display);
      font-size: 1.15rem;
      font-weight: 600;
      color: var(--c-white);
      display: block;
      line-height: 1.1;
    }

    .mk-platform__stat-label {
      color: var(--c-white-muted);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      font-size: 0.6875rem;
    }

    /* Audience */
    .mk-audience {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3rem;
    }

    .mk-audience__sublabel {
      font-family: var(--ff-heading);
      font-size: 0.72rem;
      color: var(--c-white-muted);
      margin-bottom: 1.75rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .mk-audience__demos {
      display: flex;
      flex-direction: column;
      gap: 1.1rem;
    }

    .mk-demo-bar { display: flex; flex-direction: column; gap: 0.45rem; }

    .mk-demo-bar__header {
      display: flex;
      justify-content: space-between;
      font-size: 0.82rem;
    }

    .mk-demo-bar__label { color: var(--c-white-muted); }
    .mk-demo-bar__pct {
      color: var(--c-red-text, var(--c-red));
      font-weight: 600;
      font-family: var(--ff-heading);
      letter-spacing: 0.05em;
    }

    .mk-demo-bar__track {
      height: 4px;
      background: rgba(255,255,255,0.08);
      border-radius: 2px;
      overflow: hidden;
    }

    .mk-demo-bar__fill {
      height: 100%;
      background: linear-gradient(90deg, var(--c-red), var(--c-red-light));
      border-radius: 2px;
    }

    .mk-audience__geo {
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
    }

    .mk-geo-item {
      display: flex;
      align-items: center;
      gap: 1rem;
      font-size: 0.88rem;
      padding-bottom: 0.85rem;
      border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    .mk-geo-item:last-child { border-bottom: none; }

    .mk-geo-item__flag { font-size: 1.25rem; }
    .mk-geo-item__country { flex: 1; color: var(--c-white-muted); }
    .mk-geo-item__pct {
      font-family: var(--ff-heading);
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--c-red-text, var(--c-red));
      letter-spacing: 0.05em;
    }

    /* Formats */
    .mk-formats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
    }

    .mk-format {
      border: 1px solid rgba(255,255,255,0.07);
      padding: 1.75rem 1.5rem;
      background: var(--c-dark-card);
      transition: border-color 0.25s, transform 0.25s;
    }
    .mk-format:hover { border-color: rgba(174,0,0,0.4); transform: translateY(-2px); }

    .mk-format__num {
      font-family: var(--ff-display);
      font-size: 2.5rem;
      font-weight: 700;
      color: rgba(174,0,0,0.25);
      line-height: 1;
      margin-bottom: 0.65rem;
    }

    .mk-format__name {
      font-family: var(--ff-heading);
      font-size: 1rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--c-red-text, var(--c-red));
      margin-bottom: 0.55rem;
    }

    .mk-format__desc {
      font-size: 0.8rem;
      color: var(--c-white-muted);
      line-height: 1.55;
    }

    /* Brands */
    .mk-brands-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0.85rem;
    }

    .mk-brand-tag {
      border: 1px solid rgba(255,255,255,0.08);
      padding: 1.1rem 0.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--ff-heading);
      font-size: 0.88rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--c-white-muted);
      transition: border-color 0.2s, color 0.2s, background 0.2s;
    }
    .mk-brand-tag:hover {
      border-color: rgba(174,0,0,0.45);
      color: var(--c-white);
      background: rgba(174,0,0,0.05);
    }

    /* Why - split with image */
    .mk-why-wrap {
      display: grid;
      grid-template-columns: 0.85fr 1.15fr;
      gap: 3rem;
      align-items: start;
    }

    .mk-why-photo {
      position: sticky;
      top: 5rem;
      aspect-ratio: 4/5;
      overflow: hidden;
      background: var(--c-dark);
      border: 1px solid rgba(255,255,255,0.06);
    }

    .mk-why-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .mk-why {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.75rem 1.5rem;
    }

    .mk-why-item {
      display: flex;
      gap: 1.1rem;
      align-items: flex-start;
    }

    .mk-why-item__num {
      font-family: var(--ff-display);
      font-size: 1.85rem;
      font-weight: 700;
      color: var(--c-red-text, var(--c-red));
      line-height: 1;
      flex-shrink: 0;
      width: 2.5rem;
    }

    .mk-why-item__title {
      font-family: var(--ff-heading);
      font-size: 0.98rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 0.4rem;
      color: var(--c-white);
    }

    .mk-why-item__desc {
      font-size: 0.8rem;
      color: var(--c-white-muted);
      line-height: 1.6;
    }

    /* Contact - split with image */
    .mk-contact-wrap {
      display: grid;
      grid-template-columns: 0.9fr 1.1fr;
      gap: 0;
      border: 1px solid rgba(174,0,0,0.25);
      background: var(--c-dark);
      overflow: hidden;
    }

    .mk-contact__photo {
      position: relative;
      min-height: 100%;
      overflow: hidden;
    }

    .mk-contact__photo img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .mk-contact__photo::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(10,10,10,0.15) 0%, rgba(10,10,10,0.55) 100%);
    }

    .mk-contact__body {
      padding: 3rem 2.5rem;
      display: flex;
      flex-direction: column;
      gap: 2rem;
      justify-content: center;
    }

    .mk-contact__headline {
      font-family: var(--ff-display);
      font-size: clamp(1.4rem, 2.6vw, 2.1rem);
      font-weight: 700;
      text-transform: uppercase;
      line-height: 1.05;
    }

    .mk-contact__headline span { color: var(--c-red-text, var(--c-red)); }

    .mk-contact__details {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.25rem 1.5rem;
    }

    .mk-contact__item {
      font-size: 0.85rem;
      color: var(--c-white);
    }

    .mk-contact__item strong {
      color: var(--c-red-text, var(--c-red));
      font-family: var(--ff-heading);
      font-size: 0.7rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      display: block;
      margin-bottom: 0.3rem;
      font-weight: 600;
    }

    /* Site footer (cohérent autres pages) */
    .site-footer {
      border-top: 1px solid rgba(174,0,0,0.15);
      padding: 3rem 2rem 2.5rem;
      background: #060606;
      margin-top: 4rem;
    }

    .site-footer__inner {
      max-width: 1080px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 2rem;
      flex-wrap: wrap;
    }

    .site-footer__brand {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .site-footer__brand img { height: 24px; width: auto; opacity: 0.8; }

    .site-footer__tagline {
      font-family: var(--ff-heading);
      font-size: 0.72rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--c-white-muted);
    }

    .site-footer__links {
      display: flex;
      gap: 1.5rem;
      flex-wrap: wrap;
    }

    .site-footer__link {
      font-family: var(--ff-heading);
      font-size: 0.6875rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: #777;
      text-decoration: none;
      transition: color 0.2s;
    }
    .site-footer__link:hover { color: var(--c-red-text, var(--c-red)); }

    .site-footer__meta {
      width: 100%;
      max-width: 1080px;
      margin: 1.75rem auto 0;
      padding-top: 1.5rem;
      border-top: 1px solid rgba(255,255,255,0.05);
      font-family: var(--ff-heading);
      font-size: 0.6875rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #555;
      text-align: center;
    }

    .site-footer__meta span { color: var(--c-red-text, var(--c-red)); }

    /* Separator */
    .mk-sep {
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(174,0,0,0.6), transparent);
      margin: 4rem 0;
    }

    /* Print styles */
    @media print {
      .global-nav, .print-bar, .site-footer { display: none; }
      body { background: #fff; color: #111; }
      .mk { padding-top: 0; }
      .mk-cover { min-height: auto; }
      .mk-why-photo { position: static; }
      :root {
        --c-black: #ffffff;
        --c-dark: #f5f5f5;
        --c-dark-card: #eeeeee;
        --c-white: #111111;
        --c-white-muted: #555555;
        --c-red: #8a0000;
        --c-red-dim: rgba(138,0,0,0.1);
        --c-gold: #8a6a20;
      }
      .mk-section { page-break-inside: avoid; }
    }

    @media (max-width: 900px) {
      .mk-cover { grid-template-columns: 1fr; gap: 2.5rem; min-height: auto; padding: 2rem 0 3rem; }
      .mk-cover__photo { max-width: 420px; order: -1; }
      .mk-why-wrap { grid-template-columns: 1fr; gap: 2rem; }
      .mk-why-photo { position: static; max-width: 380px; }
      .mk-contact-wrap { grid-template-columns: 1fr; }
      .mk-contact__photo { aspect-ratio: 16/10; min-height: 0; }
      .mk-contact__photo img { position: relative; }
    }

    @media (max-width: 640px) {
      .global-nav { padding: 0.9rem 1.2rem; }
      .global-nav__links { gap: 1rem; }
      .global-nav__link--cta { display: none; }
      .print-bar { padding: 0.6rem 1.2rem; font-size: 0.6875rem; }
      .mk { padding: 2.5rem 1.2rem 3rem; }
      .mk-cover__meta { grid-template-columns: 1fr; gap: 1.25rem; }
      .mk-stats { grid-template-columns: 1fr; }
      .mk-platforms { grid-template-columns: 1fr; }
      .mk-formats { grid-template-columns: 1fr 1fr; }
      .mk-brands-grid { grid-template-columns: repeat(2, 1fr); }
      .mk-audience { grid-template-columns: 1fr; gap: 2.5rem; }
      .mk-why { grid-template-columns: 1fr; }
      .mk-contact__body { padding: 2rem 1.5rem; }
      .mk-contact__details { grid-template-columns: 1fr; }
      .site-footer__inner { flex-direction: column; align-items: flex-start; }
    }

    @media (max-width: 480px) {
      .mk-formats { grid-template-columns: 1fr; }
      .mk-brands-grid { grid-template-columns: 1fr; }
    }

    /* ==================================================
       MEDIAKIT - DA cohérente forbrands (hero éditorial)
       Classes .be-* importées du système forbrands magazine cover
       ================================================== */
    .brands-hero--editorial {
      background: #ffffff !important;
      color: #0a0a0a !important;
      padding: 0 !important;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      position: relative;
      overflow: hidden;
    }

    /* MASTHEAD top bar */
    .be-masthead {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 1.25rem 2.5rem;
      border-bottom: 1px solid rgba(0, 0, 0, 0.08);
      font-family: 'Oswald', sans-serif;
      font-size: 0.6875rem;
      font-weight: 500;
      letter-spacing: 0.35em;
      text-transform: uppercase;
      color: #555;
      flex-shrink: 0;
    }
    .be-masthead__left { display: flex; align-items: center; gap: 0.6rem; }
    .be-masthead__sep { color: #ccc; }
    .be-masthead__center { text-align: center; }
    .be-masthead__title {
      font-family: 'Benzin', 'Oswald', sans-serif;
      font-weight: 800;
      letter-spacing: 0.5em;
      color: #0a0a0a;
      font-size: 0.72rem;
    }
    .be-masthead__right {
      display: flex; align-items: center; gap: 0.55rem;
      justify-content: flex-end;
      color: #444;
    }
    .be-masthead__dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: #16a34a;
      box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.5);
      animation: bePulse 2.5s ease-in-out infinite;
    }
    @keyframes bePulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.6); }
      50% { box-shadow: 0 0 0 6px rgba(22, 163, 74, 0); }
    }

    .be-wrap {
      flex: 1;
      display: grid;
      grid-template-columns: 1.05fr 1fr;
      gap: 0;
      max-width: 1480px;
      width: 100%;
      margin: 0 auto;
      padding: 0;
      align-items: stretch;
      min-height: calc(100vh - 60px);
      position: relative;
    }
    .be-wrap::after {
      content: '';
      position: absolute;
      top: 8%; bottom: 8%;
      left: calc(1.05 / 2.05 * 100%);
      width: 1px;
      background: linear-gradient(180deg, transparent 0%, rgba(174, 0, 0, 0.4) 50%, transparent 100%);
    }

    .be-content {
      padding: clamp(2.5rem, 6vw, 5rem) clamp(2rem, 4vw, 4rem) clamp(2rem, 5vw, 4rem) clamp(2.5rem, 6vw, 5.5rem);
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 0;
    }
    .be-eyebrow {
      font-family: 'Oswald', sans-serif;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.35em;
      text-transform: uppercase;
      color: var(--c-red-text, #ae0000);
      margin-bottom: 2rem;
      display: inline-block;
      position: relative;
      padding-left: 2.5rem;
    }
    .be-eyebrow::before {
      content: '';
      position: absolute;
      left: 0; top: 50%;
      width: 1.8rem; height: 1px;
      background: #ae0000;
    }
    .be-title {
      font-family: 'Benzin', 'Oswald', sans-serif;
      font-size: clamp(2.8rem, 6vw, 5.2rem);
      font-weight: 800;
      line-height: 0.96;
      letter-spacing: -0.02em;
      color: #0a0a0a;
      margin: 0 0 1.8rem;
    }
    .be-title__accent {
      font-style: normal;
      position: relative;
      color: var(--c-red-text, #ae0000);
      padding: 0 0.05em;
    }
    .be-title__accent::after {
      content: '';
      position: absolute;
      bottom: 0.06em; left: 0; right: 0;
      height: 0.12em;
      background: rgba(174, 0, 0, 0.18);
      z-index: -1;
    }
    .be-deck {
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(1rem, 1.4vw, 1.18rem);
      font-weight: 400;
      line-height: 1.65;
      color: #333;
      max-width: 50ch;
      margin: 0 0 2.5rem;
    }

    .be-cta-row {
      display: flex;
      gap: 0.8rem;
      flex-wrap: wrap;
      margin-bottom: 3rem;
    }
    .be-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
      padding: 1.05rem 1.8rem;
      font-family: 'Oswald', sans-serif;
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      border-radius: 0;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      cursor: pointer;
    }
    .be-btn--primary {
      background: #0a0a0a;
      color: #fff;
      border: 1px solid #0a0a0a;
    }
    .be-btn--primary svg { width: 14px; height: 14px; transition: transform 0.3s; }
    .be-btn--primary:hover {
      background: #ae0000;
      border-color: #ae0000;
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(174, 0, 0, 0.18);
    }
    .be-btn--primary:hover svg { transform: translateX(4px); }
    .be-btn--ghost {
      background: transparent;
      color: #0a0a0a;
      border: 1px solid rgba(0, 0, 0, 0.18);
    }
    .be-btn--ghost:hover {
      border-color: #0a0a0a;
      background: #0a0a0a;
      color: #fff;
    }

    .be-specs {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem 2rem;
      padding-top: 2rem;
      border-top: 1px solid rgba(0, 0, 0, 0.08);
      max-width: 540px;
    }
    .be-spec { display: flex; flex-direction: column; gap: 0.35rem; }
    .be-spec__num {
      font-family: 'Benzin', 'Oswald', sans-serif;
      font-size: clamp(1.6rem, 2.5vw, 2.2rem);
      font-weight: 700;
      line-height: 1;
      color: #0a0a0a;
      letter-spacing: -0.01em;
    }
    .be-spec__num--red { color: var(--c-red-text, #ae0000); }
    .be-spec__plus { color: var(--c-red-text, #ae0000); font-weight: 800; margin-left: 0.05em; }
    .be-spec__label {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.72rem;
      font-weight: 500;
      color: #555;
      line-height: 1.4;
      letter-spacing: 0.02em;
    }

    .be-cover {
      position: relative;
      padding: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 4rem) clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 3rem);
      display: flex;
      flex-direction: column;
      align-items: stretch;
      justify-content: center;
      gap: 1.5rem;
    }
    .be-cover__figure {
      position: relative;
      aspect-ratio: 4 / 5;
      max-height: 80vh;
      overflow: hidden;
      margin: 0;
      box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12);
    }
    .be-cover__figure img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center;
      transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .be-cover__figure:hover img { transform: scale(1.03); }
    .be-cover__caption {
      position: absolute;
      bottom: 1.5rem; left: 1.5rem; right: 1.5rem;
      padding: 0.9rem 1.1rem;
      background: rgba(255, 255, 255, 0.96);
      backdrop-filter: blur(8px);
      border-left: 2px solid #ae0000;
      display: flex;
      flex-direction: column;
      gap: 0.1rem;
    }
    .be-cover__caption-line {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.6875rem;
      color: #666;
      letter-spacing: 0.02em;
    }
    .be-cover__caption-line--bold {
      font-family: 'Benzin', 'Oswald', sans-serif;
      font-weight: 700;
      font-size: 0.9rem;
      color: #0a0a0a;
    }
    .be-cover__caption-line--small {
      font-size: 0.6875rem;
      color: #888;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin-top: 0.15rem;
    }
    .be-cover__barcode {
      display: flex; gap: 1.5px; align-items: flex-end;
      height: 22px; margin-top: 0.5rem; padding-left: 0.1rem;
    }
    .be-cover__barcode span {
      width: 2px; background: #0a0a0a; height: 100%;
    }
    .be-cover__barcode span:nth-child(2n) { width: 3px; height: 80%; }
    .be-cover__barcode span:nth-child(3n) { width: 1px; }
    .be-cover__barcode span:nth-child(4n) { width: 4px; height: 90%; }
    .be-cover__barcode span:nth-child(5n) { background: #ae0000; }
    .be-cover__price {
      font-family: 'Oswald', sans-serif;
      font-size: 0.6875rem; font-weight: 600;
      letter-spacing: 0.4em; text-transform: uppercase;
      color: #888; align-self: flex-end;
      margin-top: -1.4rem;
    }

    /* Utility */
    .txt-positive { color: #16a34a; font-weight: 600; }

    @media (max-width: 1024px) {
      .be-wrap { grid-template-columns: 1fr; min-height: auto; }
      .be-wrap::after { display: none; }
      .be-content { padding: 3rem 2rem 2rem; }
      .be-cover { padding: 0 2rem 3rem; align-items: center; }
      .be-cover__figure { max-width: 480px; width: 100%; }
    }
    @media (max-width: 768px) {
      .be-masthead { padding: 1rem 1.25rem; font-size: 0.6875rem; letter-spacing: 0.25em; }
      .be-masthead__sep, .be-masthead__date { display: none; }
      .be-content { padding: 2.5rem 1.25rem 2rem; }
      .be-title { font-size: clamp(2.2rem, 9vw, 3.5rem); }
      .be-deck { font-size: 0.95rem; }
      .be-cta-row { flex-direction: column; gap: 0.6rem; }
      .be-btn { width: 100%; justify-content: center; }
      .be-specs { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
      .be-cover { padding: 0 1.25rem 2.5rem; }
    }
    @media (max-width: 480px) {
      .be-specs { grid-template-columns: 1fr; }
      .be-masthead { grid-template-columns: 1fr; gap: 0.4rem; text-align: center; }
      .be-masthead__left, .be-masthead__right { justify-content: center; }
    }

/* ---------- bloc 2 d'origine ---------- */
@font-face{font-family:'Benzin';src:url('/assets/fonts/Benzin-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:optional}
@font-face{font-family:'Benzin';src:url('/assets/fonts/Benzin-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:optional}
.as-logo{display:inline-flex;align-items:center;font-family:'Benzin','Oswald','Montserrat',sans-serif;font-weight:800;font-size:1.02rem;letter-spacing:.01em;text-transform:uppercase;color:#f5f5f5;text-decoration:none;line-height:1;white-space:nowrap;height:auto!important;width:auto!important;padding:0;background:none;border:0}
.as-logo:hover{filter:brightness(1.15)}
.footer__logo.as-logo{font-size:1.3rem;opacity:1}
.as-logo--sm{font-size:.9rem}
@media(max-width:560px){.as-logo{font-size:.96rem;letter-spacing:.01em}}

/* ---------- bloc 3 d'origine ---------- */
#tarifs .mk-format__num{font-family:var(--ff-heading);font-size:.85rem;line-height:1.4;color:var(--c-white-muted);letter-spacing:.08em;text-transform:uppercase;opacity:1}
#tarifs .mk-format__name{font-size:clamp(1.8rem,4vw,2.4rem);color:var(--c-white);line-height:1.2;margin:.6rem 0 .9rem}
#tarifs .mk-format__desc{font-size:.9rem}
#tarifs .mk-tarifs-note{margin-top:1.2rem;font-size:.88rem;color:var(--c-white-muted)}
#tarifs .mk-tarifs-note a{color:var(--c-white);text-underline-offset:.2em}

/* ---------- bloc 4 d'origine ---------- */
.eco-footer{background:#070707;border-top:1px solid rgba(205,168,92,.18);padding:3rem 1.25rem 2.4rem;font-family:'Montserrat',system-ui,sans-serif}
.eco-footer__in{max-width:1180px;margin:0 auto;display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:760px){.eco-footer__in{grid-template-columns:1.1fr 3fr}}
.eco-footer__logo{display:block;font-family:'Benzin','Oswald',sans-serif;font-weight:700;letter-spacing:.16em;font-size:.92rem;color:#f5f5f5;text-transform:uppercase}
.eco-footer__tag{display:block;margin-top:.5rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#cda85c}
.eco-footer__cols{display:grid;gap:1.6rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.eco-footer__cols{grid-template-columns:repeat(4,1fr)}}
.eco-footer__h{display:block;font-family:'Oswald',sans-serif;font-size:0.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#cda85c;margin-bottom:.7rem}
.eco-footer__col a{display:block;color:rgba(245,245,245,.62);text-decoration:none;font-size:.86rem;line-height:1.5;padding:.18rem 0;transition:color .2s}
.eco-footer__col a:hover{color:#f5f5f5}

/* ---------- bloc 5 d'origine ---------- */
#as-cookie{position:fixed;left:0;right:0;bottom:0;z-index:99990;display:none;background:#0a0a0a;border-top:1px solid rgba(205,168,92,.35);box-shadow:0 -12px 36px rgba(0,0,0,.55);padding:20px 18px;padding-bottom:calc(20px + env(safe-area-inset-bottom));font-family:'Montserrat',system-ui,Arial,sans-serif;color:#cfcabf}
#as-cookie .asc-in{max-width:1080px;margin:0 auto;display:flex;gap:16px 26px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#as-cookie .asc-txt{max-width:680px}
#as-cookie .asc-kick{display:block;font-family:'Oswald',sans-serif;font-size:0.6875rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#cda85c;margin-bottom:.4rem}
#as-cookie p{margin:0;font-size:.85rem;line-height:1.6;letter-spacing:.01em}
#as-cookie a{color:#cda85c;text-decoration:underline;text-underline-offset:2px}
#as-cookie .asc-btns{display:flex;gap:10px;flex:0 0 auto}
#as-cookie button{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600;padding:.75rem 1.4rem;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:.2s ease}
#as-cookie .asc-ok{background:#ae0000;color:#f5f5f5;border-color:#ae0000}
#as-cookie .asc-ok:hover{background:#c40000;border-color:#c40000;box-shadow:0 0 24px rgba(174,0,0,.35)}
#as-cookie .asc-no{background:transparent;color:#cfcabf;border-color:rgba(255,255,255,.2)}
#as-cookie .asc-no:hover{border-color:#cda85c;color:#cda85c}
@media(max-width:560px){#as-cookie .asc-in{flex-direction:column;align-items:stretch}#as-cookie .asc-btns{justify-content:flex-end}}

