.stride-word{display:inline-block;animation:stride-word-up .85s cubic-bezier(.2,.75,.2,1) both;animation-delay:var(--word-delay)}@keyframes stride-word-up{from{opacity:0;translate:0 22px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.stride-interactive .hero h1 em,.stride-interactive .section-heading h2 em,.stride-interactive .contact h2 em{position:relative}.stride-interactive .hero h1 em:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:linear-gradient(90deg,#a78664,transparent);transform-origin:left;animation:stride-draw-line 1.4s ease both;animation-delay:.7s}@keyframes stride-draw-line{from{scale:0 1}to{scale:1 1}}
.stride-interactive .hero-image,.stride-interactive .horse-photo{overflow:hidden}.stride-interactive .hero-image img,.stride-interactive .horse-photo img{transform:translateY(var(--photo-shift,0px)) scale(var(--photo-scale,1.02));transition:transform .25s linear;will-change:transform}
.stride-interactive .button,.stride-interactive .contact-links a,.stride-interactive .mobile-contact-actions a{transition:transform .25s,box-shadow .25s,background .25s}.stride-interactive .button:hover,.stride-interactive .button:focus-visible{transform:translateY(-3px);box-shadow:0 10px 25px #51321f20}.stride-interactive .mobile-contact-actions a:active{transform:scale(.95)}
.stride-detail-motion{opacity:1;transition:box-shadow .4s,transform .4s}.stride-detail-motion.stride-detail-visible{animation:stride-card-arrival .8s ease both;animation-delay:var(--card-delay)}@keyframes stride-card-arrival{from{translate:0 22px;opacity:.3}to{translate:0 0;opacity:1}}
.stride-interactive .service-tile{position:relative;isolation:isolate;overflow:hidden}.stride-interactive .service-tile:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:0;background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),#bba78635,transparent 55%);transition:opacity .35s}.stride-interactive .service-tile:hover:after,.stride-interactive .service-focused:after{opacity:1}.stride-interactive .service-tile:hover{box-shadow:0 16px 35px #51321f14;transform:translateY(-4px)}
.stride-interactive .approach-grid article:hover,.stride-interactive .experience-grid article:hover{box-shadow:0 12px 30px #51321f12;transform:translateY(-3px)}
.stride-interactive #quote-form label{transition:background .3s,box-shadow .3s}.stride-interactive #quote-form label.field-active{background:#eee4d540;box-shadow:-3px 0 0 #a78664}.enquiry-meter{height:3px;background:#c5b79f40;margin-bottom:20px;overflow:hidden;grid-column:1/-1}.enquiry-meter span{display:block;height:100%;background:#987455;width:0;transition:width .5s}
.stride-location{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.8fr;gap:35px;align-items:center;margin-top:35px;padding:30px;background:#eee5d9;border:1px solid #d2c3ae;border-radius:14px;overflow:hidden}.stride-location h3{font:30px/1.2 Georgia;color:#51321f;margin:0 0 18px}.stride-location p{font-size:15px}.stride-location iframe{width:100%;height:300px;border:0;border-radius:10px}.stride-location a{color:#51321f;text-decoration:underline;text-underline-offset:4px}.stride-location.stride-detail-visible{animation:stride-card-arrival .8s ease both}
@media(max-width:720px){.stride-location{display:block;padding:22px;margin-top:15px}.stride-location h3{font-size:27px}.stride-location iframe{height:260px;margin-top:20px}.stride-interactive .hero-image img{object-position:center 43%}.stride-word{animation-duration:.65s}}
@media(prefers-reduced-motion:reduce) and (max-width:0px){body:not(.stride-motion-active) .stride-interactive *,body:not(.stride-motion-active) .stride-interactive *:after{animation:none!important;transition:none!important}body:not(.stride-motion-active) .stride-interactive .hero-image img,body:not(.stride-motion-active) .stride-interactive .horse-photo img{transform:none!important}}
.stride-location{display:flex;flex-direction:column;gap:16px;padding:18px}.stride-location iframe{order:0;height:320px}.stride-location>div{order:1;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.stride-location>div p{margin:0;font-size:14px;line-height:1.6}.stride-location>div a{font-size:13px;white-space:nowrap}
@media(max-width:720px){.stride-location iframe{height:260px;margin:0}.stride-location>div{align-items:flex-start;gap:15px}.stride-location>div p{font-size:12px}.stride-location>div a{font-size:11px}}
/* Keep the real about-photo steady and crisp while its surrounding content enters. */
.stride-interactive #fleur .horse-photo img{transform:none!important;will-change:auto}
.stride-motion-settings{border:1px solid #b9a58d;border-radius:20px;padding:7px 13px;background:transparent;color:#62442d;font:11px Arial;cursor:pointer}
@media(max-width:720px){.stride-mobile-motion .stride-phone-entrance.stride-phone-visible{animation:stride-phone-arrival .9s cubic-bezier(.18,.7,.2,1) both!important}.stride-mobile-motion .service-tile:nth-child(even).stride-phone-visible{animation-delay:.12s!important}.stride-mobile-motion .hero-image.stride-phone-visible{animation-duration:1.2s!important}@keyframes stride-phone-arrival{from{opacity:.2;translate:0 35px;clip-path:inset(8% 0 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}}
body.stride-motion-paused *,body.stride-motion-paused *:after{animation:none!important;transition:none!important;translate:none!important;clip-path:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce) and (max-width:0px){body.stride-interactive:not(.stride-motion-active) *,body.stride-interactive:not(.stride-motion-active) *:after{animation:none!important;transition:none!important}}
