/* Late, homepage-specific safeguards that must follow the legacy responsive sheet. */
.verify-inline {
  display: block;
  margin-top: 44px;
  padding: 0;
  border: 0;
  background: transparent;
}

.verify-inline .verify-search {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  gap: clamp(32px, 5vw, 72px);
  padding: clamp(32px, 4vw, 52px);
}

.verify-inline .verify-search-form {
  width: 100%;
}

/* Keep the landing page typographic hierarchy confident and consistent. */
.conversion-hero-copy h1,
.split-heading h2,
.section-title {
  font-weight: 600;
}

/* Live records should scan like proof cards, not raw definition lists. */
.live-proof-card {
  grid-template-rows: auto auto auto 1fr auto;
  min-height: 330px;
}

.live-proof-card h3 {
  margin: 18px 0 22px;
  font-weight: 600;
}

.live-proof-card dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.live-proof-card dl > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  padding: 11px 0;
  border-top: 1px solid #252525;
}

.live-proof-card dt {
  color: #777;
  font: 10px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.live-proof-card dd {
  min-width: 0;
  margin: 0;
  color: #c7c7c7;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.live-proof-card > a {
  align-self: end;
  margin-top: 24px;
  color: #d7ad4a;
  font-size: 12px;
  font-weight: 700;
}

/* This is a grid, not a section; do not inherit the full section spacing. */
.focused-use-case-grid {
  margin-top: 42px;
}

.focused-use-case-grid .industry-card,
.focused-use-case-grid.industry-grid {
  background: transparent;
}

/* Six cards on a three-column grid: two even rows, no card left stranded. */
.focused-use-case-grid.industry-grid {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1100px) {
  .focused-use-case-grid.industry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .focused-use-case-grid.industry-grid {
    grid-template-columns: 1fr;
  }
}

/* Balance the free-record offer so the promise and action carry equal weight. */
.free-proof-section {
  padding-block: clamp(72px, 8vw, 112px);
}

.free-proof-section .section-label {
  color: #4b3712;
  font-weight: 700;
}

/* Turn the proof gap into two balanced, scannable operating models. */
.proof-gap-section .section-label {
  color: #075b40;
  font-weight: 700;
}

.proof-gap-section .split-heading > p {
  max-width: 520px;
  color: #435049;
  font-size: 17px;
}

.proof-gap-visual {
  grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr);
  align-items: stretch;
  gap: 24px;
  margin-top: 58px;
}

.friction-flow,
.proof-flow {
  display: grid;
  align-content: start;
  padding: 0;
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255, 255, 255, .55);
  box-shadow: 0 18px 48px rgba(7, 16, 12, .055);
}

.friction-flow header,
.proof-flow header {
  padding: 28px 32px 25px;
  border-bottom: 1px solid rgba(7, 16, 12, .12);
  background: rgba(7, 16, 12, .035);
}

.friction-flow header small,
.proof-flow header small {
  display: block;
  margin-bottom: 9px;
  color: #68706b;
  font: 700 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.friction-flow h3,
.proof-flow h3 {
  margin: 0;
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.025em;
}

.friction-flow ol,
.proof-flow ol {
  display: grid;
  margin: 0;
  padding: 10px 32px 26px;
  list-style: none;
}

.friction-flow li,
.proof-flow li {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  min-height: 54px;
  border-bottom: 1px solid rgba(7, 16, 12, .1);
  font-size: 15px;
  font-weight: 600;
}

.friction-flow li:last-child,
.proof-flow li:last-child {
  border-bottom: 0;
}

.friction-flow li span,
.proof-flow li span {
  padding: 0;
  border: 0;
  background: transparent;
  color: #818984;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
}

.proof-gap-arrow {
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 8px;
  color: #075b40;
}

.proof-gap-arrow span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid #9bc7b5;
  border-radius: 50%;
  background: #fff;
  font-size: 22px;
}

