:root{color-scheme:light;--font-sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: var(--font-sans);--bg: #ffffff;--surface: #ffffff;--surface-soft: #f8f7fc;--surface-strong: #eee8fc;--text: #171323;--text-soft: #625d70;--text-faint: #70677e;--border: #e8e4f0;--border-strong: #c8b7ed;--accent: #7547eb;--accent-strong: #6035d0;--on-accent: #ffffff;--focus: #7547eb;--error: #b42335;--shadow-sm: 0 8px 30px rgb(23 19 35 / 4%);--shadow-md: 0 24px 64px rgb(36 20 72 / 8%);--radius-sm: 10px;--radius-md: 18px;--radius-lg: 26px;--container: 1180px;--header-height: 80px}:root[data-theme=dark]{color-scheme:dark;--bg: #0c0912;--surface: #120e1b;--surface-soft: #171020;--surface-strong: #23162f;--text: #f5f1fa;--text-soft: #c7bed3;--text-faint: #b1a4c0;--border: #30233e;--border-strong: #62497f;--accent: #b695f0;--accent-strong: #c9adfa;--on-accent: #150d20;--focus: #c9adfa;--shadow-sm: 0 8px 30px rgb(0 0 0 / 14%);--shadow-md: 0 24px 64px rgb(0 0 0 / 24%);--error: #ff9a9a}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color .26s ease,color .26s ease}button,a,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img,svg{display:block}h1,h2,h3,p,blockquote{margin-top:0}h1,h2,h3{text-wrap:balance}h1,h2{font-family:var(--font-serif);font-weight:600;letter-spacing:-.035em}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-name:ui-fade-out}::view-transition-new(root){animation-name:ui-fade-in}.skip-link{position:fixed;left:16px;top:12px;z-index:999;transform:translateY(-150%);padding:10px 14px;border-radius:8px;background:var(--accent-strong);color:var(--bg)}.skip-link:focus{transform:translateY(0)}.eyebrow{margin-bottom:12px;color:var(--text-soft);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:999px;font-size:.9rem;font-weight:600;transition:transform .18s ease,background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.button--primary{background:var(--accent-strong);color:var(--bg)}.button--secondary{border-color:var(--border-strong);background:var(--surface)}.button--secondary:hover,.button--text:hover{background:var(--surface-soft)}.button--text{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:.84rem}.button--text:hover{box-shadow:none}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 74%,transparent);color:var(--text-soft);font-size:.77rem;line-height:1;transition:transform .18s ease,background-color .22s ease,border-color .22s ease,color .22s ease}.tag:hover{transform:translateY(-1px);border-color:var(--border-strong);color:var(--text)}@keyframes ui-fade-out{to{opacity:.45}}@keyframes ui-fade-in{0%{opacity:.45}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}::view-transition-old(root),::view-transition-new(root){animation-duration:.001ms!important}}img{max-width:100%}@media print{body{background:#fff!important;color:#111!important}.site-header,.site-footer,.no-print{display:none!important}}.resume-shell{width:min(calc(100% - 40px),1120px);margin-inline:auto}.resume-utility{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);background:var(--bg)}.resume-utility__inner{min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}.resume-utility__brand{display:inline-flex;align-items:baseline;gap:10px;width:max-content}.resume-utility__monogram{font-family:var(--font-serif);font-size:1.45rem;font-weight:600;letter-spacing:-.05em}.resume-utility__label{color:var(--text-faint);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.resume-utility__links{display:flex;align-items:center;justify-content:flex-end;gap:8px}.resume-utility__links a{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:999px;color:var(--text-soft);font-size:.76rem;font-weight:600;transition:background-color .18s ease,color .18s ease,transform .18s ease}.resume-utility__links a:hover{background:var(--surface-soft);color:var(--text);transform:translateY(-1px)}.resume-utility__controls{display:flex;align-items:center;gap:9px;padding-left:12px;border-left:1px solid var(--border)}.language-switcher{display:inline-flex;align-items:center;gap:7px;color:var(--text-faint);font-size:.72rem;font-weight:700}.language-switcher button{position:relative;padding:7px 1px;border:0;background:transparent;color:inherit;cursor:pointer;font-weight:inherit}.language-switcher button:after{content:"";position:absolute;left:1px;right:1px;bottom:3px;height:1px;background:var(--text);transform:scaleX(0);transition:transform .18s ease}.language-switcher button:hover,.language-switcher button.is-active{color:var(--text)}.language-switcher button.is-active:after{transform:scaleX(1)}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.icon-button:hover{transform:translateY(-1px);border-color:var(--border-strong);background:var(--surface-soft)}.theme-toggle__icon{display:grid;place-items:center}.resume-page-shell{padding:54px 0 80px}.resume-sheet{overflow:hidden;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-md)}.resume-header-section{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:54px;padding:62px 64px 56px;border-bottom:1px solid var(--border)}.resume-header-copy h1{max-width:780px;margin-bottom:10px;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.88}.resume-role{margin-bottom:18px;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:600;letter-spacing:-.02em}.resume-summary{max-width:760px;margin-bottom:24px;color:var(--text-soft);font-size:.98rem}.resume-contact-list{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--text-soft);font-size:.78rem}.resume-contact-list a,.resume-contact-list span{display:inline-flex;align-items:center;gap:6px}.resume-contact-list a:hover{color:var(--text)}.resume-header-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:9px}.resume-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:46px;padding:50px 64px;border-bottom:1px solid var(--border)}.resume-section__label{padding-top:7px;color:var(--text-faint);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.resume-section__content>h2{margin-bottom:8px;font-size:clamp(2rem,4vw,3.1rem)}.resume-section__intro{max-width:720px;margin-bottom:30px;color:var(--text-soft)}.resume-stack{display:flex;flex-direction:column}.resume-entry{display:grid;grid-template-columns:145px minmax(0,1fr);gap:26px;padding:28px 0;border-top:1px solid var(--border)}.resume-entry:first-child{padding-top:8px;border-top:0}.resume-entry__meta{color:var(--text-faint);font-size:.77rem;font-weight:600}.resume-entry h3,.resume-project h3,.resume-skill-group h3,.resume-education-grid h3{margin-bottom:5px;font-family:var(--font-sans);font-size:1rem;letter-spacing:-.015em}.resume-entry__company{margin-bottom:10px;color:var(--text-soft);font-size:.86rem;font-weight:600}.resume-entry p,.resume-entry li,.resume-project p,.resume-education-grid p,.resume-compact-list li{color:var(--text-soft);font-size:.88rem}.resume-entry ul{margin:14px 0 0;padding-left:18px}.resume-entry li+li{margin-top:6px}.resume-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resume-project{min-height:250px;padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.resume-project__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.resume-project__top span{display:block;margin-bottom:8px;color:var(--text-faint);font-size:.65rem;font-weight:700;letter-spacing:.1em}.resume-project__links{display:flex;gap:8px}.resume-project__links a{display:inline-flex;align-items:center;gap:4px;color:var(--text-soft);font-size:.72rem;font-weight:700}.resume-project__links a:hover{color:var(--text)}.resume-project__stack{color:var(--text-faint)!important;font-size:.75rem!important}.resume-skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resume-skill-group{padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.resume-skill-group h3{margin-bottom:16px}.resume-education-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:14px}.resume-education-grid article{padding:22px;border:1px solid var(--border);border-radius:18px}.resume-muted-label{display:block;margin-bottom:10px;color:var(--text-faint);font-size:.72rem;font-weight:700}.resume-compact-list{margin:0;padding-left:18px}.resume-compact-list li+li{margin-top:5px}.resume-sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 64px;color:var(--text-faint);font-size:.75rem}.resume-sheet-footer__links{display:flex;gap:18px}.resume-sheet-footer__links a:hover{color:var(--text)}@media(max-width:900px){.resume-utility__links a:first-child span{display:none}.resume-header-section{grid-template-columns:1fr}.resume-header-actions{flex-direction:row;flex-wrap:wrap}.resume-section{grid-template-columns:1fr;gap:18px}.resume-section__label{padding-top:0}.resume-education-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.resume-shell{width:min(calc(100% - 22px),1120px)}.resume-utility__inner{grid-template-columns:1fr auto;gap:12px;min-height:62px}.resume-utility__links{display:none}.resume-utility__controls{padding-left:0;border-left:0}.resume-header-section,.resume-section,.resume-sheet-footer{padding-left:24px;padding-right:24px}.resume-page-shell{padding-top:20px}.resume-sheet{border-radius:20px}.resume-header-section{padding-top:38px;padding-bottom:38px}.resume-header-copy h1{font-size:clamp(3rem,16vw,4.9rem)}.resume-header-actions{flex-direction:column}.resume-header-actions .button{width:100%}.resume-entry{grid-template-columns:1fr;gap:8px}.resume-projects,.resume-skills-grid,.resume-education-grid{grid-template-columns:1fr}.resume-sheet-footer{align-items:flex-start;flex-direction:column}}@media print{@page{size:auto;margin:12mm}html,body{background:#fff!important;color:#111!important}.resume-utility,.no-print{display:none!important}.resume-page-shell{padding:0}.resume-shell{width:100%;max-width:none}.resume-sheet{border:0;border-radius:0;box-shadow:none;background:#fff}.resume-header-section,.resume-section,.resume-sheet-footer{padding-left:0;padding-right:0}.resume-header-section{padding-top:0}.resume-section{grid-template-columns:135px 1fr;break-inside:avoid}.resume-project,.resume-skill-group,.resume-education-grid article{background:#fff;break-inside:avoid}.tag{background:transparent}}body{font-size:17px;line-height:1.65}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}h1,h2,h3{font-family:var(--font-sans);color:var(--text)}h1,h2{font-weight:700;letter-spacing:-.045em;line-height:1.1}p{text-wrap:pretty}::selection{background:var(--surface-strong);color:var(--text)}.container{width:min(calc(100% - 64px),var(--container))}.brand{font-family:var(--font-sans);font-weight:750;font-size:1.25rem;letter-spacing:-.04em;white-space:nowrap}.brand:after{display:none}.brand__dot{color:var(--accent)}.site-header{border-color:var(--border);background:var(--bg)}.site-header.is-scrolled{box-shadow:var(--shadow-sm)}.site-header__inner{gap:24px}.desktop-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.desktop-nav a{color:var(--text-soft);font-size:.84rem;font-weight:500;padding:12px 0;position:relative}.desktop-nav a:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--accent)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.site-header__actions{gap:12px}.icon-button,.menu-toggle{min-width:44px;min-height:44px;background:var(--surface-soft);border-color:transparent;border-radius:12px}.menu-toggle:hover{color:var(--on-accent);background:var(--accent)}.desktop-cv{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:10px;background:var(--surface-soft);font-size:.82rem;font-weight:600}.language-switcher button{min-width:30px;min-height:44px;font-size:.73rem}.language-switcher button.is-active,.language-switcher button:hover{color:var(--accent)}.language-switcher button.is-active:after{background:var(--accent)}.button{min-height:48px;border-radius:12px;padding:12px 20px;font-weight:600;font-size:.88rem;gap:10px}.button--primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.button--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent);transform:translateY(-2px)}.button--secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button--secondary:hover{background:var(--surface-soft);border-color:var(--border-strong);color:var(--text)}.button:active{transform:translateY(0)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.text-link{color:var(--accent)}.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.12em;font-size:.7rem}.tag{background:var(--surface-soft);border-color:var(--border);color:var(--text-soft);font-size:.72rem}.section-heading h1,.section-heading h2,.section-block__head h2{font-size:clamp(2rem,3.7vw,3.25rem);line-height:1.13}.section-heading__intro{max-width:540px}.section--soft{background:var(--surface-soft)}.page-shell{padding-block:clamp(52px,7vw,100px)}.site-footer{border-color:var(--border);background:var(--bg)}.site-footer a:hover{color:var(--accent)}.reveal-ready [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}@media(min-width:1024px){.site-header .menu-toggle{display:none}}@media(max-width:1023px){.desktop-nav,.desktop-cv{display:none}}@media(max-width:600px){.container{width:calc(100% - 40px)}.site-header__inner{gap:8px}.brand{font-size:1.02rem}.site-header__actions{gap:5px}.menu-toggle{padding:0 10px}.menu-toggle span{display:none}.language-switcher{gap:0}.language-switcher button{min-width:26px}.section-heading h2{overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready [data-reveal]{opacity:1;transform:none}.project-card:hover,.personality-card:hover{transform:none}}body{min-width:0}.resume-page-shell{background:var(--bg);padding:44px 0 64px}.resume-sheet{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:20px}.resume-header-section{grid-template-columns:minmax(0,1fr) 220px;padding:48px;gap:36px;border-top:4px solid var(--accent)}.resume-header-copy h1{font-size:clamp(2.4rem,4.1vw,3.6rem);letter-spacing:-.055em;line-height:1.08}.resume-role{color:var(--accent);font-size:1.08rem;margin-top:16px}.resume-summary{max-width:720px;line-height:1.75}.resume-section{padding:40px 48px;gap:32px;grid-template-columns:150px minmax(0,1fr)}.resume-section__label{color:var(--accent)}.resume-section__content>h2{font-size:clamp(1.8rem,3vw,2.5rem)}.resume-section__content{min-width:0}.resume-project{min-height:0;background:var(--surface-soft)}.resume-project__top span,.resume-contact-list a:hover{color:var(--accent)}.resume-utility-brand{font-family:var(--font-sans)}@media(max-width:900px){.resume-header-section{grid-template-columns:1fr;padding:32px}.resume-header-actions{flex-direction:row;flex-wrap:wrap}.resume-section{grid-template-columns:minmax(0,1fr);gap:16px;padding:32px}}@media(max-width:600px){.resume-page-shell{padding:20px 0}.resume-header-section,.resume-section{padding:24px}.resume-header-actions{flex-direction:column}.resume-header-copy h1{font-size:2.25rem}.resume-project__top{flex-direction:column;gap:12px;margin-bottom:18px}.resume-project__links{flex-wrap:wrap}}@media print{:root,:root[data-theme=dark]{--bg: #fff;--surface: #fff;--surface-soft: #fff;--text: #171323;--text-soft: #3d3748;--text-faint: #4b4357;--accent: #6035d0;--border: #ddd;--border-strong: #aaa}.resume-page-shell{padding:0;background:#fff}.resume-sheet{border:0;box-shadow:none;border-radius:0}.resume-header-section{grid-template-columns:1fr;padding:0 0 18px;gap:12px;border-top:0}.resume-header-copy h1{font-size:26pt}.resume-role{font-size:11pt}.resume-summary{font-size:9pt}.resume-section{padding:18px 0;grid-template-columns:95px minmax(0,1fr);gap:20px}.resume-section__content>h2{font-size:17pt}.resume-entry p,.resume-entry li,.resume-project p{font-size:8.5pt}.resume-entry,.resume-project,.resume-education-grid{break-inside:avoid}.no-print,.resume-utility-bar{display:none!important}}.scroll-progress{position:fixed;z-index:1600;inset:0 0 auto;height:2px;pointer-events:none;background:var(--accent);transform:scaleX(0);transform-origin:left}.pointer-halo{display:none}@media(hover:hover)and (pointer:fine){:root{--cursor-default: url(/assets/brand/cursor-light.svg) 5 4;--cursor-link: url(/assets/brand/cursor-link-light.svg) 5 4}:root[data-theme=dark]{--cursor-default: url(/assets/brand/cursor-dark.svg) 5 4;--cursor-link: url(/assets/brand/cursor-link-dark.svg) 5 4}:root body,:root body *{cursor:var(--cursor-default),auto}:root body :is(a,button,[role=button],summary,select,label[for]),:root body :is(a,button,[role=button],summary,select,label[for]) *{cursor:var(--cursor-link),pointer}:root body :is(input,textarea,[contenteditable=true]),:root body :is(input,textarea,[contenteditable=true]) *{cursor:text}:root body input:is([type=button],[type=submit],[type=reset],[type=checkbox],[type=radio],[type=range],[type=color],[type=file]){cursor:var(--cursor-link),pointer}:root body :is(button,input,textarea,select):disabled,:root body :is(button,input,textarea,select):disabled *,:root body fieldset:disabled *{cursor:not-allowed}.pointer-halo{display:block;position:fixed;z-index:2000;left:0;top:0;width:56px;height:56px;border-radius:50%;pointer-events:none;opacity:0;transform:translate3d(calc(var(--pointer-x, -100px) - 28px),calc(var(--pointer-y, -100px) - 28px),0);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 23%,transparent),transparent 68%);transition:opacity .18s}.pointer-halo[data-visible=true]{opacity:1}.pointer-halo[data-active=true]{background:radial-gradient(circle,color-mix(in srgb,var(--accent) 36%,transparent),transparent 70%)}}[data-motion=pending]{opacity:0;transform:translateY(16px)}[data-motion=visible]{animation:detail-arrive .52s cubic-bezier(.2,.7,.3,1) backwards}@keyframes detail-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes detail-spin{to{transform:rotate(360deg)}}.is-spinning{animation:detail-spin .8s linear infinite}.button,.text-link,.gallery-picker{-webkit-tap-highlight-color:transparent}.button svg,.text-link svg{flex-shrink:0;transition:transform .2s}.button:hover>svg:last-child,.text-link:hover>svg:last-child{transform:translate(2px,-1px)}.action-icon{flex:0 0 auto;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent)}.button--primary .action-icon{background:#ffffff26;color:inherit}.button--text{display:inline-flex;align-items:center;gap:8px;padding:0!important;min-height:40px!important;font-size:.8rem!important;color:var(--accent)!important;background:transparent!important;border:0!important}.button--text:hover .action-icon{background:color-mix(in srgb,var(--accent) 16%,transparent);transform:translateY(-1px)}.project-card__actions{gap:10px 18px;align-items:center}.project-card__actions>.text-link--button{display:inline-flex;align-items:center;gap:8px;min-height:40px}.project-card__actions>.text-link--button>svg{box-sizing:content-box;padding:8px;width:15px;height:15px;border-radius:8px;background:color-mix(in srgb,var(--accent) 9%,transparent)}.project-card__actions>.text-link:last-child{display:inline-flex;align-items:center;gap:8px;min-height:40px}.nav-drawer{transform:translate(18px);opacity:0;visibility:hidden;box-shadow:-12px 0 50px #00000014;transition:transform .22s ease,opacity .18s ease,visibility .22s}.nav-drawer.is-open{transform:none;opacity:1;visibility:visible;transition:transform .22s ease,opacity .18s ease}.nav-drawer__nav a{transition:color .18s,background .18s;border-radius:8px}.nav-drawer__nav a:hover,.nav-drawer__nav a.is-active{padding-left:0;color:var(--accent)}.nav-backdrop{transition:opacity .18s;background:#0000003d}.site-header,.site-header.is-menu-open{background:var(--bg)!important}:root[data-theme=dark] body{background:var(--bg)}:root[data-theme=dark] .site-header,:root[data-theme=dark] .resume-utility-bar{background:var(--bg)!important;box-shadow:none}:root[data-theme=dark] .nav-drawer{background:var(--surface)!important}:root[data-theme=dark] .hero-projects__primary,:root[data-theme=dark] .hero-projects__secondary{box-shadow:0 12px 40px #0000003d}:root[data-theme=dark] .maker-note{background:var(--surface)}.language-switcher button{display:inline-flex;align-items:center;justify-content:center;gap:4px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:48px;align-items:start}.contact-form{min-width:0;padding:32px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}.contact-form__heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:26px}.contact-form__heading .action-icon{width:40px;height:40px;border-radius:12px}.contact-form__heading h2{margin:0 0 8px;font-size:1.35rem;line-height:1.3;letter-spacing:-.035em}.contact-form__heading p{margin:0;color:var(--text-soft);font-size:.84rem;line-height:1.65}.contact-form fieldset{border:0;padding:0;margin:0;min-width:0}.contact-form__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-form label{display:grid;gap:8px;color:var(--text);font-size:.79rem;font-weight:500}.contact-form__wide{grid-column:1/-1}.contact-form input,.contact-form textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:.9rem;line-height:1.6;padding:12px 14px;transition:border-color .18s,box-shadow .18s}.contact-form textarea{resize:vertical;min-height:145px}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.contact-form textarea::placeholder{color:var(--text-faint)}.contact-form fieldset>.button{margin-top:22px}.contact-form__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form__note{margin:16px 0 0;font-size:.7rem;color:var(--text-faint)}.contact-form__status{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;color:var(--accent);margin:20px 0 0}.contact-form__status>svg{flex-shrink:0;margin-top:4px}.contact-form__status p{margin:0}.contact-form__status a{display:inline-flex;gap:8px;align-items:center;margin-top:10px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.contact-form__status.is-error{color:var(--text)}.contact-links-panel.contact-grid{display:grid;grid-template-columns:1fr!important;gap:10px}.contact-links-panel .contact-link{min-width:0;min-height:82px;padding:18px;gap:16px;background:var(--surface-soft);border-color:transparent}.contact-links-panel .contact-link>svg{color:var(--accent)}.contact-links-panel .contact-link strong{overflow-wrap:anywhere;font-size:.84rem}.contact-links-panel .contact-link small{font-size:.72rem}.contact-links-panel .contact-card{min-height:0;padding:24px}.contact-links-panel .contact-card h2{font-size:1rem;line-height:1.5;margin:10px 0}.contact-links-panel .contact-card>p{font-size:.8rem}.contact-links-panel .contact-links{gap:18px}@media(max-width:900px){.contact-layout{gap:28px;grid-template-columns:1.25fr 1fr}.desktop-nav{gap:18px}}@media(max-width:760px){.contact-layout{grid-template-columns:1fr}.contact-form{padding:24px}.contact-links-panel.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.contact-links-panel .contact-link{padding:14px;align-items:flex-start}.contact-links-panel .contact-link strong{font-size:.77rem}.contact-links-panel .contact-card{grid-column:1/-1}}@media(max-width:600px){.language-switcher button{min-width:26px;padding-inline:1px;font-size:.66rem;gap:2px}.language-switcher svg{width:9px;height:9px}.site-header__actions{gap:4px}.contact-form__fields{grid-template-columns:1fr}.contact-form .button{width:100%}.contact-form__heading h2{font-size:1.15rem}.contact-links-panel.contact-grid{grid-template-columns:1fr!important}.contact-form{padding:22px}.action-icon{width:28px;height:28px}}@media(max-width:360px){.site-header__inner{gap:4px}.brand{font-size:.92rem}.site-header__actions{gap:2px}.contact-form{padding:18px}}@media(prefers-reduced-motion:reduce){[data-motion=pending],[data-motion=visible]{opacity:1;transform:none;animation:none}.pointer-halo{display:none!important}.nav-drawer,.nav-drawer.is-open{transition:none}.is-spinning{animation:none}}@media print{.pointer-halo,.scroll-progress{display:none!important}[data-motion=pending],[data-motion=visible]{opacity:1!important;transform:none!important;animation:none!important}.contact-form{box-shadow:none}}body[data-gallery-open=true] .scroll-progress{visibility:hidden}.site-header,.resume-utility-bar,.resume-utility{background:var(--bg)}.language-switcher{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;inline-size:102px;padding:4px;min-height:42px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text-faint);transition:border-color .18s,background-color .18s}.language-switcher:hover{border-color:var(--border-strong)}.control-tooltip{position:fixed;z-index:2400;max-inline-size:min(260px,calc(100vw - 16px));max-block-size:calc(100dvh - 16px);padding:7px 11px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 5px 18px #1713231f;font-size:.75rem;font-weight:500;line-height:1.4;overflow-wrap:anywhere;overflow:hidden;pointer-events:auto;-webkit-user-select:none;user-select:none}@media print{.control-tooltip{display:none}}.language-switcher__choices{--language-option-size: 32px;position:relative;display:grid;grid-template-columns:repeat(2,var(--language-option-size));height:30px}.language-switcher__indicator,.theme-toggle__indicator{position:absolute;pointer-events:none;border-radius:999px;background:var(--bg);box-shadow:0 1px 5px #1713230f;transition:transform .22s cubic-bezier(.22,1,.36,1)}.language-switcher__indicator{inset:0 auto 0 0;width:var(--language-option-size)}.language-switcher[data-language=en] .language-switcher__indicator{transform:translate(var(--language-option-size))}.language-switcher>svg{width:12px;height:12px;margin-inline:2px;flex:0 0 auto}.language-switcher button{position:relative;z-index:1;display:grid;place-items:center;width:var(--language-option-size);min-width:0;min-height:30px;padding:4px 6px;border:0;border-radius:999px;background:transparent;color:var(--text-soft);font-size:.68rem;font-weight:650;line-height:1;transition:color .18s}.language-switcher button:after{display:none}.language-switcher button.is-active{color:var(--accent);background:transparent;box-shadow:none}.icon-button.theme-toggle{--theme-indicator-offset: 0px;position:relative;display:inline-flex;align-items:center;gap:1px;justify-content:center;width:70px;min-width:70px;height:42px;min-height:42px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--text-faint);overflow:hidden;flex:0 0 auto}.icon-button.theme-toggle[data-theme=dark]{--theme-indicator-offset: 30px}.theme-toggle__indicator{top:50%;left:4px;width:29px;height:30px;transform:translate(var(--theme-indicator-offset),-50%)}.theme-toggle .theme-choice{position:relative;z-index:1;display:grid;place-items:center;width:29px;height:30px;border-radius:50%}.theme-toggle .theme-choice.is-active{background:transparent;color:var(--accent);box-shadow:none}.icon-button.theme-toggle:hover{border-color:var(--border-strong);transform:none}.site-header__actions{gap:8px;flex:0 0 auto}.desktop-cv{inline-size:112px;justify-content:center;flex:0 0 auto;white-space:nowrap;min-height:42px;border:1px solid var(--border);border-radius:999px;transition:background-color .18s,border-color .18s,color .18s}.desktop-cv:hover{background:var(--bg);border-color:var(--border-strong);color:var(--accent)}:root[data-input-modality=pointer] :focus:not(:is(input,textarea,select,[contenteditable=true])){outline:none}:root[data-input-modality=keyboard] :focus:not(:is(input,textarea,select,[contenteditable=true])){outline:2px solid var(--focus);outline-offset:4px}@media(min-width:1024px){.site-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px}.desktop-nav{gap:16px}.desktop-nav a{display:grid;place-items:center;inline-size:76px;white-space:nowrap;border-radius:4px}.desktop-nav [data-nav-item=experience]{inline-size:104px}.desktop-nav [data-nav-item=portfolio]{inline-size:88px}.desktop-nav [data-nav-item=now]{inline-size:112px}}@media(min-width:701px){.resume-utility__label{display:inline-block;min-inline-size:72px}.resume-utility__links a:first-child{justify-content:center;min-inline-size:104px;white-space:nowrap}}.button{gap:9px}.button>svg,.text-link>svg{flex:0 0 auto}.card-icon{display:inline-grid;place-items:center;width:36px;height:36px;margin-bottom:16px;border-radius:11px;color:var(--accent);background:var(--surface-strong)}.card-icon>svg{width:17px;height:17px}:root[data-theme=dark] .gallery-stage{background:var(--surface-soft)}@media(max-width:600px){.icon-button.theme-toggle{width:38px;min-width:38px;height:40px;min-height:40px;padding:3px}.icon-button.theme-toggle[data-theme]{--theme-indicator-offset: 0px}.theme-toggle__indicator{left:3px;width:30px}.theme-toggle .theme-choice:not(.is-active){display:none}.theme-toggle .theme-choice{width:30px;height:30px}.language-switcher{inline-size:82px;gap:4px;min-height:40px;padding:3px}.language-switcher>svg{margin-inline:2px;width:10px}.language-switcher__choices{--language-option-size: 27px}.language-switcher button{min-width:0;min-height:30px;padding:3px;font-size:.63rem}.site-header__actions{gap:5px}.site-header__inner{gap:8px}}@media(prefers-reduced-motion:reduce){.language-switcher__indicator,.theme-toggle__indicator{transition:none}}@media(max-width:360px){.brand{font-size:.88rem}.site-header__inner,.site-header__actions{gap:4px}.menu-toggle{min-width:36px;width:36px}.language-switcher>svg{margin-inline:2px}}@media print{:root[data-theme=dark]{--bg: #fff;--surface: #fff;--surface-soft: #fff;--text: #171323;--text-soft: #3d3748;--text-faint: #4b4357;--border: #ddd;--accent: #6035d0}}.resume-page-shell{padding-block:30px 48px}.resume-header-section{gap:28px;padding:34px}.resume-summary{line-height:1.75;margin-bottom:20px}.resume-section{grid-template-columns:115px minmax(0,1fr);padding:30px 34px;gap:24px}.resume-section__intro{margin-bottom:20px;font-size:.9rem;line-height:1.75}.resume-entry{grid-template-columns:125px minmax(0,1fr);gap:20px;padding-block:22px}.resume-entry p:last-child,.resume-project p:last-child{margin-bottom:0}.resume-projects,.resume-skills-grid,.resume-education-grid{gap:12px;align-items:start}.resume-project,.resume-skill-group,.resume-education-grid article{padding:18px;min-height:0;height:auto;border-radius:13px}.resume-card-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:12px;border-radius:9px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent)}.resume-project__top{display:block;margin-bottom:12px}.resume-project__top span{margin-bottom:5px;font-size:.6rem}.resume-project__links{flex-wrap:wrap;gap:10px 16px;margin-top:10px}.resume-project__links a{color:var(--accent)}.resume-project p{line-height:1.75}.resume-project .resume-project__contribution{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:.82rem}.resume-project__contribution strong{font-weight:600;color:var(--text)}.resume-skill-group h3{margin-bottom:12px}.resume-muted-label{margin-bottom:7px}.resume-sheet-footer{padding:22px 34px}@media(max-width:900px){.resume-section{grid-template-columns:minmax(0,1fr);gap:12px}.resume-education-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.resume-header-section,.resume-section{padding:24px 20px}.resume-entry,.resume-projects,.resume-skills-grid,.resume-education-grid{grid-template-columns:minmax(0,1fr)}.resume-entry{gap:8px}.resume-sheet-footer{padding-inline:20px}}.resume-education-grid .education-score{margin-block:7px 10px;color:var(--text-faint);font-size:.78rem}@media print{.resume-page-shell{padding:0}.resume-header-section{padding:0 0 12px}.resume-section{padding:14px 0;grid-template-columns:85px minmax(0,1fr);gap:16px;break-inside:auto}.resume-card-icon{display:none}.resume-section__intro{font-size:8.5pt;margin-bottom:12px}.resume-project,.resume-skill-group,.resume-education-grid article{padding:12px;break-inside:avoid}.resume-project .resume-project__contribution{font-size:8pt;margin-top:8px;padding-top:8px}.resume-projects,.resume-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-education-grid{grid-template-columns:1.2fr 1fr .8fr}.resume-sheet-footer{padding:12px 0 0}}@media screen{:is(.project-card,.timeline-item__content,.work-story__quote,.principle-card,.skill-card,.education-card,.coursework,.recommendation-card,.beyond-card,.experience-highlights article,.latest-note,.focus-card,.ecosystem-card,.value-card,.now-card,.personality-card,.contact-card,.project-chapter,.writing-principles li,.resume-project,.resume-skill-group,.resume-education-grid article){min-width:0;min-height:0;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 3px 12px #180c2805;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}:is(.experience-highlights,.beyond-grid,.focus-grid,.ecosystem-grid,.values-grid,.personality-grid,.now-grid){align-items:stretch;gap:16px}.project-chapter>.eyebrow{position:static;margin-bottom:10px;color:var(--accent)}.project-chapter h2{padding-right:0}.project-chapter ul{padding-left:18px}:is(.experience-highlights article,.beyond-card,.project-chapter) p:last-child{margin-bottom:0}.experience-practice{margin-bottom:28px}.article-card{border:1px solid var(--border);box-shadow:0 3px 12px #180c2805;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}:is(.card-icon,.personality-card__icon,.resume-card-icon,.article-card__icon){transition:transform .18s ease,background-color .18s ease,color .18s ease}:is(.article-card,.ecosystem-card,.focus-card,.contact-card,.recommendation-card):focus-within{border-color:var(--border-strong)}.contact-layout{align-items:start}.site-footer__grid{gap:28px 40px}.site-footer__copyright{font-size:.73rem}.site-footer__links{gap:12px 20px}.site-footer__links a{min-height:32px;display:inline-flex;align-items:center}.button__arrow{display:inline-grid;place-items:center;width:25px;height:25px;margin-left:6px;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,currentColor 12%,transparent)}.article-index-link{gap:9px;padding:11px 15px;min-height:46px}.article-index-link>svg{color:inherit;opacity:.85}.button__arrow svg{transition:transform .18s ease}.blog-hero{padding-block:52px 48px}.blog-hero__grid{display:block}.blog-hero__grid>div{max-width:820px}.blog-hero h1{font-size:clamp(2.6rem,5.1vw,4.6rem)}.blog-hero__tools{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:24px}.blog-hero .blog-hero__note{display:inline-flex;flex-direction:row;align-items:center;gap:8px;min-height:0;max-width:none;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--text-soft)}.blog-hero .blog-hero__note strong{color:var(--accent);font-size:.85rem;font-weight:650;line-height:1.5}.blog-hero .blog-hero__note span{color:var(--text-soft);font-size:.75rem;font-weight:400;line-height:1.5}}@media screen and (hover:hover)and (pointer:fine){:is(.project-card,.timeline-item__content,.work-story__quote,.principle-card,.skill-card,.education-card,.coursework,.recommendation-card,.beyond-card,.experience-highlights article,.latest-note,.focus-card,.ecosystem-card,.value-card,.now-card,.personality-card,.contact-card,.project-chapter,.writing-principles li,.resume-project,.resume-skill-group,.resume-education-grid article):hover,.article-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 8%,transparent)}:is(.principle-card,.beyond-card,.experience-highlights article,.focus-card,.ecosystem-card,.personality-card,.article-card):hover :is(.card-icon,.personality-card__icon,.article-card__icon){transform:translateY(-1px) rotate(-4deg);background:var(--surface-strong)}.article-index-link:hover .button__arrow svg{transform:translate(2px)}.project-card:hover .project-card__media{border-color:var(--border-strong)}}@media screen and (max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-links-panel.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media screen and (max-width:600px){:is(.project-card,.timeline-item__content,.work-story__quote,.principle-card,.skill-card,.education-card,.coursework,.recommendation-card,.beyond-card,.experience-highlights article,.latest-note,.focus-card,.ecosystem-card,.value-card,.now-card,.personality-card,.contact-card,.project-chapter,.writing-principles li,.resume-project,.resume-skill-group,.resume-education-grid article){padding:18px}.blog-hero{padding-block:34px 36px}.blog-hero__tools{gap:14px;margin-top:20px}.site-footer__grid{gap:24px}.site-footer__links{justify-content:flex-start;gap:8px 18px}.contact-links-panel.contact-grid{grid-template-columns:minmax(0,1fr)!important}}@media(prefers-reduced-motion:reduce){:is(.project-card,.timeline-item__content,.work-story__quote,.principle-card,.skill-card,.education-card,.coursework,.recommendation-card,.beyond-card,.experience-highlights article,.latest-note,.focus-card,.ecosystem-card,.value-card,.now-card,.personality-card,.contact-card,.project-chapter,.writing-principles li,.resume-project,.resume-skill-group,.resume-education-grid article),.article-card,.button__arrow svg,:is(.card-icon,.personality-card__icon,.resume-card-icon,.article-card__icon){transition:none}:is(.project-card,.timeline-item__content,.work-story__quote,.principle-card,.skill-card,.education-card,.coursework,.recommendation-card,.beyond-card,.experience-highlights article,.latest-note,.focus-card,.ecosystem-card,.value-card,.now-card,.personality-card,.contact-card,.project-chapter,.writing-principles li,.resume-project,.resume-skill-group,.resume-education-grid article):hover,.article-card:hover{transform:none}:is(.principle-card,.beyond-card,.experience-highlights article,.focus-card,.ecosystem-card,.personality-card,.article-card):hover :is(.card-icon,.personality-card__icon,.article-card__icon),.article-index-link:hover .button__arrow svg{transform:none}}@media screen{.personality-grid>div{display:flex;min-width:0}.personality-grid .personality-card{flex:1 1 auto;width:100%;height:100%}:is(.projects-grid,.principles-grid,.skills-grid,.education-grid,.recommendations-grid,.article-grid,.featured-grid,.resume-projects,.resume-skills-grid,.resume-education-grid){align-items:stretch}:is(.article-grid,.featured-grid)>.article-card{height:100%}}@media screen and (min-width:761px){:is(.article-grid,.featured-grid){grid-auto-rows:1fr}}
