:root{--ink:#10120f;--paper:#f2f0e8;--paper-deep:#e5e1d4;--acid:#c9ff3d;--blue:#6d7cff;--line:#10120f2e;--muted:#66695f;--mono:"DM Mono", monospace;--sans:"Manrope", sans-serif;--page:clamp(1.25rem, 4vw, 4rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}button{font:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip-link{z-index:100;background:var(--acid);padding:.75rem 1rem;font-weight:800;position:fixed;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{min-height:84px;padding:0 var(--page);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;background:#f2f0e8e0;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;transition:min-height .2s,box-shadow .2s;display:grid;position:sticky;top:0}.brand{align-items:center;gap:.75rem;width:max-content;font-size:.83rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);width:2rem;height:2rem;color:var(--paper);font:500 .7rem/1 var(--mono);border-radius:50%;place-items:center;display:grid}.view-switch{border:1px solid var(--line);border-radius:999px;gap:.2rem;padding:.28rem;display:flex}.view-link{font:500 .69rem/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.55rem .9rem;text-decoration:none}.view-link.is-active{background:var(--ink);color:var(--paper)}.header-link{border-bottom:1px solid;justify-self:end;font-size:.84rem;font-weight:800;text-decoration:none}.hero{min-height:calc(100vh - 84px);padding:clamp(4rem, 7vw, 7rem) var(--page) 2.5rem;border-bottom:1px solid var(--line);flex-direction:column;display:flex;position:relative;overflow:hidden}.hero-kicker,.eyebrow,.section-label{font:500 .7rem/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero-kicker{z-index:3;align-items:center;gap:.65rem;display:flex;position:relative}.availability-dot{background:var(--acid);border:1px solid var(--ink);border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 4px #c9ff3d38}.hero-title{letter-spacing:-.075em;z-index:2;max-width:1200px;margin:auto 0;font-size:clamp(3.6rem,8.5vw,9rem);font-weight:700;line-height:.88;position:relative}.hero-title em{color:#0000;-webkit-text-stroke:2px var(--ink);font-style:normal}.hero-footer{z-index:3;grid-template-columns:minmax(0,42rem) auto;justify-content:space-between;align-items:end;gap:3rem;display:grid;position:relative}.hero-footer p{margin:0;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.62}.text-link{white-space:nowrap;font:500 .72rem/1 var(--mono);text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.45rem;text-decoration:none}.filter-button{appearance:none;border:1px solid var(--line);color:var(--ink);cursor:pointer;font:500 .66rem/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;background:#f2f0e8b8;border-radius:999px;padding:.66rem .9rem;transition:background .2s,color .2s,border-color .2s,transform .2s}.filter-button:hover{border-color:var(--ink);transform:translateY(-2px)}.filter-button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero-orbit{aspect-ratio:1;opacity:.7;width:min(39vw,34rem);position:absolute;top:10%;right:-7vw}.orbit-ring{border:1px solid var(--line);border-radius:50%;animation:22s linear infinite spin;position:absolute;inset:0}.orbit-ring:after{content:"";background:var(--blue);border:1px solid var(--ink);border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:15%;left:12%}.orbit-ring-two{animation-duration:15s;animation-direction:reverse;inset:16%}.orbit-ring-two:after{background:var(--acid);top:60%;left:auto;right:3%}.orbit-core{background:var(--ink);color:var(--paper);font:500 1rem/1 var(--mono);border-radius:50%;place-items:center;display:grid;position:absolute;inset:36%}@keyframes spin{to{transform:rotate(360deg)}}body[data-focus=cyber]{--accent:#c9ff3d}body[data-focus=it]{--accent:#79d8ff}body[data-focus=ot]{--accent:#ffb65c}body[data-focus=swe]{--accent:#9d89ff}.proof-strip{background:var(--ink);color:var(--paper);grid-template-columns:repeat(4,1fr);display:grid}.proof-strip>div{border-right:1px solid #f2f0e829;grid-template-columns:auto 1fr;align-content:center;gap:.5rem .9rem;min-height:10rem;padding:1.6rem clamp(1.25rem,2.7vw,2.5rem);display:grid}.proof-strip>div:last-child{border-right:0}.proof-strip span{color:var(--acid);font:500 .68rem/1 var(--mono)}.proof-strip strong{font-size:.98rem;line-height:1.35}.proof-strip small{color:#f2f0e89e;grid-column:2;line-height:1.5}.section-label{color:var(--muted);margin:0}.eyebrow{color:var(--muted);margin:0 0 1.1rem}.button{background:var(--ink);width:max-content;color:var(--paper);font:500 .68rem/1 var(--mono);text-transform:uppercase;align-items:center;gap:.8rem;padding:.9rem 1.1rem;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#282b26;transform:translateY(-2px)}.resume-section{padding:clamp(5rem, 10vw, 10rem) var(--page);border-bottom:1px solid var(--line)}.section-heading{grid-template-columns:1fr minmax(17rem,.55fr);align-items:end;gap:4rem;margin-bottom:clamp(4rem,8vw,8rem);display:grid}.section-heading h2,.selected-header h2,.education-title-block h2,.credentials-section h2,.resume-library-header h2{letter-spacing:-.06em;max-width:52rem;margin:1.2rem 0 0;font-size:clamp(2.6rem,6.1vw,6.5rem);line-height:.95}.section-heading>p{color:var(--muted);margin:0;line-height:1.7}[data-experience-heading] .experience-heading-visual{display:inline-block;position:relative}.experience-heading-cursor{opacity:0;pointer-events:none;background:currentColor;width:.025em;height:.78em;display:block;position:absolute;bottom:.08em;left:calc(100% + .055em)}[data-experience-heading].is-typing .experience-heading-cursor{opacity:.52}[data-experience-heading].is-complete .experience-heading-cursor{animation:1.6s linear forwards experience-heading-cursor-finish}@keyframes experience-heading-cursor-finish{0%,24%,48%,72%{opacity:.52}12%,36%,60%,to{opacity:0}}.timeline{border-top:1px solid var(--ink)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(13rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,8rem);padding:3rem 0;transition:opacity .25s;display:grid}.timeline-meta{font:500 .68rem/1.45 var(--mono);text-transform:uppercase;grid-template-columns:auto 1fr;align-content:start;gap:1rem;display:grid}.timeline-meta span:last-child{color:var(--muted);grid-column:2}.timeline-index{color:var(--blue)}.timeline-content h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,3.2vw,3.2rem)}.timeline-content>p:not(.eyebrow){max-width:54rem;color:var(--muted);margin:1rem 0 0;line-height:1.7}.impact-list{gap:.65rem;margin:1.3rem 0 0;padding:0;list-style:none;display:grid}.impact-list li{padding-left:1.5rem;line-height:1.6;position:relative}.impact-list li:before{content:"↳";color:var(--blue);font-family:var(--mono);position:absolute;left:0}#experience .impact-list.is-impact-typing .impact-copy{color:#0000}#experience .impact-list.is-impact-typing .impact-typed{position:absolute;top:0;left:1.5rem;right:0}#experience .impact-list.is-impact-typing li:before{visibility:hidden}#experience .impact-list.is-impact-typing li.is-impact-started:before{visibility:visible}.experience-notes{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;margin-top:3rem;display:grid}.experience-notes article{background:var(--paper);grid-template-columns:auto 1fr;gap:1.5rem;padding:1.6rem;display:grid}.experience-notes span{color:var(--muted);font:500 .64rem/1.4 var(--mono)}.experience-notes h3{margin:0;font-size:1rem}.experience-notes p{color:var(--muted);margin:.65rem 0 0;font-size:.88rem;line-height:1.6}.compact-heading{display:block}#skills.capabilities-section{--skills-accent:#67b1ff;--skills-muted:#a2a5ad;--skills-line:#ffffff1a;color:#f7f7fa;background-color:#0a0d11;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:36px 36px;padding:clamp(4rem,7vw,7rem) clamp(1.25rem,5.7vw,5rem)}#skills .skills-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1rem;display:flex}#skills .skills-heading-meta{color:#858995;font:500 .75rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.15em;flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}#skills .section-label{color:var(--skills-accent);font:inherit;letter-spacing:inherit;align-items:center;gap:.85rem;display:flex}#skills .section-label:after{content:"";background:#67b1ff59;width:2.5rem;height:1px}#skills .skills-heading h2{letter-spacing:-.045em;margin:.65rem 0 0;font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.1}#skills .skills-selection{color:var(--skills-muted);font:400 .75rem/1.6 var(--mono);text-transform:uppercase;flex-shrink:0;margin:0 0 .15rem}#skills .skills-selection span{color:var(--skills-accent)}#skills .skills-intro{max-width:50rem;color:var(--skills-muted);margin:0 0 2.25rem;font-size:1rem;line-height:1.7}#skills .capability-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}#skills .capability-tab{appearance:none;text-align:left;min-width:0;min-height:10.5rem;color:inherit;border:1px solid var(--skills-line);cursor:pointer;background:#10141c;border-radius:8px;flex-direction:column;align-items:flex-start;padding:1.15rem;transition:background .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}#skills .capability-tab:before{content:"";opacity:0;background:linear-gradient(90deg,#3b82f6,#38bdf8,#2563eb);border-radius:8px 8px 0 0;height:2px;position:absolute;top:-1px;left:0;right:0}#skills .capability-tab[aria-selected=true]{background:linear-gradient(135deg,#101c30,#10141c);border-color:#397fe1;box-shadow:0 6px 24px #2563eb14}#skills .capability-tab[aria-selected=true]:before{opacity:1}#skills .capability-number{color:#9296a1;font:500 .75rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.12em}#skills .capability-tab>.capability-number{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}#skills .capability-tab>.capability-number:after{content:"";background:#676c78;border-radius:50%;flex:none;width:.4rem;height:.4rem}#skills .capability-tab[aria-selected=true] .capability-number{color:var(--skills-accent)}#skills .capability-tab[aria-selected=true] .capability-number:after{background:var(--skills-accent)}#skills .capability-tab:active{background:#172238}#skills .capability-tab:focus-visible,#skills .capability-panel:focus-visible,#skills a:focus-visible{outline:2px solid var(--skills-accent);outline-offset:4px}#skills .capability-tab-title{letter-spacing:-.025em;margin:.75rem 0 .35rem;font-size:1.125rem;font-weight:700;line-height:1.3}#skills .capability-tab-summary{color:var(--skills-muted);margin-bottom:.9rem;font-size:.875rem;line-height:1.5}#skills .capability-examples{border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:.4rem;width:100%;margin-top:auto;padding-top:.6rem;display:flex}#skills .capability-examples span{color:#ccd0d7;font:400 .75rem/1.4 var(--mono);background:#ffffff0b;border:1px solid #0000;border-radius:3px;padding:.2rem .4rem}#skills .capability-examples .capability-example-featured{color:#93c5fd;background:#3b82f61a;border-color:#3b82f638}#skills .capability-detail{border:1px solid var(--skills-line);background:#0c1016;border-radius:12px;min-height:35rem;margin-top:1.5rem;padding:clamp(1.5rem,2.7vw,2.5rem)}#skills .capability-panel{grid-template-columns:minmax(0,.95fr) minmax(0,2.05fr);align-items:start;gap:clamp(2rem,3.2vw,3.5rem);display:grid}#skills .capability-panel-heading .capability-number{color:var(--skills-accent);align-items:center;gap:.65rem;display:flex}#skills .capability-panel-heading .capability-number:after{content:"";background:#67b1ff59;width:1.5rem;height:1px}#skills .capability-panel-heading h3{letter-spacing:-.03em;margin:.9rem 0 .75rem;font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.3}#skills .capability-panel-heading p{color:var(--skills-muted);margin:0;font-size:.875rem;line-height:1.65}#skills .capability-context{border-top:1px solid var(--skills-line);margin-top:1.75rem;padding-top:1.5rem}#skills .capability-context-label{color:var(--skills-muted);font:400 .75rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.12em;margin:0 0 1.25rem}#skills .capability-evidence{border-left:2px solid #393f4a;margin-top:1.25rem;padding-left:.85rem}#skills .capability-evidence:first-of-type{border-color:#326db6}#skills .capability-evidence p{color:#c7c9ce;margin:.4rem 0 0;font-size:.875rem;line-height:1.65}#skills .capability-evidence .capability-evidence-label{color:var(--skills-muted);font:400 .75rem/1.5 var(--mono);text-transform:uppercase;margin:0}#skills .capability-featured{color:var(--skills-muted);font:400 .75rem/1.6 var(--mono);justify-content:space-between;align-items:baseline;gap:1rem;margin:1.6rem 0 0;display:flex}#skills .capability-featured a{max-width:75%;color:var(--skills-accent);text-align:right;text-underline-offset:.25rem;text-decoration:none}#skills .capability-featured a:hover{text-decoration:underline}#skills .capability-group+.capability-group{border-top:1px solid var(--skills-line);margin-top:1.75rem;padding-top:1.5rem}#skills .capability-group h4{color:var(--skills-muted);font:400 .75rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .9rem}#skills .capability-group:first-child h4{color:var(--skills-accent)}#skills .capability-group ul{flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}#skills .capability-group li{color:#d8dae0;border:1px solid var(--skills-line);max-width:100%;font:400 .8125rem/1.5 var(--mono);overflow-wrap:anywhere;background:#ffffff06;border-radius:4px;padding:.5rem .75rem}#skills .skills-footer{color:#9296a1;font:400 .75rem/1.6 var(--mono);flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:1rem;display:flex}#skills .skills-footer p{margin:0}@media (hover:hover){#skills .capability-tab:hover{background-color:#151c29;border-color:#67b1ff99}}@media (width<=1050px){#skills .capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){#skills .skills-heading{flex-direction:column;align-items:flex-start;gap:1rem}#skills .capability-panel{grid-template-columns:1fr}#skills .capability-detail{min-height:0}}@media (width<=600px){#skills .capability-grid{grid-template-columns:1fr}#skills .capability-tab{min-height:0}#skills .capability-tab-title{margin-top:.5rem}#skills .capability-tab-summary{margin-bottom:.65rem}#skills .skills-footer p:last-child{display:none}}@media (prefers-reduced-motion:reduce){#skills .capability-tab{transition:none!important}}.education-section{padding:clamp(5rem, 10vw, 10rem) var(--page);border-bottom:1px solid var(--line);grid-template-columns:minmax(17rem,.62fr) minmax(0,1.38fr);gap:clamp(3rem,8vw,9rem);display:grid}.education-title-block h2{font-size:clamp(2.7rem,5.5vw,5.8rem)}.education-list{border-top:1px solid var(--ink)}.education-list article{border-bottom:1px solid var(--line);grid-template-columns:8rem 1fr auto;align-items:center;gap:2rem;min-height:14rem;padding:2rem 0;display:grid}.education-year{font:500 .68rem/1.4 var(--mono);color:var(--muted);text-transform:uppercase}.education-list h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.6rem,3vw,3rem)}.education-list p:not(.eyebrow){max-width:45rem;color:var(--muted);margin:.7rem 0 0;line-height:1.65}.education-mark{font:800 clamp(2.5rem, 6vw, 6rem)/1 var(--sans);color:#0000;-webkit-text-stroke:1px var(--line)}.credentials-section{padding:clamp(5rem, 10vw, 10rem) var(--page);background:var(--paper-deep);grid-template-columns:minmax(18rem,.8fr) minmax(0,1fr);gap:clamp(3rem,8vw,9rem);display:grid;position:relative}.credentials-section h2{font-size:clamp(2.7rem,5.5vw,5.8rem)}.credential-list{border-top:1px solid var(--ink)}.credential-list div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:5.5rem;padding:1rem 0;display:flex}.credential-list span{font-weight:700}.credential-list small{font:500 .67rem/1 var(--mono);color:var(--muted)}.clearance-note{left:var(--page);color:var(--muted);font:500 .67rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;margin:0;position:absolute;bottom:3rem}.selected-work{padding:clamp(5rem, 10vw, 10rem) var(--page);border-bottom:1px solid var(--line)}.selected-header{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:4rem;display:flex}.selected-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.selected-card{border:1px solid var(--line);background:var(--paper-deep);flex-direction:column;gap:1.4rem;min-height:35rem;padding:1rem;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.selected-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px #10120f1f}.project-image{aspect-ratio:3/2;background:var(--ink);overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.selected-card:hover .project-image img{transform:scale(1.035)}.project-image-square img{object-fit:contain;padding:3rem}.project-topline{font:500 .65rem/1.4 var(--mono);text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:1rem;display:flex}.selected-card h3{letter-spacing:-.045em;max-width:90%;margin:auto 0 .8rem;font-size:clamp(1.65rem,3vw,2.8rem);line-height:1}.selected-card p{max-width:33rem;color:var(--muted);margin:0;font-size:.93rem;line-height:1.65}.card-arrow{border:1px solid var(--line);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid;position:absolute;bottom:1rem;right:1rem}.resume-library{padding:clamp(5rem, 10vw, 10rem) var(--page);background:var(--blue);color:#090a12}.resume-library-header{grid-template-columns:1fr minmax(18rem,.45fr);align-items:end;gap:4rem;margin-bottom:4rem;display:grid}.resume-library-header>p{color:#090a12ad;margin:0;line-height:1.7}.resume-grid{background:#090a1240;border:1px solid #090a1240;grid-template-columns:1fr 1fr;gap:1px;display:grid}.resume-card{background:var(--blue);grid-template-columns:auto 1fr auto;gap:1.5rem;min-height:13rem;padding:1.6rem;text-decoration:none;transition:background .2s,color .2s;display:grid}.resume-card:hover{background:var(--ink);color:var(--paper)}.resume-card>span{font:500 .67rem/1 var(--mono)}.resume-card p{font:500 .66rem/1.3 var(--mono);text-transform:uppercase;margin:0 0 .8rem}.resume-card h3{letter-spacing:-.04em;max-width:28rem;margin:0 0 1.6rem;font-size:clamp(1.4rem,2.4vw,2.2rem);line-height:1.05}.resume-card small{color:currentColor;opacity:.64;font:500 .65rem/1 var(--mono)}.resume-card b{font-size:1.2rem}.contact-section{padding:clamp(5rem, 10vw, 10rem) var(--page);background:var(--acid);grid-template-columns:minmax(9rem,.42fr) minmax(0,1.2fr) auto;gap:clamp(2rem,6vw,7rem);display:grid}.contact-section h2{letter-spacing:-.065em;max-width:55rem;margin:0 0 2rem;font-size:clamp(2.7rem,6vw,6.4rem);line-height:.94}.contact-section>div>a{text-underline-offset:.35rem;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:800;text-decoration-thickness:1px;display:inline-block}.contact-meta{font:500 .68rem/1.4 var(--mono);text-transform:uppercase;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:1rem;display:flex}.contact-meta a{font:inherit}.site-footer{min-height:5rem;padding:1.5rem var(--page);background:var(--ink);color:#f2f0e8a8;font:500 .64rem/1.4 var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.site-footer a{color:var(--paper)}.projects-hero{min-height:74vh;padding:clamp(5rem, 9vw, 9rem) var(--page) 3rem;border-bottom:1px solid var(--line);flex-direction:column;display:flex}.projects-hero h1{letter-spacing:-.08em;max-width:1100px;margin:auto 0;font-size:clamp(4rem,10vw,10.5rem);line-height:.86}.projects-hero h1 em{color:#0000;-webkit-text-stroke:2px var(--ink);font-style:normal}.projects-intro{justify-content:space-between;align-items:end;gap:3rem;display:flex}.projects-intro p{max-width:45rem;margin:0;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.6}.projects-intro span{font:500 .68rem/1 var(--mono);text-transform:uppercase}.project-browser{padding:clamp(5rem, 8vw, 8rem) var(--page) clamp(6rem, 10vw, 11rem)}.browser-toolbar{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.browser-toolbar h2{letter-spacing:-.05em;margin:.8rem 0 0;font-size:clamp(2.2rem,4vw,4.5rem)}.filter-group{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.filter-button span{opacity:.55;margin-left:.35rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;display:grid}.project-card{border:1px solid var(--line);background:var(--paper-deep);min-width:0;overflow:hidden}.project-card-visual{aspect-ratio:3/2;background:var(--ink);position:relative;overflow:hidden}.project-card-visual img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-card-visual img{transform:scale(1.025)}.project-card-visual>span{color:#f2f0e8cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 .56rem/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;background:#10120fc7;padding:.45rem .55rem;position:absolute;bottom:.75rem;left:.75rem}.project-card-visual-icon img{object-fit:contain;padding:clamp(3rem,7vw,7rem)}.project-card-visual-wide img{object-fit:cover}.grid-icon{background:#050914}.project-card-body{flex-direction:column;min-height:27rem;padding:1.6rem;display:flex}.project-card-body h2{letter-spacing:-.055em;max-width:36rem;margin:2rem 0 1rem;font-size:clamp(2rem,4vw,4rem);line-height:.95}.project-card-body>p{max-width:44rem;color:var(--muted);margin:0;line-height:1.65}.project-outcomes{gap:.55rem;margin:1.5rem 0 2.5rem;padding:0;list-style:none;display:grid}.project-outcomes li{color:var(--muted);padding-left:1.3rem;font-size:.85rem;line-height:1.45;position:relative}.project-outcomes li:before{content:"+";color:var(--blue);font-family:var(--mono);position:absolute;left:0}.project-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;margin-top:auto;padding-top:1.2rem;display:flex}.project-tags{flex-wrap:wrap;gap:.4rem;display:flex}.project-tags span{border:1px solid var(--line);font:500 .58rem/1 var(--mono);text-transform:uppercase;border-radius:999px;padding:.45rem .55rem}.project-card-footer a{font:500 .66rem/1 var(--mono);text-transform:uppercase;text-underline-offset:.35rem;flex:none}.project-card.is-hidden{display:none}.project-note{padding:clamp(5rem, 10vw, 10rem) var(--page);background:var(--ink);color:var(--paper);grid-template-columns:minmax(10rem,.45fr) minmax(0,1.3fr);gap:clamp(3rem,8vw,9rem);display:grid}.project-note .section-label{color:#f2f0e880}.project-note h2{letter-spacing:-.07em;margin:0;font-size:clamp(3rem,7vw,7.5rem);line-height:.9}.project-note p{color:#f2f0e89e;max-width:42rem;margin:2rem 0;font-size:1.05rem;line-height:1.7}.compact-contact{padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,7rem)}.js .reveal:nth-child(2){animation-delay:80ms}.js .reveal:nth-child(3){animation-delay:.16s}.scroll-reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.scroll-reveal.in-view{opacity:1;transform:none}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@media (width<=1050px){.proof-strip{grid-template-columns:repeat(2,1fr)}.proof-strip>div:nth-child(2){border-right:0}.proof-strip>div:nth-child(-n+2){border-bottom:1px solid #f2f0e829}.selected-grid{grid-template-columns:1fr 1fr}.selected-card:last-child{grid-column:1/-1}.contact-section{grid-template-columns:10rem 1fr}.contact-meta{grid-column:2;align-items:flex-start}}@media (width<=760px){.site-header{grid-template-columns:1fr auto;gap:1rem;min-height:72px}.brand-name,.header-link{display:none}.view-switch{justify-self:end;max-width:calc(100vw - 5.5rem);overflow-x:auto}.view-link{padding:.5rem .7rem;font-size:.62rem}.hero{min-height:calc(100svh - 72px);padding-top:3rem}.hero-title{margin:auto 0 3rem;font-size:clamp(3.5rem,16vw,6.8rem)}.hero-footer{grid-template-columns:1fr;gap:1.5rem}.hero-footer .text-link{width:max-content}.hero-orbit{opacity:.42;width:80vw;top:16%;right:-36vw}.proof-strip{grid-template-columns:1fr}.proof-strip>div{border-bottom:1px solid #f2f0e829;border-right:0;min-height:8rem}.proof-strip>div:last-child{border-bottom:0}.education-section,.credentials-section,.project-note{grid-template-columns:1fr}.section-heading,.resume-library-header{grid-template-columns:1fr;gap:2rem;margin-bottom:3.5rem}.timeline-item{grid-template-columns:1fr;gap:1.8rem;padding:2.4rem 0}.timeline-content h3{font-size:2rem}.experience-notes,.resume-grid{grid-template-columns:1fr}.experience-notes article{grid-template-columns:1fr;gap:.7rem}.education-list article{grid-template-columns:1fr;gap:1.2rem}.education-mark{display:none}.clearance-note{margin-top:2rem;position:static}.selected-header{flex-direction:column;align-items:flex-start}.selected-grid{grid-template-columns:1fr}.selected-card,.selected-card:last-child{grid-column:auto;min-height:31rem}.project-image-square img{padding:2rem}.resume-card{min-height:11rem}.contact-section{grid-template-columns:1fr}.contact-meta{grid-column:1;align-items:flex-start}.site-footer{flex-direction:column;align-items:flex-start}.projects-hero{min-height:68vh}.projects-hero h1{margin:auto 0 3rem;font-size:clamp(4rem,19vw,7rem)}.projects-intro{flex-direction:column;align-items:flex-start;gap:1.5rem}.browser-toolbar{flex-direction:column;align-items:flex-start}.filter-group{justify-content:flex-start}.project-grid{grid-template-columns:1fr}.project-card-body{min-height:25rem}.project-card-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.experience-heading-cursor{display:none}}body{background-image:radial-gradient(circle at 82% 6%,#6d7cff14,#0000 24rem)}.site-header{border-bottom-color:#10120f1f}.site-header:after{content:"";width:var(--scroll-progress,0%);background:var(--blue);height:2px;transition:width 80ms linear;position:absolute;bottom:-1px;left:0}.brand-mark{box-shadow:0 0 0 1px #10120f1f,0 8px 24px #10120f24}.view-link,.filter-button{justify-content:center;align-items:center;min-height:40px;display:inline-flex}.hero{min-height:auto;color:var(--paper);background:var(--ink);isolation:isolate;border-bottom:0;padding-top:2rem}.hero:before{content:"";z-index:-2;background:radial-gradient(circle at 77% 29%,#6d7cff33,#0000 25%),radial-gradient(circle at 6% 85%,#c9ff3d14,#0000 24%),linear-gradient(135deg,#0b0d0b,#151814 62%,#0b0d0b);position:absolute;inset:0}.hero:after{content:"";z-index:-1;opacity:.11;background-image:linear-gradient(#f2f0e81c 1px,#0000 1px),linear-gradient(90deg,#f2f0e81c 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.hero-topline{z-index:3;justify-content:space-between;align-items:center;gap:2rem;display:flex;position:relative}.hero-edition{color:#f2f0e875;font:500 .62rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}.hero-stage{z-index:2;grid-template-columns:minmax(0,1.45fr) minmax(19rem,.55fr);align-items:end;gap:clamp(3rem,7vw,8rem);padding:clamp(4rem,8vw,8.5rem) 0 clamp(3.5rem,6vw,6rem);display:grid;position:relative}.hero-value{min-width:0}.hero-overline{color:var(--acid);font:500 .65rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.4rem}.hero .hero-title{max-width:970px;color:var(--paper);margin:0;font-size:clamp(3.8rem,7.2vw,8.2rem);line-height:.9}.hero .hero-title em{color:#0000;-webkit-text-stroke-color:var(--paper)}.hero-intro{color:#f2f0e8ad;max-width:48rem;margin:2rem 0 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.72}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid #0000;border-radius:999px;min-height:46px}.button-quiet:hover{background:#f2f0e814}.recruiter-snapshot{color:var(--paper);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f2f0e811;border:1px solid #f2f0e829;border-radius:1.25rem;padding:clamp(1.4rem,2.5vw,2rem);box-shadow:0 28px 80px #0000003d}.snapshot-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.snapshot-heading .eyebrow{color:#f2f0e87a;margin:0}.snapshot-heading>span{color:var(--acid);font:500 .58rem/1.3 var(--mono);text-transform:uppercase;text-align:right}.recruiter-snapshot h2{letter-spacing:-.045em;margin:2.6rem 0 2rem;font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1.02}.recruiter-snapshot dl{margin:0}.recruiter-snapshot dl>div{border-top:1px solid #f2f0e821;grid-template-columns:5.5rem 1fr;gap:1rem;padding:.9rem 0;display:grid}.recruiter-snapshot dt{color:#f2f0e86b;font:500 .6rem/1.45 var(--mono);text-transform:uppercase}.recruiter-snapshot dd{margin:0;font-size:.76rem;line-height:1.5}.recruiter-snapshot>a{color:var(--acid);font:500 .65rem/1 var(--mono);text-transform:uppercase;text-underline-offset:.35rem;margin-top:1.4rem;display:inline-flex}.hero .hero-orbit{opacity:.17;z-index:-1;width:min(34vw,31rem);top:10%}.hero .orbit-ring{border-color:#f2f0e859}.proof-strip{z-index:2;position:relative;box-shadow:0 -1px #f2f0e81f}.proof-strip>div{transition:background .2s}.proof-strip>div:hover{background:#1a1d18}.proof-strip strong{letter-spacing:-.015em}.value-grid{background:var(--line);border:1px solid var(--line);grid-column:2/-1;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1rem;display:grid}.value-grid article{background:var(--paper);flex-direction:column;min-height:13rem;padding:1.5rem;display:flex}.value-grid article>span{color:var(--blue);font:500 .62rem/1 var(--mono)}.value-grid h3{margin:auto 0 .75rem;font-size:1.1rem}.value-grid p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.6}.section-context{grid-template-columns:1fr auto;align-items:end;gap:2rem;display:grid}.section-context>p{color:var(--muted);margin:0;line-height:1.7}.context-count{border-left:1px solid var(--line);min-width:6rem;padding-left:1.25rem}.context-count strong{letter-spacing:-.07em;font-size:2.6rem;line-height:1;display:block}.context-count span{color:var(--muted);font:500 .58rem/1.35 var(--mono);text-transform:uppercase;margin-top:.4rem;display:block}.timeline-item{margin:0 calc(var(--page) * -.25);padding-left:calc(var(--page) * .25);padding-right:calc(var(--page) * .25);position:relative}.timeline-item:after{content:"";z-index:-1;background:0 0;transition:background .2s;position:absolute;inset:0}.timeline-item:hover:after{background:#6d7cff0b}.timeline-content h3{text-wrap:balance}.selected-card,.project-card{border-radius:1.2rem;box-shadow:inset 0 1px #ffffff80}.selected-card{background:#e5e1d4a8}.resume-library .section-label{color:#f2f0e87a}.resume-library-header>p{color:#f2f0e899}.resume-card{color:var(--paper);background:#f2f0e80a}.contact-section{background:linear-gradient(120deg, var(--acid), #ddff85)}.projects-hero{min-height:auto;color:var(--paper);background:linear-gradient(140deg,#0b0d0b,#161916);border-bottom:0}.projects-hero .hero-topline{margin-bottom:clamp(4rem,8vw,8rem)}.projects-hero-stage{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);align-items:end;gap:clamp(3rem,7vw,8rem);margin-bottom:clamp(4rem,8vw,7rem);display:grid}.projects-hero h1{color:var(--paper);margin:0;font-size:clamp(4rem,8.5vw,9rem)}.projects-hero h1 em{-webkit-text-stroke-color:var(--paper)}.project-hero-card{background:#f2f0e80e;border:1px solid #f2f0e829;border-radius:1.2rem;padding:1.7rem}.project-hero-card h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.7rem,2.7vw,2.7rem);line-height:1.04}.project-hero-card>p:not(.eyebrow){color:#f2f0e899;margin:1.3rem 0 1.6rem;font-size:.9rem;line-height:1.65}.projects-intro p{color:#f2f0e8a3}.projects-intro span{color:var(--acid)}.project-browser{position:relative}.browser-toolbar{z-index:15;margin-left:calc(var(--page) * -.3);margin-right:calc(var(--page) * -.3);padding:1.2rem calc(var(--page) * .3);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f2f0e8f0;position:sticky;top:68px}.filter-status{color:var(--muted);font:500 .6rem/1.4 var(--mono);margin:.6rem 0 0}.project-grid{margin-top:1rem}.project-card{background:#e5e1d499;transition:transform .25s,box-shadow .25s}.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 55px #10120f21}.project-fit{font:500 .62rem/1.5 var(--mono);color:var(--ink)!important;margin:1.1rem 0 0!important}.project-fit span{color:var(--blue);text-transform:uppercase;margin-right:.55rem}.project-card-body h2{text-wrap:balance;margin-top:1.2rem}.project-card-footer a{align-items:center;min-height:38px;display:inline-flex}@media (width<=1100px){.hero-stage,.projects-hero-stage{grid-template-columns:1fr;gap:3rem}.recruiter-snapshot{max-width:none}.recruiter-snapshot dl{grid-template-columns:1fr 1fr;gap:0 2rem;display:grid}.project-hero-card{max-width:44rem}.value-grid{grid-column:1/-1}}@media (width<=760px){.hero{min-height:auto;padding-top:1.5rem}.hero-topline{align-items:flex-start}.hero-edition{display:none}.hero-stage{padding:4rem 0 3rem}.hero .hero-title{margin:0;font-size:clamp(3.45rem,15vw,6.5rem)}.hero-intro{margin-top:1.5rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{justify-content:space-between;width:100%}.recruiter-snapshot dl,.value-grid{grid-template-columns:1fr}.value-grid article{min-height:10rem}.section-context{grid-template-columns:1fr}.context-count{border-left:0;border-top:1px solid var(--line);padding-top:1rem;padding-left:0}.projects-hero .hero-topline{margin-bottom:4rem}.projects-hero h1{margin:0;font-size:clamp(3.9rem,18vw,7rem)}.projects-hero-stage{margin-bottom:4rem}.browser-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;margin-left:0;margin-right:0;padding:0 0 1.5rem;position:static}.filter-group{width:calc(100vw - (var(--page) * 2));scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.5rem;overflow-x:auto}.filter-group::-webkit-scrollbar{display:none}.filter-button{flex:none;min-height:44px}.project-fit{font-size:.58rem}}:root{--ink:#111315;--paper:#f7f7f4;--paper-deep:#eceeea;--acid:#2563eb;--blue:#2563eb;--line:#11131529;--muted:#5d646a}body,body[data-focus=cyber],body[data-focus=it],body[data-focus=ot],body[data-focus=swe]{--accent:var(--blue);background:var(--paper);background-image:none}.site-header{border-bottom:1px solid var(--line);min-height:68px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f7f7f4f7}.site-header.is-scrolled{min-height:68px;box-shadow:none}.brand-mark{box-shadow:none;border-radius:4px}.view-switch{background:var(--paper-deep);border:0;border-radius:4px}.view-link{border-radius:3px}.header-link{font-size:.78rem}.button,.filter-button{border-radius:4px;transform:none!important}.button{padding:.85rem 1rem}.hero{color:var(--paper);background:var(--ink);border-bottom:1px solid #f7f7f424;padding-top:2rem}.hero:before,.hero:after,.hero-orbit{display:none}.hero-stage{grid-template-columns:minmax(0,1.5fr) minmax(20rem,.6fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);padding:clamp(2rem,4vw,4rem) 0 clamp(2.7rem,4.5vw,4.5rem)}.hero-overline{color:#8fb2ff}.hero .hero-title{letter-spacing:-.055em;max-width:920px;font-size:clamp(2.75rem,5.4vw,5.8rem);line-height:.96}.hero .hero-title em{color:#8fb2ff;-webkit-text-stroke:0}.hero-intro{color:#f7f7f4b3;max-width:47rem}.button-acid{background:var(--blue);color:#fff}.button-acid:hover{background:#1d4ed8}.button-quiet{color:var(--paper);background:0 0;border-color:#f7f7f44d}.button-quiet:hover{border-color:var(--paper);background:0 0}.availability-dot{box-shadow:none;border:0;background:#43b96e!important}.recruiter-snapshot{color:var(--paper);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f7f7f408;border:1px solid #f7f7f447;border-radius:4px;padding:1.5rem}.snapshot-heading{border-bottom:1px solid #f7f7f42e;padding-bottom:1rem}.snapshot-heading .eyebrow{color:#f7f7f499}.recruiter-snapshot h2{display:none}.recruiter-snapshot dl>div{border-color:#f7f7f426;padding:.85rem 0}.recruiter-snapshot dt{color:#f7f7f480;font-size:.65rem}.recruiter-snapshot dd{font-size:.88rem;line-height:1.55}.recruiter-snapshot>a{color:#8fb2ff}.proof-strip{box-shadow:none}.proof-strip>div,.proof-strip>div:hover{background:var(--ink)}.proof-strip span{color:#8fb2ff}.value-grid{display:none}.resume-section,.capabilities-section,.education-section,.credentials-section,.selected-work,.resume-library,.contact-section,.project-browser,.project-note{padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,7rem)}.section-heading{margin-bottom:clamp(3rem,6vw,5rem)}.section-heading h2,.selected-header h2,.education-title-block h2,.credentials-section h2,.resume-library-header h2{letter-spacing:-.05em;font-size:clamp(2.4rem,4.7vw,4.9rem);line-height:1}.timeline-item{margin:0;padding-left:0;padding-right:0}.timeline-item:after{display:none}.timeline-content h3{font-size:clamp(1.55rem,2.5vw,2.6rem)}.impact-list li{color:var(--ink)}.experience-notes{background:var(--line)}.credentials-section{background:var(--paper-deep)}.selected-card,.project-card{box-shadow:none;border-radius:4px}.selected-card,.selected-card:hover,.project-card,.project-card:hover{box-shadow:none;transform:none}.selected-card:hover .project-image img,.project-card:hover .project-card-visual img{transform:none}.selected-card{background:var(--paper);min-height:31rem}.project-image,.project-card-visual{border-radius:2px}.selected-card .project-image{box-shadow:none}.card-arrow{border-radius:4px}.resume-library{color:var(--paper);background:#181b1f}.resume-grid{background:#f7f7f429;border-color:#f7f7f429}.resume-card{background:#181b1f}.resume-card:hover{background:#20242a}.contact-section{color:var(--ink);background:var(--paper);border-top:1px solid var(--line)}.contact-section h2{font-size:clamp(2.4rem,4.7vw,4.9rem)}.projects-hero{color:var(--paper);background:var(--ink)}.projects-hero h1{font-size:clamp(3.5rem,7vw,7.2rem);line-height:.94}.projects-hero h1 em{color:#8fb2ff;-webkit-text-stroke:0}.project-hero-card{box-shadow:none;background:0 0;border-radius:4px}.project-hero-card .eyebrow{color:#8fb2ff}.project-hero-card h2{font-size:clamp(1.45rem,2.2vw,2.2rem)}.browser-toolbar{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f7f7f4fa}.project-card{background:var(--paper)}.project-card-body{min-height:25rem}.project-fit span{color:var(--blue)}.project-note{color:var(--paper);background:var(--ink)}.project-note h2{letter-spacing:-.05em;font-size:clamp(2.4rem,4.7vw,4.9rem);line-height:1}.project-note .button{background:var(--blue);color:#fff}.js .reveal{animation:none}.scroll-reveal,.scroll-reveal.in-view{opacity:1;transition:none;transform:none}.education-mark{display:none}.education-list article{grid-template-columns:8rem 1fr}@media (width>1100px){.hero-stage{grid-template-columns:minmax(0,1.6fr) minmax(24rem,.85fr);gap:clamp(2rem,3vw,3.25rem)}.hero .hero-title{text-wrap:balance;max-width:12em;font-size:clamp(2.75rem,4.6vw,4.95rem);line-height:.94}.hero .recruiter-snapshot{padding:1.75rem 2rem}.hero .snapshot-heading .eyebrow{font-size:.75rem}.hero .recruiter-snapshot dl>div{gap:.85rem;padding:1rem 0}.hero .recruiter-snapshot dt{font-size:.75rem}.hero .recruiter-snapshot dd{font-size:.95rem;line-height:1.5}.hero .recruiter-snapshot>a{font-size:.75rem}}@media (width<=1100px){.hero-stage,.projects-hero-stage{grid-template-columns:1fr}}@media (width<=760px){.hero .hero-title{font-size:clamp(2.55rem,11vw,4.4rem);line-height:.98}.hero-stage{padding-top:2.25rem;padding-bottom:2.7rem}.projects-hero h1{font-size:clamp(3.1rem,14vw,5.8rem)}}.about-page{background:var(--paper);overflow-x:clip}.about-page main{min-width:0}.about-hero{padding:2rem var(--page) clamp(4rem, 8vw, 8rem);color:var(--paper);background:var(--ink);border-bottom:1px solid #f7f7f424}.about-hero-topline{justify-content:space-between;align-items:flex-start;gap:2rem;min-height:3rem;display:flex}.about-hero-topline .section-label{color:#8fb2ff}.about-hero-topline>span{color:#f7f7f473;font:500 .62rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:right}.about-hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(18rem,.58fr);align-items:end;gap:clamp(3rem,7vw,8rem);padding-top:clamp(4rem,7vw,7rem);display:grid}.about-hero-copy{min-width:0}.about-hero h1{letter-spacing:-.06em;text-wrap:balance;max-width:62rem;margin:0;font-size:clamp(3.15rem,6.5vw,7rem);line-height:.94}.about-hero h1 em{color:#8fb2ff;font-style:normal}.about-intro{gap:1rem;max-width:50rem;margin-top:2.2rem;display:grid}.about-intro p{color:#f7f7f4b3;margin:0;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.72}.experience-chart{background:#181b1f;border:1px solid #f7f7f438;min-width:0;padding:1.5rem}.experience-chart-heading{border-bottom:1px solid #f7f7f426;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1rem;display:flex}.experience-chart-heading .eyebrow{color:#8fb2ff}.experience-chart-heading>span{color:#f7f7f46b;font:500 .6rem/1.4 var(--mono);text-transform:uppercase}.experience-bars{gap:1.15rem;padding-top:1.2rem;display:grid}.experience-bar-label{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem;display:flex}.experience-bar-label span{color:#f7f7f4c7;font-size:.78rem}.experience-bar-label strong{color:var(--paper);font:500 .64rem/1 var(--mono);flex:none}.experience-bar-track{background:#f7f7f417;height:.72rem;overflow:hidden}.experience-bar-track>span{width:var(--bar-size);background:var(--blue);transform-origin:0;height:100%;display:block}.js .experience-chart .experience-bar-track>span{transform:scaleX(0)}.js .experience-chart.is-animated .experience-bar-track>span{transition:transform .85s cubic-bezier(.2, .7, .2, 1) var(--bar-delay);transform:scaleX(1)}.experience-axis{color:#f7f7f452;font:500 .54rem/1 var(--mono);grid-template-columns:repeat(6,1fr);margin-top:.65rem;display:grid}.experience-axis span:not(:first-child){text-align:right}.experience-chart-note{color:#f7f7f47a;font:400 .6rem/1.55 var(--mono);border-top:1px solid #f7f7f426;margin:1.35rem 0 0;padding-top:1rem}.about-section{padding:clamp(4rem, 8vw, 8rem) var(--page);border-bottom:1px solid var(--line)}.about-section-heading{grid-template-columns:minmax(10rem,.38fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);margin-bottom:clamp(3rem,6vw,5.5rem);display:grid}.about-section-heading h2{letter-spacing:-.055em;text-wrap:balance;max-width:58rem;margin:0;font-size:clamp(2.6rem,5vw,5.4rem);line-height:.96}.about-profile{background:var(--paper-deep)}.profile-data-panel{border:1px solid var(--ink)}.profile-data-panel dl{background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid}.profile-data-panel dl>div{background:var(--paper-deep);flex-direction:column;justify-content:space-between;gap:2rem;min-width:0;min-height:8.5rem;padding:1.25rem;display:flex}.profile-data-panel dt{color:var(--muted);font:500 .6rem/1.45 var(--mono);text-transform:uppercase}.profile-data-panel dd{overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.55}.about-story{grid-template-columns:minmax(10rem,.38fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);display:grid}.about-story .about-section-heading{margin:0;display:block}.about-story .about-section-heading h2{margin-top:1.2rem}.about-story-copy{min-width:0;max-width:52rem}.about-story-copy p{color:var(--muted);margin:0;font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.78}.about-story-copy p+p{margin-top:1.4rem}.about-focus{color:var(--paper);background:var(--ink);border-color:#f7f7f424}.about-focus .section-label{color:#8fb2ff}.about-work-grid{border:1px solid #f7f7f42e;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.about-work-card{border-right:1px solid #f7f7f42e;flex-direction:column;min-width:0;min-height:23rem;padding:1.5rem;transition:background-color .2s,border-color .2s;display:flex}.about-work-card:last-child{border-right:0}.about-work-card:hover{box-shadow:inset 0 3px var(--blue);background:#181b1f}.about-work-card>span{color:#8fb2ff;font:500 .64rem/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}.about-work-card h3{letter-spacing:-.04em;margin:auto 0 1rem;font-size:clamp(1.35rem,2vw,2rem);line-height:1.05}.about-work-card p{color:#f7f7f49e;margin:0 0 1.5rem;font-size:.9rem;line-height:1.65}.about-work-card a{color:#8fb2ff;font:500 .62rem/1.4 var(--mono);text-transform:uppercase;text-underline-offset:.35rem;margin-top:auto}.about-directory{padding:clamp(3.5rem, 7vw, 6rem) var(--page);color:var(--paper);background:#181b1f;border-bottom:1px solid #f7f7f424}.about-directory-heading{grid-template-columns:minmax(10rem,.38fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);margin-bottom:clamp(2rem,4vw,3.5rem);display:grid}.about-directory .section-label{color:#8fb2ff}.about-directory h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1}.about-directory-list{border-top:1px solid #f7f7f433}.about-directory-list a{min-height:4.75rem;color:var(--paper);border-bottom:1px solid #f7f7f433;grid-template-columns:3rem minmax(10rem,.5fr) minmax(0,1fr) 1.5rem;align-items:center;gap:1rem;padding:1rem 0;transition:color .2s,background-color .2s;display:grid}.about-directory-list a:hover{color:#8fb2ff;background:#f7f7f406}.about-directory-list span{color:#8fb2ff;font:500 .62rem/1 var(--mono)}.about-directory-list strong{font-size:clamp(1rem,1.35vw,1.2rem);font-weight:600}.about-directory-list small{color:#f7f7f480;min-width:0;font:500 .62rem/1.5 var(--mono);text-transform:uppercase;overflow-wrap:anywhere}.about-directory-list b{font:500 .85rem/1 var(--mono);justify-self:end}.about-page .scroll-reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}.about-page .scroll-reveal.in-view{opacity:1;transform:none}@media (width<=1050px){.about-hero-grid{grid-template-columns:1fr}.experience-chart{width:100%;max-width:52rem}.profile-data-panel dl,.about-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-work-card{border-bottom:1px solid #f7f7f42e;min-height:18rem}.about-work-card:nth-child(2){border-right:0}.about-work-card:nth-child(n+3){border-bottom:0}}@media (width<=760px){.about-page .view-link{min-height:44px}.about-hero{padding-top:1.5rem}.about-hero-topline>span{display:none}.about-hero-grid{gap:3rem;padding-top:3.5rem}.about-hero h1{font-size:clamp(2.85rem,13.5vw,5rem);line-height:.97}.about-intro{margin-top:1.6rem}.about-hero .hero-actions{flex-direction:column;align-items:stretch}.about-hero .button{justify-content:space-between;width:100%}.profile-data-panel dl{grid-template-columns:1fr}.profile-data-panel dl>div{gap:.6rem;min-height:0}.about-section-heading,.about-story,.about-directory-heading{grid-template-columns:1fr}.about-story .about-section-heading{margin-bottom:2rem}.about-work-grid{grid-template-columns:1fr}.about-work-card{border-right:0;min-height:15rem;border-bottom:1px solid #f7f7f42e!important}.about-work-card:last-child{border-bottom:0!important}.principle-row{grid-template-columns:2rem minmax(0,1fr);gap:.8rem 1rem}.principle-row p{grid-column:2}.about-directory-list a{grid-template-columns:2rem minmax(0,1fr) 1.25rem;gap:.75rem}.about-directory-list small{grid-column:2}.about-directory-list b{grid-area:1/3/span 2}}@media (prefers-reduced-motion:reduce){.about-page .scroll-reveal,.about-page .scroll-reveal.in-view{opacity:1;transition:none;transform:none}.js .experience-chart .experience-bar-track>span,.js .experience-chart.is-animated .experience-bar-track>span{transition:none;transform:scaleX(1)}}.projects-page{color:var(--paper);background:var(--ink);overflow-x:clip}.projects-page main{min-width:0}.projects-index-header{padding:clamp(4rem, 7vw, 7rem) var(--page);border-bottom:1px solid #f7f7f429;grid-template-columns:minmax(10rem,.38fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);display:grid}.projects-index-header .section-label{color:#8fb2ff}.projects-index-copy{min-width:0;max-width:76rem}.projects-index-copy h1{letter-spacing:-.06em;text-wrap:balance;margin:0;font-size:clamp(2.8rem,6vw,6.4rem);line-height:.96}.projects-index-copy h1 em{color:#8fb2ff;font-style:normal}.projects-index-copy>p{color:#f7f7f4a3;max-width:48rem;margin:2rem 0 0;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7}.project-filter-panel{z-index:20;padding:1rem var(--page);background:#181b1ff7;border-bottom:1px solid #f7f7f429;justify-content:space-between;align-items:center;gap:1.5rem;display:flex;position:sticky;top:68px}.project-filter-heading{flex:none}.project-filter-heading .section-label{color:#f7f7f4b8}.project-filter-heading .filter-status{color:#f7f7f466;margin:.35rem 0 0}.projects-page .filter-group{justify-content:flex-end}.projects-page .filter-button{color:#f7f7f4b8;background:0 0;border-color:#f7f7f43d;border-radius:3px;min-height:44px;padding:.7rem .85rem}.projects-page .filter-button:hover{color:var(--paper);border-color:#f7f7f4a6;transform:none}.projects-page .filter-button.is-active{color:#fff;background:var(--blue);border-color:var(--blue)}.project-filter-clear{color:#8fb2ff;cursor:pointer;min-height:44px;font:500 .61rem/1 var(--mono);letter-spacing:.05em;background:0 0;border:0;border-bottom:1px solid;flex:none;padding:.7rem 0}.project-filter-clear:hover{color:var(--paper)}.featured-projects,.project-directory{padding:clamp(4rem, 7vw, 7rem) var(--page);border-bottom:1px solid #f7f7f429}.project-directory{background:#15181b}.project-section-heading{grid-template-columns:minmax(10rem,.38fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.project-section-heading .section-label{color:#8fb2ff}.project-section-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.2rem,4vw,4.2rem);line-height:1}.project-section-heading div>p{color:#f7f7f480;max-width:45rem;margin:1rem 0 0;font-size:.92rem;line-height:1.65}.featured-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.projects-page .project-card{min-width:0;color:var(--paper);box-shadow:none;background:#181b1f;border:1px solid #f7f7f433;border-radius:3px}.projects-page .project-card:hover{box-shadow:inset 0 3px var(--blue);transform:none}.projects-page .project-card-visual{aspect-ratio:16/9;border-bottom:1px solid #f7f7f429;border-radius:0}.projects-page .project-card-visual img,.projects-page .project-card:hover .project-card-visual img{object-fit:cover;width:100%;height:100%;transform:none}.projects-page .project-card-visual>span{color:#f7f7f4b3;-webkit-backdrop-filter:none;backdrop-filter:none;background:#111315e6;border:1px solid #f7f7f42e}.projects-page .project-card-body{min-height:0;padding:clamp(1.35rem,2.4vw,2rem)}.project-card-meta{color:#8fb2ff;font:500 .61rem/1.45 var(--mono);letter-spacing:.045em;text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-card-meta strong{color:#f7f7f4b8;font:inherit;flex:none}.projects-page .project-card h3{letter-spacing:-.045em;text-wrap:balance;max-width:45rem;margin:clamp(2.5rem,5vw,4.5rem) 0 1.25rem;font-size:clamp(1.65rem,3vw,3rem);line-height:1.02}.projects-page .project-description{color:#f7f7f4d1;margin:0;font-size:.96rem;line-height:1.68}.projects-page .project-contribution{color:#f7f7f494;border-top:1px solid #f7f7f426;margin:1.4rem 0 0;padding-top:1.4rem;font-size:.88rem;line-height:1.68}.projects-page .project-contribution>span{color:#8fb2ff;font:500 .58rem/1 var(--mono);letter-spacing:.06em;margin-bottom:.65rem;display:block}.projects-page .project-card-footer{border-top-color:#f7f7f426;align-items:flex-end;margin-top:2rem}.projects-page .project-tags{margin-top:2rem}.projects-page .project-card-footer .project-tags{margin-top:0}.projects-page .project-tags span{color:#f7f7f4a6;border-color:#f7f7f433;border-radius:2px}.project-actions{font:500 .61rem/1.4 var(--mono);text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;gap:1rem;margin-top:auto;padding-top:1.5rem;display:flex}.project-card-footer .project-actions{padding-top:0}.project-actions a{color:#8fb2ff;text-underline-offset:.35rem;align-items:center;min-height:44px;display:inline-flex}.project-action-muted{color:#f7f7f461;align-items:center;min-height:44px;display:inline-flex}.project-directory-grid{background:#f7f7f429;border:1px solid #f7f7f429;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.projects-page .project-card-standard{border:0;border-radius:0}.projects-page .project-card-standard .project-card-body{flex-direction:column;min-height:32rem;display:flex}.projects-page .project-card-standard h3{margin-top:3rem;font-size:clamp(1.55rem,2.5vw,2.5rem)}.projects-page .project-card-standard .project-tags{margin-top:auto;padding-top:2rem}.projects-bottom-directory{padding:clamp(4rem, 7vw, 7rem) var(--page);color:var(--paper);background:var(--ink);border-bottom:1px solid #f7f7f429}.projects-bottom-directory>.section-label{color:#8fb2ff;text-align:center}.projects-bottom-directory>h2{letter-spacing:-.06em;text-align:center;margin:1.25rem 0 clamp(2.5rem,5vw,4.5rem);font-size:clamp(2.6rem,6vw,6.5rem);line-height:.95}.project-directory-list{border-top:1px solid #f7f7f438}.project-directory-list a{min-height:6.25rem;color:var(--paper);border-bottom:1px solid #f7f7f438;grid-template-columns:3rem minmax(12rem,.55fr) minmax(0,1fr) 2rem;align-items:center;gap:1rem;padding:1.1rem 0;text-decoration:none;transition:color .2s,background-color .2s,box-shadow .2s;display:grid}.project-directory-list a:hover,.project-directory-list a:focus-visible{color:#8fb2ff;box-shadow:inset 3px 0 var(--blue);background:#20242a}.project-directory-list a:focus-visible{outline-offset:-3px}.project-directory-list span{color:#8fb2ff;font:500 .62rem/1 var(--mono)}.project-directory-list strong{letter-spacing:-.035em;font-size:clamp(1.6rem,3vw,3rem);font-weight:600}.project-directory-list small{color:#f7f7f47a;min-width:0;font:500 .62rem/1.5 var(--mono);letter-spacing:.05em;overflow-wrap:anywhere}.project-directory-list b{font:500 1rem/1 var(--mono);justify-self:end}@media (width<=1050px){.project-filter-panel{flex-direction:column;align-items:flex-start}.projects-page .filter-group{justify-content:flex-start}.featured-project-grid{grid-template-columns:1fr}}@media (width<=760px){.projects-page .view-link{min-height:44px}.projects-index-header,.project-section-heading{grid-template-columns:1fr}.projects-index-copy h1{font-size:clamp(2.5rem,12vw,4.6rem)}.project-filter-panel{position:static}.projects-page .filter-group{flex-wrap:wrap;width:100%;padding-bottom:0;overflow:visible}.projects-page .filter-button{white-space:normal;flex:auto;line-height:1.35}.project-card-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.projects-page .project-card h3{margin-top:2.5rem}.projects-page .project-card-footer{flex-direction:column;align-items:flex-start}.project-card-footer .project-actions,.project-actions{justify-content:flex-start;width:100%}.project-directory-grid{grid-template-columns:1fr}.projects-page .project-card-standard .project-card-body{min-height:0}.projects-page .project-card-standard .project-tags{margin-top:2rem}.project-directory-list a{grid-template-columns:2rem minmax(0,1fr) 1.5rem;gap:.8rem}.project-directory-list strong{grid-column:2;font-size:clamp(1.4rem,7vw,2rem)}.project-directory-list small{grid-column:2}.project-directory-list b{grid-area:1/3/span 2}}@media (prefers-reduced-motion:reduce){.projects-page .project-card,.projects-page .project-card:hover{transition:none;transform:none}}
