.slide-in-down.mui-enter{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translateY(-100%)}.slide-in-down.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-left.mui-enter{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translate(-100%)}.slide-in-left.mui-enter.mui-enter-active{transform:translate(0)}.slide-in-up.mui-enter{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translateY(100%)}.slide-in-up.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-right.mui-enter{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translate(100%)}.slide-in-right.mui-enter.mui-enter-active{transform:translate(0)}.slide-out-down.mui-leave{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translateY(0)}.slide-out-down.mui-leave.mui-leave-active{transform:translateY(100%)}.slide-out-right.mui-leave{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translate(0)}.slide-out-right.mui-leave.mui-leave-active{transform:translate(100%)}.slide-out-up.mui-leave{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translateY(0)}.slide-out-up.mui-leave.mui-leave-active{transform:translateY(-100%)}.slide-out-left.mui-leave{backface-visibility:hidden;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:translate(0)}.slide-out-left.mui-leave.mui-leave-active{transform:translate(-100%)}.fade-in.mui-enter{opacity:0;transition-property:opacity;transition-duration:.5s;transition-timing-function:linear}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{opacity:1;transition-property:opacity;transition-duration:.5s;transition-timing-function:linear}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{transform-origin:top;opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotateX(-90deg)}.hinge-in-from-top.mui-enter.mui-enter-active{opacity:1;transform:perspective(2000px)rotate(0)}.hinge-in-from-right.mui-enter{transform-origin:100%;opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotateY(-90deg)}.hinge-in-from-right.mui-enter.mui-enter-active{opacity:1;transform:perspective(2000px)rotate(0)}.hinge-in-from-bottom.mui-enter{transform-origin:bottom;opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotateX(90deg)}.hinge-in-from-bottom.mui-enter.mui-enter-active{opacity:1;transform:perspective(2000px)rotate(0)}.hinge-in-from-left.mui-enter{transform-origin:0;opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotateY(90deg)}.hinge-in-from-left.mui-enter.mui-enter-active{opacity:1;transform:perspective(2000px)rotate(0)}.hinge-in-from-middle-x.mui-enter{transform-origin:50%;opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotateX(-90deg)}.hinge-in-from-middle-x.mui-enter.mui-enter-active{opacity:1;transform:perspective(2000px)rotate(0)}.hinge-in-from-middle-y.mui-enter{transform-origin:50%;opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotateY(-90deg)}.hinge-in-from-middle-y.mui-enter.mui-enter-active{opacity:1;transform:perspective(2000px)rotate(0)}.hinge-out-from-top.mui-leave{transform-origin:top;opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotate(0)}.hinge-out-from-top.mui-leave.mui-leave-active{opacity:0;transform:perspective(2000px)rotateX(90deg)}.hinge-out-from-right.mui-leave{transform-origin:100%;opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotate(0)}.hinge-out-from-right.mui-leave.mui-leave-active{opacity:0;transform:perspective(2000px)rotateY(90deg)}.hinge-out-from-bottom.mui-leave{transform-origin:bottom;opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotate(0)}.hinge-out-from-bottom.mui-leave.mui-leave-active{opacity:0;transform:perspective(2000px)rotateX(-90deg)}.hinge-out-from-left.mui-leave{transform-origin:0;opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotate(0)}.hinge-out-from-left.mui-leave.mui-leave-active{opacity:0;transform:perspective(2000px)rotateY(-90deg)}.hinge-out-from-middle-x.mui-leave{transform-origin:50%;opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotate(0)}.hinge-out-from-middle-x.mui-leave.mui-leave-active{opacity:0;transform:perspective(2000px)rotateX(90deg)}.hinge-out-from-middle-y.mui-leave{transform-origin:50%;opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:perspective(2000px)rotate(0)}.hinge-out-from-middle-y.mui-leave.mui-leave-active{opacity:0;transform:perspective(2000px)rotateY(90deg)}.scale-in-up.mui-enter{opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:scale(.5)}.scale-in-up.mui-enter.mui-enter-active{opacity:1;transform:scale(1)}.scale-in-down.mui-enter{opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:scale(1.5)}.scale-in-down.mui-enter.mui-enter-active{opacity:1;transform:scale(1)}.scale-out-up.mui-leave{opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:scale(1)}.scale-out-up.mui-leave.mui-leave-active{opacity:0;transform:scale(1.5)}.scale-out-down.mui-leave{opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:scale(1)}.scale-out-down.mui-leave.mui-leave-active{opacity:0;transform:scale(.5)}.spin-in.mui-enter{opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:rotate(-.75turn)}.spin-in.mui-enter.mui-enter-active{opacity:1;transform:rotate(0)}.spin-out.mui-leave{opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:rotate(0)}.spin-out.mui-leave.mui-leave-active{opacity:0;transform:rotate(.75turn)}.spin-in-ccw.mui-enter{opacity:0;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:rotate(.75turn)}.spin-in-ccw.mui-enter.mui-enter-active{opacity:1;transform:rotate(0)}.spin-out-ccw.mui-leave{opacity:1;transition-property:transform,opacity;transition-duration:.5s;transition-timing-function:linear;transform:rotate(0)}.spin-out-ccw.mui-leave.mui-leave-active{opacity:0;transform:rotate(-.75turn)}.slow{transition-duration:.75s!important}.fast{transition-duration:.25s!important}.linear{transition-timing-function:linear!important}.ease{transition-timing-function:ease!important}.ease-in{transition-timing-function:ease-in!important}.ease-out{transition-timing-function:ease-out!important}.ease-in-out{transition-timing-function:ease-in-out!important}.bounce-in{transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{transition-delay:.3s!important}.long-delay{transition-delay:.7s!important}.shake{animation-name:shake-7}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{transform:translate(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{transform:translate(-7%)}}.spin-cw{animation-name:spin-cw-1turn}@keyframes spin-cw-1turn{0%{transform:rotate(-1turn)}to{transform:rotate(0)}}.spin-ccw{animation-name:spin-ccw-1turn}@keyframes spin-ccw-1turn{0%{transform:rotate(0)}to{transform:rotate(-1turn)}}.wiggle{animation-name:wiggle-7deg}@keyframes wiggle-7deg{40%,50%,60%{transform:rotate(7deg)}35%,45%,55%,65%{transform:rotate(-7deg)}0%,30%,70%,to{transform:rotate(0)}}.shake,.spin-cw,.spin-ccw,.wiggle{animation-duration:.5s}.infinite{animation-iteration-count:infinite}.slow{animation-duration:.75s!important}.fast{animation-duration:.25s!important}.linear{animation-timing-function:linear!important}.ease{animation-timing-function:ease!important}.ease-in{animation-timing-function:ease-in!important}.ease-out{animation-timing-function:ease-out!important}.ease-in-out{animation-timing-function:ease-in-out!important}.bounce-in{animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{animation-delay:.3s!important}.long-delay{animation-delay:.7s!important}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:100%}html,body{margin:0;padding:0}@media (width<=48rem){html{font-size:.9375rem}}@media (width>=768px){html{font-size:1rem}}body{color:var(--color-text);background:var(--color-bg);min-height:100vh;margin:0;font-family:Inter,ui-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;font-weight:400;line-height:1.7;overflow-x:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}img{max-width:100%;display:block}svg{display:block}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.15}p{margin:0}input,textarea{font:inherit}:root{--gap:1.5rem}.gap{--gap:1rem}.gap-sm{--gap:.75rem}.gap-lg{--gap:2rem}:root{--accent-1:#38bdf8;--accent-2:#3b82f6;--accent-3:#a78bfa;--accent-4:#f43f5e;--color-bg:#0b0f19;--color-surface:#0f172a99;--color-surface-2:#ffffff0a;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-border:#ffffff17;--color-border-soft:#ffffff0d}[data-theme=light]{--color-bg:#f0f4f8;--color-surface:#ffffffbf;--color-surface-2:#0000000a;--color-text:#0f172a;--color-text-muted:#475569;--color-border:#00000017;--color-border-soft:#0000000d;--color-ink:#0f172a}:root{--radius:1.125rem;--radius-full:9999px;--radius-sm:.5rem;--shadow:0 20px 40px #00000059;--shadow-card:0 8px 24px #0006, inset 0 1px 0 #ffffff0f;--transition:.35s cubic-bezier(.25, .1, .25, 1);--transition-fast:.18s cubic-bezier(.25, .1, .25, 1);--gradient-accent:linear-gradient(135deg, var(--accent-1), var(--accent-2), var(--accent-3));--gradient-surface:linear-gradient(160deg, #38bdf81a, #a78bff14)}body{background:radial-gradient(1200px 600px at 70% -10%, color-mix(in srgb, var(--accent-1) 30%, transparent 70%), transparent 60%), radial-gradient(1200px 700px at 20% 110%, color-mix(in srgb, var(--accent-3) 25%, transparent 75%), transparent 60%), var(--color-bg)}.surface{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.glass{background:color-mix(in srgb, var(--color-text) 4%, transparent);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-card)}[data-theme=light] .glass,[data-theme=light] .surface{background:color-mix(in srgb, var(--color-text) 4%, transparent);border-color:var(--color-border-soft);box-shadow:0 4px 16px #0000000f,inset 0 1px #fff9}.text-accent{color:var(--accent-2)}.text-muted{color:var(--color-text-muted)}.gradient-text{background:var(--gradient-accent);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.muted{color:var(--color-text-muted)}.small{font-size:.85em}.container{max-width:72rem;margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem)}.wrapper{max-width:76rem;margin:0 auto}.grid{gap:var(--gap);display:grid}.grid-2{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch;display:grid}.grid-3{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;display:grid}@media (width>=60rem){.grid-4{grid-template-columns:repeat(4,1fr)}}.section{border-bottom:1px solid var(--color-border);padding:clamp(4rem,8vw,6rem) 0;scroll-margin-top:4.25rem}.section:last-of-type{border-bottom:none}.section__header{margin-bottom:var(--gap)}.section__title{color:var(--color-text);padding-bottom:.5rem;font-size:clamp(1.75rem,3.5vw,2.4rem);display:inline-block;position:relative}.section__title:after{content:"";background:var(--gradient-accent);border-radius:2px;width:48px;height:3px;position:absolute;inset-block-end:0;inset-inline-start:0}.section__subtitle{color:var(--color-text-muted);max-width:42rem;margin-top:.6rem}.site-header{z-index:50;background:color-mix(in srgb, var(--color-bg) 60%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);position:sticky;inset-block-start:0}.nav{justify-content:space-between;align-items:center;height:4.25rem;display:flex}.nav__brand{color:var(--color-text);font-size:1.2rem;font-weight:700}.nav__brand .gradient-text{background:var(--gradient-accent)}.nav__list{align-items:center;gap:1.5rem;display:flex}.nav__link{color:var(--color-text-muted);transition:color var(--transition-fast);padding:.25rem 0;font-size:.9rem;font-weight:500;position:relative}.nav__link:hover,.nav__link--active{color:var(--accent-2)}.nav__link--active:after{content:"";inline-size:100%;background:var(--gradient-accent);height:2px;position:absolute;inset-block-end:-2px}.nav__toggle{background:var(--color-surface-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-text);transition:var(--transition);display:none}.nav__toggle:hover{background:var(--accent-2);color:#0f172a}.theme-toggle{background:var(--color-surface-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--color-text);transition:var(--transition);justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.theme-toggle:hover{background:var(--accent-2);color:#0f172a}@media (width<=48rem){.nav__toggle{justify-content:center;align-items:center;display:flex}.nav__list{background:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity var(--transition), transform var(--transition), visibility var(--transition);flex-direction:column;gap:2.5rem;margin:0;position:fixed;inset:0;transform:translateY(-.5rem)}.nav__list.open{opacity:1;visibility:visible;transform:translateY(0)}}.hero{align-items:center;min-height:70vh;display:flex;position:relative}.hero:before{content:"";background:var(--gradient-surface);opacity:.6;pointer-events:none;position:absolute;inset:0}.hero__canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero__content{z-index:2;position:relative}.hero__photo{object-fit:cover;border:3px solid color-mix(in srgb, var(--accent-2) 40%, transparent);width:9rem;height:9rem;box-shadow:0 0 0 6px color-mix(in srgb, var(--accent-2) 10%, transparent);border-radius:9999px;margin:0 auto;display:block}.hero__name{text-align:center;margin-bottom:.75rem;font-size:clamp(1.6rem,4vw,2.6rem)}.hero__title{text-align:center;color:var(--color-text-muted);min-height:2.2em;font-size:clamp(1.1rem,2.5vw,1.4rem)}.hero__tagline{text-align:center;max-width:40rem;color:var(--color-text-muted);margin:1rem auto 2rem}.hero__contact{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1.5rem 0;display:flex}.hero__badge{border-radius:var(--radius-full);background:var(--color-surface-2);border:1px solid var(--color-border);margin:1.5rem auto 0;padding:.4rem 1rem;font-size:.8rem;display:inline-block}.contact-link{border-radius:var(--radius-full);background:var(--color-surface-2);border:1px solid var(--color-border);width:2.75rem;height:2.75rem;color:var(--color-text);transition:var(--transition);justify-content:center;align-items:center;display:inline-flex}.contact-link:hover{background:var(--gradient-accent);color:#0f172a;transform:translateY(-3px)}.contact-list{flex-wrap:wrap;gap:.75rem;display:flex}.tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted);padding:.2rem .7rem;font-size:.78rem;font-weight:600}.tag--accent{background:color-mix(in srgb, var(--accent-2) 18%, transparent);border-color:color-mix(in srgb, var(--accent-2) 35%, transparent);color:var(--accent-1)}.tag--pill{border-radius:var(--radius-full)}.timeline,.academic-list{margin:0;padding:0;list-style:none;position:relative}.timeline:before,.academic-list:before{content:"";background:var(--color-border);block-size:100%;inline-size:2px;position:absolute;inset-block:0;inset-inline-start:1.5rem}.timeline__item,.academic-item{margin-bottom:var(--gap);padding-inline-start:3rem;position:relative}.timeline__dot,.academic__dot{background:var(--gradient-accent);width:.9rem;height:.9rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-bg) 80%, transparent);border:2px solid var(--color-border);border-radius:50%;position:absolute;inset-block-start:.3rem;inset-inline-start:.75rem}.timeline__node,.academic__body{padding:1.1rem 1.25rem}.timeline__row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.timeline__company{color:var(--accent-3);font-weight:600}.timeline__role{color:var(--color-text);margin:.2rem 0 0;font-size:1rem;font-weight:600}.timeline__period{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.timeline__tags{margin-top:.6rem}.academic-item{padding-inline-start:3rem}.academic__title{margin:.25rem 0 .15rem;font-size:1.1rem}@media (width<=48rem){.timeline__item,.academic-item{padding-inline-start:2rem}.timeline:before,.academic-list:before{inset-inline-start:1rem}.timeline__dot,.academic__dot{inset-inline-start:.4rem}}.card{border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface) 60%, transparent);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);flex-direction:column;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s,border-color .4s;display:flex;overflow:hidden}.card:hover{box-shadow:0 32px 64px #00000080, 0 0 30px color-mix(in srgb, var(--accent-2) 20%, transparent);border-color:color-mix(in srgb, var(--accent-2) 60%, transparent);transform:translateY(-8px)scale(1.02)}.card__media{position:relative;overflow:hidden}.card__img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.card__overlay{opacity:0;transition:opacity var(--transition);background:linear-gradient(#0000000d,#0000008c);flex-direction:column;justify-content:flex-end;padding:1.25rem;display:flex;position:absolute;inset:0}.card:hover .card__overlay{opacity:1}.card__body{flex-direction:column;flex-grow:1;padding:1.25rem;display:flex}.card__role{color:var(--accent-2);font-size:.85rem;font-weight:600}.card__title{margin-bottom:.3rem;font-size:1.15rem}.card__links{gap:.5rem;margin-top:auto;display:flex}.card__link{border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);transition:var(--transition);justify-content:center;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.card__link:hover{background:var(--accent-2);color:#0f172a}.tag-list{margin:.5rem 0}.contact-card{padding:1.75rem}.contact-row{align-items:center;gap:.75rem;display:flex}.contact-row .contact-link{width:2.25rem;height:2.25rem;font-size:1.05rem}.form-grid{gap:1rem;display:grid}@media (width>=48rem){.form-grid{grid-template-columns:1fr 1fr}}.form-field{flex-direction:column;gap:.35rem;display:flex}.form-field label{color:var(--color-text-muted);font-size:.8rem}.form-control{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-text) 4%, transparent);border:1px solid var(--color-border);width:100%;color:var(--color-text);transition:var(--transition);outline:none;padding:.7rem .9rem}.form-control:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-2) 25%, transparent)}textarea.form-control{resize:vertical;min-height:150px}.site-footer{border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 70%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2rem 0 1.5rem;position:relative}.footer__grid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.back-to-top{background:var(--gradient-accent);color:#0f172a;opacity:0;visibility:hidden;pointer-events:none;width:3rem;height:3rem;transition:opacity var(--transition), transform var(--transition);z-index:50;border-radius:50%;justify-content:center;align-items:center;position:fixed;inset-block-end:1.25rem;inset-inline-end:1.25rem;transform:translateY(24px)}.back-to-top.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.back-to-top:focus-visible{outline-offset:2px;outline:2px solid #fff}@media print{.site-header,.theme-toggle,.back-to-top,.contact-form,.hero__badge,.hero__canvas,.no-print{display:none!important}body{color:#111;background:#fff}.glass,.surface{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:none!important}}.btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);transition:var(--transition);justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000059}.btn:active{transform:translateY(0)}.btn--accent{background:var(--gradient-accent);color:#0b0f19;border-color:#0000}.btn--accent:hover{box-shadow:0 12px 28px color-mix(in srgb, var(--accent-2) 35%, transparent)}.btn--ghost{color:var(--color-text);background:0 0}.btn--ghost:hover{background:var(--color-surface-2)}.btn--wide{width:100%}.badge{border-radius:var(--radius-full);letter-spacing:.04em;background:color-mix(in srgb, var(--accent-2) 15%, transparent);color:var(--accent-1);border:1px solid color-mix(in srgb, var(--accent-2) 35%, transparent);padding:.15rem .7rem;font-size:.75rem;font-weight:700;display:inline-block}.node{fill:var(--accent-1);opacity:.55}.link{stroke:var(--accent-2);stroke-opacity:.18}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.divider{background:var(--color-border);height:1px}.m-0{margin:0}.text-center{text-align:center}.hero__cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.lead{color:var(--color-text);font-size:1.05rem;line-height:1.75}.stat-card{border-radius:var(--radius);background:color-mix(in srgb, var(--color-text) 3%, transparent);border:1px solid var(--color-border);transition:transform var(--transition), box-shadow var(--transition);padding:1.25rem}.stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000059}.stat-card .muted{font-size:.8rem}.skill-grid{margin-top:var(--gap);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start;gap:1.5rem;display:grid}.skill__label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:700}.footer__brand .muted{font-size:.85rem}.footer__links{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.footer__links .contact-link{width:2.1rem;height:2.1rem;font-size:1rem}.btn--small{padding:.38rem .8rem;font-size:.78rem}.icon{flex-shrink:0;width:1em;height:1em}svg.icon{width:1em;height:1em}.contact-link{font-size:1.1rem}.contact-link svg{width:1.1rem;height:1.1rem}.toast{border-radius:var(--radius-full);background:color-mix(in srgb, var(--accent-2) 25%, transparent);border:1px solid color-mix(in srgb, var(--accent-2) 45%, transparent);color:var(--accent-1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:60;opacity:0;visibility:hidden;padding:.7rem 1.1rem;font-size:.9rem;font-weight:600;position:fixed;inset-block-end:2rem;inset-inline-start:50%;transform:translate(-50%)}.custom-cursor{background-color:var(--accent-1);pointer-events:none;z-index:9999;mix-blend-mode:difference;will-change:transform;border-radius:50%;width:24px;height:24px;transition:width .3s,height .3s,background-color .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor.hovering{background-color:var(--accent-3);width:60px;height:60px}@media (hover:hover) and (pointer:fine){body,a,button,.btn,input,textarea{cursor:none}}.tracing-beam-container{z-index:100;pointer-events:none;width:100%;height:4px;position:fixed;top:0;left:0}.tracing-beam{background:var(--gradient-accent);transform-origin:0;width:100%;height:100%;transform:scaleX(0)}.contact-info-link{color:inherit;transition:color var(--transition);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.contact-info-link:hover{color:var(--accent)}@keyframes blob{0%,to{transform:translate(0)scale(1)}25%{transform:translate(4px,-6px)scale(1.04)}50%{transform:translate(-3px,5px)scale(.98)}75%{transform:translate(5px,4px)scale(1.02)}}@keyframes hueShift{0%{filter:hue-rotate()saturate(1.1)}50%{filter:hue-rotate(25deg)saturate(1.25)}to{filter:hue-rotate()saturate(1.1)}}@keyframes spin{to{transform:rotate(360deg)}}.hero__blob{will-change:transform, filter;animation:16s ease-in-out infinite blob,20s linear infinite hueShift}.hero__photo{border:3px solid color-mix(in srgb, var(--accent-2) 40%, transparent);box-shadow:0 0 0 6px color-mix(in srgb, var(--accent-2) 10%, transparent)}img.lazyload{opacity:0}img.lazyloaded{opacity:1;transition:opacity .45s}
