.b1-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--b1-paper:var(--pf-bg,#fafaf8);--b1-ink:var(--pf-text,#1a1a1a);--b1-muted:var(--pf-muted,#525252);--b1-rule:var(--pf-border,#dcd9d0);--b1-surface:var(--pf-surface,#f2f0ea);--b1-accent:var(--pf-accent,#b91c1c);--b1-display:"Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--b1-serif:"Source Serif 4", ui-serif, Georgia, Cambria, "Times New Roman", serif;--b1-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--b1-gutter:clamp(20px, 5vw, 64px);--b1-measure:68ch;--b1-ease:cubic-bezier(.23, 1, .32, 1);--b1-hairline:1px solid var(--b1-rule);background:var(--b1-paper);color:var(--b1-ink);font-family:var(--b1-serif);min-height:100vh;min-height:100svh;font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.62;overflow-x:clip}.b1-page :where(h1,h2,h3){font-family:var(--b1-display);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.05}.b1-page :where(p,li,dd){text-wrap:pretty}.b1-page ::selection{background:var(--b1-accent);color:var(--b1-paper)}.b1-skip{z-index:80;background:var(--b1-ink);color:var(--b1-paper);font-family:var(--b1-mono);letter-spacing:.06em;padding:10px 16px;font-size:.75rem;position:absolute;inset-block-start:0;inset-inline-start:-9999px}.b1-skip:focus-visible{inset-inline-start:var(--b1-gutter)}.b1-page :focus-visible{outline:2px solid var(--b1-accent);outline-offset:3px}.b1-page a:focus-visible{outline:2px solid var(--b1-accent);outline-offset:3px}.b1-page button:focus-visible{outline:2px solid var(--b1-accent);outline-offset:3px}.b1-page summary:focus-visible{outline:2px solid var(--b1-accent);outline-offset:3px}.b1-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--b1-accent);outline-offset:3px}:is(.b1-page [tabindex="-1"]:focus,.b1-page [tabindex="-1"]:focus-visible){outline:none}.b1-progress{background:var(--b1-accent);transform-origin:0;opacity:.35;z-index:70;pointer-events:none;block-size:3px;position:fixed;inset-block-start:0;inset-inline:0;transform:scaleX(1)}@supports (animation-timeline:scroll()){.b1-progress{opacity:1;animation:linear both b1-progress-grow;animation-timeline:scroll(root);transform:scaleX(0)}}@keyframes b1-progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.b1-hero,.b1-content,.b1-footer{max-inline-size:1320px;padding-inline:var(--b1-gutter);margin-inline:auto}.b1-nav{border-block-end:var(--b1-hairline);font-family:var(--b1-mono);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:16px 32px;padding-block:18px;font-size:.6875rem;display:flex}.b1-nav__mark{letter-spacing:.12em;font-weight:500}.b1-nav__links{flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;display:flex}.b1-nav__links a{color:var(--b1-muted);transition:color .16s var(--b1-ease)}@media (hover:hover){.b1-nav__links a:hover{color:var(--b1-accent)}}.b1-hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:clamp(28px,5vw,80px);padding-block:clamp(48px,8vw,112px) clamp(32px,5vw,64px);display:grid}.b1-hero__name{letter-spacing:-.045em;margin:0;font-size:clamp(2.75rem,7.4vw,6rem);font-weight:600;line-height:.92}.b1-hero__role{font-family:var(--b1-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--b1-muted);margin-block-start:clamp(14px,2vw,22px);font-size:clamp(.75rem,.7rem + .2vw,.8125rem)}.b1-hero__aside{border-block-start:2px solid var(--b1-ink);flex-direction:column;align-items:flex-start;gap:clamp(20px,3vw,32px);padding-block-start:clamp(16px,2.4vw,26px);display:flex}.b1-hero__summary{max-inline-size:46ch;font-size:clamp(1.0625rem,1rem + .5vw,1.375rem);line-height:1.5}.b1-cta{background:var(--b1-ink);color:var(--b1-paper);font-family:var(--b1-mono);letter-spacing:.12em;text-transform:uppercase;transition:transform .16s var(--b1-ease), background-color .16s var(--b1-ease);border-radius:2px;align-items:center;gap:.75em;padding:.85em 1.35em;font-size:.75rem;display:inline-flex}@media (hover:hover){.b1-cta:hover{background:var(--b1-accent)}}.b1-cta:active{transform:scale(.97)}.b1-cta__arrow{transition:transform .16s var(--b1-ease)}@media (hover:hover){.b1-cta:hover .b1-cta__arrow{transform:translate(3px)}}.b1-section{border-block-start:var(--b1-hairline);padding-block:clamp(44px,6vw,88px)}.b1-section__head{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:clamp(14px,2.4vw,28px);margin-block-end:clamp(26px,4vw,46px);display:grid}.b1-section__index{font-family:var(--b1-mono);letter-spacing:.1em;color:var(--b1-accent);font-size:.6875rem}.b1-section__title{font-size:clamp(1.5rem,1.15rem + 1.5vw,2.5rem)}.b1-section__rule{background:var(--b1-rule);grid-column:1/-1;block-size:1px;margin-block-start:12px;display:block}.b1-lede{max-inline-size:var(--b1-measure);font-size:clamp(1.0625rem,1rem + .5vw,1.3125rem);line-height:1.55}.b1-timeline__item{border-block-start:var(--b1-hairline);grid-template-columns:minmax(6.5rem,9.5rem) minmax(0,1fr);column-gap:clamp(16px,3vw,48px);padding-block:clamp(20px,2.6vw,32px);display:grid}.b1-timeline__item:first-child{border-block-start:0;padding-block-start:0}.b1-timeline__margin{font-family:var(--b1-mono);letter-spacing:.02em;flex-direction:column;gap:6px;font-size:.75rem;display:flex}.b1-timeline__place{letter-spacing:.06em;text-transform:uppercase;color:var(--b1-muted);font-size:.6875rem}.b1-timeline__title{letter-spacing:-.015em;font-size:clamp(1.125rem,1rem + .6vw,1.5rem)}.b1-timeline__org{color:var(--b1-muted);margin-block-start:4px;font-style:italic}.b1-timeline__points,.b1-project__points{max-inline-size:var(--b1-measure);gap:8px;margin-block-start:12px;display:grid}.b1-timeline__points li,.b1-project__points li{padding-inline-start:1.15em;position:relative}.b1-timeline__points li:before,.b1-project__points li:before{content:"";background:var(--b1-accent);block-size:1px;inline-size:7px;position:absolute;inset-block-start:.68em;inset-inline-start:0}.b1-tags{font-family:var(--b1-mono);letter-spacing:.04em;color:var(--b1-muted);flex-wrap:wrap;gap:4px 0;margin-block-start:14px;font-size:.6875rem;display:flex}.b1-tags__item:not(:last-child):after{content:"/";color:var(--b1-rule);margin-inline:.6em}.b1-projects{grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:clamp(24px,4vw,56px);display:grid}.b1-projects[data-count=single]{grid-template-columns:minmax(0,1fr)}.b1-projects__stack{border-inline-start:var(--b1-hairline);align-content:start;padding-inline-start:clamp(20px,3vw,40px);display:grid}.b1-projects__stack>.b1-project{border-block-start:var(--b1-hairline);padding-block:clamp(18px,2.4vw,28px)}.b1-projects__stack>.b1-project:first-child{border-block-start:0;padding-block-start:0}.b1-project__kicker{font-family:var(--b1-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--b1-accent);margin-block-end:10px;font-size:.6875rem}.b1-project__title{letter-spacing:-.025em;font-size:clamp(1.35rem,1.1rem + 1.1vw,2.25rem)}.b1-projects__stack .b1-project__title{font-size:clamp(1.0625rem,1rem + .35vw,1.25rem)}.b1-project__summary{max-inline-size:46ch;margin-block-start:12px}.b1-projects__stack .b1-project__summary{color:var(--b1-muted);font-size:.9375rem}.b1-projects__stack .b1-project__points{font-size:.9375rem}.b1-case{border-block-start:var(--b1-hairline);gap:12px;margin-block-start:clamp(18px,2.4vw,28px);padding-block-start:16px;display:grid}.b1-case__row{grid-template-columns:6.5rem minmax(0,1fr);align-items:start;gap:4px 16px;display:grid}.b1-case dt{font-family:var(--b1-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--b1-muted);padding-block-start:.4em;font-size:.625rem}.b1-case dd{max-inline-size:60ch;margin:0}.b1-case__metrics{font-family:var(--b1-mono);flex-wrap:wrap;gap:6px 16px;font-size:.75rem;display:flex}.b1-skills{display:grid}.b1-skills__group{border-block-start:var(--b1-hairline);grid-template-columns:minmax(7rem,12rem) minmax(0,1fr);align-items:baseline;gap:8px clamp(16px,3vw,48px);padding-block:14px;display:grid}.b1-skills__group:first-child{border-block-start:0;padding-block-start:0}.b1-skills__label{letter-spacing:-.01em;font-size:.9375rem}.b1-skills__list{font-family:var(--b1-mono);letter-spacing:.01em;flex-wrap:wrap;gap:6px 0;font-size:.8125rem;display:flex}.b1-skills__item:not(:last-child):after{content:"·";color:var(--b1-accent);margin-inline:.7em}.b1-certs__item{border-block-start:var(--b1-hairline);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:4px 24px;padding-block:14px;display:grid}.b1-certs__item:first-child{border-block-start:0;padding-block-start:0}.b1-certs__issuer{color:var(--b1-muted);font-style:italic}.b1-certs__date{font-family:var(--b1-mono);color:var(--b1-muted);font-size:.75rem}.b1-contact{gap:clamp(20px,3vw,32px);max-inline-size:640px;display:grid}.b1-contact__list{gap:10px;display:grid}.b1-contact__row{grid-template-columns:6rem minmax(0,1fr);align-items:baseline;gap:4px 16px;display:grid}.b1-contact__row dt{font-family:var(--b1-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--b1-muted);font-size:.625rem}.b1-contact__row dd{margin:0;font-size:clamp(1.0625rem,1rem + .35vw,1.25rem)}.b1-contact__row a{border-block-end:1px solid var(--b1-rule);transition:color .16s var(--b1-ease), border-color .16s var(--b1-ease)}@media (hover:hover){.b1-contact__row a:hover{color:var(--b1-accent);border-block-end-color:var(--b1-accent)}}.b1-contact__links{font-family:var(--b1-mono);letter-spacing:.04em;color:var(--b1-muted);flex-wrap:wrap;gap:8px 20px;font-size:.75rem;display:flex}.b1-contact__links a{transition:color .16s var(--b1-ease)}@media (hover:hover){.b1-contact__links a:hover{color:var(--b1-accent)}}.b1-footer{border-block-start:var(--b1-hairline);font-family:var(--b1-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--b1-muted);flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block:clamp(20px,3vw,30px) clamp(40px,6vw,72px);font-size:.6875rem;display:flex}.b1-reveal{opacity:1}@supports (animation-timeline:view()){.b1-reveal{animation:ease-out both b1-reveal-rise;animation-timeline:view();animation-range:entry entry 35%}.b1-reveal--item{animation-range:entry 10% entry 45%}}@keyframes b1-reveal-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.b1-page *,.b1-page :before,.b1-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.b1-reveal,.b1-reveal--item{opacity:1;animation:none;transform:none}.b1-progress{opacity:.3;animation:none;transform:scaleX(1)}.b1-cta,.b1-cta__arrow,.b1-nav__links a,.b1-contact__row a,.b1-contact__links a{transition:none}.b1-cta:active,.b1-cta:hover .b1-cta__arrow{transform:none}}@media (max-width:768px){.b1-hero__inner{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(24px,6vw,36px);padding-block:clamp(36px,9vw,56px) clamp(28px,6vw,40px)}.b1-hero__name{font-size:clamp(2.5rem,11vw,4.25rem)}.b1-nav{flex-direction:column;align-items:flex-start;gap:10px}.b1-nav__links{justify-content:flex-start}.b1-projects{grid-template-columns:minmax(0,1fr);row-gap:28px}.b1-projects__stack{border-inline-start:0;padding-inline-start:0}.b1-projects__stack>.b1-project:first-child{border-block-start:var(--b1-hairline);padding-block-start:20px}.b1-timeline__item{grid-template-columns:minmax(0,1fr);row-gap:10px}.b1-skills__group{grid-template-columns:minmax(0,1fr)}.b1-certs__item{grid-template-columns:minmax(0,1fr) auto}.b1-certs__issuer{grid-column:1}.b1-case__row{grid-template-columns:minmax(0,1fr);gap:2px}.b1-case dt{padding-block-start:0}}@media (max-width:375px){.b1-page{--b1-gutter:16px}.b1-hero__name{font-size:3rem}.b1-contact__row{grid-template-columns:minmax(0,1fr)}.b1-footer{flex-direction:column}}@media print{*,:before,:after{transition:none!important;animation:none!important}.b1-skip,.b1-progress{display:none!important}}.b1-hero__photo{margin:0 0 clamp(16px,2.2vw,26px)}.b1-hero__photo-img{border:1px solid var(--b1-rule);object-fit:cover;border-radius:50%;width:96px;height:96px;display:block}@media (max-width:720px){.b1-hero__photo-img{width:80px;height:80px}}.b2-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--b2-bg:var(--pf-bg,#fff);--b2-text:var(--pf-text,#0f172a);--b2-muted:var(--pf-muted,#475569);--b2-border:var(--pf-border,#e2e8f0);--b2-rule:var(--pf-text,#0f172a);--b2-surface:var(--pf-surface,#f8fafc);--b2-accent:var(--pf-accent,#0d9488);--b2-accent-text:color-mix(in oklab, var(--b2-accent) 72%, var(--b2-text));--b2-accent-soft:color-mix(in srgb, var(--b2-accent) 10%, var(--b2-bg));--b2-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--b2-body:"Inter Tight", ui-sans-serif, system-ui, sans-serif;--b2-mono:"IBM Plex Mono", ui-monospace, monospace;--b2-nav-h:64px;--b2-gutter:clamp(20px, 4vw, 40px);--b2-rail:280px;background:var(--b2-bg);color:var(--b2-text);font-family:var(--b2-body);min-height:100vh;-webkit-font-smoothing:antialiased;min-height:100svh;font-size:17px;line-height:1.6}.b2-page h1,.b2-page h2,.b2-page h3,.b2-page p,.b2-page ul,.b2-page ol,.b2-page dl,.b2-page dd{margin:0;padding:0}.b2-page ul,.b2-page ol{list-style:none}.b2-page a{color:inherit;text-decoration:none}.b2-page :focus-visible{outline:2px solid var(--b2-accent);outline-offset:3px}.b2-page a:focus-visible{outline:2px solid var(--b2-accent);outline-offset:3px}.b2-page button:focus-visible{outline:2px solid var(--b2-accent);outline-offset:3px}.b2-page summary:focus-visible{outline:2px solid var(--b2-accent);outline-offset:3px}.b2-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--b2-accent);outline-offset:3px}:is(.b2-page [tabindex="-1"]:focus,.b2-page [tabindex="-1"]:focus-visible){outline:none}.b2-skip{z-index:200;background:var(--b2-text);color:var(--b2-bg);font-family:var(--b2-mono);letter-spacing:.06em;padding:10px 16px;font-size:.75rem;text-decoration:none;position:absolute;top:-9999px;left:0}:is(.b2-skip:focus,.b2-skip:focus-visible){top:0;left:var(--b2-gutter)}.b2-nav{background:color-mix(in srgb, var(--b2-bg) 92%, transparent);border-bottom:1px solid var(--b2-border);height:var(--b2-nav-h);padding:0 var(--b2-gutter);z-index:20;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);justify-content:space-between;align-items:center;gap:24px;display:flex;position:sticky;top:0}.b2-nav__name{font-family:var(--b2-mono);letter-spacing:-.01em;font-size:.8125rem;position:relative}.b2-nav__name:before{color:var(--b2-accent-text);content:"›";margin-right:8px}.b2-nav__links{font-family:var(--b2-mono);letter-spacing:.02em;color:var(--b2-muted);flex-wrap:wrap;gap:20px;font-size:.75rem;display:flex}.b2-nav__links a{border-bottom:1px solid #0000;padding-bottom:2px;transition:color .16s,border-color .16s}@media (hover:hover){.b2-nav__links a:hover{border-color:var(--b2-accent);color:var(--b2-text)}}.b2-dossier{max-width:1240px;padding:0 var(--b2-gutter) 56px;timeline-scope:--b2-sec-brief, --b2-sec-experience, --b2-sec-projects;margin:0 auto}.b2-hero{view-timeline-name:--b2-sec-brief;view-timeline-axis:block;padding:clamp(40px,6vw,76px) 0 clamp(28px,4vw,40px)}.b2-hero__eyebrow{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.18em;text-transform:uppercase;gap:10px;margin-bottom:20px;font-size:.6875rem;display:flex}.b2-hero__eyebrow span:first-child{color:var(--b2-accent-text)}.b2-hero__headline{font-family:var(--b2-display);letter-spacing:-.035em;text-wrap:balance;max-width:24ch;font-size:clamp(2rem,3.4vw,2.75rem);font-weight:600;line-height:1.05}.b2-hero__summary{color:var(--b2-muted);text-wrap:pretty;max-width:62ch;margin-top:18px;font-size:1.0625rem;line-height:1.6}.b2-strip{border-bottom:1px solid var(--b2-rule);border-top:1px solid var(--b2-rule);flex-wrap:wrap;align-items:center;gap:clamp(16px,3vw,36px);margin-top:clamp(28px,4vw,44px);padding:14px 0;display:flex}.b2-strip__group{align-items:center;gap:clamp(16px,3vw,36px);display:flex}.b2-strip__divider{background:var(--b2-border);width:1px;height:26px;display:block}.b2-strip__metric{font-family:var(--b2-mono);letter-spacing:.12em;white-space:nowrap;align-items:baseline;gap:8px;display:flex}.b2-strip__value{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.125rem;font-weight:500}.b2-strip__label{color:var(--b2-muted);text-transform:uppercase;font-size:.6875rem}.b2-body{border-top:1px solid var(--b2-border);grid-template-columns:var(--b2-rail) minmax(0, 1fr);gap:clamp(32px,5vw,64px);padding-top:40px;display:grid}.b2-body--solo{grid-template-columns:minmax(0,1fr)}.b2-brief{color:#334155;text-wrap:pretty;max-width:68ch;padding:4px 0 18px;font-size:1rem;line-height:1.65}.b2-sidebar{top:calc(var(--b2-nav-h) + 24px);flex-direction:column;align-self:start;gap:4px;display:flex;position:sticky}.b2-sidebar__nav{flex-direction:column;gap:10px;padding-bottom:20px;display:flex}.b2-dot{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font-size:.6875rem;display:flex}@media (hover:hover){.b2-dot:hover{color:var(--b2-text)}}.b2-dot__mark{background:var(--b2-border);border-radius:50%;width:6px;height:6px;display:block}.b2-block{border-top:1px solid var(--b2-border);padding:16px 0 20px}.b2-block__title{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;font-size:.6875rem;font-weight:500}.b2-block__group+.b2-block__group{margin-top:14px}.b2-block__category{color:var(--b2-accent-text);font-family:var(--b2-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:.625rem}.b2-skill-list li{border-bottom:1px dotted var(--b2-border);justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:.8125rem;display:flex}.b2-skill-list li:last-child{border-bottom:0}.b2-skill-list__level{color:var(--b2-muted);font-family:var(--b2-mono);font-variant-numeric:tabular-nums;font-size:.625rem}.b2-cert-list li{border-bottom:1px dotted var(--b2-border);flex-direction:column;gap:2px;padding:7px 0;display:flex}.b2-cert-list li:last-child{border-bottom:0}.b2-cert-list__title{font-size:.8125rem;line-height:1.35}.b2-cert-list__meta{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.625rem}.b2-main{flex-direction:column;gap:clamp(40px,5vw,64px);min-width:0;display:flex}.b2-section{scroll-margin-top:calc(var(--b2-nav-h) + 24px)}.b2-section#experience{view-timeline-name:--b2-sec-experience;view-timeline-axis:block}.b2-section#projects{view-timeline-name:--b2-sec-projects;view-timeline-axis:block}.b2-section__head{border-bottom:1px solid var(--b2-rule);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;padding-bottom:10px;display:flex}.b2-section__title{font-family:var(--b2-display);letter-spacing:-.02em;font-size:1.375rem;font-weight:600}.b2-section__count{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.6875rem}.b2-records{flex-direction:column;display:flex}.b2-record{border-bottom:1px solid var(--b2-border);border-left:3px solid var(--b2-accent);padding:18px 0 18px 18px}.b2-record:last-child{border-bottom:0}.b2-record__top{justify-content:space-between;gap:16px;display:flex}.b2-record__role{font-family:var(--b2-display);letter-spacing:-.01em;font-size:1rem;font-weight:600}.b2-record__org{color:var(--b2-muted);margin-top:2px;font-size:.8125rem}.b2-record__loc{color:var(--b2-muted)}.b2-record__period{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding-top:3px;font-size:.6875rem}.b2-record__highlights{flex-direction:column;gap:5px;margin-top:12px;display:flex}.b2-record__highlights li{color:#334155;gap:9px;font-size:.8125rem;line-height:1.55;display:flex}.b2-record__highlights li:before{background:var(--b2-accent);content:"";flex:none;width:3px;height:3px;margin-top:.62em}.b2-record__tags{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:4px 12px;margin-top:12px;font-size:.625rem;display:flex}.b2-record__tags span:before{color:var(--b2-border);content:"#";margin-right:2px}.b2-projects{background:var(--b2-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:12px;display:grid}.b2-project{background:var(--b2-bg);flex-direction:column;gap:6px;padding:20px 20px 22px;display:flex}.b2-project:last-child:nth-child(odd){grid-column:1/-1}.b2-project__index{color:var(--b2-accent-text);font-family:var(--b2-mono);letter-spacing:.14em;font-size:.625rem}.b2-project__title{font-family:var(--b2-display);letter-spacing:-.01em;font-size:1rem;font-weight:600;line-height:1.25}.b2-project__subtitle{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.625rem}.b2-project__detail{color:#334155;margin-top:4px;font-size:.8125rem;line-height:1.55}.b2-project__tags{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:4px 10px;margin-top:auto;padding-top:10px;font-size:.625rem;display:flex}.b2-education{border-top:1px solid var(--b2-border);grid-template-columns:var(--b2-rail) minmax(0, 1fr);gap:clamp(12px,2vw,24px) clamp(32px,5vw,64px);margin-top:clamp(40px,5vw,64px);padding-top:26px;display:grid}.b2-education__title{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.18em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.b2-education__list li{flex-wrap:wrap;align-items:baseline;gap:8px;padding:2px 0 8px;display:flex}.b2-education__degree{font-family:var(--b2-display);font-size:.9375rem;font-weight:500}.b2-education__sep{color:var(--b2-border)}.b2-education__school{color:var(--b2-muted);font-size:.875rem}.b2-education__period{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.08em;margin-left:auto;font-size:.6875rem}.b2-contact{border-top:1px solid var(--b2-rule);grid-template-columns:var(--b2-rail) minmax(0, 1fr);scroll-margin-top:calc(var(--b2-nav-h) + 24px);gap:clamp(12px,2vw,24px) clamp(32px,5vw,64px);margin-top:clamp(40px,5vw,64px);padding-top:22px;display:grid}.b2-contact__head{flex-direction:column;gap:6px;display:flex}.b2-contact__title{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.18em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.b2-contact__handle{font-family:var(--b2-mono);font-size:.75rem}.b2-contact__list{font-family:var(--b2-mono);flex-direction:column;gap:2px;font-size:.8125rem;display:flex}.b2-contact__row{border-bottom:1px dotted var(--b2-border);grid-template-columns:72px minmax(0,1fr);align-items:baseline;gap:16px;padding:6px 0;display:grid}.b2-contact__row:last-child{border-bottom:0}.b2-contact__row dt{color:var(--b2-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.625rem}.b2-contact__row dd{overflow-wrap:anywhere}.b2-contact__row a{border-bottom:1px solid var(--b2-accent);color:var(--b2-accent-text)}@media (hover:hover){.b2-contact__row a:hover{background:var(--b2-accent-soft)}}.b2-footer{border-top:1px solid var(--b2-border);color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:18px;font-size:.625rem;display:flex}@keyframes b2-data-enter{0%{filter:blur(4px);opacity:0;transform:translateY(12px)scale(.95)}to{filter:blur();opacity:1;transform:translateY(0)scale(1)}}@keyframes b2-divider-enter{0%{filter:blur(4px);opacity:0;transform:translateY(12px)scale(.95)}to{filter:blur();opacity:1;transform:translateY(0)scale(1)}}@keyframes b2-declassify{0%{opacity:0;border-left-color:#0000;transform:translate(-16px)}to{border-left-color:var(--b2-accent);opacity:1;transform:translate(0)}}@keyframes b2-dot-active{0%,to{background:var(--b2-border);transform:scale(1)}18%,82%{background:var(--b2-accent);transform:scale(1.5)}}@supports (animation-timeline:view()){.b2-strip__metric{animation:ease-out both b2-data-enter;animation-timeline:view();animation-range:entry entry 50%}.b2-strip__divider{animation:ease-out both b2-divider-enter;animation-timeline:view();animation-range:entry 10% entry 40%}.b2-record,.b2-project{animation:ease-out both b2-declassify;animation-timeline:view();animation-range:entry 5% entry 40%}.b2-dot--brief .b2-dot__mark{animation:linear both b2-dot-active;animation-timeline:--b2-sec-brief;animation-range:cover}.b2-dot--experience .b2-dot__mark{animation:linear both b2-dot-active;animation-timeline:--b2-sec-experience;animation-range:cover}.b2-dot--projects .b2-dot__mark{animation:linear both b2-dot-active;animation-timeline:--b2-sec-projects;animation-range:cover}}@media (prefers-reduced-motion:reduce){.b2-page *,.b2-page :before,.b2-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.b2-strip__metric,.b2-strip__divider,.b2-record,.b2-project,.b2-dot__mark{filter:none;opacity:1;transform:none;animation:none!important}.b2-record{border-left-color:var(--b2-accent)}.b2-dot__mark{background:var(--b2-border)}.b2-nav__links a,.b2-dot{transition:none}}@media (max-width:1024px){.b2-page{--b2-rail:232px}}@media (max-width:768px){.b2-body{grid-template-columns:minmax(0,1fr)}.b2-sidebar{border-bottom:1px solid var(--b2-border);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 24px;padding-bottom:24px;display:grid;position:static}.b2-sidebar__nav{flex-flow:wrap;grid-column:1/-1;gap:18px;padding-bottom:16px}.b2-block{border-top:1px solid var(--b2-border)}.b2-education,.b2-contact{grid-template-columns:minmax(0,1fr)}.b2-education__list li{padding-bottom:10px}.b2-education__period{margin-left:0}}@media (max-width:560px){.b2-nav{height:auto;padding:14px var(--b2-gutter);flex-direction:column;align-items:flex-start;gap:6px}.b2-nav__links{gap:14px}.b2-dossier{padding-bottom:40px}.b2-hero__headline{font-size:1.875rem}.b2-strip{gap:10px 16px;padding:12px 0}.b2-strip__group{gap:16px}.b2-strip__divider{height:18px}.b2-strip__metric{letter-spacing:.08em}.b2-strip__value{font-size:1rem}.b2-strip__label{font-size:.625rem}.b2-projects{grid-template-columns:minmax(0,1fr)}.b2-record__top{flex-direction:column;gap:4px}.b2-record__period{padding-top:0}.b2-contact__row{grid-template-columns:minmax(0,1fr);gap:4px}}@media print{*,:before,:after{transition:none!important;animation:none!important}.b2-skip{display:none!important}}.b2-sidebar__photo{margin:0 0 20px}.b2-sidebar__photo-img{background:var(--b2-surface);border:1px solid var(--b2-border);object-fit:cover;border-radius:10px;width:80px;height:80px;display:block}.b2-sidebar__photo-cap{color:var(--b2-muted);font-family:var(--b2-mono);letter-spacing:.18em;text-transform:uppercase;margin-top:6px;font-size:.625rem}@media (max-width:860px){.b2-sidebar__photo{grid-column:1/-1;margin-bottom:4px}}.b3-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--b3-bg:var(--pf-bg,#fff);--b3-text:var(--pf-text,#171717);--b3-muted:var(--pf-muted,#525252);--b3-border:var(--pf-border,#e5e5e5);--b3-surface:var(--pf-surface,#f5f5f5);--b3-accent:var(--pf-accent,#7c3aed);--b3-accent-soft:color-mix(in srgb, var(--b3-accent) 10%, var(--b3-bg));--b3-display:"Cabinet Grotesk", ui-sans-serif, system-ui, sans-serif;--b3-body:"DM Sans", ui-sans-serif, system-ui, sans-serif;--b3-nav-h:64px;--b3-gutter:clamp(20px, 4vw, 48px);background:var(--b3-bg);color:var(--b3-text);font-family:var(--b3-body);min-height:100vh;-webkit-font-smoothing:antialiased;min-height:100svh;font-size:17px;line-height:1.6}.b3-page h1,.b3-page h2,.b3-page h3,.b3-page p,.b3-page ul,.b3-page ol,.b3-page figure{margin:0;padding:0}.b3-page ul,.b3-page ol{list-style:none}.b3-page a{color:inherit;text-decoration:none}.b3-page :focus-visible{outline:2px solid var(--b3-accent);outline-offset:3px}.b3-page a:focus-visible{outline:2px solid var(--b3-accent);outline-offset:3px}.b3-page button:focus-visible{outline:2px solid var(--b3-accent);outline-offset:3px}.b3-page summary:focus-visible{outline:2px solid var(--b3-accent);outline-offset:3px}.b3-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--b3-accent);outline-offset:3px}:is(.b3-page [tabindex="-1"]:focus,.b3-page [tabindex="-1"]:focus-visible){outline:none}.b3-skip{z-index:200;background:var(--b3-accent);color:#fff;letter-spacing:.02em;padding:10px 16px;font-size:.8125rem;text-decoration:none;position:absolute;top:-9999px;left:0}:is(.b3-skip:focus,.b3-skip:focus-visible){top:0;left:var(--b3-gutter)}.b3-page main{max-width:1320px;padding:0 var(--b3-gutter);margin:0 auto}.b3-nav{height:var(--b3-nav-h);max-width:1320px;padding:0 var(--b3-gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.b3-nav__name{font-family:var(--b3-display);letter-spacing:-.02em;font-size:1rem;font-weight:500}.b3-nav__links{color:var(--b3-muted);gap:clamp(16px,2.4vw,30px);font-size:.875rem;display:flex}.b3-nav__links a{transition:color .16s;position:relative}.b3-nav__links a:after{background:var(--b3-accent);content:"";transform-origin:0;width:100%;height:1px;transition:transform .2s cubic-bezier(.23,1,.32,1);position:absolute;bottom:-3px;left:0;transform:scaleX(0)}@media (hover:hover){.b3-nav__links a:hover{color:var(--b3-text)}.b3-nav__links a:hover:after{transform:scaleX(1)}}.b3-hero{padding:8px 0 clamp(36px,5vw,64px)}.b3-hero__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.b3-hero__cell{min-width:0;display:block}.b3-hero__frame{aspect-ratio:4/3;background:var(--b3-surface);position:relative;overflow:hidden}.b3-hero__img{font-family:var(--b3-display);letter-spacing:.02em;will-change:transform;justify-content:center;align-items:center;font-size:clamp(1.75rem,4vw,3rem);font-weight:500;display:flex;position:absolute;inset:-7% 0}.b3-hero__caption{color:var(--b3-text);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;background:#ffffffdb;border-radius:999px;max-width:calc(100% - 24px);padding:4px 10px;font-size:.6875rem;position:absolute;bottom:12px;left:12px;overflow:hidden}.b3-hero__name{background:var(--b3-surface);flex-direction:column;justify-content:flex-end;gap:10px;padding:clamp(24px,3vw,44px);display:flex}.b3-hero__identity{flex-direction:column;gap:10px;display:flex}.b3-hero__eyebrow{color:var(--b3-accent);letter-spacing:.2em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.b3-hero__title{font-family:var(--b3-display);letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1}.b3-hero__role{color:var(--b3-text);font-size:.9375rem}.b3-hero__tagline{color:var(--b3-muted);max-width:38ch;font-size:.875rem;line-height:1.55}.b3-hero[data-tiles="2"] .b3-hero__name{grid-column:1/-1;min-height:180px}.b3-hero[data-tiles="1"] .b3-hero__name,.b3-hero[data-tiles="0"] .b3-hero__name{min-height:240px}.b3-hero[data-tiles="0"] .b3-hero__grid{grid-template-columns:minmax(0,1fr)}.b3-about{border-top:1px solid var(--b3-border);padding:clamp(44px,6vw,80px) 0}.b3-about__text{text-align:center;text-wrap:pretty;max-width:60ch;margin:0 auto;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.65}.b3-work{padding-bottom:clamp(56px,8vw,104px)}.b3-work__head{border-top:1px solid var(--b3-border);justify-content:space-between;align-items:baseline;padding:clamp(32px,4vw,48px) 0 24px;display:flex}.b3-work__title{font-family:var(--b3-display);letter-spacing:-.03em;font-size:clamp(1.375rem,2vw,1.75rem);font-weight:500}.b3-work__count{color:var(--b3-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.b3-work__grid{columns:3;column-gap:16px}.b3-piece{break-inside:avoid;min-width:0;margin-bottom:16px;display:block}.b3-piece__summary{cursor:pointer;list-style:none;display:block}.b3-piece__summary::-webkit-details-marker{display:none}.b3-piece__summary::marker{content:""}.b3-piece__frame{background:var(--b3-surface);display:block;position:relative;overflow:hidden}.b3-piece__img{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.b3-piece__initials{font-family:var(--b3-display);letter-spacing:.02em;font-size:clamp(1.5rem,2.6vw,2.25rem);font-weight:500}.b3-piece__overlay{flex-direction:column;gap:2px;padding:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.b3-piece__overlay:before{content:"";opacity:0;background:linear-gradient(#17171700,#171717c7);transition:opacity .22s;position:absolute;inset:0}.b3-piece__overlay-title,.b3-piece__overlay-sub{color:#fff;opacity:0;transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .2s cubic-bezier(.23,1,.32,1);position:relative;transform:translateY(8px)}.b3-piece__overlay-title{font-family:var(--b3-display);letter-spacing:-.01em;font-size:1rem;font-weight:500;line-height:1.25}.b3-piece__overlay-sub{opacity:0;font-size:.75rem}.b3-piece__summary:focus-visible .b3-piece__overlay:before{opacity:1}@media (hover:hover){.b3-piece__summary:hover .b3-piece__overlay:before{opacity:1}}.b3-piece__summary:focus-visible .b3-piece__overlay-title{opacity:1;transform:translateY(0)}@media (hover:hover){.b3-piece__summary:hover .b3-piece__overlay-title{opacity:1;transform:translateY(0)}}.b3-piece__summary:focus-visible .b3-piece__overlay-sub{opacity:.72;transform:translateY(0)}@media (hover:hover){.b3-piece__summary:hover .b3-piece__overlay-sub{opacity:.72;transform:translateY(0)}}.b3-piece__toggle{color:var(--b3-text);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:background .16s,color .16s;display:flex;position:absolute;top:12px;right:12px}.b3-piece__toggle:before{content:"+";font-size:.875rem;line-height:1}.b3-piece[open] .b3-piece__toggle{background:var(--b3-accent);color:#fff}.b3-piece[open] .b3-piece__toggle:before{content:"-"}.b3-piece__body{border-bottom:1px solid var(--b3-border);padding:14px 2px 18px;animation:.24s cubic-bezier(.23,1,.32,1) both b3-detail-in}.b3-piece__detail{color:var(--b3-muted);font-size:.875rem;line-height:1.6}.b3-piece__points{flex-direction:column;gap:4px;margin-top:10px;display:flex}.b3-piece__points li{gap:8px;font-size:.8125rem;line-height:1.5;display:flex}.b3-piece__points li:before{background:var(--b3-accent);content:"";flex:none;width:3px;height:3px;margin-top:.62em}.b3-piece__tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.b3-piece__tags li{border:1px solid var(--b3-border);color:var(--b3-muted);letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-size:.6875rem}.b3-timeline{border-top:1px solid var(--b3-border);padding:clamp(32px,4vw,48px) 0 clamp(56px,8vw,96px)}.b3-timeline__head{justify-content:space-between;align-items:baseline;margin-bottom:24px;display:flex}.b3-timeline__title{font-family:var(--b3-display);letter-spacing:-.03em;font-size:clamp(1.375rem,2vw,1.75rem);font-weight:500}.b3-timeline__hint{color:var(--b3-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem}.b3-timeline__track{margin:0 calc(var(--b3-gutter) * -1);padding:4px var(--b3-gutter) 12px;scroll-snap-type:x mandatory;scrollbar-color:var(--b3-border) transparent;scrollbar-width:thin;gap:16px;display:flex;overflow-x:auto}.b3-stop{border-top:1px solid var(--b3-border);scroll-snap-align:start;flex:0 0 clamp(280px,32vw,360px);padding-top:22px;position:relative}.b3-stop__marker{background:var(--b3-accent);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0}.b3-stop__period{color:var(--b3-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.b3-stop__role{font-family:var(--b3-display);letter-spacing:-.015em;margin-top:6px;font-size:1.0625rem;font-weight:500}.b3-stop__org{color:var(--b3-muted);margin-top:2px;font-size:.8125rem}.b3-stop__points{flex-direction:column;gap:5px;margin-top:12px;display:flex}.b3-stop__points li{color:#404040;font-size:.875rem;line-height:1.55}.b3-skills{border-top:1px solid var(--b3-border);padding:clamp(32px,4vw,48px) 0 clamp(56px,8vw,96px)}.b3-skills__title{font-family:var(--b3-display);letter-spacing:-.03em;margin-bottom:24px;font-size:clamp(1.375rem,2vw,1.75rem);font-weight:500}.b3-skills__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px clamp(24px,4vw,56px);display:grid}.b3-skills__category{color:var(--b3-muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;font-size:.6875rem}.b3-skills__pills{flex-wrap:wrap;gap:8px;display:flex}.b3-skills__pills li{border:1px solid var(--b3-border);border-radius:999px;padding:6px 14px;font-size:.8125rem;transition:border-color .16s,color .16s,background .16s}@media (hover:hover){.b3-skills__pills li:hover{background:var(--b3-accent-soft);border-color:color-mix(in srgb, var(--b3-accent) 35%, var(--b3-border));color:var(--b3-accent)}}.b3-contact{border-top:1px solid var(--b3-border);text-align:center;padding:clamp(64px,9vw,128px) 0 clamp(48px,6vw,80px)}.b3-contact__eyebrow{color:var(--b3-accent);letter-spacing:.2em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.b3-contact__title{font-family:var(--b3-display);letter-spacing:-.04em;text-wrap:balance;max-width:22ch;margin:14px auto 0;font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:500;line-height:1.1}.b3-contact__cta{background:var(--b3-accent);color:#fff;border-radius:999px;margin-top:28px;padding:14px 28px;font-size:.9375rem;font-weight:500;transition:background .16s,transform .16s cubic-bezier(.23,1,.32,1);display:inline-block}@media (hover:hover){.b3-contact__cta:hover{background:color-mix(in srgb, var(--b3-accent) 86%, #000)}}.b3-contact__cta:active{transform:scale(.98)}.b3-contact__cta--static{background:var(--b3-surface);color:var(--b3-text)}.b3-contact__meta{color:var(--b3-muted);margin-top:18px;font-size:.8125rem}.b3-contact__links{flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:10px;font-size:.8125rem;display:flex}.b3-contact__links a{border-bottom:1px solid var(--b3-border);color:var(--b3-muted);padding-bottom:1px;transition:border-color .16s,color .16s}@media (hover:hover){.b3-contact__links a:hover{border-color:var(--b3-accent);color:var(--b3-accent)}}.b3-footer{border-top:1px solid var(--b3-border);color:var(--b3-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:22px 0 40px;font-size:.6875rem;display:flex}.b3-footer a{margin-left:12px}@media (hover:hover){.b3-footer a:hover{color:var(--b3-text)}}@keyframes b3-curtain{0%{clip-path:inset(100% 0 0);transform:scale(1.05)}to{clip-path:inset(0);transform:scale(1)}}@keyframes b3-caption-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes b3-depth{0%{transform:translateY(calc(var(--b3-depth-offset) * -1))}to{transform:translateY(var(--b3-depth-offset))}}@keyframes b3-detail-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline:view()){.b3-hero__caption{animation:ease-out both b3-caption-rise;animation-timeline:view();animation-range:entry 10% entry 60%}.b3-piece__img{animation:cubic-bezier(.77,0,.175,1) both b3-curtain;animation-timeline:view();animation-range:entry entry 50%}.b3-piece__overlay{animation:ease-out both b3-caption-rise;animation-timeline:view();animation-range:entry 25% entry 60%}.b3-hero__img{--b3-depth-offset:4%;animation:linear both b3-depth;animation-timeline:scroll(root);animation-range:0 100vh}.b3-hero__cell:nth-child(2) .b3-hero__img,.b3-hero__cell:nth-child(3) .b3-hero__img{--b3-depth-offset:8%}}@media (prefers-reduced-motion:reduce){.b3-page *,.b3-page :before,.b3-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.b3-hero__img,.b3-hero__caption,.b3-piece__img,.b3-piece__overlay,.b3-piece__body{clip-path:none;opacity:1;transform:none;animation:none!important}.b3-piece__overlay:before,.b3-piece__overlay-title,.b3-piece__overlay-sub,.b3-nav__links a:after,.b3-skills__pills li,.b3-contact__cta{transition:none}.b3-piece__overlay-title,.b3-piece__overlay-sub{opacity:1;transform:none}.b3-piece__overlay:before{opacity:1}}@media (hover:none){.b3-piece__overlay:before{opacity:1}.b3-piece__overlay-title{opacity:1;transform:none}.b3-piece__overlay-sub{opacity:.72;transform:none}}@media (max-width:1024px){.b3-work__grid{columns:2}.b3-skills__groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.b3-hero[data-tiles="3"] .b3-hero__cell:nth-child(3){display:none}.b3-hero[data-tiles="3"] .b3-hero__name,.b3-hero[data-tiles="2"] .b3-hero__name{grid-column:1/-1;min-height:200px}.b3-hero__title{font-size:clamp(1.875rem,6vw,2.5rem)}.b3-timeline__track{scroll-padding-left:var(--b3-gutter)}}@media (max-width:560px){.b3-hero__grid{grid-template-columns:minmax(0,1fr)}.b3-hero[data-tiles="3"] .b3-hero__cell:nth-child(2),.b3-hero[data-tiles="2"] .b3-hero__cell:nth-child(2){display:none}.b3-hero__name{min-height:220px}.b3-work__grid{columns:1}.b3-skills__groups{grid-template-columns:minmax(0,1fr)}.b3-timeline__track{scroll-snap-type:none;flex-direction:column;overflow-x:visible}.b3-stop{flex:auto}.b3-timeline__hint{display:none}.b3-contact__cta{overflow-wrap:anywhere;max-width:100%;padding:13px 22px}.b3-footer{flex-direction:column}}@media print{*,:before,:after{transition:none!important;animation:none!important}.b3-skip{display:none!important}}.b3-hero__photo{margin:0 0 4px}.b3-hero__photo-img{background:var(--b3-surface);border:1px solid var(--b3-border);object-fit:cover;border-radius:20px;width:88px;height:88px;display:block}@media (max-width:640px){.b3-hero__photo-img{width:72px;height:72px}}.c1-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c1-paper:var(--pf-bg,#fff);--c1-surface:var(--pf-surface,#f4f4f5);--c1-surface-raised:color-mix(in srgb, var(--c1-surface) 55%, var(--c1-paper));--c1-line:color-mix(in srgb, var(--pf-text,#18181b) 17%, var(--c1-paper));--c1-ink:var(--pf-text,#18181b);--c1-muted:var(--pf-muted,#52525b);--c1-accent:var(--pf-accent,#2563eb);--c1-accent-ink:#fff;--c1-accent-soft:color-mix(in srgb, var(--c1-accent) 12%, transparent);--c1-display:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;--c1-body:"Geist", ui-sans-serif, system-ui, sans-serif;--c1-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--c1-pad:clamp(16px, 1.4vw, 22px);--c1-gutter:clamp(20px, 4vw, 56px);--c1-max:1440px;background:var(--c1-paper);color:var(--c1-ink);font-family:var(--c1-body);min-height:100vh;min-height:100svh;padding:0 var(--c1-gutter) calc(var(--c1-gutter) * 1.4);font-size:17px;line-height:1.55;overflow-x:clip}.c1-page :where(h1,h2,h3){font-family:var(--c1-display);letter-spacing:-.02em;font-weight:600;line-height:1.1}.c1-page :where(p,li,dd){text-wrap:pretty}.c1-page ::selection{background:var(--c1-accent);color:var(--c1-accent-ink)}.c1-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.c1-skip{z-index:10;background:var(--c1-ink);color:var(--c1-paper);font-family:var(--c1-mono);padding:10px 16px;font-size:12px;position:absolute;top:0;left:-9999px}.c1-skip:focus-visible{left:var(--c1-gutter);top:8px}.c1-page a:focus-visible{outline:2px solid var(--c1-accent);outline-offset:3px}.c1-page button:focus-visible{outline:2px solid var(--c1-accent);outline-offset:3px}.c1-page summary:focus-visible{outline:2px solid var(--c1-accent);outline-offset:3px}.c1-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--c1-accent);outline-offset:3px}:is(.c1-page [tabindex="-1"]:focus,.c1-page [tabindex="-1"]:focus-visible){outline:none}.c1-masthead{max-width:var(--c1-max);border-bottom:1px solid var(--c1-line);font-family:var(--c1-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c1-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;margin:0 auto;padding:clamp(16px,2vw,26px) 0 14px;font-size:11px;display:flex}.c1-masthead__mark{color:var(--c1-ink);align-items:baseline;gap:8px;display:flex}.c1-masthead__sep{color:var(--c1-accent)}.c1-masthead__nav{flex-wrap:wrap;gap:6px 18px;display:flex}.c1-masthead__nav a{color:var(--c1-muted);transition:color .16s}.c1-masthead__nav a:focus-visible{color:var(--c1-accent)}@media (hover:hover){.c1-masthead__nav a:hover{color:var(--c1-accent)}}.bento-grid{max-width:var(--c1-max);border-top:1px solid var(--c1-line);border-left:1px solid var(--c1-line);background:var(--c1-surface);grid-template-columns:repeat(7,minmax(0,1fr));grid-template-areas:"avatar avatar name name summary summary summary""avatar avatar about about about metrics location""skills skills exp exp exp certs certs""skills skills exp exp exp edu edu""proj proj proj proj proj proj proj""contact contact contact contact contact contact contact";gap:0;margin:0 auto;display:grid}.c1-area-avatar{grid-area:avatar}.c1-area-name{grid-area:name}.c1-area-summary{grid-area:summary}.c1-area-about{grid-area:about}.c1-area-metrics{grid-area:metrics}.c1-area-location{grid-area:location}.c1-area-skills{grid-area:skills}.c1-area-exp{grid-area:exp}.c1-area-certs{grid-area:certs}.c1-area-edu{grid-area:edu}.c1-area-proj{grid-area:proj}.c1-area-contact{grid-area:contact}.c1-cell{min-width:0;padding:var(--c1-pad);background:var(--c1-surface);border-right:1px solid var(--c1-line);border-bottom:1px solid var(--c1-line);flex-direction:column;transition:background-color .22s;display:flex;position:relative}@media (hover:hover){.c1-cell:hover{background:var(--c1-surface-raised)}}.c1-cell--void{background:var(--c1-paper)}@media (hover:hover){.c1-cell--void:hover{background:var(--c1-paper)}}.c1-cell__label{font-family:var(--c1-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c1-muted);align-items:center;gap:7px;margin-bottom:12px;font-size:10px;display:flex}.c1-cell__label:before{content:"";border:1px solid var(--c1-accent);opacity:.7;flex:none;width:5px;height:5px}.c1-cell__title{margin-bottom:14px;font-size:clamp(1rem,.95rem + .3vw,1.1875rem)}.c1-empty{font-family:var(--c1-mono);color:var(--c1-muted)}.c1-monogram{border:1px solid var(--c1-line);background-color:var(--c1-paper);background-image:repeating-linear-gradient(45deg,#0000 0 7px,#18181b0b 7px 8px);flex:auto;place-items:center;min-height:132px;display:grid;position:relative}.c1-monogram__initials{font-family:var(--c1-display);letter-spacing:-.04em;font-size:clamp(2.5rem,4.4vw,4rem);font-weight:600;line-height:1}.c1-monogram__corner{background:var(--c1-accent);clip-path:polygon(100% 0,100% 100%,0 100%);width:18px;height:18px;position:absolute;bottom:-1px;right:-1px}.c1-name{letter-spacing:-.035em;text-wrap:balance;margin-bottom:10px;font-size:clamp(2rem,3.6vw,3.375rem);line-height:.94}.c1-role{font-family:var(--c1-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c1-muted);font-size:11px}.c1-summary{max-width:44ch;margin-bottom:16px;font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);line-height:1.5}.c1-cta{background:var(--c1-ink);color:var(--c1-paper);font-family:var(--c1-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--c1-ink);align-self:flex-start;align-items:center;gap:10px;margin-top:auto;padding:9px 14px;font-size:11px;transition:background-color .16s,color .16s;display:inline-flex}.c1-cta:focus-visible{background:var(--c1-accent);border-color:var(--c1-accent);color:var(--c1-accent-ink)}@media (hover:hover){.c1-cta:hover{background:var(--c1-accent);border-color:var(--c1-accent);color:var(--c1-accent-ink)}}.c1-cta__arrow{transition:transform .2s cubic-bezier(.23,1,.32,1)}@media (hover:hover){.c1-cta:hover .c1-cta__arrow{transform:translate(3px)}}.c1-about{max-width:62ch;font-size:clamp(.9375rem,.9rem + .22vw,1.0625rem);line-height:1.6}.c1-metrics{flex-direction:column;gap:0;margin:0;display:flex}.c1-metric{border-top:1px solid var(--c1-line);flex-direction:column;gap:1px;padding:9px 0;display:flex}.c1-metric:first-child{border-top:0;padding-top:0}.c1-metric__label{font-family:var(--c1-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c1-muted);order:2;font-size:9.5px}.c1-metric__figure{font-family:var(--c1-mono);font-variant-numeric:tabular-nums;order:1;align-items:baseline;gap:3px;margin:0;display:flex}.c1-metric__value{letter-spacing:-.02em;font-size:clamp(1.5rem,2vw,1.875rem);line-height:1}.c1-metric__unit,.c1-metric__empty{color:var(--c1-muted);font-size:11px}.c1-location{font-family:var(--c1-display);letter-spacing:-.01em;font-size:clamp(1rem,1.1vw,1.125rem);line-height:1.2}.c1-location__meta{font-family:var(--c1-mono);color:var(--c1-muted);margin-top:6px;font-size:10.5px}@media (hover:hover){.c1-location__meta a:hover{color:var(--c1-accent)}}.c1-skill-groups{flex-direction:column;gap:16px;display:flex}.c1-skill-group__category{font-family:var(--c1-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c1-muted);margin-bottom:7px;font-size:10px;font-weight:400}.c1-tags{flex-wrap:wrap;gap:5px;display:flex}.c1-tags--tight{gap:4px;margin-top:8px}.c1-tag{background:var(--c1-paper);border:1px solid var(--c1-line);font-family:var(--c1-mono);color:var(--c1-ink);align-items:center;padding:3px 7px;font-size:10.5px;line-height:1.4;display:inline-flex;position:relative;overflow:hidden}.c1-tag__name{z-index:1;position:relative}.c1-tag__meter{background:var(--c1-accent-soft);z-index:0;position:absolute;inset:0 auto 0 0}.c1-timeline{flex-direction:column;display:flex}.c1-job{border-top:1px solid var(--c1-line);grid-template-columns:84px minmax(0,1fr);gap:16px;padding:12px 0;display:grid}.c1-job:first-child{border-top:0;padding-top:0}.c1-job__period{font-family:var(--c1-mono);letter-spacing:.04em;color:var(--c1-muted);padding-top:2px;font-size:10px}.c1-job__title{letter-spacing:-.015em;font-size:1rem}.c1-job__org{color:var(--c1-muted);margin-top:1px;font-size:12.5px}.c1-job__place{font-family:var(--c1-mono);font-size:10.5px}.c1-job__highlights{flex-direction:column;gap:4px;margin-top:7px;display:flex}.c1-job__highlights li{color:#3f3f46;padding-left:14px;font-size:13px;line-height:1.45;position:relative}.c1-job__highlights li:before{content:"";background:var(--c1-accent);width:7px;height:1px;position:absolute;top:.55em;left:0}.c1-projects{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--c1-line) transparent;grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;gap:14px;padding-bottom:6px;display:grid;overflow-x:auto}.c1-project{scroll-snap-align:start;border-top:1px solid var(--c1-line);flex-direction:column;gap:4px;padding-top:9px;display:flex}.c1-project__index{font-family:var(--c1-mono);letter-spacing:.14em;color:var(--c1-accent);font-size:9.5px}.c1-project__title{font-size:.9375rem;line-height:1.2}.c1-project__subtitle{font-family:var(--c1-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c1-muted);font-size:9.5px}.c1-project__lead{color:#3f3f46;font-size:12.5px;line-height:1.45}.c1-list{flex-direction:column;gap:9px;display:flex}.c1-list__item{border-top:1px solid var(--c1-line);padding-top:8px}.c1-list__item:first-child{border-top:0;padding-top:0}.c1-list__title{font-size:12.5px;font-weight:500;line-height:1.35}@media (hover:hover){.c1-list__title a:hover{color:var(--c1-accent)}}.c1-list__meta{font-family:var(--c1-mono);color:var(--c1-muted);margin-top:2px;font-size:10px}.c1-area-contact{padding-bottom:calc(var(--c1-pad) + 2px)}.c1-contact{flex-wrap:wrap;gap:8px 44px;margin:0;display:flex}.c1-contact__row{flex-direction:column;gap:1px;min-width:0;display:flex}.c1-contact__label{font-family:var(--c1-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c1-muted);font-size:9.5px}.c1-contact__value{font-family:var(--c1-mono);overflow-wrap:anywhere;margin:0;font-size:12px}@media (hover:hover){.c1-contact__value a:hover{color:var(--c1-accent)}}.c1-contact__links{font-family:var(--c1-mono);color:var(--c1-muted);flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-size:11px;display:flex}@media (hover:hover){.c1-contact__links a:hover{color:var(--c1-accent)}}.c1-colophon{max-width:var(--c1-max);border-top:1px solid var(--c1-line);font-family:var(--c1-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c1-muted);flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin:0 auto;padding-top:14px;font-size:10px;display:flex}@media (max-width:1180px){.bento-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"avatar avatar name name""summary summary summary summary""about about about about""metrics metrics location location""skills skills exp exp""skills skills exp exp""certs certs edu edu""proj proj proj proj""contact contact contact contact"}.c1-projects{grid-auto-columns:minmax(220px,1fr)}}@media (max-width:768px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"avatar name""summary summary""about about""metrics location""skills skills""exp exp""certs certs""edu edu""proj proj""contact contact"}.c1-masthead{font-size:10px}.c1-masthead__nav{gap:6px 14px}.c1-monogram{min-height:108px}.c1-name{font-size:clamp(1.5rem,6vw,2.25rem)}.c1-job{grid-template-columns:72px minmax(0,1fr);gap:12px}}@media (max-width:480px){.bento-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"avatar""name""summary""about""metrics""location""skills""exp""certs""edu""proj""contact"}.c1-monogram{min-height:96px}.c1-job{grid-template-columns:minmax(0,1fr);gap:4px}.c1-contact{gap:10px 28px}}@media (prefers-reduced-motion:reduce){.c1-page *,.c1-page :before,.c1-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.c1-cell,.c1-cta,.c1-cta__arrow,.c1-masthead__nav a{transition:none}}@media print{*,:before,:after{transition:none!important;animation:none!important}.c1-skip{display:none!important}}.c1-portrait{background-color:var(--c1-paper);border:1px solid var(--c1-line);flex:auto;place-items:center;min-height:132px;margin:0;padding:12px;display:grid}.c1-portrait__img{border:1px solid var(--c1-accent);object-fit:cover;border-radius:50%;width:clamp(96px,12vw,132px);height:clamp(96px,12vw,132px);display:block}.c2-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c2-paper:var(--pf-bg,#fffbeb);--c2-surface:var(--pf-surface,#fffbeb);--c2-ink:var(--pf-text,#1c1917);--c2-muted:var(--pf-muted,#57534e);--c2-accent:var(--pf-accent,#7e22ce);--c2-rule:var(--pf-border,#d6d3c1);--c2-display:"Playfair Display", ui-serif, Georgia, Cambria, "Times New Roman", serif;--c2-body:"Outfit", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--c2-mono:"Fira Code", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--c2-gutter:clamp(20px, 6vw, 96px);--c2-measure:62ch;--c2-hairline:1px solid var(--c2-rule);--c2-ease:cubic-bezier(.23, 1, .32, 1);background:var(--c2-paper);color:var(--c2-ink);font-family:var(--c2-body);font-size:clamp(1rem,.97rem + .18vw,1.0625rem);line-height:1.68;overflow-x:clip}.c2-page :where(h1,h2,h3){font-family:var(--c2-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:500;line-height:1.06}.c2-page :where(p,li,dd){text-wrap:pretty}.c2-page ::selection{background:var(--c2-accent);color:var(--c2-paper)}.c2-page :focus-visible{outline:2px solid var(--c2-accent);outline-offset:3px}.c2-skip{z-index:10;background:var(--c2-ink);color:var(--c2-paper);font-family:var(--c2-mono);padding:10px 16px;font-size:.75rem;position:absolute;top:0;left:-9999px}.c2-skip:focus{top:12px;left:12px}.c2-page a:focus-visible{outline:2px solid var(--c2-accent);outline-offset:3px}.c2-page button:focus-visible{outline:2px solid var(--c2-accent);outline-offset:3px}.c2-page summary:focus-visible{outline:2px solid var(--c2-accent);outline-offset:3px}.c2-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--c2-accent);outline-offset:3px}:is(.c2-page [tabindex="-1"]:focus,.c2-page [tabindex="-1"]:focus-visible){outline:none}.chapter{padding-block:clamp(72px,12vh,148px);padding-inline:var(--c2-gutter);position:relative}.chapter-label{font-family:var(--c2-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--c2-muted);align-items:baseline;gap:.75rem;margin:0 0 clamp(18px,3vh,32px);font-size:.6875rem;display:flex}.chapter-label__index{color:var(--c2-accent);font-weight:500}.chapter-label--quiet{color:var(--c2-muted)}.chapter-title{max-width:24ch;font-size:clamp(1.75rem,1.2rem + 2.4vw,3rem)}.chapter-hero{min-height:100vh;grid-template-rows:auto 1fr auto;min-height:100svh;padding-block:clamp(20px,4vh,40px);display:grid;overflow:clip}.hero-nav{font-family:var(--c2-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;font-size:.6875rem;display:flex}.hero-nav__mark{color:var(--c2-ink)}.hero-nav__links a{color:var(--c2-muted);transition:color .2s var(--c2-ease), border-color .2s var(--c2-ease);border-bottom:1px solid #0000;text-decoration:none}@media (hover:hover){.hero-nav__links a:hover{color:var(--c2-accent);border-bottom-color:var(--c2-accent)}}.hero-eyebrow{font-family:var(--c2-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--c2-accent);align-items:center;gap:12px;margin:0;font-size:.6875rem;display:flex}.hero-eyebrow__rule{opacity:.6;background:currentColor;width:clamp(24px,6vw,56px);height:1px;display:block}.hero-name{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.6rem,1.2rem + 8vw,6.5rem);line-height:.94}.hero-role{font-family:var(--c2-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c2-muted);margin:0;font-size:clamp(.75rem,.7rem + .3vw,.875rem)}.hero-tagline{max-width:42ch;color:var(--c2-ink);text-wrap:pretty;margin:clamp(6px,1.5vh,14px) 0 0;font-size:clamp(1.0625rem,1rem + .6vw,1.375rem);line-height:1.55}.hero-cta{border:1px solid var(--c2-ink);color:var(--c2-ink);font-family:var(--c2-mono);letter-spacing:.12em;text-transform:uppercase;transition:background-color .22s var(--c2-ease), color .22s var(--c2-ease);border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:.75rem;text-decoration:none;display:inline-flex}@media (hover:hover){.hero-cta:hover{background:var(--c2-ink);color:var(--c2-paper)}}.hero-cta__arrow{transition:transform .22s var(--c2-ease)}@media (hover:hover){.hero-cta:hover .hero-cta__arrow{transform:translate(3px)}}.scroll-indicator{font-family:var(--c2-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--c2-muted);flex-direction:column;justify-self:center;align-items:center;gap:10px;font-size:.625rem;display:flex}.scroll-indicator__line{background:linear-gradient(to bottom, var(--c2-accent), transparent);transform-origin:top;width:1px;height:44px;animation:c2-cue 2.4s var(--c2-ease) infinite;display:block}@keyframes c2-cue{0%,to{opacity:.4;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}.chapter-about{border-top:var(--c2-hairline)}.about-grid{grid-template-columns:minmax(0,1fr);gap:clamp(20px,4vw,48px);display:grid}.about-body{flex-direction:column;gap:clamp(16px,2.5vh,28px);display:flex}.about-text{max-width:var(--c2-measure);margin:0;font-size:clamp(1.0625rem,1rem + .5vw,1.3125rem);line-height:1.62}.about-text:first-letter{float:left;font-family:var(--c2-display);color:var(--c2-accent);padding-top:.06em;padding-right:.08em;font-size:3.4em;line-height:.82}.metrics-strip{border-top:var(--c2-hairline);background:var(--c2-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:clamp(36px,7vh,72px) 0 0;padding:0;display:grid}.metric{background:var(--c2-paper);flex-direction:column-reverse;gap:6px;padding:clamp(18px,3vh,28px) clamp(12px,2vw,24px) clamp(16px,3vh,24px) 0;display:flex}.metric__value{font-family:var(--c2-display);letter-spacing:-.03em;color:var(--c2-ink);margin:0;font-size:clamp(2rem,1.4rem + 2.2vw,3.25rem);line-height:1}.metric__label{font-family:var(--c2-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--c2-muted);font-size:.625rem}.chapter-experience{border-top:var(--c2-hairline);background:var(--c2-surface)}.exp-head{flex-direction:column;gap:8px;display:flex}.exp-hint{font-family:var(--c2-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c2-muted);margin:10px 0 0;font-size:.625rem;display:none}.exp-hint__arrow{color:var(--c2-accent);margin-left:8px;display:inline-block}.exp-track{flex-direction:column;gap:clamp(16px,2.5vw,24px);margin:clamp(28px,5vh,48px) 0 0;padding:0;list-style:none;display:flex}.exp-card{isolation:isolate;border:var(--c2-hairline);background:var(--c2-paper);box-shadow:inset 3px 0 0 var(--era,var(--c2-accent));border-radius:4px;flex-direction:column;gap:10px;padding:clamp(22px,3vw,32px);display:flex;position:relative}.exp-card:before{content:"";z-index:-1;border-radius:inherit;background:var(--era,var(--c2-accent));opacity:.05;pointer-events:none;position:absolute;inset:0}.exp-card__top{font-family:var(--c2-mono);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;font-size:.625rem;display:flex}.exp-card__era{color:var(--era,var(--c2-accent))}.exp-card__period{color:var(--c2-muted);letter-spacing:.08em}.exp-card__role{font-size:clamp(1.25rem,1.05rem + .8vw,1.625rem)}.exp-card__highlights li:before{content:"";background:var(--era,var(--c2-accent));width:5px;height:1px;position:absolute;top:.62em;left:0}.exp-card__tags li{border:1px solid var(--c2-rule);font-family:var(--c2-mono);letter-spacing:.06em;color:var(--c2-muted);border-radius:999px;padding:3px 9px;font-size:.625rem}.chapter-projects{border-top:var(--c2-hairline)}.projects-head{flex-direction:column;display:flex}.projects-masonry{column-count:1;column-gap:clamp(16px,2.5vw,28px);margin-top:clamp(28px,5vh,48px)}.project-card{break-inside:avoid;border:var(--c2-hairline);background:var(--c2-surface);border-radius:4px;margin-bottom:clamp(16px,2.5vw,28px);overflow:hidden}.project-plate{aspect-ratio:16/9;background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--c2-accent) 22%, transparent), transparent 62%), var(--c2-paper);border-bottom:var(--c2-hairline);place-items:center;display:grid}.project-plate__initials{font-family:var(--c2-display);letter-spacing:-.04em;color:var(--c2-accent);opacity:.85;font-size:clamp(2rem,1.4rem + 2.4vw,3.25rem)}.project-kicker{font-family:var(--c2-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c2-accent);margin:0;font-size:.625rem}.project-case dt{font-family:var(--c2-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c2-muted);padding-top:3px;font-size:.5625rem}.project-case dd{margin:0;font-size:.875rem;line-height:1.55}.project-highlights{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;font-size:.875rem;line-height:1.55;list-style:none;display:flex}.project-highlights li:before{content:"-";color:var(--c2-muted);position:absolute;left:0}.project-tags li{font-family:var(--c2-mono);color:var(--c2-muted);border:1px solid var(--c2-rule);border-radius:999px;padding:2px 8px;font-size:.625rem}.chapter-skills{border-top:var(--c2-hairline);background:var(--c2-surface)}.skills-head{flex-direction:column;display:flex}.skills-columns{grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,64px);margin-top:clamp(28px,5vh,48px);display:grid}.skills-groups{grid-template-columns:minmax(0,1fr);gap:clamp(24px,3.5vw,40px);display:grid}.skill-group__title{font-family:var(--c2-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--c2-accent);border-bottom:var(--c2-hairline);margin:0 0 12px;padding-bottom:8px;font-size:.6875rem}.skill-group__list{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;font-size:.9375rem;list-style:none;display:flex}.skill-group__list li{color:var(--c2-ink)}.certs__title{font-family:var(--c2-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--c2-muted);border-bottom:var(--c2-hairline);margin:0 0 12px;padding-bottom:8px;font-size:.6875rem}.certs__list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.cert{flex-direction:column;gap:2px;display:flex}.cert__title{font-family:var(--c2-display);font-size:1.0625rem;line-height:1.3}.cert__title a{color:inherit;border-bottom:1px solid var(--c2-rule);text-decoration:none}@media (hover:hover){.cert__title a:hover{border-bottom-color:var(--c2-accent);color:var(--c2-accent)}}.cert__meta{font-family:var(--c2-mono);letter-spacing:.04em;color:var(--c2-muted);font-size:.6875rem}.chapter-contact{min-height:100vh;border-top:var(--c2-hairline);text-align:center;flex-direction:column;justify-content:center;min-height:100svh;display:flex}.contact-inner{flex-direction:column;align-items:center;gap:clamp(14px,2.4vh,24px);max-width:40ch;margin-inline:auto;display:flex}.contact-cta{font-family:var(--c2-display);color:var(--c2-accent);border-bottom:1px solid color-mix(in srgb, var(--c2-accent) 40%, transparent);transition:border-color .2s var(--c2-ease);align-items:baseline;gap:8px;margin-top:clamp(6px,1.5vh,14px);padding-bottom:2px;font-size:clamp(1.25rem,1rem + 1.6vw,2rem);text-decoration:none;display:inline-flex}@media (hover:hover){.contact-cta:hover{border-bottom-color:var(--c2-accent)}}.contact-cta__arrow{font-size:.75em}.contact-channels{font-family:var(--c2-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c2-muted);flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:clamp(10px,2vh,18px) 0 0;padding:0;font-size:.6875rem;list-style:none;display:flex}.contact-channels a{color:var(--c2-muted);text-decoration:none}@media (hover:hover){.contact-channels a:hover{color:var(--c2-accent)}}.contact-sign{font-family:var(--c2-display);color:var(--c2-muted);margin:clamp(16px,3vh,32px) 0 0;font-style:italic}.c2-footer{padding:24px var(--c2-gutter) 40px;border-top:var(--c2-hairline);font-family:var(--c2-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c2-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.625rem;display:flex}@media (min-width:768px){.about-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}.metrics-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding-inline:clamp(16px,2vw,28px)}.metric:first-child{padding-left:0}.chapter-experience{height:100vh;flex-direction:column;justify-content:center;height:100svh;padding-block:0;display:flex;overflow:clip}.exp-head{padding-top:clamp(48px,9vh,96px)}.exp-hint{display:block}.exp-track{will-change:transform;flex-direction:row;align-items:stretch;gap:clamp(16px,2vw,28px);width:max-content;padding-inline:0}.exp-card{scrollbar-width:thin;scrollbar-color:var(--c2-rule) transparent;flex:0 0 clamp(320px,32vw,440px);max-height:min(58vh,480px);overflow-y:auto}.exp-card::-webkit-scrollbar{width:4px}.exp-card::-webkit-scrollbar-thumb{background:var(--c2-rule);border-radius:4px}.projects-masonry{column-count:2}.skills-columns[data-columns=two]{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.skills-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.projects-masonry{column-count:3}.hero-inner{max-width:30ch}}@media (max-width:420px){.chapter{padding-block:clamp(56px,10vh,88px)}.hero-name{font-size:clamp(2.2rem,12vw,3rem)}.metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.project-case div{grid-template-columns:minmax(0,1fr);gap:2px}.c2-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){.scroll-indicator__line{animation:none;transform:scaleY(1)}.c2-page *,.c2-page :before,.c2-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media print{*,:before,:after{transition:none!important;animation:none!important}.c2-skip{display:none!important}}.c2-hero__head{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(14px,2.2vw,24px);width:100%;display:flex}.c2-hero__head .hero-name{flex:auto;min-width:0}.c2-hero__photo{flex:none;margin:0}.c2-hero__photo-img{border:1px solid var(--c2-rule);object-fit:cover;border-radius:50%;width:80px;height:80px;display:block}@media (max-width:520px){.c2-hero__photo-img{width:68px;height:68px}}.c3-page{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c3-deep:#0f172a;--c3-dusk:#1e1b4b;--c3-ink:#e2e8f0;--c3-muted:#94a3b8;--c3-accent:var(--pf-accent,#a78bfa);--c3-accent-soft:color-mix(in srgb, var(--c3-accent) 16%, transparent);--c3-glass:#ffffff0d;--c3-glass-edge:#ffffff14;--c3-glass-strong:#ffffff17;--c3-display:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--c3-body:"Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--c3-gutter:clamp(20px, 5vw, 72px);--c3-measure:64ch;--c3-ease:cubic-bezier(.23, 1, .32, 1);min-height:100vh;background:var(--c3-deep);min-height:100svh;color:var(--c3-ink);font-family:var(--c3-body);-webkit-font-smoothing:antialiased;font-size:clamp(1rem,.97rem + .15vw,1.0625rem);line-height:1.65;position:relative;overflow-x:clip}.pf-shell[data-scheme=dark] .c3-page{--c3-deep:var(--pf-bg);--c3-dusk:var(--pf-surface);--c3-ink:var(--pf-text);--c3-muted:var(--pf-muted)}.c3-page :where(h1,h2,h3){font-family:var(--c3-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:700;line-height:1.08}.c3-page :where(p,li,dd){text-wrap:pretty}.c3-page ::selection{background:var(--c3-accent);color:var(--c3-deep)}.c3-page :focus-visible{outline:2px solid var(--c3-accent);outline-offset:3px;border-radius:4px}.c3-page a:focus-visible{outline:2px solid var(--c3-accent);outline-offset:3px;border-radius:4px}.c3-page button:focus-visible{outline:2px solid var(--c3-accent);outline-offset:3px;border-radius:4px}.c3-page summary:focus-visible{outline:2px solid var(--c3-accent);outline-offset:3px;border-radius:4px}.c3-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--c3-accent);outline-offset:3px;border-radius:4px}:is(.c3-page [tabindex="-1"]:focus,.c3-page [tabindex="-1"]:focus-visible){outline:none}.c3-bg{z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 12% -8%, #a78bfa3d, transparent 62%), radial-gradient(ellipse 60% 45% at 92% 6%, #38bdf81f, transparent 60%), radial-gradient(ellipse 80% 60% at 50% 108%, #815af02e, transparent 64%), linear-gradient(162deg, var(--c3-deep) 0%, var(--c3-dusk) 100%);position:fixed;inset:0}.c3-bg:after{content:"";opacity:.5;background-image:repeating-linear-gradient(45deg,#ffffff03 0 1px,#0000 1px 3px);position:absolute;inset:0}.c3-motion{z-index:1;position:relative}.c3-main{max-width:1180px;padding-inline:var(--c3-gutter);margin-inline:auto;position:relative}.c3-skip{z-index:20;background:var(--c3-accent);color:var(--c3-deep);padding:10px 16px;font-size:.8125rem;font-weight:600;position:absolute;top:0;left:-9999px}.c3-skip:focus{top:12px;left:12px}.prism-card{background:var(--c3-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--c3-glass-edge);border-radius:16px;position:relative;box-shadow:inset 0 1px #ffffff0f,0 12px 32px -18px #000000b3}.prism-card:before{content:"";inset-inline:12%;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff47,#0000);height:1px;position:absolute;top:-1px}.section-head{flex-direction:column;gap:8px;margin-bottom:clamp(20px,3.5vh,32px);display:flex}.section-kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--c3-accent);margin:0;font-size:.6875rem;font-weight:600}.section-title{max-width:26ch;font-size:clamp(1.5rem,1.1rem + 2vw,2.5rem)}.about-section,.experience-section,.projects-section,.skills-section,.certs-section{padding-block:clamp(56px,9vh,104px)}.hero-section{min-height:100vh;grid-template-rows:auto 1fr;min-height:100svh;padding-block:clamp(20px,4vh,36px);display:grid;position:relative;overflow:clip}.hero-nav{letter-spacing:.06em;color:var(--c3-muted);justify-content:space-between;align-items:center;gap:20px;font-size:.75rem;display:flex}.hero-nav__mark{font-family:var(--c3-display);letter-spacing:-.01em;color:var(--c3-ink);font-weight:700}.hero-nav__links{flex-wrap:wrap;gap:clamp(12px,2vw,24px);margin:0;padding:0;list-style:none;display:flex}.hero-nav__links a{color:var(--c3-muted);transition:color .2s var(--c3-ease);text-decoration:none}@media (hover:hover){.hero-nav__links a:hover{color:var(--c3-accent)}}.hero-badges{pointer-events:none;position:absolute;inset:0}.float-badge{border:1px solid var(--c3-glass-edge);background:var(--c3-glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);letter-spacing:.08em;text-transform:uppercase;color:var(--c3-ink);white-space:nowrap;text-overflow:ellipsis;will-change:transform;border-radius:999px;max-width:12rem;padding:8px 14px;font-size:.6875rem;position:absolute;overflow:hidden;box-shadow:0 10px 26px -16px #000c}.float-badge[data-slot="1"]{top:26%;left:2%}.float-badge[data-slot="2"]{top:22%;right:3%}.float-badge[data-slot="3"]{bottom:24%;left:7%}.float-badge[data-slot="4"]{bottom:28%;right:6%}.hero-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2vh,20px);max-width:22ch;margin-inline:auto;padding-block:clamp(48px,10vh,96px);display:flex}.hero-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--c3-accent);margin:0;font-size:.75rem;font-weight:600}.hero-name{letter-spacing:-.04em;background:linear-gradient(#fff 12%,#c7d2fe 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.5rem,1.1rem + 7.6vw,6rem);line-height:.95}.hero-tagline{max-width:44ch;color:var(--c3-muted);margin:0;font-size:clamp(1rem,.95rem + .5vw,1.25rem);line-height:1.55}.hero-actions{margin-top:clamp(10px,2vh,18px)}.prism-cta{color:#f5f3ff;letter-spacing:.04em;transition:transform .22s var(--c3-ease), border-color .22s var(--c3-ease), background-color .22s var(--c3-ease);background:linear-gradient(#a78bfa38,#a78bfa1a);border:1px solid #a78bfa73;border-radius:999px;align-items:center;gap:10px;padding:13px 24px;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 10px 30px -18px #a78bfae6}@media (hover:hover){.prism-cta:hover{border-color:#c4b5fdcc;transform:translateY(-1px)}}.prism-cta__arrow{transition:transform .22s var(--c3-ease)}@media (hover:hover){.prism-cta:hover .prism-cta__arrow{transform:translate(2px,-1px)}}.about-card{padding:clamp(24px,4vw,48px)}.about-text{max-width:var(--c3-measure);color:var(--c3-ink);margin:0;font-size:clamp(1.0625rem,1rem + .45vw,1.25rem);line-height:1.62}.exp-stack{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.exp-card{margin-inline:calc(var(--depth,0) * 7px);opacity:calc(1 - var(--depth,0) * .04);transition:border-color .22s var(--c3-ease), background-color .22s var(--c3-ease);padding:clamp(20px,3vw,30px)}.exp-card+.exp-card{margin-top:-20px;padding-top:38px}@media (hover:hover){.exp-card:hover{border-color:#c4b5fd66}}.exp-card__head{flex-direction:column;gap:8px;display:flex}.exp-card__title{font-size:clamp(1.125rem,1rem + .7vw,1.375rem)}.exp-card__org{color:var(--c3-muted);margin:4px 0 0;font-size:.9375rem}.exp-card__loc{color:#7c8aa5}.exp-card__meta{letter-spacing:.1em;text-transform:uppercase;color:var(--c3-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.6875rem;display:flex}.exp-card__now{background:var(--c3-accent-soft);color:#ddd6fe;letter-spacing:.12em;border:1px solid #a78bfa73;border-radius:999px;padding:3px 9px;font-weight:600}.exp-card__highlights{color:var(--c3-ink);flex-direction:column;gap:7px;margin:14px 0 0;padding:0;font-size:.9375rem;line-height:1.55;list-style:none;display:flex}.exp-card__highlights li{padding-left:18px;position:relative}.exp-card__highlights li:before{content:"";background:var(--c3-accent);opacity:.7;border-radius:2px;width:6px;height:6px;position:absolute;top:.6em;left:2px;transform:rotate(45deg)}.exp-card__tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.exp-card__tags li{border:1px solid var(--c3-glass-edge);letter-spacing:.04em;color:var(--c3-muted);background:#ffffff08;border-radius:6px;padding:3px 9px;font-size:.6875rem}.projects-grid{grid-template-columns:minmax(0,1fr);gap:clamp(14px,2vw,22px);display:grid}.project-card{transition:border-color .24s var(--c3-ease);flex-direction:column;display:flex;overflow:hidden}@media (hover:hover){.project-card:hover{border-color:#c4b5fd61}}.project-plate{aspect-ratio:16/9;border-bottom:1px solid var(--c3-glass-edge);background:radial-gradient(circle at 28% 18%,#a78bfa59,#0000 58%),radial-gradient(circle at 78% 88%,#38bdf82e,#0000 62%),#ffffff08;place-items:center;display:grid}.project-plate__initials{font-family:var(--c3-display);letter-spacing:-.04em;color:#ffffffd1;text-shadow:0 6px 24px #a78bfa80;font-size:clamp(2rem,1.4rem + 2.6vw,3.5rem);font-weight:700}.project-body{flex-direction:column;gap:10px;padding:clamp(18px,2.6vw,28px);display:flex}.project-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--c3-accent);margin:0;font-size:.625rem;font-weight:600}.project-title{font-size:clamp(1.125rem,1rem + .6vw,1.5rem)}.project-summary{color:var(--c3-muted);margin:0;font-size:.9375rem;line-height:1.6}.project-case{border-top:1px solid var(--c3-glass-edge);flex-direction:column;gap:10px;margin:6px 0 0;padding-top:14px;display:flex}.project-case div{grid-template-columns:5rem minmax(0,1fr);gap:10px;display:grid}.project-case dt{letter-spacing:.14em;text-transform:uppercase;color:#7c8aa5;padding-top:3px;font-size:.5625rem;font-weight:600}.project-case dd{color:var(--c3-ink);margin:0;font-size:.875rem;line-height:1.55}.project-highlights{color:var(--c3-ink);flex-direction:column;gap:6px;margin:4px 0 0;padding:0;font-size:.875rem;line-height:1.55;list-style:none;display:flex}.project-highlights li{padding-left:16px;position:relative}.project-highlights li:before{content:"";background:var(--c3-accent);opacity:.65;border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.project-tags{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--c3-glass-edge);letter-spacing:.05em;color:var(--c3-muted);border-radius:6px;padding:2px 8px;font-size:.625rem}.skills-grid{grid-template-columns:minmax(0,1fr);gap:clamp(14px,2vw,22px);display:grid}.skill-card{padding:clamp(20px,3vw,30px)}.skill-card__title{letter-spacing:.18em;text-transform:uppercase;color:var(--c3-accent);margin-bottom:16px;font-size:.75rem;font-weight:600}.skill-bars{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.skill-row__top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.skill-row__name{color:var(--c3-ink);font-size:.9375rem}.skill-row__pct{font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--c3-muted);font-size:.6875rem}.skill-bar{background:#ffffff12;border-radius:999px;height:4px;position:relative;overflow:hidden}.skill-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#a78bfa8c,#c4b5fd);height:100%;display:block;box-shadow:0 0 12px #a78bfa80}.skill-chips{flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.skill-chips li{border:1px solid var(--c3-glass-edge);color:var(--c3-ink);background:#ffffff08;border-radius:8px;padding:4px 10px;font-size:.75rem}.certs-grid{grid-template-columns:minmax(0,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.cert-card{flex-direction:column;gap:4px;padding:16px 18px;display:flex}.cert-card__title{font-family:var(--c3-display);font-size:.9375rem;font-weight:600;line-height:1.35}.cert-card__title a{color:inherit;border-bottom:1px solid var(--c3-glass-edge);text-decoration:none}@media (hover:hover){.cert-card__title a:hover{color:var(--c3-accent);border-bottom-color:var(--c3-accent)}}.cert-card__meta{letter-spacing:.06em;color:var(--c3-muted);font-size:.6875rem}.contact-section{min-height:100vh;text-align:center;justify-content:center;align-items:center;min-height:100svh;padding-block:clamp(64px,12vh,120px);display:flex}.contact-inner{flex-direction:column;align-items:center;gap:clamp(12px,2vh,20px);max-width:38ch;display:flex}.contact-title{letter-spacing:-.035em;font-size:clamp(1.875rem,1.3rem + 3vw,3.5rem)}.contact-lede{color:var(--c3-muted);margin:0;font-size:.9375rem}.contact-cta{text-transform:none;letter-spacing:0;margin-top:clamp(4px,1.5vh,12px);font-size:clamp(.9375rem,.85rem + .6vw,1.125rem)}.contact-phone{letter-spacing:.06em;color:var(--c3-muted);border-bottom:1px solid #0000;font-size:.8125rem;text-decoration:none}@media (hover:hover){.contact-phone:hover{color:var(--c3-accent);border-bottom-color:var(--c3-accent)}}.float-social{flex-wrap:wrap;justify-content:center;gap:10px;margin:clamp(16px,3vh,28px) 0 0;padding:0;list-style:none;display:flex}.float-social a{border:1px solid var(--c3-glass-edge);background:var(--c3-glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--c3-ink);letter-spacing:.06em;transition:transform .22s var(--c3-ease), border-color .22s var(--c3-ease);border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:.6875rem;text-decoration:none;display:inline-flex;box-shadow:0 12px 28px -18px #000000e6}@media (hover:hover){.float-social a:hover{border-color:#c4b5fd80;transform:translateY(-2px)}}.float-social__mark{width:26px;height:26px;font-family:var(--c3-display);color:#f5f3ff;background:linear-gradient(#a78bfa8c,#a78bfa33);border-radius:50%;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.float-social__label{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;color:var(--c3-muted);overflow:hidden}.c3-footer{border-top:1px solid var(--c3-glass-edge);letter-spacing:.1em;text-transform:uppercase;color:var(--c3-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:28px 0 48px;font-size:.6875rem;display:flex}@media (min-width:768px){.exp-card__head{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:20px}.exp-card__meta{flex-direction:column;flex:none;align-items:flex-end}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card[data-featured=true]{grid-column:1/-1}.skills-grid,.certs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.project-card[data-featured=true]{flex-direction:row;align-items:stretch}.project-card[data-featured=true] .project-plate{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--c3-glass-edge);flex:0 0 42%}.project-card[data-featured=true] .project-body{justify-content:center;padding:clamp(24px,3vw,40px)}.project-card[data-featured=true] .project-title{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}}@media (max-width:767px){.float-badge[data-slot="3"],.float-badge[data-slot="4"]{display:none}.float-badge[data-slot="1"]{top:18%;left:0}.float-badge[data-slot="2"]{top:15%;right:0}.hero-inner{max-width:20ch}}@media (max-width:420px){.hero-badges{display:none}.hero-name{font-size:clamp(2.25rem,12vw,3rem)}.exp-card{opacity:1;margin-inline:0}.exp-card+.exp-card{margin-top:12px;padding-top:clamp(20px,3vw,30px)}.project-case div{grid-template-columns:minmax(0,1fr);gap:2px}.c3-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){.c3-page *,.c3-page :before,.c3-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media print{*,:before,:after{transition:none!important;animation:none!important}.c3-skip{display:none!important}}.c3-hero__photo{margin:0 0 4px}.c3-hero__photo-img{border:2px solid var(--c3-accent);box-shadow:0 0 0 6px var(--c3-accent-soft);object-fit:cover;border-radius:50%;width:88px;height:88px;display:block}@media (max-width:520px){.c3-hero__photo-img{box-shadow:0 0 0 4px var(--c3-accent-soft);width:72px;height:72px}}.d1-page{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--d1-void:#0b0b10;--d1-surface:#111118;--d1-surface-raised:#1e1e28;--d1-text:#f8fafc;--d1-text-soft:#cbd5e1;--d1-muted:#94a3b8;--d1-accent:var(--pf-accent,#3b82f6);--d1-accent-soft:color-mix(in srgb, var(--d1-accent) 65%, #fff);--d1-line:#ffffff14;--d1-line-strong:#ffffff24;--d1-display:"Manrope", ui-sans-serif, system-ui, -apple-system, sans-serif;--d1-body:"General Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--d1-mono:"Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--d1-gutter:clamp(20px, 5vw, 72px);--d1-max:1440px;isolation:isolate;min-height:100vh;background:var(--d1-void);min-height:100svh;color:var(--d1-text);font-family:var(--d1-body);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6;position:relative;overflow-x:clip}.pf-shell[data-scheme=dark] .d1-page{--d1-void:var(--pf-bg);--d1-surface:var(--pf-surface);--d1-surface-raised:color-mix(in srgb, var(--pf-surface) 94%, var(--pf-text));--d1-text:var(--pf-text);--d1-text-soft:color-mix(in srgb, var(--pf-text) 82%, var(--pf-muted));--d1-muted:var(--pf-muted)}.d1-page :where(h1,h2,h3){font-family:var(--d1-display);letter-spacing:-.025em;margin:0;font-weight:600;line-height:1.08}.d1-page :where(p,li,dd){text-wrap:pretty}.d1-page ::selection{background:var(--d1-accent);color:#fff}.d1-page :focus-visible{outline:2px solid var(--d1-accent-soft);outline-offset:3px}.d1-page a:focus-visible{outline:2px solid var(--d1-accent-soft);outline-offset:3px}.d1-page button:focus-visible{outline:2px solid var(--d1-accent-soft);outline-offset:3px}.d1-page summary:focus-visible{outline:2px solid var(--d1-accent-soft);outline-offset:3px}.d1-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--d1-accent-soft);outline-offset:3px}:is(.d1-page [tabindex="-1"]:focus,.d1-page [tabindex="-1"]:focus-visible){outline:none}.d1-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.d1-skip{z-index:100;background:var(--d1-text);color:var(--d1-void);font-family:var(--d1-mono);padding:10px 16px;font-size:12px;text-decoration:none;position:absolute;top:0;left:-9999px}.d1-skip:focus-visible{left:var(--d1-gutter);top:10px}.d1-scene{z-index:0;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.d1-scene__glow{background:radial-gradient(46% 42% at 50% 32%,#3b82f629,#0000 68%),radial-gradient(38% 36% at 82% 78%,#3b82f61a,#0000 70%),radial-gradient(30% 30% at 12% 82%,#60a5fa12,#0000 72%);position:absolute;inset:-12%}.d1-scene__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.d1-scene__grain{opacity:.035;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.d1-scene[data-webgl=off] .d1-scene__canvas{display:none}.d1-scene[data-webgl=off] .d1-scene__glow{background:radial-gradient(52% 46% at 50% 28%,#3b82f638,#0000 68%),radial-gradient(40% 40% at 84% 76%,#3b82f624,#0000 70%),radial-gradient(34% 34% at 10% 84%,#60a5fa1a,#0000 72%),linear-gradient(#0d0d14 0%,#0b0b10 60%)}.d1-cursor{z-index:95;pointer-events:none;display:none;position:fixed;inset:0}.d1-cursor__dot,.d1-cursor__ring{pointer-events:none;will-change:transform;border-radius:50%;position:fixed;top:0;left:0;translate:-50% -50%}.d1-cursor__dot{background:var(--d1-text);width:6px;height:6px}.d1-cursor__ring{border:1px solid #f0f0f08c;width:34px;height:34px}@media (pointer:fine) and (min-width:769px){html[data-d1-cursor=on] .d1-page,html[data-d1-cursor=on] .d1-page *{cursor:auto}html[data-d1-cursor=on] .d1-cursor{display:block}}.d1-hero{z-index:1;width:100%;min-height:100svh;max-width:var(--d1-max);padding:clamp(22px, 3.4vw, 44px) var(--d1-gutter) clamp(26px, 3.4vw, 40px);flex-direction:column;justify-content:space-between;margin:0 auto;display:flex;position:relative}.d1-hero__inner{flex-direction:column;gap:clamp(16px,2.2vw,26px);padding-top:clamp(36px,12vh,132px);display:flex}.d1-hero__eyebrow{font-family:var(--d1-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d1-muted);align-items:center;gap:12px;font-size:11px;display:flex}.d1-hero__pulse{background:var(--d1-accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3b82f62e}.d1-hero__slash{color:#ffffff3d}.d1-hero__name{letter-spacing:-.045em;color:var(--d1-text);text-wrap:balance;font-size:clamp(2.7rem,9.4vw,7.6rem);font-weight:600;line-height:.94}.d1-hero__name :where(span){will-change:transform, opacity}.d1-hero__meta{flex-direction:column;gap:8px;max-width:62ch;display:flex}.d1-hero__title{letter-spacing:-.01em;color:#d6d6de;font-size:clamp(1.05rem,1.7vw,1.45rem)}.d1-hero__tagline{color:var(--d1-muted);font-size:.98rem;line-height:1.6}.d1-hero__actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:6px;display:flex}.d1-btn{color:var(--d1-text);font-family:var(--d1-mono);letter-spacing:.14em;text-transform:uppercase;background:#3b82f61f;border:1px solid #3b82f673;border-radius:999px;align-items:center;gap:12px;padding:13px 22px;font-size:11px;text-decoration:none;transition:background .35s,border-color .35s;display:inline-flex}@media (hover:hover){.d1-btn:hover{background:#3b82f63d;border-color:#3b82f6d9}}.d1-btn__arrow{transition:transform .35s}@media (hover:hover){.d1-btn:hover .d1-btn__arrow{transform:translate(4px)}}.d1-hero__links{font-family:var(--d1-mono);letter-spacing:.06em;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.d1-hero__links a{color:var(--d1-muted);border-bottom:1px solid #0000;text-decoration:none;transition:color .3s,border-color .3s}@media (hover:hover){.d1-hero__links a:hover{color:var(--d1-text);border-bottom-color:#f0f0f066}}.d1-hero__foot{border-top:1px solid var(--d1-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 32px;margin-top:clamp(36px,8vh,84px);padding-top:16px;display:flex}.d1-hero__nav{font-family:var(--d1-mono);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;gap:6px 20px;font-size:11px;display:flex}.d1-hero__nav a{color:var(--d1-muted);text-decoration:none;transition:color .3s}@media (hover:hover){.d1-hero__nav a:hover{color:var(--d1-text)}}.d1-hero__cue{font-family:var(--d1-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--d1-muted);align-items:center;gap:10px;font-size:10px;display:flex}.d1-hero__cue-line{background:linear-gradient(90deg,#f0f0f08c,#0000);width:64px;height:1px;display:block}.d1-flow{z-index:1;position:relative}.d1-section{width:100%;max-width:var(--d1-max);padding:clamp(64px, 10vh, 132px) var(--d1-gutter);margin:0 auto;scroll-margin-top:88px;position:relative}.d1-head{border-bottom:1px solid var(--d1-line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px 24px;margin-bottom:clamp(28px,4.6vw,60px);padding-bottom:14px;display:grid}.d1-head__index{font-family:var(--d1-mono);letter-spacing:.2em;color:var(--d1-accent-soft);font-size:11px}.d1-head__title{letter-spacing:-.035em;font-size:clamp(1.75rem,4vw,3.2rem);line-height:1}.d1-head__note{font-family:var(--d1-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d1-muted);text-align:right;font-size:10px}.d1-about__grid{grid-template-columns:minmax(200px,.66fr) minmax(0,1.62fr);align-items:start;gap:clamp(28px,5vw,76px);display:grid}.d1-about__figure{flex-direction:column;gap:14px;margin:0;display:flex}.d1-about__avatar{aspect-ratio:1;background:radial-gradient(circle at 34% 26%, #3b82f68c, #0c0c10fa 62%), var(--d1-surface);clip-path:circle(75%);border-radius:50%;place-items:center;width:100%;max-width:320px;display:grid;position:relative;overflow:hidden}.d1-about__initials{font-family:var(--d1-display);letter-spacing:-.04em;color:#e0f2fe;opacity:.92;font-size:clamp(2.2rem,5.6vw,4.2rem);font-weight:600}.d1-about__ring{border:1px dashed #93c5fd52;border-radius:50%;position:absolute;inset:7%}.d1-about__caption{font-family:var(--d1-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d1-muted);flex-direction:column;gap:4px;font-size:10px;display:flex}.d1-about__lede{color:#d8d8e0;max-width:64ch;font-size:clamp(1.02rem,1.45vw,1.26rem);line-height:1.66}.d1-metrics{border:1px solid var(--d1-line);background:var(--d1-line);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:1px;margin:clamp(26px,4vw,46px) 0 0;display:grid;overflow:hidden}.d1-metric{background:#111113bd;flex-direction:column-reverse;gap:6px;padding:16px 18px;display:flex}.d1-metric__label{font-family:var(--d1-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d1-muted);font-size:9.5px}.d1-metric__value{font-family:var(--d1-display);letter-spacing:-.035em;color:var(--d1-text);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1.7rem,2.9vw,2.5rem);font-weight:600;line-height:1}.d1-stack{flex-direction:column;gap:clamp(18px,2.6vw,34px);margin:0;padding:0;list-style:none;display:flex}.d1-stack__item{position:relative}.d1-stack__card{border:1px solid var(--d1-line-strong);background:linear-gradient(158deg, #18181df7, #0b0b0efa 72%), var(--d1-surface);will-change:transform;border-radius:18px;grid-template-columns:minmax(110px,.3fr) minmax(0,1fr);gap:clamp(18px,3vw,44px);min-height:clamp(300px,48vh,440px);padding:clamp(22px,2.8vw,40px);display:grid;position:relative;box-shadow:0 40px 90px -50px #000000f2}.d1-stack__rail{border-right:1px solid var(--d1-line);flex-direction:column;justify-content:space-between;gap:12px;padding-right:16px;display:flex}.d1-stack__index{font-family:var(--d1-mono);letter-spacing:.2em;color:var(--d1-accent-soft);font-size:11px}.d1-stack__period{font-family:var(--d1-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d1-muted);font-size:10px;line-height:1.5}.d1-stack__role{letter-spacing:-.03em;font-size:clamp(1.35rem,2.5vw,2.1rem);line-height:1.1}.d1-stack__company{color:#a6a6b2;margin-top:8px;font-size:.94rem}.d1-stack__list{flex-direction:column;gap:10px;max-width:64ch;margin:20px 0 0;padding:0;list-style:none;display:flex}.d1-stack__list li{color:var(--d1-text-soft);padding-left:18px;font-size:.94rem;line-height:1.55;position:relative}.d1-stack__list li:before{content:"";background:var(--d1-accent);width:7px;height:1px;position:absolute;top:.72em;left:0}.d1-tags{flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;list-style:none;display:flex}.d1-tags--tight{margin-top:14px}.d1-tag{font-family:var(--d1-mono);letter-spacing:.1em;text-transform:uppercase;color:#a5a5b4;border:1px solid #ffffff1a;border-radius:999px;padding:4px 9px;font-size:9.5px}.d1-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.5vw,20px);display:grid}.d1-project{border:1px solid var(--d1-line);min-height:250px;transform-style:preserve-3d;will-change:transform;background:linear-gradient(155deg,#17171cf0,#0a0a0df5);border-radius:20px;padding:clamp(20px,2.4vw,34px);transition:border-color .4s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.d1-project:hover{border-color:#3b82f66b}}.d1-project--wide{grid-column:span 2;min-height:292px}.d1-project__inner{z-index:2;flex-direction:column;gap:12px;width:100%;display:flex;position:relative}.d1-project__index{font-family:var(--d1-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--d1-muted);justify-content:space-between;align-items:baseline;gap:16px;font-size:9.5px;display:flex}.d1-project__kind{color:#93c5fdd9;text-align:right}.d1-project__title{letter-spacing:-.028em;font-size:clamp(1.3rem,2.2vw,1.95rem);line-height:1.12}.d1-project__summary{color:#b4b4c0;max-width:54ch;font-size:.94rem;line-height:1.6}.d1-project__list{color:#9797a6;flex-direction:column;gap:6px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.d1-project__list li{padding-left:15px;position:relative}.d1-project__list li:before{content:"";background:#3b82f6bf;width:7px;height:1px;position:absolute;top:.72em;left:0}.d1-project__metrics{font-family:var(--d1-mono);letter-spacing:.1em;text-transform:uppercase;color:#bfdbfe;flex-wrap:wrap;gap:6px 18px;margin:auto 0 0;padding:0;font-size:9.5px;list-style:none;display:flex}.d1-project__glow{opacity:0;pointer-events:none;background:radial-gradient(#3b82f64d,#0000 70%);height:72%;transition:opacity .5s;position:absolute;inset:auto -20% -62%}@media (hover:hover){.d1-project:hover .d1-project__glow{opacity:1}}.d1-orbit{aspect-ratio:1;width:min(100%,740px);margin:0 auto;position:relative}.d1-orbit__web{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.d1-orbit__web line{stroke:#3b82f642;stroke-width:.16px}.d1-orbit__web circle{fill:none;stroke:#ffffff12;stroke-width:.16px;stroke-dasharray:1 2.4}.d1-orbit__core{aspect-ratio:1;text-align:center;background:radial-gradient(circle at 38% 32%,#3b82f673,#3b82f60a 72%);border:1px solid #3b82f666;border-radius:50%;place-items:center;width:24%;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.d1-orbit__core-label{font-family:var(--d1-mono);letter-spacing:.14em;text-transform:uppercase;color:#dbeafe;padding:0 14px;font-size:9.5px;line-height:1.5}.d1-orbit__nodes{margin:0;padding:0;list-style:none;position:absolute;inset:0}.d1-orbit__node{width:var(--d1-node-size,72px);height:var(--d1-node-size,72px);text-align:center;will-change:transform, opacity;background:#111114db;border:1px solid #ffffff1c;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px;display:flex;position:absolute;translate:-50% -50%}@media (hover:hover){.d1-orbit__node:hover{border-color:#3b82f699}}.d1-orbit__name{letter-spacing:-.01em;color:#e8e8f0;font-size:10px;line-height:1.15}.d1-orbit__group{font-family:var(--d1-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d1-muted);font-size:7px;line-height:1.1}.d1-cards{grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:clamp(12px,1.5vw,18px);margin:0;padding:0;list-style:none;display:grid}.d1-card{border:1px solid var(--d1-line);background:#111114a8;border-radius:16px;flex-direction:column;gap:7px;padding:clamp(18px,2vw,26px);display:flex}.d1-card--cert{flex-direction:row;justify-content:space-between;align-items:baseline;gap:20px}.d1-card__period{font-family:var(--d1-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d1-accent-soft);white-space:nowrap;font-size:9.5px}.d1-card__title{letter-spacing:-.02em;font-size:1.12rem;line-height:1.25}.d1-card__title a{color:inherit;border-bottom:1px solid #3b82f666;text-decoration:none}@media (hover:hover){.d1-card__title a:hover{border-bottom-color:var(--d1-accent-soft)}}.d1-card__subtitle{color:#a8a8b4;font-size:.92rem}.d1-card__meta{font-family:var(--d1-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d1-muted);font-size:9.5px}.d1-contact__inner{text-align:center;flex-direction:column;align-items:center;gap:22px;padding:clamp(24px,5vw,64px) 0;display:flex}.d1-contact__lead{font-family:var(--d1-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--d1-muted);font-size:10px}.d1-contact__mail{font-family:var(--d1-display);letter-spacing:-.035em;color:var(--d1-text);border-bottom:1px solid #3b82f673;padding-bottom:6px;font-size:clamp(1.3rem,4.6vw,3.2rem);font-weight:600;line-height:1.1;text-decoration:none;transition:color .35s,border-color .35s}@media (hover:hover){.d1-contact__mail:hover{color:#bfdbfe;border-bottom-color:var(--d1-accent-soft)}}.d1-contact__rows{flex-wrap:wrap;justify-content:center;gap:14px 44px;margin:6px 0 0;display:flex}.d1-contact__row{flex-direction:column;align-items:center;gap:4px;display:flex}.d1-contact__row dt{font-family:var(--d1-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d1-muted);font-size:9.5px}.d1-contact__row dd{color:#d8d8e0;margin:0;font-size:.95rem}.d1-contact__row a{color:inherit;border-bottom:1px solid #ffffff2e;text-decoration:none}.d1-contact__links{font-family:var(--d1-mono);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:0;padding:0;font-size:10px;list-style:none;display:flex}.d1-contact__links a{color:var(--d1-muted);text-decoration:none;transition:color .3s}@media (hover:hover){.d1-contact__links a:hover{color:var(--d1-text)}}.d1-page .pf-warnings{z-index:1;max-width:var(--d1-max);padding-inline:var(--d1-gutter);color:var(--d1-muted);font-family:var(--d1-mono);letter-spacing:.06em;border:0;margin:0 auto;font-size:10px;position:relative}.d1-page .pf-warnings .pf-warnings__title{color:#f0f0f099}.d1-colophon{z-index:1;width:100%;max-width:var(--d1-max);padding:22px var(--d1-gutter) 40px;border-top:1px solid var(--d1-line);font-family:var(--d1-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d1-muted);flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin:0 auto;font-size:9.5px;display:flex;position:relative}@media (max-width:1080px){.d1-about__grid{grid-template-columns:minmax(180px,.5fr) minmax(0,1fr)}.d1-orbit{width:min(100%,620px)}}@media (max-width:900px){.d1-about__grid{grid-template-columns:minmax(0,1fr);gap:32px}.d1-about__avatar{max-width:220px}.d1-projects__grid{grid-template-columns:minmax(0,1fr)}.d1-project--wide{grid-column:span 1}.d1-orbit{aspect-ratio:auto;width:100%}.d1-orbit__web,.d1-orbit__core{display:none}.d1-orbit__nodes{flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:static}.d1-orbit__node{border-radius:999px;flex-direction:row;gap:8px;width:auto;height:auto;padding:9px 14px;position:static;translate:none}.d1-orbit__name{font-size:11px}.d1-orbit__group{font-size:8px}}@media (max-width:768px){.d1-stack__card{grid-template-columns:minmax(0,1fr);gap:16px;min-height:0;position:static}.d1-stack__rail{border-right:0;border-bottom:1px solid var(--d1-line);flex-direction:row;justify-content:space-between;align-items:baseline;padding-bottom:12px;padding-right:0}.d1-head{grid-template-columns:auto 1fr}.d1-head__note{text-align:left;grid-column:1/-1}.d1-hero__foot{align-items:flex-start}.d1-hero__cue{display:none}}@media (max-width:520px){.d1-hero__name{font-size:clamp(2.4rem,12vw,3.4rem)}.d1-section{padding-block:56px}.d1-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.d1-card--cert{flex-direction:column;align-items:flex-start;gap:6px}.d1-colophon{flex-direction:column}.d1-scene__canvas{display:none}}@media (prefers-reduced-motion:reduce){.d1-page *,.d1-page :before,.d1-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.d1-cursor{display:none!important}html[data-d1-cursor=on] .d1-page,html[data-d1-cursor=on] .d1-page *{cursor:auto}.d1-stack__card{position:static}.d1-btn,.d1-btn__arrow,.d1-project,.d1-project__glow,.d1-contact__mail,.d1-hero__links a,.d1-hero__nav a{transition:none}}@media print{*,:before,:after{transition:none!important;animation:none!important}.d1-skip{display:none!important}}.d1-hero__photo{width:fit-content;margin:0;transform:rotate(-3deg)}.d1-hero__photo-img{border:1px solid var(--d1-line-strong);object-fit:cover;border-radius:24px;width:96px;height:96px;display:block;box-shadow:0 18px 40px #00000073,inset 0 0 0 1px #ffffff0a}@media (max-width:640px){.d1-hero__photo-img{border-radius:18px;width:80px;height:80px}}.d2-page{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--d2-bg:#0a0a0a;--d2-surface:#121212;--d2-surface-raised:#171717;--d2-text:#f5f5f5;--d2-soft:#b8b8b8;--d2-muted:#a3a3a3;--d2-accent:var(--pf-accent,#cf0);--d2-accent-dim:color-mix(in srgb, var(--d2-accent) 22%, transparent);--d2-line:#f5f5f524;--d2-line-soft:#f5f5f512;--d2-display:"Clash Display", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--d2-body:"Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--d2-mono:"Space Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--d2-gutter:clamp(20px, 4.6vw, 64px);--d2-max:1440px;isolation:isolate;min-height:100vh;background:var(--d2-bg);min-height:100svh;color:var(--d2-text);font-family:var(--d2-body);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6;position:relative;overflow-x:clip}.pf-shell[data-scheme=dark] .d2-page{--d2-bg:var(--pf-bg);--d2-surface:var(--pf-surface);--d2-surface-raised:color-mix(in srgb, var(--pf-surface) 90%, var(--pf-text));--d2-text:var(--pf-text);--d2-soft:color-mix(in srgb, var(--pf-text) 78%, var(--pf-muted));--d2-muted:var(--pf-muted)}.d2-page:after{content:"";z-index:9998;pointer-events:none;background-image:repeating-conic-gradient(#fff 0 0.0001%, transparent 0 0.0004%);opacity:.03;animation:.5s steps(4,end) infinite d2-grain;position:fixed;inset:0}@keyframes d2-grain{0%,to{transform:translate(0)}25%{transform:translate(-5%,-5%)}50%{transform:translate(5%,5%)}75%{transform:translate(-2%,3%)}}.d2-page :where(h1,h2,h3){font-family:var(--d2-display);letter-spacing:-.03em;margin:0;font-weight:600;line-height:1}.d2-page :where(p,li,dd){text-wrap:pretty}.d2-page ::selection{background:var(--d2-accent);color:#0a0a0a}.d2-page :focus-visible{outline:2px solid var(--d2-accent);outline-offset:4px}.d2-page a:focus-visible{outline:2px solid var(--d2-accent);outline-offset:4px}.d2-page button:focus-visible{outline:2px solid var(--d2-accent);outline-offset:4px}.d2-page summary:focus-visible{outline:2px solid var(--d2-accent);outline-offset:4px}.d2-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--d2-accent);outline-offset:4px}:is(.d2-page [tabindex="-1"]:focus,.d2-page [tabindex="-1"]:focus-visible){outline:none}.d2-skip{z-index:200;background:var(--d2-accent);color:#0a0a0a;font-family:var(--d2-mono);padding:10px 16px;font-size:12px;text-decoration:none;position:absolute;top:0;left:-9999px}.d2-skip:focus-visible{left:var(--d2-gutter);top:12px}.d2-cursor{z-index:9999;pointer-events:none;display:none;position:fixed;inset:0}.d2-cursor__dot,.d2-cursor__ring{pointer-events:none;will-change:transform;border-radius:50%;position:fixed;top:0;left:0;translate:-50% -50%}.d2-cursor__dot{background:var(--d2-accent);width:5px;height:5px}.d2-cursor__ring{border:1px solid #f5f5f58c;width:34px;height:34px}@media (pointer:fine) and (min-width:769px){html[data-d2-cursor=on] .d2-page,html[data-d2-cursor=on] .d2-page *{cursor:auto}html[data-d2-cursor=on] .d2-cursor{display:block}}.d2-hero{z-index:1;min-height:100svh;padding:clamp(18px, 2.6vw, 34px) var(--d2-gutter) clamp(20px, 2.6vw, 34px);background:var(--d2-bg);flex-direction:column;gap:clamp(10px,1.6vw,22px);display:flex;position:relative}.d2-hero__top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.d2-hero__eyebrow,.d2-hero__place,.d2-hero__cue,.d2-hero__nav,.d2-hero__links{font-family:var(--d2-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d2-muted);margin:0;font-size:10px}.d2-hero__eyebrow{align-items:center;gap:10px;display:flex}.d2-hero__pulse{background:var(--d2-accent);width:6px;height:6px;box-shadow:0 0 0 0 var(--d2-accent-dim);border-radius:50%;animation:2.6s ease-out infinite d2-pulse}@keyframes d2-pulse{0%{box-shadow:0 0 #ccff0059}70%{box-shadow:0 0 0 7px #cf00}to{box-shadow:0 0 #cf00}}.d2-hero__slash{color:var(--d2-accent)}.d2-hero__name{font-size:min(20vw, var(--d2-hero-fit-w,20vw), var(--d2-hero-fit-h,26svh));letter-spacing:-.055em;text-transform:uppercase;color:var(--d2-text);flex-direction:column;flex:auto;justify-content:center;margin:0;font-weight:600;line-height:.84;display:flex}.d2-hero__line{margin-block:-.02em -.07em;padding-block:.02em .07em;display:block;overflow:clip}.d2-hero__line:nth-child(2n){padding-left:.045em}.d2-hero--loose .d2-hero__line{overflow:visible}.d2-hero__word{display:inline-block}.d2-hero__meta{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(16px,3vw,40px);display:grid}.d2-hero__tagline{max-width:34ch;color:var(--d2-soft);margin:0;font-size:clamp(1.02rem,1.4vw,1.5rem);line-height:1.4}.d2-hero__actions{justify-self:end;align-items:center;gap:clamp(16px,2vw,30px);display:flex}.d2-hero__cta{border:1px solid var(--d2-line);color:var(--d2-text);font-family:var(--d2-mono);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;gap:10px;padding:11px 20px;font-size:11px;text-decoration:none;transition:background-color .35s,color .35s,border-color .35s;display:inline-flex}.d2-hero__cta-arrow{transition:transform .35s cubic-bezier(.16,1,.3,1)}@media (hover:hover){.d2-hero__cta:hover{background:var(--d2-accent);border-color:var(--d2-accent);color:#0a0a0a}.d2-hero__cta:hover .d2-hero__cta-arrow{transform:translate(2px,-2px)}}.d2-hero__cue{align-items:center;gap:8px;display:flex}.d2-hero__cue-line{background:var(--d2-line);transform-origin:0;width:40px;height:1px;animation:2.4s ease-in-out infinite d2-cue}@keyframes d2-cue{0%,to{transform:scaleX(.35)}50%{transform:scaleX(1)}}.d2-hero__foot{border-top:1px solid var(--d2-line-soft);justify-content:space-between;align-items:baseline;gap:16px;padding-top:14px;display:flex}.d2-hero__nav,.d2-hero__links{flex-wrap:wrap;gap:4px 22px;padding:0;list-style:none;display:flex}.d2-hero__nav a,.d2-hero__links a{color:var(--d2-muted);text-decoration:none;transition:color .25s}@media (hover:hover){.d2-hero__nav a:hover,.d2-hero__links a:hover{color:var(--d2-accent)}}.d2-flow{z-index:1;background:var(--d2-bg);position:relative}.d2-section{max-width:var(--d2-max);padding:clamp(72px, 9.5vw, 148px) var(--d2-gutter);margin-inline:auto;position:relative}.d2-head{flex-direction:column;gap:clamp(14px,2vw,24px);margin-bottom:clamp(32px,4.6vw,64px);display:flex}.d2-head__rail{font-family:var(--d2-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d2-muted);align-items:center;gap:14px;font-size:10px;display:flex}.d2-head__index{color:var(--d2-accent)}.d2-head__rule{background:var(--d2-line);flex:auto;height:1px}.d2-head__title{letter-spacing:-.05em;text-transform:uppercase;font-size:clamp(2.6rem,9vw,8rem);line-height:.88}.d2-head__title :where(div){padding-bottom:.04em}.d2-about{grid-template-columns:minmax(0,.28fr) minmax(0,1fr);align-items:start;gap:clamp(20px,4vw,64px);display:grid}.d2-about__rail{align-self:stretch;align-items:flex-start;gap:18px;display:flex;position:relative}.d2-about__title{writing-mode:vertical-rl;letter-spacing:-.03em;text-transform:uppercase;color:var(--d2-accent);margin:0;font-size:clamp(2.4rem,8vw,7.5rem);font-weight:600;line-height:.8;position:sticky;top:28vh;rotate:180deg}.d2-about__rail-rule{background:linear-gradient(180deg, var(--d2-line), transparent);width:1px;height:34vh;margin-top:2px;display:block;position:sticky;top:28vh}.d2-about__body{max-width:64ch}.d2-about__avatar{float:right;aspect-ratio:1;shape-outside:circle(50%);clip-path:circle(50%);background:radial-gradient(circle at 34% 26%, #ccff008c, #0e0e0efa 64%), var(--d2-surface);border-radius:50%;place-items:center;width:clamp(112px,15vw,210px);margin:4px 0 18px 28px;display:grid;position:relative}.d2-about__initials{font-family:var(--d2-display);letter-spacing:-.04em;color:var(--d2-text);font-size:clamp(1.8rem,3.4vw,3rem);font-weight:600}.d2-about__ring{border:1px solid #f5f5f538;border-radius:50%;position:absolute;inset:6%}.d2-about__kicker{font-family:var(--d2-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--d2-accent);margin:0 0 18px;font-size:11px}.d2-about__lede{letter-spacing:-.012em;color:var(--d2-text);margin:0;font-size:clamp(1.18rem,2.05vw,1.95rem);line-height:1.45}.d2-about__facts{border-top:1px solid var(--d2-line);flex-wrap:wrap;gap:clamp(20px,3vw,48px);margin:clamp(28px,4vw,52px) 0 0;padding-top:22px;display:flex}.d2-about__fact dt{font-family:var(--d2-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--d2-muted);font-size:10px}.d2-about__fact dd{font-family:var(--d2-display);letter-spacing:-.04em;margin:6px 0 0;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:600;line-height:1}.d2-exp{margin:0;padding:0;list-style:none}.d2-exp__item{border-top:1px solid var(--d2-line-soft);grid-template-columns:56px minmax(0,1fr);gap:0 clamp(12px,2vw,28px);padding-block:clamp(26px,3.6vw,52px);display:grid}.d2-exp__item:last-child{border-bottom:1px solid var(--d2-line-soft)}.d2-exp__index{font-family:var(--d2-mono);letter-spacing:.2em;color:var(--d2-accent);margin:0;padding-top:.9em;font-size:10px}.d2-exp__company{font-size:var(--d2-exp-size,8vw);letter-spacing:-.045em;text-transform:uppercase;color:var(--d2-text);line-height:.88;transition:color .4s,-webkit-text-stroke-color .4s}.d2-exp__item:nth-child(2n) .d2-exp__company{color:#0000;-webkit-text-stroke:1.5px #f5f5f580}@media (hover:hover){.d2-exp__item:hover .d2-exp__company{color:var(--d2-accent);-webkit-text-stroke-color:transparent}}.d2-exp__meta{flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:clamp(12px,1.6vw,20px);display:flex}.d2-exp__role{color:var(--d2-text);margin:0;font-size:clamp(1rem,1.35vw,1.25rem)}.d2-exp__period,.d2-exp__place{font-family:var(--d2-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d2-muted);margin:0;font-size:11px}.d2-exp__list{max-width:62ch;color:var(--d2-soft);gap:8px;margin:clamp(16px,2vw,24px) 0 0;padding:0;font-size:.95rem;line-height:1.55;list-style:none;display:grid}.d2-exp__list li{padding-left:20px;position:relative}.d2-exp__list li:before{content:"";background:var(--d2-accent);width:10px;height:1px;position:absolute;top:.72em;left:0}.d2-exp__tags{flex-wrap:wrap;gap:6px;margin:clamp(14px,1.8vw,20px) 0 0;padding:0;list-style:none;display:flex}.d2-exp__tags li{border:1px solid var(--d2-line);font-family:var(--d2-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d2-muted);border-radius:2px;padding:4px 9px;font-size:10px}.d2-projects{flex-direction:column;justify-content:center;gap:clamp(18px,2.6vw,34px);min-height:100svh;padding-block:clamp(44px,5vw,76px);display:flex}.d2-projects .d2-head{margin-bottom:0}.d2-projects__viewport{margin-inline:calc(var(--d2-gutter) * -1);overflow:hidden}.d2-projects__track{width:max-content;padding:0 var(--d2-gutter);will-change:transform;gap:clamp(14px,1.8vw,28px);margin:0;list-style:none;display:flex}.d2-project{flex-direction:column;flex:none;gap:16px;width:clamp(300px,42vw,620px);display:flex}.d2-project__cover{border:1px solid var(--d2-line-soft);background:radial-gradient(120% 90% at 12% 8%,#ccff0014,#0000 58%),linear-gradient(150deg,#191919 0%,#0d0d0d 62%);align-items:flex-end;height:clamp(180px,26svh,340px);padding:18px;transition:border-color .4s;display:flex;position:relative;overflow:hidden}.d2-project__cover-rule{background:var(--d2-line-soft);height:1px;position:absolute;top:50%;left:0;right:0}.d2-project__cover-mark{background:var(--d2-accent);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;right:16px}.d2-project__cover-index{font-family:var(--d2-display);letter-spacing:-.05em;color:#0000;-webkit-text-stroke:1px #f5f5f561;font-size:clamp(3rem,5.6vw,5.2rem);font-weight:600;line-height:.78;transition:color .4s,-webkit-text-stroke-color .4s;position:relative}@media (hover:hover){.d2-project:hover .d2-project__cover{border-color:#ccff0073}.d2-project:hover .d2-project__cover-index{color:var(--d2-accent);-webkit-text-stroke-color:transparent}}.d2-project__kind{font-family:var(--d2-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--d2-muted);gap:6px;margin:0 0 8px;font-size:10px;display:flex}.d2-project__count{color:var(--d2-accent)}.d2-project__title{letter-spacing:-.03em;font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.06}.d2-project__summary{color:var(--d2-soft);margin:10px 0 0;font-size:.92rem;line-height:1.55}.d2-project__metrics{font-family:var(--d2-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d2-text);flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;padding:0;font-size:10px;list-style:none;display:flex}.d2-project__tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.d2-project__tags li{border:1px solid var(--d2-line-soft);font-family:var(--d2-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d2-muted);padding:3px 8px;font-size:9px}.d2-projects__hint{font-family:var(--d2-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--d2-muted);align-items:center;gap:8px;margin:0;font-size:10px;display:flex}.d2-skills__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(28px,3.4vw,52px) clamp(20px,3vw,44px);display:grid}.d2-skill-group__head{border-bottom:1px solid var(--d2-line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:10px;display:grid}.d2-skill-group__index,.d2-skill-group__count{font-family:var(--d2-mono);letter-spacing:.16em;color:var(--d2-muted);font-size:10px}.d2-skill-group__index{color:var(--d2-accent)}.d2-skill-group__title{font-family:var(--d2-body);letter-spacing:.03em;text-transform:uppercase;font-size:clamp(.95rem,1.1vw,1.08rem);font-weight:600}.d2-skill-group__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.d2-skill{align-items:baseline;gap:10px;padding-block:4px;display:flex;position:relative}.d2-skill__bullet{background:var(--d2-line);transform-origin:0;flex:none;width:12px;height:1px;transition:transform .22s cubic-bezier(.23,1,.32,1);translate:0 -.32em}.d2-skill__text{font-family:var(--d2-mono);letter-spacing:-.01em;white-space:pre;font-size:clamp(.9rem,1.1vw,1.02rem)}@media (hover:hover){.d2-skill:hover .d2-skill__bullet{background:var(--d2-accent);transform:scaleX(2.2)}}.d2-skill__sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.d2-contact{border-top:1px solid var(--d2-line-soft);flex-direction:column;justify-content:center;gap:clamp(22px,3vw,42px);min-height:100svh;display:flex}.d2-contact__top{font-family:var(--d2-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--d2-muted);align-items:center;gap:14px;font-size:10px;display:flex}.d2-contact__eyebrow{align-items:center;gap:9px;margin:0;display:flex}.d2-contact__pulse{background:var(--d2-accent);border-radius:50%;width:6px;height:6px}.d2-contact__rule{background:var(--d2-line);flex:auto;height:1px}.d2-contact__cta{letter-spacing:-.055em;text-transform:uppercase;color:var(--d2-text);font-size:clamp(3.2rem,15vw,15rem);line-height:.82}.d2-contact__body{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(20px,3vw,48px);display:flex}.d2-contact__actions{flex-direction:column;gap:10px;display:flex}.d2-contact__mail{border-bottom:1px solid var(--d2-accent);letter-spacing:-.02em;width:fit-content;color:var(--d2-text);align-items:baseline;gap:10px;padding-bottom:4px;font-size:clamp(1.05rem,2.1vw,1.7rem);text-decoration:none;transition:color .3s;display:inline-flex}@media (hover:hover){.d2-contact__mail:hover{color:var(--d2-accent)}}.d2-contact__arrow{color:var(--d2-accent);font-size:.8em}.d2-contact__phone{width:fit-content;font-family:var(--d2-mono);letter-spacing:.1em;color:var(--d2-muted);font-size:12px;text-decoration:none}@media (hover:hover){.d2-contact__phone:hover{color:var(--d2-text)}}.d2-contact__links{font-family:var(--d2-mono);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;gap:8px 28px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.d2-contact__links a{border-bottom:1px solid var(--d2-line);color:var(--d2-soft);align-items:baseline;gap:6px;padding-bottom:3px;text-decoration:none;transition:color .3s,border-color .3s;display:inline-flex}@media (hover:hover){.d2-contact__links a:hover{color:var(--d2-accent);border-color:var(--d2-accent)}}.d2-colophon{max-width:var(--d2-max);padding:28px var(--d2-gutter) 34px;border-top:1px solid var(--d2-line-soft);font-family:var(--d2-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d2-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;margin-inline:auto;font-size:10px;display:flex}.d2-colophon p{margin:0}.d2-colophon__name{color:var(--d2-text)}@media (max-width:1080px){.d2-about{grid-template-columns:minmax(0,.22fr) minmax(0,1fr)}.d2-hero__meta{grid-template-columns:minmax(0,1fr);justify-items:start}.d2-hero__actions{justify-self:start}}@media (max-width:900px){.d2-about{grid-template-columns:minmax(0,1fr)}.d2-about__rail{flex-direction:column;align-items:flex-start;gap:14px}.d2-about__title{writing-mode:horizontal-tb;font-size:clamp(2.6rem,11vw,5rem);line-height:.9;position:static;rotate:none}.d2-about__rail-rule{background:var(--d2-line);width:100%;height:1px;position:static}}@media (max-width:768px){.d2-projects{min-height:0;padding-block:clamp(56px,9vw,80px)}.d2-projects__viewport{margin-inline:0;overflow:visible}.d2-projects__track{flex-direction:column;gap:28px;width:auto;padding:0}.d2-project{width:100%;max-width:520px}.d2-projects__hint{display:none}.d2-contact{min-height:0;padding-block:clamp(72px,12vw,110px)}.d2-hero__name{font-size:min(15vw, var(--d2-hero-fit-w,15vw), var(--d2-hero-fit-h,22svh))}.d2-hero__foot{flex-direction:column;align-items:flex-start;gap:10px}.d2-exp__item{grid-template-columns:minmax(0,1fr);gap:10px}.d2-exp__index{padding-top:0}.d2-about__avatar{width:clamp(96px,26vw,150px);margin:2px 0 14px 18px}}@media (max-width:520px){.d2-hero__name{font-size:min(12vw, var(--d2-hero-fit-w,12vw), var(--d2-hero-fit-h,20svh))}.d2-hero__cue{display:none}.d2-hero__nav,.d2-hero__links{gap:4px 14px}.d2-about__facts{gap:18px}.d2-contact__body{flex-direction:column;align-items:flex-start}.d2-contact__mail{word-break:break-word;font-size:1rem}.d2-colophon{flex-direction:column}}@media (max-width:480px) and (prefers-reduced-motion:no-preference){.d2-hero__line{animation:.9s cubic-bezier(.16,1,.3,1) both d2-line-in}.d2-hero__line:nth-child(2){animation-delay:80ms}.d2-hero__line:nth-child(3){animation-delay:.16s}.d2-hero__line:nth-child(4){animation-delay:.24s}}@keyframes d2-line-in{0%{opacity:0;translate:0 22%}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.d2-page *,.d2-page :before,.d2-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.d2-page:after{animation:none}.d2-cursor{display:none!important}html[data-d2-cursor=on] .d2-page,html[data-d2-cursor=on] .d2-page *{cursor:auto}.d2-hero__pulse,.d2-hero__cue-line{animation:none}.d2-projects{min-height:0}.d2-projects__viewport{margin-inline:0;overflow:visible}.d2-projects__track{will-change:auto;flex-direction:column;gap:28px;width:auto;padding:0;transform:none!important}.d2-project{width:100%;max-width:560px}.d2-projects__hint{display:none}.d2-contact{min-height:0}.d2-hero__cta,.d2-hero__cta-arrow,.d2-exp__company,.d2-project__cover,.d2-project__cover-index,.d2-contact__mail,.d2-contact__links a,.d2-skill__bullet{transition:none}}@media print{*,:before,:after{transition:none!important;animation:none!important}.d2-skip{display:none!important}}.d2-hero__lead{align-items:center;gap:clamp(14px,2.4vw,28px);min-width:0;display:flex}.d2-hero__photo{flex:none;margin:0}.d2-hero__photo-img{border:1px solid var(--d2-line);box-shadow:0 0 0 1px #ccff002e, 0 0 34px var(--d2-accent-dim);object-fit:cover;border-radius:50%;width:88px;height:88px;display:block}@media (max-width:640px){.d2-hero__photo-img{width:72px;height:72px}}.d3-page,.d3-vignette,.d3-cursor,.d3-page *,.d3-page :before,.d3-page :after{box-sizing:border-box}.d3-page{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--d3-bg:#0a0a0a;--d3-bg-deep:color-mix(in srgb, var(--d3-bg) 55%, #000);--d3-surface:#08080b;--d3-ink:#0f2a33;--d3-text:#e8e8e6;--d3-soft:#e8e8e6b3;--d3-muted:#94a3b8;--d3-faint:#94a3b885;--d3-accent:var(--pf-accent,#0891b2);--d3-accent-dim:color-mix(in srgb, var(--d3-accent) 18%, transparent);--d3-line:#e8e8e61f;--d3-line-soft:#e8e8e60f;--d3-display:"Manrope", ui-sans-serif, system-ui, sans-serif;--d3-body:"General Sans", ui-sans-serif, system-ui, sans-serif;--d3-mono:"Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--d3-gutter:clamp(20px, 5vw, 72px);--d3-max:1440px;isolation:isolate;min-height:100vh;background: radial-gradient(120% 78% at 50% -12%, color-mix(in srgb, var(--d3-accent) 14%, var(--d3-bg-deep)) 0%, #0a0a0a00 58%), linear-gradient(180deg, var(--d3-bg) 0%, var(--d3-bg-deep) 100%);min-height:100svh;color:var(--d3-text);font-family:var(--d3-body);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6;position:relative;overflow-x:clip}.pf-shell[data-scheme=dark] .d3-page{--d3-bg:var(--pf-bg);--d3-surface:var(--pf-surface);--d3-text:var(--pf-text);--d3-soft:color-mix(in srgb, var(--pf-text) 70%, transparent);--d3-muted:var(--pf-muted);--d3-faint:color-mix(in srgb, var(--pf-muted) 52%, transparent);--d3-line:color-mix(in srgb, var(--pf-text) 12%, transparent);--d3-line-soft:color-mix(in srgb, var(--pf-text) 6%, transparent)}.d3-page:after{content:"";z-index:9998;pointer-events:none;background-image:repeating-conic-gradient(#fff 0 0.0001%, transparent 0 0.0004%);opacity:.03;animation:.6s steps(4,end) infinite d3-grain;position:fixed;inset:0}@keyframes d3-grain{0%,to{transform:translate(0)}25%{transform:translate(-5%,-5%)}50%{transform:translate(5%,4%)}75%{transform:translate(-3%,3%)}}.d3-page :where(h1,h2,h3){font-family:var(--d3-display);letter-spacing:-.02em;margin:0;font-weight:300;line-height:1.02}.d3-page :where(p,li,dd){text-wrap:pretty}.d3-page ::selection{background:var(--d3-accent);color:#06060a}.d3-page :focus-visible{outline:2px solid var(--d3-accent);outline-offset:4px}.d3-page a:focus-visible{outline:2px solid var(--d3-accent);outline-offset:4px}.d3-page button:focus-visible{outline:2px solid var(--d3-accent);outline-offset:4px}.d3-page summary:focus-visible{outline:2px solid var(--d3-accent);outline-offset:4px}.d3-page [tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--d3-accent);outline-offset:4px}:is(.d3-page [tabindex="-1"]:focus,.d3-page [tabindex="-1"]:focus-visible){outline:none}.d3-skip{z-index:200;background:var(--d3-accent);color:#06060a;font-family:var(--d3-mono);letter-spacing:.08em;padding:10px 16px;font-size:12px;text-decoration:none;position:absolute;top:0;left:-9999px}.d3-skip:focus-visible{left:var(--d3-gutter);top:12px}.d3-atmosphere{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.d3-atmosphere__glow{background:radial-gradient(46% 40% at 50% 22%,#0891b229,#0000 72%),radial-gradient(38% 34% at 50% 96%,#06b6d424,#0000 74%),radial-gradient(70% 60% at 12% 62%,#0f2a33d9,#0000 76%);position:absolute;inset:0}.d3-atmosphere__canvas{opacity:0;width:100%;height:100%;transition:opacity .9s;display:block;position:absolute;inset:0}.d3-atmosphere[data-webgl=on] .d3-atmosphere__canvas{opacity:1}.d3-vignette{z-index:2;pointer-events:none;background:radial-gradient(#0000 48%,#0000009e 100%),linear-gradient(#00000057 0%,#0000 18% 82%,#0000006b 100%);position:fixed;inset:0}.d3-cursor{z-index:9999;pointer-events:none;display:none;position:fixed;inset:0}.d3-cursor__dot,.d3-cursor__ring{pointer-events:none;border-radius:50%;position:fixed;top:0;left:0;translate:-50% -50%}.d3-cursor__dot{background:#0891b2;width:5px;height:5px}.d3-cursor__ring{border:1px solid #e8e8e673;width:34px;height:34px}@media (pointer:fine) and (min-width:769px){html[data-d3-cursor=on] .d3-page,html[data-d3-cursor=on] .d3-page *{cursor:auto}html[data-d3-cursor=on] .d3-cursor{display:block}}.d3-flow{z-index:1;position:relative}.d3-scene{z-index:1;padding:clamp(72px, 11vh, 150px) var(--d3-gutter);position:relative}.d3-scene__slug{font-family:var(--d3-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--d3-muted);align-items:center;gap:10px;margin:0;font-size:11px;font-weight:400;display:inline-flex}.d3-scene__slug-mark{background:var(--d3-accent);width:22px;height:1px}.d3-opening{min-height:100svh;padding-inline:var(--d3-gutter);text-align:center;place-items:center;display:grid}.d3-opening__frame{pointer-events:none;border:1px solid var(--d3-line-soft);position:absolute;inset:clamp(16px,3vw,44px)}.d3-opening__corner{border:1px solid var(--d3-faint);width:18px;height:18px;position:absolute}.d3-opening__corner--tl{border-bottom:0;border-right:0;top:-1px;left:-1px}.d3-opening__corner--tr{border-bottom:0;border-left:0;top:-1px;right:-1px}.d3-opening__corner--bl{border-top:0;border-right:0;bottom:-1px;left:-1px}.d3-opening__corner--br{border-top:0;border-left:0;bottom:-1px;right:-1px}.d3-opening__inner{z-index:1;flex-direction:column;align-items:center;gap:clamp(18px,2.6vw,30px);width:100%;max-width:1180px;display:flex;position:relative}.d3-opening__card{font-family:var(--d3-mono);letter-spacing:.38em;text-transform:uppercase;color:var(--d3-faint);align-items:center;gap:12px;margin:0;font-size:10.5px;display:inline-flex}.d3-opening__dot{background:var(--d3-accent);border-radius:50%;width:3px;height:3px}.d3-opening__name{font-family:var(--d3-display);letter-spacing:.02em;text-transform:uppercase;color:#f2f2f0;text-shadow:0 0 60px #0891b238;margin:0;font-size:clamp(2.1rem,7.6vw,6.6rem);font-weight:200;line-height:.98}.d3-opening__word{white-space:nowrap;display:inline-block}.d3-opening__word:not(:last-child){margin-right:.3em}.d3-opening__sub{font-family:var(--d3-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--d3-soft);margin:0;font-size:clamp(.68rem,1vw,.8rem)}.d3-opening__cue{font-family:var(--d3-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--d3-faint);align-items:center;gap:12px;margin:clamp(8px,2vh,24px) 0 0;font-size:10px;display:inline-flex}.d3-opening__cue-line{background:linear-gradient(90deg, var(--d3-accent), transparent);transform-origin:0;width:54px;height:1px;animation:2.8s ease-in-out infinite d3-cue;display:block}@keyframes d3-cue{0%,to{opacity:.4;transform:scaleX(.35)}50%{opacity:1;transform:scaleX(1)}}.d3-story{align-items:center;min-height:100svh;display:flex}.d3-story__grid{width:100%;max-width:var(--d3-max);grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,96px);margin-inline:auto;display:grid}.d3-story__figure{gap:14px;margin:0;display:grid}.d3-story__photo{aspect-ratio:4/5;border:1px solid var(--d3-line);will-change:transform;background:radial-gradient(70% 55% at 30% 18%,#0891b238,#0000 70%),linear-gradient(158deg,#122a33 0%,#0b1c22 52%,#08080c 100%);place-items:center;display:grid;position:relative;overflow:hidden}.d3-story__initials{font-family:var(--d3-display);letter-spacing:.08em;color:#e8e8e633;font-size:clamp(3rem,6.4vw,5.6rem);font-weight:200}.d3-story__scan{mix-blend-mode:overlay;background:repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 4px);position:absolute;inset:0}.d3-story__edge{pointer-events:none;border:1px solid #e8e8e612;position:absolute;inset:10px}.d3-story__caption{font-family:var(--d3-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d3-faint);gap:8px;font-size:10px;display:flex}.d3-story__body{gap:clamp(14px,2vw,24px);display:grid}.d3-story__title{letter-spacing:-.015em;color:#f2f2f0;font-size:clamp(1.7rem,3.2vw,2.9rem);font-weight:200}.d3-story__bio{max-width:52ch;color:var(--d3-soft);margin:0;font-size:clamp(.95rem,1.1vw,1.06rem);line-height:1.72}.d3-story__metrics{border-top:1px solid var(--d3-line);flex-wrap:wrap;gap:clamp(20px,4vw,52px);margin:clamp(6px,1.4vw,16px) 0 0;padding:clamp(14px,2vw,24px) 0 0;list-style:none;display:flex}.d3-story__metric{gap:4px;display:grid}.d3-story__metric-value{font-family:var(--d3-mono);color:#f2f2f0;font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;line-height:1}.d3-story__metric-label{font-family:var(--d3-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--d3-faint);font-size:9.5px}.d3-career{flex-direction:column;justify-content:center;gap:clamp(20px,3.4vh,42px);min-height:100svh;padding-block:clamp(64px,9vh,120px);display:flex}.d3-career__head{width:100%;max-width:var(--d3-max);gap:clamp(10px,1.6vh,18px);margin-inline:auto;display:grid}.d3-career__head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.d3-career__count{font-family:var(--d3-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--d3-faint);align-items:center;gap:10px;margin:0;font-size:10px;display:inline-flex}.d3-career__count-rule{background:var(--d3-line);width:40px;height:1px}.d3-career__title{color:#f2f2f0;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:200}.d3-career__progress{background:var(--d3-line-soft);height:1px;margin-top:clamp(6px,1.4vh,14px);position:relative}.timeline-progress{background:linear-gradient(90deg, var(--d3-accent), #0891b259);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.d3-career__stage{width:100%;max-width:var(--d3-max);gap:clamp(16px,2vw,26px);margin-inline:auto;padding:0;list-style:none;display:grid;position:relative}.reel-card{align-items:center;list-style:none;display:flex;position:relative}.d3-career__wash{z-index:0;pointer-events:none;background:radial-gradient(55% 60% at 16% 18%, var(--d3-era-a,#0891b233), transparent 72%), radial-gradient(50% 55% at 86% 88%, var(--d3-era-b,#0f2a33e6), transparent 74%);filter:blur(30px);opacity:.9;position:absolute;inset:-10% -6%}.d3-career__plate{z-index:1;border:1px solid var(--d3-line);background:color-mix(in srgb, var(--d3-surface) 74%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:clamp(10px,1.5vw,20px);width:100%;padding:clamp(22px,3.2vw,54px);display:grid;position:relative}.d3-career__card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.d3-career__frame,.d3-career__period{font-family:var(--d3-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--d3-faint);margin:0;font-size:10px}.d3-career__period{color:var(--d3-accent);letter-spacing:.2em}.d3-career__role{letter-spacing:-.02em;color:#f4f4f2;font-size:clamp(1.5rem,3.4vw,3rem);font-weight:200}.d3-career__company{letter-spacing:.02em;color:var(--d3-soft);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:clamp(.9rem,1.1vw,1rem);display:flex}.d3-career__sep{color:var(--d3-faint)}.d3-career__place{color:var(--d3-muted)}.d3-career__highlights{gap:8px;max-width:74ch;margin:0;padding:0;list-style:none;display:grid}.d3-career__highlights li{color:var(--d3-muted);padding-left:18px;font-size:clamp(.85rem,1vw,.95rem);line-height:1.65;position:relative}.d3-career__highlights li:before{content:"";background:var(--d3-accent);opacity:.7;width:8px;height:1px;position:absolute;top:.68em;left:0}.d3-career__tags,.d3-project__tags,.d3-toolkit__list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.d3-career__tags li,.d3-project__tags li{border:1px solid var(--d3-line-soft);font-family:var(--d3-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--d3-muted);padding:5px 10px;font-size:9.5px}.d3-showcase__head,.d3-toolkit__head{width:100%;max-width:var(--d3-max);gap:clamp(10px,1.4vw,16px);margin:0 auto clamp(28px,4.4vw,56px);display:grid}.d3-showcase__title,.d3-toolkit__title{letter-spacing:-.025em;color:#f2f2f0;font-size:clamp(1.9rem,4.2vw,3.6rem);font-weight:200}.d3-showcase__note,.d3-toolkit__note{font-family:var(--d3-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--d3-faint);margin:0;font-size:10px}.d3-showcase__grid{width:100%;max-width:var(--d3-max);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin-inline:auto;display:grid}.d3-project{border:1px solid var(--d3-line-soft);will-change:transform;background:linear-gradient(#ffffff09,#ffffff02);align-content:start;gap:clamp(12px,1.6vw,20px);padding:clamp(22px,2.6vw,40px);display:grid;position:relative}.d3-project[data-featured=true]{border-color:var(--d3-line);background:radial-gradient(80% 120% at 6% 0,#0891b224,#0000 62%),linear-gradient(150deg,#0f2a33b8,#0a0a0a99);grid-column:1/-1}.d3-project__head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:clamp(12px,1.6vw,20px);display:grid}.d3-project__index{font-family:var(--d3-mono);letter-spacing:.18em;color:var(--d3-accent);margin:0;padding-top:.5em;font-size:10px}.d3-project__titles{gap:6px;min-width:0;display:grid}.d3-project__title{letter-spacing:-.015em;color:#f2f2f0;font-size:clamp(1.15rem,1.9vw,1.7rem);font-weight:300}.d3-project__kind{font-family:var(--d3-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--d3-faint);margin:0;font-size:9.5px}.d3-project__badge{font-family:var(--d3-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--d3-accent);white-space:nowrap;border:1px solid #0891b26b;margin:0;padding:4px 9px;font-size:9px}.d3-project__summary{color:var(--d3-soft);max-width:68ch;margin:0;font-size:clamp(.88rem,1vw,.98rem);line-height:1.7}.d3-project__case{border-top:1px solid var(--d3-line-soft);gap:clamp(10px,1.4vw,16px);margin:0;padding:clamp(12px,1.6vw,20px) 0 0;display:grid}.d3-project__case-row{grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:14px;display:grid}.d3-project__case-row dt{font-family:var(--d3-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--d3-faint);font-size:9px}.d3-project__case-row dd{color:var(--d3-muted);margin:0;font-size:clamp(.82rem,.95vw,.92rem);line-height:1.65}.d3-project__metrics{flex-wrap:wrap;gap:clamp(12px,2vw,26px);margin:0;padding:0;list-style:none;display:flex}.d3-project__metrics li{font-family:var(--d3-mono);letter-spacing:.06em;color:var(--d3-accent);font-size:11px}.d3-project__highlights{gap:7px;margin:0;padding:0;list-style:none;display:grid}.d3-project__highlights li{color:var(--d3-muted);padding-left:16px;font-size:clamp(.82rem,.95vw,.9rem);line-height:1.6;position:relative}.d3-project__highlights li:before{content:"";background:var(--d3-faint);width:6px;height:1px;position:absolute;top:.66em;left:0}.d3-toolkit__groups{width:100%;max-width:var(--d3-max);gap:clamp(24px,3.6vw,44px);margin-inline:auto;display:grid}.d3-toolkit__group{border-top:1px solid var(--d3-line-soft);gap:clamp(12px,1.8vw,20px);padding-top:clamp(14px,2vw,22px);display:grid}.d3-toolkit__group-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:14px;display:grid}.d3-toolkit__index,.d3-toolkit__count{font-family:var(--d3-mono);letter-spacing:.22em;color:var(--d3-faint);font-variant-numeric:tabular-nums;font-size:9.5px}.d3-toolkit__group-title{letter-spacing:.02em;color:#ededeb;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300}.d3-toolkit__list{gap:clamp(8px,1vw,12px)}.skill-chip{border:1px solid var(--d3-line);font-family:var(--d3-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d3-soft);white-space:nowrap;will-change:transform;background:#ffffff05;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:11px;display:inline-flex}.d3-toolkit__bullet{background:var(--d3-accent);opacity:.8;border-radius:50%;width:4px;height:4px}.d3-curtain{text-align:center;place-items:center;min-height:100svh;display:grid}.d3-curtain__inner{flex-direction:column;align-items:center;gap:clamp(16px,2.4vw,26px);width:100%;max-width:900px;display:flex}.d3-curtain__slug{font-family:var(--d3-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--d3-faint);align-items:center;gap:10px;margin:0;font-size:10px;display:inline-flex}.d3-curtain__pulse{background:var(--d3-accent);border-radius:50%;width:5px;height:5px;animation:2.6s ease-out infinite d3-pulse;box-shadow:0 0 #0891b280}@keyframes d3-pulse{0%{box-shadow:0 0 #0891b273}70%{box-shadow:0 0 0 12px #0891b200}to{box-shadow:0 0 #0891b200}}.d3-curtain__title{letter-spacing:-.03em;color:#f4f4f2;text-wrap:balance;font-size:clamp(2.1rem,6.4vw,5.4rem);font-weight:200;line-height:1}.d3-curtain__lede{font-family:var(--d3-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d3-muted);margin:0;font-size:clamp(.7rem,.95vw,.8rem)}.d3-curtain__actions{flex-direction:column;align-items:center;gap:12px;margin-top:clamp(4px,1.4vw,14px);display:flex}.d3-curtain__mail{color:#f2f2f0;font-family:var(--d3-mono);letter-spacing:.06em;background:#0891b212;border:1px solid #0891b280;border-radius:999px;align-items:center;gap:14px;padding:16px 28px;font-size:clamp(.75rem,1.05vw,.88rem);text-decoration:none;transition:background .3s,border-color .3s;display:inline-flex}@media (hover:hover){.d3-curtain__mail:hover{background:#0891b229;border-color:#0891b2d9}}.d3-curtain__mail-arrow{color:var(--d3-accent)}.d3-curtain__phone{font-family:var(--d3-mono);letter-spacing:.16em;color:var(--d3-muted);font-size:11px;text-decoration:none}@media (hover:hover){.d3-curtain__phone:hover{color:var(--d3-text)}}.d3-curtain__links{flex-wrap:wrap;justify-content:center;gap:clamp(10px,2vw,26px);margin:clamp(6px,1.6vw,16px) 0 0;padding:0;list-style:none;display:flex}.d3-curtain__links a{font-family:var(--d3-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--d3-muted);align-items:center;gap:7px;font-size:10.5px;text-decoration:none;display:inline-flex}@media (hover:hover){.d3-curtain__links a:hover{color:var(--d3-accent)}}.d3-curtain__link-arrow{font-size:9px}.d3-curtain__credits{border-top:1px solid var(--d3-line-soft);text-align:left;width:100%;max-width:620px;margin-top:clamp(18px,3vw,34px);padding-top:clamp(14px,2vw,22px)}.d3-curtain__credits-title{font-family:var(--d3-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--d3-faint);margin:0 0 10px;font-size:9px}.d3-curtain__credits ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.d3-curtain__credits li{color:var(--d3-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:12px;font-size:12px;display:grid}.d3-curtain__credit-name{color:var(--d3-soft)}.d3-curtain__credit-issuer,.d3-curtain__credit-date{font-family:var(--d3-mono);letter-spacing:.12em;color:var(--d3-faint);white-space:nowrap;font-size:9.5px}.d3-curtain__end{font-family:var(--d3-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--d3-faint);align-items:center;gap:12px;margin:clamp(14px,2.4vw,26px) 0 0;font-size:9.5px;display:inline-flex}.d3-curtain__end-rule{background:var(--d3-line);width:30px;height:1px}.d3-colophon{z-index:1;padding:clamp(20px, 3vw, 34px) var(--d3-gutter) clamp(28px, 4vw, 46px);border-top:1px solid var(--d3-line-soft);font-family:var(--d3-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--d3-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;font-size:9.5px;display:flex;position:relative}.d3-colophon p{margin:0}.d3-colophon__name{color:var(--d3-muted)}.d3-page .pf-warnings{z-index:1;max-width:var(--d3-max);border:1px solid var(--d3-line);font-family:var(--d3-mono);color:var(--d3-muted);background:#ffffff05;margin:0 auto clamp(24px,4vw,48px);padding:18px clamp(20px,2.4vw,28px);font-size:11px;position:relative}.d3-page .pf-warnings .pf-warnings__title{letter-spacing:.28em;text-transform:uppercase;color:var(--d3-accent);margin:0 0 8px;font-size:9.5px}.d3-page .pf-warnings ul{gap:5px;margin:0;padding-left:16px;display:grid}@media (min-width:769px){.scene-career[data-d3-reel=on] .d3-career__stage{min-height:min(52vh,460px);max-height:560px;display:block}.scene-career[data-d3-reel=on] .reel-card{will-change:transform;align-items:center;display:flex;position:absolute;inset:0}}@media (max-width:1024px){.d3-story__grid{gap:clamp(24px,4vw,48px)}.d3-career__role{font-size:clamp(1.5rem,3.6vw,2.4rem)}.d3-project__case-row{grid-template-columns:72px minmax(0,1fr)}}@media (max-width:900px){.d3-story__grid{grid-template-columns:minmax(0,1fr);justify-items:start}.d3-story__figure{width:min(280px,62%)}.d3-story__photo{aspect-ratio:5/6}}@media (max-width:768px){.d3-page{--d3-gutter:clamp(18px, 5vw, 32px)}.d3-career__plate{padding:22px}.d3-career__role{font-size:clamp(1.35rem,5.4vw,1.9rem)}.d3-career__wash{filter:blur(22px);inset:-6% -4%}.d3-opening__name{font-size:clamp(1.9rem,9.4vw,3.4rem);line-height:1.04}.d3-opening__frame{inset:14px}.d3-showcase__grid{grid-template-columns:minmax(0,1fr)}.d3-project[data-featured=true]{grid-column:auto}.d3-project__case-row{grid-template-columns:minmax(0,1fr);gap:3px}.d3-project__head{grid-template-columns:auto minmax(0,1fr)}.d3-project__badge{grid-column:1/-1;justify-self:start}.d3-curtain__credits li{grid-template-columns:minmax(0,1fr);gap:2px}.d3-colophon{flex-direction:column;align-items:flex-start}}@media (max-width:479px){.d3-atmosphere__canvas{display:none}.d3-atmosphere__glow{background:radial-gradient(70% 46% at 50% 16%,#0891b233,#0000 74%),radial-gradient(64% 42% at 50% 98%,#06b6d429,#0000 76%)}.d3-vignette{background:radial-gradient(#0000 56%,#0000008c 100%)}.d3-scene{padding-block:clamp(56px,9vh,88px)}.d3-opening__name{font-size:clamp(1.75rem,8.6vw,2.6rem)}.d3-opening__sub{letter-spacing:.2em;font-size:.62rem}.d3-opening__frame{inset:10px}.d3-story__figure{width:100%}.d3-story__metrics{gap:18px}.d3-curtain__mail{padding:14px 20px;font-size:.72rem}.skill-chip{padding:8px 13px;font-size:10px}}@media (prefers-reduced-motion:reduce){.d3-page *,.d3-page :before,.d3-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.d3-page:after,.d3-opening__cue-line,.d3-curtain__pulse{animation:none}.d3-atmosphere__canvas{display:none}.d3-atmosphere__canvas,.d3-cursor{transition:none}.d3-cursor{display:none!important}html[data-d3-cursor=on] .d3-page,html[data-d3-cursor=on] .d3-page *{cursor:auto}.d3-career{min-height:0}.d3-career__stage{min-height:0;display:grid}.timeline-progress{transform:scaleX(1)!important}.d3-career__plate{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0a0ce6}.d3-project,.skill-chip,.d3-story__photo{will-change:auto}.d3-opening,.d3-story,.d3-curtain{min-height:100svh}}@media print{*,:before,:after{transition:none!important;animation:none!important}.d3-skip,.timeline-progress{display:none!important}}.d3-opening__photo{margin:0;position:relative}.d3-opening__photo-img{box-shadow:0 0 0 7px #e8e8e60d, 0 0 0 8px var(--d3-line-soft), 0 0 70px #0891b238;object-fit:cover;border:1px solid #e8e8e647;border-radius:50%;width:120px;height:120px;display:block}@media (max-width:640px){.d3-opening__photo-img{width:96px;height:96px}}
