/* ProMed VAs Cinematic Motion v1 — presentation-only layers over approved artwork. */
.au:not(.cm-hero-seq):not(.cm-reveal-in){animation:none!important}
@keyframes cm-phoenix-in{0%{opacity:0;scale:.975}45%{opacity:1}100%{opacity:1;scale:1}}
@keyframes cm-phoenix-shine{0%,2%{translate:-155% 0;opacity:0}3%{opacity:.9}10%{translate:155% 0;opacity:.65}12%,98%{translate:155% 0;opacity:0}99%{translate:-155% 0;opacity:0}100%{translate:-155% 0;opacity:0}}
@keyframes cm-phoenix-glow{0%,11%,90%,100%{opacity:0}4%{opacity:.55}7%{opacity:.2}96%{opacity:.17}}
@keyframes cm-phoenix-hover{0%{translate:-150% 0;opacity:0}30%{opacity:.9}100%{translate:155% 0;opacity:0}}
@keyframes cm-hero-enter{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@keyframes cm-section-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes cm-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes cm-view-enter{from{opacity:.12;translate:0 9px}to{opacity:1;translate:0 0}}
@keyframes cm-modal-enter{from{opacity:0;translate:0 12px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes cm-faq-enter{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
.cm-logo-visual{display:block;position:relative;width:100%;height:100%;isolation:isolate;overflow:visible}
.cm-logo-visual>img{position:relative;z-index:1}
.cm-logo-sheen,.cm-logo-halo{position:absolute;inset:2% 0;z-index:2;pointer-events:none;border-radius:16px}
.cm-logo-halo{z-index:0;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(222,175,72,.5),rgba(23,152,105,.13) 40%,transparent 65%);filter:blur(10px);opacity:0}
.cm-logo-sheen{overflow:hidden;opacity:0;background:linear-gradient(104deg,transparent 25%,rgba(248,222,156,.04) 41%,rgba(255,236,183,.43) 51%,rgba(248,222,156,.03) 59%,transparent 75%);mix-blend-mode:screen;translate:-155% 0}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-active{animation:cm-phoenix-in 1600ms ease-out both}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-active .cm-logo-halo{animation:cm-phoenix-glow 14s linear infinite}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-active .cm-logo-sheen{animation:cm-phoenix-shine 14s ease-in-out infinite}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-hover .cm-logo-sheen{animation:cm-phoenix-hover 450ms ease-out 1!important}
html.cm-motion-hidden .cm-logo-visual *,html.cm-motion-hidden .cm-logo-visual{animation-play-state:paused!important}
html.cm-ready:not(.cm-motion-off) .cm-hero-seq{animation:cm-hero-enter 710ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--cm-delay,0ms)}
html.cm-ready:not(.cm-motion-off) .cm-reveal-in{animation:cm-section-enter 650ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--cm-delay,0ms)}
html.cm-ready:not(.cm-motion-off) #page-main .hero-img-grid.cm-hero-seq{animation-duration:850ms}
html.cm-ready:not(.cm-motion-off) #page-main .va-card{animation:cm-float 6.5s ease-in-out infinite}
html.cm-ready:not(.cm-motion-off) #page-main .va-card.bill{animation-delay:-1.7s}
html.cm-ready:not(.cm-motion-off) #page-main .va-card.admin{animation-delay:-3.4s}
html.cm-ready:not(.cm-motion-off) .page.active.cm-view-enter,
html.cm-ready:not(.cm-motion-off) .tv.show.cm-view-enter{animation:cm-view-enter 280ms ease-out both}
html.cm-ready:not(.cm-motion-off) .cm-stage-enter{animation:cm-view-enter 180ms ease-out both}
html.cm-ready:not(.cm-motion-off) main>.top.cm-legal-entry{animation:cm-view-enter 250ms ease-out both}
html.cm-ready:not(.cm-motion-off) #amodal.open .amodal-box{animation:cm-modal-enter 220ms ease-out both}
html.cm-ready:not(.cm-motion-off) .faq-item.open .faq-a{animation:cm-faq-enter 220ms ease-out both}
html.cm-ready:not(.cm-motion-off) .svc,
html.cm-ready:not(.cm-motion-off) .casecard{transition:translate .26s ease,box-shadow .26s ease,border-color .26s ease}
@media(hover:hover) and (pointer:fine){
  html.cm-ready:not(.cm-motion-off) .svc:hover,
  html.cm-ready:not(.cm-motion-off) .casecard:hover{translate:0 -6px;box-shadow:0 18px 38px rgba(0,0,0,.27),0 0 0 1px rgba(216,173,85,.22)}
  html.cm-ready:not(.cm-motion-off) .cm-logo-visual{transition:filter .35s ease}
  html.cm-ready:not(.cm-motion-off) .cm-logo-visual:hover{filter:drop-shadow(0 0 8px rgba(216,173,85,.3))}
}
.cm-motion-toggle{position:fixed;bottom:max(.8rem,env(safe-area-inset-bottom));left:.8rem;z-index:425;
  border:1px solid rgba(216,173,85,.52);border-radius:999px;background:rgba(16,20,22,.93);
  color:#f8e5bb;font:600 .72rem/1.2 "Bricolage Grotesque",system-ui,sans-serif;
  padding:.62rem .95rem;cursor:pointer;box-shadow:0 6px 19px rgba(0,0,0,.22)}
.cm-motion-toggle:hover,.cm-motion-toggle:focus-visible{background:#27332c;border-color:#eac77c}
.cm-motion-toggle:disabled{opacity:.73;cursor:default}
.cm-motion-toggle[hidden]{display:none!important}
html.cm-motion-off :is(.cm-logo-visual,.cm-logo-sheen,.cm-logo-halo,.cm-reveal-in,.cm-hero-seq,.cm-view-enter,.cm-stage-enter,.cm-legal-entry,.va-card,.amodal-box,.faq-a){animation:none!important;transition:none!important;translate:none!important;scale:1!important;opacity:1!important}
html.cm-motion-off .cm-logo-halo,html.cm-motion-off .cm-logo-sheen{opacity:0!important}
html.cm-motion-off .cm-motion-toggle{border-color:#b58ae2;color:#eee1fa}
@media(max-width:900px){
  html.cm-ready:not(.cm-motion-off) #page-main .va-card{animation:none}
  .cm-logo-halo{filter:blur(6px)}
}
@media(max-width:620px){.cm-motion-toggle{font-size:.66rem;padding:.48rem .72rem;left:.5rem;bottom:max(.5rem,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){
  html:not(.cm-motion-opt-in) :is(.cm-hero-seq,.cm-reveal-in,.cm-view-enter,.cm-stage-enter,.cm-logo-visual,.cm-logo-sheen,.cm-logo-halo,.va-card,.amodal-box,.faq-a){animation:none!important;transition:none!important;opacity:1!important;translate:none!important;scale:1!important}
  html:not(.cm-motion-opt-in) :is(.cm-logo-sheen,.cm-logo-halo){opacity:0!important}
}

/* Cinematic visibility repair (2026-10-11):
   The approved logo image has an opaque dark backing. A glow behind the image
   is almost invisible; these additive ABOVE-image effects never replace pixels. */
@keyframes cm-gold-orbit{to{rotate:360deg}}
@keyframes cm-living-feather{0%,100%{opacity:.24}35%{opacity:.74}70%{opacity:.36}}
@keyframes cm-phoenix-shine{
  0%,5%{translate:-135% 0;opacity:0}
  10%{opacity:1}
  30%{translate:145% 0;opacity:.85}
  34%,100%{translate:145% 0;opacity:0}
}
@keyframes cm-phoenix-glow{0%,100%{opacity:.12}25%,45%{opacity:.52}70%{opacity:.18}}
@keyframes cm-title-gold{0%,100%{background-position:0% center}50%{background-position:100% center}}
@keyframes cm-atmosphere{0%,100%{translate:-5% 2%;opacity:.42}50%{translate:5% -3%;opacity:.83}}
@keyframes cm-float-mobile{0%,100%{translate:0 0}50%{translate:0 -3px}}
/* Move the illumination ABOVE the flattened header art so it can actually be seen. */
.cm-logo-visual>.cm-logo-halo{
  inset:2% 67% 1% 0;
  z-index:2;
  border-radius:60%;
  background:radial-gradient(ellipse at 49% 48%,rgba(244,184,59,.64) 0%,rgba(239,193,78,.21) 38%,transparent 73%);
  mix-blend-mode:screen;
  filter:blur(5px);
}
.cm-logo-visual>.cm-logo-sheen{
  z-index:3;
  background:linear-gradient(107deg,transparent 22%,rgba(255,226,157,.0) 37%,rgba(255,238,192,.64) 49%,rgba(255,219,132,.29) 53%,transparent 67%);
  mix-blend-mode:screen;
}
.cm-logo-orbit{
  position:absolute;z-index:4;left:0;top:6%;height:88%;aspect-ratio:1.08;
  border-radius:50%;pointer-events:none;opacity:.86;
  background:conic-gradient(from 10deg,transparent 0 215deg,rgba(238,198,99,.18) 235deg,rgba(255,231,161,.95) 262deg,rgba(237,177,54,.32) 284deg,transparent 300deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 1px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 1px));
}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-active .cm-logo-orbit{animation:cm-gold-orbit 8s linear infinite}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-active .cm-logo-halo{animation:cm-phoenix-glow 7s ease-in-out infinite}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-active .cm-logo-sheen{animation:cm-phoenix-shine 7s ease-in-out infinite}
html.cm-ready:not(.cm-motion-off) .cm-logo-visual.cm-logo-hover .cm-logo-orbit{animation-duration:2s}
html.cm-motion-hidden .cm-logo-orbit{animation-play-state:paused!important}
/* Visible gold movement in the hero headline and the existing background. */
html.cm-ready:not(.cm-motion-off) .hero .hh1 em{
  background-image:linear-gradient(95deg,#e1ac53 0%,#ffe9ad 25%,#d9ac55 52%,#f6ca71 76%,#ffe6a6 100%);
  background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:cm-title-gold 7s ease-in-out infinite;
}
.hero .hero-bg::after{
  content:'';position:absolute;inset:8% 25% 9% 1%;z-index:0;pointer-events:none;
  border-radius:48%;background:radial-gradient(ellipse,rgba(18,157,111,.27) 0%,rgba(181,138,226,.11) 38%,transparent 67%);
  opacity:.45;
}
html.cm-ready:not(.cm-motion-off) .hero .hero-bg::after{animation:cm-atmosphere 18s ease-in-out infinite}
@media(max-width:900px){
  html.cm-ready:not(.cm-motion-off) #page-main .va-card{animation:cm-float-mobile 9s ease-in-out infinite}
  html.cm-ready:not(.cm-motion-off) #page-main .va-card.bill{animation-delay:-2s}
  html.cm-ready:not(.cm-motion-off) #page-main .va-card.admin{animation-delay:-4s}
}
@media(prefers-reduced-motion:reduce){
  html:not(.cm-motion-opt-in) :is(.cm-logo-orbit,.hero .hero-bg::after,.hero .hh1 em){animation:none!important}
  html:not(.cm-motion-opt-in) .cm-logo-orbit{display:none!important}
  html:not(.cm-motion-opt-in) .hero .hh1 em{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--g300)!important}
}
html.cm-motion-off .cm-logo-orbit{display:none!important}
html.cm-motion-off .hero .hh1 em{animation:none!important;background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--g300)!important}
html.cm-motion-off .hero .hero-bg::after{animation:none!important}

/* No floating restriction badge. Motion preferences are available only in the footer. */
#page-main .footer-bot .cm-motion-toggle{position:static;z-index:auto;left:auto;bottom:auto;border:0;border-bottom:1px solid rgba(216,173,85,.48);border-radius:0;background:none;box-shadow:none;color:#d7b572;padding:.25rem .2rem;font-size:.76rem;white-space:nowrap}
#page-main .footer-bot .cm-motion-toggle:hover,#page-main .footer-bot .cm-motion-toggle:focus-visible{background:transparent;border-color:#f2d28a;color:#f8e5bb}
#page-main .footer-bot .cm-motion-toggle:disabled{opacity:1}
