.rc .rhead{padding:calc(62px + clamp(46px,7vh,86px)) 0 clamp(30px,4vh,52px)}.rc .rhead h1{font-size:clamp(2.6rem,7vw,5.4rem);line-height:.88;letter-spacing:-.045em;font-variation-settings:"wdth" 110,"wght" 800}.rc .rhead .sub{margin-top:18px;font-size:clamp(1.02rem,1.5vw,1.34rem);max-width:44ch;line-height:1.34;letter-spacing:-.018em;font-weight:500}.rc .rhead .sub b{color:var(--cy);font-weight:700}.rc .rmeta{display:flex;flex-wrap:wrap;align-items:center;gap:0 26px;margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.rc .rmeta a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px;transition:color .3s var(--e),border-color .3s var(--e)}.rc .rmeta a:hover{color:var(--mag);text-decoration-color:var(--mag)}.rc .rmeta a.print-only{display:none}.rc .chart{padding:0 0 clamp(40px,6vh,72px)}.rc .chartwrap{overflow-x:auto;overscroll-behavior-x:contain}.rc .chart svg{width:100%;height:auto;display:block;overflow:visible}.rc .chartwrap svg{min-width:720px}.rc .gridline{stroke:var(--line);stroke-width:1}.rc .gridlabel{font-family:var(--mono);font-size:10px;letter-spacing:.12em;fill:var(--ink-3)}.rc .groupband{fill:#c4145f0b;stroke:#c4145f47;stroke-width:1;stroke-dasharray:4 4}.rc .groupbrace{fill:none;stroke:#c4145f73;stroke-width:1.5}.rc .grouplabel{font-family:var(--mono);font-size:9px;letter-spacing:.18em;fill:var(--mag)}.rc .span{cursor:pointer}.rc .span rect.bar{transition:opacity .3s var(--e)}.rc .span:hover rect.bar,.rc .span:focus-visible rect.bar{opacity:1}.rc .span text.co{font-family:Archivo,sans-serif;font-size:12.5px;font-weight:700;fill:var(--ink);font-variation-settings:"wdth" 104}.rc .span text.ti{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;fill:var(--ink-3)}.rc .span:hover text.ti{fill:var(--ink-2)}.rc .nowline{stroke:var(--mag);stroke-width:1.5;stroke-dasharray:4 4}.rc .nowlabel{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;fill:var(--mag)}.rc .charthint{margin-top:10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.rc .mobile-career{display:none}.rc .roles{border-top:1px solid var(--line)}.rc .role-entry{padding:30px 0;border-bottom:1px solid var(--line);position:relative;transition:background .5s var(--e)}.rc .role-entry:before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--mag);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e)}.rc .role-entry.lit:before,.rc .role-entry:hover:before{transform:scaleX(1)}.rc .role-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:8px clamp(20px,4vw,56px);align-items:baseline;margin-bottom:16px}.rc .role-entry h3{font-size:clamp(1.35rem,2.3vw,1.85rem);letter-spacing:-.03em;font-variation-settings:"wdth" 106,"wght" 780}.rc .role-entry .ttl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cy);margin-top:5px}.rc .role-entry .when{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:right;line-height:1.9}.rc .role-entry ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.rc .role-entry li{display:flex;gap:13px;color:var(--ink-2);font-size:.95rem;line-height:1.6;max-width:78ch}.rc .role-entry li:before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--line-2);margin-top:9px}.rc .role-entry.now li:before{background:var(--mag)}.rc .alsoheld{margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-3)}.rc .alsoheld b{color:var(--ink-2);font-weight:500}.rc .skills{padding:clamp(52px,8vh,92px) 0 0}.rc .tier{margin-top:24px}.rc .tier h3{margin:0 0 12px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:400}.rc .tags{display:flex;flex-wrap:wrap;gap:7px}.rc .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;padding:7px 11px;border:1px solid var(--line);color:var(--ink-2);transition:.25s var(--e)}.rc .tier.e .tag{border-color:var(--mag);color:var(--ink)}.rc .tier.p .tag{border-color:var(--cy)}.rc .certs{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-width:860px}.rc .certs li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 24px;min-height:44px;padding:6px 0;border-bottom:1px solid var(--line)}.rc .cert-name{font-size:.95rem;font-weight:700;color:var(--ink)}.rc .cert-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-3)}.rc .certs a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mag);text-decoration:underline;text-underline-offset:4px}.rc .cert-print{display:none}.rc .tag:hover{background:var(--paper-2)}.rc .rfoot{margin-top:clamp(56px,8vh,96px);padding:clamp(40px,6vh,72px) 0;background:var(--night);color:var(--n-ink)}.rc .rfoot h2{color:var(--n-ink);max-width:18ch}.rc .rfoot .rows{margin-top:28px;border-top:1px solid var(--n-line)}@media (max-width:560px){.rc .certs li{grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.rc .cert-meta{grid-row:2;grid-column:1}.rc .certs a{grid-row:1/3;grid-column:2}}@media (max-width:820px){.rc .role-top{grid-template-columns:1fr}.rc .role-entry .when{text-align:left}}@media (max-width:700px){.resume-page .chartwrap,.resume-page .charthint{display:none}.resume-page .mobile-career{display:grid;border-top:1px solid var(--line)}.resume-page .mobile-career a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.resume-page .mobile-career span{display:grid;gap:3px;font-size:.88rem;color:var(--ink-2)}.resume-page .mobile-career b{font-size:1rem;color:var(--ink)}.resume-page .mobile-career time{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:right}}@media print{@page{size:letter;margin:.4in .5in}html:has(.rc),html:has(.rc) body{background:#fff!important;scroll-behavior:auto}.resume-page{background:#fff!important;color:#14141c;overflow:visible}.resume-page>nav,.resume-page>.skip-link,.resume-page>footer,.resume-page .chart,.resume-page .rfoot{display:none!important}.resume-page .wrap{max-width:none;padding:0}.resume-page .rhead{padding:0 0 10px;border-bottom:2px solid #c4145f}.resume-page .rhead h1{font-size:28pt;line-height:1;letter-spacing:-.035em}.resume-page .rhead .sub{margin-top:6px;max-width:none;font-size:11pt;line-height:1.3}.resume-page .rmeta{margin-top:6px;gap:0 14px;font-size:8pt}.resume-page .rmeta a{min-height:0;text-decoration:none}.resume-page .rmeta a[href$=".pdf"]{display:none}.resume-page .rmeta a.print-only{display:inline-flex}.resume-page .roles{border-top:0}.resume-page .role-entry{padding:6px 0;break-inside:auto}.resume-page .role-entry:before{display:none}.resume-page .role-top{grid-template-columns:1fr auto;gap:16px;margin-bottom:4px;break-inside:avoid;break-after:avoid}.resume-page .role-entry h3{font-size:13.5pt;line-height:1.05}.resume-page .role-entry .ttl{font-size:8pt;margin-top:2px}.resume-page .role-entry .when{font-size:8pt;line-height:1.35}.resume-page .role-entry ul{gap:1px}.resume-page .role-entry li{gap:7px;max-width:none;font-size:10pt;line-height:1.2;break-inside:avoid}.resume-page .role-entry li:before{width:3px;height:3px;margin-top:.55em}.resume-page .alsoheld{margin-top:4px;font-size:8pt}.resume-page .skills{padding:10px 0 0;break-inside:avoid}.resume-page .skills h2{font-size:14pt;break-after:avoid}.resume-page .tier{display:grid;grid-template-columns:1.9in minmax(0,1fr);gap:10px;margin-top:5px;break-inside:avoid}.resume-page .tier h3{margin:0;padding-top:2px;font-size:7.5pt;letter-spacing:.1em;white-space:nowrap}.resume-page .tags{display:block;font-size:9.5pt;line-height:1.3}.resume-page .tag,.resume-page .tier.e .tag,.resume-page .tier.p .tag{display:inline;padding:0;border:0;font-family:var(--display);font-size:9.5pt;letter-spacing:0;color:#14141c}.resume-page .tag+.tag:before{content:" · ";color:#5f5f75}.resume-page .certs{border-top:0}.resume-page .certs li{display:block;min-height:0;padding:0;border:0;font-size:9.5pt;line-height:1.3}.resume-page .certs li>:not(.cert-print){display:none}.resume-page .cert-print{display:inline}}
