/* GTP Site Manager 1.1.0
 * Interface lumineuse de plateforme éditoriale.
 * Fond blanc majoritaire, navy et cyan en accents.
 */
:root{
  --gtp-fixed-header-height:76px;
  --gtp-navy:#123724;
  --gtp-navy-soft:#1c4b36;
  --gtp-cyan:#f4a51c;
  --gtp-white:#fff;
  --gtp-surface:#f5f7fa;
  --gtp-border:#e4e9ef;
  --gtp-muted:#667085;
  --gtp-shadow:0 18px 50px rgba(7,22,47,.12);
}
html{scroll-padding-top:calc(var(--gtp-fixed-header-height) + 18px)}
body{padding-top:var(--gtp-fixed-header-height)!important;background:#fff!important;color:var(--gtp-navy)!important}
body.admin-bar{padding-top:calc(var(--gtp-fixed-header-height) + 32px)!important}

/* Header fixe, blanc et stable. */
.gtp-header{
  position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;
  z-index:99990!important;transform:none!important;translate:none!important;
  background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--gtp-border)!important;
  box-shadow:0 5px 22px rgba(7,22,47,.055)!important;
  backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
body.admin-bar .gtp-header{top:32px!important}
.gtp-header__inner{height:var(--gtp-fixed-header-height)!important}
.gtp-header.is-scrolled{transform:none!important;translate:none!important}
.gtp-nav__list a,.gtp-language{color:var(--gtp-navy)!important}
.gtp-showreel{background:var(--gtp-cyan)!important;color:var(--gtp-navy)!important}

/* Suppression de toute bande sombre entre le header et le Hero. */
.home,.home body,.home .gtp-main{background:#fff!important}
.home .gtp-main{padding-top:18px!important;margin-top:0!important}
.home .gtp-main:before,.home .gtp-main:after{display:none!important;content:none!important}

/* Hero, seul grand moment sombre de la page. */
.home .gtp-hero{
  width:min(1500px,calc(100% - 40px))!important;
  min-height:clamp(560px,67vh,700px)!important;height:auto!important;
  margin:0 auto 22px!important;border-radius:28px!important;overflow:hidden!important;
  align-items:center!important;isolation:isolate!important;background:var(--gtp-navy)!important;
  box-shadow:var(--gtp-shadow)!important;
}
.home .gtp-hero__video{object-fit:cover!important;object-position:center center!important}
.home .gtp-hero__overlay{
  background:linear-gradient(90deg,rgba(2,9,22,.91) 0%,rgba(2,9,22,.68) 34%,rgba(2,9,22,.20) 69%,rgba(2,9,22,.05) 100%),linear-gradient(0deg,rgba(2,9,22,.36),transparent 55%)!important;
}
.home .gtp-hero__content{width:min(1400px,calc(100% - 72px))!important;padding:54px 0!important;margin:auto!important}
.home .gtp-hero__content>.gtp-eyebrow{margin-bottom:17px!important;color:var(--gtp-cyan)!important}
.home .gtp-hero h1{max-width:670px!important;margin:0 0 22px!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(3.6rem,5.5vw,6.65rem)!important;line-height:.9!important;letter-spacing:-.052em!important;text-wrap:balance!important}
.home .gtp-hero__content>p:not(.gtp-eyebrow){max-width:590px!important;font-size:clamp(1rem,1.15vw,1.18rem)!important;line-height:1.55!important}
.home .gtp-actions{margin-top:26px!important}

/* Toutes les rangées éditoriales deviennent lumineuses. */
.home .gtp-stream-section,
.home .gtp-explore,
.home .gtp-featured,
.home .gtp-formats,
.home .gtp-blog-preview{
  background:#fff!important;color:var(--gtp-navy)!important;padding:48px 0!important;
}
.home .gtp-featured,.home .gtp-blog-preview{background:var(--gtp-surface)!important}
.home .gtp-explore{padding-top:42px!important}
.home .gtp-section-head{margin-bottom:24px!important;align-items:flex-end!important}
.home .gtp-section-head h2{color:var(--gtp-navy)!important;font-size:clamp(2.1rem,3.25vw,3.8rem)!important;line-height:.98!important;letter-spacing:-.045em!important}
.home .gtp-section-head>a{color:var(--gtp-navy)!important}
.home .gtp-eyebrow{color:#c9780a!important}
.home .gtp-rail-controls button{color:var(--gtp-navy)!important;background:#fff!important;border:1px solid var(--gtp-border)!important;box-shadow:0 6px 18px rgba(7,22,47,.07)!important}
.home .gtp-rail-controls button:hover{background:var(--gtp-cyan)!important;border-color:var(--gtp-cyan)!important}

/* Affiches de navigation, seules surfaces sombres dans les rangées. */
.home .gtp-poster-rail .gtp-nav-poster{flex-basis:clamp(290px,25vw,390px)!important;aspect-ratio:1.45/1!important;border-radius:22px!important;border:1px solid rgba(7,22,47,.08)!important;box-shadow:0 12px 32px rgba(7,22,47,.11)!important}
.home .gtp-nav-poster:after{background:linear-gradient(0deg,rgba(2,8,18,.96) 0%,rgba(2,8,18,.66) 38%,rgba(2,8,18,.08) 78%)!important}
.home .gtp-nav-poster>div{left:20px!important;right:20px!important;bottom:18px!important}
.home .gtp-nav-poster h3{color:#fff!important;font-size:clamp(1.8rem,2.65vw,2.9rem)!important;text-shadow:0 3px 20px rgba(0,0,0,.42)!important}
.home .gtp-nav-poster small,.home .gtp-nav-poster p{color:rgba(255,255,255,.88)!important}
.home .gtp-nav-poster:hover{transform:translateY(-6px) scale(1.02)!important;box-shadow:0 22px 52px rgba(7,22,47,.18)!important}

/* Films, univers et formats sur fonds clairs. */
.home .gtp-film-card,.home .gtp-category-rail>a{border:1px solid rgba(7,22,47,.08)!important;box-shadow:0 12px 30px rgba(7,22,47,.10)!important}
.home .gtp-film-card:hover,.home .gtp-category-rail>a:hover{transform:translateY(-6px) scale(1.015)!important;box-shadow:0 22px 48px rgba(7,22,47,.17)!important}
.home .gtp-format-grid>*,.home .gtp-format-grid a{background:#fff!important;color:var(--gtp-navy)!important;border:1px solid var(--gtp-border)!important;box-shadow:0 10px 28px rgba(7,22,47,.07)!important}
.home .gtp-format-grid>*:hover,.home .gtp-format-grid a:hover{border-color:var(--gtp-cyan)!important;transform:translateY(-5px)!important}

/* Blog clair, cartes cinématographiques. */
.home .gtp-blog-preview .gtp-section-head h2,.home .gtp-blog-preview .gtp-section-head>a{color:var(--gtp-navy)!important}
.home .gtp-blog-rail>a{min-height:390px!important;border:1px solid rgba(7,22,47,.08)!important;box-shadow:0 12px 32px rgba(7,22,47,.11)!important}
.home .gtp-blog-rail a:after{background:linear-gradient(0deg,rgba(2,8,18,.97) 0%,rgba(2,8,18,.72) 43%,rgba(2,8,18,.05) 79%)!important}
.home .gtp-blog-rail h3{color:#fff!important;text-shadow:0 3px 18px rgba(0,0,0,.38)!important}
.home .gtp-blog-rail p{color:rgba(255,255,255,.87)!important}
.home .gtp-blog-rail small{color:var(--gtp-cyan)!important}

/* Sections de respiration. */
.home .gtp-photo-feature{background:var(--gtp-surface)!important;color:var(--gtp-navy)!important}
.home .gtp-client-strip{background:#fff!important;color:var(--gtp-navy)!important;border-top:1px solid var(--gtp-border)!important;border-bottom:1px solid var(--gtp-border)!important}
.home .gtp-final-cta{background:var(--gtp-navy)!important;color:#fff!important}
.home .gtp-final-cta h2,.home .gtp-final-cta p{color:#fff!important}

@media(max-width:1050px){
  :root{--gtp-fixed-header-height:68px}
  body.admin-bar{padding-top:calc(var(--gtp-fixed-header-height) + 32px)!important}
  .home .gtp-main{padding-top:14px!important}
  .home .gtp-hero{width:calc(100% - 28px)!important;min-height:610px!important;border-radius:24px!important}
  .home .gtp-hero__content{width:calc(100% - 52px)!important;padding:46px 0!important}
  .gtp-nav{top:var(--gtp-fixed-header-height)!important;max-height:calc(100vh - var(--gtp-fixed-header-height))!important;overflow:auto!important;background:#fff!important}
  body.admin-bar .gtp-nav{top:calc(var(--gtp-fixed-header-height) + 32px)!important}
}
@media(max-width:782px){body.admin-bar .gtp-header{top:46px!important}body.admin-bar{padding-top:calc(var(--gtp-fixed-header-height) + 46px)!important}body.admin-bar .gtp-nav{top:calc(var(--gtp-fixed-header-height) + 46px)!important}}
@media(max-width:680px){
  .home .gtp-main{padding-top:10px!important}
  .home .gtp-hero{width:calc(100% - 18px)!important;min-height:550px!important;border-radius:20px!important;margin-bottom:8px!important}
  .home .gtp-hero__overlay{background:linear-gradient(0deg,rgba(2,9,22,.94) 0%,rgba(2,9,22,.63) 58%,rgba(2,9,22,.16) 100%)!important}
  .home .gtp-hero__content{width:calc(100% - 34px)!important;padding:34px 0!important;align-self:flex-end!important}
  .home .gtp-hero h1{font-size:clamp(2.9rem,14.5vw,4.15rem)!important;max-width:100%!important}
  .home .gtp-actions{gap:10px!important}
  .home .gtp-button{min-height:45px!important;padding:0 17px!important;font-size:.7rem!important}
  .home .gtp-stream-section{padding:36px 0!important}
  .home .gtp-section-head h2{font-size:2rem!important}
  .home .gtp-poster-rail .gtp-nav-poster{flex-basis:84vw!important;aspect-ratio:1.35/1!important}
  .home .gtp-blog-rail>a{flex-basis:86vw!important;min-height:355px!important}
}

/* Brazil palette and dedicated brand sections */
.gtp-brand img{width:176px!important;max-height:64px!important}
.home .gtp-ccifb-home{background:#fff8ec!important}
.gtp-correio-feature{background:var(--gtp-navy)!important;color:#fff!important}
.gtp-correio-feature h2,.gtp-correio-feature p{color:#fff!important}
.gtp-correio-feature a{color:#ffc24a!important}
.gtp-whatsapp-btn{background:var(--gtp-navy)!important;border-color:var(--gtp-navy)!important;color:#fff!important}
@media(max-width:680px){.gtp-brand img{width:142px!important}}

/* 1.1.1 - Déclinaison lumineuse sur toutes les pages gérées. */
body:not(.home){background:#fff!important;color:var(--gtp-navy)!important}
body:not(.home) .gtp-main,
body:not(.home) main{background:#fff!important}
body:not(.home) .gtp-page{background:#fff!important;color:var(--gtp-navy)!important}
body:not(.home) .gtp-page-hero{
  background:linear-gradient(135deg,#f7f9fc 0%,#fff 55%,#fff6e6 100%)!important;
  color:var(--gtp-navy)!important;border-bottom:1px solid var(--gtp-border)!important;
  padding-top:clamp(72px,9vw,126px)!important;padding-bottom:clamp(58px,7vw,104px)!important;
}
body:not(.home) .gtp-page-hero h1,
body:not(.home) .gtp-page-hero h2,
body:not(.home) .gtp-intro h1,
body:not(.home) .gtp-intro h2{color:var(--gtp-navy)!important;letter-spacing:-.045em!important}
body:not(.home) .gtp-page-hero p,
body:not(.home) .gtp-intro p{color:#4f6078!important}
body:not(.home) .gtp-eyebrow,
body:not(.home) .gtp-kicker{color:#c9780a!important}
body:not(.home) .gtp-section{background:#fff!important;color:var(--gtp-navy)!important;padding:clamp(58px,7vw,98px) 0!important}
body:not(.home) .gtp-section--soft{background:var(--gtp-surface)!important}
body:not(.home) .gtp-section h2,
body:not(.home) .gtp-section h3,
body:not(.home) .gtp-prose h2,
body:not(.home) .gtp-prose h3{color:var(--gtp-navy)!important}
body:not(.home) .gtp-prose,
body:not(.home) .gtp-prose p,
body:not(.home) .gtp-section p,
body:not(.home) .gtp-list{color:#52627a!important}
body:not(.home) .gtp-feature,
body:not(.home) .gtp-stream-card,
body:not(.home) .gtp-poster,
body:not(.home) .gtp-legal-card,
body:not(.home) .gtp-legal-entity,
body:not(.home) .gtp-office,
body:not(.home) .gtp-contact-details,
body:not(.home) .gtp-form{
  background:#fff!important;color:var(--gtp-navy)!important;border:1px solid var(--gtp-border)!important;
  border-radius:22px!important;box-shadow:0 14px 38px rgba(7,22,47,.075)!important;
}
body:not(.home) .gtp-feature:hover,
body:not(.home) .gtp-stream-card:hover,
body:not(.home) .gtp-poster:hover{transform:translateY(-5px)!important;box-shadow:0 22px 48px rgba(7,22,47,.13)!important}
body:not(.home) .gtp-page-image{border-radius:24px!important;box-shadow:var(--gtp-shadow)!important}
body:not(.home) .gtp-btn,
body:not(.home) .gtp-button--primary{background:var(--gtp-cyan)!important;color:var(--gtp-navy)!important;border-color:var(--gtp-cyan)!important}
body:not(.home) .gtp-button--secondary{background:#fff!important;color:var(--gtp-navy)!important;border-color:#b9c4d2!important}
body:not(.home) .gtp-cta,
body:not(.home) .gtp-cta__box{background:var(--gtp-navy)!important;color:#fff!important}
body:not(.home) .gtp-cta h2,
body:not(.home) .gtp-cta h3,
body:not(.home) .gtp-cta p,
body:not(.home) .gtp-cta__box h2,
body:not(.home) .gtp-cta__box p{color:#fff!important}
body:not(.home) .gtp-library-hero{background:linear-gradient(135deg,#f7f9fc,#fff6e6)!important;color:var(--gtp-navy)!important}
body:not(.home) .gtp-library-filters button,
body:not(.home) .gtp-library-filters a{background:#fff!important;color:var(--gtp-navy)!important;border:1px solid var(--gtp-border)!important}
body:not(.home) .gtp-library-filters .is-active{background:var(--gtp-cyan)!important;border-color:var(--gtp-cyan)!important}

/* Bande clients enrichie, claire et respirante. */
.gtp-client-strip{padding:42px 0!important}
.gtp-client-strip .gtp-shell>span{display:block!important;margin-bottom:18px!important;color:#c9780a!important;font-weight:800!important;letter-spacing:.12em!important;font-size:.72rem!important}
.gtp-client-strip .gtp-client-list,
.gtp-client-strip .gtp-shell>div{
  display:flex!important;flex-wrap:wrap!important;gap:10px 12px!important;align-items:center!important;
}
.gtp-client-strip .gtp-client-list b,
.gtp-client-strip .gtp-shell>div b{
  display:inline-flex!important;align-items:center!important;min-height:42px!important;padding:0 16px!important;
  background:#fff!important;color:var(--gtp-navy)!important;border:1px solid var(--gtp-border)!important;
  border-radius:999px!important;font-size:.77rem!important;letter-spacing:.025em!important;box-shadow:0 6px 16px rgba(7,22,47,.045)!important;
}
.gtp-client-strip .gtp-client-list b:hover,
.gtp-client-strip .gtp-shell>div b:hover{border-color:var(--gtp-cyan)!important;background:#fff8ec!important}

/* Footer conservé comme point final navy. */
.gtp-footer{background:var(--gtp-navy)!important;color:#fff!important}
.gtp-footer a,.gtp-footer p,.gtp-footer li,.gtp-footer h2,.gtp-footer h3{color:#fff!important}

@media(max-width:680px){
  body:not(.home) .gtp-page-hero{padding-top:58px!important;padding-bottom:52px!important}
  body:not(.home) .gtp-section{padding:48px 0!important}
  .gtp-client-strip .gtp-client-list b,.gtp-client-strip .gtp-shell>div b{min-height:38px!important;padding:0 12px!important;font-size:.68rem!important}
}

/* ========================================================================
 * 1.2.1 SAFE CINEMATIC HEROES
 * CSS-only progressive enhancement. No DOM mutation, no content rewrite,
 * no deployment hook and no change to the signed 1.0.0 release bundle.
 * ===================================================================== */

/* A page with an image immediately after its hero becomes a cinematic card.
 * Browsers without :has() keep the stable light 1.1.1 hero as fallback. */
@supports selector(.gtp-page-hero:has(+ .gtp-page-image)) {
  body:not(.home) .gtp-main,
  body:not(.home) main {
    padding-top: 18px !important;
  }

  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: flex-end !important;
    width: min(1440px, calc(100% - 48px)) !important;
    min-height: clamp(460px, 57vw, 610px) !important;
    margin: 0 auto calc(clamp(460px, 57vw, 610px) * -1) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 30px !important;
    background: transparent !important;
    color: #fff !important;
    pointer-events: none !important;
  }

  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image)::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    border-radius: inherit !important;
    background:
      linear-gradient(90deg, rgba(2, 9, 22, .92) 0%, rgba(2, 9, 22, .72) 42%, rgba(2, 9, 22, .20) 77%, rgba(2, 9, 22, .08) 100%),
      linear-gradient(0deg, rgba(2, 9, 22, .55) 0%, rgba(2, 9, 22, 0) 58%) !important;
  }

  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-container {
    width: min(1240px, calc(100% - 72px)) !important;
    margin: 0 auto !important;
    padding: clamp(48px, 7vw, 84px) 0 !important;
    pointer-events: auto !important;
  }

  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-page-hero__grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .75fr) !important;
    gap: clamp(28px, 5vw, 72px) !important;
    align-items: end !important;
  }

  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) h1,
  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) h2 {
    max-width: 920px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(3rem, 5.7vw, 6.35rem) !important;
    line-height: .91 !important;
    letter-spacing: -.058em !important;
    text-wrap: balance !important;
    text-shadow: 0 5px 28px rgba(0, 0, 0, .26) !important;
  }

  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-kicker,
  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-eyebrow {
    margin-bottom: 15px !important;
    color: var(--gtp-cyan) !important;
    font-size: .74rem !important;
    font-weight: 850 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
  }

  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-page-hero__lead,
  body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) p:not(.gtp-kicker):not(.gtp-eyebrow) {
    max-width: 520px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .86) !important;
    font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
    line-height: 1.58 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .28) !important;
  }

  body:not(.home) .gtp-page-hero + .gtp-page-image {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: min(1440px, calc(100% - 48px)) !important;
    height: clamp(460px, 57vw, 610px) !important;
    margin: 0 auto 0 !important;
    overflow: hidden !important;
    border-radius: 30px !important;
    box-shadow: 0 24px 70px rgba(7, 22, 47, .19) !important;
    background: var(--gtp-navy) !important;
  }

  body:not(.home) .gtp-page-hero + .gtp-page-image img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: inherit !important;
    transform: scale(1.002) !important;
  }

  body:not(.home) .gtp-page-hero + .gtp-page-image--team img {
    object-position: center 34% !important;
  }

  /* White breathing space before the first editorial section. */
  body:not(.home) .gtp-page-image + .gtp-section {
    padding-top: clamp(72px, 8vw, 118px) !important;
  }

  @media (max-width: 980px) {
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) {
      width: calc(100% - 28px) !important;
      min-height: 570px !important;
      margin-bottom: -570px !important;
      border-radius: 24px !important;
    }
    body:not(.home) .gtp-page-hero + .gtp-page-image {
      width: calc(100% - 28px) !important;
      height: 570px !important;
      border-radius: 24px !important;
    }
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-container {
      width: calc(100% - 52px) !important;
      padding: 44px 0 !important;
    }
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-page-hero__grid {
      grid-template-columns: 1fr !important;
      gap: 20px !important;
    }
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image)::before {
      background: linear-gradient(0deg, rgba(2, 9, 22, .94) 0%, rgba(2, 9, 22, .67) 61%, rgba(2, 9, 22, .14) 100%) !important;
    }
  }

  @media (max-width: 680px) {
    body:not(.home) .gtp-main,
    body:not(.home) main { padding-top: 10px !important; }
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) {
      width: calc(100% - 18px) !important;
      min-height: 520px !important;
      margin-bottom: -520px !important;
      border-radius: 20px !important;
    }
    body:not(.home) .gtp-page-hero + .gtp-page-image {
      width: calc(100% - 18px) !important;
      height: 520px !important;
      border-radius: 20px !important;
    }
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-container {
      width: calc(100% - 34px) !important;
      padding: 32px 0 !important;
    }
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) h1,
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) h2 {
      font-size: clamp(2.65rem, 13.7vw, 4.05rem) !important;
    }
    body:not(.home) .gtp-page-hero:has(+ .gtp-page-image) .gtp-page-hero__lead {
      font-size: .98rem !important;
      line-height: 1.5 !important;
    }
  }
}

/* Legal and fallback pages intentionally keep the safe, light hero. */
body:not(.home) .gtp-page-hero:not(:has(+ .gtp-page-image)) {
  border-radius: 0 !important;
}

/* ========================================================================
 * 1.2.4 HOMEPAGE POLISH AND PAGE HERO CROPPING
 * ===================================================================== */

/* Explorer: preserve the whole title, keep the entire card clickable and
 * expose a clear keyboard focus state. */
.home .gtp-nav-poster{
  position:relative!important;
  cursor:pointer!important;
  touch-action:pan-y!important;
}
.home .gtp-nav-poster h3{
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.home .gtp-nav-poster[href*="#international"] h3,
.home .gtp-nav-poster img[alt="International"] + div h3{
  font-size:clamp(1.48rem,2vw,2.22rem)!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
}
.home .gtp-nav-poster:focus-visible,
.home .gtp-film-card:focus-visible,
.home .gtp-category-rail>a:focus-visible,
.home .gtp-blog-rail>a:focus-visible{
  outline:4px solid var(--gtp-cyan)!important;
  outline-offset:4px!important;
}

/* Featured rail: force high contrast over every thumbnail, independently of
 * inherited light-theme typography. */
.home .gtp-film-card:after{
  background:linear-gradient(0deg,rgba(2,8,18,.97) 0%,rgba(2,8,18,.78) 39%,rgba(2,8,18,.13) 78%)!important;
}
.home .gtp-film-card small{
  color:#8ce7f5!important;
  text-shadow:0 2px 12px rgba(0,0,0,.72)!important;
}
.home .gtp-film-card h3{
  color:#fff!important;
  text-shadow:0 3px 18px rgba(0,0,0,.70)!important;
}
.home .gtp-film-card p{
  color:rgba(255,255,255,.88)!important;
  text-shadow:0 2px 12px rgba(0,0,0,.65)!important;
}
.home .gtp-play{
  color:#fff!important;
  background:rgba(2,8,18,.64)!important;
  border-color:rgba(255,255,255,.82)!important;
}

/* Sectors hero: retain the important upper area of the industrial image. */
body:not(.home) .gtp-page-hero + .gtp-page-image img[src*="usine-production-film-corporate"]{
  object-position:center 18%!important;
}

/* Prevent long editorial labels from escaping compact cards on tablets. */
@media(max-width:1050px){
  .home .gtp-nav-poster[href*="#international"] h3,
  .home .gtp-nav-poster img[alt="International"] + div h3{
    font-size:clamp(1.42rem,3.4vw,2.05rem)!important;
  }
}
@media(max-width:680px){
  .home .gtp-nav-poster[href*="#international"] h3,
  .home .gtp-nav-poster img[alt="International"] + div h3{
    font-size:clamp(1.62rem,7.3vw,2.15rem)!important;
  }
}

/* 1.2.5 Contact polish */
.gtp-contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}


/* GTP 1.2.8: isolated layout repair for Engagements RSE page (ID 325). */
body.page-id-325 .entry-content,
body.page-id-325 main,
body.page-id-325 .site-main {
    overflow: visible;
}
body.page-id-325 .gtp-page-hero,
body.page-id-325 .gtp-hero,
body.page-id-325 .wp-block-cover:first-child {
    margin-top: 0;
}
body.page-id-325 .entry-content > section,
body.page-id-325 .entry-content > div {
    box-sizing: border-box;
    max-width: 100%;
}
body.page-id-325 .gtp-grid,
body.page-id-325 .wp-block-columns {
    align-items: stretch;
}
@media (max-width: 781px) {
    body.page-id-325 .wp-block-columns {
        display: block;
    }
    body.page-id-325 .wp-block-column {
        width: 100%;
        margin-left: 0;
    }
}
