*{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Bricolage Grotesque",sans-serif;--font-mono:"Space Mono",monospace;--font-body:"Inter",system-ui,-apple-system,sans-serif;--bg:#000;--surface:#111;--card-bg:#111;--overlay-bg:hsla(0,0%,4%,.95);--glass-bg:rgba(20,20,22,.55);--hover-bg:hsla(0,0%,100%,.08);--text:#f5f0e8;--text-soft:#cfcabf;--text-muted:#999;--muted:#666;--dock-icon:#777;--subtle:#2a2a2a;--border-soft:hsla(0,0%,100%,.08);--accent:#e8ff47;--accent-line:var(--accent);--accent-text:#e8ff47;--on-accent:#0a0a0a;--name-final:#fff;--accent-soft:rgba(232,255,71,.08);--dock-active-bg:rgba(232,255,71,.12);--btn-border:rgba(232,255,71,.25);--btn-hover-bg:var(--accent);--noise-opacity:1;--red:#f44;--blue:#4af;--pink:#f4f;--green:#4fa}html.light{--bg:#f1f0ea;--surface:#fff;--card-bg:hsla(0,0%,100%,.55);--overlay-bg:hsla(51,20%,93%,.95);--glass-bg:hsla(0,0%,100%,.88);--hover-bg:rgba(0,0,0,.05);--text:#14130f;--text-soft:#3a382f;--text-muted:#5c584c;--muted:#8a857a;--dock-icon:#8a857a;--subtle:#e6e2d8;--border-soft:rgba(0,0,0,.08);--accent:#e8ff47;--accent-line:color-mix(in srgb,var(--accent) 55%,var(--text));--accent-text:var(--text);--on-accent:#0a0a0a;--name-final:var(--text);--accent-soft:rgba(120,140,0,.1);--dock-active-bg:var(--hover-bg);--btn-border:var(--text);--btn-hover-bg:var(--hover-bg);--green:color-mix(in srgb,#4fa 55%,var(--text));--noise-opacity:.5}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Bricolage Grotesque,sans-serif;position:relative;transition:background-color .3s ease,color .3s ease}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.06'/%3E%3C/svg%3E");content:"";inset:0;opacity:var(--noise-opacity);pointer-events:none;position:fixed;z-index:1000}.hero-page{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.stage{max-width:100%;padding:2rem;position:relative;text-align:left;width:-moz-fit-content;width:fit-content}.hero-avatar{border:2px solid var(--accent-text);border-radius:50%;display:block;height:64px;margin-bottom:1.4rem;-o-object-fit:cover;object-fit:cover;width:64px}.subtitle{color:var(--muted);font-family:Space Mono,monospace;font-size:.85rem;letter-spacing:3px;margin:0 0 1rem;min-height:1.3em;opacity:0;text-align:left;text-transform:uppercase}.subtitle .cursor{background:var(--accent);display:inline-block;height:1em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.subtitle .cursor.blink{animation:blink .6s step-end infinite}.name-row{align-items:flex-end;display:flex;flex-wrap:nowrap;justify-content:flex-start;min-height:120px;overflow:visible;position:relative}.letter{color:var(--text);display:inline-block;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(3.5rem,7vw,6rem);font-weight:800;line-height:1;opacity:0;white-space:pre}.letter.wrong{color:var(--red)}.letter.correct-final{color:var(--name-final)}.bio{margin:1.5rem 0 0;max-width:580px;opacity:0;text-align:left}.bio p{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.95rem;line-height:1.85}.bio .hl{color:var(--text);font-weight:700}.bio .ac{color:var(--accent-text)}.bio-divider{background:var(--accent-text);height:2px;margin-bottom:1rem;transform:scaleX(0);transform-origin:left;width:40px}.contact-row{align-items:center;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-start;margin-top:1.6rem;opacity:0}.contact-link{align-items:center;border:1px solid var(--btn-border);border-radius:8px;color:var(--accent-text);display:inline-flex;font-family:Space Mono,monospace;font-size:.68rem;gap:.5rem;letter-spacing:1.5px;padding:.55rem 1.05rem;text-decoration:none;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s,transform .2s}.contact-link svg{flex-shrink:0;height:14px;width:14px}.contact-link:hover{background:var(--btn-hover-bg);border-color:var(--btn-border);color:var(--on-accent);transform:translateY(-1px)}.tagline{color:var(--muted);font-family:Space Mono,monospace;font-size:.9rem;letter-spacing:1px;margin-top:2rem;opacity:0}.tagline span{color:var(--accent-text)}.corner-label{color:var(--muted);font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:2px;position:absolute;text-transform:uppercase;z-index:15}.corner-label.top-left{left:2rem;top:2rem}.corner-label.top-right{right:2rem;top:2rem}.signal-svg{height:100%;inset:0;pointer-events:none;position:absolute;width:100%;z-index:1}.signal-svg path{stroke:var(--accent-line);stroke-opacity:.12}html.light .signal-svg path{stroke-opacity:.22}.deco-line{background:var(--accent-text);bottom:0;height:3px;left:0;position:fixed;transform:scaleX(0);transform-origin:left;width:100%;z-index:1001}.scroll-cue{align-items:center;animation:cueBob 1.8s ease-in-out infinite;background:none;border:none;bottom:1.6rem;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;font-family:Space Mono,monospace;font-size:.6rem;gap:.4rem;left:50%;letter-spacing:2px;opacity:0;padding:.4rem;position:absolute;text-transform:uppercase;transform:translate(-50%);transition:color .2s;z-index:15}.scroll-cue:hover{color:var(--accent-text)}@keyframes cueBob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.page-section{padding:8rem 2rem;position:relative}.page-section+.page-section{padding-top:0}.section-inner{margin:0 auto;max-width:1200px}#contact{padding-bottom:7rem}#contact .section-inner{text-align:center}.section-kicker{align-items:center;color:var(--accent-text);display:inline-flex;font-family:Space Mono,monospace;font-size:.65rem;gap:.6rem;letter-spacing:3px;margin-bottom:1rem;text-transform:uppercase}.section-kicker:before{background:var(--accent-text);content:"";height:2px;width:26px}.projects-header{opacity:0;padding:1rem 0 3rem;text-align:center}.projects-header h2{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800}.projects-header h2 .dot{color:var(--accent-text)}.projects-header p{color:var(--muted);font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:2px;margin-top:.3rem}.approach-header{opacity:0;padding:1rem 0 3rem;text-align:center}.approach-header h2{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800}.approach-header h2 .dot{color:var(--accent-text)}.approach-header p{color:var(--muted);font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:2px;margin-top:.3rem}.approach-body{margin:0 auto;max-width:760px}.phil-block{opacity:0}.phil-block p{color:var(--text-soft);font-family:Space Mono,monospace;font-size:.9rem;line-height:1.9;margin-bottom:1.4rem}.phil-block .ac{color:var(--accent-text)}.phil-block .hl{color:var(--text);font-weight:700}.approach-sub{border-top:1px solid var(--subtle);margin-top:2.5rem;opacity:0;padding-top:2rem}.approach-sub .detail-label{margin-bottom:1rem}.cta-block{margin-top:1.5rem;opacity:0;padding:1rem 0;text-align:center}.cta-block h3{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800;margin-bottom:.8rem}.cta-block h3 .dot{color:var(--accent-text)}.cta-block>p{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.8rem;line-height:1.7;margin:0 auto 1.5rem;max-width:520px}.cta-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.cta-link{background:none;border:1px solid var(--btn-border);border-radius:6px;color:var(--accent-text);cursor:pointer;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:1.5px;padding:.55rem 1.1rem;text-decoration:none;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}.cta-link:hover{background:var(--btn-hover-bg);border-color:var(--btn-border);color:var(--on-accent)}.projects-list{margin:0 auto;max-width:760px}.project-card-flat{background:var(--card-bg);border:1px solid var(--subtle);border-radius:10px;margin-bottom:1.25rem;opacity:0;overflow:hidden;transition:border-color .3s}.project-card-flat:hover{border-color:var(--accent)}.project-card-flat.open{border-color:var(--card-accent,var(--accent))}.pcard-header{cursor:pointer;gap:1rem;padding:1.2rem 1.5rem}.pcard-header,.pcard-icon{align-items:center;display:flex}.pcard-icon{border-radius:9px;color:var(--on-accent);flex-shrink:0;font-size:1.3rem;height:42px;justify-content:center;overflow:hidden;width:42px}.pcard-heading{flex:1;min-width:0}.pcard-title{font-size:1.25rem;font-weight:800}.pcard-subtitle{color:var(--muted);font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:1px;margin-top:.25rem;text-transform:uppercase}.pcard-header .exp-toggle{margin-top:0}.card-status{border:1px solid;border-radius:20px;flex-shrink:0;font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:1px;padding:.2rem .5rem}.card-status.live{border-color:var(--green);color:var(--green)}.card-status.building{border-color:var(--accent);color:var(--accent-text)}.card-status.shipped{border-color:var(--blue);color:var(--blue)}.pcard-body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.pcard-body-inner{border-top:1px solid var(--subtle);padding:0 1.5rem 1.5rem}.pcard-desc{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.8rem;line-height:1.7;padding-top:1.2rem}.pcard-body .pm-section{padding:1.2rem 0}.pcard-body .pm-section:last-child{padding-bottom:0}.pcard-body .pm-divider{margin:0}.pm-divider{background:var(--subtle);height:1px}.pm-section{padding:1.2rem 0}.detail-section{margin-bottom:1.2rem}.detail-section:last-child{margin-bottom:0}.detail-label{color:var(--accent-text);font-size:.65rem;letter-spacing:2px;margin-bottom:.5rem;text-transform:uppercase}.detail-label,.detail-text{font-family:Space Mono,monospace}.detail-text{color:var(--text-muted);font-size:.75rem;line-height:1.7}.tech-stack{display:flex;flex-wrap:wrap;gap:6px}.tech-tag{background:var(--accent-soft);border:1px solid var(--border-soft);border-radius:4px;color:var(--accent-text);font-family:Space Mono,monospace;font-size:.65rem;padding:.25rem .6rem}.timeline{margin:0 auto;max-width:800px;position:relative}.timeline:before{background:linear-gradient(to bottom,var(--accent-line),var(--subtle),transparent);bottom:0;content:"";left:20px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:2rem;opacity:0;padding-left:60px;position:relative;--row:var(--row-raw,var(--accent-line))}html.light .timeline-item{--row:color-mix(in srgb,var(--row-raw,var(--accent-line)) 70%,var(--text))}.timeline-dot{background:var(--bg);border:2px solid var(--accent-line);border-radius:50%;height:18px;left:12px;position:absolute;top:6px;width:18px;z-index:2}.timeline-item:not(.current) .timeline-dot{border-color:var(--row)}.timeline-dot:after{background:var(--accent-line);border-radius:50%;content:"";height:8px;left:50%;opacity:.5;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.timeline-item:hover .timeline-dot:after{opacity:1}.timeline-item.current .timeline-dot{border-color:var(--green);box-shadow:0 0 12px #44ffaa4d}.timeline-item.current .timeline-dot:after{background:var(--green);opacity:1}.timeline-date{align-items:center;color:var(--muted);display:flex;font-family:Space Mono,monospace;font-size:.7rem;gap:.5rem;letter-spacing:1px;margin-bottom:.4rem}.timeline-date .current-badge{border:1px solid var(--green);border-radius:10px;color:var(--green);font-size:.6rem;padding:.1rem .4rem}.timeline-card{background:var(--card-bg);border:1px solid var(--subtle);border-radius:10px;overflow:hidden;transition:border-color .3s}.timeline-card:hover{border-color:var(--accent)}.timeline-card-header{align-items:flex-start;cursor:pointer;display:flex;justify-content:space-between;padding:1.2rem 1.5rem}.tc-role{font-size:1.1rem;font-weight:800;margin-bottom:.2rem}.tc-company{color:var(--row,var(--accent-text));font-family:Space Mono,monospace;font-size:.8rem}.exp-toggle,.tc-location{color:var(--muted);font-family:Space Mono,monospace;font-size:.7rem;margin-top:.2rem}.exp-toggle{background:none;border:none;cursor:pointer;flex-shrink:0;padding:.2rem;transition:all .3s}.exp-toggle .exp-arrow{display:inline-block;transition:transform .3s}.exp-toggle.open .exp-arrow{transform:rotate(90deg)}.timeline-card-body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.timeline-card-body.open{max-height:800px}.timeline-item.has-children>.timeline-card>.timeline-card-body.open{max-height:2500px}.timeline-card-body-inner{border-top:1px solid var(--subtle);padding:0 1.5rem 1.5rem}.exp-highlights{list-style:none;margin:0;padding:.8rem 0 0}.exp-highlights li{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.75rem;line-height:1.7;margin-bottom:.6rem;padding-left:1rem;position:relative}.exp-highlights li:before{color:var(--accent-text);content:"→";font-weight:700;left:0;position:absolute}.exp-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:1rem}.exp-blurb{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.75rem;line-height:1.7;margin:0;padding-top:.8rem}.timeline-children{margin-top:1.4rem;position:relative}.timeline-children:before{background:linear-gradient(to bottom,var(--accent-line),var(--subtle));bottom:14px;content:"";left:6px;opacity:.6;position:absolute;top:-4px;width:2px}.timeline-child{margin-bottom:1.1rem;padding-left:28px;position:relative;--row:var(--row-raw,var(--accent-line))}html.light .timeline-child{--row:color-mix(in srgb,var(--row-raw,var(--accent-line)) 70%,var(--text))}.timeline-child:last-child{margin-bottom:0}.timeline-dot.child-dot{border-color:var(--row);border-width:2px;height:12px;left:1px;top:4px;width:12px}.timeline-dot.child-dot:after{background:var(--row);height:5px;width:5px}.timeline-child .timeline-date{font-size:.65rem}.timeline-child .tc-role{font-size:.95rem}.resume-overlay{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--overlay-bg);display:none;inset:0;overflow-y:auto;position:fixed;z-index:200}.resume-close{background:var(--glass-bg);border:1px solid var(--subtle);color:var(--muted);cursor:pointer;font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:2px;padding:.5rem 1rem;position:fixed;right:2rem;text-transform:uppercase;top:2rem;transition:all .3s;z-index:210}.resume-close:hover{border-color:var(--accent);color:var(--accent-text)}.resume-inner{background:var(--surface);border:1px solid var(--subtle);border-radius:12px;margin:3rem auto;max-width:800px;padding:3rem;position:relative}.resume-inner:before{background:var(--accent);border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.r-name{font-size:2rem;font-weight:800;margin-bottom:.3rem;text-align:center}.r-title{color:var(--accent-text);font-size:.8rem;letter-spacing:2px;margin-bottom:.4rem}.r-contact,.r-title{font-family:Space Mono,monospace;text-align:center}.r-contact{color:var(--muted);font-size:.7rem;margin-bottom:1.2rem}.r-contact a{color:var(--muted);text-decoration:none}.r-contact a:hover{color:var(--accent-text)}.r-actions{margin-bottom:2rem;text-align:center}.r-download{background:var(--accent);border:none;border-radius:4px;color:var(--on-accent);cursor:pointer;font-family:Space Mono,monospace;font-size:.65rem;font-weight:700;letter-spacing:2px;padding:.5rem 1.2rem;text-transform:uppercase;transition:all .3s}.r-download:hover{background:var(--text);transform:translateY(-1px)}.r-section{margin-bottom:2rem}.r-section-title{border-bottom:1px solid var(--subtle);color:var(--accent-text);font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:3px;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.r-skills{display:flex;flex-wrap:wrap;gap:6px}.r-skill-tag{background:#e8ff470f;border:1px solid rgba(232,255,71,.1);border-radius:4px;color:var(--text-soft);font-family:Space Mono,monospace;font-size:.65rem;padding:.3rem .6rem}.r-job{margin-bottom:1.5rem}.r-job-header{align-items:baseline;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:.4rem}.r-job-role{font-size:.95rem;font-weight:800}.r-job-date{color:var(--muted);font-size:.7rem}.r-job-company,.r-job-date{font-family:Space Mono,monospace}.r-job-company{color:var(--accent-text);font-size:.8rem;margin-bottom:.5rem}.r-job-highlights{list-style:none;padding:0}.r-job-highlights li{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.72rem;line-height:1.7;margin-bottom:.4rem;padding-left:1rem;position:relative}.r-job-highlights li:before{color:var(--accent-text);content:"•";left:0;position:absolute}.r-job-blurb{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.75rem;line-height:1.6;margin-bottom:.6rem}.r-children{border-left:2px solid var(--subtle);margin-left:.6rem;margin-top:.8rem;padding-left:1rem}.r-child{margin-bottom:1rem}.r-child:last-child{margin-bottom:0}.r-child .r-job-role{font-size:.85rem}.r-activity,.r-cert,.r-edu{color:var(--text-soft);font-family:Space Mono,monospace;font-size:.8rem;margin-bottom:.4rem}.r-activity span,.r-cert span,.r-edu span{color:var(--text);font-weight:700}.dock{backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);background:var(--glass-bg);border:1px solid var(--border-soft);border-radius:24px;box-shadow:0 8px 40px #00000080,inset 0 1px #ffffff0f;flex-direction:column;gap:2px;overflow:visible;padding:6px;position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:500}.dock,.dock-btn{align-items:center;display:flex}.dock-btn{background:transparent;border:none;border-radius:18px;color:var(--dock-icon);cursor:pointer;height:48px;justify-content:center;position:relative;transition:background .15s,color .15s,transform .2s cubic-bezier(.34,1.56,.64,1);width:48px}.dock-btn:hover{background:var(--border-soft);color:var(--accent-text);transform:translate(-4px)}.dock-btn.active{background:var(--dock-active-bg);color:var(--accent-text)}.dock-sep{background:var(--border-soft);flex-shrink:0;height:1px;margin:4px 0;width:24px}.dock-tooltip{background:var(--surface);border:1px solid var(--subtle);border-radius:6px;color:var(--accent-text);font-family:Space Mono,monospace;font-size:.58rem;letter-spacing:1.5px;opacity:0;padding:5px 9px;pointer-events:none;position:absolute;right:calc(100% + 10px);text-transform:uppercase;top:50%;transform:translateY(-50%) translate(6px);transition:opacity .15s ease,transform .15s ease;white-space:nowrap}.dock-tooltip:after{border:5px solid transparent;border-left:5px solid var(--subtle)}.dock-tooltip:after,.dock-tooltip:before{content:"";left:100%;position:absolute;top:50%;transform:translateY(-50%)}.dock-tooltip:before{border:4px solid transparent;border-left:4px solid var(--surface);margin-left:-1px;z-index:1}.dock-btn:hover .dock-tooltip{opacity:1;transform:translateY(-50%) translate(0)}@media(max-width:900px){.scroll-cue{display:none}.dock{flex-direction:row;inset:auto auto 24px 50%;transform:translate(-50%)}.dock-sep{height:24px;margin:0 4px;width:1px}.dock-btn:hover{transform:translateY(-4px)}.dock-tooltip{bottom:calc(100% + 10px);left:50%;right:auto;top:auto;transform:translate(-50%) translateY(6px)}.dock-tooltip:after{border-left-color:transparent;border-top-color:var(--subtle)}.dock-tooltip:after,.dock-tooltip:before{left:50%;top:100%;transform:translate(-50%)}.dock-tooltip:before{border-left-color:transparent;border-top-color:var(--surface);margin-left:0;margin-top:-1px}.dock-btn:hover .dock-tooltip{transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bio,.corner-label,.letter,.subtitle,.tagline{opacity:1!important;transform:none!important}.bio-divider,.deco-line{transform:scaleX(1)!important}.approach-header,.approach-sub,.cta-block,.phil-block,.project-card-flat,.projects-header,.timeline-item{opacity:1!important;transform:none!important}}@media(max-width:700px){.pcard-header{gap:.75rem;padding:1rem}.pcard-title{font-size:1.1rem}.timeline-item{padding-left:50px}.resume-inner{margin:1rem;padding:1.5rem}.page-section{padding:5rem 1.25rem}.letter{font-size:clamp(3rem,8vw,4rem)}}.blog-wrap{padding:6rem 1.5rem 7rem}.blog-wrap,.writing-inner{margin:0 auto;max-width:760px}.writing-more{margin-top:2rem;text-align:center}.work-row-title{align-items:center;display:flex;gap:1rem;justify-content:space-between}.work-row-title h2{margin:.35rem 0}.work-row-icon{border-radius:8px;flex-shrink:0;height:38px;-o-object-fit:contain;object-fit:contain;width:38px}.work-row-emoji{align-items:center;display:flex;font-size:1.3rem;justify-content:center}.blog-intro{margin-bottom:3.5rem}.blog-intro h1{font-size:clamp(2rem,5vw,3rem);font-weight:800}.blog-intro h1 .dot{color:var(--accent-text)}.blog-intro p{color:var(--muted);font-family:Space Mono,monospace;font-size:.8rem;letter-spacing:1px;margin-top:.5rem}.exp-resume-btn{margin-top:1.3rem}.post-list{list-style:none}.post-item{border-top:1px solid var(--subtle);color:inherit;display:block;padding:1.4rem 0;text-decoration:none;transition:padding-left .25s}.post-item:last-child{border-bottom:1px solid var(--subtle)}.post-item:hover{padding-left:.5rem}.post-date{color:var(--muted);font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:2px;text-transform:uppercase}.post-item h2{font-size:1.3rem;font-weight:800;margin:.35rem 0;transition:color .2s}.post-item:hover h2{color:var(--accent-text)}.post-item p{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.78rem;line-height:1.7}.post-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:.7rem}.post-header{margin-bottom:2.5rem}.post-back{color:var(--muted);display:inline-block;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:1.5px;margin-bottom:2rem;text-decoration:none;text-transform:uppercase;transition:color .2s}.post-back:hover{color:var(--accent-text)}.post-header h1{font-size:clamp(1.8rem,5vw,2.8rem);font-weight:800;line-height:1.1}.prose{color:var(--text-soft)}.prose :is(h2,h3,h4){color:var(--text);font-family:Bricolage Grotesque,sans-serif;font-weight:800;margin:2.2rem 0 .8rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose li,.prose p{font-family:var(--font-body);font-size:1rem;line-height:1.8}.prose ol,.prose p,.prose ul{margin-bottom:1.2rem}.prose ol,.prose ul{padding-left:1.4rem}.prose li{margin-bottom:.5rem}.prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--text)}.prose blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin:1.4rem 0;padding-left:1rem}.prose code{background:var(--accent-soft);border-radius:4px;color:var(--accent-text);font-family:Space Mono,monospace;font-size:.8em;padding:.1rem .35rem}.prose pre{background:var(--surface);border:1px solid var(--subtle);border-radius:10px;margin:1.4rem 0;overflow-x:auto;padding:1.2rem}.prose pre code{background:none;color:inherit;font-size:.78rem;line-height:1.6;padding:0}.prose img{border-radius:10px;margin:1.4rem 0;max-width:100%}.work-card{color:inherit;display:block;text-decoration:none}.work-card,.work-card .pcard-header{cursor:pointer}.work-card-body{border-top:1px solid var(--subtle);padding:0 1.5rem 1.3rem}.work-card .pcard-desc{padding-top:1.1rem}.work-card-cta{color:var(--accent-text);font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:1.5px;margin-top:1.1rem;text-transform:uppercase;transition:transform .25s}.work-card:hover .work-card-cta{transform:translate(4px)}.work-hero{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.work-hero .pcard-icon{font-size:1.6rem;height:56px;width:56px}.work-hero h1{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;line-height:1.05}.work-hero .pcard-subtitle{margin-top:.35rem}.work-hero .card-status{margin-left:auto}.work-lede{border-bottom:1px solid var(--subtle);border-top:1px solid var(--subtle);color:var(--text-soft);font-family:var(--font-body);font-size:1.05rem;line-height:1.7;margin-bottom:.5rem;padding:1.5rem 0}.work-case .pm-section{padding:1.4rem 0}.work-case .detail-text{font-family:var(--font-body);font-size:.95rem;line-height:1.8}.work-case .detail-text code{background:var(--accent-soft);border-radius:4px;color:var(--accent-text);font-family:Space Mono,monospace;font-size:.85em;padding:.1rem .35rem}
