.pg-projects .featured{position:relative;padding-top:56px;padding-bottom:112px;overflow:hidden}.pg-projects .ghost-word{position:absolute;top:24px;right:-40px;z-index:0;font-family:var(--font-display);font-weight:300;font-size:22vw;line-height:1;letter-spacing:-.045em;color:var(--bone);opacity:.06;pointer-events:none;user-select:none}.pg-projects .featured-inner{position:relative;z-index:1}.pg-projects .fp-text{grid-column:1/span 4}.pg-projects .fp-h2{margin-top:14px;font-size:clamp(60px,7vw,96px)}.pg-projects .fp-h2 .star{color:var(--amber)}.pg-projects .fp-sub{font-family:var(--font-display);font-feature-settings:"ss01","ss02","ss03";font-style:italic;font-size:22px;color:var(--phosphor);margin-top:18px}.pg-projects .fp-body{font-family:var(--font-mono);font-size:14px;line-height:1.625;color:var(--bone);margin-top:18px;max-width:42ch}.pg-projects .fp-stats{margin-top:32px}.pg-projects .fp-mock{grid-column:5/span 8;transform:translateY(40px)}.pg-projects .fp-live{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--bone);border:1px solid var(--phosphor-dim);padding:9px 14px;transition:border-color .18s ease,background .18s ease,box-shadow .2s ease}.pg-projects .fp-live:hover{border-color:var(--phosphor);background:oklch(.86 .21 142/.06);box-shadow:0 0 18px -6px oklch(.86 .21 142/.45)}.pg-projects .fp-live .dot{width:7px;height:7px;border-radius:999px;background:var(--phosphor);box-shadow:0 0 8px var(--phosphor);animation:pulse-dot 3s ease-in-out infinite}.pg-projects .fp-live .arr{color:var(--phosphor);margin-left:2px;transition:transform .2s var(--ease-out-quart)}.pg-projects .fp-live:hover .arr{transform:translateX(3px)}@media (max-width:1100px){.pg-projects .fp-mock,.pg-projects .fp-text{grid-column:1/-1}.pg-projects .fp-mock{transform:none;margin-top:40px}}.pg-projects .browser{border:1px solid var(--grid);background:var(--ink);box-shadow:0 40px 80px -30px oklch(0 0 0/.8),0 0 0 1px oklch(.86 .21 142/.15)}.pg-projects .browser-chrome{height:36px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;border-bottom:1px solid var(--grid)}.pg-projects .lights{display:flex;gap:7px;align-items:center}.pg-projects .lights span{width:10px;height:10px;border-radius:999px;opacity:.7}.pg-projects .lights .l-rust{background:var(--rust)}.pg-projects .lights .l-amber{background:var(--amber)}.pg-projects .lights .l-phos{background:var(--phosphor)}.pg-projects .browser-path{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.04em;text-align:center}.pg-projects .browser-glyph{text-align:right;font-family:var(--font-mono);font-size:13px;color:var(--muted)}.pg-projects .browser-body{display:grid;grid-template-columns:3fr 9fr;min-height:420px}.pg-projects .mock-sidebar{border-right:1px solid var(--grid);padding:18px 16px}.pg-projects .mock-wordmark{font-family:var(--font-display);font-feature-settings:"ss01","ss02","ss03";font-style:italic;font-size:22px;color:var(--phosphor);margin-bottom:22px}.pg-projects .mock-nav{display:flex;flex-direction:column;gap:14px}.pg-projects .mock-nav a{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.04em;display:flex;gap:8px}.pg-projects .mock-nav a .mn{color:oklch(.55 .015 240/.7)}.pg-projects .mock-nav a.active{color:var(--phosphor)}.pg-projects .mock-nav a.active .mn{color:var(--phosphor-dim)}.pg-projects .mock-main{padding:18px 20px}.pg-projects .mock-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.pg-projects .mock-h3{font-family:var(--font-display);font-feature-settings:"ss01","ss02","ss03";font-weight:400;font-size:30px;color:var(--bone);margin-top:6px}.pg-projects .mock-actions{display:flex;gap:8px;flex:none}.pg-projects .roster{width:100%;border-collapse:collapse}.pg-projects .roster th{text-align:left;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:400;padding:0 0 10px;border-bottom:1px solid var(--grid)}.pg-projects .roster td.r,.pg-projects .roster th.r{text-align:right}.pg-projects .roster td{padding:12px 0;border-bottom:1px dashed var(--grid);font-family:var(--font-mono);font-size:12px;vertical-align:baseline}.pg-projects .roster td.name{font-family:var(--font-display);font-feature-settings:"ss01","ss02","ss03";font-size:18px;color:var(--bone)}.pg-projects .roster td.color{color:oklch(.94 .02 90/.8)}.pg-projects .roster td.status{color:var(--phosphor)}.pg-projects .roster td.sex{color:var(--amber);text-align:right}.pg-projects .mock-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.pg-projects .mock-foot .sync{display:flex;align-items:center;gap:8px;color:var(--muted)}.pg-projects .index-sec{padding-top:24px;padding-bottom:128px}.pg-projects .pcard-grid{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.pg-projects .pcard{position:relative;display:flex;flex-direction:column;border:1px solid var(--grid);background:oklch(.1 .008 240/.6);padding:28px;transition:border-color .25s ease,transform .25s var(--ease-out-quart),box-shadow .25s ease}.pg-projects .pcard:hover{border-color:var(--phosphor-dim);transform:translateY(-3px);box-shadow:0 24px 50px -34px oklch(0 0 0/.85),0 0 22px -10px oklch(.86 .21 142/.35)}.pg-projects .pcard-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.pg-projects .pcard-idx{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.pg-projects .pcard-name{font-family:var(--font-display);font-feature-settings:"ss01","ss02","ss03";font-weight:400;font-size:34px;line-height:1.05;color:var(--bone);margin-top:18px}.pg-projects .pcard-name .amber{color:var(--amber)}.pg-projects .pcard-kind{font-family:var(--font-display);font-feature-settings:"ss01","ss02","ss03";font-style:italic;font-size:18px;color:var(--phosphor);margin-top:10px}.pg-projects .pcard-body{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:oklch(.94 .02 90/.82);margin-top:16px;max-width:44ch}.pg-projects .pcard-spacer{flex:1;min-height:22px}.pg-projects .pcard-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.pg-projects .ptag{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--bone);border:1px solid var(--grid);padding:6px 10px;background:oklch(.1 .008 240/.4)}.pg-projects .pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:16px;border-top:1px dashed var(--grid);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pg-projects .pcard-foot .pstatus{display:flex;align-items:center;gap:8px}.pg-projects .pcard-foot .pstatus .tick,.pg-projects .pcard-foot .pstatus.live{color:var(--phosphor)}.pg-projects .pcard.wide{grid-column:1/-1}.pg-projects .pcard.wide .pcard-inner{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:start}.pg-projects .pcard.wide .auto-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 32px}.pg-projects .pcard.wide .auto-list li{position:relative;padding-left:22px;font-family:var(--font-mono);font-size:13px;line-height:1.55;color:oklch(.94 .02 90/.85)}.pg-projects .pcard.wide .auto-list li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--phosphor-dim)}.pg-projects .pcard.wide .auto-list li b{color:var(--phosphor);font-weight:500}@media (max-width:900px){.pg-projects .pcard-grid{grid-template-columns:1fr}.pg-projects .pcard.wide .pcard-inner{grid-template-columns:1fr;gap:24px}.pg-projects .pcard.wide .auto-list{grid-template-columns:1fr}}@keyframes roster-row{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes mock-boot-scan{0%{opacity:0;transform:translateY(-40px)}12%{opacity:.85}to{opacity:0;transform:translateY(440px)}}.pg-projects .fp-mock .mock-main{position:relative;overflow:hidden}.pg-projects .fp-mock[data-inview=true] .mock-main:after{content:"";position:absolute;left:0;right:0;top:0;height:54px;pointer-events:none;background:linear-gradient(180deg,transparent,oklch(.86 .21 142/.14));mix-blend-mode:screen;animation:mock-boot-scan .95s var(--ease-out-quint) .08s both}.pg-projects .fp-mock[data-inview=true] .roster tbody tr{animation:roster-row .5s var(--ease-out-quint) both}.pg-projects .fp-mock[data-inview=true] .roster tbody tr:first-child{animation-delay:.34s}.pg-projects .fp-mock[data-inview=true] .roster tbody tr:nth-child(2){animation-delay:.44s}.pg-projects .fp-mock[data-inview=true] .roster tbody tr:nth-child(3){animation-delay:.54s}.pg-projects .fp-mock[data-inview=true] .roster tbody tr:nth-child(4){animation-delay:.64s}.pg-projects .fp-mock[data-inview=true] .roster tbody tr:nth-child(5){animation-delay:.74s}.pg-projects .fp-mock[data-inview=true] .mock-foot{animation:roster-row .5s var(--ease-out-quint) .92s both}@keyframes nav-boot{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}.pg-projects .fp-mock[data-inview=true] .mock-wordmark{animation:nav-boot .45s var(--ease-out-quint) .1s both}.pg-projects .fp-mock[data-inview=true] .mock-nav a{animation:nav-boot .4s var(--ease-out-quint) both}.pg-projects .fp-mock[data-inview=true] .mock-nav a:first-child{animation-delay:.16s}.pg-projects .fp-mock[data-inview=true] .mock-nav a:nth-child(2){animation-delay:.21s}.pg-projects .fp-mock[data-inview=true] .mock-nav a:nth-child(3){animation-delay:.26s}.pg-projects .fp-mock[data-inview=true] .mock-nav a:nth-child(4){animation-delay:.31s}.pg-projects .fp-mock[data-inview=true] .mock-nav a:nth-child(5){animation-delay:.36s}.pg-projects .fp-mock[data-inview=true] .mock-nav a:nth-child(6){animation-delay:.41s}@keyframes nav-wake{0%{text-shadow:none}to{text-shadow:0 0 11px oklch(.86 .21 142/.6)}}.pg-projects .fp-mock[data-inview=true] .mock-nav a.active{animation:nav-boot .4s var(--ease-out-quint) .21s both,nav-wake .5s var(--ease-out-quint) .66s both}.pg-projects .pcard:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,var(--phosphor-dim),var(--phosphor));box-shadow:0 0 10px oklch(.86 .21 142/.5);transform:scaleX(0);transform-origin:left center;transition:transform .7s var(--ease-out-quint)}.pg-projects .pcard:hover:after{transform:scaleX(1)}