.web-resume{padding:50px 0 30px}.cv-hero{grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);align-items:center;gap:clamp(35px,7vw,110px);padding-bottom:60px;display:grid}.cv-intro h1{letter-spacing:-.055em;margin:25px 0 22px;font-size:clamp(44px,5.4vw,74px);font-weight:550;line-height:1.05}.cv-intro h1 em{color:var(--color-stamp);font-weight:400}.cv-positioning{letter-spacing:-.025em;font-size:clamp(18px,2vw,24px);line-height:1.45}.cv-summary{max-width:60ch;color:var(--color-muted);margin-top:18px;font-size:15px;line-height:1.85}.cv-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px;display:flex}.cv-profile{border:1px solid var(--color-rule);background:var(--surface);border-radius:16px;padding:28px}.cv-profile dl{margin-top:22px}.cv-profile dl>div{border-top:1px solid var(--color-rule);padding:15px 0}.cv-profile dt{color:var(--color-muted);margin-bottom:5px;font-size:11px}.cv-profile dd{font-size:15px;line-height:1.55}.cv-profile dd span{color:var(--color-muted);font-size:12px}.cv-email{overflow-wrap:anywhere;border-top:1px solid var(--color-rule);color:var(--color-stamp);justify-content:space-between;gap:10px;margin-top:4px;padding-top:20px;font-size:14px;display:flex}.cv-social{color:var(--color-muted);gap:22px;margin-top:17px;font-size:12px;display:flex}.cv-layout{border-top:1px solid var(--color-rule);grid-template-columns:190px minmax(0,1fr);gap:clamp(30px,6vw,90px);display:grid}.cv-sidebar nav{padding-top:38px;position:sticky;top:100px}.cv-sidebar nav>p{margin-bottom:20px}.cv-sidebar a{color:var(--color-muted);gap:14px;padding:12px 0;font-size:12px;display:flex}.cv-sidebar a span{font:9px/1.8 var(--font-mono);opacity:.7}.cv-sidebar a:hover,.cv-social a:hover{color:var(--color-stamp)}.cv-body{min-width:0}.cv-section{border-bottom:1px solid var(--color-rule);padding:38px 0 42px;scroll-margin-top:90px}.cv-section-heading{margin-bottom:26px}.cv-section-heading .eyebrow{color:var(--color-stamp);font-size:10px}.cv-section-heading h2{letter-spacing:-.04em;margin-top:8px;font-size:clamp(25px,2.7vw,34px);font-weight:500;line-height:1.2}.cv-section-heading>p:last-child:not(.eyebrow){color:var(--color-muted);max-width:62ch;margin-top:10px;font-size:13px;line-height:1.7}.cv-capabilities{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}.cv-capabilities>div{border-top:1px solid var(--color-rule);margin-bottom:15px;padding:22px 0 8px}.cv-step{font:10px var(--font-mono);color:var(--color-stamp)}.cv-capabilities h3{letter-spacing:-.025em;margin:10px 0;font-size:19px;font-weight:500}.cv-capabilities p{color:var(--color-muted);font-size:13px;line-height:1.8}.cv-role+.cv-role{border-top:1px solid var(--color-rule);margin-top:32px;padding-top:30px}.cv-role-heading{flex-wrap:wrap;justify-content:space-between;gap:14px 25px;display:flex}.cv-employer{color:var(--color-stamp);margin-bottom:7px;font-size:12px}.cv-role-heading h3{letter-spacing:-.035em;font-size:23px;font-weight:500}.cv-role-dates{color:var(--color-muted);font-size:11px;line-height:1.8}.cv-role-summary{max-width:64ch;margin:18px 0;font-size:15px;line-height:1.7}.cv-role ul{padding-left:18px;list-style:outside}.cv-role li{color:var(--color-muted);margin-top:9px;padding-left:5px;font-size:13px;line-height:1.85}.cv-role li::marker{color:var(--color-stamp)}.cv-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cv-project{border:1px solid var(--color-rule);border-radius:10px;flex-direction:column;padding:23px;display:flex}.cv-project:hover{border-color:var(--color-stamp);background:var(--surface)}.cv-project-context{color:var(--color-muted);font-size:10px}.cv-project h3{letter-spacing:-.035em;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;font-size:24px;font-weight:500;display:flex}.cv-project h3 span{color:var(--color-stamp);font-size:19px}.cv-project>p:not(.cv-project-context){color:var(--color-muted);margin-bottom:20px;font-size:13px;line-height:1.8}.cv-project-link{color:var(--color-stamp);margin-top:auto;font-size:11px}.cv-skills>div{border-top:1px solid var(--color-rule);grid-template-columns:170px minmax(0,1fr);gap:22px;padding:17px 0;font-size:13px;line-height:1.75;display:grid}.cv-skills dt{font-weight:500}.cv-skills dd{color:var(--color-muted)}.cv-skill-note{color:var(--color-muted);border-left:2px solid var(--color-rule);margin-top:18px;padding-left:14px;font-size:11px;line-height:1.8}.cv-education>div{border-top:1px solid var(--color-rule);flex-wrap:wrap;justify-content:space-between;gap:12px 25px;padding:19px 0;display:flex}.cv-education h3{font-size:16px;font-weight:500}.cv-education p{color:var(--color-muted);margin-top:6px;font-size:13px}.cv-education span{color:var(--color-muted);font-size:11px}.cv-languages{border-top:1px solid var(--color-rule);flex-wrap:wrap;gap:25px 55px;margin-top:10px;padding-top:22px;display:flex}.cv-languages dt{font-size:14px}.cv-languages dd{color:var(--color-muted);margin-top:5px;font-size:12px}.cv-contact{background:var(--surface);border:1px solid var(--color-rule);border-radius:14px;margin:35px 0;padding:36px}.cv-contact h2{letter-spacing:-.04em;margin:15px 0;font-size:clamp(24px,3vw,34px);font-weight:500;line-height:1.2}.cv-contact>p:not(.eyebrow){color:var(--color-muted);max-width:55ch;font-size:14px;line-height:1.8}.cv-contact .button-text{margin-top:22px;display:inline-flex}@media (max-width:1000px){.cv-hero{gap:32px}.cv-layout{grid-template-columns:155px minmax(0,1fr);gap:28px}.cv-skills>div{grid-template-columns:135px minmax(0,1fr)}}@media (max-width:760px){.web-resume{padding-top:32px}.cv-hero{grid-template-columns:1fr;padding-bottom:32px}.cv-profile{padding:24px}.cv-layout{display:block}.cv-sidebar nav{border-bottom:1px solid var(--color-rule);flex-wrap:wrap;gap:0 20px;padding:20px 0;display:flex;position:static}.cv-sidebar nav>p{width:100%;margin-bottom:8px}.cv-sidebar a{gap:8px;padding:8px 0}.cv-section{scroll-margin-top:50px}.cv-projects{grid-template-columns:1fr}.cv-project{padding:22px}}@media (max-width:440px){.cv-capabilities{grid-template-columns:1fr}.cv-skills>div{grid-template-columns:1fr;gap:5px}.cv-contact{padding:24px}}@media print{.web-resume{padding:0}.cv-hero{gap:25px;padding-bottom:20px}.cv-intro h1{font-size:35px}.cv-actions,.cv-sidebar,.cv-contact{display:none}.cv-layout{display:block}.cv-section{padding-block:20px}.cv-profile,.cv-project,.cv-role,.cv-education>div{break-inside:avoid}}
