/* Styles for v2 UI rendered by React that the static export never had.
   Not part of the static export: keep this file when re-importing public/v2.
   Loaded on every v2 page by V2Shell.

   Mobile sticky signup bar (src/components/v2/V2StickyCta.tsx).
   Uses the v2 tokens and .button; shown only below the desktop-navigation
   breakpoint (961px, navigation.js). */
.sticky-cta{display:none}
@media(max-width:960px){
  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -10px 28px #20172d14;transform:translateY(calc(100% + 12px));visibility:hidden;transition:transform .24s var(--ease),visibility 0s linear .24s}
  .sticky-cta[data-visible="true"]{transform:none;visibility:visible;transition:transform .24s var(--ease)}
  .sticky-cta-note{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.4}
  .sticky-cta .button{flex-shrink:0;gap:12px}
}
@media(max-width:620px){
  .sticky-cta{padding-inline:18px}
}
@media(max-width:360px){
  .sticky-cta-note{display:none}
  .sticky-cta .button{flex:1}
}
@media(prefers-reduced-motion:reduce){
  .sticky-cta,.sticky-cta[data-visible="true"]{transition:none}
}
@media print{
  .sticky-cta{display:none!important}
}

/* The React-rendered .evidence-dialog extra (src/pages/v2x/home: the business
   card), which the static export never had.
   It opens without a click and focuses the dialog itself (tabindex -1) so the
   close button carries no ring on arrival; the dialog shows none either. Tab
   still reaches the close button with its site.css ring.
   An evidence layout with a single child (a card without a photo) runs as one column.
   Links inside their .small-note sentences are plain anchors, styled like the
   v2 inline links (acquisition.css .start-paid a); the business card's two
   sentences sit together as one quiet block under its actions. */
.evidence-dialog[tabindex="-1"]:focus-visible{outline:none}
.evidence-dialog .evidence-layout:has(>:only-child){grid-template-columns:minmax(0,1fr)}
.evidence-dialog .small-note a{color:var(--purple);text-decoration:underline;text-underline-offset:4px}
.evidence-dialog .small-note+.small-note{margin-top:4px}
/* The business card on phones: the portrait becomes a small square beside the
   role line and the message tightens, so Save contact shows on arrival. */
@media(max-width:620px){
  .evidence-dialog[aria-labelledby="business-card-title"] .evidence-layout{gap:20px}
  .evidence-dialog[aria-labelledby="business-card-title"] .evidence-original{display:flex;align-items:center;gap:16px}
  .evidence-dialog[aria-labelledby="business-card-title"] .evidence-original img{width:80px;height:80px;flex:0 0 80px;object-fit:cover;object-position:center 25%}
  .evidence-dialog[aria-labelledby="business-card-title"] .evidence-note{margin-top:0}
  .evidence-dialog[aria-labelledby="business-card-title"] .section-intro{font-size:.9375rem;line-height:1.7;margin-bottom:0}
  .evidence-dialog[aria-labelledby="business-card-title"] .page-actions{margin-top:20px}
}

/* A "Coming soon" badge beside a label (feature surfaces not yet released). */
.soon-badge{display:inline-block;margin-left:10px;padding:1px 9px;border:1px solid var(--purple);border-radius:999px;background:var(--lilac);color:var(--purple);font-size:.6875rem;line-height:1.6;letter-spacing:.02em;vertical-align:1px;white-space:nowrap}

/* /team "Advisors from:" logo row (single-colour SVGs in public/v2/logos). */
.advisor-logos{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:32px 56px}
.advisor-logos img{display:block}
@media(max-width:620px){.advisor-logos{gap:24px 36px}}

/* Homepage hero on desktop: more room above the eyebrow and below the trust
   line than the static export's 26px / 28px (88px / 112px), so the first screen reads as one
   message before the product visual starts. Tablet and phone keep the export's
   spacing. */
@media(min-width:961px){
  .discovery-front .hero{padding-top:88px}
  .discovery-front .hero-intro{gap:112px}
}

/* Legal documents with real structure (/eula): the converted /terms and
   /privacy were flattened to paragraphs by the static export, so nothing here
   ever styled a list or a table. Lists inherit the muted body colour; strong
   returns to ink so the "you must check this" lines carry weight. */
.legal-document ul,.legal-document ol{margin:0 0 22px;padding-left:25px;color:var(--muted)}
.legal-document li{margin-bottom:11px}
.legal-document li:last-child{margin-bottom:0}
.legal-document li::marker{color:var(--muted)}
.legal-document strong{color:var(--ink);font-weight:600}
.legal-table{width:100%;margin:0 0 22px;border-collapse:collapse;font-size:.9375rem;line-height:1.75;color:var(--muted)}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:14px 20px 14px 0;border-bottom:1px solid var(--line)}
.legal-table td:last-child,.legal-table th:last-child{padding-right:0}
.legal-table tbody th{width:30%;color:var(--ink);font-weight:600}
.legal-table thead th{font-size:.8125rem;line-height:1.7;letter-spacing:.015em;font-weight:500;color:var(--muted);border-bottom-color:var(--ink)}
/* Two text columns don't survive a phone: stack each row as a label over its
   description rather than scrolling the page sideways. */
@media(max-width:620px){
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block}
  .legal-table thead{display:none}
  .legal-table tr{border-bottom:1px solid var(--line);padding-block:15px}
  .legal-table th,.legal-table td{border:0;padding:0}
  .legal-table tbody th{width:auto;margin-bottom:7px}
}
