.loader{position:fixed;inset:0;z-index:99999;background:var(--color-void);display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}.loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-mark{width:150px;height:110px}.loader-mark svg{width:100%;height:100%;overflow:visible}.loader-mark .vl{stroke:#ededed;stroke-width:83;fill:none;clip-path:polygon(0 0,38% 0,38% 65%,0 65%);animation:cL 3.6s cubic-bezier(.19,1,.22,1) infinite}.loader-mark .vr{stroke:#ededed;stroke-width:83;fill:none;clip-path:polygon(62% 0,100% 0,100% 65%,62% 65%);animation:cR 3.6s cubic-bezier(.19,1,.22,1) infinite}.loader-mark .vb{stroke:#ededed;stroke-width:83;fill:none;clip-path:polygon(0 30%,100% 30%,100% 100%,0 100%);animation:cB 3.6s cubic-bezier(.19,1,.22,1) infinite}.loader-mark .tube{stroke:#ededed;stroke-width:83;fill:none;animation:tubeFlicker 3.6s step-end infinite}.loader-mark .tube-bloom{stroke:#ededed;stroke-width:83;fill:none;filter:blur(14px);animation:tubeBloom 3.6s ease infinite}.loader-mark .dot{fill:#e11d48;transform-origin:308px 389px;animation:comboDot 3.6s cubic-bezier(.2,0,0,1) infinite}.loader-mark .glow{fill:#e11d48;filter:blur(22px);transform-origin:308px 389px;animation:comboGlow 3.6s ease infinite}@keyframes cL{0%{transform:translate(-90px);opacity:0}4%{opacity:.15}14%{transform:translate(0);opacity:.15}15%{transform:translate(1.5px)}16%{transform:translate(0)}25%{transform:translate(0);opacity:.15}26%{opacity:0}72%{transform:translate(0);opacity:.15}86%{transform:translate(-90px);opacity:0}to{transform:translate(-90px);opacity:0}}@keyframes cR{0%{transform:translate(90px);opacity:0}2%{opacity:0}6%{opacity:.15}16%{transform:translate(0);opacity:.15}17%{transform:translate(-1.5px)}18%{transform:translate(0)}25%{transform:translate(0);opacity:.15}26%{opacity:0}72%{transform:translate(0);opacity:.15}83%{transform:translate(90px);opacity:0}to{transform:translate(90px);opacity:0}}@keyframes cB{0%{transform:translateY(55px);opacity:0}6%{opacity:0}10%{opacity:.15}20%{transform:translateY(0);opacity:.15}21%{transform:translateY(-1.5px)}22%{transform:translateY(0)}25%{transform:translateY(0);opacity:.15}26%{opacity:0}72%{transform:translateY(0);opacity:.15}80%{transform:translateY(55px);opacity:0}to{transform:translateY(55px);opacity:0}}@keyframes tubeFlicker{0%{opacity:0}25%{opacity:0}27%{opacity:.12}28%{opacity:0}29.5%{opacity:.22}30.5%{opacity:.03}32%{opacity:.4}33.5%{opacity:.06}35%{opacity:.55}36%{opacity:.12}38%{opacity:1}60%{opacity:1}61.5%{opacity:.25}62.5%{opacity:.85}64%{opacity:.1}65%{opacity:.6}66.5%{opacity:.04}67.5%{opacity:.35}69%{opacity:0}to{opacity:0}}@keyframes tubeBloom{0%{opacity:0}37%{opacity:0}39%{opacity:.2}44%{opacity:.06}60%{opacity:.06}62%{opacity:0}to{opacity:0}}@keyframes comboDot{0%{opacity:0;transform:scale(0)}36%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.1)}43%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1)}65%{opacity:.5;transform:scale(.95)}70%{opacity:0;transform:scale(.8)}to{opacity:0;transform:scale(0)}}@keyframes comboGlow{0%{opacity:0;transform:scale(0)}39%{opacity:0;transform:scale(0)}41%{opacity:.55;transform:scale(1.5)}45%{opacity:.3;transform:scale(1.3)}60%{opacity:.3;transform:scale(1.3)}67%{opacity:.1;transform:scale(.8)}72%{opacity:0;transform:scale(0)}to{opacity:0;transform:scale(0)}}body:not(.loaded){overflow:hidden}.custom-cursor{position:fixed;top:0;left:0;z-index:99998;pointer-events:none;will-change:transform}.cursor-ring{width:44px;height:44px;border:1.5px solid var(--color-dark-25);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}.cursor-dot{width:6px;height:6px;background:var(--color-void);border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor.hover .cursor-ring{width:72px;height:72px;border-color:var(--color-void);background:var(--color-dark-08)}body.cursor-active,body.cursor-active a,body.cursor-active button,body.cursor-active input{cursor:none}a:focus-visible,button:focus-visible{outline:2px solid var(--color-rose);outline-offset:3px}@media(pointer:coarse){.custom-cursor{display:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:32px 64px 0}.nav-logo{display:inline-flex;align-items:center;opacity:.8;transition:opacity .2s ease-out}.nav-logo:hover{opacity:1}.nav-logo svg path{fill:var(--color-dark-65)}.nav-logo svg circle{fill:var(--color-rose)}.nav-right{display:flex;align-items:center;gap:32px}.nav-right a{font-family:var(--font-heading);font-size:16px;font-weight:400;color:var(--color-dark-65);text-decoration:none;transition:color .3s;position:relative}.nav-right a:not(.nav-resume):after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--color-rose);transition:width .3s cubic-bezier(.16,1,.3,1)}.nav-right a:not(.nav-resume):hover:after{width:100%}.nav-right a:not(.nav-resume):hover{color:var(--color-rose)}.nav-resume{border:1px solid var(--color-dark-25);color:var(--color-dark-65);padding:10px 15px;border-radius:.5em;font-weight:500;display:inline-flex;align-items:center;gap:12px;line-height:1;transition:border-color .2s,color .2s;background:transparent}.nav-resume:hover{border-color:var(--color-rose);color:var(--color-rose)}.nav-active{color:var(--color-void)!important;font-weight:500!important}.nav-active:after{width:100%!important}.res-page{max-width:820px;margin:0 auto;padding:140px 40px 80px;background:var(--color-white);min-height:100vh}.res-page~.res-footer{background:var(--color-white)}.res-header{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--color-dark-12)}.res-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:6px}.res-name{font-family:var(--font-display);font-size:36px;font-weight:400;color:var(--color-void);text-transform:uppercase;line-height:1.1}.res-title{font-family:var(--font-heading);font-size:14px;font-weight:500;color:var(--color-rose);letter-spacing:.02em;margin-top:6px}.res-print{font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--color-dark-50);background:transparent;border:1px solid var(--color-dark-12);padding:10px 18px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:color .2s,border-color .2s}.res-print:hover{color:var(--color-rose);border-color:var(--color-rose)}.res-contact{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px}.res-contact a,.res-contact span{font-family:var(--font-heading);font-size:14px;font-weight:400;color:var(--color-dark-65);text-decoration:none;transition:color .2s}.res-contact a:hover{color:var(--color-rose)}.res-contact .sep{color:var(--color-dark-25)}.res-summary{font-family:var(--font-body);font-size:15px;font-weight:400;color:var(--color-dark-80);line-height:1.7;max-width:700px;margin-top:16px}.res-section{margin-top:40px}.res-section-title{font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-rose);margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--color-dark-08)}.res-entry{margin-bottom:32px}.res-entry:last-child{margin-bottom:0}.res-entry-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:2px}.res-company{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-void)}.res-role{font-family:var(--font-heading);font-size:14px;font-weight:500;color:var(--color-dark-65)}.res-meta{font-family:var(--font-heading);font-size:14px;font-weight:400;color:var(--color-dark-50);flex-shrink:0}.res-desc{font-family:var(--font-body);font-size:14px;font-weight:400;font-style:italic;color:var(--color-dark-65);margin-top:4px;margin-bottom:10px}.res-entry ul{list-style:none;padding:0}.res-entry li{font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--color-dark-80);line-height:1.7;padding-left:14px;position:relative;margin-bottom:5px}.res-entry li:before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:var(--color-rose-50)}.res-consult{margin-bottom:16px}.res-consult:last-child{margin-bottom:0}.res-consult-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.res-consult-name{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-void)}.res-consult-meta{font-family:var(--font-heading);font-size:14px;font-weight:400;color:var(--color-dark-50)}.res-consult-desc{font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--color-dark-80);line-height:1.7;margin-top:3px}.res-expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}.res-expertise-cat{font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--color-void);margin-bottom:4px}.res-expertise-items{font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--color-dark-65);line-height:1.7}.res-edu-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.res-edu-school{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-void)}.res-edu-degree{font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--color-dark-65);margin-top:2px}.res-edu-year{font-family:var(--font-heading);font-size:14px;font-weight:400;color:var(--color-dark-50)}.res-footer{background:var(--color-white);padding:56px 64px;border-top:1px solid var(--color-dark-08)}.res-footer-inner{max-width:820px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.res-footer-left{display:flex;align-items:center;gap:28px}.res-footer-email{font-family:var(--font-heading);font-size:16px;font-weight:600;color:var(--color-rose);text-decoration:none;cursor:pointer;border-bottom:1px solid rgba(225,29,72,.3);transition:border-color .2s ease-out}.res-footer-email:hover{border-color:var(--color-rose)}.res-footer-social{font-family:var(--font-heading);font-size:15px;font-weight:600;color:var(--color-dark-65);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid transparent;transition:color .2s ease-out,border-color .2s ease-out}.res-footer-social:hover{color:var(--color-rose);border-color:var(--color-rose)}.res-footer-right{display:flex;align-items:center;gap:24px}.res-footer-loc{font-family:var(--font-heading);font-size:15px;font-weight:500;color:var(--color-dark-65)}.res-footer-copy{font-family:var(--font-heading);font-size:14px;font-weight:500;color:var(--color-dark-50)}@media(max-width:640px){.nav{padding:24px 24px 0}.nav-right{gap:24px}.res-page{padding:120px 24px 60px}.res-name{font-size:28px}.res-header-top{flex-direction:column;gap:8px}.res-entry-header,.res-consult-header{flex-direction:column;gap:2px}.res-expertise-grid{grid-template-columns:1fr}.res-edu-row{flex-direction:column;gap:2px}.res-footer{padding:40px 24px}.res-footer-inner{flex-direction:column;gap:20px;text-align:center}.res-footer-left,.res-footer-right{flex-direction:column;gap:12px}}@media print{.loader,.custom-cursor,.nav,.res-print,.res-footer{display:none!important}body:after{display:none!important}html,body,*{background-color:#fff!important}.res-header,.res-section-title{border-color:#e0e0e0!important}.res-page{max-width:none;padding:0;margin:0}.res-name{color:#1a1a1a;font-size:28px}.res-title{color:#c04530;font-size:12px}.res-contact a,.res-contact span{color:#444;font-size:11px}.res-summary{color:#444;font-size:12px}.res-section{margin-top:22px}.res-section-title{color:#c04530;font-size:10px;margin-bottom:12px;padding-bottom:5px;border-color:#e0e0e0}.res-entry{margin-bottom:18px}.res-company{color:#1a1a1a;font-size:14px}.res-role{color:#444;font-size:11.5px}.res-meta{color:#777;font-size:10.5px}.res-desc{color:#444;font-size:11.5px}.res-entry li{color:#444;font-size:11.5px;line-height:1.5;margin-bottom:2px}.res-entry li:before{background:#999;width:3px;height:3px;top:7px}.res-header{border-color:#e0e0e0;margin-bottom:20px;padding-bottom:16px}.res-consult-name{color:#1a1a1a;font-size:12.5px}.res-consult-meta{color:#777;font-size:10px}.res-consult-desc{color:#444;font-size:11px}.res-expertise-cat{color:#1a1a1a;font-size:10.5px}.res-expertise-items{color:#444;font-size:11px}.res-edu-school{color:#1a1a1a;font-size:12.5px}.res-edu-degree{color:#444;font-size:11px}.res-edu-year{color:#777;font-size:10.5px}.res-entry,.res-consult{break-inside:avoid}}@page{margin:.5in .6in;size:letter}
