/* =========================================================
   Ruban partagé K9-34 GRASOC — V30
   Rubans uniformes, lisibles, image/vidéo modifiables.
   ========================================================= */
:root{
  --ribbon-h-compact: clamp(18rem, 30vw, 21rem);
  --ribbon-h-medium:  clamp(21rem, 38vw, 28rem);
  --ribbon-h-large:   clamp(25rem, 48vw, 34rem);
  --ribbon-max-width: 1200px;
  --ribbon-pad-inline: clamp(1.2rem, 3vw, 2.8rem);
  --ribbon-pad-top: calc(var(--nav-h, 76px) + clamp(1rem, 2vw, 1.6rem));
  --ribbon-pad-bottom: clamp(1.3rem, 2.4vw, 2.4rem);
  --ribbon-text: #ffffff;
  --ribbon-text-soft: rgba(255,255,255,.92);
  --ribbon-kicker: var(--gold, #e0b84a);
  --ribbon-shadow: 0 3px 18px rgba(0,0,0,.42);
}
body.ribbon-page::before{content:none!important;display:none!important;}
body.ribbon-page{background:var(--cream,#faf8f3);}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;}
[data-ribbon-root]{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  height:auto!important;
  min-height:var(--ribbon-h-medium)!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  align-items:end!important;
  text-align:left!important;
  background:#07111f!important;
}
[data-ribbon-root]::before,[data-ribbon-root]::after{content:none!important;display:none!important;}
[data-ribbon-root][data-ribbon-size="compact"]{min-height:var(--ribbon-h-compact)!important;}
[data-ribbon-root][data-ribbon-size="medium"]{min-height:var(--ribbon-h-medium)!important;}
[data-ribbon-root][data-ribbon-size="large"]{min-height:var(--ribbon-h-large)!important;}
[data-ribbon-root].ribbon-custom-height{height:var(--ribbon-custom-height)!important;min-height:var(--ribbon-custom-height)!important;max-height:none!important;}
[data-ribbon-root] .hero-media{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;width:100%!important;height:100%!important;background:#07111f!important;}
[data-ribbon-root] .hero-media__image,
[data-ribbon-root] .hero-media__video{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:var(--ribbon-position,center center)!important;border-radius:0!important;margin:0!important;filter:none!important;}
[data-ribbon-root] .hero-media__image{opacity:1;transition:opacity .28s ease;background:#07111f;}
[data-ribbon-root] .hero-media__video{position:absolute!important;inset:0!important;opacity:0;transition:opacity .28s ease;background:transparent!important;}
[data-ribbon-root].ribbon-video-ready .hero-media__video{opacity:1!important;}
[data-ribbon-root].ribbon-video-ready .hero-media__image{opacity:0!important;}
[data-ribbon-root].ribbon-video-fallback .hero-media__video{opacity:0!important;}
[data-ribbon-root] .hero-overlay{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(180deg,rgba(7,17,31,.16) 0%,rgba(7,17,31,var(--ribbon-overlay-strong,.70)) 100%)!important;pointer-events:none!important;}
[data-ribbon-root] .hero-stripe{position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:4px!important;z-index:2!important;background:linear-gradient(90deg,var(--amber,#c8922a),var(--gold,#e0b84a),var(--amber,#c8922a))!important;}
[data-ribbon-root] .hero-inner{position:relative!important;z-index:3!important;width:min(100%,var(--ribbon-max-width))!important;margin-inline:auto!important;max-width:none!important;padding:var(--ribbon-pad-top) var(--ribbon-pad-inline) var(--ribbon-pad-bottom)!important;box-sizing:border-box!important;transform:translate(var(--ribbon-content-x,0px),var(--ribbon-content-y,0px)) scale(var(--ribbon-effective-scale,1));transform-origin:left bottom!important;transition:transform .12s ease,padding .12s ease!important;}
[data-ribbon-root] .hero-kicker{display:inline-flex!important;align-items:center!important;gap:.6rem!important;margin:0 0 .75rem 0!important;font-family:var(--f-head,Arial,sans-serif)!important;font-size:clamp(.72rem,.9vw,.86rem)!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--ribbon-kicker)!important;text-shadow:var(--ribbon-shadow)!important;line-height:1.3!important;}
[data-ribbon-root] .hero-kicker::before{content:""!important;display:block!important;width:28px!important;height:2px!important;background:currentColor!important;flex:0 0 auto!important;}
[data-ribbon-root] .hero-title,[data-ribbon-root] .hero-h1,[data-ribbon-root] h1{max-width:14ch!important;margin:0!important;color:var(--ribbon-text)!important;text-shadow:var(--ribbon-shadow)!important;font-family:var(--f-head,Arial,sans-serif)!important;font-size:clamp(2rem,4.6vw,4rem)!important;font-weight:900!important;line-height:1.04!important;letter-spacing:.015em!important;text-wrap:balance!important;overflow:visible!important;}
[data-ribbon-root] .hero-title em,[data-ribbon-root] .hero-h1 em,[data-ribbon-root] .hero-title span,[data-ribbon-root] h1 em,[data-ribbon-root] h1 span{display:block!important;margin-top:.62rem!important;color:rgba(255,255,255,.86)!important;font-family:var(--f-serif,Georgia,serif)!important;font-size:clamp(1rem,1.65vw,1.28rem)!important;font-style:italic!important;font-weight:400!important;line-height:1.42!important;letter-spacing:.01em!important;max-width:44rem!important;}
[data-ribbon-root] .hero-desc,[data-ribbon-root] .hero-inner>p{max-width:46rem!important;margin:1rem 0 0 0!important;color:var(--ribbon-text-soft)!important;text-shadow:var(--ribbon-shadow)!important;font-size:clamp(.96rem,1.15vw,1.08rem)!important;line-height:1.62!important;overflow:visible!important;}
[data-ribbon-root] .hero-btns{display:flex!important;flex-wrap:wrap!important;gap:.85rem!important;margin-top:1.2rem!important;}
[data-ribbon-root] .hero-scroll{position:absolute!important;right:clamp(1rem,3vw,2.5rem)!important;bottom:clamp(.75rem,2vw,1.7rem)!important;z-index:3!important;color:#fff!important;text-shadow:var(--ribbon-shadow)!important;}
.ribbon-align-center{text-align:center!important;}
.ribbon-align-center .hero-inner{text-align:center!important;transform-origin:center bottom!important;}
.ribbon-align-center .hero-kicker{justify-content:center!important;}
.ribbon-align-center .hero-kicker::before{display:none!important;}
.ribbon-align-center .hero-title,.ribbon-align-center .hero-h1,.ribbon-align-center h1,.ribbon-align-center .hero-desc,.ribbon-align-center .hero-inner>p{margin-left:auto!important;margin-right:auto!important;max-width:min(100%,52rem)!important;}
[data-ribbon-root].ribbon-height-tight .hero-inner{padding-top:calc(var(--nav-h,76px) + .65rem)!important;padding-bottom:.95rem!important;}
[data-ribbon-root].ribbon-height-tight .hero-kicker{margin-bottom:.45rem!important;font-size:.68rem!important;letter-spacing:.12em!important;}
[data-ribbon-root].ribbon-height-tight .hero-title,[data-ribbon-root].ribbon-height-tight .hero-h1,[data-ribbon-root].ribbon-height-tight h1{font-size:clamp(1.55rem,3.2vw,2.8rem)!important;line-height:1.02!important;}
[data-ribbon-root].ribbon-height-tight .hero-title em,[data-ribbon-root].ribbon-height-tight .hero-h1 em,[data-ribbon-root].ribbon-height-tight h1 em,[data-ribbon-root].ribbon-height-tight .hero-title span{margin-top:.38rem!important;font-size:clamp(.78rem,1.25vw,1.02rem)!important;line-height:1.28!important;}
[data-ribbon-root].ribbon-height-tight .hero-desc,[data-ribbon-root].ribbon-height-tight .hero-inner>p{margin-top:.55rem!important;font-size:.88rem!important;line-height:1.35!important;}
[data-ribbon-root].ribbon-height-tight .hero-btns{margin-top:.7rem!important;gap:.55rem!important;}
[data-ribbon-root].ribbon-height-tight .hero-btns a{padding:.68rem .95rem!important;font-size:.78rem!important;}
[data-ribbon-root].ribbon-height-tiny .hero-desc,[data-ribbon-root].ribbon-height-tiny .hero-kicker{display:none!important;}
[data-ribbon-root].ribbon-height-tiny .hero-btns{display:none!important;}
[data-ribbon-root].ribbon-height-tiny .hero-title,[data-ribbon-root].ribbon-height-tiny .hero-h1,[data-ribbon-root].ribbon-height-tiny h1{font-size:clamp(1.35rem,2.7vw,2.15rem)!important;}
.cms-ribbon-size-grip{position:absolute!important;left:50%!important;bottom:8px!important;transform:translateX(-50%)!important;z-index:2147483000!important;border:2px solid rgba(255,255,255,.95)!important;background:rgba(2,132,199,.96)!important;color:#fff!important;border-radius:999px!important;padding:10px 18px!important;font:900 12px/1 Arial,sans-serif!important;box-shadow:0 14px 34px rgba(0,0,0,.34)!important;cursor:ns-resize!important;user-select:none!important;touch-action:none!important;}
.cms-ribbon-size-grip:hover{background:rgba(14,165,233,.98)!important;}
.cms-ribbon-text-grip{position:absolute!important;left:12px!important;bottom:8px!important;z-index:2147483000!important;border:2px solid rgba(255,255,255,.95)!important;background:rgba(28,61,37,.96)!important;color:#fff!important;border-radius:999px!important;padding:10px 16px!important;font:900 12px/1 Arial,sans-serif!important;box-shadow:0 14px 34px rgba(0,0,0,.34)!important;cursor:move!important;user-select:none!important;touch-action:none!important;}
@media (max-width:960px){:root{--ribbon-h-compact:clamp(17rem,48vw,21rem);--ribbon-h-medium:clamp(20rem,58vw,25rem);--ribbon-h-large:clamp(23rem,68vw,29rem);} [data-ribbon-root] .hero-scroll{display:none!important;}}
@media (max-width:640px){:root{--ribbon-h-compact:19rem;--ribbon-h-medium:23rem;--ribbon-h-large:27rem;} [data-ribbon-root] .hero-inner{padding-top:calc(var(--nav-h,68px) + .9rem)!important;padding-bottom:1.25rem!important;} [data-ribbon-root] .hero-title,[data-ribbon-root] .hero-h1,[data-ribbon-root] h1{max-width:100%!important;font-size:clamp(1.75rem,10vw,2.7rem)!important;} [data-ribbon-root] .hero-desc,[data-ribbon-root] .hero-inner>p{font-size:.95rem!important;line-height:1.52!important;} [data-ribbon-root] .hero-btns{gap:.7rem!important;}}
@media (prefers-reduced-motion:reduce){[data-ribbon-root] .hero-media__video{display:none!important;}[data-ribbon-root] .hero-media__image{opacity:1!important;}}
