:root{--paper:#ffffff;--ink:#0f172a;--mist:#f8fafc;--slate:#64748b;--purple:#0099fe;--purple-deep:#0f172a;--utl-green:#7fbb01;--utl-cyan:#00b7c7;--border:#e5f2ff;
--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--brand:#0099fe;--sky:#38bdf8;--navy:#0f172a;--canvas:#f5f6f8;--cloud:#eef0f3;--graphite:#5b6472;--line:#e2e6ec;}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:"Poppins","Inter",sans-serif;letter-spacing:-0.025em;line-height:1.12;font-weight:600;margin:0;}
h4,h5,h6,p,ul,ol,figure,blockquote{margin:0;} ul,ol{padding:0;list-style:none;}
a{color:inherit;text-decoration:none;} img,svg{display:block;}
button{font-family:inherit;cursor:pointer;background:none;border:0;padding:0;color:inherit;}
html{scroll-behavior:smooth;}
.sp1{padding-bottom:1rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:1rem}
@media(min-width:1024px){.sp1{padding-left:2.5rem;padding-right:2.5rem}}
.sp2{padding-bottom:2.5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:3rem}
@media(min-width:1024px){.sp2{padding-bottom:3rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:4rem}}
.sp3{padding-bottom:3.5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:1rem}
@media(min-width:1024px){.sp3{padding-bottom:4rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:3.5rem}}
.sp4{padding-bottom:5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:5rem}
@media(min-width:1024px){.sp4{padding-bottom:7rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:7rem}}
.sp5{}
@media(min-width:1024px){.sp5{padding-top:0.5rem}}
.sp6{padding:1.25rem}
@media(min-width:1024px){.sp6{padding:1.5rem}}
.sp7{padding-bottom:5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:5rem}
@media(min-width:1024px){.sp7{padding-bottom:6rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:6rem}}
.sp8{padding-left:1.25rem;padding-right:1.25rem;padding-top:5rem}
@media(min-width:1024px){.sp8{padding-left:2.5rem;padding-right:2.5rem;padding-top:7rem}}
.sp9{padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem;padding-top:2rem}
@media(min-width:1024px){.sp9{padding-bottom:2.5rem;padding-left:2rem;padding-right:2rem;padding-top:2.5rem}}
.sp10{padding-bottom:6rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:6rem}
@media(min-width:1024px){.sp10{padding-bottom:8rem;padding-top:8rem}}
.sp11{margin-top:3rem}
@media(min-width:1024px){.sp11{margin-top:4rem}}
.sp12{padding-right:2rem}
@media(min-width:1024px){.sp12{padding-right:5rem}}
.sp13{padding-bottom:4rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:4rem}
@media(min-width:1024px){.sp13{padding-left:2.5rem;padding-right:2.5rem}}
.sp14{padding-bottom:2.5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:2.5rem}
@media(min-width:1024px){.sp14{padding-bottom:3.5rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:3.5rem}}
.sp15{padding-bottom:6rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:6rem}
@media(min-width:1024px){.sp15{padding-bottom:8rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:8rem}}
.sp16{padding:2rem}
@media(min-width:1024px){.sp16{padding:2.5rem}}
.sp17{margin-top:3.5rem;padding:2rem}
@media(min-width:1024px){.sp17{padding:2.5rem}}
.sp18{padding-bottom:5rem;padding-top:5rem}
@media(min-width:1024px){.sp18{padding-bottom:7rem;padding-top:7rem}}
.sp19{padding-left:1.25rem;padding-right:1.25rem}
@media(min-width:1024px){.sp19{padding-left:2.5rem;padding-right:2.5rem}}
@media(min-width:1024px){.gp-lg-4{gap:4rem!important}}
@media(min-width:1024px){.gc-lg-53fd23{grid-template-columns:1.55fr 1fr!important}}
@media(min-width:640px){.gc-sm-d98344{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1024px){.gc-lg-e3e5e6{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:1024px){.gc-lg-0846df{grid-template-columns:1.2fr 1fr!important}}
@media(min-width:1024px){.rz-lg-font-size-146e35{font-size:1.1875rem!important}}
@media(min-width:640px){.gc-sm-c6fd10{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1024px){.gc-lg-bc4d9f{grid-template-columns:1.3fr 1fr!important}}
@media(min-width:1024px){.gc-lg-c6fd10{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1024px){.gc-lg-2cae76{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(min-width:1024px){.rz-lg-height-2e739d{height:6rem!important}}
@media(min-width:1024px){.rz-lg-height-994485{height:3.5rem!important}}
@media(min-width:1024px){.rz-lg-font-size-4c82dc{font-size:1.875rem!important}}
@media(min-width:1024px){.rz-lg-width-10da02{width:68%!important}}
@media(min-width:1024px){.gc-lg-305099{grid-template-columns:1.2fr 2fr!important}}
.spy-0_625rem > * + *{margin-top:0.625rem}
@media(min-width:1024px){.gc-lg-d7b26a{grid-template-columns:1.1fr 1fr!important}}
.spy-0_75rem > * + *{margin-top:0.75rem}
.spy-0 > * + *{margin-top:0}
@media(min-width:768px){.gc-md-d98344{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1280px){.gc-xl-c6fd10{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:768px){.gc-md-c6fd10{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.hv-purple:hover{color:var(--purple);}.hv-paper:hover{color:var(--paper);}.hv-ink:hover{color:var(--ink);}.hv-green:hover{color:var(--utl-green);}
.hv-bg-mist:hover{background-color:var(--mist);}.hv-bg-paper:hover{background-color:var(--paper);}.hv-bg-purple:hover{background-color:var(--purple);color:var(--paper);}.hv-bg-green:hover{background-color:var(--utl-green);color:var(--ink);}.hv-bg-purpledeep:hover{background-color:var(--purple-deep);}.hv-bd-purple:hover{border-color:var(--purple)!important;}
.hv-underline:hover{text-decoration:underline;}.last-nobb:last-child{border-bottom:0!important;}

.navi-underline{display:none;}.navi:hover .navi-underline{display:block;}.navi:hover>button{color:var(--purple);}
.navi-panel{transition:opacity .2s ease;}.navi:hover .navi-panel{visibility:visible!important;opacity:1!important;}
.tcard{transition:border-color .3s ease;}.tcard-art{transition:opacity .3s ease-out;}
.tcard-photo{transition:opacity .7s ease-out,transform .7s ease-out;transform:scale(1.08);}
.tcard:hover{border-top-color:var(--purple)!important;}.tcard:hover .tcard-art{opacity:0!important;}
.tcard:hover .tcard-photo{opacity:1!important;transform:scale(1);}.tcard:hover .tcard-h,.tcard:hover .tcard-link{color:var(--purple)!important;}
.dcard-art{transition:opacity .45s ease-out;}
.dcard-mask{transition:opacity .6s ease-out;-webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 50%,#000 18%,transparent 90%);mask-image:radial-gradient(ellipse 70% 62% at 50% 50%,#000 18%,transparent 90%);}
.dcard-photo{transition:transform .9s ease-out;transform:scale(1.06);will-change:transform;}.dcard-explore{transition:transform .3s ease,color .3s ease;}
.dcard:hover .dcard-art{opacity:0!important;}.dcard:hover .dcard-mask{opacity:1!important;}.dcard:hover .dcard-photo{transform:scale(1);}.dcard:hover .dcard-explore{transform:translateX(4px);}
.ecard{transition:background-color .3s ease;}.ecard-bar{transform:scaleX(0);transform-origin:left;transition:transform .3s ease-out;}
.ecard-logo{filter:grayscale(1);transition:opacity .3s ease,filter .3s ease;}.ecard:hover{background-color:var(--mist);}.ecard:hover .ecard-bar{transform:scaleX(1);}.ecard:hover .ecard-logo{opacity:1!important;filter:grayscale(0);}
.rcell{transition:background-color .3s ease;}.rcell-logo{filter:grayscale(1);transition:opacity .3s ease,filter .3s ease;}.rcell:hover{background-color:var(--mist);}.rcell:hover .rcell-logo{opacity:1!important;filter:grayscale(0);}
[data-news-track]{transition:transform .7s cubic-bezier(0.22,1,0.36,1);}
.news-underline{background-image:linear-gradient(var(--utl-green),var(--utl-green));background-repeat:no-repeat;background-position:left bottom;background-size:0% 2px;padding-bottom:4px;transition:background-size .5s ease;}
.news-link:hover .news-underline{background-size:100% 2px;}
.case-modal{display:none;}.case-modal.is-open{display:block;}body.no-scroll{overflow:hidden;}

/* custom effects from source styles.css */
.chevron-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 2px;
  transition: color 0.2s ease;
}
.animate-chev {
  animation: chev 1.6s ease-in-out infinite;
}
.flow-line {
  stroke-dasharray: 6 8;
  animation: utl-flow 4s linear infinite;
}
.node-pulse {
  animation: utl-pulse 2.8s ease-in-out infinite;
}
.float-slow {
  animation: utl-float 14s ease-in-out infinite;
}
.focus-ring {
  &:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
  }
}
.glow-violet {
  background: radial-gradient(closest-side, color-mix(in oklab, var(--brand) 65%, transparent), transparent);
  filter: blur(20px);
}
.glow-aqua {
  background: radial-gradient(closest-side, color-mix(in oklab, var(--sky) 55%, transparent), transparent);
  filter: blur(20px);
}
.dot-field {
  background-image: radial-gradient(color-mix(in oklab, var(--brand) 16%, transparent) 1px, transparent 1px);
  background-size: 26px 26px;
}
.ticker-track {
  animation: utl-marquee 60s linear infinite;
}
.reveal {
  animation: utl-reveal 0.8s cubic-bezier(0.22, 0.7, 0.25, 1) both;
}
@keyframes chev {
  0%,
  100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}
@keyframes utl-flow {
  0% { stroke-dashoffset: 220; }
  100% { stroke-dashoffset: 0; }
}
@keyframes utl-pulse {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.35); }
}
@keyframes utl-reveal {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: none; }
}
@keyframes utl-float {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -22px, 0) scale(1.06); }
}
@keyframes utl-sheen {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
@keyframes v3-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@keyframes fde-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes utl-travel {
  0% { transform: translateX(0); opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 1; }
  100% { transform: translateX(196px); opacity: 0; }
}
@keyframes utl-travel-wide {
  0% { transform: translateX(20px); opacity: 0; }
  6% { opacity: 1; }
  94% { opacity: 1; }
  100% { transform: translateX(520px); opacity: 0; }
}
@keyframes utl-scan {
  0%, 100% { opacity: 0.25; }
  50% { opacity: 1; }
}
@keyframes utl-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes utl-fill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes utl-panel {
  from { opacity: 0; transform: translateY(14px); filter: blur(5px); }
  to { opacity: 1; transform: none; filter: none; }
}
.fde-enter {
  animation: fde-enter 280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.hover-effect div:hover > span { color:#0099fe !important;}
.fw-semibold{font-weight:600 !important}
.fw-medium{font-weight:500 !important}
:root{--paper:#ffffff;--ink:#0f172a;--mist:#f8fafc;--slate:#64748b;--purple:#0099fe;--purple-deep:#0f172a;--utl-green:#7fbb01;--utl-cyan:#00b7c7;--border:#e5f2ff;}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:"Poppins","Inter",sans-serif;letter-spacing:-0.025em;line-height:1.12;font-weight:600;margin:0;}
h4,h5,h6,p,ul,ol,figure,blockquote{margin:0;} ul,ol{padding:0;list-style:none;}
a{color:inherit;text-decoration:none;} img,svg{display:block;}
button{font-family:inherit;cursor:pointer;background:none;border:0;padding:0;color:inherit;}
input,textarea,select{font-family:inherit;font-size:inherit;border:0;border-radius:0;}
html{scroll-behavior:smooth;}
.sp1{padding-bottom:1rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:1rem}
@media(min-width:1024px){.sp1{padding-left:2.5rem;padding-right:2.5rem}}
.sp2{padding-bottom:2.5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:3rem}
@media(min-width:1024px){.sp2{padding-bottom:3rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:4rem}}
.sp3{padding-bottom:5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:5rem}
@media(min-width:1024px){.sp3{padding-bottom:7rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:7rem}}
.sp4{}
@media(min-width:1024px){.sp4{padding-top:0.5rem}}
.sp5{padding-bottom:6rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:6rem}
@media(min-width:1024px){.sp5{padding-bottom:8rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:8rem}}
.sp6{padding:2rem}
@media(min-width:1024px){.sp6{padding:2.5rem}}
.sp7{padding-bottom:5rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:5rem}
@media(min-width:1024px){.sp7{padding-bottom:6rem;padding-left:2.5rem;padding-right:2.5rem;padding-top:6rem}}
.sp8{padding-bottom:4rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:4rem}
@media(min-width:1024px){.sp8{padding-left:2.5rem;padding-right:2.5rem}}
.sp9{padding-bottom:5rem;padding-top:5rem}
@media(min-width:1024px){.sp9{padding-bottom:7rem;padding-top:7rem}}
.sp10{padding-left:1.25rem;padding-right:1.25rem}
@media(min-width:1024px){.sp10{padding-left:2.5rem;padding-right:2.5rem}}
.sp11{padding-bottom:6rem;padding-left:1.25rem;padding-right:1.25rem;padding-top:6rem}
@media(min-width:1024px){.sp11{padding-bottom:8rem;padding-top:8rem}}
@media(min-width:1024px){.gp-lg-4{gap:4rem!important}}
@media(min-width:1024px){.gc-lg-53fd23{grid-template-columns:1.55fr 1fr!important}}
@media(min-width:640px){.gc-sm-d98344{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:640px){.rz-sm-width-9df22f{width:auto!important}}
@media(min-width:1024px){.gc-lg-0846df{grid-template-columns:1.2fr 1fr!important}}
@media(min-width:640px){.gc-sm-c6fd10{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:768px){.gc-md-d98344{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1280px){.gc-xl-c6fd10{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1024px){.gc-lg-d7b26a{grid-template-columns:1.1fr 1fr!important}}
.spy-0_75rem > * + *{margin-top:0.75rem}
@media(min-width:1024px){.gc-lg-305099{grid-template-columns:1.2fr 2fr!important}}
.spy-0_625rem > * + *{margin-top:0.625rem}
@media(min-width:768px){.gc-md-c6fd10{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1280px){.gc-xl-1782e9{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
.spy-0 > * + *{margin-top:0}
@media(min-width:1024px){.gc-lg-e3e5e6{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
.hv-purple:hover{color:var(--purple);}.hv-paper:hover{color:var(--paper);}.hv-ink:hover{color:var(--ink);}.hv-green:hover{color:var(--utl-green);}
.hv-bg-mist:hover{background-color:var(--mist)!important;}.hv-bg-paper:hover{background-color:var(--paper)!important;}.hv-bg-purple:hover{background-color:var(--purple)!important;color:var(--paper)!important;}
.hv-bg-green:hover{background-color:var(--utl-green)!important;color:var(--ink)!important;}.hv-bg-purpledeep:hover{background-color:var(--purple-deep)!important;color:var(--paper)!important;}.hv-bd-purple:hover{border-color:var(--purple)!important;}
.hv-underline:hover{text-decoration:underline;}.hv-underline-static{text-decoration:underline;}.hv-bright:hover{filter:brightness(1.1);}.last-nobb:last-child{border-bottom:0!important;}
.navi-underline{display:none;}.navi:hover .navi-underline{display:block;}.navi:hover>button{color:var(--purple);}
.navi-panel{transition:opacity .2s ease;}.navi:hover .navi-panel{visibility:visible!important;opacity:1!important;}
[data-scroll-rail]{position:fixed;inset-inline:0;top:0;z-index:60;height:3px;background:transparent;}
[data-scroll-rail] > div{height:100%;transform-origin:left;background:var(--utl-green);transition:transform .1s linear;}
[data-word-cycle]{position:relative;display:inline-grid;overflow:hidden;vertical-align:bottom;}
[data-word-cycle] span{grid-column-start:1;grid-row-start:1;white-space:nowrap;color:var(--utl-green);transition:opacity .5s ease,transform .5s cubic-bezier(.22,.7,.25,1);}
[data-download-form].is-submitted [data-form-idle]{display:none!important;}
[data-download-form] [data-form-thanks]{display:none;}
[data-download-form].is-submitted [data-form-thanks]{display:block!important;}

/* custom effects from source styles.css */
.chevron-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 2px;
  transition: color 0.2s ease;
}
.animate-chev {
  animation: chev 1.6s ease-in-out infinite;
}
.flow-line {
  stroke-dasharray: 6 8;
  animation: utl-flow 4s linear infinite;
}
.node-pulse {
  animation: utl-pulse 2.8s ease-in-out infinite;
}
.float-slow {
  animation: utl-float 14s ease-in-out infinite;
}
.focus-ring {
  &:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
  }
}
.glow-violet {
  background: radial-gradient(closest-side, color-mix(in oklab, var(--brand) 65%, transparent), transparent);
  filter: blur(20px);
}
.glow-aqua {
  background: radial-gradient(closest-side, color-mix(in oklab, var(--sky) 55%, transparent), transparent);
  filter: blur(20px);
}
.dot-field {
  background-image: radial-gradient(color-mix(in oklab, var(--brand) 16%, transparent) 1px, transparent 1px);
  background-size: 26px 26px;
}
.ticker-track {
  animation: utl-marquee 60s linear infinite;
}
.reveal {
  animation: utl-reveal 0.8s cubic-bezier(0.22, 0.7, 0.25, 1) both;
}
@keyframes chev {
  0%,
  100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}
@keyframes utl-flow {
  0% { stroke-dashoffset: 220; }
  100% { stroke-dashoffset: 0; }
}
@keyframes utl-pulse {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.35); }
}
@keyframes utl-reveal {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: none; }
}
@keyframes utl-float {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -22px, 0) scale(1.06); }
}
@keyframes utl-sheen {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
@keyframes v3-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@keyframes fde-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes utl-travel {
  0% { transform: translateX(0); opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 1; }
  100% { transform: translateX(196px); opacity: 0; }
}
@keyframes utl-travel-wide {
  0% { transform: translateX(20px); opacity: 0; }
  6% { opacity: 1; }
  94% { opacity: 1; }
  100% { transform: translateX(520px); opacity: 0; }
}
@keyframes utl-scan {
  0%, 100% { opacity: 0.25; }
  50% { opacity: 1; }
}
@keyframes utl-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes utl-fill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes utl-panel {
  from { opacity: 0; transform: translateY(14px); filter: blur(5px); }
  to { opacity: 1; transform: none; filter: none; }
}
.fde-enter {
  animation: fde-enter 280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
/* "moves"/"where fast movers" card group-hover effects */
.movecard-bar{transform:scaleX(0);transform-origin:left;transition:transform .5s ease;}
.movecard-icon{transition:color .3s ease;}
.movecard-h{transition:color .3s ease;}
.movecard-lead{transition:color .3s ease;}
.movecard-body{transition:color .3s ease;}
.ecard:hover .movecard-bar{transform:scaleX(1)!important;}
.ecard:hover .movecard-icon{color:var(--utl-green)!important;}
.ecard:hover .movecard-h{color:var(--paper)!important;}
.ecard:hover .movecard-lead{color:var(--utl-green)!important;}
.ecard:hover .movecard-body{color:rgba(255,255,255,0.75)!important;}

.grp { position: relative; overflow: hidden; }
.grp > span:first-child {
  display: block !important;
  width: 200px !important;
  height: 3px !important;
  background-color: #0099fe !important;
  transform-origin: left;
  transition: width .5s ease, background-color .5s ease;
}
.grp:hover > span:first-child {
  width: 100% !important;
  background-color: #7fbb01 !important;
}


/* scroll progress rail */
.scroll-rail { position: fixed; inset: 0 0 auto 0; z-index: 1060; height: 3px; background: transparent; }
.scroll-rail-fill { height: 100%; background: var(--utl-green); transform-origin: left; transform: scaleX(0); transition: transform .1s linear; }
  