:root{--bg:#0a0c10;--bg-elevated:#12151c;--bg-card:#12161ed9;--text-h:#f8fafc;--text:#cbd5e1;--text-soft:#94a3b8;--muted:#64748b;--border:#ffffff12;--border-strong:#ffffff1f;--panel:#12151ce0;--panel-strong:#1a1e28eb;--accent:#818cf8;--accent-muted:#818cf833;--focus-ring:#818cf8a6;--container-inline:clamp(1.125rem, 4vw, 1.75rem);--section-pad-y:clamp(4.25rem, 11vw, 7.25rem);--block-heading-gap:clamp(2.25rem, 5vw, 3.75rem);--ease-smooth:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--shadow:0 28px 70px #0000008c, inset 0 1px 0 #ffffff0a;--selection:#6366f173;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:clamp(20px,4vh,40px)}.portfolio-shell section.content-block[id],.portfolio-shell .hero-layout#about{scroll-margin-top:clamp(20px,4vh,40px)}body{min-width:320px;min-height:100vh;color:var(--text);background-color:var(--bg);margin:0;overflow-x:hidden}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}:focus:not(:focus-visible){outline:none}body,a,button{color:inherit}#root{min-height:100vh}::selection{background:var(--selection)}h1,h2,h3,p{margin:0}h1{color:var(--text-h);letter-spacing:-.045em;text-wrap:balance;margin-bottom:18px;font-size:clamp(2.75rem,6.5vw,5rem);line-height:1.02}h2{color:var(--text-h);letter-spacing:-.028em;z-index:10;text-wrap:balance;font-size:clamp(1.65rem,3.5vw,2.45rem);line-height:1.12;position:relative}h3{color:var(--text-h);letter-spacing:-.015em;margin-bottom:10px;font-size:1.2rem}p{font-size:1rem}.vertical-timeline *{box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;padding:2em 0;position:relative}.vertical-timeline:after{content:"";clear:both;display:table}.vertical-timeline:before{content:"";background:var(--line-color);width:4px;height:100%;position:absolute;top:0;left:18px}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (width>=1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{margin-left:-2px;left:50%}}.vertical-timeline-element{margin:2em 0;position:relative}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";clear:both;display:table}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (width>=1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{border-radius:50%;width:40px;height:40px;position:absolute;top:0;left:0}.vertical-timeline-element-icon.shadow-size-small{box-shadow:0 0 0 2px #fff,inset 0 1px #00000014,0 2px 0 4px #0000000d}.vertical-timeline-element-icon.shadow-size-medium{box-shadow:0 0 0 3px #fff,inset 0 2px #00000014,0 3px 0 5px #0000000d}.vertical-timeline-element-icon.shadow-size-large{box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 4px 0 6px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{width:24px;height:24px;margin-top:-12px;margin-left:-12px;display:block;position:relative;top:50%;left:50%}@media only screen and (width>=1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;margin-left:-30px;left:50%}}.vertical-timeline-element-icon{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0)}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;animation:.6s cd-bounce-1}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@-moz-keyframes cd-bounce-1{0%{opacity:0;-moz-transform:scale(.5)}60%{opacity:1;-moz-transform:scale(1.2)}to{-moz-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}.vertical-timeline-element-content{background:#fff;border-radius:.25em;margin-left:60px;padding:1em;position:relative;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{box-shadow:none;background:0 0}.vertical-timeline-element-content:after{content:"";clear:both;display:table}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;opacity:.7;padding:.8em 0}.vertical-timeline-element-content-arrow{content:"";border:7px solid #0000;border-right-color:#fff;width:0;height:0;position:absolute;top:16px;right:100%}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";top:16px;right:unset;border:7px solid #0000;border-left-color:#fff;width:0;height:0;position:absolute;left:100%}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{border-left:7px solid #fff;border-right:unset;left:100%}.vertical-timeline-element--no-children .vertical-timeline-element-content:before,.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (width>=768px){.vertical-timeline-element-content h2{font-size:1.25rem}.vertical-timeline-element-content p{font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:.875rem}}@media only screen and (width>=1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{width:44%;margin-left:0;padding:1.5em}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{width:100%;font-size:1rem;position:absolute;top:6px;left:124%}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{text-align:right;left:auto;right:124%}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;animation:.6s cd-bounce-2}@media only screen and (width>=1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{animation:.6s cd-bounce-2-inverse}}@media only screen and (width<=1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;animation:.6s cd-bounce-2-inverse}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translate(-100px)}60%{opacity:1;-webkit-transform:translate(20px)}to{-webkit-transform:translate(0)}}@-moz-keyframes cd-bounce-2{0%{opacity:0;-moz-transform:translate(-100px)}60%{opacity:1;-moz-transform:translate(20px)}to{-moz-transform:translate(0)}}@keyframes cd-bounce-2{0%{opacity:0;transform:translate(-100px)}60%{opacity:1;transform:translate(20px)}to{transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translate(100px)}60%{opacity:1;-webkit-transform:translate(-20px)}to{-webkit-transform:translate(0)}}@-moz-keyframes cd-bounce-2-inverse{0%{opacity:0;-moz-transform:translate(100px)}60%{opacity:1;-moz-transform:translate(-20px)}to{-moz-transform:translate(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;transform:translate(100px)}60%{opacity:1;transform:translate(-20px)}to{transform:translate(0)}}.portfolio-shell{width:min(1220px, calc(100% - 2 * var(--container-inline)));margin:0 auto;padding:clamp(24px,3vw,36px) 0 clamp(2rem,5vw,3.25rem)}.hero,.feature-band{z-index:1;margin-bottom:0;position:relative}.hero{flex-direction:column;min-height:0;padding-bottom:clamp(28px,5vh,56px);display:flex}.nav{justify-content:space-between;align-items:center;gap:24px;padding:clamp(12px,2vw,20px) 0 clamp(28px,4vw,44px);display:flex}.wordmark,.nav-links a,.primary-link,.secondary-link{text-decoration:none}.wordmark{color:var(--text-h);letter-spacing:-.02em;font-size:1.05rem;font-weight:600;transition:opacity .2s,transform .2s}.wordmark:hover{opacity:.7}.nav-links{flex-wrap:wrap;gap:clamp(10px,2.2vw,20px);display:flex}.nav-links a{color:var(--muted);text-transform:capitalize;letter-spacing:.01em;transition:color .22s var(--ease-smooth), transform .22s var(--ease-smooth);font-size:.94rem}.nav-links a:hover{color:var(--text-h)}.section-kicker{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px;font-size:.76rem;font-weight:600}.hero-layout{flex-direction:column;flex:0 auto;display:flex}@keyframes hero-intro-photo-in{0%{opacity:0;transform:scale(1.06)}to{opacity:var(--hero-photo-op);transform:scale(1)}}.hero-main{box-sizing:border-box;background:var(--panel-strong);border:1px solid var(--border-strong);width:100%;min-height:clamp(360px,52vmin,540px);box-shadow:var(--shadow);text-align:center;--hero-photo-op:.55;border-radius:32px;flex-direction:column;flex:0 auto;align-items:center;padding:clamp(3.25rem,7vw,4.75rem) clamp(1.75rem,5vw,3.75rem);display:flex;position:relative;overflow:hidden}.hero-main:after{content:"";opacity:var(--hero-photo-op);z-index:0;pointer-events:none;transform-origin:50%;background-image:url(/hero-intro.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.hero-main:after{opacity:0;animation:1.25s cubic-bezier(.22,1,.36,1) .28s forwards hero-intro-photo-in}}.hero-main:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(min(120%,92vw) min(100%,78vh) at 50% 48%,#1a1e28e6 0%,#1a1e288c 38%,#1a1e2847 58%,#1a1e281a 78%,#0000 96%),radial-gradient(circle at 50% 36%,#6366f124,#0000 42%),radial-gradient(circle at 16% 78%,#2dd4bf12,#0000 34%),radial-gradient(circle at 84% 78%,#10b98114,#0000 36%);position:absolute;inset:0}.hero-main>*{z-index:2;position:relative}.hero-main .hero-heading{max-width:min(26ch,100%);font-size:unset;letter-spacing:-.04em;flex-direction:column;align-items:center;gap:clamp(.65rem,2vw,.9rem);margin:0 0 clamp(1.25rem,3vw,1.75rem);font-weight:600;line-height:1.08;display:flex}.hero-heading-name{letter-spacing:-.045em;color:var(--text-h);font-size:clamp(2rem,5.2vw,2.85rem);font-weight:650;display:block}.hero-heading-tagline{letter-spacing:-.02em;max-width:36rem;color:var(--text-soft);font-size:clamp(.98rem,2.1vw,1.08rem);font-weight:500;line-height:1.45;display:block}.hero-text{max-width:38rem;color:var(--text-soft);margin-left:auto;margin-right:auto;font-size:clamp(1.05rem,2.2vw,1.14rem);line-height:1.75}.hero-about{flex-direction:column;align-items:center;width:100%;padding-bottom:0;display:flex}.hero-about .hero-text-follow{margin-top:1rem}.hero-cta-row{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:34rem;margin-top:clamp(1.35rem,3.5vw,1.85rem);display:flex}.hero-cta{letter-spacing:.02em;min-height:48px;color:var(--text-h);-webkit-backdrop-filter:blur(10px);background:#ffffff12;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font-size:.94rem;font-weight:600;text-decoration:none;transition:background .22s,border-color .22s,box-shadow .22s;display:inline-flex;box-shadow:0 10px 28px #00000059,inset 0 1px #ffffff0f}.hero-cta:hover{color:var(--text-h);background:#818cf824;border-color:#818cf859}.hero-actions{flex-wrap:wrap;gap:14px;margin:34px 0 48px;display:flex}.primary-link,.secondary-link{border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 20px;font-weight:600;transition:transform .22s,box-shadow .22s,background .22s;display:inline-flex}.primary-link{color:#0b0d12;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);box-shadow:0 12px 32px #0006}.secondary-link{color:var(--text-h);border:1px solid var(--border);background:#ffffff0f}.primary-link:hover,.secondary-link:hover,.skill-tab:hover,.editorial-card:hover,.timeline-row:hover,.education-card:hover,.contact-panel:hover{box-shadow:0 16px 40px #0006}.hero-side{box-shadow:none;background:0 0;border:0;align-content:start;gap:16px;display:grid}.hero-card{border-radius:28px;padding:30px}.hero-card h2{margin-bottom:16px}.hero-card p{color:var(--text-soft);line-height:1.75}.card-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-size:.74rem;font-weight:600;display:inline-block}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.metric{border-radius:24px;min-height:140px;padding:22px}.metric strong{color:var(--text-h);margin-bottom:12px;font-size:1.2rem;display:block}.metric span{color:var(--text-soft);line-height:1.6}.feature-band{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.feature-pill{color:var(--text);background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:18px;padding:18px 20px}.content-block{padding:var(--section-pad-y) 0;z-index:1;position:relative}.block-heading{max-width:56rem;margin-bottom:var(--block-heading-gap);text-align:center;z-index:10;margin-left:auto;margin-right:auto;position:relative}.intro-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:start;gap:28px;display:grid}.intro-main{gap:24px;display:grid}.large-copy{color:var(--text-soft);font-size:1.18rem;line-height:1.95}.art-panel{border:1px solid var(--border);min-height:360px;box-shadow:var(--shadow);background:radial-gradient(circle at 20% 20%,#60a5fa1f,#0000 24%),radial-gradient(circle at 78% 28%,#a78bfa24,#0000 28%),linear-gradient(135deg,#161a24f2,#0f121ae0);border-radius:30px;position:relative;overflow:hidden}.art-grid,.art-panel:before{content:"";position:absolute;inset:0}.art-grid{background-color:#0000;background-image:linear-gradient(#94a3b814 1px,#0000 1px),linear-gradient(90deg,#94a3b814 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;-webkit-mask-image:linear-gradient(#000000bf,#0000 92%);mask-image:linear-gradient(#000000bf,#0000 92%)}.art-panel:before{background:linear-gradient(120deg,#0000 34%,#ffffff0f 47%,#0000 60%);animation:10s linear infinite shimmer;transform:translate(-30%)}.system-node,.data-link,.signal-dot,.orbit-ring{position:absolute}.system-node{border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e2330bf;border-radius:26px;box-shadow:0 14px 34px #00000059}.node-core{background:radial-gradient(circle at 30% 30%,#ffffff14,#60a5fa38),#161a26e6;border-radius:32px;width:118px;height:118px;top:104px;left:50%;transform:translate(-50%)}.node-ml{width:124px;height:74px;top:54px;left:74px}.node-api{width:138px;height:84px;top:72px;right:78px}.node-data{width:156px;height:92px;bottom:68px;left:74px}.node-ui{width:142px;height:82px;bottom:86px;right:78px}.data-link{transform-origin:0;background:linear-gradient(90deg,#60a5fa00,#60a5fae6,#60a5fa00);border-radius:999px;height:2px}.link-one{width:170px;top:132px;left:186px;transform:rotate(16deg)}.link-two{background:linear-gradient(90deg,#a78bfa00,#a78bfae0,#a78bfa00);width:158px;top:154px;right:178px;transform:rotate(-20deg)}.link-three{background:linear-gradient(90deg,#7dd3fc00,#7dd3fceb,#7dd3fc00);width:194px;bottom:132px;left:216px;transform:rotate(-10deg)}.signal-dot{background:linear-gradient(135deg,#60a5fa,#a78bfa);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 6px #6366f140}.dot-one{top:126px;left:212px}.dot-two{top:165px;right:204px}.dot-three{bottom:142px;left:232px}.orbit-ring{border:1px solid #94a3b81f;border-radius:999px}.ring-one{width:224px;height:224px;top:34px;right:42px}.ring-two{width:180px;height:180px;bottom:22px;left:26px}.strength-grid,.education-list{gap:16px;display:grid}.skill-panel{min-height:280px}.editorial-card,.education-card,.contact-panel,.skill-panel{border-radius:26px;padding:28px}.editorial-index{color:#94a3b859;margin-bottom:14px;font-size:1.8rem;font-weight:700;display:inline-block}.editorial-card p,.skill-panel p,.timeline-row p,.education-card p,.contact-panel p{color:var(--text-soft);line-height:1.75}.split-heading{grid-template-columns:minmax(320px,1fr) auto;align-items:end;gap:24px;display:grid}.skills-heading-centered{text-align:center;margin-bottom:var(--block-heading-gap);flex-direction:column;align-items:center;gap:clamp(1.15rem,3vw,1.65rem);display:flex}.skills-block .block-heading{max-width:none}.split-heading>div:first-child{max-width:800px}.skill-tabs{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.skill-tab{appearance:none;border:1px solid var(--border);color:var(--text-soft);font:inherit;cursor:pointer;transition:transform .22s var(--ease-smooth), background .22s var(--ease-smooth), color .22s var(--ease-smooth), border-color .22s var(--ease-smooth), box-shadow .22s var(--ease-smooth);background:#ffffff0d;border-radius:999px;padding:10px 18px}.skill-tab.is-active{color:#f8fafc;background:linear-gradient(135deg,#4f46e5e6,#6366f1d9);border-color:#818cf859;box-shadow:0 8px 28px #4f46e540}.skill-panel-heading{flex-direction:column;gap:8px;margin-top:24px;margin-bottom:24px;display:flex}.panel-copy{max-width:80ch}.skill-chip-grid{flex-wrap:wrap;gap:12px;display:flex}.skill-chip{min-height:42px;color:var(--text-h);border:1px solid var(--border);background:#ffffff0f;border-radius:999px;align-items:center;padding:0 14px;display:inline-flex}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(1.25rem,3vw,2rem);margin-top:0;display:grid}.project-card{background:var(--panel-strong);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);transition:box-shadow .28s var(--ease-smooth), border-color .28s var(--ease-smooth);border-radius:26px;flex-direction:column;justify-content:space-between;height:100%;padding:clamp(1.5rem,3vw,2rem);display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000059}.project-watermark{color:#f8fafc09;z-index:0;pointer-events:none;font-size:160px;transition:color .25s;position:absolute;bottom:-20px;right:-20px;transform:none}.project-card:hover .project-watermark{color:#f8fafc0c}.project-spotlight{pointer-events:none;z-index:0;border-radius:28px;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.project-content,.project-tags{z-index:1;position:relative}.project-card:hover{border-color:var(--border-strong);box-shadow:0 14px 36px #00000061}.project-title{letter-spacing:-.02em;margin-top:12px;margin-bottom:16px;font-size:1.35rem}.project-description{color:var(--text-soft);font-size:.95rem;line-height:1.6}.education-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(1.25rem,3vw,2rem);margin-top:0;display:grid}.education-card{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);transition:box-shadow .28s var(--ease-smooth);background:linear-gradient(135deg,#161a24eb,#10131ce0);border-radius:28px;flex-direction:column;justify-content:center;padding:clamp(1.75rem,4vw,2.75rem);display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000059}.education-card:hover{box-shadow:0 14px 36px #00000061}.education-content{z-index:1;position:relative}.education-date{color:var(--muted);margin-bottom:12px;font-size:.95rem;font-weight:500;display:block}.education-degree{letter-spacing:-.02em;color:var(--text);margin-bottom:12px;font-size:1.6rem;line-height:1.3}.education-school{color:var(--text-soft);font-size:1.05rem;font-weight:500;line-height:1.6}.timeline-block--scroll .vertical-timeline:before{opacity:0!important;visibility:hidden!important}.timeline-sequential-wrap{width:100%;position:relative}.timeline-draw-lines{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.timeline-vertical-layer.vertical-timeline{z-index:1;position:relative}.vertical-timeline{max-width:1170px!important;margin:0 auto!important;padding:0!important}.vertical-timeline:before{background:linear-gradient(#0000,#94a3b82e 10% 90%,#0000)!important}.timeline-block--scroll .timeline-scroll-veil{will-change:opacity;width:100%}.timeline-row-veil{display:contents}.timeline-row-veil>.vertical-timeline-element{will-change:opacity}.timeline-block--scroll .vertical-timeline-element-icon .timeline-scroll-icon-inner{transform-origin:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.timeline-block--scroll .vertical-timeline-element-icon .timeline-scroll-icon-inner svg{margin:0;display:block;position:static;top:auto;left:auto}.vertical-timeline-element-content{cursor:default;text-align:center;transition:box-shadow .3s!important}.vertical-timeline-element:hover .vertical-timeline-element-content{box-shadow:0 16px 48px #0006!important}.vertical-timeline-element-date{display:none!important}.timeline-date-inside{margin-bottom:12px}.timeline-date-pill{color:var(--muted);white-space:nowrap;font-size:.95rem;font-weight:500;display:block}.abstract-card{color:#fff;text-align:center;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.abstract-card h3{z-index:2;font-size:1.4rem;line-height:1.5;position:relative}.abstract-glow{z-index:1;background:radial-gradient(circle,#3b82f64d 0%,#0000 60%);width:150%;height:150%;animation:6s ease-in-out infinite alternate pulse-glow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse-glow{0%{opacity:.5;transform:translate(-50%,-50%)scale(.8)}to{opacity:1;transform:translate(-50%,-50%)scale(1.1)}}.education-school{color:var(--muted);margin-bottom:12px;font-weight:500}.socials-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:24px;display:grid}.socials-block{padding-top:0;padding-bottom:clamp(1.25rem,3vw,2rem)}.social-icon-circle{background:var(--panel-strong);border:1px solid var(--border);width:64px;height:64px;color:var(--text-soft);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex;box-shadow:0 8px 28px #00000059}.social-icon-circle:hover{border-color:var(--border-strong);box-shadow:0 14px 36px #00000073}.github-circle,.linkedin-circle{color:#e2e8f0}.site-footer{text-align:center;z-index:1;padding:clamp(2rem,4.5vw,3rem) 0 clamp(1.5rem,4vw,2.5rem);position:relative;overflow:hidden}.footer-content{z-index:1;color:#fff;flex-direction:column;align-items:center;gap:1.125rem;display:flex;position:relative}.footer-logo{color:var(--text-h);margin-bottom:8px;font-size:2rem}.site-footer h2{letter-spacing:-.03em;color:#fff;margin:0;font-size:2.5rem}.site-footer p{color:#fff;margin:0;font-size:1.1rem}.site-footer .copyright{color:#fff;opacity:1;text-transform:uppercase;letter-spacing:.1em;margin-top:1.25rem;font-size:.9rem}.contact-panel{border:1px solid var(--border);text-align:center;background:linear-gradient(135deg,#161a24eb,#10131ce0);border-radius:32px;max-width:800px;margin:0 auto;padding:40px;box-shadow:0 20px 48px #0006}.contact-panel h2{margin-bottom:24px}.contact-panel p{color:var(--text-soft);margin-bottom:32px;font-size:1.1rem}.contact-stack{justify-content:center;display:flex}.contact-button-animated{color:#0b0d12;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-radius:999px;justify-content:center;align-items:center;padding:16px 32px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-flex;box-shadow:0 12px 32px #00000059}.contact-button-animated:hover{box-shadow:0 16px 40px #00000073}@media (width<=1024px){.portfolio-shell{width:min(100% - 2 * var(--container-inline), 1180px);padding-top:22px}.nav,.hero-layout,.intro-layout,.split-heading{grid-template-columns:1fr}.nav{align-items:flex-start}.split-heading>div:first-child{max-width:none}.feature-band,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-panel{position:static}}@media (width<=700px){.portfolio-shell{width:min(100% - 2 * var(--container-inline), 1180px);padding-bottom:clamp(2rem,10vw,4rem)}.hero-main,.hero-card,.metric,.editorial-card,.skill-panel,.timeline-item,.contact-panel{padding:22px}.hero-main{--hero-photo-op:.5;min-height:clamp(300px,72vh,560px)}.art-panel{min-height:280px}.node-ml,.node-api,.node-data,.node-ui{width:112px}.feature-band,.metrics-grid{grid-template-columns:1fr}.nav-links{gap:12px}.timeline-topline{flex-direction:column;align-items:flex-start}}@keyframes shimmer{0%{transform:translate(-38%)}to{transform:translate(135%)}}.floating-icon-card{-webkit-backdrop-filter:none;width:96px;height:96px;box-shadow:none;filter:drop-shadow(0 12px 24px #00000026);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,filter .3s;display:flex}.floating-icon-card svg{filter:drop-shadow(0 4px 12px #00000080);opacity:.85}.apple-skill-grid{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:0;display:flex}.apple-skill-card{background:var(--panel-strong);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);cursor:default;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:140px;padding:32px 24px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;box-shadow:0 12px 36px #00000059}.apple-skill-card:hover{box-shadow:0 22px 50px #00000073}.apple-skill-icon{width:64px;height:64px;color:var(--text-h);filter:drop-shadow(0 4px 16px #00000073);justify-content:center;align-items:center;display:flex}.apple-skill-name{color:var(--text-h);text-align:center;font-size:.95rem;font-weight:600}
