/* Two green screenprint sunburst, centred behind the mascot. */
.hero{background:#073e40}
.hero .site-header>a img{width:189px;height:93px}
.hero .hero-cta{position:absolute;right:5%;bottom:clamp(24px,6vh,72px);z-index:3;max-width:calc(100% - 48px)}
.hero-contact-icon{display:none}
@media(max-width:700px){.hero .hero-cta{right:6%;bottom:24px}}
.hero::before{content:'';position:absolute;left:73%;top:53%;width:220vmax;height:220vmax;pointer-events:none;background:repeating-conic-gradient(from -8deg,#073e40 0deg 12deg,#0b4949 12deg 24deg);transform:translate(-50%,-50%);animation:hero-sun-turn 240s linear infinite;animation-play-state:paused}
.hero.hero-active::before{animation-play-state:running}
@keyframes hero-sun-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero-glint{overflow:visible}
.hero-glint path{fill:none;stroke:#fff8df;stroke-width:5;stroke-linecap:round;stroke-dasharray:.12 1;stroke-dashoffset:.12;opacity:0;filter:drop-shadow(0 0 3px #fff1d2)}
.hero-grain{z-index:0;pointer-events:none}
.hero-grid,.hero-bottom{position:relative;z-index:1}
.hero-bottom{position:absolute}
.mascot-stage .mascot{position:relative;transform:translate(var(--monkey-x,0px),var(--monkey-y,0px)) rotate(-5deg);transition:transform .22s ease-out}
.mascot-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.hero-arm{transform:translate(var(--arm-x,0px),var(--arm-y,0px));transition:transform .22s ease-out}
.hero-arm img{width:100%;height:100%;object-fit:contain;transform-origin:24% 84%}
.js .hero-arm img{opacity:0}
.js .hero-arm.is-ready img{animation:hero-hand-in 950ms cubic-bezier(.2,.8,.2,1) 100ms both}
@keyframes hero-hand-in{0%{opacity:0;transform:translate(-4%,16%) rotate(-8deg) scale(.9)}35%{opacity:1}78%{opacity:1;transform:translate(0,-1%) rotate(1deg) scale(1.015)}100%{opacity:1;transform:none}}
@media(max-width:700px){.hero::before{left:60%;top:68%}.hero-bottom{position:relative}}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none}.hero-glint{display:none}}
@media(prefers-reduced-motion:reduce){.mascot-stage .mascot,.hero-arm{transition:none;transform:none}.js .hero-arm img,.js .hero-arm.is-ready img{opacity:1;animation:none}}
/* Mobile composition only: title above a centred mascot, compact contact bubble. */
@media(max-width:700px){
  #accueil.hero{display:flex;flex-direction:column}
  .hero .site-header{flex:none}
  .hero .site-header nav{top:calc(100% - 12px)}
  .hero .hero-grid{flex:1;min-height:0;height:auto;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .hero .hero-copy{padding:0 5%;text-align:center}
  .hero .hero-copy .eyebrow,.hero .hero-intro{display:none}
  .hero h1{font-size:clamp(30px,min(10.5vw,7dvh),64px);line-height:1.03;margin:5px 0 12px;letter-spacing:-.02em;transform:none}
  .hero .mascot-stage{width:100%;height:100%;min-height:0;margin:0;display:grid;place-items:center}
  .hero .mascot-stage .mascot{width:94%;height:100%;margin:0}
  .hero .hero-cta{right:20px;bottom:max(20px,env(safe-area-inset-bottom));width:56px;height:56px;max-width:none;padding:0;gap:0;border-radius:50%;font-size:0;justify-content:center;box-shadow:3px 4px var(--pink)}
  .hero .hero-cta>span{display:none}
  .hero .hero-contact-icon{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .hero::before{left:50%;top:64%}
}
