.ncv{--bg: #f6f4ee;--surface: #ffffff;--ink: #111513;--ink-2: #363c38;--muted: #5a605c;--line: #e2ded3;--line-strong: #c4bfb1;--accent: #1f5f4a;--accent-soft: rgba(31, 95, 74, .09);--accent-line: rgba(31, 95, 74, .28);--btn-bg: #0f2a22;--btn-ink: #f6f4ee;--btn-hover: #1f5f4a;--chip-bg: rgba(31, 95, 74, .08);--chip-ink: #1f5f4a;--chip-line: transparent;--num: #0f2a22;--mark: rgba(198, 243, 107, .8);--fig: #111513;--live: #2f9e6b;--rail: #d9d4c7;--shadow: 0 1px 2px rgba(15, 42, 34, .05), 0 12px 32px -20px rgba(15, 42, 34, .28);--shadow-hover: 0 2px 4px rgba(15, 42, 34, .06), 0 28px 56px -28px rgba(15, 42, 34, .42);--radius: 1.5rem;position:relative;overflow-x:clip;background:var(--bg);color:var(--ink);font-size:1.0625rem;line-height:1.6}@media screen{:root[data-cv-theme=dark]{color-scheme:dark;background:#07100d}:root[data-cv-theme=dark] body{background:#07100d;color:#eef4ef}:root[data-cv-theme=dark] .ncv{--bg: #07100d;--surface: rgba(255, 255, 255, .035);--ink: #eef4ef;--ink-2: #c5cfc8;--muted: #97a39c;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .24);--accent: #c6f36b;--accent-soft: rgba(198, 243, 107, .1);--accent-line: rgba(198, 243, 107, .35);--btn-bg: #c6f36b;--btn-ink: #0f2a22;--btn-hover: #d8ff8a;--chip-bg: rgba(255, 255, 255, .055);--chip-ink: #dde6df;--chip-line: rgba(255, 255, 255, .08);--num: #eef4ef;--mark: transparent;--fig: #c6f36b;--live: #c6f36b;--rail: rgba(255, 255, 255, .12);--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 20px 40px -28px rgba(0, 0, 0, .8);--shadow-hover: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 30px 70px -30px rgba(0, 0, 0, .9)}:root.cv-theme-anim .ncv,:root.cv-theme-anim .ncv *{transition:background-color .35s ease,color .35s ease,border-color .35s ease,fill .35s ease,stroke .35s ease,box-shadow .35s ease!important}}.ncv .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ncv-wrap{max-width:76rem;margin-inline:auto;padding-inline:1.25rem}@media(min-width:768px){.ncv-wrap{padding-inline:2rem}}.ncv svg{flex-shrink:0}.ncv-muted{color:var(--muted)}.ncv-hero{position:relative;isolation:isolate;padding-block:clamp(2.75rem,7vw,6rem) clamp(2.5rem,5vw,4.5rem)}.ncv-hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.ncv-grid{position:absolute;inset:0;background-image:radial-gradient(rgba(15,42,34,.12) 1px,transparent 1.2px);background-size:22px 22px;mask-image:radial-gradient(60% 70% at 85% 20%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(60% 70% at 85% 20%,#000 0%,transparent 70%)}.ncv-orb{position:absolute;border-radius:50%;opacity:0;background:radial-gradient(closest-side,var(--orb),transparent)}.ncv-orb--1{width:52rem;height:52rem;top:-18rem;right:-14rem;--orb: #c6f36b}.ncv-orb--2{width:40rem;height:40rem;top:6rem;left:-16rem;--orb: #2dd4bf}.ncv-orb--3{width:26rem;height:26rem;bottom:-6rem;right:30%;--orb: #8b5cf6}.ncv-hero-inner{display:grid;gap:3rem;align-items:center}@media(min-width:1024px){.ncv-hero-inner{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:4rem}}.ncv-kicker{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.ncv-kicker-sep{color:var(--muted)}.ncv-live{width:.5rem;height:.5rem;border-radius:50%;background:var(--live);box-shadow:0 0 0 3px var(--accent-soft)}.ncv-name{margin-top:1.25rem;font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:800;font-size:clamp(2.9rem,1.4rem + 6.2vw,6.5rem);line-height:.95;letter-spacing:-.045em;color:var(--ink);text-wrap:balance}.ncv-headline{margin-top:1.25rem;max-width:32ch;font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:600;font-size:clamp(1.3rem,.95rem + 1.4vw,1.95rem);line-height:1.2;letter-spacing:-.02em;color:var(--accent);text-wrap:balance}.ncv-intro{margin-top:1.25rem;max-width:60ch;font-size:1.125rem;line-height:1.7;color:var(--ink-2)}.ncv-facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.75rem}.ncv-facts li{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .95rem .45rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.95rem;font-weight:500;color:var(--ink)}.ncv-facts li.is-accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);font-weight:600}.ncv-facts svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.ncv-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.ncv-btn{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1.5rem;border:1px solid transparent;border-radius:999px;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .25s,transform .2s}.ncv-btn svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.ncv-btn--primary{background:var(--btn-bg);color:var(--btn-ink)}.ncv-btn--primary:hover{background:var(--btn-hover)}.ncv-btn--primary:hover svg{transform:translate(3px)}.ncv-btn--ghost{border-color:var(--line-strong);background:transparent;color:var(--ink)}.ncv-btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.ncv-btn:focus-visible,.ncv-visit:focus-visible,.ncv-contact-list a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ncv-fan{display:none;position:relative;height:25rem}@media(min-width:1024px){.ncv-fan{display:block}}.ncv-fan-card{--rot: calc((var(--i) - 1) * 7deg);position:absolute;left:50%;top:50%;width:78%;display:block;overflow:hidden;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface);box-shadow:var(--shadow-hover);text-decoration:none;color:var(--ink);transform:translate(calc(-50% + (var(--i) - 1) * 2.4rem),calc(-50% + (var(--i) - 1) * -1.6rem)) rotate(var(--rot));transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s;z-index:calc(3 - var(--i))}.ncv-fan-card .ncv-cover{aspect-ratio:16 / 9;border-radius:0}.ncv-fan-label{display:flex;gap:.6rem;align-items:baseline;padding:.7rem 1rem;font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ncv-fan-label b{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:var(--muted)}.ncv-fan:hover .ncv-fan-card{transform:translate(calc(-50% + (var(--i) - 1) * 4.2rem),calc(-50% + (var(--i) - 1) * -2.4rem)) rotate(calc(var(--rot) * 1.5))}.ncv-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:clamp(2.5rem,5vw,4rem)}@media(min-width:900px){.ncv-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.ncv-stat{padding:1.1rem 1rem 1.2rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface);box-shadow:var(--shadow)}@media(min-width:640px){.ncv-stat{padding:1.5rem 1.5rem 1.6rem}}.ncv-stat-num{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:800;font-size:clamp(2rem,1.2rem + 2.6vw,3.6rem);line-height:1;letter-spacing:-.035em;color:var(--num);font-variant-numeric:tabular-nums}.ncv-count{display:inline-block}.ncv-stat-unit{font-size:.46em;font-weight:700;letter-spacing:-.01em;color:var(--accent);margin-left:.22em}.ncv-stat-pre{font-size:.7em;font-weight:700;color:var(--accent);margin-right:.04em}.ncv-stat-text{margin-top:.65rem;font-size:.92rem;line-height:1.45;color:var(--muted)}.ncv-section{padding-block:clamp(3.5rem,8vw,6.5rem);border-top:1px solid var(--line)}.ncv-head{display:grid;gap:1rem 3rem;margin-bottom:clamp(2rem,4vw,3rem);align-items:end}@media(min-width:1024px){.ncv-head{grid-template-columns:minmax(0,1fr) minmax(0,26rem)}}.ncv-eyebrow{display:flex;align-items:center;gap:.75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.ncv-eyebrow:after{content:"";width:2.5rem;height:1px;background:currentColor;opacity:.6}.ncv-eyebrow-num{color:var(--muted)}.ncv-h2{margin-top:.85rem;font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:800;font-size:clamp(2.1rem,1.3rem + 2.8vw,3.6rem);line-height:1.02;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}.ncv-lead{max-width:46ch;font-size:1.1rem;line-height:1.6;color:var(--ink-2)}.ncv-h3{font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:700;font-size:1.5rem;line-height:1.15;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}.ncv-h4{font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}.ncv-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.ncv-plain{padding:clamp(1.5rem,3vw,2rem)}.ncv-projects{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}@media(min-width:720px){.ncv-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.ncv-p.is-mdwide{grid-column:1 / -1}}@media(min-width:1024px){.ncv-projects{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem}.ncv-p.ncv-p--feature,.ncv-p.ncv-p--wide{grid-column:span 6}.ncv-p.ncv-p--half{grid-column:span 3}.ncv-p.ncv-p--third{grid-column:span 2}}.ncv-p{display:flex;min-width:0}.ncv-pcard{display:flex;flex-direction:column;width:100%;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}.ncv-pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--line-strong)}.ncv-pcard:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--c1) 16%,transparent),transparent 45%)}.ncv-cover{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 10;background:var(--cv-bg)}.ncv-art{display:block;width:100%;height:100%}.ncv-cover-num{position:absolute;left:1rem;top:.9rem;padding:.2rem .55rem;border-radius:999px;background:var(--surface-solid);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:600;color:var(--ink)}.ncv-pbody{display:flex;flex:1;flex-direction:column;gap:.7rem;padding:1.4rem 1.5rem 1.6rem}.ncv-pmeta{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.ncv-ptext{color:var(--ink-2);line-height:1.6}.ncv-fig{font-weight:700;color:var(--fig);background:linear-gradient(transparent 58%,var(--mark) 58%);padding-inline:.1em}.ncv-pfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:auto;padding-top:.5rem}.ncv-chips{display:flex;flex-wrap:wrap;gap:.4rem}.ncv-chip{padding:.28rem .7rem;border:1px solid var(--chip-line);border-radius:999px;background:var(--chip-bg);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.76rem;font-weight:500;line-height:1.35;color:var(--chip-ink)}.ncv-chips--lg .ncv-chip{font-family:var(--font-sans, "Inter", system-ui, sans-serif);font-size:.9rem;padding:.35rem .8rem}.ncv-visit{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;font-weight:600;color:var(--accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}.ncv-visit svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .2s}.ncv-visit:hover svg{transform:translate(2px,-2px)}@media(min-width:720px){.ncv-p--feature .ncv-pcard,.ncv-p--wide .ncv-pcard{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.ncv-p--wide .ncv-pcard{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ncv-p--feature .ncv-cover,.ncv-p--wide .ncv-cover{aspect-ratio:auto;min-height:20rem;height:100%}.ncv-p--feature .ncv-pbody{padding:2.25rem 2.25rem 2.25rem 2rem;justify-content:center}.ncv-p--feature .ncv-h3{font-size:clamp(1.8rem,1.2rem + 1.4vw,2.5rem)}.ncv-p--feature .ncv-ptext{font-size:1.1rem}.ncv-p--wide .ncv-pbody{padding:2rem;justify-content:center}.ncv-p--wide .ncv-h3,.ncv-p--half .ncv-h3{font-size:1.75rem}}@media(min-width:1024px){.ncv-p--feature .ncv-cover{min-height:26rem}}@media(min-width:720px)and (max-width:1023.98px){.ncv-p.is-mdwide .ncv-pcard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ncv-p.is-mdwide .ncv-cover{aspect-ratio:auto;min-height:16rem;height:100%}.ncv-p.is-mdwide .ncv-pbody{justify-content:center}}@media(min-width:1024px){.ncv-p--half .ncv-cover{aspect-ratio:16 / 9}}.ncv .h0{--c1: #1f5f4a;--c2: #0f2a22;--c3: #4f8f73;--cv-bg: linear-gradient(135deg, #e6f1e9, #d3e7da)}.ncv .h1{--c1: #2b5c9e;--c2: #13294b;--c3: #6f97cf;--cv-bg: linear-gradient(135deg, #e7eef8, #d4e1f2)}.ncv .h2{--c1: #8a5212;--c2: #e0932a;--c3: #6b4a1f;--cv-bg: linear-gradient(135deg, #f8efdd, #f0e1c3)}.ncv .h3{--c1: #5b3fa0;--c2: #2a1b52;--c3: #8f79c9;--cv-bg: linear-gradient(135deg, #efe9f8, #e0d6f1)}.ncv .h4{--c1: #1d6d6a;--c2: #0c3432;--c3: #5aa7a1;--cv-bg: linear-gradient(135deg, #e2f2f0, #cde8e5)}.ncv .h5{--c1: #a3452f;--c2: #5a1f12;--c3: #cf7f69;--cv-bg: linear-gradient(135deg, #f8e8e3, #f0d5cc)}.ncv{--surface-solid: rgba(255, 255, 255, .85);--cv-plate: #ffffff}.ncv .h0,.ncv .h1,.ncv .h2,.ncv .h3,.ncv .h4,.ncv .h5{--cv-plate: color-mix(in srgb, var(--c1) 6%, #ffffff)}.ncv-art .s1{fill:none;stroke:var(--c1);stroke-linecap:round}.ncv-art .s2{fill:none;stroke:var(--c2);stroke-linecap:round}.ncv-art .s3{fill:none;stroke:var(--c3);stroke-linecap:round;stroke-linejoin:round}.ncv-art .f1{fill:var(--c1)}.ncv-art .f2{fill:var(--c2)}.ncv-art .f3{fill:var(--c3)}.ncv-art .bgf{fill:var(--cv-plate)}.ncv-art .soft{fill:var(--c1);opacity:.07}.ncv-art .dim{opacity:.38}.ncv-art .a-pulse,.ncv-art .a-rise{transform-box:fill-box;transform-origin:center}.ncv-art .a-rise{transform-origin:bottom}.ncv-timeline{display:grid}.ncv-job{display:grid;grid-template-columns:1.75rem minmax(0,1fr);grid-template-areas:"rail when" "rail body";column-gap:.75rem}@media(min-width:768px){.ncv-job{grid-template-columns:10rem 2.5rem minmax(0,1fr);grid-template-areas:"when rail body";column-gap:1rem}}.ncv-job-when{grid-area:when;padding-top:.2rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}@media(min-width:768px){.ncv-job-when{text-align:right;padding-top:.35rem}}.ncv-job-rail{grid-area:rail;position:relative}.ncv-job-rail:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--rail)}.ncv-job:first-child .ncv-job-rail:before{top:.6rem}.ncv-job:last-child .ncv-job-rail:before{bottom:auto;height:.9rem}.ncv-job-rail:after{content:"";position:absolute;left:50%;top:.45rem;width:.9rem;height:.9rem;margin-left:-.45rem;border:2px solid var(--accent);border-radius:50%;background:var(--bg)}.ncv-job.is-latest .ncv-job-rail:after{background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.ncv-job-body{grid-area:body;padding-bottom:2.5rem}.ncv-job:last-child .ncv-job-body{padding-bottom:0}.ncv-job-title{font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:700;font-size:1.35rem;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}.ncv-job-place{margin-top:.15rem;color:var(--muted)}.ncv-job-points{display:grid;gap:.45rem;margin-top:.85rem;max-width:70ch;color:var(--ink-2)}.ncv-job-points li{position:relative;padding-left:1.25rem}.ncv-job-points li:before{content:"";position:absolute;left:0;top:.8em;width:.6rem;height:2px;border-radius:2px;background:var(--accent)}.ncv-bento{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}@media(min-width:720px){.ncv-bento{grid-template-columns:repeat(6,minmax(0,1fr))}.ncv-skill{grid-column:span 3}.ncv-skill--0{grid-column:span 6}.ncv-skill--3:last-child{grid-column:span 6}}@media(min-width:1024px){.ncv-bento{gap:1.5rem}.ncv-skill--0{grid-column:span 4}.ncv-skill--1{grid-column:span 2}.ncv-skill--3:last-child{grid-column:span 3}}.ncv-skill{padding:clamp(1.5rem,3vw,2rem)}.ncv-skill-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.1rem}.ncv-count-badge{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:600;color:var(--muted)}.ncv-skill.is-accent{background:#0f2a22;border-color:#0f2a22}.ncv-skill.is-accent .ncv-h4{color:#f6f4ee}.ncv-skill.is-accent .ncv-count-badge{color:#f6f4eeb8}.ncv-skill.is-accent .ncv-chip{background:#c6f36b24;border-color:#c6f36b4d;color:#e7f8c4}.ncv-duo{display:grid;gap:1.25rem}@media(min-width:720px){.ncv-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}.ncv-list{display:grid;gap:1rem;margin-top:1.1rem}.ncv-list li{display:grid;grid-template-columns:minmax(0,6.75rem) minmax(0,1fr);gap:1rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--ink-2)}.ncv-list li:first-child{padding-top:0;border-top:0}.ncv-list b{color:var(--ink);font-weight:600}.ncv-list-key{font-weight:600;color:var(--ink)}.ncv-list-when{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.82rem;font-weight:600;padding-top:.15rem;color:var(--accent)}.ncv-embed{color:var(--ink-2)}.ncv-embed .bg-current{background-color:var(--accent)}@media(min-width:640px){.ncv-list li{grid-template-columns:minmax(0,8.5rem) minmax(0,1fr)}}.ncv-section--contact{padding-bottom:clamp(3.5rem,8vw,6rem)}.ncv-contact{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:2.5rem;padding:clamp(1.75rem,5vw,3.5rem);border:1px solid #0f2a22;border-radius:2rem;background:#0f2a22;color:#f6f4ee}@media(min-width:1024px){.ncv-contact{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:start}}.ncv-contact-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40rem 22rem at 100% 0%,rgba(198,243,107,.16),transparent 70%),radial-gradient(30rem 20rem at 0% 100%,rgba(45,212,191,.12),transparent 70%)}.ncv-eyebrow--on-dark{color:#c6f36b}.ncv-eyebrow--on-dark .ncv-eyebrow-num{color:#f6f4eeb3}.ncv-contact-h{color:#f6f4ee}.ncv-contact-note{margin-top:1.25rem;max-width:42ch;color:#f6f4eec7}.ncv-contact-list{display:grid;gap:1.1rem;margin-top:1.75rem}.ncv-contact-list dt{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#f6f4eeb3}.ncv-contact-list a{font-family:var(--font-brand, "Bricolage Grotesque", system-ui, sans-serif);font-weight:700;font-size:clamp(1.3rem,.9rem + 1.6vw,2rem);letter-spacing:-.02em;color:#c6f36b;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;overflow-wrap:anywhere}.ncv-contact-list a:hover{color:#f6f4ee}@media screen{:root[data-cv-theme=dark] .ncv{--surface-solid: rgba(7, 16, 13, .78);--cv-plate: #0a1411}:root[data-cv-theme=dark] .ncv .h0{--c1: #7cf2b4;--c2: #c6f36b;--c3: #3f9f76;--cv-bg: radial-gradient(120% 90% at 80% 10%, #16382b, #08130f 70%);--cv-plate: #0a1712}:root[data-cv-theme=dark] .ncv .h1{--c1: #7cb7ff;--c2: #d2e6ff;--c3: #3f6fb0;--cv-bg: radial-gradient(120% 90% at 80% 10%, #16294a, #070d18 70%);--cv-plate: #0a1120}:root[data-cv-theme=dark] .ncv .h2{--c1: #ffc36b;--c2: #ffe2a8;--c3: #a8752c;--cv-bg: radial-gradient(120% 90% at 80% 10%, #3a2a10, #120c05 70%);--cv-plate: #171007}:root[data-cv-theme=dark] .ncv .h3{--c1: #b69cff;--c2: #e4daff;--c3: #6d56b8;--cv-bg: radial-gradient(120% 90% at 80% 10%, #2b1f52, #0d0918 70%);--cv-plate: #120d22}:root[data-cv-theme=dark] .ncv .h4{--c1: #5eead4;--c2: #c2fff3;--c3: #2c978a;--cv-bg: radial-gradient(120% 90% at 80% 10%, #0f3a37, #051312 70%);--cv-plate: #071a18}:root[data-cv-theme=dark] .ncv .h5{--c1: #ff9a80;--c2: #ffd6ca;--c3: #b25a44;--cv-bg: radial-gradient(120% 90% at 80% 10%, #43200f, #150906 70%);--cv-plate: #1c0c07}:root[data-cv-theme=dark] .ncv-art .soft{opacity:.16}:root[data-cv-theme=dark] .ncv-art-g{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--c1) 55%,transparent))}:root[data-cv-theme=dark] .ncv-grid{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(70% 80% at 70% 10%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(70% 80% at 70% 10%,#000 0%,transparent 75%)}:root[data-cv-theme=dark] .ncv-orb--1{opacity:.2}:root[data-cv-theme=dark] .ncv-orb--2{opacity:.14}:root[data-cv-theme=dark] .ncv-orb--3{opacity:.16}:root[data-cv-theme=dark] .ncv-live{box-shadow:0 0 0 3px #c6f36b26,0 0 12px #c6f36b}:root[data-cv-theme=dark] .ncv-name{background:linear-gradient(100deg,#f4f8f4 0% 35%,#c6f36b 70%,#7cf2b4);-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-cv-theme=dark] .ncv-stat{background:linear-gradient(160deg,#ffffff0f,#ffffff04);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}:root[data-cv-theme=dark] .ncv-stat-num{background:linear-gradient(180deg,#fff,#c9f58a);-webkit-background-clip:text;background-clip:text;color:transparent}:root[data-cv-theme=dark] .ncv-stat-unit,:root[data-cv-theme=dark] .ncv-stat-pre{-webkit-text-fill-color:#c6f36b}:root[data-cv-theme=dark] .ncv-btn--primary:hover{box-shadow:0 0 0 1px #c6f36b80,0 10px 40px -8px #c6f36b8c}:root[data-cv-theme=dark] .ncv-fan-card{box-shadow:0 30px 80px -30px #000000e6,0 0 0 1px #ffffff0a;background:#0c1612}:root[data-cv-theme=dark] .ncv-pcard:hover{border-color:color-mix(in srgb,var(--c1) 45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--c1) 25%,transparent),0 30px 80px -30px color-mix(in srgb,var(--c1) 45%,transparent)}:root[data-cv-theme=dark] .ncv-pcard:hover:before{opacity:1}:root[data-cv-theme=dark] .ncv-job-rail:before{background:linear-gradient(180deg,#c6f36b99,#ffffff1a 30%)}:root[data-cv-theme=dark] .ncv-job.is-latest .ncv-job-rail:after{box-shadow:0 0 0 5px #c6f36b26,0 0 18px #c6f36b}:root[data-cv-theme=dark] .ncv-skill.is-accent{background:linear-gradient(160deg,#c6f36b1f,#c6f36b05);border-color:#c6f36b4d}:root[data-cv-theme=dark] .ncv-contact{background:linear-gradient(140deg,#10261e,#08120e 60%);border-color:#c6f36b47;box-shadow:0 0 0 1px #c6f36b0f,0 40px 120px -50px #c6f36b73}}@media screen and (prefers-reduced-motion:no-preference){:root[data-cv-theme=dark] .ncv-motion .ncv-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}:root[data-cv-theme=dark] .ncv-motion .ncv-reveal.is-in{opacity:1;transform:none}:root[data-cv-theme=dark] .ncv-motion .ncv-reveal.is-in .ncv-pcard:hover{transform:translateY(-6px)}:root[data-cv-theme=dark] .ncv-orb{animation:ncv-drift 22s ease-in-out infinite alternate}:root[data-cv-theme=dark] .ncv-orb--2{animation-duration:28s;animation-delay:-6s}:root[data-cv-theme=dark] .ncv-orb--3{animation-duration:34s;animation-delay:-12s}:root[data-cv-theme=dark] .ncv-fan-card{animation:ncv-float 7s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -2.3s)}:root[data-cv-theme=dark] .ncv-fan:hover .ncv-fan-card{animation-play-state:paused}:root[data-cv-theme=dark] .ncv-live{animation:ncv-blink 2.4s ease-in-out infinite}:root[data-cv-theme=dark] .ncv-pcard:hover .a-pulse,:root[data-cv-theme=dark] .ncv-fan-card .a-pulse{animation:ncv-pulse 2.6s ease-in-out infinite}:root[data-cv-theme=dark] .ncv-pcard:hover .a-dash{stroke-dasharray:5 7;animation:ncv-dash 1.6s linear infinite}:root[data-cv-theme=dark] .ncv-pcard:hover .a-rise{animation:ncv-rise 1.8s ease-in-out infinite alternate}}@keyframes ncv-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-6rem,4rem,0) scale(1.15)}}@keyframes ncv-float{0%{translate:0 0}to{translate:0 -10px}}@keyframes ncv-blink{50%{opacity:.45}}@keyframes ncv-pulse{50%{transform:scale(1.12);opacity:.85}}@keyframes ncv-dash{to{stroke-dashoffset:-24}}@keyframes ncv-rise{to{transform:scaleY(1.12)}}@media print{.ncv{font-size:10.5pt;background:#fff}.ncv-hero-bg,.ncv-fan,.ncv-cover,.ncv-contact-form,.ncv-contact-glow{display:none!important}.ncv-card,.ncv-stat{box-shadow:none}.ncv-reveal{opacity:1!important;transform:none!important}.ncv-section{padding-block:1.25rem}.ncv-hero{padding-block:0 1rem}.ncv-name{font-size:30pt}.ncv-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.ncv-stat-num{font-size:20pt}.ncv-h2{font-size:18pt}.ncv-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.ncv-p{grid-column:auto!important;break-inside:avoid}.ncv-pcard{display:flex!important}.ncv-p .ncv-pbody{padding:.8rem 1rem!important}.ncv-p .ncv-ptext{font-size:inherit!important}.ncv-p .ncv-h3{font-size:13pt!important}.ncv-job,.ncv-skill,.ncv-plain{break-inside:avoid}.ncv-contact{background:#fff;color:#111513;border-color:#ddd;padding:1rem 1.25rem}.ncv-contact-h,.ncv-contact-note,.ncv-contact-list dt{color:#111513}.ncv-contact-list a{color:#1f5f4a;font-size:13pt}.ncv-eyebrow--on-dark{color:#1f5f4a}.ncv-skill.is-accent{background:#fff;border-color:var(--line)}.ncv-skill.is-accent .ncv-h4{color:#111513}.ncv-skill.is-accent .ncv-count-badge{color:#5a605c}.ncv-skill.is-accent .ncv-chip{background:var(--chip-bg);border-color:transparent;color:var(--chip-ink)}}.nv-print{position:absolute;left:-10000px;top:0;width:210mm}.nv-print .print-sheet{position:relative;width:210mm;min-height:296mm;overflow:hidden;background:#fff;padding:12mm 14mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}@media print{@page{size:A4;margin:0}html,body{background:#fff!important}.cv-screen,#nett{display:none!important}.nv-print{position:static;left:auto;width:auto}.nv-print .print-sheet{margin:0;break-before:page;max-height:296mm;box-shadow:none}.nv-print .print-sheet:first-child{break-before:auto}}
