@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.inline-flex{display:inline-flex}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-transparent{border-color:#0000}.bg-clip-padding{background-clip:padding-box}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--ink:#1e1e20;--muted:#77777f;--blue:#0876e8;--line:#dedee3;--soft:#f7f7f9;--radius:28px}*{box-sizing:border-box}body{color:var(--ink);cursor:default;background:#fff;margin:0;font-family:Arial,Helvetica,sans-serif}a,button,.button,.project-visual{cursor:pointer}a{color:inherit;text-decoration:none}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #e2e2e6;border-radius:42px;justify-content:space-between;align-items:center;width:min(1600px,100% - 9vw);min-height:72px;margin:30px auto 0;padding:0 30px;display:flex;position:sticky;top:18px;box-shadow:0 16px 42px #22222c0f}.brand{letter-spacing:.2em;align-items:center;gap:15px;font-size:14px;display:flex}.brand span{background:var(--ink);color:#fff;letter-spacing:0;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.brand strong{font-size:13px}.site-header nav{color:#85858b;gap:36px;font-size:14px;font-weight:600;display:flex}.site-header nav a{transition:color .45s var(--ease-out),transform .55s var(--ease-out);display:inline-block;position:relative}.site-header nav a:after{content:"";background:var(--blue);opacity:0;width:0;height:1px;transition:width .55s var(--ease-out),opacity .35s ease,transform .55s var(--ease-out);position:absolute;bottom:-10px;left:50%;transform:translate(-50%)scaleX(.35)}.site-header nav a:hover{color:var(--blue);transform:translateY(-3px)}.site-header nav a:hover:after{opacity:1;width:125%;transform:translate(-50%)scaleX(1)}.cv-link,.repo-link{color:var(--blue)}.cv-link{letter-spacing:.12em;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.page-shell,.section-shell{width:min(1500px,100% - 16vw);margin-inline:auto}.hero{z-index:1;min-height:690px;padding-top:80px;position:relative;overflow:hidden}.eyebrow,.section-label,.experience-meta,.skill-footer,footer{letter-spacing:.2em;color:#85858d;font-family:monospace;font-size:12px}.eyebrow{align-items:center;gap:12px;display:flex}.status-dot,.strip-label i{background:#1bc486;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 8px #1bc4861a}.hero h1{letter-spacing:-.1em;margin:40px 0 34px;font-size:clamp(110px,17vw,240px);font-weight:800;line-height:.86;overflow:visible}.hero h1 span,h2 span{color:var(--blue)}.hero h1 b{color:var(--ink)}.hero-name .typing-line{white-space:nowrap;vertical-align:bottom;color:var(--ink);clip-path:inset(0 100% 0 0);will-change:clip-path;display:inline-block}.hero-name .typing-abin{animation:1.35s cubic-bezier(.4,0,.2,1) .2s forwards typing-reveal-abin}.hero-name .typing-davis{color:var(--blue);animation:1.6s cubic-bezier(.4,0,.2,1) 1.55s forwards typing-reveal-davis}.hero-name .typing-period{opacity:0;animation:.35s 3.15s forwards typing-period;display:inline-block;transform:translate(0)}@keyframes typing-reveal-abin{0%{clip-path:inset(0 100% -.08em 0)}to{clip-path:inset(0 -.08em -.08em 0)}}@keyframes typing-reveal-davis{0%{clip-path:inset(0 100% -.08em 0)}to{clip-path:inset(0 -.08em -.08em 0)}}@keyframes typing-period{to{opacity:1}}.intro h2,.section-heading h2,.skills-layout h2,.education-heading h2,.contact h2{clip-path:inset(0 100% 0 0);will-change:clip-path;animation:1.8s cubic-bezier(.4,0,.2,1) both heading-type-reveal;animation-timeline:view();animation-range:entry 50% cover 82%}.intro h2 span,.skills-layout h2 span,.education-heading h2 span,.contact h2 span{display:inline-block}.contact h2 span{animation:8s ease-in-out infinite contact-word-reveal}@keyframes heading-type-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -.08em 0 0)}}@keyframes contact-word-reveal{0%,to{opacity:1;transform:translate(0)}50%{opacity:.82;transform:translate(4px)}}.hero-copy{border-left:2px solid var(--blue);color:#55555d;margin:0;padding-left:34px;font-size:29px;line-height:1.7}.hero-actions{gap:14px;margin-top:42px;display:flex}.button{border-radius:40px;align-items:center;gap:16px;padding:18px 24px;font-size:14px;font-weight:700;transition:transform .3s,box-shadow .3s;display:flex}.button-dark{background:var(--ink);color:#fff}.button-light{border:1px solid var(--line)}main{isolation:isolate;position:relative}.stack-strip{border-block:1px solid var(--line);background:#fbfbfc;overflow:hidden}.strip-inner{align-items:center;width:min(1050px,100% - 16vw);min-height:110px;margin:auto;display:flex}.tech-marquee{white-space:nowrap;gap:14px;animation:34s linear infinite marquee;display:flex}.tech-marquee span{color:#4c9ed4;background:linear-gradient(145deg,#fff,#effaff);border:1px solid #e2e6ec;border-radius:18px;padding:16px 20px;font-size:13px}@keyframes marquee{to{transform:translate(-50%)}}.section-shell{z-index:1;padding-block:105px;position:relative}.section-label{align-items:center;gap:14px;display:flex}.section-label b{color:var(--blue);font-size:12px}.section-label i{background:#cfd0d5;width:50px;height:1px}.intro-content{margin-left:47%;position:relative}.context-logo-field{pointer-events:none;width:48%;height:100%;min-height:390px;margin:0;position:absolute;top:0;left:-58%;overflow:hidden}.context-logo{color:#0876e88c;background:#ffffffb8;border:1px solid #0876e81f;border-radius:16px;place-items:center;width:54px;height:54px;animation:12s ease-in-out infinite context-logo-drift;display:grid;position:absolute;box-shadow:0 14px 32px #0876e81a}.context-logo b{font:700 22px Arial}.context-logo-0{animation-delay:-1s;top:30%;left:8%}.context-logo-1{animation-delay:-4s;top:8%;left:25%}.context-logo-2{animation-delay:-7s;top:48%;left:43%}.context-logo-3{animation-delay:-2s;top:16%;right:28%}.context-logo-4{animation-delay:-6s;top:54%;right:10%}.context-logo-5{animation-delay:-9s;top:70%;left:64%}.context-logo-6{animation-delay:-3s;top:72%;right:44%}@keyframes context-logo-drift{0%,to{transform:translate(0)rotate(-4deg)}25%{transform:translate(24px,-14px)rotate(4deg)}50%{transform:translate(-12px,-28px)rotate(-2deg)}75%{transform:translate(-24px,10px)rotate(5deg)}}.intro-content{margin-left:47%}.intro h2,.section-heading h2,.skills-layout h2,.education h2{letter-spacing:-.065em;margin:0 0 50px;font-size:clamp(48px,6vw,88px);line-height:1.05}.intro-content>p{color:#707078;max-width:780px;font-size:24px;line-height:1.7}.principles{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:80px;display:grid}.principles>div{border-top:1px solid var(--line);padding-top:32px}.principles b,.education-grid b{color:var(--blue);font:12px monospace}.principles h3{margin:48px 0 16px;font-size:22px}.principles p{color:#888891;margin:0;line-height:1.6}.work-section{background:var(--soft);width:100%;max-width:none;padding:105px 7vw 95px}.section-heading>div{flex-direction:column;align-items:flex-start;margin:46px 0 55px;display:flex}.section-heading h2{margin:0;font-size:56px}.section-heading p{color:#85858d;max-width:420px;margin:18px 0 0;line-height:1.5}.work-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.work-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px;transition:transform .4s;box-shadow:0 18px 45px #16161d0a}.work-card:hover{transform:translateY(-8px)}.card-top{color:#898991;letter-spacing:.15em;justify-content:space-between;font:11px monospace;display:flex}.card-top em{border:1px solid var(--line);border-radius:20px;padding:8px 12px;font-size:9px;font-style:normal}.project-visual{cursor:pointer;border-radius:18px;place-items:center;height:215px;margin:20px 0 30px;text-decoration:none;display:grid;overflow:hidden}.project-image{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .7s var(--ease-out),filter .7s ease}.work-card:hover .project-image{filter:saturate(1.08);transform:scale(1.06)}.project-visual.blue{background:linear-gradient(135deg,#f0f8ff,#d5edff)}.project-visual.cream{background:linear-gradient(135deg,#fffaf1,#ffebc8)}.browser-window{background:#ffffffad;border-radius:12px;width:65%;height:62%;padding:17px;transform:rotate(-5deg);box-shadow:0 18px 30px #788da730}.browser-dots{gap:6px;display:flex}.browser-dots i{background:#ff6d62;border-radius:50%;width:5px;height:5px}.browser-dots i:nth-child(2){background:#ffc33d}.browser-dots i:nth-child(3){background:#1abb69}.browser-lines{margin-top:28px}.browser-lines b{background:#83baf0;border-radius:4px;height:4px;margin:6px 0;display:block}.browser-lines b:first-child{width:70%}.browser-lines b:nth-child(2){width:85%}.browser-lines b:nth-child(3){width:45%}.card-content{justify-content:space-between;gap:20px;display:flex}.card-content h3{margin:0 0 10px;font-size:24px}.card-content p{color:#7c7c84;max-width:470px;font-size:13px;line-height:1.5}.tag-row{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.tag-row span,.certs span{border:1px solid var(--line);color:#7a7a83;border-radius:20px;padding:8px 12px;font-size:10px}.github-button{background:var(--soft);border-radius:50%;place-items:center;min-width:38px;height:38px;margin-top:22px;display:grid}.repo-link{align-items:center;gap:8px;margin-top:28px;font-size:12px;font-weight:700;display:flex}.skills-layout,.education-heading{grid-template-columns:1fr 1.4fr;gap:80px;margin-top:50px;display:grid}.skills-layout h2{font-size:64px}.skills-layout>div>p,.education-heading>p{color:#8b8b93;max-width:360px;line-height:1.6}.skills-card{border:1px solid var(--line);border-radius:var(--radius);background:#fbfbfd;min-height:335px;padding:26px}.skill-tabs{border-bottom:1px solid var(--line);color:#888891;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:18px;font-size:12px;display:grid;position:relative}.skill-tabs button{z-index:1;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;margin:-9px 0;padding:9px 10px;transition:color .45s,transform .45s cubic-bezier(.22,1,.36,1);position:relative}.skill-tabs button:hover{transform:translateY(-1px)}.skill-tabs button.active{color:#fff}.skill-tab-indicator{z-index:0;background:var(--ink);width:25%;height:32px;transform:translateX(calc(var(--active-tab) * 100%));pointer-events:none;border-radius:20px;transition:transform .75s cubic-bezier(.22,1,.36,1);position:absolute;top:-9px;left:0}.skill-pills{will-change:transform,opacity;flex-wrap:wrap;gap:10px;padding:25px 0;animation:.72s cubic-bezier(.22,1,.36,1) both skills-pull-in;display:flex}.skill-pills span{border:1px solid var(--line);color:#676770;white-space:nowrap;border-radius:22px;align-items:center;gap:7px;padding:11px 14px;font-size:12px;line-height:1;display:inline-flex}.skill-pills svg{color:var(--blue);flex:none;margin:0;display:block}@keyframes skills-pull-in{0%{opacity:0;filter:blur(3px);transform:translate(24px)scale(.97)}65%{opacity:1;filter:blur();transform:translate(-3px)scale(1.005)}to{opacity:1;transform:translate(0)scale(1)}}.skill-footer{border-top:1px solid var(--line);justify-content:space-between;padding-top:20px;font-size:9px;display:flex}.experience{background:#fbfbfd;grid-template-columns:1fr 2fr;gap:80px;width:100%;max-width:none;padding-inline:8vw;display:grid}.experience-content{position:relative}.experience-meta{color:var(--blue);font-size:11px}.experience h2{letter-spacing:-.05em;clip-path:none;will-change:auto;margin:18px 0 22px;font-size:40px;animation:none}.recent{color:#888;font:10px monospace;position:absolute;top:52px;right:0}.experience ul{border-top:1px solid var(--line);color:#7a7a82;margin:0;padding:22px 0 0 20px;line-height:1.55}.experience li{padding:0 0 18px}.experience li::marker{color:var(--blue)}.education h2{font-size:54px}.education-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px;display:grid}.education-grid>div{border:1px solid var(--line);border-radius:var(--radius);opacity:0;background:#fbfbfd;min-height:210px;padding:30px 24px;animation:2.8s cubic-bezier(.16,1,.3,1) forwards education-materialize;animation-timeline:view();animation-range:entry cover 48%;position:relative;overflow:hidden;transform:translateY(28px)scale(.94)}.education-grid>div:nth-child(2),.education-grid>div:nth-child(2) *{opacity:1;filter:none;transform:none;animation:none!important}.degree-art{border-radius:inherit;opacity:.42;pointer-events:none;filter:saturate(.72)contrast(.96);background-color:#0000;background-image:linear-gradient(90deg,#fbfbfd 0%,#fbfbfdc7 16%,#fbfbfd38 52%,#fbfbfd05 100%),url(/graduation-background.png);background-position:72%;background-repeat:repeat,repeat;background-size:auto 150%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:0;transition:opacity .7s,filter .7s;position:absolute;inset:-10px -10px -10px 30%}.degree-card:hover .degree-art{opacity:.55;filter:saturate(.86)contrast()}.degree-card>b,.degree-card>h3,.degree-card>p{z-index:1;max-width:52%;position:relative}.course-card{position:relative;overflow:hidden}.course-art{opacity:.38;filter:saturate(.78)contrast(.97);pointer-events:none;transition:opacity .7s ease,transform .8s var(--ease-out);background-color:#0000;background-image:linear-gradient(90deg,#fbfbfd 0%,#fbfbfdc7 22%,#fbfbfd33 62%,#fbfbfd0a 100%),url(/mern-workspace.png);background-position:100%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0 0 0 48%}.course-card:hover .course-art{opacity:.54;transform:scale(1.025)}.course-card>b,.course-card>h3,.course-card>p{z-index:1;max-width:54%;position:relative}.education-grid h3{margin:42px 0 10px;font-size:20px}.education-grid p{color:#888891;margin:0}.certs{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.contact{background:var(--ink);color:#fff;border-radius:48px;max-width:1360px;padding:80px 68px}.contact .section-label{color:#aaa}.contact .section-label i{background:#777}.contact-inner{position:relative}.contact-grid{grid-template-columns:1fr 1fr;gap:70px;margin-top:28px;display:grid}.contact h2{letter-spacing:-.065em;margin:0;font-size:64px;line-height:1.02}.contact h2 span{color:#54cdf8}.contact-grid p{color:#aaa;max-width:440px;margin-top:35px;line-height:1.5}.contact-links{flex-direction:column;align-self:end;align-items:flex-start;gap:18px;display:flex}.contact-links a,.contact-links button{color:#ddd;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #555;align-items:center;gap:10px;width:100%;padding:0 0 14px;font:13px Arial;display:flex}.contact-links a svg:last-child{margin-left:auto}.contact-links button{border:1px solid #555;border-radius:24px;width:auto;padding:10px 16px}.contact-footer{color:#999;letter-spacing:.02em;border-top:1px solid #444;justify-content:space-between;align-items:center;gap:32px;margin-top:65px;padding-top:24px;font-size:11px;display:flex}.contact-footer span:last-child{white-space:nowrap;gap:24px;display:flex}.contact-footer a{letter-spacing:.02em;align-items:center;gap:5px;display:flex}footer{text-align:center;color:#aaa;padding:65px 0 25px;font-size:9px}@media (max-width:800px){.site-header{width:calc(100% - 28px);margin-top:12px;padding:0 16px;top:8px}.site-header nav{display:none}.brand{gap:9px;font-size:11px}.brand span{width:34px;height:34px}.page-shell,.section-shell{width:calc(100% - 40px)}.hero{min-height:650px;padding-top:75px}.hero h1{margin-top:45px;font-size:clamp(90px,26vw,170px)}.hero-copy{padding-left:20px;font-size:21px}.desktop-only{display:none}.float-mark{opacity:.6}.strip-inner{gap:25px;width:calc(100% - 40px);overflow:hidden}.strip-label{font-size:9px}.tech-marquee{gap:8px}.tech-marquee span{padding:11px;font-size:10px}.section-shell{padding-block:100px}.context-logo-field{width:100%;height:130px;min-height:0;margin:0 0 30px;position:relative;top:auto;left:auto}.intro-content{margin-top:45px;margin-left:0}.intro h2,.section-heading h2,.skills-layout h2,.education h2{font-size:46px}.intro-content>p{font-size:18px}.principles{grid-template-columns:1fr;gap:18px;margin-top:50px}.principles h3{margin-top:25px}.work-section{padding-inline:20px}.section-heading>div{margin-top:35px;display:block}.section-heading p{margin-top:20px}.work-grid,.skills-layout,.education-grid,.contact-grid{grid-template-columns:1fr}.work-card{padding:14px}.project-visual{height:180px}.skills-layout,.education-heading{gap:35px;margin-top:40px}.skills-card{padding:18px}.skill-tabs{gap:13px;font-size:10px}.experience{padding-inline:20px;display:block}.experience-content{min-height:215px;margin-top:45px}.experience-art{background-position:50%;height:215px}.recent{margin-bottom:20px;display:block;position:static}.education-heading{display:block}.education-heading>p{margin-top:24px}.contact{border-radius:30px;width:calc(100% - 20px);padding:45px 24px}.contact h2{font-size:48px}.contact-grid{gap:50px}.contact-footer{line-height:2;display:block}.contact-footer span:last-child{margin-top:15px}.degree-art{opacity:.32;background-position:72%;height:auto;inset:-8px -8px -8px 26%}.degree-card>b,.degree-card>h3,.degree-card>p{max-width:58%}.hero-actions{flex-wrap:wrap}.button{padding:15px 18px}}:root{--blue-glow:#0876e82e;--ease-out:cubic-bezier(.22,1,.36,1)}body{overflow-x:hidden}main:before{content:"";pointer-events:none;z-index:-2;background:radial-gradient(circle at 14% 18%,#0876e80b,#0000 25%),radial-gradient(circle at 82% 70%,#54cdf80b,#0000 28%);position:fixed;inset:0}.site-header{transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out), background .5s ease}.site-header:hover{background:#fffffff0;transform:translateY(-2px);box-shadow:0 22px 55px #22222c1a}.hero>:not(.floating-stack){animation:rise-in 1s var(--ease-out) both}.hero .eyebrow{animation-delay:80ms}.hero h1{animation-delay:.16s}.hero .hero-copy{animation-delay:.27s}.hero .hero-actions{animation-delay:.4s}.hero h1{text-shadow:0 0 #0000;transition:text-shadow .7s}.hero h1:hover{text-shadow:0 18px 42px var(--blue-glow)}.float-mark{will-change:transform;transition:box-shadow .5s,opacity .5s;animation-duration:6s}.mark-0{animation-name:drift-a}.mark-1{animation-name:drift-b}.mark-2{animation-name:drift-c}.mark-3{animation-name:drift-b}.mark-4{animation-name:drift-a}.mark-5{animation-name:drift-c}.float-mark:hover{opacity:1;box-shadow:0 26px 70px #56beeb57}.tech-marquee{will-change:transform}.tech-marquee span{transition:transform .35s var(--ease-out), background .35s ease, color .35s ease}.tech-marquee span:hover{color:var(--blue);background:#fff;transform:translateY(-6px)scale(1.04)}.section-label{animation:3s ease-in-out infinite label-pulse}.section-label i{transform-origin:0;animation:line-grow 2.5s var(--ease-out) infinite alternate}.eyebrow .status-dot{animation:2s ease-in-out infinite dot-ping}.button svg{transition:transform .4s var(--ease-out)}.button:hover svg{transform:translate(5px)translateY(-3px)}.repo-link{transition:transform .35s var(--ease-out)}.repo-link:hover{transform:translate(5px)}.intro-content,.skills-layout,.experience-content,.education-heading,.education-grid,.contact-grid{animation:section-rise 1s var(--ease-out) both}.intro-content{animation-delay:.1s}.skills-layout{animation-delay:.12s}.experience-content{animation-delay:.1s}.education-grid{animation-delay:.16s}.contact-grid{animation-delay:.1s}.principles>div,.education-grid>div{transition:transform .5s var(--ease-out), border-color .5s ease, box-shadow .5s ease}.principles>div:hover,.education-grid>div:hover{border-color:#b9dafa;transform:translateY(-8px);box-shadow:0 20px 45px #0876e814}.work-card{transform-style:preserve-3d;will-change:transform;transition:transform .65s var(--ease-out), box-shadow .65s var(--ease-out), border-color .4s ease;animation:project-in-left 4.8s var(--ease-out) both;animation-timeline:view();animation-range:entry cover 70%}.work-card:nth-child(2){animation-name:project-in-right;animation-delay:.7s}.tech-logo{align-items:center;gap:9px!important;padding:10px 15px!important;display:flex!important}.tech-logo b{width:24px;height:24px;color:var(--blue);background:#eef8ff;border-radius:8px;place-items:center;font-size:11px;font-style:normal;display:grid}.tech-logo em{font-style:normal}.logo-react b{color:#25b9ee}.logo-nodejs b{color:#5cb85c}.logo-mongodb b{color:#4ea94b}.logo-tailwind b{color:#16b8d4}.logo-express b{color:#222}.logo-typescript b{color:#3178c6}.logo-nextjs b,.logo-github b{color:#111}.work-card:hover{border-color:#c5dff5;transform:translateY(-12px)rotateX(1deg)rotateY(-1deg);box-shadow:0 28px 70px #1b263c21}.project-visual{isolation:isolate;position:relative}.project-visual:after{content:"";transition:transform .9s var(--ease-out);z-index:2;pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff94 50%,#0000 65%);position:absolute;inset:-30%;transform:translate(-80%)rotate(8deg)}.work-card:hover .project-visual:after{transform:translate(80%)rotate(8deg)}.browser-window{transition:transform .7s var(--ease-out), box-shadow .7s ease}.work-card:hover .browser-window{transform:rotate(-2deg)scale(1.06);box-shadow:0 26px 42px #4a6e9138}.skills-card{transition:transform .6s var(--ease-out), box-shadow .6s ease}.skills-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px #0876e814}.skill-pills span{transition:transform .3s var(--ease-out), border-color .3s ease, background .3s ease}.skill-pills span:hover{background:#fff;border-color:#a9d5f7;transform:translateY(-4px)}.contact{opacity:0;filter:blur(16px);animation:conversation-materialize 1.8s var(--ease-out) both;animation-timeline:view();animation-range:entry cover 34%;position:relative;overflow:hidden;transform:translateY(-90px)scale(.94)}.contact:before{content:"";filter:blur(12px);pointer-events:none;background:radial-gradient(circle,#0876e857,#0000 68%);border-radius:50%;width:420px;height:420px;animation:7s ease-in-out infinite orb-breathe;position:absolute;top:5%;right:7%}.contact-inner{z-index:1;position:relative}.contact h2 span{-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#54cdf8,#b0efff,#54cdf8) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite shine}@keyframes rise-in{0%{opacity:0;filter:blur(6px);transform:translateY(42px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes education-materialize{0%{opacity:0;filter:blur(8px);transform:translateY(28px)scale(.94)}55%{opacity:.72;filter:blur(2px);transform:translateY(7px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes conversation-materialize{0%{opacity:0;filter:blur(12px);transform:translateY(42px)scale(.98)}55%{opacity:.76;filter:blur(3px);transform:translateY(10px)scale(.992)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes project-in-left{0%{opacity:0;transform:translate(-90px)rotate(-2deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes project-in-right{0%{opacity:0;transform:translate(90px)rotate(2deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes drift-a{0%,to{transform:translate(0)rotate(-2deg)}50%{transform:translate(18px,-28px)rotate(7deg)}}@keyframes drift-b{0%,to{transform:translate(0)rotate(3deg)}50%{transform:translate(-20px,-18px)rotate(-6deg)}}@keyframes drift-c{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(12px,24px)rotate(8deg)}}@keyframes line-grow{0%{opacity:.45;transform:scaleX(.45)}to{opacity:1;transform:scaleX(1)}}@keyframes dot-ping{0%,to{box-shadow:0 0 0 7px #1bc4861a}50%{box-shadow:0 0 0 13px #1bc48605}}@keyframes section-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes label-pulse{0%,to{opacity:.76}50%{opacity:1}}@keyframes orb-breathe{0%,to{opacity:.55;transform:scale(.88)}50%{opacity:.9;transform:scale(1.12)}}@keyframes shine{to{background-position:200%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.float-mark,.tech-marquee,.contact:before,.contact h2 span,.hero>:not(.floating-stack),.intro-content,.skills-layout,.experience-content,.education-heading,.education-grid,.contact-grid{animation:none}.work-card,.button,.principles>div,.education-grid>div,.skills-card,.skill-pills span{transition:none}}html{scroll-behavior:smooth}button,a,.button,.work-card,.skills-card,.principles>div,.education-grid>div,.skill-pills span{backface-visibility:hidden;-webkit-font-smoothing:antialiased}.hero>:not(.floating-stack),.intro-content,.skills-layout,.experience-content,.education-heading,.education-grid,.contact-grid,.contact{will-change:opacity,transform;backface-visibility:hidden}.button{transition:transform .65s var(--ease-out),box-shadow .65s var(--ease-out),background-color .4s ease}.button:hover{transform:translateY(-5px);box-shadow:0 18px 34px #1e1e2029}.work-card:hover{transition-duration:1.2s;transform:translateY(-10px)rotateX(1deg)rotateY(-1deg)}.project-image{transition:transform 1s var(--ease-out),filter 1s ease}.skill-pills span:hover{transform:translateY(-5px)scale(1.015)}.context-logo{will-change:transform;animation-duration:16s;animation-timing-function:cubic-bezier(.37,0,.2,1)}.tech-marquee{animation-duration:42s;animation-timing-function:linear}.section-label{animation-duration:5s}.contact:before{animation-duration:10s}.contact h2 span{animation-duration:8s}.degree-card,.course-card{transition:transform 1s cubic-bezier(.22,1,.36,1),box-shadow 1s cubic-bezier(.22,1,.36,1),border-color .55s!important}.degree-card:hover,.course-card:hover{border-color:#0876e847;box-shadow:0 22px 42px #141e321f;transform:translateY(-8px)!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.context-logo{animation:none}.site-header nav a:hover{transform:none}.degree-card,.course-card{transition:none!important}.hero>:not(.floating-stack),.intro-content,.skills-layout,.experience-content,.education-heading,.education-grid,.contact-grid,.contact{will-change:auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
