.dm-resume{--bg:#0b0d17;--surface:#131626;--surface-hover:#1a1d32;--border:#1e2035;--primary:#f59e0b;--accent:#fde68a;--data:#6ee7b7;--text:#f0f0f2;--text-muted:#d9dbe8;--text-dim:#cdd1e2;--transition-ui:.15s cubic-bezier(.25, .46, .45, .94);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;padding:120px 24px 48px;font-family:Inter,system-ui,sans-serif;line-height:1.75}.dm-resume *,.dm-resume :before,.dm-resume :after{box-sizing:border-box;margin:0;padding:0}.dm-resume a{color:inherit;text-decoration:none}.dm-resume a:hover{color:var(--primary)}.dm-resume a:focus-visible,.dm-resume button:focus-visible{outline:2px solid var(--text);outline-offset:3px}.dm-resume .resume-document{width:100%;max-width:900px;margin:0 auto}.dm-resume .resume-label{color:var(--accent);letter-spacing:.03em;text-transform:uppercase;background:#090c1a;border:1px solid #292d4d;margin-bottom:16px;padding:10px 12px 9px;font-family:"Press Start 2P",monospace;font-size:8px;line-height:1.35;display:inline-block;box-shadow:4px 4px #00000038}.dm-resume .resume-head{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.dm-resume .resume-head>div{min-width:0}.dm-resume h1,.dm-resume h2,.dm-resume h3{color:var(--text);font-family:Archivo,Inter,sans-serif;font-stretch:125%}.dm-resume h1{letter-spacing:-.03em;font-size:clamp(36px,4vw,52px);font-weight:800;line-height:1.05}.dm-resume .resume-title{letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-top:10px;font:600 13px/1.6 JetBrains Mono,monospace}.dm-resume .resume-tagline{max-width:60ch;color:var(--text-dim);margin-top:16px;font-size:16px}.dm-resume .resume-photo{object-fit:cover;border:1px solid var(--border);border-radius:12px;flex-shrink:0;width:112px;height:112px}.dm-resume .resume-contact{border-block:1px solid var(--border);color:var(--text-dim);overflow-wrap:anywhere;flex-wrap:wrap;gap:10px 26px;margin-top:28px;padding:14px 0;font:13px/1.6 JetBrains Mono,monospace;display:flex}.dm-resume .resume-contact a{max-width:100%}.dm-resume section{padding-top:32px}.dm-resume h2{letter-spacing:-.02em;color:var(--accent);margin-bottom:16px;font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.1}.dm-resume .resume-bullets{max-width:60ch;list-style:none}.dm-resume .resume-bullets li{color:var(--text-muted);padding-left:18px;font-size:16px;position:relative}.dm-resume .resume-bullets li+li{margin-top:8px}.dm-resume .resume-bullets li:before{content:"";background:var(--primary);width:6px;height:6px;position:absolute;top:.7em;left:0}.dm-resume .resume-job+.resume-job{padding-top:28px}.dm-resume .resume-job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.dm-resume h3{letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.5}.dm-resume .resume-job-period{color:var(--data);font:12px/1.6 JetBrains Mono,monospace}.dm-resume .resume-job-company{color:var(--text-dim);margin:2px 0 12px;font-size:13px;font-weight:600}.dm-resume .resume-skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;display:grid}.dm-resume .resume-skill dt{text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font:600 11px/1.6 JetBrains Mono,monospace}.dm-resume .resume-skill dd{color:var(--text-muted);margin-top:3px;font-size:14px;line-height:1.6}.dm-resume .resume-download{z-index:60;background:var(--surface);border:1px solid var(--primary);width:52px;height:52px;color:var(--primary);cursor:pointer;transition:background var(--transition-ui), transform var(--transition-ui);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:3px 3px #00000047}.dm-resume .resume-download:hover{background:var(--surface-hover);transform:translateY(-2px)}.dm-resume .resume-download:active{transform:translateY(0)}@media (min-width:768px){.dm-resume{padding-top:140px}.dm-resume section{padding-top:40px}}@media (max-width:900px){.dm-resume .resume-head{flex-direction:column}.dm-resume .resume-photo{width:96px;height:96px}}@media (max-width:600px){.dm-resume .resume-skills{grid-template-columns:1fr}}@media (min-width:1024px){.dm-resume .resume-download{width:46px;height:46px}}@media (prefers-reduced-motion:reduce){.dm-resume .resume-download{transition:none}.dm-resume .resume-download:hover{transform:none}}@media print{body:has(.dm-resume){color:#111827;background:#fff;display:block}body:has(.dm-resume)>main{display:block}:is(body:has(.dm-resume)>.header,body:has(.dm-resume)>.footer){display:none!important}.dm-resume{--bg:#fff;--text:#111827;--text-muted:#4b5563;--text-dim:#4b5563;--primary:#b45309;--accent:#b45309;--data:#134e4a;--border:#e5e7eb;padding:0;font-size:11pt;line-height:1.5}.dm-resume .resume-download,.dm-resume .resume-label{display:none}.dm-resume .resume-document{max-width:none}.dm-resume .resume-head{flex-direction:row;gap:24px}.dm-resume h1{font-size:28pt}.dm-resume h2{font-size:16pt}.dm-resume h3{font-size:12pt}.dm-resume .resume-tagline,.dm-resume .resume-bullets li{font-size:11pt}.dm-resume .resume-bullets{max-width:none}.dm-resume .resume-contact{font-size:9pt}.dm-resume section{padding-top:24px}.dm-resume .resume-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-resume h2,.dm-resume .resume-job-heading{break-after:avoid}.dm-resume .resume-job-heading,.dm-resume .resume-bullets li,.dm-resume .resume-skill,.dm-resume .resume-head,.dm-resume .resume-contact{break-inside:avoid}.dm-resume p,.dm-resume li{orphans:3;widows:3}}
