:root {
  --p-bg:#f3f1ea; --p-surface:#e7e4d8; --p-ink:#1b1d1a; --p-muted:#646561;
  --p-accent:#0d5a36; --p-accent-ink:#f3f1ea; --p-action:#0d5a36; --p-action-ink:#f3f1ea;
  --p-inv-bg:#1b1d1a; --p-inv-surface:#272926; --p-inv-ink:#f3f1ea; --p-inv-muted:#999993;
  --p-inv-accent:#f3f1ea; --p-inv-accent-ink:#1b1d1a; --p-inv-action:#f3f1ea; --p-inv-action-ink:#1b1d1a;
  --font-display:"Schibsted Grotesk", system-ui, sans-serif; --font-text:"Schibsted Grotesk", system-ui, sans-serif;
  --display-weight:400; --display-tracking:-0.035em; --display-tracking-xl:-0.042em; --ly-scale:0.98;
}
/* page CSS : seulement l'intérieur des visuels */
.press-card { display: inline-flex; align-items: center; gap: 8px; font-size: var(--t-small); font-weight: 500; }
.press-card::before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: currentColor; }
.logos img { height: 40px; width: auto; border-radius: 6px; }
.family .panel { --p-h: 300px; }
.family .frame__img { object-fit: cover; object-position: 50% 35%; }
.family ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--t-small); }
.family ul a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.career__photo { position: relative; overflow: hidden; border-radius: var(--r-lg); height: min(640px, var(--ly-fit, 640px)); }
.career__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.rows .rows__name small { display: block; font-weight: 400; color: var(--muted); font-size: var(--t-small); }
.rows .rows__value { color: var(--muted); font-size: var(--t-small); white-space: nowrap; }
.contact-side { display: grid; gap: var(--s-5); align-content: start; }
.contact-side a { color: var(--accent); }
.contact-social { display: flex; gap: var(--s-5); margin: 0; }
.contact-social a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
.contact__photo { position: relative; overflow: hidden; border-radius: var(--r-lg); height: clamp(220px, 32vh, 320px); }
.contact__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.hero__link { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 4px; font-weight: 500; }
.press-card::before { margin-left: -16px; }
@media (max-width: 639px) { .family .panel { --p-h: 200px; } .family ul a { display: inline-flex; align-items: center; min-height: 44px; } .contact__photo { height: 150px; } #parcours .career__photo { aspect-ratio: 16 / 10; margin-top: var(--s-5); } #contact .form textarea { min-height: 96px; } .closing .btn--xl { white-space: normal; max-width: 100%; } }
#chiffres, #histoire, #contact { display: grid; align-content: center; }
#chiffres .wrap { display: grid; gap: clamp(40px, 5vw, 72px); }
#chiffres .stats .t-stat { font-size: clamp(30px, 2vw + 20px, 52px); letter-spacing: -0.02em; font-variant-numeric: normal; white-space: nowrap; }
#chiffres .logos { gap: 24px 32px; justify-content: space-between; }
#chiffres .logos img { height: 40px; }
#chiffres .logos .wordmark { font-size: 20px; }
#histoire .mo-wh__text { font-size: clamp(30px, 2.4vw + 12px, 52px); max-width: 22ch; }
#histoire .grid { align-items: center; }
.story__photo { height: min(600px, 66vh); }
.form .field:has(textarea) { grid-column: 1 / -1; }
@media (max-width: 639px) { #chiffres .logos .wordmark { white-space: normal; font-size: 18px; } }
@media (max-width: 1023px) { .career__photo { height: auto; aspect-ratio: 4 / 5; margin-top: var(--s-7); } }

/* ---------- pages intérieures ---------- */
.crumbs { font-size: var(--t-small); color: var(--muted); display: flex; flex-wrap: wrap; gap: 6px; }
.crumbs a { color: var(--muted); }
.crumbs [aria-current] { color: var(--ink); }
.hero-visual { position: relative; min-height: 0; }
.hero-split .hero-visual .vthumb--hero, .hero-split .hero-visual > .frame { height: 100%; }
.hero-split .hero-visual > .frame { border-radius: var(--r-lg); overflow: hidden; }
.mag-hero .frame__img { object-fit: contain; background: var(--surface); }

/* vignette vidéo : affiche, disque de lecture, durée */
.vthumb { position: relative; display: block; overflow: hidden; border-radius: var(--r-md, 14px); aspect-ratio: 16 / 9; background: var(--surface); color: #fff; }
.vthumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.vthumb:hover img { transform: scale(1.03); }
.vthumb__play { position: absolute; left: 14px; bottom: 14px; width: 44px; height: 44px; border-radius: 99px; background: #f3f1ea; color: #1b1d1a; display: grid; place-items: center; }
.vthumb__play svg { width: 16px; height: 16px; margin-left: 2px; }
.vthumb__time { position: absolute; right: 12px; bottom: 14px; padding: 4px 8px; border-radius: 6px; background: rgba(27,29,26,.82); font-size: 13px; font-weight: 500; }
.vthumb--hero { aspect-ratio: auto; height: 100%; min-height: 360px; border-radius: var(--r-lg); }
.vthumb--hero .vthumb__play { left: 24px; bottom: 24px; width: 64px; height: 64px; }
.vthumb--hero .vthumb__play svg { width: 22px; height: 22px; }
.vthumb__label { position: absolute; left: 100px; bottom: 24px; right: 24px; max-width: 420px; padding: 10px 14px; border-radius: 10px; background: rgba(27,29,26,.86); font-weight: 500; line-height: 1.3; }
.vthumb__label small { display: block; font-weight: 400; font-size: 13px; color: #c9c9c2; margin-top: 2px; }
.vgrid { display: grid; gap: var(--s-6) var(--gutter); }
.vgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vgrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vcard { display: grid; gap: var(--s-2); align-content: start; }
.vcard .vthumb { margin-bottom: var(--s-2); }
.vcard__kicker { margin: 0; font-size: 13px; color: var(--muted); }
.vcard__title { margin: 0; font: 500 16px/1.35 var(--font-text); letter-spacing: 0; }
.vcard[data-todo] .vcard__title { color: #a14b1c; }
@media (max-width: 1023px) { .vgrid--4, .vgrid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .vgrid--4, .vgrid--3 { grid-template-columns: 1fr; } .vthumb__label { left: 80px; } .vthumb--hero { min-height: 220px; aspect-ratio: 16 / 10; height: auto; } .vthumb--hero .vthumb__play { left: 16px; bottom: 16px; width: 52px; height: 52px; } .vthumb__label { bottom: 16px; right: 16px; } }

/* documents PDF */
.dgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 360px)); gap: var(--s-7) var(--gutter); }
.dgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dcard { display: grid; gap: var(--s-2); align-content: start; }
.dcard__img { display: block; overflow: hidden; border-radius: var(--r-md, 14px); aspect-ratio: 3 / 4; background: var(--surface); margin-bottom: var(--s-2); }
.dcard__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.dcard__img:hover img { transform: scale(1.03); }
.dcard .link { color: var(--accent); font-size: var(--t-small); font-weight: 500; }
@media (max-width: 1023px) { .dgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .dgrid, .dgrid--4 { grid-template-columns: 1fr 1fr; gap: var(--s-6) 16px; } }

/* pages auteur */
.author { display: grid; gap: var(--s-2); align-content: start; padding: var(--s-6); }
.author img { height: 44px; width: auto; justify-self: start; border-radius: 6px; margin-bottom: var(--s-4); }
.author__name { font-weight: 500; font-size: 18px; }
.author__meta { color: var(--muted); font-size: var(--t-small); }

/* autres rubriques */
.sib { display: grid; gap: var(--s-1); padding: 0; background: none; border: 0; }
.sib__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-md, 14px); background: #fff; margin-bottom: var(--s-3); }
.sib__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.sib[href*="presse-web"] .sib__img img { object-fit: contain; padding: 18%; }
.sib:hover .sib__img img { transform: scale(1.03); }
.sib__fam { font-size: 13px; color: var(--muted); }
.sib__name { font-weight: 500; font-size: 18px; }

/* lignes : valeur sur deux niveaux */
.rows .rows__value small { display: block; text-align: right; font-size: 12px; }

/* article long */
.prose { font-size: 18px; line-height: 1.65; }
.prose p { margin: 0 0 1.1em; max-width: 68ch; }
.prose h2 { font-size: 28px; margin: 1.6em 0 .6em; }
.prose .pull { margin: 1.6em 0; padding-left: var(--s-6); border-left: 3px solid var(--accent); font: 400 26px/1.35 var(--font-display); letter-spacing: -0.01em; color: var(--accent); }
.prose .byline { color: var(--muted); font-size: var(--t-small); }
.prose a { color: var(--accent); }
.planche { width: 100%; height: auto; border-radius: var(--r-lg); }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.tags span { padding: 6px 12px; border-radius: 99px; background: var(--bg); font-size: 14px; }
[data-todo] { outline: 2px dashed #c4682f; outline-offset: 6px; }
.section.auto-h { height: auto !important; min-height: 0 !important; }
.launched { margin-top: var(--s-8); align-items: start; }
.launched h3 { font-size: 24px; margin: 0; }

/* en-tête : bloc de présentation transparent, opacité de 100 % (gauche) à 40 % (droite) — demande du client */
.hero--film .hero__over > :first-child {
  background: linear-gradient(100deg, rgb(27 29 26 / 1) 0%, rgb(27 29 26 / .78) 45%, rgb(27 29 26 / .4) 100%);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
@media (max-width: 1023px) {
  .hero--film .hero__over > :first-child { background: linear-gradient(180deg, rgb(27 29 26 / .4) 0%, rgb(27 29 26 / .78) 40%, rgb(27 29 26 / 1) 100%); }
}
