/* Oadford motion: quiet entrances, tactile details and soft brand light. */
.oadford-motion{isolation:isolate}
html[data-theme=dark] .oadford-motion{--page:#050811;--surface:#0b1020;background:#050811}
html[data-theme=dark] .oadford-motion .reference-section.brand-hero{background:#050811!important}
.brand-ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict}
.oadford-motion>.content,.oadford-motion>.brand-footer{position:relative;z-index:1}.oadford-motion>.site-utility{position:relative;z-index:2}
.brand-ambient::before,.brand-ambient::after{content:"";position:absolute;inset:-28%;background:radial-gradient(ellipse 28% 30% at 28% 30%,#6623dc 0%,#4a18b99c 35%,transparent 72%),radial-gradient(ellipse 24% 27% at 72% 65%,#00e7f59c 0%,#00b5d54f 35%,transparent 72%);filter:blur(12px);opacity:.8;animation:oadford-colour-flow 10s ease-in-out infinite;transform-origin:center}
.brand-ambient::after{background:radial-gradient(ellipse 24% 27% at 72% 28%,#f500d6a6 0%,#e000a84d 38%,transparent 72%),radial-gradient(ellipse 22% 25% at 28% 74%,#ff99337a 0%,#e96a2138 35%,transparent 72%);animation:oadford-colour-orbit 13s ease-in-out infinite;opacity:.72}
html[data-theme=light] .brand-ambient::before{opacity:.28}html[data-theme=light] .brand-ambient::after{opacity:.23}
@keyframes oadford-colour-flow{0%,100%{transform:translate3d(-13%,-9%,0) rotate(-12deg) scale(.98)}33%{transform:translate3d(15%,-5%,0) rotate(12deg) scale(1.08)}66%{transform:translate3d(-4%,15%,0) rotate(-5deg) scale(1.02)}}
@keyframes oadford-colour-orbit{0%,100%{transform:translate3d(14%,9%,0) rotate(12deg) scale(1.03)}35%{transform:translate3d(-14%,11%,0) rotate(-12deg) scale(1.1)}70%{transform:translate3d(6%,-15%,0) rotate(6deg) scale(.98)}}
.brand-section-glow{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}
.brand-section-glow::before,.brand-section-glow::after{content:"";position:absolute;inset:-30%;filter:blur(10px);background:radial-gradient(ellipse 26% 35% at 76% 30%,#7427ddbf 0%,#511e9e73 35%,transparent 74%),radial-gradient(ellipse 24% 30% at 25% 70%,#00dfec73 0%,#00a9bd33 38%,transparent 73%);animation:oadford-colour-flow 9s ease-in-out infinite;opacity:.7}
.brand-section-glow::after{background:radial-gradient(ellipse 25% 30% at 27% 25%,#ef00c578 0%,#b900a833 38%,transparent 72%),radial-gradient(ellipse 22% 28% at 75% 76%,#ff99335c 0%,#d86c2526 38%,transparent 72%);animation:oadford-colour-orbit 12s ease-in-out infinite;opacity:.65}
html[data-theme=light] .brand-section-glow{opacity:.4}
.oadford-motion .content{animation:oadford-page-arrival .65s cubic-bezier(.2,.65,.3,1) both}
@keyframes oadford-page-arrival{from{opacity:.35;transform:translateY(9px)}to{opacity:1;transform:none}}
/* Elements remain visible until the observer has been created successfully. */
.oadford-motion .motion-wait{opacity:0;translate:0 18px;transition:opacity .7s ease,translate .7s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.oadford-motion .motion-wait.motion-seen{opacity:1;translate:0 0}
.oadford-motion :is(.btn,.filter,.theme-toggle,.gallery-open){transition:translate .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
.oadford-motion :is(.portfolio-card,.product-card,.product,.brand-service-card,.service-card-large,.blog-card,.collection-card,.bento-tile){transition:translate .32s cubic-bezier(.2,.65,.3,1),box-shadow .32s ease,border-color .32s ease}
.oadford-motion :is(.portfolio-cover,.product-image,.blog-image){overflow:hidden}
.oadford-motion :is(.portfolio-cover,.product-image,.blog-image) img{transition:scale .6s cubic-bezier(.2,.65,.3,1)}
.oadford-motion .site-navigation>a:not(.btn){text-underline-offset:7px;transition:color .2s ease,text-decoration-color .2s ease}
@media(hover:hover) and (pointer:fine){
 .oadford-motion :is(.btn,.filter,.theme-toggle):hover{translate:0 -2px;box-shadow:0 7px 22px #6d31cb28}
 .oadford-motion :is(.portfolio-card,.product-card,.product,.brand-service-card,.service-card-large,.blog-card,.collection-card,.bento-tile):hover{translate:0 -4px;border-color:#8a62b5;box-shadow:0 15px 32px #05081326}
 .oadford-motion :is(.portfolio-card,.product-card,.product,.blog-card):hover :is(.portfolio-cover,.product-image,.blog-image) img{scale:1.035}
 .oadford-motion .gallery-open:hover{translate:0 -3px;border-color:#9670bf;box-shadow:0 10px 25px #05081324}
 .oadford-motion .site-navigation>a:not(.btn):hover{text-decoration:underline;text-decoration-color:#aa7ee8}
}
.oadford-motion .btn:active{translate:0 0;box-shadow:none}
@media(max-width:750px){.brand-ambient::before{animation-duration:12s;filter:blur(9px)}.brand-ambient::after{animation-duration:16s;filter:blur(9px)}.brand-section-glow::before{animation-duration:11s;filter:blur(8px)}.brand-section-glow::after{animation-duration:14s;filter:blur(8px)}.oadford-motion .motion-wait{translate:0 10px}}
html.motion-paused :is(.brand-ambient,.brand-section-glow)::before,html.motion-paused :is(.brand-ambient,.brand-section-glow)::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .oadford-motion .content,.brand-ambient::before,.brand-ambient::after,.brand-section-glow::before,.brand-section-glow::after{animation:none!important}
 .oadford-motion .motion-wait{opacity:1!important;translate:none!important;transition:none!important}
 .oadford-motion :is(.btn,.filter,.theme-toggle,.gallery-open,.portfolio-card,.product-card,.product,.brand-service-card,.service-card-large,.blog-card,.collection-card,.bento-tile),.oadford-motion :is(.portfolio-cover,.product-image,.blog-image) img{transition:none!important;translate:none!important;scale:1!important}
}
@media print{.brand-ambient,.brand-section-glow{display:none!important}.oadford-motion .motion-wait{opacity:1!important;translate:none!important}.oadford-motion .content{animation:none!important}}
