/* ════════════════════════════════════════════════════
   Carrières TAT : thème (chargé après site.css)
   Fond blanc, encre brun-noir, rouge brique ; un pas de ton (--ivory2) sépare les surfaces.
   Titres Source Serif 4, texte Inter. Cinq tailles de texte.
   Règles : pas d'étiquette au-dessus des titres, pas de numérotation décorative, pas de filet
   ni de cadre d'1 px (sauf tableaux et champs), pas d'ombre au repos, pas de dégradé (sauf voile sur photo).
══════════════════════════════════════════════════════ */
:root{
  --cin:#C42B21;--cin-d:#A32118;--cin-soft:#E5B2A9;
  --ivory:#FFFFFF;--ivory2:#F1F1EF;--ivory3:#E8E7E4;--paper:#FFFFFF;
  --ink:#231E1B;--mu:#4F4741;--mu2:#8C837B;
  --bd:#CFC7BC;--bd-l:#E3E1DD;
  --on-ink:#EEEDEA;--on-ink-mu:#C9C4BE;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --mono:var(--sans);
  --maxw:1120px;
  --gutter:max(6vw, calc((100% - var(--maxw)) / 2));

  --fs-display:clamp(2.6rem,6vw,5.75rem);
  --fs-h2:clamp(2rem,3.2vw,2.75rem);
  --fs-h3:clamp(1.3rem,1.9vw,1.6rem);
  --fs-body:1.0625rem;
  --fs-small:.875rem;
  --gap-section:clamp(5rem,9vw,8rem);
}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.6;font-weight:400}
::selection{background:var(--cin);color:#fff}
:focus-visible{outline:2px solid var(--cin);outline-offset:3px}
strong{font-weight:600}

/* ── Titres : serif, graisse normale ── */
h1,h2,h3,h4,.section-title,.hero-title,.subhead h1,.posts-content h3,.spont-block h4,.app-intro,
.appr-lieu-name,.appr-tl-title,.mm-card-title,.tl-content-title,.quality-title,.hub-card h3,
.cta-final-text h2,.tpt-name,.tpt-m-name,.appr-hero-video-title,.appr-tl-path-name,.job-title,.prog-title,.ft-title,.mm-sub{
  font-family:var(--serif)!important;font-weight:400!important;letter-spacing:-.015em!important;text-wrap:balance;
  font-variation-settings:"opsz" 60
}
h1 em,h2 em,h3 em,h4 em{font-style:normal;color:inherit}
.section-title{font-size:var(--fs-h2);line-height:1.08;color:var(--ink)}
h3,.posts-content h3,.spont-block h4,.app-intro,.appr-lieu-name,.appr-tl-title,.mm-card-title,.hub-card h3,.prog-title,.ft-title,.mm-sub,.tpt-m-name,.job-title{font-size:var(--fs-h3);line-height:1.2}

/* ── Petites mentions : casse normale, taille lisible ── */
.hero-h1,.appr-hero-video-label,.app-intro-text,.qa-q,.tpt-tag,.tpt-m-sub,.hub-card-sub,
.keyfact dt,.cfc-item-label,.si-label,.appr-tl-year,.appr-tl-block-label,.mm-card-num,.prog-day,.tl-num,
.appr-lieu-sub,.see-also small,.salary-table th,.contact-info-block dt,.crumbs,.tcb-title,.prog-sub-title,.prog-facts dt,.ft-sub,.sub-label{
  font-family:var(--sans)!important;letter-spacing:0!important;text-transform:none!important
}
.hub-card-sub,.prog-sub-title,.mm-card-num,.appr-tl-year,.tpt-m-sub,.ft-sub,.appr-lieu-sub{font-size:var(--fs-small);font-weight:600;color:var(--cin)}
.keyfact dt,.cfc-item-label,.si-label,.appr-tl-block-label,.prog-facts dt,.contact-info-block dt,.salary-table th{font-size:var(--fs-small);font-weight:600;color:var(--mu)}
.sub-label{font-family:var(--serif)!important;font-size:var(--fs-h3);font-weight:400;color:var(--ink);margin:0 0 .75rem;text-align:left;caption-side:top}

/* ── Texte courant en encre pleine, 60 caractères ── */
.section-lead,.section-grid p,.subhead-lead,.hero-desc,.faq-a,.prose p,.prose li,.appr-lieux-head p,.appr-tl-head p,
.posts-content p,.spont-block p,.app-intro p,.mm-card-desc,.prog-desc,.appr-lieu-desc,.appr-tl-tagline,.appr-tl-after-content p,
.quality-desc,.tl-content-desc,.cfc-item-sub,.prog-txt,.job-empty,.pe-cta-row p{
  color:var(--ink);font-size:var(--fs-body);font-weight:400;line-height:1.6
}
.section-lead,.section-grid p,.subhead-lead,.hero-desc,.faq-a,.appr-lieux-head p,.appr-tl-head p{max-width:60ch}
.section-lead{margin-top:0}
.cfc-item-sub,.appr-tl-tagline,.source-note,.mm-note,.job-meta,.footer-text{color:var(--mu)}
.source-note,.mm-note,.job-meta,.cfc-item-sub,.dropzone-hint,.dropzone-size,.cform-foot small,.contact-info-block small,.ccheck,.cfield-err{font-size:var(--fs-small)}
.source-note a,.faq-a a,.prose a,.cform-hint a,.ccheck a,.cform-status a{color:var(--cin);border-bottom:0;text-decoration:underline;text-underline-offset:3px}

/* ── Cadre des sections : espace, pas de filet ── */
.page-section{padding-top:var(--gap-section);padding-bottom:var(--gap-section);border-bottom:0;padding-left:var(--gutter);padding-right:var(--gutter)}
.section-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 4rem;align-items:end}
.divider{height:0;background:none;margin:2.5rem 0}
.intro-grid{align-items:center}
.intro-photo{overflow:hidden;background:var(--ivory2);aspect-ratio:16/9}
.intro-photo img{width:100%;height:100%;object-fit:cover}
section[style*="padding:64px 6vw"]{border-bottom:0!important;padding:var(--gap-section) var(--gutter) 0!important}
section[style*="padding:64px 6vw"] p{font-family:var(--serif);font-size:var(--fs-h3)!important;line-height:1.45!important;color:var(--ink)!important;max-width:34ch!important}

