.font-jura { font-family: "Jura", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }

/* Info bubble (pure CSS, no JS) */
.cv-infobubble summary { list-style: none; }
.cv-infobubble summary::-webkit-details-marker { display: none; }
.cv-bubble {
  position: absolute;
  right: 0;
  margin-top: 0.5rem;
  width: 18rem;
  max-width: 90vw;
  background: #fff;
  color: #111827;
  border: 1px solid #216778;
  border-radius: 0.5rem;
  padding: 0.75rem 0.875rem;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 3px 6px rgba(0, 0, 0, 0.08);
  z-index: 30;
}
@media (min-width: 768px) { .cv-bubble { width: 24rem; } }
.cv-bubble a { color: #216778; text-decoration: underline; }
.cv-bubble b { color: #216778; font-weight: 700; }
.icon-info-svg { display: inline-block; width: 1.125rem; height: 1.125rem; fill: #9ca4a5; }
@media (min-width: 768px) { .icon-info-svg { width: 1.3125rem; height: 1.3125rem; } }

body {
  background-color: white;
  background-image: url("background.svg?v=20260413b");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.topbar-bg { background-color: #2a2a2a; }
.banner-bg { background-color: #216778ff; }
.footer-bg { background-color: #2a2a2a; }

.btn-dark { background-color: #000; color: #fff; transition: background-color 0.2s ease; }
.btn-dark:hover { background-color: #4a4a4a; }
.btn-accent {
  background-color: #216778;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: 0.375rem;
  padding: 0.45rem 0.75rem;
  font-size: 0.95rem;
  line-height: 1.2;
}
.btn-accent:hover { background-color: #1c5260; }
.icon-white {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: #fff;
  mask: url("/static/icons/join.svg") no-repeat center / contain;
  -webkit-mask: url("/static/icons/join.svg") no-repeat center / contain;
}

.field-border { border-color: rgba(0, 0, 0, 0.2); }
.table-head-bg { background-color: rgba(0, 0, 0, 0.3); color: #fff; }
#mobileMenu a { text-align: center; }

@media (min-width: 1024px) {
  #desktopNav { display: flex !important; }
  #menuBtn { display: none !important; }
  #desktopCta { display: flex !important; }
  #mobileMenu { display: none !important; }
}
@media (max-width: 1023.98px) {
  #desktopNav { display: none !important; }
  #menuBtn { display: inline-flex !important; grid-column: 3; justify-self: end; }
}

.alpha-badge {
  display: inline-block;
  margin-left: 0.5rem;
  vertical-align: middle;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #d1d5db;
  border: 2px solid rgba(33, 103, 120, 0.65);
  border-radius: 4px;
  padding: 2px 6px;
  white-space: nowrap;
}
@media (max-width: 640px) { .alpha-badge { display: none; } }

.faq-item { border: 1px solid #216778; border-radius: 0.5rem; background: #fff; }
.faq-item ul li { color: #1f2937; }
.faq-item ul li::marker { color: #6a8d95; }
.faq-q { width: 100%; text-align: left; padding: 1rem 1rem; display: flex; align-items: center; gap: 0.75rem; }
.chev { transition: transform 0.2s ease; }
.faq-a { padding: 0 1rem 1rem 2.5rem; }

.sec-card {
  border-radius: 0.25rem;
  padding: 1.25rem;
}

.sec-card h2 {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
}

.sec-card p,
.sec-card li {
  line-height: 1.6;
}

.sec-card ul,
.sec-card ol {
  padding-left: 1.5rem;
  list-style-position: outside;
}

.sec-card ul li::marker,
.sec-card ol li::marker {
  color: #6a8d95;
}

.sec-card-shell-blue {
  background: #ffffff;
  border-color: #628d94 !important;
  box-shadow: inset 0 0 0 4px #628d94;
}

.sec-card-shell-blue h2 {
  color: #216778 !important;
}

.sec-card-shell-blue p,
.sec-card-shell-blue li,
.sec-card-shell-blue a,
.sec-card-shell-blue em {
  color: #1f2937;
}

.sec-card-shell-beige {
  background: #ffffff;
  border-color: #d6cfa9 !important;
  box-shadow: inset 0 0 0 4px #d6cfa9;
}

.sec-card-shell-beige h2 {
  color: #216778 !important;
}

.sec-card-shell-beige p,
.sec-card-shell-beige li,
.sec-card-shell-beige a,
.sec-card-shell-beige em {
  color: #1f2937;
}

.sec-card-surface-box {
  background: #638d94;
  border: 0;
  box-shadow: none;
}

.sec-card-surface-box h2 {
  color: #ffffff !important;
}

.sec-card-surface-box p,
.sec-card-surface-box ul li,
.sec-card-surface-box ol li,
.sec-card-surface-box a,
.sec-card-surface-box em {
  color: #ffffff;
}

.sec-card-surface-box ul li::marker,
.sec-card-surface-box ol li::marker {
  color: #ffffff;
}

.sec-surface-visual-box {
  position: relative;
  overflow: hidden;
}

.sec-surface-visual {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: auto;
  max-width: none;
  display: block;
  opacity: 0.15;
  pointer-events: none;
  z-index: 0;
}

.sec-surface-visual-box > :not(.sec-surface-visual) {
  position: relative;
  z-index: 1;
}

.sec-retention-box {
  overflow: hidden;
}

.sec-retention-layout {
  display: grid;
  gap: 1rem;
  align-items: center;
}

.sec-retention-copy {
  min-width: 0;
}

.sec-retention-visual-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sec-retention-visual {
  display: block;
  width: min(100%, 7.5rem);
  aspect-ratio: 1 / 1;
  background-color: #d6cfa9;
  mask: url("/static/hourglass.svg") no-repeat center / contain;
  -webkit-mask: url("/static/hourglass.svg") no-repeat center / contain;
}

@media (min-width: 768px) {
  .sec-retention-layout {
    grid-template-columns: minmax(0, 1fr) 7.5rem;
    gap: 0.85rem;
  }

  .sec-retention-visual-wrap {
    align-self: stretch;
  }

  .sec-retention-visual {
    height: 80%;
    width: 100%;
    max-height: 80%;
  }
}

.sec-card-blue {
  background: #216778;
  border: 0;
}

.sec-card-blue h2 {
  color: #e6e2cb !important;
}

.sec-card-blue p,
.sec-card-blue ul li,
.sec-card-blue ol li,
.sec-card-blue a,
.sec-card-blue em {
  color: #ffffff;
}

.sec-card-blue ul li::marker,
.sec-card-blue ol li::marker {
  color: #e6e2cb;
}

.sec-card-dark {
  background: #2a2a2a;
  border: 0;
}

.sec-card-dark h2 {
  color: #e6e2cb !important;
}

.sec-card-dark p,
.sec-card-dark ul li,
.sec-card-dark ol li,
.sec-card-dark a,
.sec-card-dark em {
  color: #ffffff;
}

.sec-card-dark ul li::marker,
.sec-card-dark ol li::marker {
  color: #e6e2cb;
}

.sec-ops-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.sec-ops-list li {
  position: relative;
  padding-left: 1.9rem;
}

.sec-ops-list li + li {
  margin-top: 0.45rem;
}

.sec-ops-list li::before {
  content: "";
  position: absolute;
  top: 0.18rem;
  left: 0;
  width: 1rem;
  height: 1.2rem;
  background-color: #638d94;
  mask: url("/static/padlock.svg") no-repeat center / contain;
  -webkit-mask: url("/static/padlock.svg") no-repeat center / contain;
}

.sec-anonymity-box {
  position: relative;
  overflow: hidden;
}

.sec-anonymity-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(66%, 33.6rem);
  height: auto;
  display: block;
  transform: translate(-50%, -50%);
  opacity: 0.15;
  filter: brightness(0) invert(1);
  pointer-events: none;
  z-index: 0;
}

.sec-anonymity-box > :not(.sec-anonymity-bg) {
  position: relative;
  z-index: 1;
}

.sec-abuse-layout {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sec-abuse-copy {
  min-width: 0;
}

.sec-abuse-image {
  display: block;
  width: min(100%, 10rem);
  height: auto;
  align-self: center;
  flex: 0 0 auto;
}

@media (min-width: 768px) {
  .sec-abuse-layout {
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
  }

  .sec-abuse-copy {
    flex: 1 1 0;
  }

  .sec-abuse-image {
    width: min(30%, 11rem);
    align-self: center;
  }
}

/* Security diagram classes moved out of inline SVG style */
.sec-diagram .box { fill: #ffffff; stroke: none; stroke-width: 0; rx: 10; ry: 10; }
.sec-diagram .lbl { font: 700 12px sans-serif; fill: #1f2937; }
.sec-diagram .sub { font: 11px sans-serif; fill: rgba(0, 0, 0, 0.65); }
.sec-diagram .arrow {
  stroke: #d6cfa9;
  stroke-width: 2;
  stroke-linecap: round;
  marker-end: url(#arrowhead);
}

.sec-architecture-box {
  background: #666666;
  border-color: #d6cfa9 !important;
  box-shadow: inset 0 0 0 4px #d6cfa9;
}

.sec-architecture-title {
  display: inline-block;
  padding: 0 0.22em;
  background: #638d94;
  color: #ffffff !important;
}

.sec-modern-encryption-title {
  color: #638d94 !important;
}

.sec-modern-encryption-visual {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
}

.sec-modern-encryption-image {
  display: block;
  width: min(100%, 18rem);
  height: auto;
}

.sec-architecture-box h2,
.sec-architecture-box p {
  color: #ffffff !important;
}

/* Replacements for former inline style attributes */
.cv-grid-3cols { grid-template-columns: 1fr auto 1fr; }
.cv-justify-self-center { justify-self: center; }
.cv-justify-self-end { justify-self: end; }
.cv-banner-fixed { height: 220px; padding: 8px 0; }
.cv-banner-logo { height: 145px; width: auto; max-height: none; flex-shrink: 0; }
.cv-main-shell { background-color: #dfebecff; min-height: 980px; }
.cv-footer-strip { background-color: #216778; }
