.cv-root{--cv-bg:#0b0e0d;--cv-surface:#111614;--cv-surface-raised:#151b18;--cv-ink:#f2f4ed;--cv-muted:#8d9891;--cv-faint:#5e6862;--cv-line:#ecf4ea24;--cv-line-strong:#ecf4ea47;--cv-accent:#c9f36b;--cv-accent-deep:#89b93c;--cv-pointer-x:50%;--cv-pointer-y:22%;background:var(--cv-bg);color:var(--cv-ink);width:100%;min-height:100vh;font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow:clip}:root[data-theme=light] .cv-root{--cv-bg:#f0f2ed;--cv-surface:#e7ebe4;--cv-surface-raised:#fafbf8;--cv-ink:#17201b;--cv-muted:#5c6961;--cv-faint:#87918a;--cv-line:#17201b24;--cv-line-strong:#17201b47;--cv-accent:#3d7c26;--cv-accent-deep:#235617}.cv-root *,.cv-root :before,.cv-root :after{box-sizing:border-box}.cv-root a{color:inherit;text-decoration:none}.cv-root h1,.cv-root h2,.cv-root h3,.cv-root p{margin:0}.cv-root h1,.cv-root h2,.cv-root h3{font-family:var(--font-heading), var(--font-body), sans-serif;letter-spacing:-.045em}.cv-scroll-experience{--cv-scroll-progress:0;isolation:isolate;background:var(--cv-bg);min-height:100vh;position:relative}.cv-scroll-experience:before{display:none}.cv-scroll-rail{z-index:10;gap:.6rem;display:grid;position:fixed;top:50%;right:clamp(1rem,3vw,3.5rem);transform:translateY(-50%)}.cv-scroll-rail-label{display:none}.cv-scroll-rail-track{background:var(--cv-line);width:1px;height:100%;position:absolute;top:0;right:.35rem;overflow:hidden}.cv-scroll-rail-track span{background:var(--cv-accent);width:100%;height:100%;transform:scaleY(var(--cv-scroll-progress));transform-origin:top;display:block}.cv-scroll-rail nav{gap:.45rem;display:grid}.cv-scroll-rail nav a{border:1px solid var(--cv-line-strong);border-radius:50%;width:.75rem;height:.75rem;transition:background .22s,border-color .22s,transform .22s;display:block;position:relative}.cv-scroll-rail nav a span{display:none}.cv-scroll-rail nav a[data-active=true]{border-color:var(--cv-accent);background:var(--cv-accent);transform:scale(1.08)}.cv-page{width:min(100%,92rem);margin:0 auto;padding:0 clamp(1.2rem,5vw,7rem) 5rem}.cv-hero{align-content:center;min-height:min(52rem,100svh);padding:clamp(7rem,14vh,11rem) 0 3.5rem;display:grid}.cv-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(19rem,.9fr);align-items:center;gap:clamp(2rem,8vw,9rem);display:grid}.cv-hero-copy{z-index:1;max-width:44rem;position:relative}.cv-kicker{color:var(--cv-muted);font-family:var(--font-code), monospace;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.68rem;display:flex}.cv-status-dot{background:var(--cv-accent);border-radius:50%;width:.45rem;height:.45rem}.cv-hero h1{letter-spacing:-.09em;margin-top:1.3rem;font-size:clamp(4.2rem,10vw,9.6rem);font-weight:500;line-height:.86}.cv-hero-mark{color:var(--cv-accent)}.cv-hero-subtitle{max-width:39rem;color:var(--cv-muted);margin-top:2rem;font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.45}.cv-hero-intro{max-width:28rem;color:var(--cv-ink);margin-top:1.7rem;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.65}.cv-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.4rem;display:flex}.cv-primary-btn,.cv-secondary-btn{border-bottom:1px solid var(--cv-line-strong);align-items:center;gap:1.2rem;min-height:2.5rem;padding:.35rem 0;font-size:.82rem;transition:color .22s,border-color .22s,transform .22s;display:inline-flex}.cv-primary-btn{border-color:var(--cv-accent);color:var(--cv-accent)}.cv-secondary-btn{color:var(--cv-ink)}.cv-primary-btn span,.cv-secondary-btn span{font-size:1.1rem;transition:transform .25s}.cv-primary-btn:hover,.cv-secondary-btn:hover{border-color:var(--cv-accent);color:var(--cv-accent);transform:translate(.2rem)}.cv-primary-btn:hover span{transform:translate(.2rem,.2rem)}.cv-secondary-btn:hover span{transform:translate(.2rem,-.2rem)}.cv-export-trigger{border:0;border-bottom:1px solid var(--cv-line-strong);min-height:2.5rem;color:var(--cv-muted);font:inherit;background:0 0;align-items:center;gap:.45rem;padding:.35rem 0;font-size:.82rem;transition:color .22s,border-color .22s,transform .22s;display:inline-flex}.cv-export-trigger svg{width:1rem;height:1rem}.cv-export-trigger:hover{border-color:var(--cv-accent);color:var(--cv-accent);transform:translate(.2rem)}.cv-socials{gap:.55rem;margin-top:2.5rem;display:flex}.cv-social-link{border:1px solid var(--cv-line);width:2.5rem;height:2.5rem;color:var(--cv-muted);place-items:center;transition:color .22s,border-color .22s,transform .22s;display:grid}.cv-social-link:hover{border-color:var(--cv-accent);color:var(--cv-accent);transform:translateY(-.2rem)rotate(-4deg)}.cv-social-icon{width:1rem;height:1rem}.cv-hero-visual{place-items:center;min-height:26rem;display:grid;position:relative}.cv-hero-image-wrap{z-index:1;aspect-ratio:1;border:1px solid var(--cv-line-strong);filter:saturate(.82)contrast(1.08);width:min(22rem,64vw);transform:translate3d(0, calc(var(--cv-scroll-y,0px) * -.025), 0);border-radius:50%;position:relative;overflow:hidden}.cv-hero-image-wrap:after{display:none}.cv-hero-image-wrap img{object-fit:cover;width:100%;height:100%}.cv-hero-orbit,.cv-hero-coordinate,.cv-hero-scroll-note{display:none}.cv-hero-bottomline{border-top:1px solid var(--cv-line);color:var(--cv-muted);font-family:var(--font-code), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.4rem;font-size:.64rem;display:flex}.cv-section{grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,7rem);width:100%;padding-top:clamp(5.5rem,10vw,10rem);scroll-margin-top:3rem;display:grid}.cv-section-label{color:var(--cv-muted);font-family:var(--font-code), monospace;letter-spacing:.18em;text-transform:uppercase;padding-top:.4rem;font-size:.66rem;position:sticky;top:5rem}.cv-section-label:before{content:"";background:var(--cv-accent);width:1.8rem;height:1px;margin-bottom:.8rem;display:block}.cv-section-label span{transition:transform .5s cubic-bezier(.16,1,.3,1);display:inline-block}.cv-section:hover .cv-section-label span{transform:translate(.5rem)}.cv-section-content{min-width:0}.cv-summary-block{border-top:1px solid var(--cv-line);grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:clamp(2rem,8vw,8rem);padding:1.2rem 0 0;display:grid}.cv-summary-lede{color:var(--cv-ink);font-family:var(--font-heading), sans-serif;letter-spacing:-.065em;font-size:clamp(1.65rem,3.1vw,3rem);line-height:1.04}.cv-summary-copy{color:var(--cv-muted);font-size:.94rem;line-height:1.9}.cv-copy-paragraph{margin-top:1.15rem}.cv-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.8rem,4vw,4rem) clamp(1rem,2.2vw,2rem);display:grid}.cv-project-card{opacity:1;min-width:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s;transition-delay:var(--cv-stagger,0s);transform:none}.cv-project-media{aspect-ratio:1.4;background:var(--cv-surface);display:block;position:relative;overflow:hidden}.cv-project-media:after{content:"";border:1px solid var(--cv-line);transition:border-color .25s;position:absolute;inset:0}.cv-project-media img{object-fit:cover;filter:saturate(.8);transition:transform .5s cubic-bezier(.16,1,.3,1)}.cv-project-card:hover .cv-project-media img{transform:scale(1.03)}.cv-project-card:hover .cv-project-media:after{border-color:var(--cv-accent)}.cv-project-index,.cv-project-tag{z-index:1;font-family:var(--font-code), monospace;letter-spacing:.08em;font-size:.61rem;position:absolute;top:1rem}.cv-project-index{color:var(--cv-accent);left:1rem}.cv-project-tag{color:#fff;opacity:.8;right:1rem}.cv-project-hover-label{display:none}.cv-project-body{gap:.8rem;padding:1.2rem 0 0;display:grid}.cv-project-title{font-size:clamp(1.15rem,1.9vw,1.55rem);line-height:1.15}.cv-project-title a{transition:color .22s}.cv-project-title a:hover{color:var(--cv-accent)}.cv-project-description{max-width:34rem;color:var(--cv-muted);font-size:.86rem;line-height:1.75}.cv-project-actions{color:var(--cv-muted);flex-wrap:wrap;gap:1rem;margin-top:.3rem;font-size:.72rem;display:flex}.cv-project-link,.cv-project-source{align-items:center;gap:.35rem;transition:color .22s,transform .22s;display:inline-flex}.cv-project-link{color:var(--cv-accent)}.cv-project-link:hover,.cv-project-source:hover{color:var(--cv-ink);transform:translate(.2rem)}.cv-company-list{gap:4.5rem;display:grid}.cv-company-group{grid-template-columns:10rem minmax(0,1fr);gap:2.5rem;display:grid}.cv-company-header{align-items:flex-start;gap:.7rem;display:flex}.cv-company-logo{border:1px solid var(--cv-line);background:0 0;flex:none;place-items:center;width:2rem;height:2rem;display:grid}.cv-company-logo img{object-fit:contain;width:1.7rem;height:1.7rem}.cv-company-overline{color:var(--cv-faint);font-family:var(--font-code), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.cv-company-header h3{margin-top:.3rem;font-size:1.05rem;line-height:1.1}.cv-company-link{color:var(--cv-muted);margin-top:.7rem;font-size:.7rem;transition:color .18s;display:inline-block}.cv-company-link:hover{color:var(--cv-accent)}.cv-company-roles{gap:2rem;display:grid;position:relative}.cv-company-roles:before{content:"";background:var(--cv-line);width:1px;position:absolute;top:.5rem;bottom:.5rem;left:.2rem}.cv-company-role{grid-template-columns:.4rem minmax(0,1fr);gap:1.1rem;display:grid;position:relative}.cv-company-role-marker{z-index:1;border:1px solid var(--cv-accent);background:var(--cv-bg);border-radius:50%;width:.4rem;height:.4rem;margin-top:.45rem;transition:background .18s;display:block;position:relative}.cv-company-role:hover .cv-company-role-marker{background:var(--cv-accent)}.cv-company-role-content{border-bottom:1px solid var(--cv-line);padding-bottom:2rem;transition:transform .26s}.cv-company-role:last-child .cv-company-role-content{border-bottom:0;padding-bottom:0}.cv-company-role:hover .cv-company-role-content{transform:translate(.25rem)}.cv-company-role-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.cv-company-role-top h4{font-family:var(--font-heading), sans-serif;letter-spacing:-.04em;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:500;line-height:1.15}.cv-company-role-top p,.cv-company-role-meta{color:var(--cv-faint);font-family:var(--font-code), monospace;font-size:.58rem;line-height:1.5}.cv-company-role-meta{color:var(--cv-muted);text-transform:uppercase;margin-top:.45rem}.cv-experience-points{color:var(--cv-muted);gap:.65rem;margin:1.5rem 0 0;padding:0;font-size:.86rem;line-height:1.7;list-style:none;display:grid}.cv-experience-points li{padding-left:1.15rem;position:relative}.cv-experience-points li:before{content:"";background:var(--cv-accent);width:.35rem;height:1px;position:absolute;top:.7em;left:0}.cv-education-list{gap:0;display:grid}.cv-education-item{border-top:1px solid var(--cv-line);background:0 0;grid-template-columns:2rem minmax(0,1fr);min-height:auto;padding:1.15rem 0;transition:color .22s;display:grid}.cv-education-item:hover{background:0 0;transform:none}.cv-education-index{color:var(--cv-accent);font-family:var(--font-code), monospace;font-size:.62rem}.cv-education-dates{color:var(--cv-faint);font-family:var(--font-code), monospace;margin-top:0;font-size:.6rem;line-height:1.5}.cv-education-item h3{margin-top:.9rem;font-size:1.15rem;line-height:1.1}.cv-education-item>div>p:not(.cv-education-dates){color:var(--cv-muted);margin-top:.45rem;font-size:.8rem}.cv-education-status{color:var(--cv-accent);margin-top:1.3rem;font-size:.68rem;display:inline-block}.cv-skill-stack{gap:2rem;display:grid}.cv-skill-group{border-top:1px solid var(--cv-line);padding-top:1rem}.cv-skill-group h3{font-size:1.2rem}.cv-skill-list{flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;display:flex}.cv-skill-pill{min-height:2rem;color:var(--cv-muted);border:0;align-items:center;gap:.45rem;margin-right:1rem;padding:.32rem 0;font-size:.72rem;transition:color .2s;display:inline-flex}.cv-skill-pill:hover{color:var(--cv-accent);transform:none}.cv-skill-icon{width:.9rem;height:.9rem}.cv-language-list,.cv-certificate-list{color:var(--cv-muted);gap:.6rem;margin:1.15rem 0 0;padding:0;font-size:.82rem;list-style:none;display:grid}.cv-language-list li:before,.cv-certificate-list li:before{color:var(--cv-accent);content:"↳";margin-right:.6rem}.cv-certificate-list a{transition:color .18s}.cv-certificate-list a:hover{color:var(--cv-accent)}.cv-contact-block{border-top:1px solid var(--cv-line);grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:3rem;padding:1.2rem 0 0;display:grid}.cv-contact-lede{font-family:var(--font-heading), sans-serif;letter-spacing:-.06em;font-size:clamp(1.5rem,3vw,2.65rem);line-height:1.05}.cv-contact-table{border-collapse:collapse;width:100%;font-size:.78rem}.cv-contact-table tr{border-bottom:1px solid var(--cv-line)}.cv-contact-table td{vertical-align:top;padding:.85rem 0}.cv-contact-table td:first-child{width:6rem;color:var(--cv-faint);font-family:var(--font-code), monospace;text-transform:uppercase;font-size:.62rem}.cv-contact-table td:last-child{color:var(--cv-muted)}.cv-contact-table a{color:var(--cv-ink);transition:color .18s}.cv-contact-table a:hover{color:var(--cv-accent)}.cv-footer{border-top:1px solid var(--cv-line);color:var(--cv-faint);font-family:var(--font-code), monospace;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-top:10rem;padding-top:1rem;font-size:.62rem;display:flex}.cv-export-backdrop{z-index:100;background:color-mix(in srgb, var(--cv-bg) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.cv-export-dialog{border:1px solid var(--cv-line-strong);background:var(--cv-surface);width:min(100%,34rem);max-height:min(90vh,44rem);color:var(--cv-ink);box-shadow:0 1.5rem 4rem color-mix(in srgb, var(--cv-bg) 32%, transparent);padding:clamp(1.2rem,4vw,2rem);overflow:auto}.cv-export-dialog-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cv-export-eyebrow{color:var(--cv-accent);font-family:var(--font-code), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.58rem}.cv-export-dialog h2{margin-top:.45rem;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1}.cv-export-close{border:1px solid var(--cv-line);width:2rem;height:2rem;color:var(--cv-muted);background:0 0;padding:0;font-size:1.25rem;line-height:1}.cv-export-close:hover{border-color:var(--cv-accent);color:var(--cv-accent)}.cv-export-description{max-width:28rem;color:var(--cv-muted);margin-top:1rem;font-size:.82rem;line-height:1.65}.cv-export-toolbar{border-bottom:1px solid var(--cv-line);color:var(--cv-faint);font-family:var(--font-code), monospace;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-bottom:.65rem;font-size:.6rem;display:flex}.cv-export-toolbar div{gap:.7rem;display:flex}.cv-export-toolbar button{color:var(--cv-muted);font:inherit;font-size:inherit;text-underline-offset:.2rem;background:0 0;border:0;padding:0;text-decoration:underline}.cv-export-toolbar button:hover{color:var(--cv-accent)}.cv-export-options{margin-top:.2rem;display:grid}.cv-export-option{border-bottom:1px solid var(--cv-line);cursor:pointer;grid-template-columns:1.1rem minmax(0,1fr);align-items:start;gap:.75rem;padding:.8rem 0;transition:opacity .18s;display:grid;position:relative}.cv-export-option input{opacity:0;width:1px;height:1px;position:absolute}.cv-export-option:has(input:focus-visible){outline:2px solid var(--cv-accent);outline-offset:3px}.cv-export-checkbox{border:1px solid var(--cv-line-strong);color:#0000;place-items:center;width:1.05rem;height:1.05rem;margin-top:.1rem;transition:border-color .18s,background .18s,color .18s;display:grid}.cv-export-checkbox svg{width:.75rem;height:.75rem}.cv-export-option input:checked+.cv-export-checkbox{border-color:var(--cv-accent);background:var(--cv-accent);color:#17200f}.cv-export-option strong,.cv-export-option small{display:block}.cv-export-option strong{font-size:.82rem;font-weight:500}.cv-export-option small{color:var(--cv-muted);margin-top:.2rem;font-size:.68rem;line-height:1.4}.cv-export-option.is-disabled{cursor:not-allowed;opacity:.36}.cv-export-mode{border:1px solid var(--cv-accent);background:color-mix(in srgb, var(--cv-accent) 8%, transparent);cursor:pointer;grid-template-columns:1.1rem minmax(0,1fr);align-items:start;gap:.75rem;margin-top:1rem;padding:.8rem;display:grid;position:relative}.cv-export-mode input{opacity:0;width:1px;height:1px;position:absolute}.cv-export-mode:has(input:focus-visible){outline:2px solid var(--cv-accent);outline-offset:3px}.cv-export-mode strong,.cv-export-mode small{display:block}.cv-export-mode strong{font-size:.82rem;font-weight:500}.cv-export-mode small{color:var(--cv-muted);margin-top:.2rem;font-size:.68rem;line-height:1.4}.cv-export-mode input:checked+.cv-export-checkbox{border-color:var(--cv-accent);background:var(--cv-accent);color:#17200f}.cv-export-note{color:var(--cv-muted);margin-top:1.1rem;font-size:.7rem;line-height:1.55}.cv-export-note strong{color:var(--cv-ink);font-weight:500}.cv-export-dialog-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.cv-export-cancel,.cv-export-confirm{border:1px solid var(--cv-line-strong);min-height:2.7rem;font:inherit;padding:.65rem .9rem;font-size:.76rem;transition:color .18s,border-color .18s,background .18s}.cv-export-cancel{color:var(--cv-muted);background:0 0}.cv-export-confirm{border-color:var(--cv-accent);background:var(--cv-accent);color:#17200f}.cv-export-cancel:hover{border-color:var(--cv-accent);color:var(--cv-accent)}.cv-export-confirm:hover{background:color-mix(in srgb, var(--cv-accent) 84%, white)}.cv-export-cancel:disabled,.cv-export-confirm:disabled{cursor:wait;opacity:.55}.cv-export-error{color:#bd4a38;margin-top:.7rem;font-size:.72rem}.cv-scroll-experience[data-cv-motion=ready] [data-cv-reveal]{opacity:0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(2.4rem)}.cv-scroll-experience[data-cv-motion=ready] [data-cv-reveal][data-cv-visible=true]{opacity:1;transform:none}.cv-scroll-experience[data-reduced-motion=true] [data-cv-reveal]{opacity:1;transition:none;transform:none}@keyframes cv-pulse{0%,to{opacity:.6;transform:scale(.92)}50%{opacity:1;transform:scale(1.16)}}@media (max-width:980px){.cv-page{padding-left:clamp(1.2rem,7vw,3rem);padding-right:clamp(1.2rem,7vw,3rem)}.cv-hero-grid{gap:3rem}.cv-hero-visual{min-height:24rem}.cv-hero-image-wrap{width:min(20rem,55vw)}.cv-scroll-rail{right:1.1rem}}@media (max-width:767px){.cv-page{padding:0 1rem calc(5rem + env(safe-area-inset-bottom))}.cv-scroll-rail{display:none}.cv-hero{min-height:auto;padding:5.4rem 0 1.5rem}.cv-hero-grid{flex-direction:column-reverse;align-items:stretch;gap:1.25rem;display:flex}.cv-hero-visual{min-height:13rem}.cv-hero-image-wrap{width:min(11.5rem,48vw)}.cv-hero h1{margin-top:.9rem;font-size:clamp(3.4rem,17vw,5rem)}.cv-hero-subtitle{max-width:20rem;margin-top:1rem;font-size:.9rem}.cv-hero-intro{margin-top:1rem;font-size:1rem;line-height:1.5}.cv-actions{gap:1rem;margin-top:1.4rem}.cv-socials{margin-top:1.4rem}.cv-hero-bottomline{margin-top:1.6rem;padding-top:.8rem;font-size:.5rem}.cv-section{padding-top:3.75rem;display:block}.cv-section-label{margin-bottom:1rem;position:static}.cv-summary-block,.cv-contact-block{grid-template-columns:1fr;gap:2rem}.cv-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem .75rem}.cv-project-media{aspect-ratio:1}.cv-project-index{font-size:.52rem;top:.6rem;left:.6rem}.cv-project-tag{display:none}.cv-project-body{gap:.5rem;padding-top:.65rem}.cv-project-title{font-size:.9rem;line-height:1.1}.cv-project-description{display:none}.cv-project-actions{gap:.5rem;margin-top:0;font-size:.62rem}.cv-project-source{display:none}.cv-project-link{gap:.2rem}.cv-project-link svg{width:.75rem}.cv-summary-lede{font-size:1.45rem}.cv-summary-copy{font-size:.82rem;line-height:1.75}.cv-company-list{gap:3.5rem}.cv-company-group{grid-template-columns:1fr;gap:1.2rem}.cv-company-header{padding-left:.1rem}.cv-company-roles{margin-left:.1rem}.cv-company-role-top{gap:.3rem;display:grid}.cv-company-role-top h4{font-size:1.1rem}.cv-company-role{gap:.75rem}.cv-company-role-content{padding-bottom:1.5rem}.cv-experience-points{gap:.5rem;margin-top:1rem;font-size:.8rem;line-height:1.6}.cv-education-list{grid-template-columns:1fr}.cv-education-item{min-height:auto}.cv-education-dates{margin-top:2rem}.cv-footer{flex-direction:column;margin-top:6rem}}@media (prefers-reduced-motion:reduce){.cv-root *,.cv-root :before,.cv-root :after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}@page{size:A4;margin:10mm}@media print{html,body{background:#fff}.site-shell,.motion-surface,.cv-root,.cv-scroll-experience{color:#17201b;background:#fff;height:auto;min-height:0}.cv-root{--cv-bg:#fff;--cv-surface:#f5f7f3;--cv-surface-raised:#fff;--cv-ink:#17201b;--cv-muted:#5c6961;--cv-faint:#87918a;--cv-line:#17201b24;--cv-line-strong:#17201b47;--cv-accent:#3d7c26;--cv-accent-deep:#235617}.motion-surface{overflow:visible}.site-shell:before,.site-shell:after,.motion-surface:before,.motion-surface:after,.motion-surface>header,.motion-surface>footer,.scroll-progress,.cv-scroll-rail,.cv-actions,.cv-socials,.cv-hero-bottomline,.cv-export-backdrop{display:none}.site-content{margin-top:0;padding:0}.cv-page{width:100%;padding:0}.cv-page section,.cv-page footer{opacity:1;transform:none}.cv-scroll-experience[data-cv-motion=ready] [data-cv-reveal]{opacity:1;transition:none;transform:none}.cv-hero{min-height:0;padding:0 0 .9rem}.cv-hero-grid{grid-template-columns:minmax(0,1fr) 7rem;gap:1rem}.cv-hero-visual{min-height:7rem}.cv-hero-image-wrap{width:6rem;transform:none}.cv-hero h1{margin-top:.45rem;font-size:3rem}.cv-hero-subtitle{margin-top:.55rem;font-size:.76rem}.cv-hero-intro{margin-top:.5rem;font-size:.78rem}.cv-section{break-inside:auto;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding-top:.9rem}.cv-section-label{position:static}.cv-summary-block,.cv-contact-block{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1.5rem}.cv-summary-lede,.cv-contact-lede{font-size:1.18rem}.cv-summary-copy{font-size:.72rem;line-height:1.45}.cv-copy-paragraph{margin-top:.65rem}.cv-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cv-project-media{aspect-ratio:1.8}.cv-project-body{gap:.45rem;padding-top:.6rem}.cv-project-title{font-size:.88rem}.cv-project-description{font-size:.65rem;line-height:1.4}.cv-project-actions{gap:.7rem;margin-top:0;font-size:.58rem}.cv-project-card,.cv-company-group,.cv-education-item,.cv-skill-group{break-inside:avoid}.cv-company-list{gap:1.2rem}.cv-company-group{grid-template-columns:6rem minmax(0,1fr);gap:1rem}.cv-company-role-content{padding-bottom:.7rem}.cv-company-role-top h4{font-size:.86rem}.cv-experience-points{gap:.3rem;margin-top:.55rem;font-size:.6rem;line-height:1.35}.cv-skill-stack{gap:.7rem}.cv-skill-group{padding-top:.65rem}.cv-skill-group h3{font-size:.92rem}.cv-skill-list{gap:.25rem;margin-top:.65rem}.cv-skill-pill{min-height:1.45rem;margin-right:.55rem;font-size:.6rem}.cv-language-list,.cv-certificate-list{gap:.3rem;margin-top:.65rem;font-size:.64rem}.cv-contact-table{font-size:.64rem}.cv-contact-table td{padding:.55rem 0}.cv-footer{margin-top:1.2rem}.cv-page[data-print-summary=false] #summary,.cv-page[data-print-projects=false] #projects,.cv-page[data-print-experience=false] #experience,.cv-page[data-print-education=false] #education,.cv-page[data-print-skills=false] #skills-more,.cv-page[data-print-contact=false] #contact,.cv-page[data-print-project-images=false] .cv-project-media{display:none}.cv-page[data-print-one-page=true]{font-size:.62rem}.cv-page[data-print-one-page=true] .cv-hero{padding-bottom:.35rem}.cv-page[data-print-one-page=true] .cv-hero-grid{grid-template-columns:minmax(0,1fr) 4.5rem;gap:.7rem}.cv-page[data-print-one-page=true] .cv-hero-visual{min-height:4.5rem}.cv-page[data-print-one-page=true] .cv-hero-image-wrap{width:4rem}.cv-page[data-print-one-page=true] .cv-hero h1{margin-top:.2rem;font-size:2.15rem}.cv-page[data-print-one-page=true] .cv-hero-subtitle{margin-top:.25rem;font-size:.58rem}.cv-page[data-print-one-page=true] .cv-hero-intro{display:none}.cv-page[data-print-one-page=true] .cv-section{grid-template-columns:4rem minmax(0,1fr);gap:.65rem;padding-top:.3rem}.cv-page[data-print-one-page=true] .cv-section-label{padding-top:.15rem;font-size:.46rem}.cv-page[data-print-one-page=true] .cv-section-label:before{width:1rem;margin-bottom:.3rem}.cv-page[data-print-one-page=true] .cv-summary-block,.cv-page[data-print-one-page=true] .cv-contact-block{grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:.7rem;padding-top:.35rem}.cv-page[data-print-one-page=true] .cv-summary-lede,.cv-page[data-print-one-page=true] .cv-contact-lede{font-size:.78rem}.cv-page[data-print-one-page=true] .cv-summary-copy{font-size:.52rem;line-height:1.25}.cv-page[data-print-one-page=true] .cv-copy-paragraph{margin-top:.28rem}.cv-page[data-print-one-page=true] .cv-project-grid{gap:.05rem .8rem}.cv-page[data-print-one-page=true] .cv-project-media{display:none}.cv-page[data-print-one-page=true] .cv-project-body{gap:.05rem;padding:.12rem 0}.cv-page[data-print-one-page=true] .cv-project-title{font-size:.57rem;line-height:1.1}.cv-page[data-print-one-page=true] .cv-project-description,.cv-page[data-print-one-page=true] .cv-project-actions{display:none}.cv-page[data-print-one-page=true] .cv-company-list{gap:.35rem}.cv-page[data-print-one-page=true] .cv-company-group{grid-template-columns:4rem minmax(0,1fr);gap:.65rem}.cv-page[data-print-one-page=true] .cv-company-header{gap:.35rem}.cv-page[data-print-one-page=true] .cv-company-logo{width:1rem;height:1rem}.cv-page[data-print-one-page=true] .cv-company-logo img{width:.85rem;height:.85rem}.cv-page[data-print-one-page=true] .cv-company-overline{font-size:.38rem}.cv-page[data-print-one-page=true] .cv-company-header h3{margin-top:.1rem;font-size:.62rem}.cv-page[data-print-one-page=true] .cv-company-link{display:none}.cv-page[data-print-one-page=true] .cv-company-roles{gap:.12rem}.cv-page[data-print-one-page=true] .cv-company-role{grid-template-columns:.2rem minmax(0,1fr);gap:.4rem}.cv-page[data-print-one-page=true] .cv-company-role-marker{width:.2rem;height:.2rem;margin-top:.2rem}.cv-page[data-print-one-page=true] .cv-company-role-content{padding-bottom:.18rem}.cv-page[data-print-one-page=true] .cv-company-role-top{gap:.35rem}.cv-page[data-print-one-page=true] .cv-company-role-top h4{font-size:.59rem}.cv-page[data-print-one-page=true] .cv-company-role-top p,.cv-page[data-print-one-page=true] .cv-company-role-meta{font-size:.4rem;line-height:1.2}.cv-page[data-print-one-page=true] .cv-company-role-meta{margin-top:.1rem}.cv-page[data-print-one-page=true] .cv-experience-points{display:none}.cv-page[data-print-one-page=true] .cv-education-item{grid-template-columns:1.2rem minmax(0,1fr);padding:.24rem 0}.cv-page[data-print-one-page=true] .cv-education-index,.cv-page[data-print-one-page=true] .cv-education-dates{font-size:.42rem}.cv-page[data-print-one-page=true] .cv-education-item h3{margin-top:.18rem;font-size:.62rem}.cv-page[data-print-one-page=true] .cv-education-item>div>p:not(.cv-education-dates){margin-top:.12rem;font-size:.5rem}.cv-page[data-print-one-page=true] .cv-education-status{margin-top:.2rem;font-size:.42rem}.cv-page[data-print-one-page=true] .cv-skill-stack{gap:.22rem}.cv-page[data-print-one-page=true] .cv-skill-group{padding-top:.25rem}.cv-page[data-print-one-page=true] .cv-skill-group h3{font-size:.62rem}.cv-page[data-print-one-page=true] .cv-skill-list{gap:.05rem;margin-top:.25rem}.cv-page[data-print-one-page=true] .cv-skill-pill{min-height:.75rem;margin-right:.35rem;padding:.08rem 0;font-size:.43rem}.cv-page[data-print-one-page=true] .cv-skill-icon{width:.5rem;height:.5rem}.cv-page[data-print-one-page=true] .cv-language-list,.cv-page[data-print-one-page=true] .cv-certificate-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.04rem .5rem;margin-top:.18rem;font-size:.42rem;display:grid}.cv-page[data-print-one-page=true] .cv-language-list li:before,.cv-page[data-print-one-page=true] .cv-certificate-list li:before{margin-right:.25rem}.cv-page[data-print-one-page=true] .cv-contact-table{font-size:.45rem}.cv-page[data-print-one-page=true] .cv-contact-table td{padding:.15rem 0}.cv-page[data-print-one-page=true] .cv-footer{display:none}}
