/* Shared Data Snap tokens & utilities */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sr-only:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body { font-feature-settings: "cv02", "cv03", "cv04", "cv11"; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #2EC4D6;
  outline-offset: 2px;
  border-radius: 2px;
}
::selection { background: #CFF1F6; color: #14324F; }
.view { display: none; }
.view.active { display: flex; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
input[type="file"] { display: none; }
.drop-active { border-color: #2B8FD4 !important; background: #E7F3FB !important; }
.field-invalid { border-color: #C0684A !important; }
.field-valid { border-color: #2EC4D6 !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.sds-install-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.5rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
.sds-install-btn[hidden] { display: none !important; }
.sds-install-btn--hero {
  width: 100%;
  min-height: 48px;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
}
.sds-install-btn--hero:hover { background: rgba(255,255,255,0.07); }
.sds-install-btn--solid {
  min-height: 48px;
  width: 100%;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  color: #fff;
  background: #2B8FD4;
  border: 0;
  box-shadow: 0 1px 2px rgba(20,50,79,0.06);
}
.sds-install-btn--solid:hover { background: #1E73B8; }
.sds-install-btn--nav {
  min-height: 36px;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255,255,255,0.86);
  background: transparent;
  border: 1px solid rgba(255,255,255,0.22);
}
.sds-install-btn--nav:hover { color: #fff; background: rgba(255,255,255,0.08); }
#site-nav.is-scrolled .sds-install-btn--nav {
  color: #14324F;
  border-color: #C0D0DE;
  background: #fff;
}
#site-nav.is-scrolled .sds-install-btn--nav:hover { background: #F7FBFD; }
.sds-install-btn--compact {
  min-height: 32px;
  padding: 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #14324F;
  background: #fff;
  border: 1px solid #C0D0DE;
  box-shadow: 0 1px 2px rgba(20,50,79,0.06);
}
.sds-install-btn--compact:hover { background: #F7FBFD; }
.sds-install-banner .sds-install-btn {
  color: #fff;
  background: #2B8FD4;
  border: 0;
  box-shadow: none;
}
.sds-install-banner .sds-install-btn:hover { background: #1E73B8; }
.sds-install-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 45;
  padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
  background: #0C1C2E;
  color: #fff;
  box-shadow: 0 -8px 28px rgba(20,50,79,0.22);
}
.sds-install-banner[hidden] { display: none !important; }
.sds-install-sheet {
  position: fixed;
  inset: 0;
  z-index: 70;
}
.sds-install-sheet[hidden] { display: none !important; }
.sds-install-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 22, 36, 0.52);
}
.sds-install-sheet__panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: min(88vh, 40rem);
  overflow: auto;
  padding: 1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));
  background: #F4F8FB;
  color: #14324F;
  border-radius: 1.25rem 1.25rem 0 0;
  box-shadow: 0 -10px 40px rgba(20,50,79,0.18);
}
.sds-install-sheet__kicker {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #1E73B8;
}
.sds-install-sheet__title {
  margin: 0.5rem 0 0;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.sds-install-sheet__lead {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  color: #5B7186;
}
.sds-install-sheet__steps {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}
.sds-install-sheet__steps li {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.85rem 1rem;
  background: #fff;
  border: 1px solid #D7E2EC;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.45;
  counter-increment: sds-step;
}
.sds-install-sheet__steps { counter-reset: sds-step; }
.sds-install-sheet__steps li::before {
  content: counter(sds-step);
  flex: 0 0 1.5rem;
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 999px;
  background: #E7F3FB;
  color: #155A94;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sds-ios-share { display: inline-block; vertical-align: -3px; color: #1E73B8; }
.sds-install-sheet__actions {
  display: grid;
  gap: 0.5rem;
  margin-top: 1.25rem;
}
.sds-install-sheet__primary {
  min-height: 48px;
  border: 0;
  border-radius: 0.5rem;
  background: #2B8FD4;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}
.sds-install-sheet__primary:hover { background: #1E73B8; }
.sds-install-sheet__ghost {
  min-height: 44px;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  color: #5B7186;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
}
@media (min-width: 640px) {
  .sds-install-btn--hero { width: auto; }
  .sds-install-btn--solid { width: auto; }
  .sds-install-sheet__panel {
    left: 50%;
    right: auto;
    top: 50%;
    bottom: auto;
    width: min(28rem, calc(100vw - 2rem));
    transform: translate(-50%, -50%);
    border-radius: 1rem;
    padding: 1.5rem;
  }
}
body.sds-install-open { overflow: hidden; }

.sds-camera {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  flex-direction: column;
  background: #0A1624;
  color: #fff;
}
.sds-camera[hidden] { display: none !important; }
.sds-camera__stage {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.sds-camera__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #0C1C2E;
}
.sds-camera__frame {
  pointer-events: none;
  position: absolute;
  inset: 12% 10%;
  border: 2px solid rgba(255,255,255,0.7);
  border-radius: 1rem;
  box-shadow: 0 0 0 999px rgba(10,22,36,0.45);
}
.sds-camera__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));
  background: #0C1C2E;
}
body.sds-camera-open { overflow: hidden; }
