*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.mb-24{margin-bottom:6rem}.flex{display:flex}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.bg-opacity-80{--tw-bg-opacity:0.8}.px-4{padding-left:1rem;padding-right:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:#facc15;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:#eab308;color:rgb(234 179 8/var(--tw-text-opacity,1))}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#f7f9fd;--surface:#fff;--surface-raised:#edf2fa;--surface-soft:#f0f4fa;--text:#15243b;--muted:#506079;--subtle:#61718a;--border:#dce4f0;--accent:#2c5db1;--accent-strong:#214887;--accent-soft:#3b70cd12;--button-bg:#2c5db1;--button-text:#fff;--header-bg:#f7f9fdf0;--shadow:0 24px 80px #1a1b2314;--aqua:#087c85;--violet:#7453bd;--display-font:"Space Grotesk","Inter",sans-serif;color-scheme:light}:root[data-theme=dark]{--bg:#0a0f1c;--surface:#111a2b;--surface-raised:#1a2940;--surface-soft:#0d1524;--text:#eaf0fa;--muted:#a6b5cb;--subtle:#90a1bc;--border:#25344b;--accent:#9bbbff;--accent-strong:#b7d1ff;--accent-soft:#7baaff14;--button-bg:#91b8ff;--button-text:#0c1b35;--header-bg:#0d1524e0;--shadow:0 24px 80px #00000029;--aqua:#7be1d3;--violet:#b2a1fa;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased;background:#f7f9fd;background:var(--bg);color:#15243b;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65}body,h1,h2,h3,h4,p,ul{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.18}ul{list-style:none;padding:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img,svg{display:block}img{height:auto;max-width:100%}svg{flex-shrink:0}::selection{background:#2c5db1;background:var(--accent);color:#f7f9fd;color:var(--bg)}:focus-visible{outline:2px solid #2c5db1;outline:2px solid var(--accent);outline-offset:5px}main:focus{outline:none}input,textarea{min-width:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:#f3f4f6;color:rgb(243 244 246/var(--tw-text-opacity,1))}.container{margin-inline:auto;width:min(1180px,calc(100% - 96px))}.app{overflow:clip}.count-badge,.eyebrow,.mono,.project-meta,.project-visual-tech,.small-label{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:500;text-transform:uppercase}.small-label{color:var(--subtle);font-size:.75rem;line-height:1.7}.accent-text{color:var(--accent)}.muted{color:var(--muted)}.section{padding-block:100px}.section-tinted{background:var(--surface-soft);border-block:1px solid var(--border)}.section-heading{align-items:flex-end;display:flex;gap:32px;justify-content:space-between;margin-bottom:38px}.experience-intro h2,.section-heading h2{font-size:clamp(1.9rem,3.1vw,2.6rem);letter-spacing:-.04em;margin-top:16px}.section-description{color:var(--muted);margin-top:16px;max-width:620px}.button{align-items:center;border:1px solid #0000;border-radius:7px;display:inline-flex;font-size:.875rem;font-weight:600;gap:12px;justify-content:center;min-height:48px;padding:12px 22px;transition:background .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--button-bg);color:var(--button-text)}.button-primary:hover{background:var(--accent-strong)}.button-outline{background:#0000;border-color:var(--border);color:var(--text)}.button-outline:hover{background:var(--accent-soft);border-color:var(--accent)}.button-small{min-height:40px;padding:9px 16px}.text-link{align-items:center;display:inline-flex;font-size:.875rem;font-weight:500;gap:10px;white-space:nowrap}.subtle-link:hover,.text-link:hover{color:var(--accent)}.icon-button{align-items:center;background:#0000;border:0;border-radius:6px;color:var(--muted);display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.icon-button:hover{background:var(--surface-raised);color:var(--text)}.skip-link{background:var(--button-bg);border-radius:4px;color:var(--button-text);left:20px;padding:12px 20px;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:12px}.header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--header-bg);border-bottom:1px solid var(--border);height:86px;position:sticky;top:0;z-index:20}.header-inner{align-items:center;display:flex;gap:28px;height:100%;justify-content:space-between}.brand{align-items:center;display:inline-flex;flex-shrink:0;gap:12px}.brand-mark{font-weight:750;letter-spacing:-.09em}.brand-mark span{color:var(--accent)}.brand-name{font-size:.875rem;font-weight:550;letter-spacing:-.02em}.navigation{align-items:center;display:flex;gap:27px}.navigation a{color:var(--muted);font-size:.875rem;padding-block:10px;position:relative;transition:color .2s}.navigation a.active,.navigation a:hover{color:var(--text)}.navigation a.active:after{background:var(--accent);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.header-actions{align-items:center;display:flex;gap:12px}.menu-toggle,.navigation .mobile-contact{display:none}.hero{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1.4fr 1fr;padding-block:91px 89px}.hero-eyebrow{align-items:center;display:flex}.short-line{background:var(--accent);display:inline-block;height:1px;width:24px}.hero h1{font-size:clamp(2.9rem,5.25vw,4.45rem);font-weight:600;line-height:1.09;margin:26px 0 25px}.hero h1>span{color:var(--accent)}.hero-intro{color:var(--muted);font-size:1.0625rem;line-height:1.9;max-width:540px}.hero-actions{flex-wrap:wrap;gap:14px}.hero-actions,.hero-socials{align-items:center;display:flex;margin-top:30px}.hero-socials{gap:20px}.social-links{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.social-link{align-items:center;border-radius:5px;color:var(--muted);display:inline-flex;height:40px;justify-content:center;width:38px}.social-link:hover{background:var(--surface-raised);color:var(--accent)}.social-link.with-label{font-size:.875rem;gap:10px;padding:8px 10px;width:auto}.social-divider{background:var(--border);height:22px;width:1px}.location{align-items:center;color:var(--subtle);display:flex;font-size:.8125rem;gap:6px}.developer-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);position:relative}.developer-card:before{background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";height:1px;left:28px;position:absolute;top:-1px;width:130px}.developer-card-top{align-items:center;border-bottom:1px solid var(--border);color:var(--subtle);display:flex;font-size:.75rem;justify-content:space-between;padding:15px 24px}.developer-card-main{background-image:radial-gradient(var(--border) .7px,#0000 .7px);background-size:18px 18px;padding:27px 27px 23px}.profile-monogram{align-items:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:16px;display:flex;font-size:1.65rem;font-weight:600;height:64px;justify-content:center;letter-spacing:-.08em;margin-bottom:26px;width:64px}.profile-monogram span{color:var(--accent)}.developer-card-main>.eyebrow{color:var(--subtle);font-size:.75rem;letter-spacing:.07em}.developer-card h2{font-size:1.8rem;letter-spacing:-.035em;margin-top:10px}.developer-role{color:var(--muted);font-size:.875rem;margin-top:6px}.current-role{align-items:center;border-block:1px solid var(--border);display:flex;gap:12px;margin-top:25px;padding-block:17px}.company-symbol{color:#ee7868;font-size:2.75rem;font-weight:600;line-height:1;transform:skew(-12deg)}.current-role .small-label{display:block}.current-role strong{display:block;font-size:1rem;font-weight:550}.role-badge{border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:.75rem;margin-left:auto;padding:4px 8px}.profile-stack{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding-top:18px}.profile-stack .small-label{display:block}.profile-stack strong{display:block;font-size:.875rem;font-weight:500;margin-top:3px}.developer-card-bottom{align-items:center;border-top:1px solid var(--border);color:var(--subtle);display:flex;font-size:.75rem;gap:9px;padding:15px 20px}.stack-strip{background:var(--surface-soft);border-block:1px solid var(--border)}.stack-strip-inner{align-items:center;display:flex;gap:36px;padding-block:27px}.stack-strip-inner>.small-label{border-right:1px solid var(--border);flex-shrink:0;padding-right:30px;width:145px}.stack-strip ul{display:flex;flex:1 1;flex-wrap:wrap;gap:24px;justify-content:space-between}.stack-strip li{align-items:center;display:flex;font-size:.875rem;gap:9px;white-space:nowrap}.stack-strip li i,.stack-strip li svg{color:var(--subtle)}.count-badge{background:var(--surface-raised);border:1px solid var(--border);border-radius:5px;font-size:.75rem;min-width:25px;text-align:center}.project-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s,transform .2s}.project-card:hover{border-color:var(--subtle)}.project-image-link{display:block;overflow:hidden}.project-visual{aspect-ratio:1.72;background:#131e33;border-bottom:1px solid var(--border);color:#e9f1ff;overflow:hidden;position:relative}.project-visual:not(.large){min-height:240px}.project-visual.is-typographic{aspect-ratio:auto}.project-visual.is-typographic .project-typography{min-height:240px}.project-visual.large.is-typographic .project-typography{min-height:360px}.project-visual img{height:100%;object-fit:cover;object-position:top center;transition:transform .5s;width:100%}.project-card:hover .project-visual img{transform:scale(1.035)}.accent-blue{--project-color:#9cc2ff;background:#14213a}.accent-purple{--project-color:#c6b3ff;background:#251e3c}.accent-green{--project-color:#94d8c8;background:#142d2e}.accent-red{--project-color:#ffa1a1;background:#361b28}.accent-orange{--project-color:#ffbb8e;background:#382618}.project-typography{align-items:flex-start;display:flex;flex-direction:column;height:100%;justify-content:center;padding:24px 27px;position:relative}.project-symbol{color:var(--project-color);margin-bottom:18px}.project-visual-title{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:600;letter-spacing:-.055em;line-height:1.15}.project-visual-title>span{color:var(--project-color)}.project-visual-subtitle{color:#b2bfd4;margin-top:6px}.project-visual-tech{color:var(--project-color);font-size:.75rem;margin-top:17px}.concept-badge{background:#141923;border:1px solid #fff3;border-radius:4px;color:#d9e4f5;font-size:.75rem;padding:3px 8px;position:absolute;right:12px;top:12px}.project-card-body{display:flex;flex:1 1;flex-direction:column;padding:23px}.project-meta{color:var(--subtle);display:flex;font-size:.75rem;justify-content:space-between;letter-spacing:.05em;text-transform:uppercase}.project-card h3{font-size:1.25rem;letter-spacing:-.025em;margin:11px 0 12px}.project-card h3 a{align-items:center;display:flex;gap:12px;justify-content:space-between}.project-card h3 svg{color:var(--subtle)}.project-card-body>p{color:var(--muted);font-size:.9375rem;margin-bottom:20px}.tags{align-items:flex-start;display:flex;flex-wrap:wrap;gap:7px}.tags li{border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:.75rem;line-height:1.6;padding:3px 8px}.project-card-body>.tags{margin-top:auto}.project-links{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:23px}.project-links .text-link{font-size:.875rem}.project-links .subtle-link{color:var(--muted);padding:5px}.skills-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:30px}.skill-card-label{align-items:center;display:flex;gap:14px;margin-bottom:22px}.skill-icon{align-items:center;background:var(--accent-soft);border:1px solid var(--border);border-radius:8px;color:var(--accent);display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.skill-card-label .eyebrow{color:var(--subtle)}.skill-card h3{font-size:1.25rem;letter-spacing:-.025em}.skill-card>p{color:var(--muted);font-size:1rem;margin:12px 0 24px}.skill-card .tags li{background:var(--surface-soft)}.experience-section{grid-gap:90px;display:grid;gap:90px;grid-template-columns:.95fr 1.3fr}.experience-intro h2{line-height:1.2}.experience-intro>p:not(.eyebrow){color:var(--muted);margin-top:20px;max-width:340px}.experience-intro>.text-link{margin-top:28px}.experience-card{border-left:2px solid var(--accent);padding-left:28px}.experience-card+.experience-card{margin-top:35px}.experience-top{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:19px}.company-lockup{align-items:center;display:flex;gap:10px}.company-lockup .company-symbol{font-size:2.4rem}.company-lockup h3{font-size:1.75rem;letter-spacing:-.04em}.period{background:var(--accent-soft);border:1px solid var(--border);border-radius:4px;color:var(--accent);font-size:.8125rem;padding:3px 9px}.experience-card h4{font-size:1.0625rem;margin-bottom:12px}.experience-card>p,.experience-highlights{color:var(--muted);font-size:1rem}.experience-highlights{list-style:disc;margin:16px 0 22px;padding-left:17px}.experience-highlights li{margin-top:9px}.experience-highlights li::marker{color:var(--subtle)}.education{border-top:1px solid var(--border);display:flex;gap:15px;margin-top:30px;padding-top:27px}.education h3{font-size:1rem;margin:4px 0 5px}.education p{color:var(--muted);font-size:.875rem}.contact-section{background:var(--surface-soft);border-top:1px solid var(--border);padding-block:95px}.contact-grid{grid-gap:90px;align-items:start;display:grid;gap:90px;grid-template-columns:1fr 1fr}.contact-copy h1,.contact-copy h2{font-size:clamp(2.25rem,3.7vw,3.3rem);letter-spacing:-.045em;line-height:1.15;margin:20px 0;max-width:500px}.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:430px}.email-link{align-items:center;border-bottom:1px solid var(--border);display:inline-flex;font-size:1.0625rem;gap:12px;margin:29px 0 20px;overflow-wrap:anywhere;padding-bottom:10px}.email-link:hover{color:var(--accent)}.contact-copy .social-links{margin-left:-10px}.contact-location{align-items:center;display:flex;font-size:.875rem;gap:7px;margin-top:42px}.contact-form{border:1px solid var(--border);border-radius:10px;padding:29px}.form-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:25px}.form-heading h3{font-size:1rem}.form-heading .small-label{font-family:inherit;font-size:.75rem}.form-row{grid-gap:17px;display:grid;gap:17px;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:19px}.form-field label{color:var(--muted);font-size:.875rem}.form-field input,.form-field textarea{background:var(--surface-soft);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:.875rem;line-height:1.6;padding:11px 12px;width:100%}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--subtle);opacity:.85}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent)}.form-field textarea{min-height:120px;resize:vertical}.form-note{color:var(--subtle);font-size:.75rem;margin-top:13px}.form-error,.form-field>div{color:#ef9595;font-size:.875rem}:root[data-theme=light] .form-error,:root[data-theme=light] .form-field>div{color:#a72c3c}.form-error:not(:empty){margin-bottom:16px}.email-fallback,.form-success{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:420px;padding:40px}.email-fallback p,.form-success p{color:var(--muted)}.success-icon{background:var(--accent-soft);border:1px solid var(--border);border-radius:50%;color:var(--accent);padding:14px}.standalone-contact{border-top:0;min-height:calc(100svh - 190px);padding-block:80px}.footer{border-top:1px solid var(--border)}.footer-inner{align-items:center;display:flex;gap:24px;justify-content:space-between;padding-block:26px}.footer .brand{font-size:.8125rem;gap:10px}.footer .brand-mark{font-size:1.3rem}.footer p{color:var(--subtle);font-size:.75rem}.footer .text-link{color:var(--muted);font-size:.75rem}.page-intro{padding-block:80px 64px}.page-intro h1{font-size:clamp(2.6rem,5vw,4.1rem);letter-spacing:-.05em;line-height:1.12;margin-top:23px}.page-description{color:var(--muted);font-size:1.0625rem;line-height:1.8;margin-top:22px;max-width:680px}.page-intro.compact>.text-link{margin-bottom:30px}.about-intro{grid-gap:85px;align-items:center;display:grid;gap:85px;grid-template-columns:1fr 1fr;padding-block:90px}.about-copy p{color:var(--muted);margin-bottom:20px}.about-copy .about-greeting{color:var(--text);font-size:1.5rem;font-weight:550;letter-spacing:-.025em}.principles-grid{grid-gap:55px;display:grid;gap:55px;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:45px}.principles-grid .mono{font-size:.8125rem}.principles-grid h2{font-size:1.125rem;letter-spacing:-.02em;margin-top:15px}.principles-grid p{color:var(--muted);font-size:1rem;margin-top:11px}.achievement-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.achievement-card:hover{border-color:var(--accent)}.certificate-image{background:#e8edf3;display:flex;height:220px;justify-content:center;padding:18px}.certificate-image img{height:100%;object-fit:contain;width:100%}.achievement-card>div:last-child{padding:23px}.achievement-card h3{align-items:flex-start;display:flex;font-size:1rem;gap:15px}.achievement-card p{color:var(--muted);font-size:.875rem;margin-top:11px}.projects-section{padding-bottom:90px}.project-controls{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:20px;justify-content:space-between;padding-bottom:22px}.filter-list{display:flex;flex-wrap:wrap;gap:6px}.filter-button{background:#0000;border:1px solid #0000;border-radius:5px;color:var(--muted);font-size:.875rem;padding:9px 13px}.filter-button:hover{background:var(--surface-raised);color:var(--text)}.filter-button.selected{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}.search-field{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--subtle);display:flex;flex-shrink:0;gap:9px;padding:9px 13px;width:255px}.search-field input{background:#0000;border:0;color:var(--text);font-size:.875rem;outline:0;width:100%}.search-field:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.results-label{color:var(--subtle);font-size:.875rem;margin:20px 0 25px}.empty-state{align-items:center;display:flex;flex-direction:column;gap:20px;padding:90px 24px;text-align:center}.empty-state>svg{color:var(--accent)}.empty-state p{color:var(--muted)}.project-detail{padding-block:50px 90px}.back-link{color:var(--muted);margin-bottom:40px}.project-detail-header{align-items:flex-end;display:flex;gap:45px;justify-content:space-between;margin-bottom:40px}.project-detail-header h1{font-size:clamp(2.5rem,4.6vw,4rem);letter-spacing:-.05em;margin-top:18px}.project-detail-header .page-description{max-width:670px}.project-detail-header .hero-actions{align-items:stretch;flex-direction:column;flex-shrink:0}.project-visual.large{aspect-ratio:2.2;border:1px solid var(--border);border-radius:10px}.project-visual.large img{background:#10141d;object-fit:contain}.project-visual.large .project-typography{padding:55px}.project-visual.large .project-visual-title{font-size:clamp(2rem,5vw,4.5rem)}.project-visual.large .project-visual-subtitle{font-size:1rem}.project-visual.large .project-visual-tech{font-size:.875rem}.project-story{grid-gap:85px;display:grid;gap:85px;grid-template-columns:1.6fr 1fr;padding-top:55px}.project-story h2{font-size:2rem;letter-spacing:-.03em;margin:13px 0 17px}.project-story p:not(.eyebrow){color:var(--muted)}.project-story h3{font-size:1.125rem;margin-bottom:17px;margin-top:28px}.detail-highlights li{color:var(--muted);display:flex;gap:12px;margin-top:13px}.detail-highlights svg{color:var(--accent);margin-top:4px}.project-facts{align-self:start;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:28px}.project-facts dl{margin:12px 0 0}.project-facts dl>div{border-bottom:1px solid var(--border);display:flex;font-size:.875rem;gap:20px;justify-content:space-between;padding-block:15px}.project-facts dt{color:var(--subtle)}.project-facts dd{margin:0;text-align:right}.project-facts h3{font-size:.875rem}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.not-found{min-height:65svh;padding-block:100px}.not-found h1{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.04em;margin:20px 0}.not-found p:not(.eyebrow){color:var(--muted);margin-bottom:30px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (min-width:1600px){.hero{padding-block:105px}}@media (max-width:1100px){.container{width:calc(100% - 64px)}.navigation{gap:18px}.brand-name{display:none}.hero{gap:40px;grid-template-columns:1.25fr 1fr;padding-block:70px}.hero h1{font-size:clamp(2.75rem,5vw,3.7rem)}.role-badge{display:none}.stack-strip-inner{gap:25px}.stack-strip ul{gap:19px 27px;justify-content:flex-start}.section{padding-block:80px}.project-grid{gap:18px}.project-card-body,.project-typography{padding:20px}.project-symbol{margin-bottom:12px}.project-visual-tech{display:none}.contact-grid,.experience-section{gap:45px}.contact-form{padding:24px}.about-intro{gap:45px}.project-controls{align-items:flex-start}.project-story{gap:45px}}@media (max-width:800px){.container{width:calc(100% - 48px)}.header{height:74px}.brand-name{display:inline}.header-actions{gap:7px}.header-contact{display:none}.menu-toggle{display:inline-flex}.navigation{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);display:none;left:0;padding:20px 24px 24px;position:absolute;right:0;top:73px}.navigation.is-open{align-items:stretch;display:flex;flex-direction:column;gap:2px}.navigation a{border-radius:4px;padding:12px 10px}.navigation a.active{background:var(--accent-soft);color:var(--accent)}.navigation a.active:after{display:none}.navigation .mobile-contact{display:block}.hero{gap:48px;grid-template-columns:1fr;padding-block:58px}.hero-content{max-width:620px}.hero h1{font-size:clamp(2.9rem,8vw,4.5rem)}.developer-card{width:100%}.developer-card-main{grid-column-gap:22px;align-items:center;column-gap:22px;display:grid;grid-template-columns:72px 1fr;padding:24px}.profile-monogram{grid-column:1;grid-row:1/4;margin:0}.developer-card-main>.eyebrow,.developer-card-main>h2,.developer-role{grid-column:2}.developer-card h2{font-size:1.6rem}.current-role,.profile-stack{grid-column:1/-1}.role-badge{display:block}.stack-strip-inner{gap:23px;padding-block:23px}.stack-strip-inner>.small-label{padding-right:20px;width:120px}.stack-strip ul{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.stack-strip li{white-space:normal}.stack-strip li i,.stack-strip li svg{font-size:19px!important;width:20px}.section{padding-block:64px}.section-heading{align-items:flex-start;flex-direction:column;gap:24px}.project-grid{gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-visual-tech{display:block}.skills-grid{gap:18px}.skill-card{padding:23px}.experience-section{gap:38px;grid-template-columns:1fr}.experience-intro>p:not(.eyebrow){max-width:540px}.contact-grid{gap:40px;grid-template-columns:1fr}.contact-section{padding-block:64px}.contact-copy h1,.contact-copy h2{font-size:2.75rem;max-width:580px}.contact-location{margin-top:20px}.footer-inner{flex-wrap:wrap;gap:15px}.footer p{order:3;width:100%}.page-intro{padding-block:55px 40px}.about-intro{gap:42px;grid-template-columns:1fr}.principles-grid{gap:24px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-controls{align-items:stretch;flex-direction:column}.search-field{width:100%}.project-detail-header{align-items:stretch;flex-direction:column;gap:8px}.project-detail-header .hero-actions{flex-direction:row}.project-story{gap:30px;grid-template-columns:1.2fr 1fr}.project-facts{padding:20px}.project-visual.large{aspect-ratio:1.7}}@media (max-width:540px){.container{width:calc(100% - 40px)}.brand-name{font-size:.8125rem}.hero{gap:36px;padding-block:42px}.hero-eyebrow{font-size:.75rem;gap:9px;letter-spacing:.04em}.short-line{flex-shrink:0;width:16px}.hero h1{font-size:clamp(2.5rem,9.8vw,3.7rem);margin-top:22px}.hero-intro{font-size:1rem;line-height:1.8}.hero-actions{gap:10px;margin-top:25px}.button{font-size:.875rem;padding:12px 16px}.hero-socials{margin-top:23px}.developer-card-main{gap:0 16px;grid-template-columns:58px 1fr;padding:21px}.profile-monogram{border-radius:12px;font-size:1.4rem;height:56px;width:56px}.developer-card h2{font-size:1.4rem}.developer-card-main>.eyebrow{font-size:.75rem;letter-spacing:.01em}.developer-role{font-size:.875rem}.developer-card-top{padding:13px 20px}.developer-card-bottom{font-size:.75rem;padding:13px 20px}.role-badge{font-size:.75rem;max-width:125px}.stack-strip-inner{align-items:flex-start;flex-direction:column;gap:20px}.stack-strip-inner>.small-label{border:0;padding:0;width:auto}.stack-strip ul{gap:19px 25px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.stack-strip li{font-size:.875rem}.section{padding-block:55px}.experience-intro h2,.section-heading h2{font-size:2rem}.section-heading{margin-bottom:28px}.achievement-grid,.project-grid,.related-grid,.skills-grid{grid-template-columns:1fr}.project-visual{aspect-ratio:1.72}.project-typography{padding:27px}.project-visual-title{font-size:2rem}.project-card-body{padding:23px}.project-card h3{font-size:1.3rem}.project-card-body>p{font-size:1rem}.skill-card{padding:25px}.experience-card{padding-left:20px}.contact-copy h1,.contact-copy h2{font-size:2.4rem}.email-link{font-size:.9375rem;gap:7px}.contact-form{padding:22px}.form-heading{align-items:flex-start;flex-direction:column;gap:6px}.form-row{gap:0;grid-template-columns:1fr}.form-field input,.form-field textarea,.search-field input{font-size:1rem}.contact-form .button{width:100%}.footer-inner{padding-block:24px}.footer .brand>span:last-child{font-size:.75rem}.page-intro h1{font-size:2.7rem}.page-description{font-size:1rem}.principles-grid{gap:30px;grid-template-columns:1fr;padding-block:35px}.filter-button{padding:9px 11px}.project-detail{padding-block:35px 55px}.project-detail-header h1{font-size:2.65rem;overflow-wrap:anywhere}.project-visual.large{aspect-ratio:1.35}.project-visual.large .project-typography{padding:26px}.project-visual.large .project-visual-title{font-size:2rem}.project-visual.large .project-visual-subtitle{font-size:.875rem}.project-visual.large .project-visual-tech{font-size:.75rem}.project-story{gap:32px;grid-template-columns:1fr;padding-top:35px}.project-facts{order:-1}}.container{width:min(1240px,calc(100% - 96px))}.section{padding-block:96px}.brand-mark,h1,h2,h3,h4{font-family:var(--display-font)}.section-heading{margin-bottom:40px}.experience-intro h2,.section-heading h2{font-size:clamp(2rem,3.6vw,3.15rem);font-weight:500;letter-spacing:-.055em;line-height:1.12}.section-description{font-size:.9375rem;max-width:550px}.eyebrow{font-size:.6875rem;letter-spacing:.13em}.header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:0;height:90px;padding-top:14px}.header-inner{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--header-bg);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 35px #030a1510;height:62px;padding-inline:21px;position:relative}.brand-mark{font-size:1.65rem;letter-spacing:-.075em;line-height:1}.brand-mark span{color:var(--aqua)}.brand-name{font-size:.8125rem}.navigation{gap:5px}.navigation a{border-radius:9px;font-size:.8125rem;padding:8px 12px}.navigation a:hover,.navigation a[aria-current]{background:var(--accent-soft);color:var(--text)}.header-contact{font-size:.75rem;min-height:37px;padding:8px 14px}.header-actions{gap:7px}.button{border-radius:10px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.button-primary{box-shadow:0 5px 22px #628efa15}.button-primary:hover{box-shadow:0 8px 28px #628efa30}.button-icon{box-shadow:none;min-height:40px;padding:0}.icon-button{height:38px;width:38px}.stack-strip{background:#0000;border:0}.stack-strip-inner{gap:25px;padding-block:30px}.stack-strip-inner>.small-label{border:0;font-size:.625rem;padding:0;width:116px}.stack-strip ul{gap:13px}.stack-strip li{background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--muted);font-size:.75rem;gap:8px;padding:12px 15px}.stack-strip .skill-mark,.stack-strip li svg{color:var(--accent)}.skill-mark{font-family:var(--display-font);font-size:.875rem;font-weight:700;letter-spacing:-.055em}.selected-work{padding-top:70px}.project-card{border-color:var(--border);border-radius:17px;box-shadow:none;transition:border-color .25s,box-shadow .25s,transform .25s}.project-card:hover{border-color:var(--accent);box-shadow:0 18px 50px #040c2114;transform:translateY(-4px)}.project-visual{align-items:center;aspect-ratio:auto;background:#101a2b;background:radial-gradient(ellipse at 30% 0,color-mix(in srgb,var(--project-color) 22%,#0000),#0000 75%),#101827;display:flex;isolation:isolate;justify-content:center;padding:27px}.project-visual:before{background-image:linear-gradient(#a3b3d9 1px,#0000 0),linear-gradient(90deg,#a3b3d9 1px,#0000 0);background-size:32px 32px;content:"";inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000);opacity:.11;position:absolute;z-index:-1}.project-visual:not(.large){min-height:230px}.project-browser{background:#111726;border:1px solid #ffffff24;border-radius:9px;box-shadow:0 15px 45px #00000050;overflow:hidden;transition:transform .35s ease;width:100%}.project-browser-bar{align-items:center;border-bottom:1px solid #ffffff12;color:#a9b7ce;display:flex;font:500 .5rem JetBrains Mono,monospace;gap:10px;justify-content:space-between;padding:9px 11px}.window-dots{align-items:center;display:inline-flex;gap:4px}.window-dots i{background:#5d6b84;border-radius:50%;height:5px;width:5px}.window-dots i:first-child{background:#c28792}.window-dots i:nth-child(2){background:#c0b689}.window-dots i:last-child{background:#80b4a3}.project-browser-screen{aspect-ratio:2.16;background:#0a0f1c;overflow:hidden;position:relative}.project-browser-screen img{left:0;max-width:none;object-fit:cover;object-position:top;position:absolute;top:0;transition:none;width:100%}.project-card:hover .project-browser{transform:translateY(-5px)}.project-card h3{font-size:1.65rem;font-weight:500;letter-spacing:-.035em}.project-card-body{padding:27px}.project-card-body>p{font-size:.875rem;line-height:1.8}.project-meta{font-size:.625rem}.project-meta>.mono{color:var(--accent)}.project-visual.is-typographic{padding:0}.project-typography{overflow:hidden;padding:35px;width:100%}.project-typography:after{bottom:-12px;color:var(--project-color);content:"{ }";font-family:var(--display-font);font-size:150px;letter-spacing:-.1em;opacity:.08;pointer-events:none;position:absolute;right:12px}.project-visual.is-typographic .project-typography{min-height:260px}.project-visual-title{font-family:var(--display-font);font-size:2.1rem;font-weight:500}.project-visual-subtitle{font-size:.75rem}.project-visual-tech{position:relative;z-index:1}.project-visual.large{aspect-ratio:auto;padding:45px}.project-visual.large .project-browser{max-width:1000px}.project-visual.large.is-typographic{padding:0}.project-direct-links{align-items:center;display:flex;gap:16px}.project-links{margin-top:24px;padding-top:17px}.project-links .text-link{font-size:.75rem;gap:6px}.project-links>.text-link{color:var(--muted)}.project-direct-links .text-link{color:var(--accent)}.tags li{background:var(--accent-soft);border-radius:6px;font-size:.6875rem}.more-projects-card{align-items:center;background:linear-gradient(110deg,var(--surface),var(--surface-soft));border:1px solid var(--border);border-radius:17px;display:flex;gap:24px;grid-column:1/-1;padding:27px 31px;transition:border-color .2s,background .2s}.more-projects-card:hover{border-color:var(--accent)}.more-projects-card .eyebrow{font-size:.5625rem}.more-projects-card h3{font-size:1.5rem;font-weight:500;letter-spacing:-.035em;margin-top:7px}.more-projects-card p{color:var(--muted);font-size:.8125rem;margin-top:6px}.more-projects-icon{background:var(--accent-soft);border-radius:14px;color:var(--aqua);display:grid;flex-shrink:0;height:55px;place-items:center;width:55px}.more-projects-arrow{border:1px solid var(--border);border-radius:50%;color:var(--accent);margin-left:auto;padding:12px;transition:transform .2s}.more-projects-card:hover .more-projects-arrow{transform:translate(3px,-3px)}#skills{background:var(--surface-soft);border-block:1px solid var(--border)}.skill-directory{grid-gap:22px;border:0;display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group{--group-accent:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;gap:25px;overflow:hidden;padding:30px;position:relative;transition:border-color .25s}.skill-group:hover{border-color:var(--group-accent)}.skill-group:nth-child(2){--group-accent:var(--violet)}.skill-group:nth-child(3){--group-accent:var(--aqua)}.skill-group:before{background:linear-gradient(90deg,#0000,var(--group-accent),#0000);content:"";height:1px;left:30px;opacity:.65;position:absolute;right:30px;top:0}.skill-group-heading{display:block;position:relative}.skill-group-number{color:var(--group-accent);font-family:var(--display-font);font-size:3.5rem;letter-spacing:-.065em;opacity:.17;position:absolute;right:0;top:-10px}.skill-category-icon{background:var(--accent-soft);border:1px solid var(--border);border-radius:13px;color:var(--group-accent);display:grid;height:47px;margin-bottom:21px;place-items:center;width:47px}.skill-group-heading .eyebrow{color:var(--group-accent);font-size:.5625rem}.skill-group h3{font-size:1.45rem;font-weight:500;letter-spacing:-.04em;margin:9px 0 11px}.skill-group-heading p:last-child{color:var(--muted);font-size:.8125rem;line-height:1.8;max-width:430px}.skill-group-content{margin-top:auto;min-width:0}.skill-tiles{grid-gap:9px;display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.skill-tiles>li{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;display:flex;gap:13px;min-width:0;padding:14px;transition:border-color .2s,transform .2s}.skill-tiles>li:last-child:nth-child(odd){grid-column:1/-1}.skill-tiles>li:hover{border-color:var(--group-accent);transform:translateY(-2px)}.technology-symbol{align-items:center;color:var(--group-accent);display:flex;height:30px;min-width:30px}.technology-symbol .skill-mark{font-size:1rem}.skill-tiles strong{display:block;font-size:.8125rem;font-weight:550;line-height:1.5}.skill-tiles li>div>span{color:var(--subtle);display:block;font-size:.6875rem;line-height:1.6;margin-top:3px}.supporting-skills{margin-top:19px}.supporting-skills>.small-label{display:block;font-family:inherit;font-size:.625rem;margin-bottom:8px}.supporting-skills .tags{gap:5px}.supporting-skills .tags li{background:#0000;border-color:#0000;font-size:.625rem;padding:2px 7px 2px 0}.experience-section{gap:85px;grid-template-columns:.8fr 1.35fr}.experience-intro{align-self:start;position:sticky;top:120px}.experience-intro:before{color:var(--aqua);content:"↗";display:block;font-family:var(--display-font);font-size:4rem;line-height:1;margin-bottom:30px}.experience-intro>p:not(.eyebrow){font-size:.9375rem;line-height:1.9;max-width:355px}.employer-card{background:var(--surface);border:1px solid var(--border);border-radius:17px;padding:28px}.employer-card+.employer-card{margin-top:20px}.employer-heading{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:28px}.employer-heading h3{font-size:1.6rem;font-weight:500;letter-spacing:-.035em}.employer-heading .company-link{text-decoration:none}.current-badge{align-items:center;color:var(--aqua);display:inline-flex;font-size:.5625rem;gap:6px}.current-badge>span{background:var(--aqua);border-radius:50%;height:5px;width:5px}.career-timeline{border-left:1px solid var(--border);list-style:none;margin:0;padding:0 0 0 18px}.career-timeline>li{padding:0 0 26px 6px;position:relative}.career-timeline>li:last-child{padding-bottom:0}.career-timeline>li:before{background:var(--subtle);border:2px solid var(--surface);border-radius:50%;box-sizing:initial;content:"";height:7px;left:-22px;position:absolute;top:7px;width:7px}.career-timeline>li.is-current:before{background:var(--aqua);box-shadow:0 0 0 4px var(--accent-soft)}.career-title{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between}.career-title h4{font-size:1.0625rem;font-weight:500}.career-title>span{color:var(--subtle);font-family:JetBrains Mono,monospace;font-size:.6875rem;white-space:nowrap}.career-timeline p{color:var(--muted);font-size:.8125rem;line-height:1.8;margin-top:9px}.career-timeline .tags{margin-top:12px}.career-timeline .tags li{font-size:.625rem}.education{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-top:20px;padding:22px}.education .skill-icon{border-radius:10px}.education .small-label{font-size:.625rem}.education h3{font-weight:500}.education p{font-size:.75rem}.certifications{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-top:20px;padding:23px}.certifications>div{align-items:flex-start;display:flex;gap:12px;margin-top:15px}.certifications svg{color:var(--aqua);margin-top:3px}.certifications strong{display:block;font-size:.75rem;font-weight:500}.certifications div span{color:var(--subtle);display:block;font-size:.625rem;margin-top:3px}.resume-summary{align-items:center;background:radial-gradient(ellipse at 100% 100%,var(--accent-soft),#0000 70%),var(--surface);border:1px solid var(--border);border-radius:18px;display:flex;gap:55px;justify-content:space-between;margin-bottom:96px;padding:41px 45px}.resume-summary h2{font-size:clamp(1.75rem,2.7vw,2.5rem);font-weight:500;letter-spacing:-.045em;margin:12px 0 15px}.resume-summary-copy{max-width:670px}.resume-summary-copy>p:last-child{color:var(--muted);font-size:.8125rem;line-height:1.9}.resume-summary-actions{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;gap:17px}.resume-summary-actions .small-label{font-size:.625rem;max-width:190px}.resume-download{align-items:flex-start;display:inline-flex;flex-direction:column;max-width:320px}.download-error{color:var(--text);font-size:.875rem;padding-top:10px}.contact-section{background:radial-gradient(ellipse at 5% 15%,var(--accent-soft),#0000 65%),var(--surface-soft);padding-block:90px}.contact-grid{gap:95px}.contact-star{color:var(--aqua);display:block;font-size:4rem;line-height:1;margin-bottom:25px;width:fit-content}.contact-copy h1,.contact-copy h2{font-size:clamp(2.5rem,4.7vw,4rem);font-weight:500;letter-spacing:-.055em;line-height:1.08}.contact-copy>p:not(.eyebrow){font-size:.875rem;line-height:1.85}.email-link{font-size:1rem}.contact-form{background:var(--surface);border-radius:18px;box-shadow:0 20px 55px #050d2010;padding:31px}.form-field input,.form-field textarea{border-radius:9px}.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-field>div:empty{display:none}.form-heading h3{font-size:1.2rem;font-weight:500}.contact-form .button{width:100%}.project-search{align-items:center;display:flex;flex-shrink:0;gap:10px;width:270px}.project-search>svg{color:var(--muted)}.search-control{flex:1 1;margin:0}.search-control label{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute;width:1px}.search-control input{background:var(--surface);font-size:.875rem}.button-filter{min-height:44px}.project-list-bottom{border-top:1px solid var(--border);margin-top:40px;padding-top:30px}.project-list-bottom .back-link{margin-bottom:0}.form-placeholder{border:1px solid var(--border);border-radius:18px;color:var(--muted);min-height:525px;padding:28px}.page-loading{color:var(--muted);min-height:60svh;padding-block:80px}.page-intro h1{font-size:clamp(3rem,5.5vw,4.8rem);font-weight:500;letter-spacing:-.06em}.footer-identity>p{margin-top:8px}.footer .social-links{margin-left:auto}.footer-inner{padding-block:32px}.social-link{min-width:40px}.social-link img{object-fit:contain}.company-link{text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:4px}.company-link:hover{color:var(--accent);text-decoration-color:initial}.reveal{transition:opacity .65s ease 0ms,transform .65s cubic-bezier(.2,.7,.2,1) 0ms;transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.reveal[data-revealed=false]{opacity:0;transform:translateY(22px)}.reveal[data-revealed=true]{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce),print{.reveal,.reveal[data-revealed]{opacity:1!important;transform:none!important;transition:none!important}.button:hover,.more-projects-card:hover .more-projects-arrow,.project-card:hover,.project-card:hover .project-browser,.skill-tiles>li:hover{transform:none!important}}@media (max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{padding-inline:17px}.brand-name{display:none}.navigation{gap:0}.navigation a{padding-inline:10px}.stack-strip ul{justify-content:flex-start}.stack-strip li{font-size:.6875rem;padding:10px 12px}.skill-group{padding:25px}.skill-tiles>li{gap:9px;padding:12px}.skill-tiles strong{font-size:.8125rem}.skill-tiles li>div>span{font-size:.6875rem}.skill-group h3{font-size:1.3rem}.experience-section{gap:45px}.employer-card{padding:24px}.resume-summary{gap:35px;padding:32px}.contact-grid{gap:50px}}@media (max-width:800px){.container{width:calc(100% - 48px)}.header{height:82px;padding-top:10px}.header-inner{height:60px}.brand-name{display:inline}.navigation{border:1px solid var(--border);border-radius:16px;padding:14px;top:calc(100% + 10px)}.navigation a{padding:12px}.header-actions{gap:3px}.stack-strip-inner{align-items:flex-start;flex-direction:column;gap:17px;padding-block:23px}.stack-strip-inner>.small-label{width:auto}.stack-strip-inner>.small-label br{display:none}.stack-strip ul{display:flex;flex-wrap:wrap;gap:8px;width:100%}.stack-strip li{flex:1 0 auto;justify-content:center}.section{padding-block:65px}.section-heading h2{font-size:2.5rem}.project-card h3{font-size:1.5rem;margin-top:12px}.project-card-body{padding:24px}.project-visual{padding:23px}.project-direct-links{gap:10px}.skill-directory{gap:16px}.skill-group{padding:23px}.skill-tiles>li{align-items:flex-start;flex-direction:column;gap:8px}.skill-group-heading p:last-child{font-size:.75rem}.skill-tiles strong{font-size:.8125rem}.experience-section{gap:35px;grid-template-columns:1fr}.experience-intro{position:static}.experience-intro:before{font-size:3rem;margin-bottom:23px}.experience-intro>p:not(.eyebrow){max-width:600px}.resume-summary{align-items:flex-start;flex-direction:column;margin-bottom:65px}.resume-summary-actions{align-items:center;flex-direction:row;flex-wrap:wrap;gap:20px}.resume-summary-actions .small-label{flex-basis:100%;max-width:none}.contact-grid{gap:38px}.contact-copy h1,.contact-copy h2{font-size:3.5rem}.contact-star{font-size:3rem}.contact-form{padding:27px}.project-search{width:100%}.footer-inner{flex-wrap:wrap}.page-intro h1{font-size:3.5rem}}@media (max-width:540px){.container{width:calc(100% - 36px)}.header-inner{border-radius:14px;padding-inline:13px}.brand-name{font-size:.75rem}.stack-strip-inner{gap:13px;padding-block:17px}.stack-strip li{font-size:.625rem;gap:6px;padding:10px 11px}.stack-strip li svg{height:18px;width:18px}.stack-strip .skill-mark{font-size:.6875rem}.section{padding-block:55px}.section-heading h2{font-size:2.2rem}.section-description{font-size:.8125rem}.section-heading{margin-bottom:29px}.project-visual{min-height:220px;padding:24px}.project-visual.is-typographic{padding:0}.project-typography{padding:30px}.project-card-body{padding:23px}.project-card h3{font-size:1.65rem}.project-visual.large{padding:23px}.project-visual.large.is-typographic{padding:0}.more-projects-card{flex-wrap:wrap;gap:16px;padding:23px}.more-projects-card>div{order:3;width:100%}.more-projects-icon{height:45px;width:45px}.more-projects-arrow{padding:9px}.more-projects-card h3{font-size:1.4rem}.skill-directory{gap:18px;grid-template-columns:1fr}.skill-group{gap:22px;padding:25px}.skill-group h3{font-size:1.4rem}.skill-group-heading p:last-child{font-size:.8125rem}.skill-tiles>li{align-items:flex-start;flex-direction:column;gap:10px;padding:14px}.skill-tiles strong{font-size:.8125rem}.skill-tiles li>div>span{font-size:.6875rem}.technology-symbol{min-width:23px}.technology-symbol svg{height:21px;width:21px}.technology-symbol .skill-mark{font-size:.8125rem}.supporting-skills .tags li{font-size:.625rem}.experience-intro h2{font-size:2.35rem}.employer-card{padding:23px}.employer-heading{align-items:flex-start;gap:9px}.employer-heading h3{font-size:1.45rem}.current-badge{font-size:.5rem;padding-top:6px;white-space:nowrap}.career-title{flex-direction:column}.career-title h4{font-size:1rem}.career-timeline p{font-size:.75rem}.resume-summary{margin-bottom:55px;padding:28px 25px}.resume-summary-actions{gap:22px}.contact-section{padding-block:57px}.contact-copy h1,.contact-copy h2{font-size:3rem}.contact-form{padding:23px}.email-link{font-size:.875rem}.project-search input{font-size:1rem}.page-intro h1{font-size:2.8rem}.footer-inner{align-items:flex-start;gap:16px}.footer-identity{flex-basis:100%}.footer .social-links{margin-left:0}.footer .text-link{align-self:center;margin-left:auto}}@media (max-width:360px){.skill-group{padding:21px}.skill-tiles>li{align-items:flex-start;flex-direction:column}.current-badge{font-size:.4375rem}}.header{height:80px;padding-top:11px}.header .header-inner{border-radius:15px;height:56px;transition:background .25s,border-color .25s,box-shadow .25s}.header.is-scrolled .header-inner{-webkit-backdrop-filter:blur(15px) saturate(120%);backdrop-filter:blur(15px) saturate(120%);background:color-mix(in srgb,var(--surface) 43%,#0000);border-color:color-mix(in srgb,var(--border) 55%,#0000);box-shadow:0 4px 20px #030a1506}.header.is-scrolled .header-inner:focus-within,.header.is-scrolled .header-inner:hover,.header.is-scrolled[data-menu-open=true] .header-inner{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:var(--header-bg);border-color:var(--border);box-shadow:0 8px 30px #030a151c}@media (max-width:800px){.header{height:74px;padding-top:9px}.header .header-inner{border-radius:13px;height:54px}}@media (prefers-reduced-motion:reduce){.header .header-inner{transition:none}}.animated-text-word{display:inline-block;max-width:100%;vertical-align:initial}.hero-title-line:last-child>.animated-text,.hero-title-line>.animated-text{-webkit-text-fill-color:inherit;animation:none;background:none}.animated-text[data-text-accent=true] .animated-text-word{-webkit-text-fill-color:#0000;background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(110deg,var(--accent),var(--violet) 25%,var(--aqua) 50%,var(--violet) 75%,var(--accent));background-position:0 50%;background-size:200% 100%;color:var(--accent)}@media (prefers-reduced-motion:no-preference){.animated-text[data-text-motion=waiting] .animated-text-word{opacity:0;transform:translateY(.65em)}.animated-text[data-text-motion=running] .animated-text-word{animation:text-word-arrive .8s cubic-bezier(.16,1,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--text-delay, 0ms) + var(--word-delay, 0ms))}.animated-text[data-text-accent=true][data-text-motion=running] .animated-text-word{animation-delay:0ms,.45s;animation-delay:calc(var(--text-delay, 0ms) + var(--word-delay, 0ms)),calc(var(--text-delay, 0ms) + var(--word-delay, 0ms) + .45s);animation-duration:.8s,2s;animation-fill-mode:both;animation-name:text-word-arrive,text-accent-sweep;animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out}}@keyframes text-word-arrive{0%{opacity:0;transform:translateY(.65em)}to{opacity:1;transform:translateY(0)}}@keyframes text-accent-sweep{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@media (prefers-reduced-motion:reduce),print{.animated-text .animated-text-word{animation:none!important;opacity:1!important;transform:none!important}}@media (forced-colors:active),print{.animated-text[data-text-accent=true] .animated-text-word{-webkit-text-fill-color:currentColor;background:none;color:inherit}}.project-highlights{grid-gap:10px;display:grid;gap:10px;list-style:none;padding:0}.project-highlights li{align-items:flex-start;color:var(--muted);display:flex;font-size:.8125rem;gap:9px;line-height:1.75}.project-highlights svg{color:var(--aqua);flex-shrink:0;margin-top:3px}.project-stack-art{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:15px;position:relative;width:100%}.project-stack-art:before{background:var(--project-color);content:"";height:1px;left:0;opacity:.25;position:absolute;right:0;top:50%}.project-stack-node{align-items:flex-start;background:#0c1528;border:1px solid color-mix(in srgb,var(--project-color) 25%,#1a2338);border-radius:7px;display:flex;flex-direction:column;gap:7px;justify-content:flex-end;min-width:0;padding:10px;position:relative}.project-stack-node>.mono{color:#99abc8;font-size:.5rem}.project-stack-node>.skill-mark,.project-stack-node>svg{color:var(--project-color)}.project-stack-node>strong{font-family:var(--display-font);font-size:.6875rem;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.project-visual.large .project-stack-art{max-width:560px}.project-visual.large .project-stack-node{min-height:150px;padding:23px}.project-visual.large .project-stack-node strong{font-size:1.125rem}.project-visual.large.is-typographic .project-typography{padding:40px}.project-grid,.project-grid.featured-project-grid{gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid .project-card{border-radius:12px}.project-grid .project-card .project-visual{border-bottom:1px solid var(--border);height:154px;min-height:154px;padding:12px 19px}.project-grid .project-browser{border-radius:6px;box-shadow:0 8px 22px #00000030;max-width:242px}.project-grid .project-browser-bar{font-size:.4375rem;padding:5px 8px}.project-grid .window-dots i{height:4px;width:4px}.project-grid .project-card-body{padding:17px 18px 13px}.project-grid .project-meta{font-size:.5625rem}.project-grid .project-card h3{font-size:1.25rem;letter-spacing:-.035em;margin-block:9px}.project-grid .project-card h3 svg{height:18px;width:18px}.project-grid .project-card-body>p{font-size:.75rem;line-height:1.75;margin-bottom:13px}.project-grid .tags{gap:5px}.project-grid .tags li{font-size:.5625rem;padding:2px 6px}.project-grid .project-links{gap:8px;margin-top:14px;padding-top:9px}.project-grid .project-links .text-link{font-size:.625rem;gap:5px;min-height:30px}.project-grid .project-direct-links{gap:12px}.project-grid .project-card .project-visual.is-typographic{padding:0}.project-grid .project-visual.is-typographic .project-typography{height:100%;justify-content:center;min-height:0;padding:16px 20px}.project-grid .project-typography:after{bottom:5px;font-size:110px;right:15px}.project-grid .project-symbol,.project-grid .project-visual-subtitle{display:none}.project-grid .project-visual-title{font-size:1.3rem}.project-grid .project-stack-art{gap:7px;margin-top:11px;max-width:310px}.project-grid .project-stack-node{gap:6px;padding:8px 10px}.project-grid .project-stack-node>.mono{display:none}.project-grid .project-stack-node>svg{height:18px;width:18px}.project-grid .project-stack-node>strong{font-size:.5625rem}.featured-project-grid .more-projects-card{align-items:center;background:var(--surface-soft);border-radius:11px;display:flex;flex-direction:row;gap:15px;grid-column:1/-1;margin:0;padding:15px 19px}.featured-project-grid .more-projects-icon{border-radius:9px;height:34px;width:34px}.featured-project-grid .more-projects-icon svg{height:19px;width:19px}.featured-project-grid .more-projects-card h3{font-size:.9375rem;font-weight:500;margin:0}.featured-project-grid .more-projects-card p{font-size:.6875rem;line-height:1.65;margin-top:4px}.more-projects-cta{align-items:center;color:var(--accent);display:flex;font-size:.6875rem;gap:11px;margin-left:auto;white-space:nowrap}.featured-project-grid .more-projects-arrow{background:var(--accent-soft);border:1px solid var(--border);padding:6px}.featured-project-grid .more-projects-arrow svg{height:17px;width:17px}@media (max-width:1000px){.project-grid,.project-grid.featured-project-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.project-grid,.project-grid.featured-project-grid{gap:17px;grid-template-columns:minmax(0,1fr)}.project-grid .project-card .project-visual{height:151px;min-height:151px}.project-grid .project-card-body{padding:17px 20px 13px}.project-grid .project-card-body>p{font-size:.8125rem}.project-grid .project-card h3{font-size:1.35rem}.project-grid .project-links .text-link{font-size:.6875rem}.featured-project-grid .more-projects-card{flex-wrap:wrap;gap:11px;padding:16px}.featured-project-grid .more-projects-card>div{flex:1 1;order:0;width:auto}.featured-project-grid .more-projects-card p{font-size:.625rem}.more-projects-cta{flex-basis:100%;justify-content:space-between;margin-left:45px}.project-visual.large.is-typographic .project-typography{padding:25px}.project-visual.large .project-stack-node{min-height:120px;padding:12px}.project-visual.large .project-stack-node strong{font-size:.75rem}}.technology-marquee .stack-strip-inner{align-items:center;display:flex;flex-direction:row;gap:21px;padding-block:17px}.technology-marquee .stack-strip-inner>.small-label{flex-shrink:0;font-size:.625rem;width:102px}.marquee-viewport{flex:1 1;-webkit-mask-image:linear-gradient(90deg,#0000,#000 25px,#000 calc(100% - 25px),#0000);mask-image:linear-gradient(90deg,#0000,#000 25px,#000 calc(100% - 25px),#0000);min-width:0;overflow:hidden}.marquee-track{display:flex;width:100%}.technology-marquee ul.marquee-group{animation:toolkit-travel 32s linear infinite;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:12px;justify-content:space-around;min-width:100%;padding-right:12px;width:max-content}.technology-marquee .marquee-group li{border-radius:8px;flex:0 0 auto;font-size:.6875rem;gap:8px;min-height:40px;padding:9px 13px}.technology-marquee .marquee-group svg{height:20px;width:20px}.technology-marquee .marquee-toggle{background:#0000;border:1px solid var(--border);border-radius:50%;color:var(--subtle);flex-shrink:0;height:32px;min-height:32px;min-width:32px;padding:0;width:32px}.technology-marquee .marquee-toggle:hover{background:var(--surface);color:var(--text);transform:none}.technology-marquee:focus-within .marquee-group,.technology-marquee:hover .marquee-group,.technology-marquee[data-paused=true] .marquee-group,.technology-marquee[data-running=false] .marquee-group{animation-play-state:paused}@keyframes toolkit-travel{to{transform:translateX(-100%)}}@media (max-width:600px){.technology-marquee .stack-strip-inner{flex-wrap:wrap;gap:11px}.technology-marquee .stack-strip-inner>.small-label{flex:1 1;width:auto}.technology-marquee .small-label br{display:none}.technology-marquee .marquee-viewport{flex-basis:100%;order:3}.technology-marquee .marquee-group li{font-size:.625rem;padding:8px 11px}.technology-marquee .marquee-toggle{height:28px;min-height:28px;min-width:28px;width:28px}}@media (prefers-reduced-motion:reduce),print{.marquee-viewport{-webkit-mask-image:none;mask-image:none;overflow:visible}.technology-marquee ul.marquee-group{animation:none;flex-wrap:wrap;gap:8px;justify-content:flex-start;min-width:0;padding:0;transform:none;width:100%}.technology-marquee .marquee-group[aria-hidden=true],.technology-marquee .marquee-toggle{display:none}}.hero{gap:58px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);isolation:isolate;min-height:min(595px,calc(100svh - 90px));padding-block:38px;position:relative}.hero:before{background:radial-gradient(ellipse at 75% 45%,#5987ff0e,#0000 63%);content:"";inset:-90px -70px 0 25%;pointer-events:none;position:absolute;z-index:-1}.hero-content{min-width:0;padding-block:10px}.hero-eyebrow{color:var(--text);font-family:var(--display-font);font-size:1rem;gap:12px;letter-spacing:-.015em;text-transform:none}.hello-spark{color:var(--aqua);font-size:1.85rem;line-height:1}.hero h1{font-size:clamp(2.7rem,4.75vw,4.25rem);font-weight:500;letter-spacing:-.06em;line-height:1.08;margin:25px 0 22px}.hero h1>.hero-title-line{color:var(--text);display:block;margin-bottom:-.04em;overflow:hidden;padding-bottom:.09em}.hero-title-line>span{display:inline-block}.hero-title-line:last-child>span{-webkit-text-fill-color:#0000;background:linear-gradient(110deg,var(--accent) 5%,var(--violet) 55%,var(--aqua));-webkit-background-clip:text;background-clip:text;color:var(--accent)}.hero-intro{text-wrap:pretty;font-size:.9375rem;line-height:1.85;max-width:535px}.hero-thought{align-items:flex-start;border-left:2px solid var(--border);color:var(--subtle);display:flex;font-size:.75rem;gap:9px;line-height:1.75;margin-top:18px;max-width:490px;padding-left:13px}.hero-thought svg{color:var(--aqua);flex-shrink:0;margin-top:3px}.hero .hero-actions{gap:12px;margin-top:25px}.hero .hero-actions .button{font-size:.8125rem;min-height:47px;padding-inline:20px}.hero-socials{flex-wrap:wrap;gap:19px;margin-top:19px}.hero-socials .social-links{gap:17px}.hero-socials .social-link.with-label{font-size:.6875rem;gap:7px;min-height:38px;padding:3px 0}.hero-socials .social-link:hover{background:#0000}.hero-socials>.text-link{border-left:1px solid var(--border);color:var(--muted);font-size:.6875rem;gap:5px;padding-left:18px}.hero-socials>.text-link:hover{color:var(--accent)}.profile-badge{justify-self:center;max-width:410px;padding-top:19px;position:relative;width:100%}.badge-clip{background:linear-gradient(110deg,var(--surface-raised),var(--surface-soft));border:1px solid var(--border);border-radius:9px 9px 7px 7px;box-shadow:0 4px 8px #00000015;display:grid;height:29px;left:calc(50% - 16px);place-items:center;position:absolute;top:0;width:32px;z-index:2}.badge-clip>span{background:var(--bg);border:1px solid var(--border);border-radius:5px;height:5px;width:14px}.profile-badge-face{background:var(--surface);border:1px solid var(--border);border-radius:19px;box-shadow:0 16px 50px #03081915;isolation:isolate;overflow:hidden;position:relative;transition:border-color .3s,box-shadow .3s}.profile-badge-face:before{background:linear-gradient(90deg,#0000,var(--accent),var(--aqua),#0000);content:"";height:1px;left:35px;opacity:.7;position:absolute;right:35px;top:0}.profile-badge-face:after{background:radial-gradient(220px circle at 50% 35%,#89b4ff18,#0000 75%);background:radial-gradient(220px circle at var(--pointer-x,50%) var(--pointer-y,35%),#89b4ff18,#0000 75%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s;z-index:-1}.profile-badge-face[data-pointer-active=true]{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 18px 55px #426ebf14}.profile-badge-face[data-pointer-active=true]:after{opacity:1}.badge-header{align-items:center;color:var(--subtle);display:flex;font-size:.5625rem;gap:12px;justify-content:space-between;padding:23px 24px 9px}.badge-header>.mono{align-items:center;display:inline-flex;gap:8px}.badge-header svg{color:var(--accent)}.badge-status{align-items:center;display:inline-flex;font-size:.5625rem;gap:6px}.badge-status i{background:var(--aqua);border-radius:50%;height:4px;width:4px}.badge-art{background-image:radial-gradient(var(--border) .8px,#0000 .8px);background-size:17px 17px;height:156px;overflow:hidden;position:relative}.badge-art:before{background:linear-gradient(var(--surface),#0000 20%,#0000 75%,var(--surface));content:"";inset:0;pointer-events:none;position:absolute}.badge-orbit{color:var(--accent);height:100%;inset:0;position:absolute;width:100%}.badge-orbit-ring{stroke:currentColor;stroke-width:.6;stroke-dasharray:2 6;opacity:.5}.badge-orbit-path{stroke:currentColor;stroke-width:.65;opacity:.22}.badge-orbit-dots{fill:var(--aqua);transform-origin:170px 85px}.badge-monogram{align-items:center;display:flex;font:500 4.25rem/1 var(--display-font);inset:0;justify-content:center;letter-spacing:-.11em;padding-right:5px;position:absolute;text-shadow:0 0 30px var(--surface)}.badge-monogram>span{color:var(--aqua)}.badge-tech{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;box-shadow:0 3px 12px #0308190a;color:var(--muted);display:flex;font-size:.5625rem;gap:6px;padding:8px 9px;position:absolute;z-index:1}.badge-tech .skill-mark,.badge-tech svg{color:var(--accent)}.badge-tech .skill-mark{font-size:.6875rem}.badge-tech-1{left:22px;top:21px}.badge-tech-2{right:20px;top:32px}.badge-tech-2 svg{color:var(--violet)}.badge-tech-3{bottom:27px;left:17px}.badge-tech-4{bottom:16px;right:22px}.badge-tech-4 svg{color:var(--aqua)}.badge-identity{padding:11px 26px 22px}.badge-identity>.small-label{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase}.badge-identity h2{font-size:1.85rem;font-weight:500;letter-spacing:-.05em;margin-top:9px}.badge-identity h2>span{color:var(--aqua)}.badge-identity>p:last-child{color:var(--muted);font-size:.75rem;margin-top:7px}.badge-job{align-items:center;border-block:1px solid var(--border);display:flex;gap:12px;margin-inline:26px;padding-block:14px}.badge-company-mark{color:var(--aqua);font:500 2rem/1 var(--display-font)}.badge-job .small-label{display:block;font-family:inherit;font-size:.625rem}.badge-job strong{font-size:.9375rem;font-weight:500}.badge-job .company-link{text-decoration:none}.badge-location{align-items:center;color:var(--subtle);display:flex;font-size:.5625rem;gap:5px;margin-left:auto}.badge-focus{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:17px 26px 21px}.badge-focus dt{color:var(--subtle);font-size:.625rem}.badge-focus dd{font-size:.75rem;font-weight:500;margin:4px 0 0}.hero-title-line>span{animation:title-rise .9s cubic-bezier(.16,1,.3,1) both}.hero-title-line:last-child>span{animation-delay:.1s}.hero .hero-actions,.hero-eyebrow,.hero-intro,.hero-socials,.hero-thought{animation:fadeIn .85s .12s both}.hello-spark{animation:spark-arrive 1.5s cubic-bezier(.16,1,.3,1) both}.profile-badge{animation:badge-arrive 1s cubic-bezier(.16,1,.3,1) .12s both}.badge-orbit-dots{animation:badge-orbit-arrive 2.4s cubic-bezier(.16,1,.3,1) both}.badge-tech{animation:badge-tech-arrive .85s .25s both}.badge-tech-2{animation-delay:.35s}.badge-tech-3{animation-delay:.45s}.badge-tech-4{animation-delay:.55s}@keyframes title-rise{0%{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}@keyframes badge-arrive{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes badge-tech-arrive{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@keyframes badge-orbit-arrive{0%{opacity:0;rotate:-95deg}to{opacity:1;rotate:0deg}}@keyframes spark-arrive{0%{opacity:0;rotate:-90deg}to{opacity:1;rotate:0deg}}@media (max-width:1100px){.hero{gap:34px;grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr);min-height:540px;padding-block:30px}.hero h1{font-size:clamp(2.5rem,4.7vw,3.4rem)}.hero-intro{font-size:.875rem}.hero .hero-actions .button{font-size:.75rem;padding-inline:15px}.hero-socials{gap:9px 14px}.hero-socials .social-links{gap:13px}.hero-socials>.text-link{padding-left:13px}.badge-header{padding-inline:21px}.badge-art{height:145px}.badge-monogram{font-size:3.7rem}.badge-tech{font-size:.5rem;gap:5px;padding:7px}.badge-tech-1{left:15px}.badge-tech-2{right:13px}.badge-tech-3{left:12px}.badge-tech-4{right:14px}.badge-identity{padding-inline:22px}.badge-identity h2{font-size:1.65rem}.badge-job{margin-inline:22px}.badge-focus{padding-inline:22px}}@media (min-width:801px) and (max-height:760px){.hero{min-height:0;padding-block:23px}.hero h1{font-size:clamp(2.65rem,4.2vw,3.7rem);margin-block:20px 18px}.hero-thought{margin-top:14px}.hero .hero-actions{margin-top:21px}.hero-socials{margin-top:14px}.badge-art{height:133px}}@media (max-width:800px){.hero{gap:25px;grid-template-columns:1fr;min-height:0;padding-block:28px 32px}.hero-content{max-width:640px;padding:0}.hero h1{font-size:clamp(2.7rem,7.8vw,4.1rem)}.hero-intro{max-width:570px}.hero:before{inset:0 -24px}.profile-badge{max-width:410px}.badge-art{height:156px}.badge-monogram{font-size:4.1rem}.badge-tech{font-size:.5625rem;padding:8px 9px}.badge-identity h2{font-size:1.85rem}}@media (max-width:540px){.hero{gap:22px;padding-block:24px 29px}.hero-eyebrow{font-size:.9375rem}.hello-spark{font-size:1.75rem}.hero h1{font-size:clamp(2.22rem,8.3vw,2.9rem);margin-block:21px 19px}.hero-intro{font-size:.875rem;line-height:1.8}.hero-thought{font-size:.6875rem;margin-top:15px}.hero .hero-actions{gap:10px;margin-top:22px}.hero .hero-actions .button{font-size:.75rem;gap:8px;min-height:46px;padding-inline:14px}.hero-socials{gap:1px 18px;margin-top:14px}.hero-socials>.text-link{border:0;min-height:38px;padding-left:0}.profile-badge{max-width:365px}.badge-header{padding-inline:20px}.badge-art{height:142px}.badge-monogram{font-size:3.9rem}.badge-tech{font-size:.5rem;padding:7px 8px}.badge-identity{padding:10px 23px 20px}.badge-identity h2{font-size:1.7rem}.badge-identity>p:last-child{font-size:.6875rem}.badge-job{margin-inline:23px}.badge-focus{padding:16px 23px 20px}.badge-focus dd{font-size:.6875rem}}@media (max-width:360px){.hero .hero-actions .button{font-size:.6875rem;padding-inline:10px}.badge-tech>span:not(.skill-mark){display:none}.badge-tech .skill-mark{display:inline}.badge-tech{padding:8px}.badge-location{font-size:.5rem}}@media (prefers-reduced-motion:reduce),print{.badge-orbit-dots,.badge-tech,.hello-spark,.hero .hero-actions,.hero-eyebrow,.hero-intro,.hero-socials,.hero-thought,.hero-title-line>span,.profile-badge{animation:none!important}.profile-badge-face:after{display:none}}.hero{min-height:min(540px,calc(100svh - 80px));padding-block:29px}.profile-badge{max-width:365px}.profile-badge-face{transform:rotate(0deg);transform:rotate(var(--badge-angle,0deg));transform-origin:50% -7px}.profile-badge-face[data-swinging=true]{will-change:transform}.badge-header{padding:21px 21px 8px}.badge-art{height:126px}.badge-monogram{font-size:3.75rem}.badge-identity{padding:10px 23px 17px}.badge-identity h2{font-size:1.65rem}.badge-identity>p:last-child{font-size:.6875rem}.badge-job{margin-inline:23px;padding-block:12px}.badge-focus{padding:14px 23px 17px}.badge-focus dd{font-size:.6875rem}@media (max-width:800px){.hero{min-height:0;padding-block:25px}.profile-badge{max-width:350px}}@media (prefers-reduced-motion:reduce),print{.profile-badge-face{transform:none!important;will-change:auto}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}.section{padding-block:68px}.section-heading{margin-bottom:28px}.experience-intro h2,.section-heading h2{font-size:clamp(1.9rem,3vw,2.6rem)}.section-description{font-size:.875rem}.selected-work{padding-block:46px 64px}.stack-strip-inner{padding-block:17px}.skill-rows{border-top:1px solid var(--border)}.skill-row{--row-accent:var(--accent);grid-gap:28px;align-items:start;border-bottom:1px solid var(--border);display:grid;gap:28px;grid-template-columns:225px minmax(0,1fr);padding-block:23px}.skill-row:nth-child(2){--row-accent:var(--violet)}.skill-row:nth-child(3){--row-accent:var(--aqua)}.skill-row-heading{align-items:flex-start;display:flex;gap:12px;padding-top:4px}.skill-row-icon{background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--row-accent);display:grid;flex-shrink:0;height:34px;place-items:center;width:34px}.skill-row-heading .small-label{color:var(--row-accent);font-size:.5625rem}.skill-row h3{font-size:.9375rem;font-weight:500;letter-spacing:-.025em;line-height:1.5;margin-top:5px}.skill-row-content{min-width:0}.skill-row-primary{grid-gap:13px;display:grid;gap:13px;grid-template-columns:repeat(4,minmax(0,1fr))}.skill-row-primary>li{align-items:center;display:flex;gap:10px;min-width:0;padding-block:5px}.skill-row-primary>li>.skill-mark,.skill-row-primary>li>svg{color:var(--row-accent);flex-shrink:0}.skill-row-primary>li>.skill-mark{font-size:.875rem;min-width:22px}.skill-row-primary strong{display:block;font-size:.75rem;font-weight:550;line-height:1.5}.skill-row-primary li>div>span{color:var(--subtle);display:block;font-size:.625rem;line-height:1.55;margin-top:3px}.skill-row-supporting{align-items:baseline;display:flex;gap:13px;margin-top:13px}.skill-row-supporting>.small-label{font-family:inherit;font-size:.625rem}.skill-row-supporting .tags{gap:5px 7px}.skill-row-supporting .tags li{background:var(--surface);border-radius:5px;font-size:.625rem;padding:2px 7px}.experience-section{gap:60px}.experience-intro>p:not(.eyebrow){font-size:.8125rem;line-height:1.85;margin-top:16px;max-width:430px}.experience-intro:before{font-size:2.5rem;margin-bottom:18px}.employer-card{border-radius:12px;padding:20px}.employer-card+.employer-card{margin-top:14px}.employer-heading{margin-bottom:21px}.employer-heading h3{font-size:1.3rem}.career-timeline>li{padding-bottom:20px}.career-title h4{font-size:.9375rem}.career-timeline p{font-size:.75rem;margin-top:6px}.career-timeline .tags{margin-top:9px}.education{border-radius:11px;margin-top:14px;padding:17px}.education .skill-icon{height:36px;width:36px}.education h3{font-size:.9375rem}.certifications{border-radius:11px;margin-top:14px;padding:18px}.certifications>div{margin-top:11px}.principles-grid{gap:27px;padding-block:29px}.principles-grid h2{font-size:1rem;margin-top:10px}.principles-grid p{font-size:.75rem}.principles-grid>article>.mono{font-size:.625rem}.recognition-section{padding-block:46px}.recognition-section .section-heading h2{font-size:1.85rem}.recognition-grid{gap:15px}.recognition-grid .achievement-card{background:var(--surface);border-radius:11px;padding:18px}.recognition-grid .achievement-card>div{padding:0}.recognition-icon{color:var(--aqua);display:inline-flex;margin-bottom:11px}.recognition-grid .achievement-card h3{font-size:.875rem;line-height:1.5}.recognition-grid .achievement-card h3 svg{flex-shrink:0;height:15px;width:15px}.recognition-grid .achievement-card p{font-size:.75rem;line-height:1.8}.resume-summary{border-radius:13px;gap:32px;margin-bottom:64px;padding:27px 30px}.resume-summary h2{font-size:clamp(1.5rem,2.3vw,1.95rem);margin-block:9px 12px}.resume-summary-copy{max-width:680px}.resume-summary-copy>p:last-child{font-size:.75rem}.contact-section{padding-block:65px}.contact-grid{gap:65px}.contact-form{border-radius:13px;padding:24px}.contact-copy h1,.contact-copy h2{font-size:clamp(2.4rem,4vw,3.4rem)}@media (max-width:1100px){.skill-row{gap:22px;grid-template-columns:195px minmax(0,1fr)}.skill-row-primary{gap:11px}.skill-row-primary>li{gap:8px}.skill-row-primary strong{font-size:.6875rem}.skill-row-primary li>div>span{font-size:.5625rem}.experience-section{gap:35px}}@media (max-width:800px){.section{padding-block:52px}.selected-work{padding-block:37px 52px}.skill-row{gap:25px;grid-template-columns:190px minmax(0,1fr);padding-block:20px}.skill-row-primary{gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.skill-row-primary strong{font-size:.75rem}.skill-row-primary li>div>span{font-size:.625rem}.principles-grid{gap:23px}.recognition-section{padding-block:41px}.experience-intro>p:not(.eyebrow){max-width:640px}.resume-summary{margin-bottom:52px;padding:25px}.contact-grid{gap:32px}}@media (max-width:600px){.experience-intro h2,.section-heading h2{font-size:1.9rem}.skill-row{gap:17px;grid-template-columns:minmax(0,1fr)}.skill-row-heading{align-items:center;padding:0}.skill-row h3{font-size:1rem;margin-top:2px}.skill-row-heading .small-label{font-size:.625rem}.skill-row-primary{gap:13px 20px}.skill-row-primary strong{font-size:.75rem}.skill-row-supporting{gap:10px;margin-top:14px}.employer-card{padding:19px}.recognition-section .section-heading h2{font-size:1.7rem}.contact-section{padding-block:50px}.contact-form{padding:21px}}.cursor-trail{inset:0 auto auto 0;opacity:0;pointer-events:none;position:fixed;transition:opacity .18s;z-index:100}.cursor-trail[data-visible=true]{opacity:1}.cursor-anchor{height:0;left:0;pointer-events:none;position:absolute;top:0;width:0;will-change:transform}.cursor-ring{background:color-mix(in srgb,var(--accent) 5%,#0000);border:1px solid color-mix(in srgb,var(--accent) 65%,#0000);border-radius:50%;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 7%,#0000);display:block;height:27px;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s,background .2s;width:27px}.cursor-trail[data-interactive=true] .cursor-ring{background:color-mix(in srgb,var(--aqua) 8%,#0000);border-color:var(--aqua);height:42px;width:42px}.cursor-trail[data-pressed=true] .cursor-ring{background:color-mix(in srgb,var(--aqua) 16%,#0000);height:20px;width:20px}.cursor-mote{background:var(--violet);border-radius:50%;display:block;height:4px;opacity:.65;transform:translate(-50%,-50%);transition:opacity .22s;width:4px}.cursor-mote-last{background:var(--aqua);height:3px;opacity:.5;width:3px}.cursor-trail[data-idle=true] .cursor-mote{opacity:0}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce),print{.cursor-trail{display:none}}
/*# sourceMappingURL=main.ff40e405.css.map*/