/* ── HERO ── */ .hero { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; padding: 9rem 2rem 6rem; text-align: center; } .eyebrow { font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--accent); margin-bottom: 2rem; display: flex; align-items: center; justify-content: center; gap: 0.75rem; } .eyebrow::before, .eyebrow::after { content: ''; width: 40px; height: 1px; background: var(--accent-dim); } .fingerprint-icon { display: block; margin: 0 auto 2.5rem; width: 80px; height: 80px; opacity: 0; animation: fadeUp 1s ease 0.2s forwards; } @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } h1 { font-size: clamp(2.2rem, 5.5vw, 3.8rem); line-height: 1.12; margin-bottom: 1.75rem; font-weight: normal; opacity: 0; animation: fadeUp 1s ease 0.4s forwards; } h1 em { font-style: italic; color: var(--accent2); } h1 strong { background: linear-gradient(135deg, var(--accent2), var(--gold)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: normal; } .sub { font-size: 1.1rem; color: var(--muted); max-width: 520px; margin: 0 auto 3.5rem; line-height: 1.9; opacity: 0; animation: fadeUp 1s ease 0.6s forwards; } .cta-group { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; opacity: 0; animation: fadeUp 1s ease 0.8s forwards; } /* ── BUTTONS ── */ .btn-primary { position: relative; background: var(--accent); color: white; border: none; padding: 1rem 2.25rem; font-size: 0.9rem; cursor: pointer; letter-spacing: 0.05em; text-decoration: none; display: inline-block; font-family: 'Georgia', serif; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; } .btn-primary::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,0.1), transparent); opacity: 0; transition: opacity 0.2s; } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(124,106,247,0.4); } .btn-primary:hover::before { opacity: 1; } .btn-secondary { background: transparent; color: var(--muted); border: 1px solid var(--border); padding: 1rem 2.25rem; font-size: 0.9rem; cursor: pointer; letter-spacing: 0.05em; text-decoration: none; display: inline-block; font-family: 'Georgia', serif; transition: border-color 0.2s, color 0.2s; } .btn-secondary:hover { border-color: var(--accent-dim); color: var(--text); } /* ── DIVIDER ── */ .divider { position: relative; z-index: 1; width: 1px; height: 80px; background: linear-gradient(to bottom, transparent, var(--border), transparent); margin: 5rem auto; } /* ── SECTIONS ── */ section { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; padding: 0 2rem; } .section-label { font-size: 0.7rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; } .section-label::after { content: ''; flex: 1; height: 1px; background: var(--border); } h2 { font-size: 1.9rem; font-weight: normal; margin-bottom: 1.25rem; } p { margin-bottom: 1rem; color: var(--muted); } /* ── PORTRAIT SAMPLE ── */ .portrait-sample { position: relative; background: var(--surface); border: 1px solid var(--border-glow); padding: 2.5rem; margin: 2.5rem 0; font-size: 0.95rem; overflow: hidden; } .portrait-sample::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: linear-gradient(to bottom, var(--accent), var(--gold)); } .portrait-sample::after { content: ''; position: absolute; top: -50%; right: -50%; width: 200%; height: 200%; background: radial-gradient(circle at center, rgba(124,106,247,0.03), transparent 60%); pointer-events: none; } .portrait-header { font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.25rem; } .portrait-section-title { font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin: 1.5rem 0 0.5rem; } .portrait-text { color: var(--text); font-style: italic; line-height: 1.9; } /* ── PRICING ── */ .pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; background: var(--border); margin: 2.5rem 0; position: relative; } .pricing-card { background: var(--surface); padding: 2.5rem 2rem; position: relative; transition: background 0.3s; } .pricing-card.featured { background: var(--surface2); } .pricing-card.featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--accent), var(--accent2)); } .card-label { font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.25rem; } .card-price { font-size: 2.8rem; font-weight: normal; color: var(--text); margin-bottom: 0.25rem; line-height: 1; } .card-price-note { font-size: 0.8rem; color: var(--muted); margin-bottom: 1.5rem; min-height: 1.4rem; } .card-features { list-style: none; font-size: 0.875rem; color: var(--muted); line-height: 2; } .card-features li::before { content: '→ '; color: var(--accent); opacity: 0.6; } .card-cta { margin-top: 2rem; display: block; text-align: center; padding: 0.75rem 1.5rem; font-size: 0.8rem; letter-spacing: 0.05em; text-decoration: none; border: 1px solid var(--border-glow); color: var(--muted); transition: border-color 0.2s, color 0.2s, background 0.2s; } .card-cta:hover { border-color: var(--accent-dim); color: var(--text); background: var(--accent-glow); } .pricing-note { font-size: 0.8rem; color: var(--muted); text-align: center; margin-top: 1.25rem; font-style: italic; } /* ── BUY SECTION ── */ .buy-section { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; padding: 0 2rem; } .buy-card { position: relative; background: var(--surface); border: 1px solid var(--border-glow); padding: 4rem 3rem; text-align: center; overflow: hidden; } .buy-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%, rgba(124,106,247,0.08), transparent 60%); pointer-events: none; } .buy-card::after { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 120px; height: 1px; background: linear-gradient(90deg, transparent, var(--accent), transparent); } .buy-price-display { font-size: 5rem; font-weight: normal; color: var(--text); line-height: 1; margin: 1.5rem 0 0.5rem; background: linear-gradient(135deg, var(--text) 60%, var(--accent2)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .buy-price-label { font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 2rem; } .buy-details { font-size: 0.875rem; color: var(--muted); max-width: 400px; margin: 0 auto 2.5rem; line-height: 1.8; } .btn-buy { position: relative; display: inline-block; background: linear-gradient(135deg, var(--accent), #6350e8); color: white; border: none; padding: 1.1rem 3rem; font-size: 0.95rem; cursor: pointer; letter-spacing: 0.06em; text-decoration: none; font-family: 'Georgia', serif; transition: transform 0.2s, box-shadow 0.2s; overflow: hidden; } .btn-buy::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,0.15), transparent); opacity: 0; transition: opacity 0.2s; } .btn-buy:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(124,106,247,0.5); } .btn-buy:hover::before { opacity: 1; } .buy-fine-print { font-size: 0.75rem; color: var(--muted); max-width: 360px; margin: 2rem auto 0; line-height: 1.8; opacity: 0.7; } /* ── SCAN LINE ANIMATION ── */ @keyframes scanline { 0% { transform: translateY(-100%); } 100% { transform: translateY(100vh); } } .scanline { position: fixed; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, rgba(124,106,247,0.1), transparent); pointer-events: none; z-index: 999; animation: scanline 8s linear infinite; } /* ── FOOTER ── */ footer { position: relative; z-index: 1; border-top: 1px solid var(--border); padding: 2.5rem; text-align: center; font-size: 0.75rem; color: var(--muted); margin-top: 8rem; letter-spacing: 0.03em; } footer a { color: var(--muted); transition: color 0.2s; } footer a:hover { color: var(--accent2); } /* ── SCROLL FADE IN ── */ .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.8s ease, transform 0.8s ease; } .reveal.visible { opacity: 1; transform: none; }

Behavioral Portrait System

No one else has
your thumbprint.
Now you can
read it.

Every decision leaves a pattern. Every problem you return to reveals something. Thumbprint reads how you actually think — not a type, not a score. A portrait drawn from evidence.

Get Thumbprinted — $299 See a Sample

What You Get

Not a personality test.
A portrait.

Personality tests put you in a box. A portrait describes you specifically — the through-line in your decisions, your signature moves, the tension that generates most of your best work, and the blind spot you probably already know about but haven't named.

Thumbprint asks you to show your thinking through specific incidents — not how you'd describe yourself, but what you actually did. The synthesis reads the demonstrations, not the labels. The output is grounded in evidence.

Sample Portrait (excerpt)
The Core Pattern
"He builds before he has permission, then makes the thing too useful to stop. This isn't recklessness — it's a deliberate strategy for moving in systems that require demonstrated value before granting authority."
The Blind Spot
"When the stakes are interpersonal, he reframes the problem as a data problem — gathering more information to postpone a conclusion that was already available. Knowing the mechanism and interrupting it are different skills."
For the Record
"He already knows what he's going to do. He's usually just building the evidence that makes it undeniable to everyone else."

Pricing

One portrait.
Go deeper when you're ready.

Start with Round 1. Upgrade after delivery — no commitment upfront.

Round 2 — Deeper
$148
Add-on after Round 1
  • 8 personalized follow-up questions
  • Written from your portrait findings
  • Sharper synthesis
  • Deeper evidence layer
Portrait Navigator
$148
Add-on after Round 1
  • Chat with your portrait
  • 90 days of access
  • Portrait-grounded answers
  • Not generic advice

Full package (all three rounds): $595 · Upgrade paths unlock after delivery.

$299
Standard Portrait · One-time

Pay securely via Stripe. Receive your intake link within 24 hours. Complete 8 behavioral questions at your pace — most finish in 20 minutes. Portrait delivered within 5 business days.

Get Thumbprinted

This portrait is designed to be accurate, not comfortable. The blind spot section is written to tell the truth. If you want a mirror that shows what's actually there — this is it.