/* Home-only adaptations of spotlight, border-beam and staggered reveal patterns. */
body.home-motion{--motion-ease:cubic-bezier(.22,1,.36,1)}
.home-motion .section{position:relative;isolation:isolate}
.home-motion .section-head h2{display:inline-block;position:relative}
.home-motion .section-head h2::after{content:"";position:absolute;height:3px;bottom:-8px;right:35%;left:35%;border-radius:3px;background:linear-gradient(90deg,transparent,#99b67b,transparent);transform:scaleX(.3);opacity:0;transition:transform 1s var(--motion-ease),opacity 1s}
.home-motion .section-head.is-visible h2::after{transform:scaleX(1);opacity:1}
.home-motion .motion-reveal{transition:opacity .8s var(--motion-ease),translate .9s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.home-motion .motion-reveal.is-pending{opacity:0;translate:0 28px}
.home-motion :is(.category-card,.disease-card,.feature,.course-card,.service,.quote-card){position:relative;transition:transform .45s var(--motion-ease),box-shadow .45s,border-color .4s;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));border:1px solid #dce5d7;isolation:isolate}
.home-motion :is(.category-card,.disease-card,.feature,.course-card,.service,.quote-card)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--pointer-x,50%) var(--pointer-y,0%),#c9e6b94a,transparent 65%);opacity:0;transition:opacity .4s;z-index:2}
.home-motion :is(.category-card,.disease-card,.feature,.course-card,.service,.quote-card):hover{box-shadow:0 22px 48px -20px #1b593a4d;border-color:#8fb88b;z-index:3}
.home-motion :is(.category-card,.disease-card,.feature,.course-card,.service,.quote-card):hover::after{opacity:1}
.home-motion :is(.category-card,.disease-card,.course-card){overflow:hidden}
.home-motion :is(.category-card,.disease-card,.course-card) img{transition:transform .75s var(--motion-ease),filter .5s}
.home-motion :is(.category-card,.disease-card,.course-card):hover img{transform:scale(1.045);filter:saturate(1.06)}
.home-motion .feature>svg{transition:transform .55s var(--motion-ease),color .4s}
.home-motion .feature:hover>svg{transform:translateY(-4px) rotate(-8deg);color:#a27439}
.home-motion .service>img{transition:transform .7s var(--motion-ease);transform-origin:50% 100%}
.home-motion .service:hover>img{transform:translateY(-5px) rotate(-1.5deg)}
.home-motion .deep{background:radial-gradient(ellipse at 5% 5%,#35825b 0,transparent 55%),radial-gradient(ellipse at 100% 100%,#164c35 0,transparent 60%),#206843}
.home-motion .service p{color:#627464}
.home-motion .btn{position:relative;isolation:isolate;overflow:hidden;transition:transform .3s var(--motion-ease),box-shadow .3s,background .3s}
.home-motion .btn::after{content:"";position:absolute;inset:-100% -40%;background:linear-gradient(110deg,transparent 42%,#ffffff45 50%,transparent 58%);transform:translateX(75%);pointer-events:none}
.home-motion .btn:hover::after{transform:translateX(-75%);transition:transform .85s}
.home-motion .btn:hover{transform:none;box-shadow:none}
.home-motion .btn:active{transform:none}
.home-motion .arrow-link svg,.home-motion .mini-arrow{transition:transform .3s var(--motion-ease)}
.home-motion .arrow-link:hover svg,.home-motion a:hover .mini-arrow{transform:translateX(-5px)}
.home-motion .faq-copy details{transition:background .35s,box-shadow .35s,border-color .35s}
.home-motion .faq-copy details[open]{background:#fff;border-color:#b3c8a4;box-shadow:0 12px 28px #1b543d0d}
.home-motion .faq-copy details[open] p{animation:home-answer .4s var(--motion-ease)}
.home-progress{position:fixed;top:0;right:0;height:3px;background:linear-gradient(90deg,#b5d48e,#d7aa60,#2b7751);transform-origin:right;transform:scaleX(var(--page-progress,0));width:100%;z-index:1000;pointer-events:none;box-shadow:0 0 12px #b8d58c88}
.home-top{position:fixed;bottom:24px;left:24px;width:44px;height:44px;border-radius:50%;background:#15583d;color:#fff;border:1px solid #ffffff70;box-shadow:0 8px 25px #194b3430;z-index:40;opacity:0;translate:0 15px;pointer-events:none;transition:opacity .3s,translate .3s,background .3s}
.home-top.is-visible{opacity:1;translate:0 0;pointer-events:auto}.home-top:hover{background:#2b7751}
.home-ripple{position:absolute;width:16px;height:16px;border-radius:50%;background:#ffffff50;transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:home-ripple .65s ease-out forwards}
@keyframes home-float{50%{transform:translateY(-10px)}}@keyframes home-orbit{to{rotate:360deg}}@keyframes home-aurora{to{rotate:360deg}}@keyframes home-title{50%{background-position:100% 50%}}@keyframes home-cue{50%{translate:0 6px}}@keyframes home-answer{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}@keyframes home-ripple{to{transform:translate(-50%,-50%) scale(25);opacity:0}}
@media(max-width:700px){.home-motion .hero-photo{animation-duration:12s}.home-top{left:14px;bottom:18px;width:40px;height:40px}.home-motion .motion-reveal.is-pending{translate:0 16px}}
@media(prefers-reduced-motion:reduce){.home-motion *,.home-motion *::before,.home-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-motion .motion-reveal.is-pending{opacity:1;translate:none}.home-motion :is(.category-card,.disease-card,.feature,.course-card,.service,.quote-card){transform:none!important}}
/* Staggered card entrances; hover transforms remain independent. */
.home-motion .motion-reveal{transition:opacity .85s var(--motion-ease),translate 1s var(--motion-ease),scale 1s var(--motion-ease),filter .8s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.home-motion .motion-reveal.is-pending{opacity:0;translate:0 42px;scale:.965;filter:blur(5px)}
.home-motion .motion-reveal.is-visible{opacity:1;translate:0 0;scale:1;filter:blur(0)}
@media(max-width:700px){.home-motion .motion-reveal.is-pending{translate:0 24px;scale:.98;filter:blur(3px)}}
@media(prefers-reduced-motion:reduce){.home-motion .motion-reveal.is-pending,.home-motion .motion-reveal.is-visible{opacity:1;translate:none;scale:1;filter:none;transition:none}}