.mobile-resume{max-width:40rem;min-height:100vh;margin:0 auto;padding:1.25rem 1rem 2rem;line-height:1.5}.mobile-resume header{border-bottom:1px solid #eceff433;margin-bottom:1.5rem;padding-bottom:1rem}.mobile-header-layout{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.25rem;display:flex}.mobile-header-identity{flex:10rem;min-width:0}.mobile-header-identity h1{text-align:left}.mobile-header-contact{flex-direction:column;flex:11rem;align-items:flex-end;min-width:0;display:flex}.mobile-header-contact .contacts{width:fit-content;max-width:100%}.mobile-btn-download{letter-spacing:.04em;text-transform:uppercase;color:#2e3440;background:linear-gradient(#8fbcbb 0%,#88c0d0 100%);border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-top:1rem;padding:.7rem 1rem;font-size:.875rem;font-weight:600;display:flex;box-shadow:0 1px 2px #0003}.mobile-btn-download:active:not(:disabled){transform:scale(.99)}.mobile-btn-download:disabled{opacity:.65;cursor:progress}.mobile-pdf-error{color:#bf616a;text-align:center;margin:.5rem 0 0;font-size:.8rem}@supports (-webkit-touch-callout:none) or (touch-action:manipulation){.mobile-btn-download{min-height:44px}}.mobile-resume h1{letter-spacing:.05em;text-transform:uppercase;margin:0 0 .25rem;font-size:clamp(1.15rem,4.2vw,1.45rem);font-weight:300;line-height:1.25}.mobile-resume .tagline{opacity:.9;margin:0;font-size:.85rem;font-style:italic;line-height:1.35}.mobile-resume .contacts{text-align:right;margin:0;padding:0;font-size:.8rem;line-height:1.35;list-style:none}.mobile-resume .contacts li{margin-bottom:.35rem}.mobile-resume .contacts a{color:#88c0d0;word-break:break-word;text-decoration:none}.mobile-resume .contacts a:active{opacity:.85}.mobile-resume h2{text-transform:uppercase;letter-spacing:.04em;color:#81a1c1;margin:1.25rem 0 .5rem;font-size:.85rem}.mobile-resume p.summary{margin:0;font-size:.95rem}.mobile-resume .skill-list{flex-wrap:wrap;gap:.35rem .5rem;margin:0;padding:0;list-style:none;display:flex}.mobile-resume .skill-list li{background:#eceff414;border-radius:4px;padding:.15rem .5rem;font-size:.8rem}.mobile-resume .job{margin-bottom:1.25rem}.mobile-resume .job:last-child{margin-bottom:0}.mobile-resume .company-row{border-bottom:1px solid #eceff426;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin-bottom:.5rem;padding-bottom:.35rem;display:flex}.mobile-resume .company{margin:0;font-size:.95rem;font-weight:600}.mobile-resume .duration{opacity:.85;font-size:.85rem;font-style:italic}.mobile-resume .role-row{flex-wrap:wrap;justify-content:space-between;gap:.25rem;margin-bottom:.35rem;display:flex}.mobile-resume .role-title{font-size:.88rem;font-weight:600}.mobile-resume .role-dates{opacity:.85;font-size:.82rem;font-style:italic}.mobile-resume .details{margin:0;padding-left:1.1rem;font-size:.88rem}.mobile-resume .details li{margin-bottom:.35rem}.mobile-resume .edu-item{margin-bottom:.65rem;font-size:.88rem}.mobile-resume .edu-item:last-child{margin-bottom:0}@media (width<=22rem){.mobile-header-contact{align-items:flex-start;width:100%}.mobile-header-contact .contacts{text-align:left;width:100%}}*{box-sizing:border-box}html,body{color:#eceff4;background-color:#2e3440;margin:0;padding:0;font-family:sans-serif}.loading{justify-content:center;align-items:center;height:100vh;display:flex}iframe{border:none;margin:0;padding:0;display:block}
