.fab-download{color:#fff;background:#0f2a4a}.fab-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#1a1a1a;border-radius:4px;padding:.3rem .65rem;font-size:.72rem;transition:opacity .15s;position:absolute;right:56px}.fab:hover .fab-tooltip{opacity:1}.r-summary{color:var(--ink);opacity:.85;margin:0;font-size:.88rem;line-height:1.65}#resume-content,html.exporting-pdf #resume-content{max-width:794px;margin:0 auto}html.exporting-pdf .resume-body{padding:2.3rem 2.5rem 2rem}html.exporting-pdf .r-name{font-size:2.45rem}html.exporting-pdf .r-title{font-size:.9rem}html.exporting-pdf .r-contact a,html.exporting-pdf .r-contact span{font-size:.78rem}html.exporting-pdf .r-section{margin-bottom:1.45rem}html.exporting-pdf .company-block{margin-bottom:1.05rem}html.exporting-pdf .role-block{margin-bottom:.62rem}html.exporting-pdf .skill-row{font-size:.8rem;line-height:1.45}html.exporting-pdf .role-bullets li{font-size:.79rem;line-height:1.42}html.exporting-pdf-tight .resume-body{padding:1.9rem 2.1rem 1.7rem}html.exporting-pdf-tight .r-name{font-size:2.22rem}html.exporting-pdf-tight .r-title{font-size:.84rem}html.exporting-pdf-tight .r-section{margin-bottom:1.2rem}html.exporting-pdf-tight .company-block{margin-bottom:.85rem}html.exporting-pdf-tight .role-block{margin-bottom:.52rem;padding-left:.86rem}html.exporting-pdf-tight .role-stack{margin-bottom:.26rem}html.exporting-pdf-tight .skills-grid{gap:.26rem}html.exporting-pdf-tight .role-bullets{gap:.15rem}html.exporting-pdf-tight .role-bullets li{font-size:.75rem;line-height:1.33}html.exporting-pdf-ultra .resume-body{padding:1.45rem 1.65rem 1.3rem}html.exporting-pdf-ultra .r-name{font-size:2.02rem}html.exporting-pdf-ultra .r-title{font-size:.78rem}html.exporting-pdf-ultra .r-contact a,html.exporting-pdf-ultra .r-contact span{font-size:.72rem}html.exporting-pdf-ultra .r-section{margin-bottom:1rem}html.exporting-pdf-ultra .company-block{margin-bottom:.64rem}html.exporting-pdf-ultra .company-header{margin-bottom:.42rem}html.exporting-pdf-ultra .role-block{margin-bottom:.4rem;padding-left:.72rem}html.exporting-pdf-ultra .role-title{font-size:.82rem}html.exporting-pdf-ultra .role-dates{font-size:.7rem}html.exporting-pdf-ultra .role-stack{margin-bottom:.18rem;font-size:.68rem}html.exporting-pdf-ultra .skills-grid{gap:.18rem}html.exporting-pdf-ultra .skill-row{font-size:.74rem;line-height:1.3}html.exporting-pdf-ultra .role-bullets{gap:.1rem}html.exporting-pdf-ultra .role-bullets li{font-size:.7rem;line-height:1.2}:root{--navy:#0f2340;--navy-mid:#1a3a5c;--accent:#c8922a;--ink:#1a1a1a;--ink-mid:#3d3d3d;--ink-light:#6b6b6b;--rule:#d4d0c8;--bg:#f5f2eb;--paper:#fdfcf8;--font-display:"DM Serif Display",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased}.resume-shell{background:var(--paper);max-width:860px;margin:2rem auto 4rem;box-shadow:0 2px 4px #0000000f,0 8px 32px #0000001a}.download-bar{z-index:100;background:var(--navy);justify-content:flex-end;padding:.6rem 2rem;display:flex;position:sticky;top:0}.download-btn{background:var(--accent);color:#fff;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;padding:.45rem 1.2rem;font-size:.8rem;font-weight:600;transition:opacity .15s}.download-btn:hover{opacity:.85}.resume-body{padding:3rem 3.5rem}.r-header{border-bottom:2px solid var(--navy);margin-bottom:1.8rem;padding-bottom:1.4rem}.r-name{font-family:var(--font-display);color:var(--navy);letter-spacing:-.01em;font-size:2.8rem;line-height:1.05}.r-title{color:var(--ink-light);letter-spacing:.06em;text-transform:uppercase;margin-top:.3rem;font-size:.95rem;font-weight:300}.r-contact{flex-wrap:wrap;gap:.25rem 1.4rem;margin-top:.9rem;display:flex}.r-contact a,.r-contact span{color:var(--ink-light);font-size:.8rem;font-weight:400;text-decoration:none}.r-contact a:hover{color:var(--navy)}.r-contact .sep{color:var(--rule)}.r-section{margin-bottom:1.8rem}.r-section-title{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--navy);margin-bottom:1rem;padding-bottom:.25rem;font-size:.7rem}.skills-grid{flex-direction:column;gap:.35rem;display:flex}.skill-row{gap:.5rem;font-size:.82rem;line-height:1.5;display:flex}.skill-cat{color:var(--ink);flex-shrink:0;min-width:120px;font-weight:600}.skill-items{color:var(--ink-light)}.company-block{margin-bottom:1.4rem}.company-header{justify-content:space-between;align-items:baseline;margin-bottom:.6rem;display:flex}.company-name{font-family:var(--font-display);color:var(--navy);font-size:1.05rem}.company-meta{color:var(--ink-light);text-align:right;font-size:.75rem}.role-block{border-left:2px solid var(--rule);margin-bottom:.9rem;padding-left:1rem;position:relative}.role-block:before{content:"";background:var(--accent);border:2px solid var(--paper);width:8px;height:8px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;position:absolute;top:.45rem;left:-5px}.role-header{justify-content:space-between;align-items:baseline;margin-bottom:.2rem;display:flex}.role-title{color:var(--ink);font-size:.88rem;font-weight:600}.role-dates{color:var(--ink-light);font-size:.75rem;font-style:italic}.role-stack{color:var(--ink-light);margin-bottom:.4rem;font-size:.73rem;font-style:italic}.role-bullets{flex-direction:column;gap:.25rem;list-style:none;display:flex}.role-bullets li{color:var(--ink-mid);gap:.5rem;font-size:.82rem;line-height:1.55;display:flex}.role-bullets li:before{content:"–";color:var(--accent);flex-shrink:0;margin-top:.02rem}.project-block{margin-bottom:1.2rem}.project-header{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.2rem;display:flex}.project-name{color:var(--ink);font-size:.88rem;font-weight:600}.project-link{color:var(--navy-mid);border-bottom:1px solid var(--rule);padding-bottom:1px;font-size:.72rem;text-decoration:none;transition:border-color .15s}.project-link:hover{border-color:var(--navy)}.project-tags{color:var(--ink-light);margin-bottom:.35rem;font-size:.72rem;font-style:italic}.edu-row{justify-content:space-between;align-items:baseline;display:flex}.edu-degree{color:var(--ink);font-size:.88rem;font-weight:600}.edu-dates{color:var(--ink-light);font-size:.75rem;font-style:italic}.edu-inst{color:var(--ink-light);margin-top:.1rem;font-size:.8rem}.cert-item{color:var(--ink-mid);font-size:.82rem}.floating-download-btn{z-index:200;background:var(--accent);color:#fff;cursor:pointer;opacity:.92;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;font-weight:700;transition:background .15s,opacity .15s;display:flex;position:fixed;bottom:2.2rem;right:2.2rem;box-shadow:0 2px 8px #00000021}.floating-download-btn:hover{background:var(--navy-mid);opacity:1}.fab-container{z-index:100;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:fixed;bottom:2rem;right:2rem}.fab{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .15s,opacity .15s;display:flex;position:relative;box-shadow:0 4px 16px #0000002e}.fab:hover{transform:scale(1.08)}.fab:disabled{opacity:.6;cursor:not-allowed}.fab-download{background:var(--navy);color:#fff}.fab-preview{background:var(--accent);color:#fff}.fab-tooltip{justify-content:center;align-items:flex-start;display:flex;overflow:auto}.preview-page{transform-origin:0 0;background:#fff;width:100%;padding:2rem;font-size:.65rem;box-shadow:0 2px 12px #00000026}.a4-preview-container{background:#fff;border-radius:8px;width:794px;min-height:1123px;margin:0 auto;padding:1.2rem 1.2rem 1rem;font-size:.95rem;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000026}@media (max-width:900px){.a4-preview-container{width:100vw;min-width:0;padding:.5rem}}.fab-menu{background:#fff;border-radius:8px;min-width:180px;animation:.15s fadeUp;position:absolute;bottom:56px;right:0;overflow:hidden;box-shadow:0 8px 32px #0000002e}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fab-menu-item{color:var(--ink);text-align:left;cursor:pointer;width:100%;font-size:.82rem;font-weight:500;font-family:var(--font-body);background:#fff;border:none;align-items:center;gap:.65rem;padding:.75rem 1rem;transition:background .1s;display:flex}.fab-menu-item:hover{background:var(--bg)}.fab-menu-item+.fab-menu-item{border-top:1px solid var(--rule)}.fab-menu-icon{color:var(--navy);flex-shrink:0}@media screen{#print-zone{display:none}}@media print{#print-zone .r-summary{opacity:1;font-size:7.8pt;line-height:1.45}@page{size:A4;margin:10mm 0}#print-zone{color:#000;background:#fff;width:210mm;padding:8mm 12mm 10mm}#print-zone .company-block,#print-zone .role-block{break-inside:avoid}#print-zone .r-section-title,#print-zone .company-name{break-after:avoid}@page{size:A4;margin:20mm 0 10mm}body>*{display:none!important}#print-zone{color:#000;background:#fff;width:210mm;padding:0 12mm 4mm;font-size:7.8pt;display:block!important}#print-zone .resume-shell{box-shadow:none!important;margin:0!important;padding:0!important}#print-zone .resume-body{margin:0!important;padding:0!important}#print-zone .r-header{margin-top:0!important;padding-top:0!important}#print-zone .r-name{font-size:19pt}#print-zone .r-title,#print-zone .r-contact span,#print-zone .r-contact a{font-size:8pt}#print-zone .r-header{margin-bottom:3mm;padding-bottom:2mm}#print-zone .r-section{margin-bottom:4mm}#print-zone .r-section-title{margin-bottom:2mm;padding-bottom:1mm;font-size:6.8pt}#print-zone .skill-row{padding:.8mm 0;font-size:7.8pt}#print-zone .company-block{margin-bottom:3mm}#print-zone .company-name{font-size:10pt}#print-zone .company-meta{font-size:7.8pt}#print-zone .role-block{margin-bottom:2mm;padding-left:5mm}#print-zone .role-title{font-size:8.8pt}#print-zone .role-dates{font-size:7.8pt}#print-zone .role-stack{margin-bottom:1mm;font-size:7pt}#print-zone .role-bullets{gap:.5mm}#print-zone .role-bullets li{font-size:7.8pt;line-height:1.38}#print-zone .project-block{margin-bottom:3mm}#print-zone .project-name{font-size:9pt}#print-zone .project-tags{font-size:7pt}#print-zone .project-bullets li{font-size:7.8pt;line-height:1.38}#print-zone .edu-degree{font-size:9pt}#print-zone .edu-inst,#print-zone .cert-item{font-size:7.8pt}.fab-container{display:none!important}}
