.fp-shell{background:var(--bg);color:var(--fg);min-height:100vh}.fp-hero{padding:96px 0 64px;border-bottom:1px solid var(--rule);position:relative;overflow:hidden}.fp-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(21,20,15,.05) 1px,transparent 0),linear-gradient(90deg,rgba(21,20,15,.05) 1px,transparent 0);background-size:80px 80px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 30% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 80% 60% at 30% 50%,#000 30%,transparent 100%)}.fp-hero .container{position:relative;z-index:1}.fp-back{display:inline-flex;align-items:center;gap:8px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);margin-bottom:40px}.fp-back:hover{color:var(--fg)}.fp-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:80px;gap:80px;align-items:end}.fp-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);padding:6px 12px 6px 8px;border:1px solid var(--rule);border-radius:999px;background:hsla(0,0%,100%,.5);margin-bottom:28px}.fp-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px oklch(.58 .13 38/.15)}.fp-name{font-size:clamp(56px,7.6vw,116px);letter-spacing:-.04em;line-height:.94;font-weight:500;margin:0 0 28px}.fp-name .em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--accent)}.fp-role{font-size:clamp(18px,1.8vw,24px);color:var(--fg-2);max-width:36ch;line-height:1.35;text-wrap:pretty;margin:0 0 32px}.fp-role b{color:var(--fg);font-weight:600}.fp-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}.fp-tag{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.05em;padding:5px 12px;border-radius:999px;background:var(--bg-2);color:var(--fg-2);border:1px solid var(--rule)}.fp-ctas{display:flex;gap:12px;flex-wrap:wrap}.fp-portrait-card{border:1px solid var(--rule);border-radius:18px;padding:24px;background:#fff;box-shadow:0 30px 60px -30px rgba(21,20,15,.18)}.fp-portrait{aspect-ratio:4/5;background:repeating-linear-gradient(135deg,var(--bg-2) 0 12px,var(--bg) 12px 24px);border-radius:12px;border:1px solid var(--rule);position:relative}.fp-portrait,.fp-portrait-circle{display:flex;align-items:center;justify-content:center}.fp-portrait-circle{width:110px;height:110px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:36px;font-weight:600;letter-spacing:.04em;box-shadow:0 16px 40px -10px rgba(176,83,42,.55)}.fp-portrait-label{bottom:14px;left:14px;color:var(--fg-3);letter-spacing:.05em;background:hsla(0,0%,100%,.85);border:1px solid var(--rule)}.fp-portrait-label,.fp-portrait-status{position:absolute;font-family:Geist Mono,monospace;font-size:10.5px;padding:4px 10px;border-radius:999px}.fp-portrait-status{top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;color:var(--accent);background:hsla(0,0%,100%,.9);border:1px solid oklch(.58 .13 38/.3)}.fp-portrait-status .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px oklch(.58 .13 38/.18);animation:fpPulse 2.2s ease-in-out infinite}@keyframes fpPulse{0%,to{box-shadow:0 0 0 3px oklch(.58 .13 38/.18)}50%{box-shadow:0 0 0 6px oklch(.58 .13 38/.06)}}.fp-portrait-meta{padding:16px 4px 4px;display:flex;flex-direction:column;gap:4px}.fp-portrait-meta .h{font-size:17px;font-weight:500;letter-spacing:-.01em}.fp-portrait-meta .sub{font-size:13px;color:var(--fg-3)}.fp-portrait-meta .links{margin-top:12px;display:flex;gap:8px}.fp-portrait-meta .link{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid var(--rule);color:var(--fg-2)}.fp-portrait-meta .link:hover{color:var(--fg);border-color:var(--fg)}.fp-section{padding:96px 0;border-bottom:1px solid var(--rule)}.fp-section h2{font-size:clamp(28px,3.4vw,48px);letter-spacing:-.025em;line-height:1.05;font-weight:500;margin:0 0 12px}.fp-section h2 .em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--accent)}.fp-section .kicker{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:14px}.fp-section .lede{font-size:17px;color:var(--fg-2);max-width:56ch;line-height:1.55;text-wrap:pretty}.fp-now{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.fp-now-card{padding:24px;border:1px solid var(--rule);border-radius:14px;background:var(--bg);display:flex;flex-direction:column;gap:10px}.fp-now-card .when{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.fp-now-card h4{font-size:17px;margin:0;font-weight:500;letter-spacing:-.01em}.fp-now-card p{font-size:14px;color:var(--fg-3);margin:0;line-height:1.5}.fp-eng{margin-top:40px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.fp-eng-card{padding:28px;border:1px solid var(--rule);border-radius:14px;background:var(--bg-2);display:flex;flex-direction:column;gap:14px}.fp-eng-meta{display:flex;justify-content:space-between;align-items:baseline;font-family:Geist Mono,monospace;font-size:10.5px;color:var(--fg-3);letter-spacing:.05em;text-transform:uppercase}.fp-eng-meta .stage{color:var(--fg)}.fp-eng-card h4{font-size:22px;letter-spacing:-.02em;line-height:1.15;margin:0;font-weight:500}.fp-eng-card p{font-size:14.5px;color:var(--fg-2);line-height:1.55;margin:0;text-wrap:pretty}.fp-eng-metric{display:flex;gap:24px;padding-top:14px;border-top:1px dashed var(--rule-strong)}.fp-eng-metric .m{display:flex;flex-direction:column}.fp-eng-metric .m b{font-size:22px;font-weight:600;color:var(--fg);letter-spacing:-.02em}.fp-eng-metric .m span{font-family:Geist Mono,monospace;font-size:10.5px;color:var(--fg-3);letter-spacing:.05em;text-transform:uppercase}.fp-skills{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;border-top:1px solid var(--rule)}.fp-skill{border-bottom:1px solid var(--rule);display:grid;grid-template-columns:60px 1fr;grid-gap:20px;gap:20px;padding:24px 32px 24px 0}.fp-skill:nth-child(odd){padding-right:16px;border-right:1px solid var(--rule);margin-right:-1px;padding-left:0}.fp-skill:nth-child(2n){padding-left:32px}.fp-skill .num{font-family:Geist Mono,monospace;font-size:11px;color:var(--fg-4);letter-spacing:.05em}.fp-skill .body h4{font-family:Geist Mono,monospace;font-size:13px;margin:0 0 6px;color:var(--fg);font-weight:500}.fp-skill .body p{font-size:14px;color:var(--fg-3);margin:0;line-height:1.5}.fp-phases{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule)}.fp-phase{padding:28px 24px 32px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:10px;background:var(--bg)}.fp-phase:last-child{border-right:0}.fp-phase .when{font-family:Geist Mono,monospace;font-size:10.5px;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.fp-phase h4{font-size:18px;margin:0;font-weight:500;letter-spacing:-.01em}.fp-phase p{font-size:13.5px;color:var(--fg-3);margin:0;line-height:1.5}.fp-cta{padding:120px 0;text-align:center;background:var(--bg);border-bottom:1px solid var(--rule);position:relative;overflow:hidden}.fp-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 100%,oklch(.58 .13 38/.1),transparent 70%);pointer-events:none}.fp-cta .container{position:relative}.fp-cta h2{font-size:clamp(40px,5vw,76px);letter-spacing:-.03em;line-height:1;font-weight:500;max-width:16ch;margin:0 auto 24px}.fp-cta h2 .em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--accent)}.fp-cta p{font-size:17px;color:var(--fg-2);max-width:50ch;margin:0 auto 32px}.fp-cta .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media (max-width:1024px){.fp-hero-grid{gap:48px}.fp-eng,.fp-hero-grid,.fp-now,.fp-skills{grid-template-columns:1fr}.fp-skill:nth-child(odd){padding-right:0;border-right:0}.fp-skill:nth-child(2n){padding-left:0}.fp-phases{grid-template-columns:1fr 1fr}}@media (max-width:640px){.fp-phases{grid-template-columns:1fr}}