.cardkeeper-page {
  --product-accent: #8ee5b0;
  --product-accent-soft: rgba(78, 214, 140, .11);
}

.cardkeeper-page .eyebrow,
.cardkeeper-page .section-kicker,
.cardkeeper-page .feature-number,
.cardkeeper-page .text-link,
.cardkeeper-page .contact-line a,
.cardkeeper-page .document-kicker {
  color: var(--product-accent);
}

.cardkeeper-page .button {
  border-color: rgba(142, 229, 176, .5);
  background: var(--product-accent-soft);
  color: var(--product-accent);
}

.cardkeeper-page .button:hover,
.cardkeeper-page .button:focus-visible {
  border-color: var(--product-accent);
  background: rgba(78, 214, 140, .18);
}

.cardkeeper-page .cardkeeper-identity { min-height: 540px; }
.cardkeeper-page .identity-card { border-color: rgba(142, 229, 176, .4); }

.invitation-badge {
  display: inline-flex;
  margin-top: 22px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 99px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cardkeeper-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  margin-top: 48px;
  border: 1px solid var(--line);
  background: var(--line);
}

.cardkeeper-grid article {
  grid-column: span 2;
  min-height: 300px;
  padding: 28px;
  background: linear-gradient(150deg, var(--product-accent-soft), var(--night-soft) 50%);
}

.cardkeeper-grid article:nth-last-child(-n+2) { grid-column: span 3; }
.cardkeeper-grid span { color: var(--product-accent);font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:.72rem; }
.cardkeeper-grid h3 { margin: 52px 0 10px;font-size:1.35rem; }
.cardkeeper-grid p { margin:0;color:var(--muted); }

.cardkeeper-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 44px;
  border: 1px solid var(--line);
  background: var(--line);
}

.cardkeeper-stat { min-height:220px;padding:28px;background:var(--night-soft); }
.cardkeeper-stat b { display:block;margin-bottom:28px;color:var(--product-accent);font-size:clamp(2.5rem,5vw,4.8rem);line-height:.95;letter-spacing:-.06em; }
.cardkeeper-stat span { color:var(--muted); }
.fine { margin-top:22px;color:var(--muted);font-size:.88rem; }
.fine a { color:var(--product-accent); }

.cardkeeper-document {
  width: min(calc(100% - 40px), 980px);
  margin: 0 auto;
  padding: 100px 0 120px;
}

.cardkeeper-document--narrow { max-width: 860px; }
.document-kicker { margin:0 0 22px;font-size:.72rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase; }
.cardkeeper-document h1 { max-width:920px;margin-bottom:26px;font-size:clamp(3.3rem,8vw,6.5rem); }
.document-lede { max-width:820px;margin-bottom:70px;color:#c4cad4;font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.6; }
.cardkeeper-document section { margin-top:58px;padding-top:38px;border-top:1px solid var(--line); }
.cardkeeper-document section:first-of-type { margin-top:0; }
.cardkeeper-document h2 { margin-bottom:18px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;letter-spacing:-.045em; }
.cardkeeper-document h3 { margin:34px 0 12px; }
.cardkeeper-document p,
.cardkeeper-document li { color:var(--muted); }
.cardkeeper-document strong { color:var(--ink); }
.cardkeeper-document a { color:var(--product-accent); }
.steps { display:grid;gap:0;margin:28px 0 0;padding:0;list-style:none;counter-reset:cardkeeper-step; }
.steps li { counter-increment:cardkeeper-step;display:grid;grid-template-columns:54px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line); }
.steps li::before { content:"0" counter(cardkeeper-step);color:var(--product-accent);font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:.72rem; }
.notice { margin-top:28px;padding:22px 24px;border:1px solid rgba(142,229,176,.2);border-left:2px solid var(--product-accent);background:var(--product-accent-soft);color:var(--muted); }

.table-wrap { margin-top:28px;overflow-x:auto;border:1px solid var(--line); }
.compare { width:100%;min-width:760px;border-collapse:collapse;background:var(--night-soft);font-size:.91rem; }
.compare th,
.compare td { padding:16px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top; }
.compare th { color:var(--dim);font-size:.67rem;letter-spacing:.11em;text-transform:uppercase; }
.compare td { color:var(--muted); }
.compare td:first-child { color:var(--ink);font-weight:650; }
.compare .us { color:#d9f6e4; }
.compare .num { min-width:150px;white-space:nowrap;font-variant-numeric:tabular-nums; }
.bar { display:block;height:5px;margin-top:10px;background:rgba(255,255,255,.1);overflow:hidden; }
.bar i { display:block;height:100%; }
.bar.ck i { background:var(--product-accent); }
.bar.other i { background:var(--dim); }

details { margin-top:12px;border:1px solid var(--line);background:var(--night-soft); }
summary { padding:18px 20px;color:var(--ink);cursor:pointer;font-weight:650; }
details p { margin:0;padding:0 20px 20px; }

.cardkeeper-footer-note { max-width:760px; }

@media (max-width: 820px) {
  .cardkeeper-grid { grid-template-columns:1fr; }
  .cardkeeper-grid article,
  .cardkeeper-grid article:nth-last-child(-n+2) { grid-column:auto;min-height:auto; }
  .cardkeeper-stats { grid-template-columns:1fr; }
  .cardkeeper-stat { min-height:auto; }
}

@media (max-width: 560px) {
  .cardkeeper-page .nav-links { gap:14px;font-size:.78rem; }
  .cardkeeper-page .nav-links a:first-child { display:none; }
  .cardkeeper-document { width:min(calc(100% - 28px),980px);padding:68px 0 86px; }
  .cardkeeper-document h1 { font-size:clamp(3rem,16vw,4.8rem); }
  .document-lede { margin-bottom:52px; }
  .cardkeeper-document section { margin-top:46px;padding-top:30px; }
  .steps li { grid-template-columns:38px 1fr;gap:10px; }
}
