*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080c10;--bg-2: #0d1117;--bg-card: #111820;--border: #1e2d3d;--border-strong: #2a3e56;--accent: #00d4ff;--accent-dim: #00d4ff22;--accent-2: #ff6b35;--text: #e6edf3;--text-muted: #a8b3bf;--text-dim: #6b7c8f;--text-secondary: color-mix(in srgb, var(--text) 78%, var(--text-muted));--shadow-sm: 0 10px 28px color-mix(in srgb, #080c10 82%, #00d4ff 6%);--shadow-md: 0 18px 48px color-mix(in srgb, #080c10 78%, #00d4ff 5%);--nav-scrolled: rgba(8, 12, 16, .92);--glow-cyan: rgba(0, 212, 255, .08);--glow-warm: rgba(255, 107, 53, .06);--terminal-bg: #0d1117;--terminal-header: #161b22;--terminal-border: #30363d;--terminal-fg: #e6edf3;--terminal-muted: #8b949e;--terminal-key: #7ee787;--terminal-string: #a5d6ff;--terminal-boolean: #79c0ff;--terminal-comment: #8b949e;--terminal-punct: #c9d1d9;--terminal-danger: #ff7b72;--salesforce: #00a1e0;--font-display: "Syne", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-hairline: 2px;--radius: 8px;--radius-lg: 12px;--scroll-pad: 88px;--section-pad-y: 72px;--section-pad: var(--section-pad-y) 0 calc(var(--section-pad-y) + 12px);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--duration-press: .16s;--duration-ui: .25s}html{scroll-behavior:smooth;scroll-padding-top:var(--scroll-pad);color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .25s ease,color .25s ease}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 15%,var(--glow-cyan),transparent 30%),radial-gradient(circle at 85% 10%,var(--glow-warm),transparent 24%),var(--bg)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1}section[id],#resume{scroll-margin-top:var(--scroll-pad)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.container{max-width:1140px;margin:0 auto;padding:0 32px}.section-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;display:flex;align-items:center;gap:10px}.section-label:before{content:"//";opacity:.5}.section-title{font-family:var(--font-display);font-size:clamp(24px,3.2vw,34px);font-weight:800;color:var(--text);margin-bottom:28px;letter-spacing:-.02em;text-wrap:balance;padding-bottom:.08em}.skip-link{position:fixed;left:16px;top:16px;z-index:200;padding:10px 14px;background:var(--bg-2);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font-family:var(--font-mono);font-size:12px;text-decoration:none;transform:translateY(calc(-100% - 24px));transition:transform .16s var(--ease-out);pointer-events:none}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:none;pointer-events:auto}::selection{background:var(--accent-dim);color:var(--text)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-hairline)}@media(max-width:768px){:root{--scroll-pad: 76px;--section-pad-y: 56px}.container{padding:0 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease}@media(max-width:960px){.navbar{background:#080c10eb;border-bottom:1px solid var(--border);padding:14px 0}}.navbar--scrolled{background:var(--nav-scrolled);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);padding:12px 0}.navbar__inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px}.navbar__actions{display:flex;align-items:center;gap:14px}.navbar__logo{font-family:var(--font-display);font-size:clamp(18px,2.2vw,24px);font-weight:800;color:var(--text);text-decoration:none;letter-spacing:-.02em}.navbar__logo-bracket{color:var(--accent)}.navbar__links{display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(12px,2.2vw,32px);list-style:none;min-width:0}.navbar__links>li{flex-shrink:0}.navbar__link{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:4px;position:relative;white-space:nowrap}.navbar__link:hover{color:var(--accent);text-decoration:none}.navbar__link--active{color:var(--accent)}.navbar__link--active:after{transform:scaleX(1)}.navbar__link:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .16s var(--ease-out)}@media(hover:hover)and (pointer:fine){.navbar__link:hover:after{transform:scaleX(1)}}.navbar__link-num{color:var(--accent);font-size:10px}.navbar__cta{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;line-height:1;color:var(--accent);border:1px solid var(--accent);padding:0 18px;min-height:34px;border-radius:var(--radius);text-decoration:none;white-space:nowrap;flex-shrink:0;box-sizing:border-box;transition:transform .16s var(--ease-out),background-color .16s ease}.navbar__cta:hover{background:var(--accent-dim);text-decoration:none}.navbar__cta:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.navbar__cta:hover{transform:translateY(-1px)}.navbar__cta:hover:active{transform:scale(.97)}}.navbar__cta-group{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.navbar__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.navbar__burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s var(--ease-out),opacity .16s ease}.navbar__backdrop{display:none}@media(max-width:960px){.navbar__burger{display:flex}.navbar__backdrop{display:block;position:fixed;inset:0;z-index:1;border:none;padding:0;margin:0;background:#080c109e;cursor:pointer}.navbar__links{position:fixed;top:0;right:0;z-index:3;height:100vh;height:100dvh;width:260px;background:var(--bg-2);border-left:1px solid var(--border);flex-direction:column;justify-content:center;gap:28px;padding:40px;transform:translate(100%);transition:transform .25s var(--ease-drawer)}.navbar__links--open{transform:translate(0)}.navbar__burger{position:relative;z-index:4}.navbar__burger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar__burger--open span:nth-child(2){opacity:0}.navbar__burger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}@media(prefers-reduced-motion:reduce){.navbar,.navbar__cta,.navbar__burger span,.navbar__link:after{transition:none}@media(max-width:960px){.navbar__links{transition:none}}}.footer{border-top:1px solid var(--border);padding:34px 0}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer__logo{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--text)}.footer__logo-bracket{color:var(--accent)}.footer__copy{font-size:12px;color:var(--text-muted)}.footer__socials{display:flex;gap:20px}.footer__social{font-size:12px;color:var(--text-muted);text-decoration:none;transition:color .2s}.footer__social:hover{color:var(--accent)}@media(max-width:600px){.footer__inner{flex-direction:column;align-items:center;text-align:center}}.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;position:relative;padding:clamp(96px,11vh,128px) 0 clamp(72px,9vh,96px);overflow:hidden}.hero__inner{position:relative;z-index:1;display:grid;align-items:center;width:100%;min-height:calc(100dvh - 180px)}.hero__content{width:min(38rem,100%);max-width:100%;text-align:left;justify-self:start}.hero__kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:18px}.hero__name{font-family:var(--font-display);font-size:clamp(48px,7.2vw,96px);font-weight:800;color:var(--text);line-height:.92;letter-spacing:-.035em;margin-bottom:20px;text-wrap:balance}.hero__name-line{display:block;overflow:hidden}.hero__name-line-inner{display:block}.hero__title{font-family:var(--font-mono);font-size:clamp(14px,1.5vw,16px);font-weight:400;color:var(--text-secondary);letter-spacing:0;text-transform:none;line-height:1.55;max-width:34ch;margin-bottom:28px}.hero__title-rest{color:var(--text-muted)}.hero__cmd-wrap{display:flex;justify-content:flex-start;margin-bottom:0}.hero__cmd{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:10px 16px;border-radius:var(--radius);background:color-mix(in srgb,var(--terminal-bg) 88%,transparent);border:1px solid var(--terminal-border);box-shadow:none;font-family:var(--font-mono);font-size:12.5px;line-height:1.2;white-space:nowrap;overflow:hidden}.hero__cmd-prompt{flex-shrink:0;color:var(--accent);font-weight:500;transform:translateY(.5px)}.hero__cmd-text{color:var(--terminal-fg);min-width:0;overflow:hidden;text-overflow:ellipsis}.hero__cmd-cursor{flex-shrink:0;width:7px;height:1.05em;margin-left:-2px;background:var(--terminal-fg);opacity:.9;border-radius:var(--radius-hairline)}.hero__cmd-cursor.is-blink{animation:hero-cmd-blink 1.05s steps(1,end) infinite}@keyframes hero-cmd-blink{0%,49%{opacity:.9}50%,to{opacity:0}}.hero__scroll{position:absolute;left:0;bottom:8px;display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);text-decoration:none;border-bottom:none;padding-bottom:0}.hero__scroll-mark{color:var(--accent)}.hero__scroll:hover{color:var(--accent);text-decoration:none}@media(max-width:900px){.hero{min-height:auto;align-items:flex-start;padding-top:calc(72px + env(safe-area-inset-top,0px));padding-bottom:56px}.hero__inner{min-height:0;gap:40px}.hero__content{width:100%}.hero__name{font-size:clamp(40px,11vw,64px);margin-bottom:14px}.hero__title{margin-bottom:20px;max-width:none}.hero__cmd{max-width:min(100%,340px);padding:9px 14px;font-size:12px}.hero__scroll{position:static}}@media(prefers-reduced-motion:reduce){.hero__cmd-cursor.is-blink{animation:none;opacity:.55}}.profile{position:relative;z-index:1;padding:var(--section-pad);border-top:1px solid var(--border)}.profile__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,52px);align-items:start}.profile__intro{position:sticky;top:calc(var(--scroll-pad) + 18px);overflow:hidden;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out),visibility 0s linear}.profile__kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.profile__title{font-family:var(--font-display);font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.02em;color:var(--text);margin-bottom:14px}.profile__copy{font-size:14px;line-height:1.75;color:var(--text-secondary);max-width:36ch}.profile__hint{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:11px;letter-spacing:.04em;color:var(--text-dim)}.profile__hint span{color:var(--accent)}.profile__terminal-wrap{min-width:0}.profile--expanded .profile__inner{grid-template-columns:minmax(0,0fr) minmax(0,1fr);gap:0}.profile--expanded .profile__intro{opacity:0;visibility:hidden;transform:translate(-8px);pointer-events:none;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out),visibility 0s linear .18s}.profile--expanded .profile__terminal-wrap,.profile--expanded .profile__shell{width:100%;max-width:none}.profile__shell--expanded{display:flex;flex-direction:column;height:auto;max-height:none}.profile__shell--expanded .terminal__json{height:auto;max-height:none;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto;touch-action:auto}.profile__shell{position:relative;z-index:2;background:var(--terminal-bg);border:1px solid var(--terminal-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);min-width:0;width:100%;max-width:min(44rem,100%);justify-self:stretch;box-sizing:border-box;color:var(--terminal-fg)}.profile__shell--folder{border-style:dashed;cursor:pointer;box-shadow:none;background:color-mix(in srgb,var(--terminal-bg) 88%,transparent);justify-self:center}.profile__shell--folder:hover,.profile__shell--folder:focus-visible{border-color:var(--accent);background:var(--terminal-bg);outline:none}.profile__shell--collapsed .terminal__header{border-bottom-color:transparent}.profile__face{width:100%}.profile__face--folder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--terminal-muted);font-family:var(--font-mono);font-size:12px;pointer-events:none}.profile__shell--folder .profile__face--folder{pointer-events:auto}.profile__face--folder svg{width:36px;height:36px;color:var(--accent)}.profile__face--terminal{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;min-height:0}.profile__shell--folder .profile__face--terminal{pointer-events:none}.terminal__header{display:flex;align-items:center;gap:8px;padding:14px 18px;background:var(--terminal-header);border-bottom:1px solid var(--terminal-border);position:relative;z-index:2;flex-shrink:0}.terminal__controls{display:inline-flex;align-items:center;gap:8px;position:relative;z-index:3;isolation:isolate}.terminal__dot{position:relative;width:12px;height:12px;border-radius:50%;flex-shrink:0;border:none;padding:0;margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:transparent;font-size:0;line-height:0;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}.terminal__dot:before{content:"";position:absolute;inset:-6px}.terminal__dot:hover,.terminal__dot:active{filter:none;background:transparent}.terminal__dot:focus{outline:none}.terminal__dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}.terminal__dot:after{content:"";width:12px;height:12px;border-radius:50%;pointer-events:none}.terminal__dot--red:after{background-color:#ff5f57}.terminal__dot--yellow:after{background-color:#ffbd2e}.terminal__dot--green:after{background-color:#28c840}.terminal__title{font-size:13px;color:var(--terminal-muted);margin-left:4px;pointer-events:none}.terminal__body{display:grid;grid-template-rows:0fr;opacity:0;transition:opacity .16s var(--ease-out);font-size:14px;line-height:1.85;color:var(--terminal-muted);font-family:var(--font-mono);background:var(--terminal-bg)}.terminal__body.is-open{grid-template-rows:1fr;opacity:1}.terminal__body-inner{overflow:hidden;min-height:0}.terminal__json{white-space:normal;padding:26px 24px 30px;overflow-x:auto;-webkit-overflow-scrolling:touch}.terminal__line{display:block}.terminal__indent{display:inline-block;width:16px}.terminal__brace{color:var(--terminal-punct)}.terminal__key{color:var(--terminal-key)}.terminal__string{color:var(--terminal-string)}.terminal__boolean{color:var(--terminal-boolean)}.terminal__comment{color:var(--terminal-comment);font-style:italic}.terminal__line--open-to{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 2px}.terminal__reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:opacity .16s var(--ease-out)}.terminal__reveal.is-open{grid-template-rows:1fr;opacity:1}.terminal__reveal-inner{overflow:hidden;min-height:0}.terminal__reveal--instant{transition:none}@media(max-width:960px){.profile__inner{grid-template-columns:1fr;gap:24px}.profile__intro{position:static}}@media(max-width:900px){.profile__shell{display:flex;flex-direction:column;max-height:min(48vh,420px);max-width:none;justify-self:stretch;height:min(48vh,420px)}.profile__shell--expanded{height:auto;max-height:none}.profile__shell--expanded .profile__face--terminal{flex:none;overflow:visible;height:auto}.profile__shell--expanded .terminal__body{flex:none;overflow:visible}.profile__shell--expanded .terminal__body-inner{height:auto;overflow:visible}.profile__shell--expanded .terminal__json{height:auto;max-height:none;overflow:visible;overscroll-behavior:auto}.profile__shell--folder{justify-self:center;max-height:none;height:auto}.profile__face--terminal{flex:1 1 auto;min-height:0;overflow:hidden;height:100%}.terminal__header{padding:12px 14px}.terminal__dot{width:44px;height:44px;margin:-16px -10px}.terminal__dot:before{inset:0}.terminal__controls{gap:0;margin-left:-6px}.terminal__body{font-size:12.5px;line-height:1.7;flex:1 1 auto;min-height:0;overflow:hidden}.terminal__body-inner{height:100%;overflow:hidden}.terminal__json{padding:14px 14px 18px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:100%;height:100%}}@media(prefers-reduced-motion:reduce){.terminal__body,.terminal__reveal{transition:none}.profile__intro,.profile--expanded .profile__intro{transition:opacity .16s var(--ease-out);transform:none}}.about{padding:var(--section-pad);border-top:1px solid var(--border)}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}.about__audience{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 16px}.about__audience-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-right:2px}.about__audience-btn{appearance:none;background:none;border:none;padding:0;font-family:var(--font-mono);font-size:12px;color:var(--text-muted);cursor:pointer;position:relative;transition:color .16s ease}.about__audience-btn:hover{color:var(--text)}.about__audience-btn.is-active{color:var(--accent)}.about__audience-btn.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--accent)}.about__summary-slot{position:relative;min-height:9.5em;margin-bottom:36px}.about__summary{font-size:14px;color:var(--text-secondary);line-height:1.9;margin:0}.about__info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0;border-top:1px solid var(--border)}.about__info-item{display:flex;flex-direction:column;gap:4px;margin:0;padding:14px 0;border-bottom:1px solid var(--border)}.about__info-item:last-child{grid-column:1 / -1}.about__info-key{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}.about__info-val{margin:0;font-size:14px;color:var(--text)}.about__info-val--link{color:var(--text);text-decoration:none}.about__info-val--link:hover{color:var(--accent)}.about__sub-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:16px}.about__education{margin-bottom:36px}.about__edu-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.about__edu-item:last-child{border-bottom:none}.about__edu-year{font-size:11px;color:var(--accent);white-space:nowrap;padding-top:2px;min-width:70px}.about__edu-degree{font-size:14px;color:var(--text);font-family:var(--font-display);margin-bottom:4px}.about__edu-school{font-size:12px;color:var(--text-secondary)}.about__architect{margin-bottom:14px}.about__architect-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;color:var(--text-secondary)}.about__sf-mark{color:var(--salesforce);flex-shrink:0}.about__architect-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:10px}.about__architect-chip{display:inline-flex;align-items:center;gap:6px}.about__architect-plus{color:var(--text-dim);margin:0 8px 0 2px;font-weight:500}.about__architect-name{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.3}.about__certs-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:4px 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--accent);cursor:pointer;transition:color .2s}.about__certs-toggle:hover{color:var(--text)}.about__certs-toggle span{font-size:14px;line-height:1}.about__cert-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:opacity .2s var(--ease-out)}.about__cert-reveal.is-open{grid-template-rows:1fr;opacity:1}.about__cert-reveal-inner{overflow:hidden;min-height:0}.about__cert-list{list-style:none;display:flex;flex-direction:column;gap:0;margin-top:12px;border-top:1px solid var(--border)}@media(prefers-reduced-motion:reduce){.about__cert-reveal,.about__audience-btn{transition:none}}.about__cert-item{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.45}.about__cert-item:last-child{border-bottom:none}.about__cert-issuer{color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding-top:2px}.about__cert-name{color:var(--text-secondary)}@media(max-width:768px){.about__grid{grid-template-columns:1fr;gap:40px}.about__summary-slot{min-height:0}.about__info-grid{grid-template-columns:1fr}.about__architect-row{padding:12px 14px}.about__architect-name{font-size:12px}.about__cert-item{grid-template-columns:1fr;gap:4px}}.resume-form-root{width:100%;scroll-margin-top:var(--scroll-pad)}.resume-form{display:flex;flex-direction:column;gap:14px;position:relative;z-index:1;width:100%}.resume-form__hint{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0 0 4px}.resume-form__field{display:flex;flex-direction:column;gap:6px}.resume-form__label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}.resume-form__input{width:100%;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);font-size:13px;padding:12px 14px;outline:none;transition:border-color .2s ease}.resume-form__input:focus{border-color:var(--accent)}.resume-form__input:disabled{opacity:.7}.resume-form__textarea{resize:vertical;min-height:84px;line-height:1.5}.resume-form__honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0;pointer-events:none}.resume-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px}.resume-form__cancel{background:none;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;cursor:pointer;padding:8px 4px}.resume-form__cancel:hover:not(:disabled){color:var(--text)}.resume-form__cancel:disabled{opacity:.5;cursor:not-allowed}.resume-form__status{font-size:13px;line-height:1.5;margin:4px 0 0}.resume-form__status--ok{color:var(--terminal-key)}.resume-form__status--err{color:var(--terminal-danger)}.resume-form__enter{opacity:1;transform:translateY(0)}.resume-form__enter--form{transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}.resume-form__enter--success{transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.resume-form__enter--closed{transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}@starting-style{.resume-form__enter--form{opacity:0;transform:translateY(8px)}.resume-form__enter--success{opacity:0;transform:translateY(6px)}.resume-form__enter--closed{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.resume-form__enter--form,.resume-form__enter--success,.resume-form__enter--closed{transition:opacity .2s ease;transform:none}@starting-style{.resume-form__enter--form,.resume-form__enter--success,.resume-form__enter--closed{opacity:0;transform:none}}}.experience{position:relative;z-index:1;padding:var(--section-pad);border-top:1px solid var(--border)}.experience .container{position:relative}.experience .container:before{content:"";position:absolute;inset:-12px -28px;background:radial-gradient(120% 90% at 50% 28%,color-mix(in srgb,var(--bg) 88%,transparent),color-mix(in srgb,var(--bg) 42%,transparent) 70%,transparent);pointer-events:none;z-index:-1;border-radius:var(--radius-lg)}.experience .section-title{margin-bottom:18px}.impact-strip{margin-top:0;padding-top:0;border-top:none}.impact-strip__grid{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:0}.impact-strip__item{padding:4px 24px 4px 0;border-right:1px solid var(--border)}.impact-strip__item:last-child{border-right:none;padding-right:0}.impact-strip__item:not(:first-child){padding-left:24px}.impact-strip__value{font-family:var(--font-display);font-size:clamp(24px,3.2vw,34px);font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.1;margin-bottom:6px;font-variant-numeric:tabular-nums}.impact-strip__name{font-size:12px;font-weight:500;color:var(--text);margin-bottom:4px;line-height:1.35}.impact-strip__detail{font-size:11px;color:var(--text-secondary);line-height:1.45;max-width:28ch}.case-study{margin-top:32px;padding:24px 0 0;border-top:1px solid var(--border);overflow-anchor:none}.case-study__panels{display:grid;overflow-anchor:none}.case-study__panel{grid-area:1 / 1;min-width:0;opacity:1;transition:opacity .2s var(--ease-out)}.case-study__panel:not(.is-inactive){z-index:1}.case-study__panel.is-inactive{opacity:0;pointer-events:none}.case-study__nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.case-study__nav-btn{background:none;border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 14px;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--text-muted);transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s var(--ease-out)}@media(hover:hover)and (pointer:fine){.case-study__nav-btn:hover{color:var(--text);border-color:var(--text-dim)}}.case-study__nav-btn:active{transform:scale(.97)}.case-study__nav-btn--active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.case-study__eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.case-study__title{font-family:var(--font-display);font-size:clamp(18px,2.2vw,24px);font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.25;margin-bottom:6px;max-width:52ch}.case-study__context{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.case-study__beats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.case-study__beat{padding-top:4px}.case-study__step{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.case-study__beat p{font-size:14px;color:var(--text-secondary);line-height:1.75}.experience__resume{margin-top:48px;padding-top:28px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 20px}.experience__resume-copy{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0}.experience__resume-link{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-decoration:none;border-bottom:1px solid transparent;transition:color .16s ease,border-color .16s ease}.experience__resume-link:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}@media(max-width:768px){.case-study{margin-top:28px;padding-top:22px}.experience .container:before{inset:-8px -12px}.case-study__title{max-width:none}.case-study__beats{grid-template-columns:1fr;gap:20px}.impact-strip__grid{grid-template-columns:1fr;gap:22px}.impact-strip__item,.impact-strip__item:not(:first-child){border-right:none;border-bottom:1px solid var(--border);padding:0 0 22px}.impact-strip__item:last-child{border-bottom:none;padding-bottom:0}.experience__resume{margin-top:36px;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){.case-study__panel{transition:none}.case-study__nav-btn:active{transform:none}}.border-glow-card{--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120f17);overflow:visible;box-shadow:var(--shadow-sm);width:100%;height:100%}.border-glow-fx{--edge-proximity: 0;--cursor-angle: 45deg;position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0}.border-glow-fx:before,.border-glow-fx:after,.border-glow-fx>.edge-light{content:"";position:absolute;inset:0;border-radius:inherit;transition:opacity .25s var(--ease-out, ease-out);z-index:-1}.border-glow-card:not(:hover):not(.sweep-active) .border-glow-fx:before,.border-glow-card:not(:hover):not(.sweep-active) .border-glow-fx:after,.border-glow-card:not(:hover):not(.sweep-active) .border-glow-fx>.edge-light{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .75s var(--ease-in-out, ease-in-out),visibility .75s var(--ease-in-out, ease-in-out)}.border-glow-card:hover,.border-glow-card.sweep-active{transform:translateZ(0)}.border-glow-card:is(:hover,.sweep-active) .border-glow-fx:before,.border-glow-card:is(:hover,.sweep-active) .border-glow-fx:after,.border-glow-card:is(:hover,.sweep-active) .border-glow-fx>.edge-light{visibility:visible}.border-glow-fx:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120f17) 0 100%) padding-box,linear-gradient(#fff0 0% 100%) border-box,var(--gradient-one) border-box,var(--gradient-two) border-box,var(--gradient-three) border-box,var(--gradient-four) border-box,var(--gradient-five) border-box,var(--gradient-six) border-box,var(--gradient-seven) border-box,var(--gradient-base) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-fx:after{border:1px solid transparent;background:var(--gradient-one) padding-box,var(--gradient-two) padding-box,var(--gradient-three) padding-box,var(--gradient-four) padding-box,var(--gradient-five) padding-box,var(--gradient-six) padding-box,var(--gradient-seven) padding-box,var(--gradient-base) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-fx>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-fx>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color),inset 0 0 1px 0 var(--glow-color-60),inset 0 0 3px 0 var(--glow-color-50),inset 0 0 6px 0 var(--glow-color-40),inset 0 0 15px 0 var(--glow-color-30),inset 0 0 25px 2px var(--glow-color-20),inset 0 0 50px 2px var(--glow-color-10),0 0 1px 0 var(--glow-color-60),0 0 3px 0 var(--glow-color-50),0 0 6px 0 var(--glow-color-40),0 0 15px 0 var(--glow-color-30),0 0 25px 2px var(--glow-color-20),0 0 50px 2px var(--glow-color-10)}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:hidden;z-index:1;height:100%;border-radius:inherit}@media(prefers-reduced-motion:reduce){.border-glow-card .border-glow-fx:before,.border-glow-card .border-glow-fx:after,.border-glow-card .border-glow-fx>.edge-light{opacity:0!important;visibility:hidden!important}}.project-card{background:transparent;border:none;border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;box-shadow:none;height:100%}.project-card:hover{transform:none;box-shadow:none}.project-card--featured,.project-card--wide{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(260px,.95fr);gap:28px;padding:22px;align-items:stretch}.project-card--featured:hover,.project-card--wide:hover{transform:none}.project-card__media{min-height:480px;display:flex;min-width:0}.project-card--scroll-stage .project-card__media,.project-card--scroll-stage .project-card__body{will-change:transform,opacity}.project-card__media>*{flex:1 1 auto;width:100%;min-width:0}.project-card__media--desktop{min-height:520px}.project-card__placeholder{flex:1 1 auto;width:100%;min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:10px;border:1px dashed var(--border-strong);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-2) 80%,transparent),transparent),repeating-linear-gradient(-45deg,transparent,transparent 10px,color-mix(in srgb,var(--border) 55%,transparent) 10px,color-mix(in srgb,var(--border) 55%,transparent) 11px)}.project-card__placeholder-label{font-family:var(--font-display);font-size:clamp(40px,5.8vw,76px);font-weight:800;letter-spacing:-.04em;color:var(--text-dim);line-height:1}.project-card__placeholder-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.project-card__media--compact{min-height:220px;margin:-8px -8px 4px}.project-card__body{display:flex;flex-direction:column;gap:14px;padding:12px 10px 10px 0;min-width:0}.project-card__top{display:flex;justify-content:space-between;align-items:center;gap:12px}.project-card--stage-active .project-card__top{justify-content:flex-end}.project-card__eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.project-card__folder{font-size:28px;color:var(--accent)}.project-card__links{display:flex;gap:14px;color:var(--text-muted)}.project-card__links a{color:var(--text-muted);transition:color .16s ease;display:flex;align-items:center}.project-card__links a:hover{color:var(--accent)}@media(hover:hover)and (pointer:fine){.project-card__links a{transition:color .16s ease,transform .16s var(--ease-out)}.project-card__links a:active{transform:scale(.97)}}.project-card__title{font-family:var(--font-display);font-size:clamp(18px,2.2vw,24px);font-weight:700;color:var(--text)}.project-card--featured .project-card__title,.project-card--wide .project-card__title{font-size:clamp(24px,3.2vw,34px);letter-spacing:-.02em;line-height:1.15}.project-card__desc{font-size:14px;color:var(--text-secondary);line-height:1.7;flex:1}.project-card--featured .project-card__desc,.project-card--wide .project-card__desc{font-size:14px}.project-card__story{font-size:14px;color:var(--text);line-height:1.7;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-dim);border-radius:var(--radius)}.project-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.project-card__tag{font-size:10px;font-family:var(--font-mono);color:var(--accent);background:var(--accent-dim);padding:3px 10px;border-radius:var(--radius-hairline);letter-spacing:.05em}@media(max-width:860px){.project-card--scroll-stage .project-card__media,.project-card--scroll-stage .project-card__body{will-change:auto}.project-card--featured,.project-card--wide{grid-template-columns:1fr;padding:16px;gap:16px}.project-card__body{padding:4px 2px 2px}.project-card__media{min-height:280px}.project-card__media--desktop{min-height:240px}}@media(prefers-reduced-motion:reduce){.project-card--scroll-stage .project-card__media,.project-card--scroll-stage .project-card__body{will-change:auto}.project-card__links a:active{transform:none}}.project-stage{position:relative;min-height:110vh;display:flex;flex-direction:column}.project-stage__sticky{position:sticky;top:calc(var(--scroll-pad) + 4px);min-height:calc(100vh - var(--scroll-pad) - 16px);min-height:calc(100dvh - var(--scroll-pad) - 16px);display:flex;align-items:center;padding:8px 0 28px;z-index:1}.project-stage.is-active .project-stage__sticky{z-index:2}.project-stage__panel{width:100%}.project-stage.is-active .project-stage__panel{will-change:transform,opacity}.project-stage .project-card--scroll-stage .project-card__media,.project-stage .project-card--scroll-stage .project-card__body{will-change:auto}.project-stage.is-active .project-card--scroll-stage .project-card__media,.project-stage.is-active .project-card--scroll-stage .project-card__body{will-change:transform,opacity}.project-stage__index{display:flex;align-items:baseline;gap:6px;margin:0 0 12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.project-stage__index-num{color:var(--accent)}.project-stage__index-sep{color:var(--text-dim)}.project-stage.is-active .project-stage__index-num{text-shadow:0 0 18px color-mix(in srgb,var(--accent) 45%,transparent)}@media(max-width:860px){.project-stage{min-height:0;padding:12px 0 28px}.project-stage__sticky{position:static;min-height:0;padding:0}.project-stage__panel,.project-stage.is-active .project-stage__panel,.project-stage.is-active .project-card--scroll-stage .project-card__media,.project-stage.is-active .project-card--scroll-stage .project-card__body{will-change:auto}.project-stage__index{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.project-stage{min-height:0;padding:16px 0 28px}.project-stage__sticky{position:static;min-height:0}.project-stage__panel,.project-stage.is-active .project-stage__panel,.project-stage.is-active .project-card--scroll-stage .project-card__media,.project-stage.is-active .project-card--scroll-stage .project-card__body{will-change:auto}}.projects{padding:var(--section-pad-y) 0 0;border-top:1px solid var(--border);position:relative;z-index:1}.projects__header{margin-bottom:8px}.projects__track{margin-top:12px;padding-bottom:48px}.projects__track .project-card-glow{margin:0}@media(max-width:860px){.projects{padding-bottom:24px}.projects__track{padding-bottom:16px}}.logoloop{position:relative;--logoloop-gap: 32px;--logoloop-logoHeight: 28px;--logoloop-fadeColorAuto: #080c10}.logoloop--vertical{height:100%;display:inline-block}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}.logoloop__track{display:flex;width:max-content;-webkit-user-select:none;user-select:none;position:relative;z-index:0}.logoloop.is-animating .logoloop__track{will-change:transform}.logoloop--vertical .logoloop__track{flex-direction:column;height:max-content;width:100%}.logoloop__list{display:flex;align-items:center}.logoloop--vertical .logoloop__list{flex-direction:column}.logoloop__item{flex:0 0 auto;margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);line-height:1;color:var(--text-muted)}.logoloop--vertical .logoloop__item{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop--vertical .logoloop__item:last-child{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__node{display:inline-flex;align-items:center;gap:.45em}.logoloop__label{font-family:var(--font-mono);font-size:.42em;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.logoloop__item img{height:var(--logoloop-logoHeight);width:auto;display:block;object-fit:contain;image-rendering:-webkit-optimize-contrast;-webkit-user-drag:none;pointer-events:none;transition:transform .16s var(--ease-out)}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__node{transition:transform .16s var(--ease-out),color .16s ease}@media(hover:hover)and (pointer:fine){.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{transform:scale(1.06);transform-origin:center center;color:var(--accent)}.logoloop--scale-hover .logoloop__item:hover .logoloop__label{color:var(--text)}}.logoloop__link{display:inline-flex;align-items:center;text-decoration:none;color:inherit;border-radius:var(--radius-hairline);transition:opacity .2s ease}.logoloop__link:hover{opacity:.9}.logoloop__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.logoloop--fade:before,.logoloop--fade:after{content:"";position:absolute;top:0;bottom:0;width:clamp(20px,6%,88px);pointer-events:none;z-index:10}.logoloop--fade:before{left:0;background:linear-gradient(to right,color-mix(in srgb,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 70%,transparent) 0%,transparent 100%)}.logoloop--fade:after{right:0;background:linear-gradient(to left,color-mix(in srgb,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 70%,transparent) 0%,transparent 100%)}.logoloop--vertical.logoloop--fade:before,.logoloop--vertical.logoloop--fade:after{left:0;right:0;width:100%;height:clamp(24px,8%,120px)}.logoloop--vertical.logoloop--fade:before{top:0;bottom:auto;background:linear-gradient(to bottom,color-mix(in srgb,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 70%,transparent) 0%,transparent 100%)}.logoloop--vertical.logoloop--fade:after{bottom:0;top:auto;background:linear-gradient(to top,color-mix(in srgb,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 70%,transparent) 0%,transparent 100%)}@media(prefers-reduced-motion:reduce){.logoloop__track{transform:translateZ(0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}.skills{position:relative;z-index:1;padding:var(--section-pad);border-top:1px solid var(--border)}.skills__lede{font-size:14px;color:var(--text-secondary);line-height:1.75;max-width:52ch;margin:-18px 0 28px;text-shadow:0 1px 12px color-mix(in srgb,var(--bg) 85%,transparent)}.skills__intro{position:relative;z-index:1}.skills__intro .section-title,.skills__intro .section-label{text-shadow:0 1px 18px color-mix(in srgb,var(--bg) 90%,transparent)}.skills__loop{position:relative;z-index:1;margin:0 0 40px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}@media(hover:hover)and (pointer:fine){.skills__loop .logoloop__item{transition:color .16s ease}.skills__loop .logoloop__item:hover .logoloop__node,.skills__loop .logoloop__item:hover .logoloop__label{color:var(--accent)}}.toolkit-gallery{position:relative;z-index:0;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,36px);align-items:center;padding:16px 0 12px}.toolkit-card-slot{transition:opacity .2s var(--ease-out)}.toolkit-card{--tilt: 0;--tilt-dim: 0;position:relative;isolation:isolate;aspect-ratio:4 / 5;min-height:320px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-strong);transform:rotate(calc(var(--tilt) * 1deg));transform-origin:50% 100%;cursor:default;outline:none;box-shadow:var(--shadow-sm);transition:transform .24s var(--ease-out),border-color .16s ease;contain:layout style}.toolkit-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(prefers-reduced-motion:no-preference){.toolkit-gallery.is-inview .toolkit-card{animation:toolkit-card-enter .22s var(--ease-out) backwards;animation-delay:var(--enter-delay, 0ms)}}@keyframes toolkit-card-enter{0%{opacity:0;transform:translateY(8px) rotate(calc(var(--tilt) * .35 * 1deg))}}@media(hover:hover)and (pointer:fine){.toolkit-gallery:has(.toolkit-card-slot:hover) .toolkit-card-slot:not(:hover){opacity:.4;pointer-events:none}.toolkit-gallery:has(.toolkit-card-slot:hover) .toolkit-card-slot:not(:hover) .toolkit-card{transform:rotate(calc(var(--tilt-dim) * 1deg))}.toolkit-card-slot:hover .toolkit-card{transform:translateY(-4px) rotate(0) scale(1.015);border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));z-index:3}.toolkit-card-slot:hover .toolkit-card--ember{border-color:color-mix(in srgb,var(--accent-2) 55%,var(--border-strong))}.toolkit-card-slot:hover .toolkit-card__items:before{opacity:1;transform:translate3d(70%,0,0);transition:transform .24s var(--ease-out),opacity .16s ease}.toolkit-card-slot:hover .toolkit-card__items li{transform:translate3d(0,-2px,0);transition-delay:calc(var(--scan-i, 0) * 30ms)}.toolkit-card-slot:hover .toolkit-card__items li:after{opacity:1;transform:scale(1);transition-delay:calc(var(--scan-i, 0) * 30ms)}}.toolkit-gallery:has(.toolkit-card-slot:focus-within) .toolkit-card-slot:not(:focus-within){opacity:.4;pointer-events:none}.toolkit-gallery:has(.toolkit-card-slot:focus-within) .toolkit-card-slot:not(:focus-within) .toolkit-card{transform:rotate(calc(var(--tilt-dim) * 1deg))}.toolkit-card-slot:focus-within .toolkit-card{transform:translateY(-4px) rotate(0) scale(1.015);border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));z-index:3}.toolkit-card-slot:focus-within .toolkit-card--ember{border-color:color-mix(in srgb,var(--accent-2) 55%,var(--border-strong))}.toolkit-card__visual{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center}.toolkit-card--cyan .toolkit-card__visual{background:radial-gradient(ellipse 80% 55% at 20% 15%,rgba(0,212,255,.28),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 80%,rgba(0,212,255,.1),transparent 50%),repeating-linear-gradient(-18deg,transparent,transparent 11px,rgba(0,212,255,.045) 11px,rgba(0,212,255,.045) 12px),linear-gradient(165deg,#0d1117,#111820 48%,#080c10)}.toolkit-card--slate .toolkit-card__visual{background:radial-gradient(ellipse 75% 50% at 70% 20%,rgba(166,179,191,.14),transparent 55%),radial-gradient(ellipse 60% 45% at 15% 85%,rgba(0,212,255,.08),transparent 50%),repeating-linear-gradient(90deg,transparent,transparent 18px,rgba(30,45,61,.55) 18px,rgba(30,45,61,.55) 19px),linear-gradient(155deg,#111820,#0d1117 55%,#080c10)}.toolkit-card--ember .toolkit-card__visual{background:radial-gradient(ellipse 80% 55% at 75% 18%,rgba(255,107,53,.22),transparent 55%),radial-gradient(ellipse 65% 45% at 20% 90%,rgba(255,107,53,.1),transparent 50%),repeating-linear-gradient(24deg,transparent,transparent 13px,rgba(255,107,53,.04) 13px,rgba(255,107,53,.04) 14px),linear-gradient(170deg,#111820,#0d1117,#080c10)}.toolkit-card__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent),color-mix(in srgb,var(--bg) 35%,transparent) 42%,color-mix(in srgb,var(--bg) 72%,transparent))}.toolkit-card__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:22px 18px 18px;box-sizing:border-box}.toolkit-card__eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0}.toolkit-card--ember .toolkit-card__eyebrow{color:var(--accent-2)}.toolkit-card__title{font-family:var(--font-display);font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--text);margin:0;max-width:12ch}.toolkit-card__items{position:relative;list-style:none;margin:0;padding:8px 6px;width:100%;overflow:visible;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:6px 8px}.toolkit-card__items:before{content:"";position:absolute;inset:-4px -8%;z-index:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 35%,color-mix(in srgb,var(--accent) 32%,transparent) 50%,transparent 65%);transform:translate3d(-70%,0,0);transition:transform .2s var(--ease-out),opacity .16s ease}.toolkit-card--ember .toolkit-card__items:before{background:linear-gradient(105deg,transparent 35%,color-mix(in srgb,var(--accent-2) 34%,transparent) 50%,transparent 65%)}.toolkit-card-slot:focus-within .toolkit-card__items:before{opacity:1;transform:translate3d(70%,0,0);transition:transform .24s var(--ease-out),opacity .16s ease}.toolkit-card__items li{position:relative;z-index:1;flex:0 0 auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--text-secondary);padding:4px 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 55%,transparent);transform:translateZ(0);transition:transform .2s var(--ease-out)}.toolkit-card__items li:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid var(--accent);opacity:0;transform:scale(.96);pointer-events:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.toolkit-card--ember .toolkit-card__items li:after{border-color:var(--accent-2)}.toolkit-card__chip-label{position:relative;z-index:1}.toolkit-card-slot:focus-within .toolkit-card__items li{transform:translate3d(0,-2px,0);transition-delay:calc(var(--scan-i, 0) * 30ms)}.toolkit-card-slot:focus-within .toolkit-card__items li:after{opacity:1;transform:scale(1);transition-delay:calc(var(--scan-i, 0) * 30ms)}.toolkit-card__footer{display:flex;flex-direction:column;gap:4px;margin:0;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.toolkit-card__hint{text-transform:none;letter-spacing:.02em;font-size:11px;color:var(--text-secondary);max-width:28ch;line-height:1.4}@media(max-width:960px){.toolkit-gallery{grid-template-columns:1fr;gap:20px;max-width:420px;margin:0 auto}.toolkit-card{aspect-ratio:5 / 4;min-height:280px}}@media(max-width:700px){.skills__lede{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){.toolkit-card{animation:none;transition:border-color .16s ease;transform:none}.toolkit-card-slot{transition:opacity .16s ease}.toolkit-gallery:has(.toolkit-card-slot:hover) .toolkit-card-slot:not(:hover) .toolkit-card,.toolkit-gallery:has(.toolkit-card-slot:focus-within) .toolkit-card-slot:not(:focus-within) .toolkit-card,.toolkit-card-slot:hover .toolkit-card,.toolkit-card-slot:focus-within .toolkit-card{transform:none}.toolkit-card__items:before,.toolkit-card__items li,.toolkit-card__items li:after{transition:none!important}.toolkit-card-slot:hover .toolkit-card__items li:after,.toolkit-card-slot:focus-within .toolkit-card__items li:after{opacity:.85;transform:none}}.contact{padding:var(--section-pad);border-top:1px solid var(--border)}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}.contact__intro{font-size:14px;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}.contact__note{font-size:14px;color:var(--text-secondary);line-height:1.75;margin-bottom:36px;padding-left:14px;border-left:2px solid var(--border-strong)}.contact__links{display:flex;flex-direction:column;gap:12px}.contact__link-glow{width:100%}.contact__link{display:flex;align-items:center;gap:16px;padding:16px 20px;background:transparent;border:none;border-radius:10px;text-decoration:none;transition:none}.contact__link:hover{text-decoration:none}.contact__link--info{background:var(--bg-card);border:1px solid var(--border-strong);cursor:default}.contact__link--info:hover{border-color:var(--border)}.contact__link-icon{width:36px;height:36px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--accent);flex-shrink:0;font-weight:700}.contact__link>div{display:flex;flex-direction:column;gap:2px}.contact__link-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.contact__link-value{font-size:14px;color:var(--text)}.contact__cta{min-width:0}.contact__cta-box{background:transparent;border:none;border-left:1px solid var(--border-strong);border-radius:0;padding:8px 0 8px 28px;position:relative;overflow:visible}.contact__cta-box:after{display:none}.contact__cta-heading{position:relative;z-index:1;font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--text);line-height:1.2;margin-bottom:14px}.contact__cta-copy{position:relative;z-index:1;font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:28px;max-width:32ch}.contact__cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative;z-index:1}.contact__cta-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:13px;font-weight:500;line-height:1;padding:0 28px;min-height:42px;border-radius:var(--radius);text-decoration:none;border:1px solid var(--accent);cursor:pointer;box-sizing:border-box;transition:transform .16s var(--ease-out),background-color .16s ease,color .16s ease,border-color .16s ease}.contact__cta-btn-label{display:block;transform:translateY(2px)}@supports (text-box: trim-both cap alphabetic){.contact__cta-btn-label{transform:none;text-box:trim-both cap alphabetic}}.contact__cta-btn:hover:not(.contact__cta-btn--ghost){text-decoration:none}.contact__cta-btn:active:not(:disabled){transform:scale(.97)}@media(hover:hover)and (pointer:fine){.contact__cta-btn:hover:not(.contact__cta-btn--ghost){transform:translateY(-2px)}.contact__cta-btn:hover:active:not(:disabled){transform:scale(.97)}}.contact__cta-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.contact__cta-btn--ghost{background:transparent;color:var(--text-muted);border-color:transparent;padding:6px 2px;min-height:0;font-size:12px;font-weight:400;box-shadow:none}.contact__cta-btn--ghost:hover{background:transparent;color:var(--accent);filter:none;box-shadow:none;text-decoration:underline;text-underline-offset:3px}.contact__cta-btn--ghost:hover:not(:active){transform:none}.contact__cta-btn--ghost:active:not(:disabled){transform:scale(.97)}@media(max-width:768px){.contact__grid{grid-template-columns:1fr}.contact__cta-box{border-left:none;border-top:1px solid var(--border-strong);padding:24px 0 0}}