.proof-gap-arrow svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.proof-gap-arrow small {
  font: 700 8px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.proof-flow {
  border-color: #75ad96;
  background: #e4f3eb;
}

.proof-flow header {
  border-bottom-color: rgba(255, 255, 255, .2);
  background: #075b40;
  color: #fff;
}

.proof-flow header small {
  color: #b9dfcf;
}

.proof-flow .verified-step {
  color: #075b40;
  font-size: 18px;
  font-weight: 800;
}

/* Finish the claim intake with a deliberate, aligned contact block. */
.claim-contact-grid {
  gap: 18px 16px;
}

.claim-contact-grid label {
  display: grid;
  gap: 9px;
  color: #b9b9b9;
  font: 700 10px/1.35 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.claim-contact-grid label:last-child {
  grid-column: 1 / -1;
}

.claim-contact-grid input:not([type]),
.claim-contact-grid input[type="email"],
.claim-contact-grid input[type="text"] {
  min-height: 54px;
  padding: 15px 17px;
  border-color: #3a3a3a;
  font-family: "Inter Tight", Inter, sans-serif;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
}

.claim-contact-grid input:focus {
  border-color: #d7ad4a;
  outline: 2px solid rgba(215, 173, 74, .16);
  outline-offset: 1px;
}

.claim-funnel-section .request-journey-title { margin: 20px 0 24px; font-size: clamp(36px, 4vw, 56px); line-height: 1.12; letter-spacing: -.035em; font-weight: 750; }
.request-journey-title span { color: #bdbdbd; }
.request-journey-steps { list-style: none; padding: 0; margin: 32px 0; }
.request-journey-steps li { display: flex; align-items: flex-start; gap: 18px; padding: 20px 0; border-top: 1px solid #303030; }
.request-journey-steps li > span { color: #d5b451; font: 13px/1.6 ui-monospace, monospace; padding-top: 3px; }
.request-journey-steps h3 { margin: 0 0 8px; color: #f5f5f5; font-size: 19px; font-weight: 700; }
.request-journey-steps p, .request-api-option p { margin: 0; color: #bdbdbd; font-size: 15px; line-height: 1.65; }
.request-api-option { padding: 22px; border: 1px solid #333; border-radius: 16px; background: #0d0d0d; }
.request-api-option strong { display: block; margin-bottom: 8px; color: #eee; font-size: 16px; }
.request-api-option a { display: inline-block; margin-top: 14px; color: #e4c76e; font-size: 15px; font-weight: 600; }
.claim-intake .form-assurance { color: #bdbdbd; line-height: 1.6; }
.claim-intake .form-assurance a { color: #e4c76e; text-decoration: underline; }

.request-cta-note { margin: 18px 0 0; max-width: 520px; color: #bdbdbd; font-size: 14px; line-height: 1.6; }
.hero-certificate-count { margin: 10px 0 0; color: #bdbdbd; font-size: 14px; line-height: 1.6; }
.hero-certificate-count strong { color: #d7ad4a; font-weight: 700; }
.hero-certificate-count a { color: #edf1f7; text-decoration: underline; text-decoration-color: #d7ad4a; text-underline-offset: 3px; }

.hyperliquid-guide { margin: 40px 0; padding: clamp(22px, 4vw, 40px); border: 1px solid #333; border-radius: 22px; background: #0d0d0d; scroll-margin-top: 100px; }
.hyperliquid-guide h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; font-weight: 700; margin: 14px 0 18px; }
.hyperliquid-guide .hyperliquid-guide-intro { color: #bdbdbd; font-size: 16px; line-height: 1.65; }
.hyperliquid-guide-steps { list-style: none; padding: 0; margin: 26px 0; }
.hyperliquid-guide-steps li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 16px; padding: 20px 0; border-top: 1px solid #333; }
.hyperliquid-guide-steps li > span { color: #d5b451; font: 13px/1.7 ui-monospace, monospace; }
.hyperliquid-guide-steps h3 { margin: 0 0 8px; font-size: 19px; line-height: 1.3; font-weight: 700; color: #f5f5f5; }
.hyperliquid-guide-steps p { margin: 0; font-size: 15px; line-height: 1.65; color: #c4c4c4; }
.hyperliquid-guide .hyperliquid-guide-note { margin: 12px 0; font-size: 14px; line-height: 1.65; color: #bdbdbd; }
.hyperliquid-guide code { overflow-wrap: anywhere; white-space: normal; }
.hyperliquid-guide-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 24px 0; }
#hyperliquid-api { scroll-margin-top: 100px; }
@media (max-width: 560px) { .hyperliquid-guide-actions a { width: 100%; text-align: center; } }

.claim-intake .claim-input-label {
  display: grid;
  gap: 11px;
  margin: 0;
}

.claim-input-label > span {
  display: block;
}

.claim-intake .claim-input-label textarea {
  min-height: 132px;
  padding: 17px;
  line-height: 1.55;
}

.claim-intake .claim-input-label textarea:focus {
  border-color: #d7ad4a;
  outline: 2px solid rgba(215, 173, 74, .16);
  outline-offset: 1px;
}

/* Keep the closing conversion choice aligned with its centered message. */
.final-conversion-panel .button-row {
  justify-content: center;
}

.free-proof-panel {
  grid-template-columns: minmax(300px, .8fr) minmax(460px, 1.2fr);
  align-items: center;
  gap: clamp(52px, 7vw, 108px);
}

.free-proof-panel h2 {
  max-width: 620px;
  margin: 16px 0 0;
  font-size: clamp(48px, 5vw, 76px);
  font-weight: 700;
  line-height: .94;
  text-wrap: balance;
}

.free-proof-panel h2 span {
  display: block;
  color: rgba(8, 8, 8, .58);
}

.free-proof-action {
  grid-template-columns: 1fr;
  justify-items: start;
  width: 100%;
  padding: clamp(32px, 4vw, 52px);
  border: 1px solid rgba(8, 8, 8, .18);
  border-radius: 22px;
  background: rgba(255, 255, 255, .12);
}

.free-proof-action h3 {
  max-width: 640px;
  margin: 0;
  font-size: clamp(26px, 2.4vw, 38px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.free-proof-action ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  gap: 12px;
  margin: 24px 0 8px;
}

.free-proof-action ul li {
  padding: 12px 0;
  border-top: 1px solid rgba(8, 8, 8, .16);
  font-size: 13px;
}

.free-proof-action p {
  max-width: 760px;
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.65;
}

.free-proof-action .solid-button {
  margin-top: 18px;
}

.free-proof-action small {
  justify-self: start;
  color: rgba(8, 8, 8, .62);
}

/* Give the comparison the polish and hierarchy of a product decision. */
.before-after-section .section-label {
  color: #36584b;
  font-weight: 700;
}

.before-after-grid {
  gap: 24px;
  margin-top: 54px;
}

.before-after-grid article {
  position: relative;
  overflow: hidden;
  padding: 0 34px 32px;
  border-color: #c8ccc5;
  border-radius: 22px;
  background: rgba(255, 255, 255, .42);
  box-shadow: 0 18px 50px rgba(7, 16, 12, .06);
}

.before-after-grid article header {
  margin: 0 -34px 8px;
  padding: 30px 34px 26px;
  border-bottom: 1px solid rgba(7, 16, 12, .12);
  background: rgba(7, 16, 12, .035);
}

.before-after-grid article header small {
  display: block;
  margin-bottom: 10px;
  color: #68706b;
  font: 700 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.before-after-grid h3 {
  margin: 0;
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.025em;
}

.before-after-grid li {
  position: relative;
  padding: 15px 0 15px 30px;
  font-size: 15px;
}

.before-after-grid article li::before {
  position: absolute;
  left: 2px;
  color: #8a918c;
  content: "—";
  font-weight: 700;
}

.before-after-grid .with-proof {
  border-color: #75ad96;
  background: #e4f3eb;
  box-shadow: 0 20px 56px rgba(7, 91, 64, .1);
}

.before-after-grid .with-proof header {
  border-bottom-color: rgba(255, 255, 255, .2);
  background: #075b40;
  color: #fff;
}

.before-after-grid .with-proof header small {
  color: #b9dfcf;
}

.before-after-grid .with-proof li::before {
  color: #08704e;
  content: "✓";
}

.before-after-grid strong {
  display: block;
  margin-top: 20px;
  padding-top: 24px;
  border-top: 1px solid rgba(7, 16, 12, .12);
  font-size: 21px;
  letter-spacing: -.02em;
}

/* Public content pages use the same stronger title hierarchy. */
.legal-page h1,
.legal-block h2,
.performance-hero h1,
.performance-section h2,
.verify-page h1,
.verify-result-page h1,
.directory-page h1,
.certificate-page h1 {
  font-weight: 600;
}

@media (max-width: 860px) {
  .verify-inline .verify-search {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .live-proof-card {
    min-height: 0;
  }

  .free-proof-panel {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .proof-gap-visual {
    grid-template-columns: 1fr;
  }

  .proof-gap-arrow {
    min-height: 64px;
  }

  .proof-gap-arrow span {
    transform: rotate(90deg);
  }
}

@media (max-width: 640px) {
  .free-proof-panel h2 {
    font-size: clamp(46px, 15vw, 66px);
  }

  .free-proof-action {
    padding: 26px 22px;
  }

  .free-proof-action ul {
    grid-template-columns: 1fr;
  }

  .claim-contact-grid label:last-child {
    grid-column: auto;
  }
}

/* The process moves horizontally on desktop and vertically only after the cards stack. */
@media (max-width: 1050px) {
  .proof-gap-arrow {
    transform: none;
    text-align: center;
  }

  .proof-gap-arrow span {
    transform: none;
  }
}

@media (max-width: 860px) {
  .proof-gap-arrow span {
    transform: rotate(90deg);
  }
}

@media (max-width: 1000px) {
  .site-nav.open .mobile-nav {
    inset: 80px 0 0;
    height: calc(100svh - 80px);
    z-index: 1;
    overflow-y: auto;
    background: #000;
  }
}

@media (max-width: 720px) {
  .site-nav.open .mobile-nav {
    inset: 72px 0 0;
    height: calc(100svh - 72px);
  }
}

/* Anchor alias: /#access and /#claim must land on the same intake form.
   A zero-height target sitting just above the section, offset so the sticky
   header does not cover the heading it scrolled to. */
.anchor-alias {
  display: block;
  height: 0;
  scroll-margin-top: 96px;
}

/* Evidence standards ladder — the one thing competitors cannot state, so it
   gets the weight of a numbered progression rather than a bullet list. */
.standards-ladder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: standards;
}
.standards-ladder li {
  position: relative;
  padding: 24px 20px 22px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
}
.standards-ladder li::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  border-radius: 0 0 14px 14px;
  background: linear-gradient(90deg, rgba(120, 170, 255, 0.15), rgba(120, 170, 255, 0.65));
}
.standards-ladder li:nth-child(1)::before { opacity: 0.25; }
.standards-ladder li:nth-child(2)::before { opacity: 0.5; }
.standards-ladder li:nth-child(3)::before { opacity: 0.75; }
.standards-ladder li:nth-child(4)::before { opacity: 1; }
.standards-ladder small {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  letter-spacing: 0.08em;
  opacity: 0.5;
}
.standards-ladder h3 {
  margin: 0 0 10px;
  font-size: 17px;
  line-height: 1.3;
}
.standards-ladder p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  opacity: 0.72;
}
.standards-note {
  margin: 32px 0 0;
  max-width: 62ch;
  font-size: 15px;
  line-height: 1.6;
  opacity: 0.78;
}
.standards-note a { white-space: nowrap; }

@media (max-width: 900px) {
  .standards-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .standards-ladder { grid-template-columns: minmax(0, 1fr); }
}

/* .section-title carries margin: 0, so the paragraph after a section heading
   sat flush against it — measured gap of exactly 0px under "See what Rail
   Proof would verify for you." */
.section-title + p,
.section-title + .body-copy {
  margin-top: 20px;
}

/* Agent authorization — the one product a visitor has to be taught before they
   can want it, so it gets a narrative rather than a card. */
.mandate-story {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 44px 0 0;
  padding: 0;
  list-style: none;
}
.mandate-story li {
  position: relative;
  padding: 22px 20px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
}
.mandate-story small {
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
}
.mandate-story p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  opacity: 0.78;
}
/* Qualified with the element, because `.mandate-story li` above sets border
   and background at higher specificity (class + type) than a bare class would
   — so the accents silently lost and every step looked identical. The whole
   point of the sequence is that the last step is the resolution. */
.mandate-story li.mandate-story-problem {
  border-color: rgba(215, 173, 74, 0.4);
}
.mandate-story li.mandate-story-problem small { color: #d7ad4a; opacity: 1; }
.mandate-story li.mandate-story-answer {
  border-color: rgba(126, 226, 184, 0.45);
  background: rgba(126, 226, 184, 0.06);
}
.mandate-story li.mandate-story-answer small { color: #7ee2b8; opacity: 1; }

/* The ordering rule is the argument. It gets its own block because a reader
   who skims everything else should still land on this. */
.mandate-keystone-note {
  margin-top: 28px;
  padding: 24px 26px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 3px solid rgba(215, 173, 74, 0.85);
  border-radius: 12px;
  background: rgba(215, 173, 74, 0.04);
}
.mandate-keystone-note p {
  margin: 0;
  max-width: 82ch;
  font-size: 15px;
  line-height: 1.65;
}
.mandate-actions { margin-top: 30px; }

@media (max-width: 900px) {
  .mandate-story { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .mandate-story { grid-template-columns: minmax(0, 1fr); }
}

/* Products page: claims first, then plans, then billing mechanics. */
.products-page .legal-block p a {
  color: #d7ad4a;
  font-weight: 600;
  text-decoration: none;
}

.products-page .claim-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 26px;
  border: 1px solid var(--line);
  background: var(--line);
}

.products-page .claim-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 22px;
  background: #050505;
}

.products-page .claim-card small {
  color: #12b37b;
  font: 10px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.products-page .claim-card h3 {
  margin: 12px 0 8px;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.02em;
}

.products-page .claim-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.products-page .claim-card em {
  margin-top: 12px;
  color: #777;
  font-size: 12px;
  font-style: normal;
}

.products-page .claim-card a {
  margin-top: auto;
  padding-top: 14px;
  color: #d7ad4a;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.products-page .plan-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 22px;
  border: 1px solid var(--line);
  background: var(--line);
}

.products-page .plan-strip article {
  min-width: 0;
  padding: 18px 16px;
  background: #050505;
}

.products-page .plan-strip small {
  color: #999;
  font: 10px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.products-page .plan-strip strong {
  display: block;
  margin-top: 8px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.02em;
}

.products-page .plan-strip strong span {
  color: #777;
  font-size: 12px;
  font-weight: 500;
}

.products-page .plan-strip p {
  margin: 6px 0 0;
  font-size: 12px;
}

:is(.products-page, .pricing-section) .billing-table-wrap {
  margin-top: 22px;
  overflow-x: auto;
  border: 1px solid var(--line);
}

:is(.products-page, .pricing-section) .billing-table {
  width: 100%;
  min-width: 560px;
  margin: 0;
  border-collapse: collapse;
  background: #050505;
  font-size: 13px;
}

:is(.products-page, .pricing-section) .billing-table th,
:is(.products-page, .pricing-section) .billing-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #1e1e1e;
  text-align: left;
  vertical-align: top;
}

:is(.products-page, .pricing-section) .billing-table thead th {
  color: #999;
  font: 10px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}

:is(.products-page, .pricing-section) .billing-table tbody th {
  width: 44%;
  color: var(--muted);
  font-weight: 500;
}

:is(.products-page, .pricing-section) .billing-table td {
  color: #e6e6e6;
  font-variant-numeric: tabular-nums;
}

:is(.products-page, .pricing-section) .billing-table tbody tr:last-child th,
:is(.products-page, .pricing-section) .billing-table tbody tr:last-child td {
  border-bottom: 0;
}

.pricing-section .pricing-intro { display: block; margin: 24px 0 64px; max-width: 900px; }
.pricing-section .pricing-intro h2 { margin: 0 0 24px; max-width: none; font-size: clamp(36px, 4.4vw, 64px); line-height: 1.08; font-weight: 750; letter-spacing: -.04em; }
.pricing-section .pricing-intro h2 span { color: #bdbdbd; }
.pricing-section .pricing-intro > p { max-width: 640px; color: #bdbdbd; font-size: 18px; line-height: 1.65; }
.pricing-section #verification-costs { margin-bottom: 56px; scroll-margin-top: 100px; }
.pricing-section #verification-costs h2 { font-size: clamp(24px, 3vw, 36px); font-weight: 700; }
.pricing-section .verification-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0 32px; }
.pricing-section .verification-route-card { padding: 28px; border: 1px solid #343434; border-radius: 20px; background: #0d0d0d; }
.pricing-section .route-eyebrow { display: block; margin-bottom: 14px; color: #d5b451; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.pricing-section .verification-route-card h3 { margin: 0 0 14px; font-size: 26px; font-weight: 700; line-height: 1.2; }
.pricing-section .verification-route-card p { margin: 0; color: #c0c0c0; font-size: 16px; line-height: 1.65; }
.pricing-section .route-charge { display: block; padding-top: 20px; margin-top: 24px; margin-bottom: 10px; border-top: 1px solid #303030; color: #f5f5f5; font-size: 16px; }
.pricing-section .verification-route-card .route-detail { font-size: 14px; color: #aaa; }
.pricing-section .billing-table-wrap { border-radius: 16px; }
.pricing-section .billing-table thead th { color: #bdbdbd; letter-spacing: .06em; }
.pricing-section .billing-table tbody th { width: auto; }
.pricing-section .billing-table caption { text-align: left; padding: 14px; color: #bdbdbd; }
.pricing-section #verification-costs .pricing-note { margin: 18px 0 0; max-width: none; text-align: left; color: #bdbdbd; font-size: 14px; line-height: 1.7; }
.pricing-section #verification-costs details { padding: 18px 0; border-top: 1px solid #343434; border-bottom: 1px solid #343434; }
.pricing-section #verification-costs summary { cursor: pointer; color: #eee; font-size: 16px; font-weight: 600; }
.pricing-section #verification-costs details p { margin-top: 14px; }
@media (max-width: 640px) {
  .pricing-section .verification-route-grid { grid-template-columns: 1fr; }
  .pricing-section .verification-route-card { padding: 22px; }
  .pricing-section .pricing-intro { margin-bottom: 40px; }
}

@media (max-width: 640px) {
  .products-page .claim-grid,
  .products-page .plan-strip {
    grid-template-columns: 1fr;
  }
}

/* Pricing: five cards (pay-as-you-go first), collapsing 5 -> 3 -> 2 -> 1.
   The price type is tightened so five fit, and "/ month" always sits on its
   own line so a long price like "From $3,000" never orphans the slash. */
.pricing-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.pricing-grid-five .price-card {
  min-width: 0;
  padding: 26px 22px;
}

.pricing-grid-five .price-card h3 {
  margin: 22px 0 12px;
  font-size: 30px;
  white-space: nowrap;
}

.pricing-grid-five .price-card h3 span {
  display: block;
  margin-top: 6px;
  white-space: normal;
}

.pricing-grid-five .price-card p {
  min-height: 72px;
}

/* The free lane earns a quiet green edge so it reads as the entry point,
   without competing with the gold "most popular" card. */
.pricing-grid-five .price-card.payg {
  border-color: rgba(117, 230, 168, .45);
}

.pricing-grid-five .price-card.payg small {
  color: #75e6a8;
}

@media (max-width: 1180px) {
  .pricing-grid-five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .pricing-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .pricing-grid-five {
    grid-template-columns: 1fr;
  }
}

/* /certs: the live example certificate */
.certs-live{margin:44px 0 8px;display:grid;gap:18px}
.certs-live-head p:last-child{margin:10px 0 0;color:var(--muted,#aaa);font-size:14px;line-height:1.7;max-width:640px}
.certs-live-card{position:relative;padding:26px;border:1px solid rgba(117,230,168,.35);border-radius:18px;background:linear-gradient(180deg,rgba(117,230,168,.06),rgba(255,255,255,.012));box-shadow:0 26px 70px -44px rgba(117,230,168,.6)}
.certs-live-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font:11px ui-monospace,SFMono-Regular,monospace;letter-spacing:.18em;text-transform:uppercase;color:#75e6a8}
.certs-live-top span{display:inline-flex;align-items:center;gap:8px}
.certs-live-top i{width:7px;height:7px;border-radius:50%;background:#67ca98;box-shadow:0 0 0 4px rgba(103,202,152,.18)}
.certs-live-top code{color:#ddd;letter-spacing:.08em;text-transform:none}
.certs-live-mark{display:flex;align-items:center;gap:14px;margin-top:22px}
.certs-live-mark img{border-radius:10px}
.certs-live-mark small{display:block;color:#8a8a8a;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.certs-live-mark strong{display:block;margin-top:4px;font-size:20px;font-weight:500;letter-spacing:-.02em}
.certs-live-claim{margin:18px 0 0;color:#d7e0cf;font-size:14px;line-height:1.7}
.certs-live-card dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin:22px 0 0;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.08)}
.certs-live-card dl>div{padding:14px 16px;background:#0a0a0a}
.certs-live-card dt{color:#777;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.certs-live-card dd{margin:6px 0 0;color:#ddd;font-size:13px;line-height:1.5}
.certs-live-card dd a{color:#d7ad4a;text-decoration:underline;text-underline-offset:3px}
.certs-live-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media(max-width:620px){.certs-live-card{padding:20px}.certs-live-mark strong{font-size:17px}}

/* Homepage hero: the question, the search and an example result. The
   background video and its shade are styled in app.css and left as they are. */
.conversion-hero-copy .hero-question { margin: 0 0 16px; color: #fff; font-size: clamp(60px, 7.2vw, 108px); line-height: .95; letter-spacing: -.055em; }
.hero-subheading { max-width: 760px; margin: 0 0 14px; color: #fff; font-size: clamp(22px, 2.3vw, 32px); font-weight: 500; line-height: 1.22; letter-spacing: -.025em; }
.conversion-hero-copy .conversion-lead { max-width: 680px; color: #d2d2d2; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.5; }
.hero-search { max-width: 720px; margin-top: 28px; }
.hero-search .verify-input-wrap input { font-family: inherit; font-size: 16px; text-transform: none; letter-spacing: 0; }
.hero-search .verify-input-wrap input::placeholder { color: #8f8f8f; }
.verify-search-form > small.hero-search-note { margin: 12px 0 0 8px; color: #b9b9b9; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.conversion-hero-copy .button-row { margin-top: 22px; }
.hero-example-card { padding: 26px; border: 1px solid rgba(215,173,74,.42); border-radius: 20px; background: linear-gradient(150deg, rgba(24,24,24,.96), rgba(5,5,5,.98)); box-shadow: 0 28px 80px rgba(0,0,0,.42); }
.hero-example-caption { margin: 0 0 16px; color: #9a9a9a; font: 11px ui-monospace, SFMono-Regular, monospace; text-transform: uppercase; letter-spacing: .14em; }
.hero-example-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; border: 1px solid #2a2a2a; border-radius: 14px; background: #0b0b0b; }
.hero-example-row + .hero-example-row { margin-top: 10px; }
.hero-example-value { min-width: 0; color: #fff; font: 15px ui-monospace, SFMono-Regular, monospace; }
.hero-example-verdict { flex: none; font-size: 14px; font-weight: 600; }
.hero-example-verified .hero-example-verdict { color: #72c99d; }
.hero-example-unverified .hero-example-verdict { color: #e2a86a; }
@media (max-width: 760px) {
  .conversion-hero-copy .hero-question { font-size: clamp(48px, 14vw, 64px); }
  .hero-subheading { font-size: 21px; }
  .hero-search { margin-top: 22px; }
  .verify-search-form > small.hero-search-note { margin-left: 2px; }
  .hero-example-row { flex-direction: column; align-items: flex-start; gap: 6px; }
}
/* The hero is on screen at load, so it fades in on its own rather than
   waiting for the scroll observer, and always ends fully opaque. */
.conversion-hero .conversion-hero-copy.reveal, .conversion-hero .hero-example-card.reveal { opacity: 1; transform: none; animation: rise .9s cubic-bezier(.16, 1, .3, 1) both; }
@media (prefers-reduced-motion: reduce) { .conversion-hero .conversion-hero-copy.reveal, .conversion-hero .hero-example-card.reveal { animation: none; } }
/* The hero fits its content instead of filling the screen, so the next
   section follows the search. The video and its shade still fill the hero
   exactly as before; only the hero is shorter. */
.conversion-hero { min-height: auto; padding-bottom: 72px; }
#for-companies { padding-top: 28px; }
#for-companies .conversion-hero-copy { max-width: 760px; }
#for-companies .section-label { margin-bottom: 12px; }
#for-companies h2 { margin-top: 18px; }
/* The background video and its shade sit behind both the hero and the
   "For companies" section, so the animation fills the whole dark area. The
   video and shade keep their own rules unchanged; the stage takes over the
   hero's background so nothing opaque covers them. */
.hero-stage { position: relative; overflow: hidden; background: radial-gradient(circle at 78% 30%, rgba(215,173,74,.11), transparent 34%), #050505; }
.hero-stage > section { position: relative; z-index: 2; }
.hero-stage > .conversion-hero { background: transparent; }

/* Help guides (/help). */
.help-page .legal-block { grid-template-columns: 150px minmax(0, 1fr); }
.help-page .legal-block > span { padding-top: 4px; line-height: 1.6; letter-spacing: .14em; text-transform: uppercase; }
.help-index, .help-examples, .help-notes { margin: 0; padding: 0; list-style: none; display: grid; gap: 18px; }
.help-index a { color: #fff; font-size: 18px; font-weight: 500; text-decoration: underline; text-decoration-color: rgba(215,173,74,.6); text-underline-offset: 4px; }
.help-index p { margin: 6px 0 0; }
.help-steps { margin: 0; padding-left: 22px; display: grid; gap: 12px; color: #d8d8d8; font-size: 15px; line-height: 1.7; }
.help-terms { display: grid; gap: 16px; margin: 0; }
.help-terms dt { color: #fff; font-weight: 600; }
.help-terms dd { margin: 4px 0 0; color: var(--muted); line-height: 1.7; }
.help-examples li, .help-notes li { color: #d0d0d0; font-size: 15px; line-height: 1.7; }
.help-examples a { color: #d7ad4a; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.help-notes li { padding-left: 16px; border-left: 2px solid #3a3320; }
.help-shot { margin: 0; }
.help-shot-frame { display: grid; place-items: center; min-height: 180px; border: 1px dashed #3d3d3d; border-radius: 14px; background: #0b0b0b; color: #6f6f6f; font: 11px ui-monospace, SFMono-Regular, monospace; letter-spacing: .14em; text-transform: uppercase; }
.help-shot figcaption { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.help-contact { margin: 40px 0 0; color: var(--muted); }
.help-contact a { color: #d7ad4a; }
.help-how { margin: 14px 0 0; font-size: 14px; }
.help-how a { color: #d7ad4a; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .help-page .legal-block { grid-template-columns: 1fr; gap: 10px; } }
