.wrap{max-width:1200px;margin:0 auto;padding:0 32px}.pf-hero{position:relative;padding:120px 0 96px;overflow:hidden}.pf-hero__bg{position:absolute;inset:0;background-image:radial-gradient(circle,var(--border-subtle) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 80%);pointer-events:none}.pf-hero__bg:after{content:"";position:absolute;left:50%;top:-100px;width:680px;height:680px;transform:translateX(-50%);background:radial-gradient(circle,var(--accent-soft) 0,transparent 60%);opacity:.5}.pf-hero__inner{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center}.pf-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid var(--border-subtle);box-shadow:var(--shadow-1);font-size:12px;font-weight:500;color:var(--fg-muted)}.pf-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.18)}.pf-eyebrow strong{color:var(--fg);font-weight:600}.pf-hero h1{font-family:var(--font-display);font-size:88px;font-weight:700;letter-spacing:-.045em;line-height:.98;margin:22px 0 0}.pf-hero h1 .muted{color:var(--fg-muted)}.pf-hero h1 .accent{color:var(--accent);font-style:italic;font-weight:600}.pf-hero__sub{font-size:18px;color:var(--fg-muted);max-width:520px;margin:28px 0 36px;line-height:1.55}.pf-hero__ctas{display:flex;gap:10px}.pf-hero__card{background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:24px;box-shadow:0 24px 48px -16px rgba(15,15,15,.08),0 4px 12px -2px rgba(15,15,15,.04);position:relative}.pf-card__h{gap:10px;margin-bottom:18px}.pf-card__avatar,.pf-card__h{display:flex;align-items:center}.pf-card__avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#0a0a09,#2a6fdb);justify-content:center}.pf-card__avatar svg{width:26px;height:26px}.pf-card__id{display:flex;flex-direction:column;gap:2px}.pf-card__name{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.02em}.pf-card__handle{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted)}.pf-card__rows{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border-subtle);padding-top:16px}.pf-card__row{display:grid;grid-template-columns:80px 1fr;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.pf-card__row:last-child{border-bottom:0}.pf-card__k{font-family:var(--font-mono);font-size:10px;color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.08em}.pf-card__v{font-size:13.5px;color:var(--fg)}.pf-card__v .pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 7px;border-radius:999px;background:var(--success-soft);color:var(--success);font-weight:500}.pf-card__v .pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.pf-strip{padding:32px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:var(--bg-soft)}.pf-strip__inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.pf-strip__cell{display:flex;flex-direction:column;gap:4px}.pf-strip__k{font-family:var(--font-mono);font-size:10px;color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.08em}.pf-strip__v{font-size:14px;font-weight:500}.pf-strip__divider{width:1px;height:32px;background:var(--border-subtle)}.pf-section{padding:96px 0;border-top:1px solid var(--border-subtle)}.pf-section__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px;gap:24px}.pf-section__head h2{font-family:var(--font-display);font-size:40px;font-weight:700;letter-spacing:-.035em;line-height:1.05;margin:0}.pf-section__head h2 .num{font-family:var(--font-mono);font-size:13px;color:var(--fg-subtle);font-weight:500;letter-spacing:0;margin-right:14px;vertical-align:middle}.pf-section__head p{margin:0;color:var(--fg-muted);font-size:14px;max-width:380px;text-align:right}.pf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.proj{position:relative;background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px;overflow:hidden;transition:all .25s var(--ease-out);min-height:260px}.proj:hover{border-color:var(--border-strong);box-shadow:0 18px 36px -12px rgba(15,15,15,.1);transform:translateY(-2px)}.proj:hover .proj__hex{transform:translate(-6px,-6px) rotate(-4deg);color:var(--accent)}.proj:hover .proj__arrow{transform:translate(2px,-2px);color:var(--accent)}.proj__hex{position:absolute;top:-22px;right:-22px;width:140px;height:140px;color:var(--neutral-200);transition:all .35s var(--ease-out);pointer-events:none}.proj__hex svg{width:100%;height:100%}.proj__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:relative;z-index:1}.proj__year{font-family:var(--font-mono);font-size:10px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:6px}.proj__year .live{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.18)}.proj__year .archived{width:6px;height:6px;border-radius:50%;background:var(--fg-subtle)}.proj__year .wip{width:6px;height:6px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}.proj__arrow{display:inline-flex;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);align-items:center;justify-content:center;color:var(--fg-muted);transition:all .2s var(--ease-out)}.proj h3{margin:6px 0 4px;font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.025em}.proj p{margin:0;color:var(--fg-muted);font-size:14px;line-height:1.55;flex:1}.proj__foot{justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--border-subtle);gap:8px}.proj__foot,.proj__tags{display:flex;flex-wrap:wrap}.proj__tags{gap:5px}.proj__tag{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--neutral-100);color:var(--fg);font-weight:500;font-family:var(--font-mono)}.proj__tag--accent{background:var(--accent-soft);color:var(--accent)}.proj__metric{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted)}.proj--feat{grid-column:span 2;min-height:auto;display:grid;grid-template-columns:1fr 1.2fr;gap:32px;padding:32px;align-items:center}.proj--feat .proj__hex{display:none}.proj--feat__visual{aspect-ratio:16/10;border-radius:10px;background:var(--neutral-1000);position:relative;overflow:hidden;border:1px solid var(--border-subtle)}.proj--feat__visual:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 0);background-size:14px 14px}.proj--feat__visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(42,111,219,.45),transparent 60%)}.proj--feat__visual svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%}.proj--feat h3{font-size:36px;letter-spacing:-.03em}.proj--feat p{font-size:16px}.tl{display:flex;flex-direction:column;gap:0}.tl__item{display:grid;grid-template-columns:140px 1fr auto;gap:32px;padding:24px 0;border-bottom:1px solid var(--border-subtle);align-items:center;transition:padding-left .2s}.tl__item:hover{padding-left:8px}.tl__item:last-child{border-bottom:0}.tl__year{font-family:var(--font-mono);font-size:13px;color:var(--fg-muted)}.tl__main{display:flex;flex-direction:column;gap:4px}.tl__role{font-weight:600;font-size:18px;font-family:var(--font-display);letter-spacing:-.015em}.tl__co{color:var(--fg-muted);font-size:14px}.tl__co .sep{margin:0 6px;color:var(--fg-subtle)}.tl__where{font-family:var(--font-mono);font-size:11px;color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.08em}.pf-stats{padding:64px 0;border-top:1px solid var(--border-subtle)}.pf-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.pf-stat__num{font-family:var(--font-display);font-size:64px;font-weight:700;letter-spacing:-.045em;line-height:1}.pf-stat__num .accent{color:var(--accent)}.pf-stat__lbl{margin-top:10px;color:var(--fg-muted);font-size:13px}.pf-contact-wrap{padding:48px 0 96px}.pf-contact{position:relative;background:#0a0a09;color:#fff;border-radius:20px;padding:80px 56px;overflow:hidden}.pf-contact:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 78% 50%,rgba(42,111,219,.45) 0,transparent 55%),radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 0);background-size:auto,18px 18px;pointer-events:none}.pf-contact:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,var(--accent),transparent)}.pf-contact__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}.pf-contact__eyebrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7);margin-bottom:14px}.pf-contact__eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.pf-contact h2{font-family:var(--font-display);font-size:48px;font-weight:700;letter-spacing:-.035em;line-height:1.05;margin:0;color:#fff}.pf-contact h2 .mute{color:rgba(255,255,255,.55)}.pf-contact__sub{margin:18px 0 0;color:rgba(255,255,255,.7);font-size:15px;line-height:1.55;max-width:420px}.pf-contact__links{display:flex;flex-direction:column;gap:8px}.pf-contact__link{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:13px;color:#fff;transition:all .15s}.pf-contact__link:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.pf-contact__link .arrow{color:rgba(255,255,255,.5)}.pf-contact__link:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.pf-contact__link__l{display:flex;align-items:center;gap:10px}.pf-contact__link__l .k{color:rgba(255,255,255,.5);text-transform:uppercase;font-size:10px;letter-spacing:.08em;width:60px}