:root{--page-title-display:none;}/* Start custom CSS *//* Case study page: same black sheet + gloss as the homepage, scoped to this page */
html, body.elementor-page-401 { background-color: var(--black, #000000) !important; }
.elementor > .e-con { background: transparent !important; clip-path: none !important; border: 0 !important; box-shadow: none !important; }
body.elementor-page-401::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    radial-gradient(130% 55% at 18% 0%, rgba(255, 255, 255, 0.091), rgba(255, 255, 255, 0.026) 45%, transparent 70%),
    linear-gradient(118deg, transparent 0 42%, rgba(255, 255, 255, 0.046) 49%, rgba(255, 255, 255, 0.046) 51%, transparent 58%),
    radial-gradient(90% 45% at 88% 100%, rgba(255, 255, 255, 0.052), transparent 65%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='f' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.2 -.82'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
  background-size: 100% 100%, 100% 100%, 100% 100%, 260px 260px;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
}
.elementor #page-hero { overflow: clip; }
.elementor .btn-gold::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.55) 50%, transparent 70%); transform: translateX(-120%); animation: btn-sweep 5s cubic-bezier(0.16, 1, 0.3, 1) infinite; }
@keyframes btn-sweep { 0%, 60% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .elementor .btn-gold::after { animation: none !important; } }/* End custom CSS */