/* ── 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
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.
What You Get
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.
Pricing
Start with Round 1. Upgrade after delivery — no commitment upfront.
Full package (all three rounds): $595 · Upgrade paths unlock after delivery.
Get Thumbprinted
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 ThumbprintedThis 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.