*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg,canvas{display:block;max-width:100%}a{color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}ul{margin:0;padding:0;list-style:none}p{margin:0}h1,h2,h3,h4,h5{margin:0;font-weight:500;letter-spacing:-.015em}hr{border:0;margin:0}button{font:inherit;cursor:pointer}:root{color-scheme:dark;--bg: #0a0908;--bg-soft: #11100e;--surface: rgba(255, 248, 235, .025);--surface-strong: rgba(255, 248, 235, .045);--border: rgba(255, 248, 235, .08);--border-strong: rgba(255, 248, 235, .14);--ink: #f3efe3;--ink-soft: #c8c2b1;--ink-mute: #8a8475;--ink-faint: #4a463d;--accent: #d6a36a;--accent-soft: rgba(214, 163, 106, .18);--accent-bright: #f0c594;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--gutter: clamp(1.25rem, 4vw, 3.5rem);--shell: 1320px;--rhythm: clamp(4rem, 9vw, 8rem);--t-quick: .2s cubic-bezier(.2, .8, .2, 1);--t-smooth: .6s cubic-bezier(.2, .8, .2, 1)}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.55;font-feature-settings:"ss01","cv11","kern";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;position:relative;overflow-x:hidden}body:after{content:"";pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.backdrop{pointer-events:none}.backdrop>*{height:100%;width:100%}.backdrop--static{background-image:radial-gradient(circle at 12% 18%,rgba(214,163,106,.5) 0,transparent 2px),radial-gradient(circle at 28% 42%,rgba(214,163,106,.5) 0,transparent 2px),radial-gradient(circle at 47% 24%,rgba(214,163,106,.5) 0,transparent 2px),radial-gradient(circle at 64% 56%,rgba(214,163,106,.5) 0,transparent 2px),radial-gradient(circle at 82% 30%,rgba(214,163,106,.5) 0,transparent 2px),radial-gradient(circle at 91% 71%,rgba(214,163,106,.5) 0,transparent 2px)}.skip-link{position:absolute;left:-9999px;top:0;padding:.5rem .75rem;background:var(--accent);color:var(--bg)}.skip-link:focus{left:1rem;top:1rem;z-index:50}.shell{position:relative;z-index:2;max-width:var(--shell);margin:0 auto;padding:0 var(--gutter)}.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);background:linear-gradient(to bottom,#0a0908b3,#0a090859);border-bottom:1px solid var(--border)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:64px}.brand{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.brand{display:inline-flex;align-items:baseline;gap:.55rem}.brand-mark{display:inline-flex;align-items:baseline;gap:1px;font-family:var(--font-mono);font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--accent);text-shadow:0 0 8px rgba(214,163,106,.45);line-height:1}.brand-cursor{animation:brand-blink 1.1s steps(2,end) infinite}@keyframes brand-blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (prefers-reduced-motion: reduce){.brand-cursor{animation:none}}.topbar-nav{display:flex;gap:1.5rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.topbar-nav a:hover{color:var(--ink)}.topbar-cta{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:.55rem .95rem;border:1px solid var(--border-strong);border-radius:999px;color:var(--ink);background:var(--surface);transition:var(--t-quick)}.topbar-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}@media (max-width: 720px){.topbar-nav{display:none}}.hero{padding:clamp(5rem,14vw,11rem) 0 clamp(4rem,8vw,7rem);position:relative;isolation:isolate}.hero .backdrop{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);width:100vw;z-index:0;opacity:.65;-webkit-mask-image:radial-gradient(120% 100% at 50% 35%,#000 0%,rgba(0,0,0,.6) 65%,transparent 100%);mask-image:radial-gradient(120% 100% at 50% 35%,#000 0%,rgba(0,0,0,.6) 65%,transparent 100%)}.hero-fade{position:absolute;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);width:100vw;height:30%;background:linear-gradient(to bottom,transparent,var(--bg) 90%);z-index:1;pointer-events:none}.hero-content{position:relative;z-index:2;display:grid;gap:clamp(1.25rem,2.4vw,1.75rem)}.hero .stats{margin-top:clamp(2.5rem,5vw,4rem)}.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);display:inline-flex;align-items:center;gap:.6rem}.eyebrow:before{content:"";width:28px;height:1px;background:var(--ink-faint)}.display{font-family:var(--font-display);font-weight:600;font-size:clamp(3.4rem,11vw,8.5rem);line-height:.92;letter-spacing:-.045em;color:var(--ink);background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 60%,rgba(243,239,227,.72) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.role-tag{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem .8rem .4rem .5rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:.86rem;color:var(--ink-soft);width:fit-content}.role-tag .pill{padding:.18rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-bright);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.role-tag .pill--icon{padding:.34rem .55rem;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(214,163,106,.55))}.role-tag .pill--icon svg{width:10px;height:13px;fill:currentColor;display:block}.lede{font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.55;color:var(--ink-soft);max-width:56ch;letter-spacing:-.005em}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;border-radius:999px;font-size:.92rem;letter-spacing:0;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);transition:var(--t-quick)}.btn:hover{background:var(--surface-strong);border-color:var(--ink-faint)}.btn--primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn--primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);color:var(--bg)}.btn .arrow{transition:transform var(--t-quick)}.btn:hover .arrow{transform:translate(3px)}.stats{margin-top:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stats>div{padding:1.25rem 1.5rem;border-right:1px solid var(--border);display:grid;gap:.35rem}.stats>div:last-child{border-right:0}.stat-num{font-family:var(--font-display);font-weight:500;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.02em;line-height:1;color:var(--ink)}.stat-num em{font-style:normal;color:var(--accent);margin-left:.05em}.stat-lbl{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}@media (max-width: 720px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div{border-right:0;border-bottom:1px solid var(--border)}.stats>div:nth-child(odd){border-right:1px solid var(--border)}.stats>div:nth-last-child(-n+2){border-bottom:0}}.section{padding:var(--rhythm) 0;position:relative}.section+.section{border-top:1px solid var(--border)}.section:last-of-type{padding-bottom:clamp(1.5rem,3vw,2.5rem)}.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-eyebrow{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.85rem}.section-eyebrow .num{color:var(--accent);margin-right:.6rem}.section-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.02;letter-spacing:-.035em;color:var(--ink)}.section-meta{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap}.timeline{display:grid;gap:0}.entry{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:clamp(2rem,4vw,4rem);padding:clamp(1.75rem,3vw,2.5rem) 0;border-top:1px solid var(--border);position:relative}.entry:hover .entry-rail{background:var(--accent)}.entry-rail{position:absolute;left:0;top:-1px;width:28px;height:1px;background:var(--ink-soft);transition:background var(--t-quick)}.entry:first-child{border-top-color:var(--border-strong)}@media (max-width: 880px){.entry{grid-template-columns:1fr;gap:.75rem}}.entry-aside{display:grid;gap:.5rem;align-content:start;padding-top:.4rem}.entry-period{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.entry-loc{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.entry-main{display:grid;gap:1rem}.entry-title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.35rem,2vw,1.6rem);letter-spacing:-.02em;line-height:1.2;color:var(--ink)}.entry-title .at{color:var(--ink-faint);font-weight:400;margin:0 .3rem}.entry-title a{color:var(--accent);position:relative}.entry-title a:hover{color:var(--accent-bright)}.entry-summary{color:var(--ink-soft);line-height:1.65;font-size:1rem;max-width:64ch}.entry-summary+.entry-summary{margin-top:.5rem}.entry-bullets{display:grid;gap:.55rem;color:var(--ink-soft);margin-top:.25rem}.entry-bullets li{position:relative;padding-left:1.4rem;line-height:1.6;max-width:70ch}.entry-bullets li:before{content:"";position:absolute;left:0;top:.7em;width:.7rem;height:1px;background:var(--ink-faint)}.entry-bullets li ul{margin-top:.5rem;display:grid;gap:.4rem}.entry-bullets li ul li{padding-left:1.2rem;font-size:.95rem}.entry-bullets li ul li:before{width:.5rem}.expertise{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-soft)}.expertise>*+*{border-top:1px solid var(--border)}.skill-card{padding:clamp(1.25rem,2vw,1.75rem);display:grid;gap:1rem;align-content:start;transition:background var(--t-quick)}.skill-card:hover{background:var(--surface)}.skill-card.featured{padding:clamp(1.75rem,3vw,2.5rem);position:relative;background:radial-gradient(110% 60% at 0% 0%,rgba(214,163,106,.08),transparent 60%),var(--bg-soft)}.skill-card.featured:hover{background:radial-gradient(110% 60% at 0% 0%,rgba(214,163,106,.12),transparent 60%),var(--surface)}.skill-card-meta{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.skill-pill{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:.28rem .55rem;border:1px solid var(--accent-soft);border-radius:999px;background:var(--accent-soft);white-space:nowrap}.skill-card.featured .prose{margin-top:.5rem;font-size:1.02rem}.expertise .skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.expertise .skills>.skill-card+.skill-card{border-left:1px solid var(--border)}.practice-card{padding:clamp(1.5rem,2.4vw,2rem)}.skill-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-size:.82rem;color:var(--ink);padding:.32rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;line-height:1.2;transition:var(--t-quick)}.tags li:hover{border-color:var(--accent);color:var(--accent-bright)}.prose{color:var(--ink-soft);line-height:1.7;font-size:1.02rem;max-width:72ch}@media (max-width: 1024px){.expertise .skills{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise .skills>.skill-card{border-left:none!important}.expertise .skills>.skill-card:nth-child(2n){border-left:1px solid var(--border)!important}.expertise .skills>.skill-card:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media (max-width: 540px){.expertise .skills{grid-template-columns:1fr}.expertise .skills>.skill-card{border-left:none!important;border-bottom:1px solid var(--border)}.expertise .skills>.skill-card:last-child{border-bottom:none}}.projects{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-soft)}@media (max-width: 980px){.projects{grid-template-columns:1fr}}.project{padding:clamp(1.5rem,2.4vw,2rem);display:grid;gap:1rem;align-content:start;position:relative;transition:background var(--t-quick)}.project:hover{background:var(--surface)}.project--featured{padding:clamp(2rem,3vw,2.75rem);border-right:1px solid var(--border);background:radial-gradient(120% 70% at 0% 0%,rgba(214,163,106,.1),transparent 60%),var(--bg-soft);gap:1.25rem}.project--featured:hover{background:radial-gradient(120% 70% at 0% 0%,rgba(214,163,106,.15),transparent 60%),var(--surface)}@media (max-width: 980px){.project--featured{border-right:none;border-bottom:1px solid var(--border)}}.projects-side{display:grid;grid-auto-rows:1fr}.projects-side>.project+.project{border-top:1px solid var(--border)}.project-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.project-kicker{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.project-name{font-family:var(--font-display);font-weight:500;font-size:1.35rem;letter-spacing:-.025em;color:var(--ink)}.project--featured .project-name{font-size:clamp(1.8rem,2.6vw,2.35rem);letter-spacing:-.035em;line-height:1}.project-name a{color:var(--ink)}.project-name a:hover{color:var(--accent-bright)}.project-name .arrow{font-weight:400;color:var(--ink-mute);transition:var(--t-quick);display:inline-block}.project-name a:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.project-status{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:.28rem .55rem;border:1px solid var(--accent-soft);border-radius:999px;background:var(--accent-soft);white-space:nowrap}.project-blurb{color:var(--ink-soft);font-size:.96rem;line-height:1.6}.project-blurb--lg{font-size:1.05rem;line-height:1.6;max-width:52ch}.activity{display:grid;gap:1.75rem;border:1px solid var(--border);border-radius:14px;background:radial-gradient(140% 70% at 0% 0%,rgba(214,163,106,.06),transparent 60%),var(--bg-soft);padding:clamp(1.5rem,2.4vw,2rem)}.activity--fallback{text-align:center;padding:2.5rem;display:grid;gap:1rem;justify-items:center}.activity-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}.activity-stat{display:grid;gap:.4rem}.activity-stat .num{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,3.4vw,2.8rem);letter-spacing:-.025em;line-height:1;color:var(--ink)}.activity-stat .lbl{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.activity-sub{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.6rem}.activity-sub a{color:var(--ink);border-bottom:1px solid var(--ink-faint);padding-bottom:1px;transition:var(--t-quick)}.activity-sub a:hover{color:var(--accent-bright);border-bottom-color:var(--accent)}.heatmap{display:grid;grid-auto-flow:column;gap:3px;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin}.heatmap-week{display:grid;grid-template-rows:repeat(7,12px);gap:3px}.heatmap-cell{width:12px;height:12px;border-radius:2px;background:#fff8eb0a;display:block;transition:transform var(--t-quick)}.heatmap-cell.level-0{background:#fff8eb0d}.heatmap-cell.level-1{background:#d6a36a40}.heatmap-cell.level-2{background:#d6a36a80}.heatmap-cell.level-3{background:#d6a36ac7}.heatmap-cell.level-4{background:#f0c594;box-shadow:0 0 6px #f0c59466}.heatmap-cell--empty{background:transparent}.heatmap-cell:hover{transform:scale(1.6)}.activity-legend{display:flex;align-items:center;gap:.45rem;justify-content:flex-end;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.activity-legend .heatmap-cell{width:10px;height:10px}@media (max-width: 640px){.activity-meta{flex-direction:column;align-items:flex-start}}.awards{display:grid;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-soft)}.awards li{display:grid;grid-template-columns:6rem 1fr;gap:1.5rem;align-items:baseline;padding:1.1rem clamp(1.25rem,2vw,1.75rem);border-bottom:1px solid var(--border);transition:background var(--t-quick)}.awards li:last-child{border-bottom:0}.awards li:hover{background:var(--surface)}.awards .meta{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.awards strong{font-weight:500;color:var(--ink)}.muted{color:var(--ink-mute)}.page-foot{margin-top:clamp(1.5rem,3vw,2.5rem);padding:1.25rem 0 1.75rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.page-foot-link{color:var(--ink-mute);transition:color var(--t-quick)}.page-foot-link:hover{color:var(--accent-bright)}.earlier-roles{margin:0;border-top:1px solid var(--border)}.earlier-roles>summary{display:flex;align-items:center;gap:.85rem;padding:1.5rem 0;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);transition:color var(--t-quick)}.earlier-roles>summary::-webkit-details-marker,.earlier-roles>summary::marker{display:none}.earlier-roles>summary:hover{color:var(--ink)}.earlier-label strong{color:var(--accent);font-weight:500;margin:0 .25em}.earlier-period{letter-spacing:.1em}.earlier-roles>summary .summary-icon{margin-left:auto;transition:transform var(--t-quick);font-family:var(--font-display);font-size:1.05rem;font-weight:400;letter-spacing:0;color:var(--ink-soft);flex-shrink:0}@media (max-width: 720px){.earlier-roles>summary{gap:.6rem;font-size:.7rem;padding:1.25rem 0}.earlier-period{display:none}}.earlier-roles[open]>summary .summary-icon{transform:rotate(45deg);color:var(--accent)}.earlier-body{display:block}.earlier-aside{margin-top:clamp(4rem,7vw,5.5rem);padding-top:clamp(2.75rem,4.5vw,3.5rem);border-top:1px solid var(--border-strong);scroll-margin-top:5rem}.earlier-aside-label{font-family:var(--font-display);font-weight:500;font-size:clamp(1.45rem,2.6vw,1.95rem);letter-spacing:-.025em;line-height:1;color:var(--ink);margin-bottom:clamp(1.75rem,3vw,2.5rem)}.bottom-strip{display:block;position:relative}.bottom-strip>.earlier-roles{border-top:1px solid var(--border);border-bottom:0}.collapsed-end{display:block;padding:1.25rem 0 .25rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.bottom-strip>.earlier-roles[open]~.collapsed-end{display:none}.bottom-end{display:none;align-items:center;justify-content:space-between;gap:clamp(1rem,2vw,1.75rem);margin-top:clamp(2.5rem,5vw,4rem);padding:1.5rem 0;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.bottom-strip>.earlier-roles[open]~.bottom-end{display:flex}.bottom-end a{color:var(--ink-mute);transition:color var(--t-quick)}.bottom-end a:hover{color:var(--accent-bright)}.expand{margin-top:.25rem}.expand summary{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);padding:.5rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);transition:var(--t-quick);-webkit-user-select:none;user-select:none}.expand summary::-webkit-details-marker{display:none}.expand summary:hover{color:var(--ink);border-color:var(--border-strong);background:var(--surface-strong)}.expand summary .summary-icon{transition:transform var(--t-quick);font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:0;display:inline-block}.expand[open] summary .summary-icon{transform:rotate(45deg)}.expand[open] summary .summary-label:after{content:" · collapse"}.expand-body{margin-top:1.25rem;display:grid;gap:.85rem;animation:slideIn .36s cubic-bezier(.2,.8,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}.section,#top{scroll-margin-top:5rem}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.expand-body{animation:none}}::selection{background:var(--accent);color:var(--bg)}.print-only{display:none}@media print{@page{size:A4;margin:1.4cm 1.4cm 1.6cm;background:#fff}:root{color-scheme:light!important}*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;animation:none!important;transition:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}html{scroll-behavior:auto;background:#fff!important;background-color:#fff!important}body{background:#fff!important;background-color:#fff!important;color:#000!important;font-family:var(--font-sans);font-size:10pt;line-height:1.5}.print-only{display:block!important}body:after,.backdrop,.veil,.topbar,.hero-actions,.role-tag .pill,.role-tag .pill--icon,.stats,.activity,#activity,.section[id=activity],.skip-link,.summary-icon,.arrow,.brand-mark,.brand-dot,.brand-cursor,.topbar-cta,.btn,.collapsed-end,.bottom-end,.entry-rail,.activity-legend,.section-eyebrow,.section-meta,.project-kicker,.project-status{display:none!important}details{display:block!important}details>summary{display:none!important}.expand-body,.earlier-body{display:block!important;margin-top:0!important;animation:none!important}.shell{max-width:none!important;padding:0!important}main{padding:0!important}.section{padding:.5cm 0!important;border-top:0!important;page-break-inside:auto}.section+.section{border-top:0!important}.section:last-of-type{padding-bottom:0!important}.hero{padding:0 0 .5cm!important;display:block!important;border-bottom:1.5px solid #000!important;margin-bottom:.4cm!important}.hero-content{display:block!important}.eyebrow{display:none!important}.display{font-family:var(--font-display)!important;font-size:26pt!important;font-weight:700!important;line-height:1!important;letter-spacing:-.025em!important;color:#000!important;-webkit-text-fill-color:black!important;background:none!important;margin:0 0 .2cm!important}.role-tag{border:0!important;padding:0!important;background:none!important;font-size:11pt!important;color:#333!important;margin-bottom:.15cm!important;display:block!important}.lede{font-size:10pt!important;line-height:1.55!important;margin:.25cm 0!important;max-width:none!important;color:#222!important}.print-contact{font-family:var(--font-sans)!important;font-size:8.5pt!important;color:#444!important;margin-top:.1cm!important;line-height:1.55}.section-head{display:block!important;margin-bottom:.3cm!important}.section-title{font-family:var(--font-sans);font-size:11pt!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.12em!important;color:#000!important;line-height:1.1!important;margin:0!important;padding-bottom:.15cm!important;border-bottom:1px solid #000!important}.timeline{display:block!important}.entry{display:block!important;padding:.3cm 0!important;border:0!important;page-break-inside:avoid}.entry+.entry{margin-top:0!important;padding-top:.35cm!important}.entry-aside{display:block!important;padding:0!important;margin-bottom:.05cm!important;gap:0!important}.entry-period{display:inline!important;font-family:var(--font-sans);font-size:9pt!important;color:#555!important;letter-spacing:0;text-transform:none;font-weight:500}.entry-loc{display:inline!important;font-family:var(--font-sans);font-size:9pt!important;color:#555!important;letter-spacing:0;text-transform:none}.entry-period:after{content:" · ";color:#888}.entry-title{font-family:var(--font-sans);font-size:11pt!important;font-weight:700!important;line-height:1.3!important;color:#000!important;margin-bottom:.1cm!important}.entry-title a{color:#000!important}.entry-title .at{color:#555!important;font-weight:400}.entry-summary{color:#222!important;font-size:10pt!important;line-height:1.5!important;margin-top:.05cm!important}.entry-summary+.entry-summary{margin-top:.15cm!important}.entry-bullets{margin-top:.2cm!important;gap:.1cm!important;list-style:disc outside!important;padding-left:.5cm!important}.entry-bullets li{color:#222!important;font-size:10pt!important;line-height:1.5!important;page-break-inside:avoid;padding-left:0!important;display:list-item!important}.entry-bullets li:before{display:none!important;content:none!important}.entry-bullets li ul{margin-top:.1cm!important;gap:.05cm!important;list-style:circle outside!important;padding-left:.55cm!important}.entry-bullets li ul li{font-size:9.5pt!important;padding-left:0!important}.projects{display:block!important;border:0!important;background:none!important;border-radius:0!important}.projects-side{display:block!important}.project,.project--featured{background:none!important;border:0!important;padding:.3cm 0!important;page-break-inside:avoid;gap:.05cm!important}.project+.project,.projects-side>.project+.project,.project--featured+.projects-side>.project:first-child{border-top:0!important;padding-top:.35cm!important}.project:before,.project--featured:before{display:none!important}.project-head{display:block!important;margin-bottom:.05cm!important}.project-name,.project--featured .project-name{font-family:var(--font-sans);font-size:11pt!important;font-weight:700!important;color:#000!important;letter-spacing:0!important}.project-name a{color:#000!important}.project-blurb,.project-blurb--lg{color:#222!important;font-size:10pt!important;line-height:1.5!important;max-width:none!important;margin:.05cm 0!important}.expertise{background:none!important;border:0!important;border-radius:0!important}.expertise>*+*{border-top:0!important}.skill-card,.skill-card.featured{background:none!important;padding:.2cm 0!important;page-break-inside:avoid}.expertise .skills{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.1cm .6cm!important}.expertise .skills>.skill-card{border:0!important;padding:.15cm 0!important}.expertise .skills>.skill-card+.skill-card{border-left:0!important}.skill-label{font-family:var(--font-sans);font-size:9pt!important;font-weight:700!important;color:#000!important;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.1cm!important}.skill-card-meta{display:block!important}.skill-pill{display:none!important}.tags{display:block!important;font-family:var(--font-sans);font-size:10pt!important;color:#000!important;line-height:1.5}.tags li{display:inline!important;background:none!important;border:0!important;padding:0!important;color:#000!important}.tags li:after{content:", ";color:#555}.tags li:last-child:after{content:""}.prose{color:#222!important;font-size:10pt!important;line-height:1.5!important;max-width:none!important}.earlier-aside{margin-top:.5cm!important;padding-top:0!important;border-top:0!important}.earlier-aside-label{font-family:var(--font-sans)!important;font-size:11pt!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.12em!important;color:#000!important;border-bottom:1px solid #000!important;padding-bottom:.15cm!important;margin-bottom:.3cm!important}.awards{background:none!important;border:0!important;border-radius:0!important}.awards li{background:none!important;border:0!important;padding:.1cm 0!important;grid-template-columns:1.6cm 1fr!important;gap:.4cm!important}.awards .meta{font-family:var(--font-sans);font-size:9pt!important;color:#555!important;letter-spacing:0;text-transform:none}.awards strong{color:#000!important;font-weight:700;font-size:10pt}.awards .muted{color:#444!important;font-size:10pt}.bottom-strip>.earlier-roles{border:0!important}*::selection{background:none!important}.section-head,.entry-head,.project-head{page-break-after:avoid;break-after:avoid}#experience{page-break-before:always;break-before:page}p,.entry-summary,.entry-bullets li,.project-blurb{widows:2;orphans:2}.section{padding:.45cm 0!important}}
