html:has(.resume){min-height:100%;background:#fff!important;height:auto!important;overflow:auto!important}body:has(.resume){min-height:100%;background:#fff!important;height:auto!important;overflow:auto!important}body:has(.resume){overflow:visible!important}.resume{min-height:100vh;color:#000;min-height:100dvh;font-family:var(--font-body);background:#fff;overflow:visible}html:has(.resume){scroll-behavior:auto}.resume a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}.resume a:hover{opacity:.55}.resume a:focus-visible{opacity:.55}.resume-brand,.resume-brand:hover{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 50%,transparent);font:inherit;letter-spacing:inherit;text-align:inherit;cursor:pointer;opacity:1;color:inherit;background:0 0;margin:0;padding:0;text-decoration:none;display:inline}.resume-brand:focus-visible{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 50%,transparent);font:inherit;letter-spacing:inherit;text-align:inherit;cursor:pointer;opacity:1;color:inherit;background:0 0;margin:0;padding:0;text-decoration:none;display:inline}.resume-brand--phont{color:#d2beff}.resume-brand--sunday{color:#08846c}.resume-brand--psn{color:#bfe36a}.resume-brand:hover{border-bottom-color:currentColor}.resume-brand:focus-visible{border-bottom-color:currentColor}.resume-back{letter-spacing:.16em;text-transform:uppercase;color:rgba(0,0,0,.45);margin-bottom:1.25rem;font-size:.7rem;text-decoration:none;display:inline-block}.resume-sheet{width:min(44rem,100% - 2.5rem);margin:0 auto;padding:max(1.25rem,min(3.5vh,2rem)) 0 max(4rem,min(10vh,6rem))}.resume-mast{border-bottom:1px solid rgba(0,0,0,.12);flex-direction:row;justify-content:space-between;align-items:center;column-gap:.75rem;width:100%;margin-bottom:max(1.75rem,min(4vh,2.5rem));padding-bottom:max(1.35rem,min(3.5vh,2rem));display:flex;overflow:visible}.resume-mast-copy{flex:auto;min-width:0}.resume-mark{flex:none;justify-content:center;align-self:center;align-items:center;width:auto;height:auto;display:flex;overflow:visible}.resume-name{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:max(2.1rem,min(5.5vw,3.15rem));font-weight:400;line-height:1}.resume-role{letter-spacing:.01em;color:rgba(0,0,0,.78);text-transform:none;margin:.7rem 0 .45rem;font-size:max(.92rem,min(1.5vw,1.02rem));line-height:1.35}.resume-meta{letter-spacing:.01em;color:rgba(0,0,0,.55);margin:0;font-size:.82rem;line-height:1.55}.resume-meta a{color:rgba(0,0,0,.72);border-bottom:1px solid rgba(0,0,0,.22);text-decoration:none}.resume-block{margin-bottom:max(1.6rem,min(3.5vh,2.25rem))}.resume-block+.resume-block{padding-top:.15rem}.resume-label{letter-spacing:.24em;text-transform:uppercase;color:rgba(0,0,0,.42);margin:0 0 .9rem;font-size:.62rem}.resume-body{max-width:40rem;margin:0;font-size:max(.92rem,min(1.5vw,1rem));line-height:1.55}.resume-outbound{--ex-cue-gap:.65rem;width:max-content;margin:0}.resume-outbound.ex-nav ul{flex-direction:column;align-items:flex-start}.resume-outbound a,.resume-outbound a:hover{opacity:1;text-decoration:none}.resume-outbound a:focus-visible{opacity:1;text-decoration:none}.resume-outbound .ex-hero-guide{color:#000}.resume-outbound .ex-hero-guide-rule{background:#000}.resume-body+.resume-body{margin-top:1.15em}.resume-body+.resume-job{margin-top:1.35rem}.resume-job .resume-body{margin-top:.35rem}.resume-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.resume-list li{color:rgba(0,0,0,.88);padding-left:.85rem;font-size:max(.88rem,min(1.4vw,.95rem));line-height:1.45;position:relative}.resume-list li:before{content:"";opacity:.55;background:currentColor;width:.3rem;height:1px;position:absolute;top:.62em;left:0}.resume-job{margin-bottom:1.5rem;scroll-margin-top:4.5rem}.resume-job:last-child{margin-bottom:0}.resume-job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1.25rem;margin-bottom:.15rem;display:flex}.resume-job-title{letter-spacing:.005em;margin:0;font-size:max(.98rem,min(1.6vw,1.08rem));font-weight:400}.resume-job-title a{border-bottom:1px solid transparent;text-decoration:none}.resume-job-title a:hover{opacity:1;border-bottom-color:rgba(0,0,0,.35)}.resume-job-title a:focus-visible{opacity:1;border-bottom-color:rgba(0,0,0,.35)}.resume-job-when{letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.42);font-size:.68rem}.resume-job-link{letter-spacing:.14em;text-transform:uppercase;color:rgba(0,0,0,.55);border-bottom:1px solid rgba(0,0,0,.28);font-size:.68rem;text-decoration:none}.resume-job-link:hover{color:rgba(0,0,0,.88);border-bottom-color:rgba(0,0,0,.55)}.resume-job-link:focus-visible{color:rgba(0,0,0,.88);border-bottom-color:rgba(0,0,0,.55)}.resume-job-logo{opacity:.72;flex:none;align-items:center;max-width:min(28vw,6.5rem);transition:opacity .16s;display:inline-flex}.resume-job-logo:hover{opacity:1;outline:none}.resume-job-logo:focus-visible{opacity:1;outline:none}.resume-job-logo img{object-fit:contain;object-position:right center;width:auto;max-width:100%;height:.85rem;display:block}.resume-job-logo.is-psn img{height:.95rem}.resume-job-logo.is-phont img{height:.65rem}.resume-job-logo.is-sunday img{height:.8rem}@media (max-width:640px){.resume-job-logo{max-width:min(34vw,5.25rem)}.resume-job-logo img{height:.72rem}.resume-job-logo.is-psn img{height:.8rem}.resume-job-logo.is-phont img{height:.55rem}.resume-job-logo.is-sunday img{height:.68rem}}.resume-job-org{color:rgba(0,0,0,.55);margin:0 0 .7rem;font-size:.86rem}.resume-certs{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.resume-cert-title{margin-bottom:.15rem;font-size:max(.95rem,min(1.5vw,1.02rem));display:block}.resume-cert-meta{color:rgba(0,0,0,.55);font-size:.82rem;display:block}.resume-cert-id{color:rgba(0,0,0,.38);font-variant-numeric:tabular-nums}.resume-skills{flex-direction:column;gap:.75rem;margin:0;display:flex}.resume-skills>div{grid-template-columns:7.5rem 1fr;align-items:baseline;gap:.75rem 1.25rem;display:grid}.resume-skills dt{letter-spacing:.2em;text-transform:uppercase;color:rgba(0,0,0,.42);margin:0;font-size:.62rem}.resume-skills dd{color:rgba(0,0,0,.88);margin:0;font-size:max(.88rem,min(1.4vw,.95rem));line-height:1.45}@media (max-width:640px){.resume-skills>div{grid-template-columns:1fr;gap:.25rem}}.letter-header{text-align:center;border-bottom:1px solid #000;margin-bottom:1.15rem;padding-bottom:.85rem}.letter-name{font-family:var(--font-body);letter-spacing:-.01em;margin:0;font-size:max(1.55rem,min(3.2vw,1.85rem));font-weight:700;line-height:1.15}.letter-contact{color:rgba(0,0,0,.78);margin:.45rem 0 0;font-size:.78rem;line-height:1.45}.letter-contact a{text-underline-offset:.12em;text-decoration:underline}.letter-date,.letter-recipient,.letter-re,.letter-body,.letter-close{color:rgba(0,0,0,.92);max-width:40rem;margin:0;font-size:max(.9rem,min(1.45vw,.98rem));font-style:normal;line-height:1.5}.letter-date{margin-top:.15rem;margin-bottom:.85rem}.letter-recipient{margin-bottom:.85rem;font-style:normal;display:block}.letter-re{margin-bottom:.85rem}.letter-body+.letter-body{margin-top:.9em}.letter-close{margin-top:1.15em}@media print{.resume{background:#fff;min-height:auto;overflow:visible}.resume-back{display:none}.resume-sheet{width:100%;max-width:none;padding:.45in .55in}.resume-sheet--letter{padding:.15in .2in .1in}.resume-sheet--letter .letter-name{font-size:1.65rem}.resume-sheet--letter .letter-body,.resume-sheet--letter .letter-date,.resume-sheet--letter .letter-recipient,.resume-sheet--letter .letter-re,.resume-sheet--letter .letter-close,.resume-sheet--letter .letter-contact{font-size:.92rem;line-height:1.42}.resume-sheet--letter .letter-body+.letter-body{margin-top:.75em}.resume a{border-bottom:none;text-decoration:none}.resume-cert-id{color:rgba(0,0,0,.55)}}