/* ── Boutons : à plat, angles droits ── */
.btn{border-radius:0;font-family:var(--sans);font-weight:600;font-size:var(--fs-body);padding:.85rem 1.6rem;letter-spacing:0;box-shadow:none}
.btn-cin{background:var(--cin);color:#fff}
.btn-cin:hover{background:var(--cin-d)}
.btn-outline,.btn-ghost,.link-line{background:transparent;color:var(--ink);border:0;border-radius:0;padding:.85rem .1rem;box-shadow:none;
  font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.btn-outline:hover,.btn-ghost:hover,.link-line:hover{color:var(--cin);background:transparent}
.link-arrow{border-bottom:0;font-weight:600;color:var(--cin);font-size:var(--fs-body)}
.link-arrow:hover{gap:.8rem}
.spring-btn:active{transform:scale(.97)}
.spring-btn.spring-animate{animation:none}

/* ── Barre de navigation rouge ── */
.nav{background:var(--cin);border-bottom:0;padding-left:max(6vw, calc((100% - 1240px) / 2));padding-right:max(6vw, calc((100% - 1240px) / 2))}
.nav-links a{color:rgba(255,255,255,.92);font-weight:500;font-size:.9rem}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff}
.nav-links a::after{background:#fff!important;height:1.5px}
.nav-cta .btn{padding:.5rem 1.1rem;font-size:.9rem;border-radius:0}
.nav-cta .btn-ghost{color:#fff;text-decoration:none;background:rgba(255,255,255,.12);font-weight:600}
.nav-cta .btn-ghost:hover{color:#fff;background:rgba(255,255,255,.2)}
.nav-cta .btn-white,.nav-cta .btn-cin{background:#fff;color:var(--cin)}
.nav-cta .btn-white:hover,.nav-cta .btn-cin:hover{background:var(--ivory2);color:var(--cin-d)}
.nav-burger{border-color:rgba(255,255,255,.45);border-radius:0}
.nav-burger span{background:#fff}
.nav a:focus-visible,.nav button:focus-visible{outline:2px solid #fff;outline-offset:3px}
#scrollProgress{background:#fff;box-shadow:none;height:2px}

/* ════════════════════════════════════════════
   HERO DE L'ACCUEIL : le titre en très grand, les mots-clés dessous
   ════════════════════════════════════════════ */
.hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4rem;align-items:center;min-height:auto;
  padding:calc(var(--nav-h) + 4rem) var(--gutter) 5rem}
.hero-left{padding:0}
.hero-title{font-size:var(--fs-display);line-height:1;letter-spacing:-.03em!important;color:var(--ink);margin-bottom:1.75rem}
.hero-title .hero-h1{display:block;margin-top:1.25rem;font-size:var(--fs-h3);line-height:1.3;font-weight:500;color:var(--cin);letter-spacing:0;max-width:30ch}
.hero-h1::before{display:none!important}
.hero-desc{max-width:52ch;margin-bottom:2.25rem}
.hero-ctas{display:flex;align-items:center;gap:1.5rem 2rem;flex-wrap:wrap}
.hero-right{position:relative;background:none;overflow:visible;align-self:stretch;min-height:440px}
.hero-photo{position:absolute;inset:0;overflow:hidden;background:var(--ivory2)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-stat{position:absolute;left:-1.25rem;bottom:-1.5rem;background:var(--ink);color:#fff;border:0;padding:1rem 1.35rem;z-index:2}
.hero-stat strong{display:block;font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.1}
.hero-stat span{display:block;font-size:var(--fs-small);color:var(--on-ink-mu);margin-top:.25rem}
@media(max-width:960px){
  .hero{grid-template-columns:1fr;gap:3rem;padding:calc(var(--nav-h) + 3rem) 6vw 4rem}
  .hero-right{display:block;min-height:0;aspect-ratio:4/3;margin:0 1.25rem 1.5rem}
}
@media(max-width:600px){.hero-right{margin:0 0 1.5rem .75rem}}

/* ════════════════════════════════════════════
   EN-TÊTE DES PAGES DÉDIÉES
   ════════════════════════════════════════════ */
.subhead{padding-top:calc(var(--nav-h) + 4.5rem);padding-bottom:4.5rem;border-bottom:0;padding-left:var(--gutter);padding-right:var(--gutter)}
.subhead-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem 4rem;align-items:end}
.subhead h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.025em!important}
.subhead h1 .h1-sub,.subhead h1 .h1-sub .fold-piece{font-family:var(--sans)}
.subhead h1 .h1-sub{display:block;margin-top:1rem;font-size:var(--fs-h3);line-height:1.3;font-weight:500;letter-spacing:0;color:var(--cin)}
.subhead--clear h1 .h1-sub{color:#fff}
.subhead-cta{gap:1.5rem;align-items:center;margin-top:1.75rem}
.subhead--video{position:relative;overflow:hidden;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.subhead-bg{position:absolute;inset:0;z-index:-1;background:var(--ivory2) url(../assets/mediamaticien-hero-poster.webp) center/cover no-repeat;pointer-events:none}
.subhead-bg video{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .6s ease}
.subhead-bg video.is-playing{opacity:1}
.subhead-bg::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.86)}
.subhead-bg--business{background-image:none}
.subhead-bg--emplois{background:var(--ink) url(../assets/emplois-hero-v2-poster.webp) center/cover no-repeat}
.subhead-bg--stage{background:var(--ink) url(../assets/stage-hero-v2-poster.webp) center/cover no-repeat}
.subhead-bg--appr{background:var(--ink) url(../assets/apprentissage-hero-first.webp) center/cover no-repeat}
.subhead-bg--med{background:var(--ink) url(../assets/mediamaticien-hero-2-first.webp) center/cover no-repeat}
@media(max-width:768px){
  .subhead-bg--emplois{background-image:url(../assets/emplois-hero-v2-mobile-poster.webp)}
  .subhead-bg--stage{background-image:url(../assets/stage-hero-v2-mobile-poster.webp)}
  .subhead-bg--appr{background-image:url(../assets/apprentissage-hero-720-first.webp)}
}
/* Vidéo sous le texte blanc : un voile uni et sombre, pas d'ombre portée sur le texte */
.subhead--clear .subhead-bg::after{content:'';background:rgba(22,14,12,.58)}
.subhead--clear .crumbs,.subhead--clear .crumbs a,.subhead--clear .crumbs li+li::before,
.subhead--clear h1,.subhead--clear .subhead-lead,.subhead--clear .subhead-lead strong,.subhead--clear .btn-outline{color:#fff;text-shadow:none}
.subhead--clear .crumbs a:hover,.subhead--clear .btn-outline:hover{color:#fff}
.subhead--clear h1 em{filter:none}
@media(prefers-reduced-motion:reduce){.subhead-bg video{display:none}}
.crumbs{font-size:var(--fs-small);margin-bottom:2rem;color:var(--mu)}
.crumbs a{border-bottom:0;text-decoration:underline;text-underline-offset:3px}
.crumbs a:hover{color:var(--cin)}

/* ════════════════════════════════════════════
   CARTES DE L'ACCUEIL
   ════════════════════════════════════════════ */
.hub-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2.5rem}
.hub-card{background:none;border:0;border-radius:0;padding:0;color:var(--ink)}
.hub-card-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ivory2);margin-bottom:1.5rem}
.hub-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.hub-card:hover .hub-card-img img{transform:scale(1.04)}
.hub-card h3{margin-bottom:.35rem}
.hub-card-sub{margin-bottom:.9rem}
.hub-card p{color:var(--ink);font-size:var(--fs-body);line-height:1.6}
.hub-card-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.1rem 0 1.25rem}
.hub-card-meta span{background:var(--ivory2);padding:.25rem .6rem;border-radius:0;font-size:var(--fs-small);font-weight:500;color:var(--ink)}
.hub-card-meta span::before{content:none}
.hub-card-go{border-top:0;padding-top:.5rem;color:var(--cin);font-weight:600;font-size:var(--fs-body)}

/* Cartes formations (accueil) */
.formation-teasers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.ft-card{display:flex;flex-direction:column;background:var(--ivory2);color:var(--ink);overflow:hidden}
.ft-card--dark{background:var(--ink);color:#fff}
.ft-img{position:relative;height:clamp(200px,20vw,260px);overflow:hidden;background:var(--ink)}
.ft-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.ft-card:hover .ft-img img{transform:scale(1.04)}
.ft-badge{position:absolute;left:1rem;top:1rem;background:var(--cin);color:#fff;padding:.3rem .7rem;font-size:var(--fs-small);font-weight:600}
.ft-card:not(.ft-card--dark) .ft-badge{background:var(--ink)}
.ft-body{padding:2rem;flex:1;display:flex;flex-direction:column;gap:.5rem}
.ft-card--dark .ft-title{color:#fff}
.ft-card--dark .ft-sub{color:#F08A80}
.ft-desc{flex:1;margin-top:.5rem}
.ft-card--dark .ft-desc{color:var(--on-ink)}
.ft-card--dark .ft-desc strong{color:#fff}
.ft-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.25rem;font-size:var(--fs-small);color:var(--mu)}
.ft-card--dark .ft-foot{color:var(--on-ink-mu)}
.ft-go{font-size:var(--fs-body);font-weight:600;color:var(--cin)}
.ft-card--dark .ft-go{color:#F08A80}
@media(max-width:860px){.formation-teasers{grid-template-columns:1fr}}

/* ════════════════════════════════════════════
   SÉLECTION EN QUATRE ÉTAPES (liste ordonnée, sans grands numéros)
   ════════════════════════════════════════════ */
.apply-callout{border:0;margin:0;padding:0;background:none;box-shadow:none;clip-path:none}
.apply-head{margin-bottom:2.5rem}
.apply-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;padding:0;counter-reset:step}
.apply-steps li{background:var(--ivory);border:0;padding:1.5rem 1.35rem;display:flex;flex-direction:column;gap:.35rem}
main > section:not([data-alt]) .apply-steps li{background:var(--ivory2)}
.apply-steps strong{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;color:var(--ink)}
.apply-steps li > span:last-child{font-size:var(--fs-body);color:var(--ink)}
.apply-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:0;margin-top:2.5rem;padding-top:0;color:var(--mu)}
.apply-help{margin-top:1.25rem;font-size:var(--fs-small);color:var(--mu)}
.apply-help a{color:var(--ink);box-shadow:none;text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.apply-steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.apply-steps{grid-template-columns:1fr}}

/* ════════════════════════════════════════════
   INFOS CLÉS, SALAIRES, LISTES
   ════════════════════════════════════════════ */
.keyfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;background:transparent;border:0;border-radius:0;overflow:visible}
.keyfact,.keyfact + .keyfact{background:var(--ivory2);border:0!important;padding:1.35rem 1.25rem}
.keyfact dd{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;margin-top:.35rem}
.keyfact dd small{font-family:var(--sans);font-size:var(--fs-small);color:var(--mu);margin-top:.4rem}
@media(max-width:960px){.keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.keyfacts{grid-template-columns:1fr}}
.salary-table{font-size:var(--fs-body)}
.salary-table th,.salary-table td{border-bottom-color:var(--bd-l)}
.salary-table td:last-child{font-family:var(--serif);font-weight:400;font-size:var(--fs-body)}
.cfc-item{border-top:0;padding-top:0}
.cfc-item-val{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2}
.req-list{gap:.6rem}
.req-list li{border-bottom:0;padding:0;font-size:var(--fs-body);grid-template-columns:18px 1fr}
.req-list li::before{content:"";width:.45rem;height:.45rem;background:var(--cin);margin-top:.6rem}
.req-list li span{color:var(--mu);font-weight:400}
.mm-card{background:var(--ivory2);border:0;border-radius:0}
.mm-card-tag{background:var(--ivory);border-radius:0;font-weight:500;font-size:var(--fs-small);color:var(--ink)}
.mm-card-tags{border-top:0;padding-top:.5rem}

/* Apprenti·e : citations */
.app-intro{margin-bottom:1.5rem}
.qa-block{border-top:0;padding-top:0;margin-top:1.5rem}
.qa-q{font-size:var(--fs-small);font-weight:600;color:var(--cin)}
.qa-a{font-family:var(--serif);font-style:normal;font-size:var(--fs-h3);line-height:1.4;color:var(--ink)}
.app-photo{border-radius:0}
.app-photo-caption{background:rgba(22,14,12,.72)}
.app-photo-caption .name{font-size:var(--fs-body)}
.app-photo-caption .role{font-size:var(--fs-small);color:var(--on-ink-mu)}

/* Trois lieux / frise / vidéo */
.appr-lieux{border:0;padding:0;margin:0}
.appr-lieux-trio{border-top:0;gap:.75rem}
.appr-lieu,.appr-lieu:last-child{background:var(--ivory2);border:0;padding:2rem}
.appr-lieu-name{margin-bottom:.4rem}
.appr-lieu-sub{margin-bottom:1rem}
.appr-lieu-rythme{border-top:0;padding-top:.5rem;font-size:var(--fs-body)}
.appr-lieu-rythme span{font-size:var(--fs-small)}
.appr-timeline{padding:0}
.appr-tl-track::before{width:3px;left:6px;background:var(--ivory3)}
.appr-tl-progress{width:3px;left:6px}
.appr-tl-item::before{border-color:var(--ink)}
.appr-tl-title{margin-bottom:.3rem}
.appr-tl-year{display:block;margin-bottom:1rem}
.appr-tl-tagline{font-style:normal}
.appr-tl-grid,.appr-tl-after-paths{border-top:0;padding-top:.5rem}
.appr-tl-block li{font-size:var(--fs-body)}
.appr-tl-block li::before{content:"";width:.4rem;height:.4rem;background:var(--cin);top:.65rem}
.appr-tl-after-content{background:var(--ivory2);border-radius:0}
.appr-tl-path-name{font-size:var(--fs-h3);line-height:1.2}
.appr-tl-path-desc{font-size:var(--fs-body);color:var(--ink)}
.appr-hero-video{background:var(--ink)}
.appr-hero-video-title{font-size:var(--fs-h2)}
.appr-hero-video-label,.appr-hero-video-title,.appr-hero-video-desc{text-shadow:none}
.appr-hero-video-divider{display:none}
@media(min-width:1600px){.appr-hero-video{border-radius:0}}

/* ── FAQ : lignes sur fond de ton ── */
.faq{border-top:0;display:flex;flex-direction:column;gap:.5rem}
.faq details{border-bottom:0;background:var(--ivory2)}
.faq summary{font-family:var(--sans)!important;font-weight:600!important;letter-spacing:0!important;font-size:var(--fs-body);padding:1.15rem 3rem 1.15rem 1.35rem}
.faq summary::after{right:1.25rem;font-family:var(--sans);font-weight:400;color:var(--ink)}
.faq summary:hover{background:var(--ivory3)}
.faq-a{padding:0 1.35rem 1.5rem}

/* ════════════════════════════════════════════
   AUTRES OPPORTUNITÉS : grande photo, titre au-dessus
   ════════════════════════════════════════════ */
.section-grid:has(> .see-also){grid-template-columns:minmax(0,1fr);gap:2.5rem}
.see-also{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.5rem;align-items:start}
.see-also a{border-radius:0;border:0;padding:0}
.see-also a:hover{transform:none}
.see-also strong{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2}
.see-also a:has(.see-also-img){display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.see-also a:has(.see-also-img) strong{order:1;align-self:end;margin-bottom:.25rem}
.see-also a:has(.see-also-img) small{order:2;margin-bottom:1rem;font-size:var(--fs-small);font-weight:600;color:var(--cin)}
.see-also-img{order:3;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--ivory2)}
.see-also-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.see-also a:hover .see-also-img img{transform:scale(1.04)}
.see-also a:hover strong{color:var(--cin)}
.see-also-img img[src*="apprentissage-hero-poster"]{object-position:22% center}
.see-also-img img[src*="emplois-collaboration-bureau"]{object-position:42% center}
@media(max-width:960px){
  .see-also{grid-template-columns:1fr;gap:0}
  .see-also a:has(.see-also-img){margin-bottom:2.5rem}
  .see-also a:has(.see-also-img) strong{align-self:start}
  .see-also-img{aspect-ratio:4/5}
}

/* ── Emplois, stage, contact ── */
.posts-photo,.stage-photo-main,.stage-photo-sm{border-radius:0}
.spont-block{border-top:0;padding-top:0}
.stage-infos{border:0;border-radius:0;gap:.5rem;background:none}
.si-item{border:0!important;background:var(--ivory2);padding:1rem 1.15rem}
.si-val{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;margin-top:.2rem}
.prog-row{border-bottom:0;padding:.9rem 1.15rem;background:var(--ivory2);margin-bottom:.4rem;grid-template-columns:6.5rem 1fr}
.prog-day{font-size:var(--fs-small);font-weight:600;color:var(--cin)}
.job-list{border-top:0;display:flex;flex-direction:column;gap:.5rem}
.job-item a,.job-empty{border-bottom:0;background:var(--ivory2);padding:1.25rem 1.35rem}
.prose h2{font-size:var(--fs-h3);line-height:1.2}

/* ── Formulaires ── */
.cform{background:var(--ivory2);border:0;border-radius:0;padding:clamp(1.5rem,4vw,2.5rem)}
.cfield label{font-size:var(--fs-small);font-weight:600}
.cfield input,.cfield select,.cfield textarea{background:#fff;border-color:var(--bd);border-radius:0;font-family:var(--sans)}
.cfield select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234F4741' stroke-width='1.6'/%3E%3C/svg%3E");background-position:calc(100% - 14px) 50%;background-size:12px 8px;background-repeat:no-repeat;padding-right:2.4rem}
.cfield input:focus,.cfield select:focus,.cfield textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink);box-shadow:none}
.cform-hint{background:var(--ivory);border-left:0;border-radius:0;font-size:var(--fs-small)}
.dropzone{border-radius:0;background:#fff;border:1px solid var(--bd)} /* taste-skill-ignore : zone de dépôt du formulaire */
.dropzone:focus-within{box-shadow:none;outline:2px solid var(--ink)}
.dropzone-text{font-size:var(--fs-body)}
.dropzone-drop{border-radius:0}
.cform-status{border-radius:0}
.contact-info-block dd{font-size:var(--fs-body)}
.contact-info-block a{border-bottom:0;text-decoration:underline;text-underline-offset:3px}

/* ── Témoignages stagiaires ── */
.tpt-cover,.tpt-open,.tpt-dialog{border-radius:0}
.tpt-shade{background:linear-gradient(180deg,rgba(22,14,12,0) 40%,rgba(22,14,12,.85) 100%)} /* taste-skill-ignore : voile neutre sous le texte de la photo */
.tpt-cover{background:var(--ink)}
.tpt-tag{font-size:var(--fs-small);font-weight:500;color:#fff}
.tpt-name{font-size:var(--fs-h3)}
.tpt-hook{font-size:var(--fs-body)}
.tpt-cta{border-top:0;padding-top:.25rem;font-size:var(--fs-small)}
.tpt-m-body{border-left:0}
.tpt-m-school{font-size:var(--fs-small)}
.tpt-dialog::backdrop{background:rgba(22,14,12,.6)}
@media(max-width:700px){.tpt-m-body{border-top:0}}

/* ── Bandeau final (fond de ton, distinct du pied de page sombre) ── */
.cta-final{background:var(--ivory2);padding:var(--gap-section) var(--gutter) 5rem}
.cta-final-text h2{color:var(--ink);font-size:var(--fs-h2);line-height:1.08;margin-bottom:.75rem}
.cta-final-text p{color:var(--ink);font-weight:400;font-size:var(--fs-body)}
.cta-final .btn-ghost{color:var(--ink)}
.cta-final .btn-ghost:hover{color:var(--cin)}
.cta-final-btns{align-items:center;gap:1.75rem}
.footer{background:var(--ink);border-top:0;display:block;padding:2.25rem var(--gutter) 2.5rem}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:1rem 2rem;flex-wrap:wrap;padding-bottom:1.25rem;border-bottom:0;margin-bottom:1.25rem}
.footer-brand{font-family:var(--serif);font-weight:400;color:#fff;font-size:var(--fs-body)}
.footer-mail{color:var(--on-ink-mu);font-size:var(--fs-small);transition:color .2s ease}
.footer-mail:hover{color:#fff}
.footer-place{font-family:var(--sans);font-size:var(--fs-small);letter-spacing:0;color:var(--on-ink-mu)}
.footer-links a,.footer-links .footer-cookies{font-size:var(--fs-small);color:#B5ACA4}
.footer-links a:hover,.footer-links .footer-cookies:hover{color:#fff}
.footer-links .footer-cookies{background:none;border:0;padding:0;font:inherit;font-size:var(--fs-small);cursor:pointer;transition:color .18s}
.footer-updated{margin-top:1.25rem;font-size:var(--fs-small);color:#B5ACA4;font-family:var(--sans);letter-spacing:0}
.footer-updated .author{color:var(--on-ink-mu)}
@media(max-width:768px){.footer-links .footer-cookies{padding:.55rem 0}}

/* ── Bandeau cookies : compact ; il flotte, il garde une ombre ── */
#tat-cookie-banner{left:max(1rem,env(safe-area-inset-left,0px));right:auto;bottom:max(1rem,env(safe-area-inset-bottom,0px));width:min(420px,calc(100% - 2rem));max-width:none;
  background:var(--ink);color:#fff;border:0;border-radius:0;padding:1.15rem 1.25rem;gap:.75rem;font-family:var(--sans);font-size:var(--fs-small);line-height:1.5}
#tat-cookie-banner .tcb-title{font-size:var(--fs-small);font-weight:600;color:#fff}
#tat-cookie-banner p{font-size:var(--fs-small);color:#DAD6D1;font-weight:400}
#tat-cookie-banner .tcb-actions{flex-direction:row}
#tat-cookie-banner button{flex:1;width:auto;border:0;border-radius:0;font:inherit;font-weight:600;letter-spacing:0;padding:.6rem 1rem}
#tat-cookie-banner .tcb-accept{background:var(--cin);color:#fff}
#tat-cookie-banner .tcb-accept:hover{background:var(--cin-d)}
#tat-cookie-banner .tcb-deny{background:rgba(255,255,255,.1);color:#fff}
#tat-cookie-banner .tcb-deny:hover{background:rgba(255,255,255,.18)}
.tatbot{font-family:var(--sans)}

/* Titre plié : ombre de pli plus douce */
.fold-piece::after{opacity:calc(var(--fold-crease,0) * .55)}

@media(max-width:960px){
  .section-grid{grid-template-columns:1fr;gap:1.25rem;align-items:start}
  .hub-cards{grid-template-columns:1fr;gap:3rem}
  .subhead-grid{grid-template-columns:1fr;gap:1.5rem}
}
@media(max-width:768px){
  .page-section{padding:4.5rem 5vw}
  .subhead{padding:calc(var(--nav-h) + 2.5rem) 5vw 3rem}
  .cta-final{padding:4.5rem 5vw 4rem}
  .footer{padding:2rem 5vw 2.25rem}
  .footer-top{flex-direction:column;align-items:flex-start;gap:.6rem}
  section[style*="padding:64px 6vw"]{padding:4.5rem 5vw 0!important}
}

/* ════════════════════════════════════════════════════
   CARROUSELS (mécanique : js/anim.js et js/site.js)
══════════════════════════════════════════════════════ */
.mm-section{margin-top:var(--gap-section)}
.mm-head{margin-bottom:3rem}
.carousel{position:relative}
.carousel-track{
  display:flex;gap:1.5rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;padding:2px 2px 4px;margin:-2px -2px 0;cursor:grab
}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track:focus-visible{outline:2px solid var(--cin);outline-offset:6px}
.carousel-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.carousel-track.is-dragging *{pointer-events:none;user-select:none}
.carousel-slide{flex:0 0 min(420px,calc((100% - 3rem) / 2.4));scroll-snap-align:start}
.carousel .mm-card{background:var(--ivory2);border:0}
.carousel .mm-card:hover{transform:none;box-shadow:none}
.carousel .mm-card-body{padding:2rem;gap:.6rem;height:100%}
.carousel .mm-card-desc{flex:1}
.carousel .mm-card-tags{gap:.4rem;margin-top:.6rem}
.carousel .mm-card-tag{padding:.3rem .65rem}
/* Navigation : compteur, progression, flèches */
.carousel-nav{display:flex;align-items:center;gap:1.25rem;margin-top:1.75rem}
.carousel-count{font-family:var(--sans);font-size:var(--fs-small);letter-spacing:0;color:var(--mu);min-width:4.5em;font-variant-numeric:tabular-nums}
.carousel-count b{color:var(--ink);font-weight:600}
.carousel-progress{flex:1;height:4px;background:var(--ivory2);position:relative;overflow:hidden}
.carousel-progress i{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--ink);transform-origin:left;transform:scaleX(.25);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.carousel-btn{
  width:48px;height:48px;border-radius:50%;border:0;background:var(--ivory2);color:var(--ink);cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s ease,color .2s ease,opacity .2s ease
}
.carousel-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.carousel-btn:hover:not(:disabled),.carousel-btn:focus-visible{background:var(--ink);color:#fff;outline:none}
.carousel-btn:disabled{opacity:.3;cursor:default}
main > section[data-alt] .carousel-btn,main > section[data-alt] .carousel-progress{background:var(--ivory)}
/* Infos pratiques + profil, sous le carrousel */
.mm-after{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 4.5rem;margin-top:4.5rem;padding-top:0;border-top:0}
.mm-sub{margin-bottom:1.5rem;color:var(--ink)}
.mm-facts{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.mm-facts .cfc-item{background:var(--ivory2);padding:1.15rem 1.25rem}
.mm-facts .cfc-item-val{margin:.25rem 0 .15rem}
.mm-profile .qualities{margin-top:0;gap:1.25rem}
.mm-profile .quality-row{padding:0;border-bottom:0}
.mm-profile .quality-title{margin-bottom:.3rem}
.mm-note{margin-top:.6rem}
@media(max-width:960px){
  .carousel-slide{flex-basis:min(420px,72%)}
  .mm-after{grid-template-columns:1fr}
}
@media(max-width:600px){
  .carousel-slide{flex-basis:86%}
  .carousel .mm-card-body{padding:1.5rem 1.35rem}
  .carousel-btn{width:42px;height:42px}
  .mm-facts{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}.carousel-progress i{transition:none}}

/* Carrousel en boucle */
.carousel.is-loop{overflow:hidden;padding:24px 0 0;margin-top:-24px}
.carousel.is-loop .carousel-track{overflow:visible;scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y;will-change:transform;padding:0 0 28px;margin:0}
.carousel.is-loop .carousel-track:focus-visible{outline-offset:-2px}
.carousel.is-loop .carousel-slide{will-change:transform,opacity;backface-visibility:hidden}
.carousel.is-loop .carousel-nav{margin-top:.5rem}
/* Carte active : encre */
.carousel .mm-card{transition:background-color .7s cubic-bezier(.22,.61,.36,1)}
.carousel .mm-card-title,.carousel .mm-card-desc,.carousel .mm-card-num,.carousel .mm-card-tag{transition:color .6s ease,background-color .6s ease}
.carousel .mm-card.is-active{background:var(--ink)}
.carousel .mm-card.is-active .mm-card-title{color:#fff}
.carousel .mm-card.is-active .mm-card-desc{color:var(--on-ink)}
.carousel .mm-card.is-active .mm-card-num{color:#F08A80}
.carousel .mm-card.is-active .mm-card-tag{background:rgba(255,255,255,.1);color:#fff}
.carousel-count b.roll{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:1.2}
.carousel-count b.roll span{display:inline-block}
.carousel.is-loop .carousel-progress i{transform:scaleX(0);transition:none}

/* Conditions : salaire et prérequis côte à côte */
.conditions{margin-top:var(--gap-section)}
.conditions-head{margin-bottom:2.5rem}
.conditions-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 5rem;align-items:start}
.salary-table caption{display:table-caption;caption-side:top;text-align:left}
.conditions .salary-table caption{margin:0 0 .75rem;padding:0}
.conditions .salary-table{margin-top:0}
@media(max-width:860px){.conditions-cols{grid-template-columns:1fr;gap:3rem}}

/* Carrousel en cylindre 3D */
.carousel.is-cyl{overflow:hidden;overflow:clip;padding:1rem 0 0;margin-top:-1rem}
.carousel.is-cyl .carousel-stage{perspective:2200px;perspective-origin:50% 40%;padding:2.5rem 0 3rem;cursor:grab;touch-action:pan-y;user-select:none}
.carousel.is-cyl .carousel-stage.is-dragging{cursor:grabbing}
.carousel.is-cyl .carousel-track{
  position:relative;display:block;overflow:visible;margin:0 auto;padding:0;gap:0;
  width:min(440px,78vw);transform-style:preserve-3d;scroll-snap-type:none;cursor:inherit;will-change:transform
}
.carousel.is-cyl .carousel-track:focus-visible{outline:none}
.carousel.is-cyl .carousel-track:focus-visible .is-active{outline:2px solid var(--cin);outline-offset:4px}
.carousel.is-cyl .carousel-slide{
  position:absolute;left:0;top:0;width:100%;flex:none;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;
  transition:background-color .7s cubic-bezier(.22,.61,.36,1)
}
.carousel.is-cyl .carousel-nav{margin-top:0}
.carousel.is-cyl .carousel-stage.over-active{cursor:pointer}
@media(max-width:600px){.carousel.is-cyl .carousel-stage{perspective:1400px;padding:1.5rem 0 2.25rem}}
@media(max-width:600px){.carousel.is-cyl .carousel-track{width:70vw}.carousel.is-cyl .mm-card-body{padding:1.4rem 1.2rem}}

/* Accueil : « Quatre façons de nous rejoindre » */
.hub-head{margin-bottom:1rem;align-items:end}
.hub-carousel.is-cyl .carousel-stage{padding:1.75rem 0}
.hub-carousel.is-cyl .carousel-track{width:min(430px,74vw)}
.carousel .hub-card{background:var(--ivory2);border:0;display:flex;flex-direction:column;overflow:hidden}
.carousel .hub-card-img{aspect-ratio:auto;height:clamp(110px,calc(100svh - 690px),250px);margin:0}
.carousel .hub-card h3{margin:1.25rem 1.5rem .35rem}
.carousel .hub-card-sub{margin:0 1.5rem .6rem}
.carousel .hub-card p{margin:0 1.5rem;flex:none}
.carousel .hub-card-meta{flex-direction:row;flex-wrap:wrap;gap:.4rem;margin:.9rem 1.5rem 0}
.carousel .hub-card-go{margin:auto 1.5rem 0;padding:1rem 0 1.25rem}
.carousel .hub-card:hover .hub-card-img img{transform:none}
.carousel .hub-card{transition:background-color .7s cubic-bezier(.22,.61,.36,1)}
.carousel .hub-card.is-active{background:var(--ink)}
.carousel .hub-card.is-active h3{color:#fff}
.carousel .hub-card.is-active p{color:var(--on-ink)}
.carousel .hub-card.is-active .hub-card-sub,.carousel .hub-card.is-active .hub-card-go{color:#F08A80}
.carousel .hub-card.is-active .hub-card-meta span{background:rgba(255,255,255,.1);color:#fff}
.hub-carousel:not(.is-cyl) .carousel-slide{flex:0 0 min(400px,80%)}
@media(max-width:768px){.carousel .hub-card-img{height:clamp(90px,calc(100svh - 700px),170px)}}
@media(max-width:768px) and (max-height:720px){
  .carousel .hub-card-img{display:none}
  .hub-carousel.is-cyl .carousel-stage{padding:1rem 0}
}

/* Programme de formation (business numérique) : cartes du cylindre */
.prog-head{margin-bottom:1rem;align-items:end}
.prog-carousel.is-cyl .carousel-track{width:min(460px,80vw)}
.prog-carousel.is-cyl .carousel-stage{padding:1.75rem 0}
.prog-card{background:var(--ivory2);border:0;padding:2rem;display:flex;flex-direction:column;gap:.55rem;position:relative;overflow:hidden;
  transition:background-color .7s cubic-bezier(.22,.61,.36,1)}
.prog-sub-title{margin-bottom:.5rem}
.prog-title{color:var(--ink);margin:0}
.prog-desc{max-width:34ch;position:relative;z-index:1}
.prog-facts{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem;margin-top:.4rem}
.prog-facts div{border-top:0;padding-top:0}
.prog-facts dd{font-family:var(--serif);font-weight:400;font-size:var(--fs-body);line-height:1.3;margin-top:.15rem;color:var(--ink)}
.prog-facts dd small{display:block;font-family:var(--sans);font-size:var(--fs-small);color:var(--mu);font-weight:400;margin-top:.15rem}
.prog-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-top:.2rem}
.prog-list li{display:grid;grid-template-columns:22px 1fr;gap:.6rem;font-size:var(--fs-small);line-height:1.5;color:var(--mu)}
.prog-list.is-quals li{grid-template-columns:1fr}
.prog-list li b{color:var(--cin);font-weight:600;font-family:var(--sans)}
.prog-list li strong{display:block;color:var(--ink);font-weight:600;font-size:var(--fs-body)}
.prog-sub{font-style:normal}
.carousel .prog-card.is-active{background:var(--ink)}
.carousel .prog-card.is-active .prog-title,.carousel .prog-card.is-active .prog-facts dd,.carousel .prog-card.is-active .prog-list li strong{color:#fff}
.carousel .prog-card.is-active .prog-desc,.carousel .prog-card.is-active .prog-list li,.carousel .prog-card.is-active .prog-facts dd small,.carousel .prog-card.is-active .prog-facts dt{color:var(--on-ink-mu)}
.carousel .prog-card.is-active .prog-desc{color:var(--on-ink)}
.carousel .prog-card.is-active .prog-sub-title,.carousel .prog-card.is-active .prog-list li b{color:#F08A80}
.prog-carousel:not(.is-cyl) .carousel-slide{flex:0 0 min(420px,82%)}
@media(max-width:600px){.prog-card{padding:1.5rem 1.35rem}.prog-facts{gap:.9rem 1rem}}
@media(max-height:760px){
  .prog-carousel.is-cyl .carousel-stage{padding:.9rem 0}
  .prog-card{padding:1.4rem 1.6rem;gap:.4rem}
  .prog-list.is-quals .prog-sub{display:none}
  .prog-list{gap:.4rem}
}

/* Accueil : carrousel « Slicebox », une grande carte à la fois */
.hub-carousel.is-slice{overflow:visible;padding:1.5rem 0 0;margin-top:0}
.hub-carousel.is-slice .carousel-track{
  display:grid;grid-template-columns:minmax(0,1fr);gap:0;position:relative;overflow:visible;padding:0;margin:0;
  cursor:grab;touch-action:pan-y;user-select:none;will-change:auto
}
.hub-carousel.is-slice .carousel-track:focus-visible{outline:2px solid var(--cin);outline-offset:4px}
.hub-carousel.is-slice .carousel-slide{grid-area:1/1;position:relative;z-index:1;flex:none;width:auto;visibility:hidden;will-change:auto;-webkit-user-drag:none}
.hub-carousel.is-slice .carousel-slide.is-active{visibility:visible}
.hub-carousel.is-slice .hub-card{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr;column-gap:2.5rem;
  background:var(--ink);transition:none
}
.hub-carousel.is-slice .hub-card-img{grid-column:1;grid-row:1/-1;height:auto;min-height:clamp(260px,calc(100svh - 420px),480px);position:relative}
.hub-carousel.is-slice .hub-card-img img{position:absolute;inset:0;-webkit-user-drag:none}
.hub-carousel.is-slice .hub-card > :not(.hub-card-img){grid-column:2;margin-left:0;margin-right:2.5rem}
.hub-carousel.is-slice .hub-card h3{font-size:var(--fs-h2);line-height:1.08;margin-top:2.5rem}
.hub-carousel.is-slice .hub-card-meta{margin-top:1.1rem}
.hub-carousel.is-slice .hub-card-go{align-self:end;margin-top:1.5rem;padding-bottom:1.75rem}
.hub-carousel.is-slice .carousel-nav{margin-top:1.75rem}
.slicebox{position:absolute;z-index:3;perspective:1400px;pointer-events:none}
.slicebox-cub{position:absolute;top:0;transform-style:preserve-3d}
.slicebox-face{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.slicebox-face img{position:absolute;top:0;max-width:none;object-fit:cover}
.slicebox-side{position:absolute;top:0;background:#4a413a}
.slicebox-shade{position:absolute;inset:0;background:#000;opacity:0}
@media(max-width:768px){
  .hub-carousel.is-slice .hub-card{grid-template-columns:minmax(0,1fr);grid-template-rows:none;column-gap:0}
  .hub-carousel.is-slice .hub-card-img{grid-row:auto;min-height:0;height:clamp(150px,calc(100svh - 620px),240px)}
  .hub-carousel.is-slice .hub-card > :not(.hub-card-img){grid-column:1;margin-left:1.35rem;margin-right:1.35rem}
  .hub-carousel.is-slice .hub-card h3{font-size:var(--fs-h3);margin-top:1.25rem}
  .hub-carousel.is-slice .hub-card-go{margin-top:1rem;padding-bottom:1.25rem}
}
@media(max-width:768px) and (max-height:720px){.hub-carousel.is-slice .hub-card-img{display:block;height:110px}}

/* ════════════════════════════════════════════════════
   SECTIONS : la hauteur suit le contenu (plus de sections plein écran qui laissent des vides)
══════════════════════════════════════════════════════ */
:root{--nav-h:78px}
@media(max-width:768px){:root{--nav-h:64px}}
html{scroll-padding-top:var(--nav-h)}
main > section[id]{scroll-margin-top:0}
main > section > :first-child{margin-top:0!important}
main > section > :last-child{margin-bottom:0!important}
main > section[data-alt]{background:var(--ivory2)}
main > section[data-alt] .mm-card,main > section[data-alt] .keyfact,main > section[data-alt] .faq details,main > section[data-alt] .appr-lieu,
main > section[data-alt] .prog-card,main > section[data-alt] .carousel .hub-card,main > section[data-alt] .si-item,main > section[data-alt] .apply-steps li{background:var(--ivory)}
main > section > .appr-lieux:only-child{border:0;padding:0}
main > section > .appr-timeline:only-child{padding:0}
@media(min-width:861px){
  .page-section.video-first .appr-hero-video{aspect-ratio:auto;height:clamp(380px,calc(100svh - var(--nav-h) - 300px),680px);margin-bottom:2.5rem}
}
main > section > .mm-section > .mm-after:first-child{margin-top:0}

/* ── Logo du footer : vient se poser en haut du footer, l'emblème tourne au scroll ── */
.footer-logo{display:inline-flex;color:#fff;line-height:0}
.footer-logo svg{height:46px;width:auto;overflow:visible;fill:currentColor}
.footer-logo-mark{transform-box:fill-box;transform-origin:50% 50%;will-change:transform}
.footer-logo-word{transition:opacity .6s ease .35s}
.js-flogo .footer-logo{transform:translateY(-70px);opacity:0;transition:transform 1.1s cubic-bezier(.625,.05,0,1),opacity .5s ease}
.js-flogo .footer-logo .footer-logo-word{opacity:0}
.js-flogo .footer-logo.is-landed{transform:none;opacity:1}
.js-flogo .footer-logo.is-landed .footer-logo-word{opacity:1}
@media(max-width:768px){.footer-logo svg{height:38px}}
@media(prefers-reduced-motion:reduce){
  .js-flogo .footer-logo,.js-flogo .footer-logo .footer-logo-word{transform:none;opacity:1;transition:none}
}

/* ── Page offres d'emploi : widget SociableKit (offres LinkedIn) ── */
.jobs-widget{min-height:320px}
.jobs-widget-fallback{margin-top:2rem;font-size:var(--fs-small);color:var(--mu)}

/* ════════════════════════════════════════════
   DOUBLE BARRE : menu talentaccess.ch (haut) + sous-menu Carrières (dessous)
   ════════════════════════════════════════════ */
:root{--top-h:68px;--sub-h:52px;--nav-h:calc(var(--top-h) + var(--sub-h))}
.topbar{position:fixed;top:0;left:0;right:0;z-index:201;height:var(--top-h);background:var(--cin);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding-left:max(6vw, calc((100% - 1240px) / 2));padding-right:max(6vw, calc((100% - 1240px) / 2))}
.topbar-logo{display:flex;align-items:center;flex-shrink:0}
.topbar-logo img{height:40px;width:auto;display:block}
.topbar-links{display:flex;align-items:center;gap:1.6rem}
.topbar-links a{position:relative;color:#fff;font-size:.95rem;font-weight:500;white-space:nowrap;padding:.3rem 0}
.topbar-links a::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:#fff;
  transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.topbar-links a:hover::after,.topbar-links a.is-active::after{transform:scaleX(1);transform-origin:left}
.topbar-links a.is-active{font-weight:700}
.topbar-links .topbar-lang{margin-left:1.4rem;text-decoration:underline;text-underline-offset:4px}
.topbar-links .topbar-lang::after{display:none}
.topbar a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.nav{top:var(--top-h);height:var(--sub-h);background:var(--cin-d)}
.nav-logo{display:none}
.nav-links .nav-group,.nav-links .nav-main{display:none}
.subhead{padding-top:calc(var(--nav-h) + 4.5rem)}
@media(max-width:1400px) and (min-width:1201px){
  .topbar-links{gap:1.15rem}
  .topbar-links a{font-size:.86rem}
  .topbar-links .topbar-lang{margin-left:.6rem}
}
@media(max-width:1200px){
  :root{--nav-h:78px}
  .topbar{display:none}
  .nav{top:0;height:78px;background:var(--cin)}
  .nav-logo{display:flex}
  .nav-links .nav-main{display:block}
  .nav-links .nav-group{display:block;font-family:var(--sans);font-size:var(--fs-small);font-weight:600;color:rgba(255,255,255,.75);padding:1.4rem 0 .35rem}
  .nav-links{max-height:calc(100svh - 78px);overflow-y:auto;overscroll-behavior:contain}
  .subhead{padding-top:calc(var(--nav-h) + 3rem)}
}
@media(max-width:768px){
  :root{--nav-h:64px}
  .nav{height:64px}
  .nav-links{max-height:calc(100svh - 64px)}
  .subhead{padding-top:calc(var(--nav-h) + 2.5rem)}
}

/* ── Sobriété : pas de dégradé animé, pas d'icônes décoratives ── */
.gradient-word{animation:none!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}
.quality-icon{display:none!important}

/* ── Encadrés (page blanche, convention de stage) : fond de ton, sans filet ── */
.callout{background:var(--ivory2);padding:1.75rem 2rem}
main > section[data-alt] .callout{background:var(--ivory)}
.callout-title{font-size:var(--fs-h3);line-height:1.2;margin-bottom:.75rem;color:var(--ink)}
.callout p + p{margin-top:.75rem}
.link-note{font-size:var(--fs-small);color:var(--mu);margin-top:.4rem}
[style*="background:#f5f4e8"]{background:var(--ivory2)!important;border-radius:0!important}
.app-photo{background:var(--ivory2)}

/* ── Page presse : bandeau YouTube + podcasts, articles et interviews ── */
.press-banner{background:var(--ink);color:var(--on-ink);padding:2.5rem var(--gutter)}
.press-banner-inner{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem 2.5rem}
.press-banner-icon{flex-shrink:0;width:64px;height:64px;display:block}
.press-banner-text{flex:1 1 320px}
.press-banner-text h2{color:#fff;font-size:var(--fs-h3);line-height:1.2;margin:0 0 .4rem}
.press-banner-text p{color:var(--on-ink-mu);margin:0;max-width:60ch}
.press-banner-btn{flex-shrink:0}
.press-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 4rem}
.press-col h3{margin-bottom:1rem}
@media(max-width:768px){
  .press-banner{padding:2rem 5vw}
  .press-banner-icon{width:52px;height:52px}
  .press-cols{grid-template-columns:1fr}
}

/* Plein écran : chaque section occupe au moins la hauteur de l'écran, contenu centré verticalement */
.hero,.page-section,.cta-final{min-height:100vh;min-height:100svh}
.page-section,.cta-final{align-content:center}

/* Quatre liens « Explorer les autres voies » : quatre colonnes sur grand écran */
@media(min-width:961px){
  .see-also:has(> a:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Sous-menu à 5 liens (dont Digital & Business Program) : espacement adaptatif, libellés sur une ligne */
@media(min-width:1201px){
  .nav-links{gap:clamp(1.1rem,1.7vw,2.5rem);margin-right:1.25rem}
  .nav-links a,.nav-cta .btn{white-space:nowrap}
}

/* Sous-menu à 6 liens (avec TAT Academy) : texte et espacements resserrés pour tenir sur une ligne */
@media(min-width:1201px){
  .nav-links{gap:clamp(.85rem,1.15vw,1.6rem);margin-right:1rem}
  .nav-links a{font-size:.86rem;white-space:nowrap}
}
@media(max-width:1439px) and (min-width:1201px){
  .nav-cta .btn-ghost{display:none}
}
@media(max-width:1360px) and (min-width:1201px){
  .nav-links{gap:.8rem;margin-right:.75rem}
  .nav-links a{font-size:.8rem}
  .nav-cta .btn{font-size:.82rem;padding:.5rem .9rem}
}
