/* Riché: a little light, quiet movement and tactile controls. */
.hero,.menus:first-child{isolation:isolate}
.menus:first-child{position:relative;overflow:hidden}
.menus:first-child>.wrap{position:relative;z-index:1}
.hero::before,.menus:first-child::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 78% 18%,rgba(255,222,185,.12),transparent 58%);animation:riche-light 2.6s ease-out both}
.menus:first-child::before{z-index:0;background:radial-gradient(ellipse at 80% 18%,rgba(243,146,52,.12),transparent 62%)}
.hero .in{z-index:2}
.hero h1,.menus:first-child h1{animation:riche-arrive 1.15s cubic-bezier(.2,.65,.3,1) both}
.hero .in>p,.menus:first-child .lead{animation:riche-arrive 1.35s cubic-bezier(.2,.65,.3,1) both}
.hero picture img,.hero>img{animation:riche-settle 2.4s cubic-bezier(.2,.65,.3,1) both}
.menus:first-child .mosaic{animation:riche-arrive 1.55s cubic-bezier(.2,.65,.3,1) both}
.btn{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease}
.btn-o{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 5px 16px rgba(237,90,39,.18)}
.btn-o::after{content:"";position:absolute;inset:-30% -60%;pointer-events:none;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.24) 50%,transparent 60%);transform:translateX(-85%);transition:transform .85s cubic-bezier(.2,.6,.3,1)}
.btn-o:focus-visible::after{transform:translateX(85%)}
.btn:active{transform:translateY(1px);box-shadow:inset 0 2px 5px rgba(21,26,46,.12)}
@media(hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-2px)}.btn-o:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 9px 22px rgba(237,90,39,.24)}.btn-o:hover::after{transform:translateX(85%)}}
.reveal{transition-duration:1s;transform:translateY(18px)}
.riche-wait{opacity:.12;transform:translateY(16px)}
.riche-reveal{transition:opacity 1s cubic-bezier(.2,.65,.3,1),transform 1s cubic-bezier(.2,.65,.3,1)}
.riche-reveal.riche-shown{opacity:1;transform:none}
@keyframes riche-arrive{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes riche-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes riche-light{from{opacity:0;transform:translateX(-3%)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero::before,.menus:first-child::before,.hero h1,.menus:first-child h1,.hero .in>p,.menus:first-child .lead,.hero picture img,.hero>img,.menus:first-child .mosaic{animation:none;transform:none}.btn,.btn-o::after,.reveal,.riche-reveal{transition:none}.btn:hover,.btn:active{transform:none}.riche-wait{opacity:1;transform:none}.btn-o::after{display:none}}
