/* Yalethuthando motion layer — no external libraries required. */
.hero-art{isolation:isolate}
.hero-art::before,.hero-art::after{content:"";position:absolute;pointer-events:none;z-index:-1;inset:8% -3%;border-radius:42% 58% 65% 35% / 35% 42% 58% 65%;background:linear-gradient(135deg,#d4268b24,#7637dc30);animation:yale-blob 16s ease-in-out infinite alternate}
.hero-art::after{inset:-3% 8%;background:linear-gradient(45deg,#421b9218,#d4268b20);animation-duration:21s;animation-direction:alternate-reverse}
.hero-art>img{animation:yale-frame 18s ease-in-out infinite alternate}
.art-note{animation:yale-float 7s ease-in-out infinite}
.dot{animation:yale-glow 3s ease-in-out infinite}
.service,.package,.work-grid article,.team article,blockquote{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s}
.service{position:relative;overflow:hidden;isolation:isolate}
.service::after{content:"";position:absolute;right:-70px;top:-70px;width:160px;height:160px;background:linear-gradient(135deg,#d4268b0d,#7637dc16);border-radius:40% 60% 55% 45%;z-index:-1;transition:transform .7s,border-radius .7s}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .3s,box-shadow .3s,background-color .3s}
.button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff25 50%,transparent 75%);transform:translateX(-120%);pointer-events:none;transition:transform .65s}
.text-link{transition:color .25s}
@media(hover:hover) and (pointer:fine){
.service:hover,.package:hover,.work-grid article:hover,.team article:hover,blockquote:hover{transform:translateY(-6px);box-shadow:0 18px 40px #25105d10}
.service:hover{border-color:#b995e0}.service:hover::after{transform:scale(1.6) rotate(35deg);border-radius:65% 35% 40% 60%}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #25105d20}.button:hover::after{transform:translateX(120%)}
.text-link:hover{color:var(--pink)}
}
@keyframes yale-blob{0%{border-radius:42% 58% 65% 35% / 35% 42% 58% 65%;transform:rotate(-6deg) scale(.98)}50%{border-radius:60% 40% 38% 62% / 55% 65% 35% 45%;transform:rotate(2deg) scale(1.02)}100%{border-radius:35% 65% 55% 45% / 60% 35% 65% 40%;transform:rotate(7deg) scale(.99)}}
@keyframes yale-frame{0%{border-radius:130px 12px 90px 12px}50%{border-radius:65px 80px 25px 80px}100%{border-radius:30px 130px 80px 35px}}
@keyframes yale-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes yale-glow{0%,100%{box-shadow:0 0 0 0 #d4268b00}50%{box-shadow:0 0 0 6px #d4268b18}}
@media(max-width:760px){.hero-art::before,.hero-art::after{inset:4% 0}.hero-art>img{animation-name:yale-frame-mobile}}
@keyframes yale-frame-mobile{0%{border-radius:70px 12px 60px 12px}100%{border-radius:25px 70px 25px 55px}}
@media(prefers-reduced-motion:reduce){
.hero-art::before,.hero-art::after,.hero-art>img,.art-note,.dot{animation:none!important}
.service,.package,.work-grid article,.team article,blockquote,.button,.button::after,.service::after,.text-link{transition:none!important;transform:none!important}
.button::after{display:none}
}
