/* Targeted repair layer; original typography, crop ratios and layout stay in style.min.css. */
:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
[hidden] { display: none !important; }
.contact_blocks .single-contact .contact-email { color: #ddd; cursor: pointer; overflow-wrap: anywhere; }
.contact_blocks .single-contact .contact-email:hover { color: #fff; }
.featured_work_slider .splide .splide__slide .case-study.video-parent:hover .work-card-img,
.store_showcase .splide .splide__slide .case-study.video-parent:hover .work-card-img { opacity: 1; }
.featured_work_slider .splide .splide__slide .case-study.has-motion:hover .work-card-img,
.store_showcase .splide .splide__slide .case-study.has-motion:hover .work-card-img { opacity: 0; }
.case-study.video-parent:not(.has-motion) .preview-video { opacity: 0 !important; }
.case-study .work-card-img { transition: transform .3s ease; }
.case-study:not(.has-motion):is(:hover, :focus-visible) .work-card-img { transform: scale(1.025); }
.services_module .single-service:focus-visible .service-img { opacity: 1; visibility: visible; }
.form-group label { display: block; margin-bottom: 8px; color: #ddd; font-size: 16px; line-height: 1.4; }
.form-group .field-error { display: block; color: #ffb5b5; font-size: 14px; line-height: 1.4; margin-top: 6px; }
.form-group .field-error:empty { display: none; }
.contact-section :is(input, textarea)[aria-invalid="true"] { border-color: #ffb5b5; }
.form-status { color: #ddd; font-size: 16px; line-height: 1.5; margin: 0 0 12px; }
.form-status:empty { display: none; }
.form-status[data-state="error"] { color: #ffb5b5; }
.form-status[data-state="success"] { color: #c1e8c2; }
.submit-btn:disabled { opacity: .65; cursor: wait; }
.video-wrapper[role="button"] { cursor: pointer; }
.contact-section, .form-container, .form-group { min-width: 0; }
.contact-section :is(input, textarea) { max-width: 100%; box-sizing: border-box; }
.attachment-full, .looped-img { max-width: 100%; height: auto; }
.column { min-width: 0; }
.splide__track, .container-slider { max-width: 100%; }
.featured_work_slider, .store_showcase, .slider_with_text, .image-automatic-sliders { overflow: clip; }
.hamburger-wrap, .circle, .circle-overlay, .arrows { display: block; }
header .container .hamburger .hamburger-wrap { background: transparent; transform: none !important; }
/* Original 2.2 s branded intro. CSS starts it at first styled paint instead of
   waiting for the entire feature bundle and all page initializers. */
.initial-paint .preloader[data-native-intro] {
  animation: insight-intro-finished 0s 2.2s forwards;
}
.initial-paint .preloader[data-native-intro] .bg {
  transform-origin: top;
  animation: insight-curtain 1s cubic-bezier(.76,0,.24,1) 1.2s both;
}
.initial-paint .preloader[data-native-intro] .logo-preload {
  animation: insight-logo-up .8s cubic-bezier(.76,0,.24,1) 1.2s forwards;
}
.initial-paint .preloader[data-native-intro] .letter {
  transform: none;
  transform-box: fill-box;
  translate: 0 150%;
  animation: insight-letter-in 1s cubic-bezier(.76,0,.24,1) var(--letter-delay,0s) forwards;
}
.initial-paint .preloader[data-native-intro] .logo-preload path {
  animation: insight-logo-out .5s cubic-bezier(.76,0,.24,1) 1.7s forwards;
}
.initial-paint .preloader[data-native-intro] .logo-preload path.letter {
  animation: insight-letter-in 1s cubic-bezier(.76,0,.24,1) var(--letter-delay,0s) forwards,
             insight-logo-out .5s cubic-bezier(.76,0,.24,1) 1.7s forwards;
}
.initial-paint #swup [data-initial-video] { opacity: 1; }
.initial-paint #swup [data-initial-video] .animation-overlay {
  transform-origin: top;
  animation: insight-curtain .8s ease-in-out 1.2s both;
}
.initial-paint #swup [data-initial-text] {
  display: block;
  opacity: 1;
  animation: insight-heading-in .6s ease-in-out 1.7s both;
}
.initial-paint [data-initial-text]:not(.flip-inited) .span-flip:first-of-type { position: relative; }
.initial-paint [data-initial-text]:not(.flip-inited) .span-flip:not(:first-of-type) { visibility: hidden; }
.initial-paint [data-initial-text].split-inited .split-lines div { transform: translateY(0); }
/* The same authored copyright symbol also accompanies headings before
   SplitText is needed on a later internal navigation. */
.initial-paint [data-initial-text].copyright:not(.split-inited)::after {
  content: '';
  display: inline-block;
  background-image: var(--insight-copyright-artwork);
  background-size: cover;
  width: .17rem;
  height: .17rem;
  vertical-align: baseline;
  margin-left: .04rem;
}
@keyframes insight-letter-in { to { translate: 0 0; } }
@keyframes insight-heading-in { from { transform: translateY(120%); } to { transform: translateY(0); } }
@keyframes insight-logo-up { to { transform: translate3d(0,0,0); } }
@keyframes insight-logo-out { to { fill: #fff; opacity: 0; } }
@keyframes insight-curtain { from { transform: scaleY(1); } to { transform: scaleY(0); } }
@keyframes insight-intro-finished { to { visibility: hidden; pointer-events: none; } }
@media (max-width: 767px) {
  /* These two reveal types already have no mobile tween. Their content should
     not wait for JavaScript just to receive the .inited class. */
  [data-fade-reveal], [data-portfolio-fade-reveal] { opacity: 1; }
  .contact_blocks .single-contact .contact-email { font-size: clamp(25px, 6.5vw, 48px); }
  .services_module .single-service.active .service-img { opacity: 1 !important; visibility: visible; }
}
@media (prefers-reduced-motion: reduce) {
  .preloader[data-native-intro] { display: none !important; }
  *, *::before, *::after { scroll-behavior: auto !important; }
  .marquee-content, .slider, .track-wrap, .logo-grid { animation: none !important; }
  html.is-changing .transition-slide { transition-duration: .01ms !important; }
  [data-fade-reveal], [data-portfolio-fade-reveal], [data-line-reveal], [data-line-reveal-flip] { opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .animation-overlay { transform: scaleY(0) !important; }
  .case-study .work-card-img { opacity: 1 !important; transform: none !important; }
  .flip-anim .span-flip:not(:first-of-type) { visibility: hidden; }
}

:root { --insight-copyright-artwork: url("data:image/svg+xml,<svg width=\"17\" height=\"17\" viewBox=\"0 0 17 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.58918 10.1998H4.16046C4.31333 12.301 5.91525 13.6918 8.78537 13.6969C11.2528 13.6969 12.9495 12.5011 12.9495 10.515C12.9495 8.2036 11.1172 7.73834 9.46145 7.39312C9.23268 7.34598 9.00653 7.30452 8.78818 7.26449C7.66251 7.05812 6.74421 6.88977 6.74421 6.17743C6.74421 5.46198 7.42029 5.07679 8.44087 5.07679C9.55619 5.07679 10.2323 5.46198 10.3442 6.52262H12.7234C12.5275 4.53641 11.0806 3.24567 8.47962 3.24567C6.22961 3.24567 4.45328 4.26631 4.45328 6.40753C4.45328 8.56383 6.18655 9.0491 7.96287 9.39433C8.13401 9.42863 8.30363 9.4601 8.46934 9.49086C9.60875 9.70231 10.5638 9.87956 10.5638 10.705C10.5638 11.3955 9.90715 11.8407 8.75092 11.8407C7.57747 11.8407 6.76574 11.3354 6.58918 10.1998Z\" fill=\"white\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 8.5C0 3.80224 3.79811 0 8.50269 0C13.203 0 17.0054 3.79724 17 8.5C17 13.1978 13.203 17 8.50269 17C3.80242 17 0 13.1978 0 8.5ZM1.45013 8.55003C1.45013 12.4473 4.598 15.5992 8.50269 15.5992C12.402 15.5491 15.5542 12.4023 15.5509 8.55003C15.5509 4.65274 12.3977 1.50088 8.50269 1.50088C4.6023 1.50088 1.45013 4.65274 1.45013 8.55003Z\" fill=\"white\"/></svg>"); }
