/* A playful rhythm: gentle ambient movement, one-time entrances and touch-safe interactions. */
.hero-copy .eyebrow{animation:rise-in .7s both}.hero h1{animation:rise-in .85s .08s both}.hero-copy>p{animation:rise-in .8s .18s both}.hero-actions{animation:rise-in .8s .28s both}.hero-foot{animation:rise-in .8s .38s both}.hero .photo-frame{animation:photo-in 1.05s .1s both}.hero h1 em{position:relative}.hero h1 em:after{content:'';position:absolute;bottom:-8px;left:0;width:85%;height:5px;border-radius:100%;background:var(--yellow);transform-origin:left;animation:underline-in 1s .7s both}.round-note{animation:bob-round 5s ease-in-out infinite}.little-note{animation:bob-note 6s ease-in-out infinite}.playful-accents{position:absolute;inset:0;pointer-events:none}.playful-accents span{position:absolute;line-height:1;font-family:Fredoka,sans-serif;color:#b55332;animation:accent-turn 9s ease-in-out infinite}.playful-accents span:nth-child(1){font-size:62px;left:-32px;top:35px;color:#b98200}.playful-accents span:nth-child(2){font-size:46px;right:4px;bottom:-10px;animation-delay:-3s}.playful-accents span:nth-child(3){font-size:38px;left:12px;bottom:-15px;animation-delay:-6s;color:var(--green)}
.values-strip{display:block;overflow:hidden;padding:23px 0}.values-track{display:flex;width:max-content;animation:world-scroll 34s linear infinite}.values-group{display:flex;align-items:center;gap:42px;white-space:nowrap;padding:0 21px}.values-group:after{content:'✦';color:var(--yellow);margin-left:0}.values-strip:hover .values-track{animation-play-state:paused}.values-strip i:last-of-type{display:block}.values-strip span:last-child{flex-basis:auto}.scroll-reveal{opacity:0;translate:0 30px;transition:opacity .7s var(--reveal-delay,0ms),translate .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.scroll-reveal.revealed{opacity:1;translate:0 0}.programme{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease-out,box-shadow .3s,opacity .7s var(--reveal-delay,0ms),translate .7s var(--reveal-delay,0ms)}.programme:hover{box-shadow:0 20px 35px #163c351a}.programme .symbol{transition:transform .4s cubic-bezier(.2,.8,.2,1);transform-origin:20% 60%}.programme:hover .symbol{transform:rotate(-9deg) scale(1.12)}.programme a span,.button span{display:inline-block;transition:transform .25s}.programme a:hover span,.button:hover span{transform:translate(4px,-4px)}.button:active{transform:translateY(0) scale(.97)}nav a{position:relative}nav a:after{content:'';height:2px;background:#b55332;position:absolute;left:0;right:0;bottom:-6px;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}.centres article{transition:background .25s,padding .25s,opacity .7s,translate .7s}.centres article:hover{background:#f1f3e9;padding-left:14px;padding-right:14px}.moment-visual{transition:transform .5s,opacity .7s,translate .7s}.moment-visual:hover{transform:rotate(0deg)}.closing{position:relative;overflow:hidden}.closing:before,.closing:after{content:'✦';position:absolute;color:#fbd955;font-size:80px;line-height:1;animation:accent-turn 12s ease-in-out infinite;pointer-events:none}.closing:before{left:7%;top:22%}.closing:after{right:7%;bottom:15%;font-size:52px;animation-delay:-5s}.closing em{display:inline-block}.closing:hover em{animation:shine-wiggle .65s ease-in-out}.motion-toggle{position:fixed;bottom:18px;right:18px;z-index:20;border:1px solid #163c3533;border-radius:24px;background:#fffdf6ed;color:var(--ink);box-shadow:0 3px 16px #163c3512;padding:9px 14px;font:500 12px/1.5 'DM Sans',sans-serif;cursor:pointer;backdrop-filter:blur(8px)}.motion-toggle:hover{background:var(--yellow)}.motion-toggle:disabled{cursor:default}
@keyframes rise-in{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-in{from{opacity:0;transform:translateY(25px) rotate(3deg) scale(.96)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes underline-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes bob-round{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(-13px) rotate(5deg)}}@keyframes bob-note{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(9px) rotate(-3deg)}}@keyframes accent-turn{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(32deg) scale(1.12)}}@keyframes world-scroll{to{transform:translateX(-50%)}}@keyframes shine-wiggle{0%,100%{transform:rotate(0)}30%{transform:rotate(-4deg)}65%{transform:rotate(3deg)}}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-paused .scroll-reveal{opacity:1;translate:none}.motion-paused .programme{transform:none}.motion-paused .programme:hover .symbol{transform:none}@media(max-width:760px){.values-group{gap:25px;padding:0 13px}.playful-accents span:nth-child(1){left:-20px;font-size:44px}.closing:before{font-size:35px;left:2%;top:12%}.closing:after{font-size:28px;right:3%;bottom:11%}.motion-toggle{right:10px;bottom:10px;font-size:12px;padding:7px 11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scroll-reveal{opacity:1;translate:none}.programme{transform:none!important}}
