.fold-grid{view-transition-name:vt-folder;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px;list-style:none;display:grid}.fold-tile{border-radius:calc(var(--r-card) * .7);background:var(--surface-1);border:1px solid var(--line);min-width:0;color:inherit;flex-direction:column;gap:8px;height:100%;padding:14px;text-decoration:none;display:flex}.fold-tile:hover{border-color:var(--ink-3)}.fold-tile b{font-size:14px;font-weight:600;line-height:1.25}.fold-tile>span:not(.mg){color:var(--ink-3);font-size:12.5px}.fold-tile em{color:var(--ink-3);font-size:12px;font-style:normal;font-family:var(--f-mono)}.xp-stats{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.timeline{margin-top:24px;padding-left:28px;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent-ink), var(--line) 85%);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.tl-item{padding-bottom:22px;position:relative}.tl-item:before{content:"";background:var(--canvas);border:2px solid var(--accent-ink);border-radius:50%;width:14px;height:14px;position:absolute;top:26px;left:-27px}.role{padding:var(--pad)}.role-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:4px 16px;display:grid}.role-head .mg{grid-row:span 2}.role-head h2{font-size:calc(24px * var(--head-k))}.role-head .where{color:var(--ink-3);grid-column:2;font-size:14px}.role-head .when{text-align:right;font-family:var(--f-mono);color:var(--ink-2);white-space:nowrap;font-size:12.5px}.role-head .when small{color:var(--ink-3);font-size:11.5px;display:block}.positions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;list-style:none;display:flex}.positions li{align-items:center;gap:8px;display:flex}.positions li+li:before{content:"→";content:"→" / "";color:var(--ink-3);font-size:13px}.pos{background:var(--surface-2);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.pos.prev{border:1px solid var(--line-2);color:var(--ink-2);background:0 0;font-weight:500}.promo-badge{font:600 10px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:3px 7px}.role .summary{color:var(--ink);margin-top:14px;font-size:16.5px}.role ul.hl{color:var(--ink-2);gap:8px;margin-top:12px;padding-left:20px;display:grid}.role .dds{border-top:1px solid var(--line);margin-top:16px}.role .dds>.dd+.dd{border-top:1px solid var(--line)}.dd>summary{cursor:pointer;min-height:44px;color:var(--ink);align-items:center;gap:10px;font-size:14.5px;font-weight:500;list-style:none;display:flex}.dd>summary::-webkit-details-marker{display:none}.dd>summary:before{content:"";border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);width:7px;height:7px;transition:transform .2s var(--ease);flex:none;margin:0 4px 0 2px;transform:rotate(-45deg)}.dd[open]>summary:before{transform:rotate(45deg)}.dd>summary:hover .dd-l{color:var(--accent-ink)}.dd>summary:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:6px}.dd-n{font:500 11px var(--f-mono);color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.dd-body{padding:2px 0 14px 21px}.badges .chip.top{background:var(--surface-3);color:var(--ink)}.pj-list{gap:6px;list-style:none;display:grid}.pj-list>li{border:1px solid var(--line);border-radius:var(--r-ctl);padding:0 12px}.pj-body{color:var(--ink-2);gap:12px;font-size:14.5px;display:grid}.pj-desc{gap:8px;display:grid}.pj-desc p:first-child{color:var(--ink)}@media (width<=640px){.dd-body{padding-left:0}.pj-list>li{padding:0 10px}}@media print{.role .dds,.role .rel{display:none}}.role .more{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:12px;display:grid}.role .more h3{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.role .more h3:before{content:none!important}.role .more ul{color:var(--ink-2);gap:6px;padding-left:18px;font-size:14.5px;display:grid}.role .rel{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}@media (width<=1100px){.fold-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.fold-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-head{grid-template-columns:auto minmax(0,1fr)}.role-head .when{text-align:left;grid-column:1/-1}.role .more{grid-template-columns:1fr}.timeline{padding-left:22px}.tl-item:before{left:-21px}.timeline:before{left:5px}}.filters{flex-wrap:wrap;gap:6px;display:flex}.fbtn{border:1px solid var(--line-2);color:var(--ink-2);background:0 0;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:6px 14px;font-size:13.5px;display:inline-flex}.fbtn[aria-pressed=true]{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.proj-grid{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px;list-style:none;display:grid}.proj-grid>li{min-width:0}.proj-card{height:100%;color:inherit;flex-direction:column;padding:0;text-decoration:none;display:flex;overflow:hidden}.proj-card:hover{border-color:var(--ink-3)}:root[data-motion=subtle] .proj-card:hover{transform:translateY(-3px)}.proj-card .art{aspect-ratio:16/8;background:var(--surface-2);border-bottom:1px solid var(--line);place-items:center;padding:18px;display:grid}.proj-card .art svg{width:100%;height:100%;max-height:200px}.proj-card .body{padding:var(--pad);flex-direction:column;flex:1;gap:8px;display:flex}.proj-card h3,.proj-card .h3-like{font-size:calc(21px * var(--head-k))}.proj-card .meta{color:var(--ink-3);font-size:13px}.proj-card p{color:var(--ink-2);font-size:14.5px}.proj-card .go{color:var(--accent-ink);margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:500}.proj-card.small .art{display:none}.proj-list-empty{color:var(--ink-3);margin-top:20px}@media (width<=760px){.proj-grid{grid-template-columns:1fr}}.proj-card.pro{position:relative}.proj-card .stretch{color:inherit;text-decoration:none}.proj-card .stretch:after{content:"";border-radius:inherit;position:absolute;inset:0}.proj-card .stretch:focus-visible{outline:none}.proj-card.pro:has(.stretch:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}.proj-card .go{flex-wrap:wrap;gap:6px 16px;display:flex}.proj-card .cs-link{z-index:1;color:var(--accent-ink);text-decoration:none;position:relative}.proj-card .cs-link:hover{text-underline-offset:3px;text-decoration:underline}.fbtn .fn{font:500 11px var(--f-mono);opacity:.75}.fsel select{border:1px solid var(--line-2);color:var(--ink-2);appearance:none;background:0 0;background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;border-radius:999px;max-width:100%;min-height:40px;padding:6px 30px 6px 14px;font-size:13.5px}.fsel select:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.diagram{color:var(--ink-2)}.diagram rect,.diagram circle,.diagram path,.diagram ellipse{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.diagram .hl{stroke:var(--accent-ink);stroke-width:2px}.diagram .fillhl{fill:var(--accent-soft)}.diagram text{fill:var(--ink);stroke:none;font:500 13px var(--f-mono)}.diagram text.sm{fill:var(--ink-3);font-size:11px}.cs-head{padding-block:18px clamp(20px,3vw,32px)}.cs-head h1{font-size:calc(clamp(32px, 4.6vw, 56px) * var(--head-k));max-width:22ch;margin-top:10px}.cs-meta{color:var(--ink-3);flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:14px;display:flex}.cs-meta b{color:var(--ink-2);font-weight:600}.cs-head .lede{color:var(--ink-2);max-width:62ch;margin-top:14px;font-size:clamp(17px,1.6vw,20px)}.cs-figure{margin:8px 0 0;padding:clamp(18px,3vw,32px)}.cs-figure svg{width:100%;height:auto;max-height:360px;display:block}.cs-figure figcaption{color:var(--ink-3);margin-top:12px;font-size:13px}.cs-body{grid-template-columns:minmax(0,1fr) 260px;gap:clamp(24px,4vw,56px);margin-top:clamp(28px,4vw,48px);display:grid}.cs-body section+section{margin-top:34px}.cs-body h2{font-size:calc(24px * var(--head-k))}.cs-body p{color:var(--ink-2);max-width:68ch;margin-top:12px;font-size:17px}.cs-body ul{color:var(--ink-2);gap:8px;max-width:68ch;margin-top:12px;padding-left:20px;font-size:16.5px;display:grid}.cs-body ul.chips{font-size:inherit;flex-wrap:wrap;gap:6px;padding-left:0;display:flex}.cs-body h2 .dd-n{vertical-align:middle;margin-left:6px}.cs-aside{top:calc(var(--banner-h) + var(--shell-top) + 24px);align-self:start;gap:18px;display:grid;position:sticky}.cs-aside .card{padding:18px}.cs-aside h2{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.cs-aside h2:before{content:none!important}.cs-aside ol{gap:4px;font-size:14px;list-style:none;display:grid}.cs-aside ol a{color:var(--ink-2);text-decoration:none}.cs-aside ol a:hover{color:var(--ink);text-decoration:underline}.cs-pager{gap:var(--gap);grid-template-columns:1fr 1fr;margin-top:clamp(40px,6vw,72px);display:grid}.cs-pager a{gap:4px;padding:18px;text-decoration:none;display:grid}.cs-pager a:hover{border-color:var(--ink-3)}.cs-pager .n{text-align:right}.cs-pager small{color:var(--ink-3);font-size:12.5px}@media (width<=960px){.cs-body{grid-template-columns:1fr}.cs-aside{position:static}}@media (width<=560px){.cs-pager{grid-template-columns:1fr}.cs-pager .n{text-align:left}}.legend{color:var(--ink-2);flex-wrap:wrap;gap:10px 18px;margin-top:22px;font-size:13.5px;display:flex}.lv{align-items:center;gap:8px;display:inline-flex}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.dot.production{background:var(--accent-ink)}.dot.coursework{background:linear-gradient(90deg, var(--accent-ink) 50%, transparent 50%);box-shadow:inset 0 0 0 1.5px var(--accent-ink)}.dot.learning{box-shadow:inset 0 0 0 1.5px var(--accent-ink);background:repeating-linear-gradient(45deg, var(--accent-ink) 0 2px, transparent 2px 4px)}.dot.familiarity{box-shadow:inset 0 0 0 1.5px var(--ink-3)}.core{gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;display:grid}.core .card{padding:var(--pad);min-width:0;height:100%;color:inherit;flex-direction:column;gap:10px;text-decoration:none;display:flex}.core a.card:hover{border-color:var(--ink-3)}.core h3{font-size:calc(20px * var(--head-k))}.core p{color:var(--ink-2);font-size:14.5px}.skill-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.seg{border-radius:calc(var(--r-ctl) + 4px);background:var(--surface-2);border:1px solid var(--line);scrollbar-width:none;gap:2px;max-width:100%;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{z-index:1;border-radius:var(--r-ctl);color:var(--ink-2);white-space:nowrap;background:0 0;border:0;min-height:40px;padding:8px 14px;font-size:13.5px;position:relative}.seg [aria-pressed=true],.seg [aria-checked=true]{color:var(--ink);background:var(--surface-3);box-shadow:0 1px 2px #0003}.sk-group{border-top:1px solid var(--line);grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:18px clamp(24px,3.5vw,48px);padding-top:28px;display:grid}.sk-group+.sk-group{margin-top:36px}.sk-head{top:calc(var(--banner-h) + var(--shell-top) + 24px);align-self:start;position:sticky}.sk-num{font:500 12px var(--f-mono);letter-spacing:.12em;color:var(--accent-ink);display:block}.sk-group h3{font-size:calc(22px * var(--head-k));margin-top:8px}.sk-group .cat-intro{color:var(--ink-2);margin-top:8px;font-size:14.5px}.sk-tally{font:500 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:12px}.sk-body{gap:20px;min-width:0;display:grid}.sk-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;list-style:none;display:grid}.sk{border-radius:calc(var(--r-card) * .7);background:var(--surface-1);border:1px solid var(--line);flex-direction:column;gap:6px;height:100%;padding:14px 16px;display:flex}.sk .top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sk b{font-size:15px;font-weight:600;line-height:1.3}.sk .ev{color:var(--ink-2);font-size:13.5px}.sk .refs{flex-wrap:wrap;gap:4px 12px;margin-top:auto;padding-top:4px;font-size:12.5px;display:flex}.sk .refs a,.sk-rows a{color:var(--accent-ink)}.sk-sub-h{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.sk-rows{border-top:1px solid var(--line);list-style:none}.sk-rows li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,15rem) 7.5rem minmax(0,1fr);align-items:baseline;gap:4px 16px;padding:11px 0;font-size:14px;display:grid}.sk-rows b{align-items:baseline;gap:10px;font-weight:600;display:inline-flex}.sk-rows .dot{transform:translateY(1px)}.sk-rows .lvl{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.sk-rows .ev{color:var(--ink-2);font-size:13.5px}.sk-rows .ev a{white-space:nowrap;margin-left:6px;font-size:12.5px}.skd>summary{cursor:pointer;list-style:none}.skd>summary::-webkit-details-marker{display:none}.skd>summary:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:6px}.sk.skd{height:auto}.sk.skd>summary{flex-direction:column;gap:6px;display:flex}.skd-hint{color:var(--accent-ink);font-size:12.5px}.skd-hint:after{content:" ▾"}.skd[open] .skd-hint:after{content:" ▴"}.sk-rows li.has-skd{padding:0;display:block}.sk-rows .skd>summary{grid-template-columns:minmax(0,15rem) 7.5rem minmax(0,1fr);align-items:baseline;gap:4px 16px;padding:11px 0;display:grid}.sk-rows .skd>summary:hover b{color:var(--accent-ink)}.skd-body{color:var(--ink-2);gap:6px;padding:4px 0 12px;font-size:13px;display:grid}.skd-body b{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-right:8px}.skd-body a{color:var(--accent-ink)}@container (width<=680px){.sk-rows .skd>summary{grid-template-columns:minmax(0,1fr) auto}.sk-rows .skd .ev{grid-column:1/-1}}.direction{padding:var(--pad)}.direction h2{font-size:calc(26px * var(--head-k))}.direction p{color:var(--ink-2);max-width:72ch;margin-top:14px}.how{color:var(--ink-3);gap:6px;max-width:80ch;margin-top:18px;font-size:13.5px;display:grid}.how b{color:var(--ink-2)}@media (width<=1100px){.core{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.sk-group{grid-template-columns:1fr}.sk-head{position:static}.sk-group .cat-intro{max-width:70ch}}.sk-body,.section:has(>.sk-rows){container-type:inline-size}@container (width<=680px){.sk-rows li{grid-template-columns:minmax(0,1fr) auto}.sk-rows .ev{grid-column:1/-1}}@media (width<=560px){.core,.sk-grid{grid-template-columns:1fr}}.edu-cards{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.edu-card{padding:var(--pad);flex-direction:column;gap:8px;height:100%;display:flex}.edu-card h2,.edu-card h3{font-size:calc(21px * var(--head-k))}.edu-card .cred{color:var(--ink);font-weight:600}.edu-card .meta{color:var(--ink-3);font-size:13.5px}.edu-card p{color:var(--ink-2);font-size:14.5px}.status{font:500 10.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px;align-self:flex-start;padding:4px 8px;display:inline-flex}.status.completed{background:var(--surface-3);color:var(--ink);border-color:#0000}.status.in-progress{border-color:var(--accent-ink);color:var(--accent-ink)}.status.goal,.status.planned{border-style:dashed}.course-table{border-collapse:collapse;width:100%;margin-top:16px;font-size:14.5px}.course-table th,.course-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 10px}.course-table th{font:500 10.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.course-table td.code{font-family:var(--f-mono);white-space:nowrap;color:var(--ink-2);font-size:13px}.course-table td.builds{color:var(--ink-2)}.tscroll{overflow-x:auto}.cert-grid{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;list-style:none;display:grid}.cert{padding:var(--pad);align-content:start;gap:8px;display:grid}.cert h3{font-size:calc(19px * var(--head-k))}.cert .cred{color:var(--ink);font-weight:600}.cert .meta{color:var(--ink-3);font-size:13.5px}.cert p{color:var(--ink-2);font-size:14.5px}.cert-grid>li.wide{grid-column:1/-1}.edu-top{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.edu-top .kind{font:500 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.edu-entry .edu-note{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:14.5px;display:flex}.coursework{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:6px 0 4px;display:grid}.coursework h4{margin-bottom:8px}.coursework ul{color:var(--ink-2);gap:6px;padding-left:18px;font-size:14px;display:grid}@media (width<=760px){.coursework{grid-template-columns:1fr}}@media (width<=960px){.edu-cards,.cert-grid{grid-template-columns:1fr}}@media (width<=560px){.course-table thead{display:none}.course-table tr{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;gap:2px 12px;padding:12px 0;display:grid}.course-table td{border:0;padding:0}.course-table td.builds,.course-table td.st{grid-column:1/-1}}.vent-grid{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.venture{padding:var(--pad);flex-direction:column;gap:12px;height:100%;display:flex}.venture h2{font-size:calc(24px * var(--head-k))}.venture .meta{flex-wrap:wrap;gap:6px;display:flex}.venture .one{color:var(--ink);font-size:16px}.venture h3{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}.venture h3:before{content:none!important}.venture ul.b{color:var(--ink-2);gap:6px;padding-left:18px;font-size:14.5px;display:grid}.venture .links{flex-wrap:wrap;gap:8px 16px;margin-top:auto;padding-top:6px;display:flex}@media (width<=860px){.vent-grid{grid-template-columns:1fr}}.contact-grid{gap:var(--gap);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;display:grid}.contact-card{padding:var(--pad);gap:14px;display:grid}.contact-card h2{font-size:calc(22px * var(--head-k))}.profile-list{gap:10px;list-style:none;display:grid}.profile-list a{border:1px solid var(--line);border-radius:var(--r-ctl);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 16px;text-decoration:none;display:flex}.profile-list a:hover{border-color:var(--ink-3)}.profile-list small{color:var(--ink-3);font-family:var(--f-mono);overflow-wrap:anywhere;font-size:12.5px}.form{gap:14px;display:grid}.field{gap:6px;display:grid}.field label{font-size:13.5px;font-weight:500}.field input,.field textarea{border:1px solid var(--line-2);background:var(--surface-2);width:100%;color:var(--ink);border-radius:var(--r-ctl);padding:11px 12px;font-size:15px}.field textarea{resize:vertical;min-height:150px}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.field .hint{color:var(--ink-3);font-size:12.5px}.hp{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.form-status{border-radius:var(--r-ctl);background:var(--surface-2);padding:10px 12px;font-size:14px}.form-status.ok{border-left:3px solid var(--accent-ink)}.form-status.err{border-left:3px solid #d0533b}@media (width<=860px){.contact-grid{grid-template-columns:1fr}}.about-grid{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,56px);display:grid}.about-grid section+section{margin-top:34px}.about-grid h2{font-size:calc(24px * var(--head-k))}.about-grid p{color:var(--ink-2);max-width:66ch;margin-top:12px;font-size:17px}.principles{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;list-style:none;display:grid}.principles li{padding:var(--pad)}.principles h3{font-size:calc(18px * var(--head-k))}.principles p{color:var(--ink-2);margin-top:8px;font-size:14.5px}.focus-list{gap:12px;list-style:none;display:grid}.focus-list li{padding:16px}.focus-list b{font-size:15px;display:block}.focus-list span{color:var(--ink-3);margin-top:4px;font-size:13.5px;display:block}@media (width<=960px){.about-grid{grid-template-columns:1fr}}@media (width<=640px){.principles{grid-template-columns:1fr}}.doc-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:20px;display:flex}.paper-wrap{padding-bottom:72px}.resume{color:#000;font-kerning:none;font-variant-ligatures:none;font-family:Arial,Liberation Sans,Helvetica,sans-serif;font-size:var(--r-fs);line-height:var(--r-lh);max-width:8.5in;padding:var(--r-my) var(--r-mx);background:#fff;border-radius:6px;margin:0 auto;box-shadow:0 30px 80px -40px #0000008c}.resume *{color:#000;text-wrap:wrap;margin:0}.resume a{color:#000;text-decoration:none}.resume a:hover{text-decoration:underline}.resume b{font-weight:700}.resume h2{font-family:inherit;font-size:var(--r-h);line-height:var(--r-lh);letter-spacing:.06em;text-transform:uppercase;color:#000;padding:0 0 var(--r-ha);margin-top:var(--r-hb);border:0;font-weight:700}.resume h2:before{content:none!important}.resume .r-head{justify-content:space-between;align-items:flex-start;gap:6px 18px;display:flex}.resume .r-name{font-size:var(--r-name);line-height:var(--r-hlh);letter-spacing:0;text-transform:none;white-space:nowrap;flex:none;margin:0;padding:0;font-weight:700}.resume .r-id{text-align:right;flex-direction:column;align-items:flex-end;min-width:0;display:flex}.resume .r-sub{font-size:var(--r-role);line-height:var(--r-hlh);font-weight:700}.resume .r-contact{font-size:var(--r-link);line-height:var(--r-hlh)}.resume .r-contact>span{display:block}.resume .r-list{padding:0 0 0 var(--r-ind);list-style:outside}.resume .r-list>li{padding-bottom:var(--r-li)}.resume .r-list>li,.resume .r-where,.resume .r-desc,.resume .r-skills>p{padding-right:var(--r-fit)}.resume .r-job+.r-job{margin-top:var(--r-job)}.resume .r-line{justify-content:space-between;align-items:last baseline;gap:2px calc(1em + var(--r-fit));display:flex}.resume .r-what{min-width:0}.resume .r-date{white-space:nowrap;flex:none}.resume .r-where{font-size:var(--r-meta);padding-bottom:var(--r-where)}.resume .r-edu+.r-edu{margin-top:var(--r-edu)}.resume .r-desc{padding-top:2pt}.resume .r-skills>p{padding-bottom:var(--r-sk)}@media (width<=640px){.resume{padding:24px 20px}.resume .r-name{white-space:normal}.resume .r-head{flex-direction:column}.resume .r-id{text-align:left;align-items:flex-start}.resume .r-line{flex-wrap:wrap}}.resume-switch{margin-bottom:18px}.nf{align-content:center;gap:14px;min-height:60vh;padding-block:64px;display:grid}.nf h1{font-size:calc(clamp(40px, 7vw, 80px) * var(--head-k))}.nf p{color:var(--ink-2);max-width:52ch}.sub-h{font-size:calc(18px * var(--head-k))}.course-table td b{font-weight:600}.stack{gap:var(--gap);display:grid}.email-chip.big{padding:14px 16px;font-size:15px}.contact-grid>.dev-form-note{grid-column:2;align-self:start}.ts{min-height:0}@media (width<=860px){.contact-grid>.dev-form-note{grid-column:1}}.doc-title{font-size:calc(clamp(24px, 3vw, 34px) * var(--head-k));margin-top:6px}.doc-foot{padding-bottom:48px}.contact-grid:has(>#contact-form-card[hidden])>.stack{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.contact-grid:has(>#contact-form-card[hidden])>.dev-form-note{grid-column:1/-1}@media (width<=860px){.contact-grid:has(>#contact-form-card[hidden])>.stack{grid-template-columns:1fr}}@media (width<=640px){.role-head .where{grid-column:1/-1}}
