.cv-doc{background:var(--elevated);border:1px solid var(--border-strong);border-radius:1.25rem;padding:3rem 3.5rem;box-shadow:0 60px 120px -60px #0009}.cv-header{border-bottom:2px solid var(--color-accent);grid-template-columns:1fr auto;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;display:grid}.cv-name{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1}.cv-role{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-top:.5rem;font-size:.75rem}.cv-contact{color:var(--fg-muted);text-align:right;flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.cv-contact a{color:inherit;text-decoration:none;transition:color .15s}.cv-contact a:hover{color:var(--color-accent)}.cv-icon{text-align:center;opacity:.7;width:1.1em;margin-right:.4em;display:inline-block}.cv-section{margin-top:2rem}.cv-section-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);border-bottom:1px solid var(--border-strong);margin-bottom:1rem;padding-bottom:.5rem;font-size:.7rem;font-weight:700}.cv-section p{color:var(--fg-muted);margin:0;font-size:.9rem;line-height:1.65}.cv-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem 2rem;display:grid}.cv-skill-cat{font-family:var(--font-sans);color:var(--fg);margin-bottom:.4rem;font-size:.8rem;font-weight:600}.cv-skill-list{color:var(--fg-muted);margin:0;padding:0;font-size:.82rem;line-height:1.7;list-style:none}.cv-job{page-break-inside:avoid;margin-bottom:1.5rem}.cv-job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.4rem;display:flex}.cv-job-title{font-family:var(--font-sans);color:var(--fg);font-size:1.05rem;font-weight:600}.cv-job-company{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-top:.15rem;font-size:.7rem}.cv-job-period{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--fg-muted);white-space:nowrap;font-size:.7rem}.cv-job-list{color:var(--fg-muted);margin:.5rem 0 0;padding:0;font-size:.85rem;line-height:1.6;list-style:none}.cv-job-list li{margin-bottom:.25rem;padding-left:1rem;position:relative}.cv-job-list li:before{content:"—";color:var(--color-accent);position:absolute;left:0}.cv-job-detail{color:var(--fg-muted);font-size:.85rem}.cv-section--two{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (max-width:720px){.cv-doc{padding:2rem 1.5rem}.cv-header{grid-template-columns:1fr}.cv-contact{text-align:left}.cv-grid,.cv-section--two{grid-template-columns:1fr}}@media print{@page{size:A4;margin:1.2cm 1.5cm}.cv-actions,.skip-link,nav,footer,header[class*=fixed],.reduced-effects,.pulse-dot,.bg-noise,.bg-grid,[data-lenis-prevent],[aria-hidden=true]{display:none!important}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#1a1a1a!important;background:#fff!important;font-size:11pt!important;line-height:1.45!important}.cv-page{background:#fff!important;min-height:auto!important;margin:0!important;padding:0!important}.cv-doc{color:#1a1a1a!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;max-width:none!important;margin:0!important;padding:0!important}.cv-name{color:#0a0a0b!important;font-size:28pt!important}.cv-job-title,.cv-skill-cat{color:#0a0a0b!important}.cv-section p,.cv-skill-list,.cv-job-list,.cv-contact,.cv-job-detail{color:#2a2a2a!important;font-size:9.5pt!important}.cv-section-title,.cv-job-company,.cv-role,.cv-job-list li:before{color:#3d6600!important}.cv-section-title{border-bottom-color:#ccc!important}.cv-header{border-bottom-color:#3d6600!important;margin-bottom:1.5rem!important;padding-bottom:1rem!important}.cv-contact a{color:#2a2a2a!important;text-decoration:none!important}.cv-contact a[href^=http]:after{content:none}.cv-grid{grid-template-columns:repeat(4,1fr)!important;gap:.75rem 1.5rem!important}.cv-section--two{grid-template-columns:1fr 1fr!important;gap:1.5rem!important}.cv-section,.cv-job{page-break-inside:avoid;break-inside:avoid}.cv-section:nth-child(n+3){page-break-before:auto}.cv-section{margin-top:1.25rem!important}.cv-job{margin-bottom:1rem!important}.cv-job-list{margin-top:.25rem!important}.cv-job-list li{margin-bottom:.1rem!important}*{transition:none!important;animation:none!important}}
