@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:light;--bg:#fff;--text:#141611;--muted:#666960;--border:#e7e9e2;--font:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:wait;opacity:.8}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.15}.icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-100px;left:20px;background:#eee;color:#171717;padding:10px 20px;z-index:150}.skip-link:focus{top:12px}[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #242424;outline-offset:4px}body.modal-open{overflow:hidden}dialog{width:min(590px,calc(100% - 32px));max-height:90dvh;margin:auto;padding:32px;border:1px solid var(--border);border-radius:18px;background:#fff;color:var(--text)}.dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%}.dialog-close .icon{width:18px;height:18px}.eyebrow{font-size:12px;letter-spacing:.14em}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 20px;border-radius:24px;font-weight:600}form{margin-top:24px}label{display:block;font-size:14px;margin-bottom:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,select,textarea{width:100%;margin-top:6px;border:1px solid #dce2d2;border-radius:8px;padding:12px;font-size:16px}textarea{resize:vertical}form>.button{width:100%}.form-note{font-size:12px;margin:14px 0 8px;text-align:center;line-height:1.6}.email-link{display:block;text-align:center;font-size:14px}.contact-status{border:1px solid var(--border);border-radius:8px;padding:13px}#contact-intro{margin-top:14px}.kp-desktop-only{display:none}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Shared liquid colors flow through Pik, navigation, and the loading screen. */
.pik-gradient,
.kp-nav-dots i::before,
.kp-loading-dots i::before {
  background-color: #427eb4;
  background-image:
    radial-gradient(ellipse at 50% 50%, #7ce6dfaa 0%, #7ce6df00 42%),
    radial-gradient(ellipse at 50% 50%, #dc3ac5 5%, #c82ebfd9 25%, #dc3ac500 65%),
    radial-gradient(ellipse at 50% 50%, #12cabb 8%, #0eb7abd9 30%, #12cabb00 68%),
    linear-gradient(135deg, #139eaa, #6675bc 52%, #ba35ae);
  background-size: 90% 160%, 155% 175%, 150% 190%, 100% 100%;
  background-position: 0% 80%, 100% 15%, 0% 90%, 50% 50%;
  background-repeat: no-repeat;
}
.pik-gradient {
  display: inline-block;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media (prefers-reduced-motion: no-preference) {
  .pik-gradient,
  .kp-nav-dots i::before,
  .kp-loading-dots i::before {
    animation: pik-liquid-flow 12s cubic-bezier(.45, 0, .55, 1) infinite;
  }
}
@keyframes pik-liquid-flow {
  0%, 100% {
    background-position: 0% 80%, 100% 15%, 0% 90%, 50% 50%;
    background-size: 90% 160%, 155% 175%, 150% 190%, 100% 100%;
  }
  25% {
    background-position: 55% 0%, 15% 0%, 90% 70%, 50% 50%;
    background-size: 125% 110%, 180% 130%, 135% 160%, 100% 100%;
  }
  50% {
    background-position: 100% 35%, 0% 85%, 100% 5%, 50% 50%;
    background-size: 85% 150%, 145% 190%, 180% 135%, 100% 100%;
  }
  75% {
    background-position: 40% 100%, 85% 100%, 10% 0%, 50% 50%;
    background-size: 115% 125%, 175% 145%, 140% 175%, 100% 100%;
  }
}
html.kp-booting { overflow: hidden; }
html.kp-booting body > :not(.kp-loading-screen) { visibility: hidden; }
.kp-loading-screen {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background: #fff;
  opacity: 1;
  transition: opacity 220ms ease;
}
.kp-loading-screen[hidden] { display: none; }
.kp-loading-screen.is-ready { opacity: 0; pointer-events: none; }
.kp-loading-dots { display: flex; align-items: center; gap: 12px; }
.kp-loading-dots i {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  overflow: hidden;
  animation: kp-loading-wave 1.8s ease-in-out var(--loading-delay, 0ms) infinite both;
}
.kp-loading-dots i::before {
  content: "";
  position: absolute;
  top: -16px;
  left: var(--loading-offset, 0px);
  width: 128px;
  height: 48px;
}
.kp-loading-dots i:nth-child(2) { --loading-delay: 110ms; --loading-offset: -28px; }
.kp-loading-dots i:nth-child(3) { --loading-delay: 220ms; --loading-offset: -56px; }
.kp-loading-dots i:nth-child(4) { --loading-delay: 330ms; --loading-offset: -84px; }
.kp-loading-dots i:nth-child(5) { --loading-delay: 440ms; --loading-offset: -112px; }
@keyframes kp-loading-wave {
  0%, 60%, 100% { transform: translateY(0) scale(1); opacity: .72; }
  30% { transform: translateY(-9px) scale(1.18); opacity: 1; }
}
@media (max-width: 767px) { .kp-loading-screen { background: #fff; } }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.is-scanning .scan-line{top:50%}}
