@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap";:root{--bg: #f8f9f9;--surface: rgba(255,255,255,.77);--line: rgba(55,86,92,.16);--text-strong: #263338;--text-muted: #576a71;--accent: #9ad9d0;--accent-strong: #4d858d;--accent-soft: rgba(154,217,208,.2);--ring: rgba(88,154,162,.46);--site-max: 76rem;--shell-gutter: 2.4rem;--space-1: .35rem;--space-2: .65rem;--space-3: .9rem;--space-4: 1.2rem;--space-5: 1.65rem;--space-6: 2.3rem;--space-7: 3rem;--space-8: 4.2rem;--space-9: 5.7rem;--title-size: clamp(2.2rem, 8vw, 6rem);--heading-size: clamp(1.35rem, 2.7vw, 2.15rem);--lead-size: clamp(1.08rem, 1.8vw, 1.38rem);--radius-sm: .8rem;--radius-md: 1.2rem;--radius-lg: 1.8rem;--curve-enter: cubic-bezier(.2,.84,.34,1)}:root[data-theme=dark]{--bg: #1b1f21;--surface: rgba(22,31,33,.72);--line: rgba(173,219,214,.2);--text-strong: #d6eeea;--text-muted: #a9c5c1;--accent: #b8f2e6;--accent-strong: #8fdbd0;--accent-soft: rgba(184,242,230,.18);--ring: rgba(184,242,230,.46)}:root[data-theme=light]{--bg: #f2f6f7;--surface: #ffffff;--line: rgba(29,58,64,.24);--text-strong: #122126;--text-muted: #38525a;--accent: #6bb7b1;--accent-strong: #2f767b;--accent-soft: rgba(107,183,177,.16);--ring: rgba(47,118,123,.34)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scroll-behavior:smooth;scroll-padding-top:5.2rem}body{background:var(--bg);color:var(--text-strong);font-family:Manrope,Segoe UI,sans-serif;line-height:1.6}.flow-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;filter:brightness(1.1) contrast(1.05)}.site-shell{position:relative;z-index:1}.site-main{width:min(var(--site-max),calc(100% - var(--shell-gutter)));margin:0 auto;padding:var(--space-8) 0 var(--space-9)}.top-nav{position:fixed;inset:0 0 auto;z-index:20;transition:all .26s var(--curve-enter);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transform-style:preserve-3d}.top-nav.top-nav-scrolled{border-bottom-color:var(--line);box-shadow:0 14px 24px #00000014;background:color-mix(in srgb,var(--bg) 95%,transparent);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}.top-nav-inner{width:min(var(--site-max),calc(100% - var(--shell-gutter)));margin:0 auto;min-height:4.3rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:.35rem 0}.brand-mark{border:0;padding:calc(var(--space-2) + .12rem) calc(var(--space-3) + .12rem);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--text-strong);font-family:Sora,Manrope,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:-.02em;cursor:pointer;transition:background-color .22s var(--curve-enter),color .22s var(--curve-enter),transform .22s var(--curve-enter);box-shadow:0 6px 12px color-mix(in srgb,var(--accent-soft) 18%,transparent)}.brand-mark:hover{color:var(--accent);transform:translateY(-2px)}.menu-desktop{display:none;align-items:center;gap:var(--space-6)}.menu-desktop a{text-decoration:none;font-size:.98rem;font-weight:600;color:var(--text-muted);position:relative;transition:color .22s var(--curve-enter),transform .22s var(--curve-enter);padding:.48rem .64rem;border-radius:.6rem}.menu-desktop a:focus,.menu-desktop a:hover{background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--text-strong)}.menu-desktop a:after{content:"";position:absolute;left:0;bottom:-.35rem;width:0%;height:2px;border-radius:999px;background:var(--accent);transition:width .22s var(--curve-enter)}.menu-desktop a:hover{color:var(--text-strong);transform:translateY(-1px)}.menu-desktop a:hover:after{width:100%}.top-actions{display:flex;align-items:center;gap:var(--space-2)}.theme-button,.menu-button{border:1px solid var(--line);background:var(--accent-soft);color:var(--text-strong);border-radius:.9rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;cursor:pointer;transition:transform .22s var(--curve-enter),border-color .22s var(--curve-enter),background-color .22s var(--curve-enter)}.theme-button:hover,.menu-button:hover{transform:translateY(-1px);border-color:var(--accent)}.theme-button svg{width:1.12rem;height:1.12rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.menu-button{display:grid;gap:.2rem;padding:.5rem}.menu-button span{display:block;width:1rem;height:1.6px;background:currentColor;border-radius:99px}.menu-mobile{overflow:hidden;max-height:0;opacity:0;transition:max-height .32s var(--curve-enter),opacity .22s var(--curve-enter);width:min(var(--site-max),calc(100% - var(--shell-gutter)));margin:0 auto;display:grid;padding:0 .25rem}.menu-mobile.open{max-height:min(75vh,30rem);opacity:1;padding-bottom:var(--space-4);overflow-y:auto}.menu-mobile a{text-decoration:none;color:var(--text-strong);font-size:1rem;font-weight:600;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);border-radius:var(--radius-sm);padding:.9rem 1rem;margin-top:.5rem}.hero-wrap{min-height:100vh;display:grid;place-items:center;position:relative;padding-top:4rem}.hero-orb{position:absolute;border-radius:999px;pointer-events:none;filter:blur(56px);opacity:.28;background:var(--accent);animation:drift 20s ease-in-out infinite}.hero-orb-a{width:20rem;height:20rem;top:16%;left:8%}.hero-orb-b{width:17rem;height:17rem;right:10%;bottom:14%;animation-duration:24s;animation-direction:reverse}.hero-content{width:min(66rem,100%);text-align:center;position:relative}.hero-greeting,.hero-role,.hero-copy,.hero-divider,.hero-cta-row{opacity:0;transform:translateY(18px);animation:rise-in .56s var(--curve-enter) forwards}.hero-greeting{color:color-mix(in srgb,var(--text-muted) 86%,transparent);letter-spacing:.04em;font-weight:600;font-size:1.05rem;animation-delay:.12s}.hero-title{margin:.6rem 0 0;font-family:Sora,Manrope,sans-serif;letter-spacing:-.03em;font-size:var(--title-size);line-height:1.02}.hero-title span{display:inline-block;opacity:0;transform:translateY(14px);animation:letter-in .43s var(--curve-enter) forwards}.hero-role{margin:1rem 0 0;color:color-mix(in srgb,var(--text-muted) 92%,transparent);font-weight:500;font-size:var(--lead-size);animation-delay:.54s}.hero-copy{margin:.85rem auto 0;max-width:52ch;color:color-mix(in srgb,var(--text-muted) 92%,transparent);font-size:1rem;animation-delay:.72s}.hero-divider{width:11rem;height:.24rem;border-radius:999px;margin:2.1rem auto 0;background:color-mix(in srgb,var(--accent) 74%,transparent);animation-delay:.88s}.hero-cta-row{margin-top:2rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.95rem;animation-delay:.98s}.cta-primary,.cta-secondary{text-decoration:none;border-radius:1rem;padding:.86rem 1.45rem;font-weight:600;transition:all .22s var(--curve-enter);position:relative;overflow:hidden;transform-style:preserve-3d}.cta-primary:before,.cta-secondary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.cta-primary:hover:before,.cta-secondary:hover:before{left:100%}.cta-primary{color:#0f1718;background:var(--accent);border:1px solid transparent;box-shadow:0 14px 24px color-mix(in srgb,var(--accent) 26%,transparent)}.cta-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 32px color-mix(in srgb,var(--accent) 35%,transparent)}.cta-secondary{border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text-strong);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cta-secondary:hover{transform:translateY(-3px) scale(1.02);border-color:var(--accent);box-shadow:0 14px 24px color-mix(in srgb,var(--accent) 20%,transparent)}.reveal-section{opacity:0;transform:translateY(50px);transition:opacity .8s ease-out,transform .8s ease-out}.reveal-section.visible{opacity:1;transform:translateY(0)}.about-section{padding:clamp(1.4rem,3.6vw,2.5rem) 0}.about-layout{width:min(70rem,100%);display:grid;gap:clamp(1.4rem,2.7vw,2.8rem)}.about-media{position:relative;border-radius:clamp(1.1rem,2.2vw,1.8rem);overflow:hidden;justify-self:start;width:fit-content;min-height:0;background:transparent;box-shadow:none}.about-profile-img{width:400px;height:480px;object-fit:cover;object-position:center top;border-radius:inherit;display:block;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line))}.about-media:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,color-mix(in srgb,var(--accent-soft) 58%,transparent),transparent 62%);pointer-events:none}.about-content{display:grid;align-content:center;gap:.78rem}.about-tag{margin:0;width:fit-content;padding:.36rem .76rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent)44%,var(--line));background:color-mix(in srgb,var(--accent-soft)72%,transparent);color:color-mix(in srgb,var(--accent-strong)75%,var(--text-strong));font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.42rem}.about-tag span{color:var(--accent-strong);font-size:.72rem}.about-heading{margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.55rem,4vw,2.85rem);line-height:1.04;letter-spacing:-.03em;color:var(--text-strong);max-width:12ch}.about-heading span{color:var(--accent-strong)}.about-copy{margin:0;max-width:60ch;font-size:clamp(1rem,1.55vw,1.18rem);line-height:1.75;color:var(--text-muted)}.about-stats{margin-top:.5rem;display:grid;gap:.7rem;grid-template-columns:repeat(3,minmax(0,1fr))}.about-stat-card{margin:0;border:1px solid color-mix(in srgb,var(--accent)30%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface)88%,transparent);padding:.84rem .8rem;text-align:center}.about-stat-value{margin:0;font-size:clamp(1.1rem,2.1vw,1.5rem);line-height:1;font-weight:800;letter-spacing:-.02em;color:var(--accent-strong)}.about-stat-label{margin:.35rem 0 0;font-size:.86rem;color:var(--text-muted)}.projects-section{padding:clamp(2.1rem,5vw,3.6rem) 0}.projects-shell{width:min(var(--site-max),100%);margin:0 auto}.projects-header{text-align:center;margin-bottom:1.6rem}.projects-header h2{margin:0;font-family:Sora,Manrope,sans-serif;letter-spacing:-.03em;line-height:1.05;font-size:clamp(2rem,5vw,3.7rem);color:var(--text-strong)}.projects-header p{margin:.65rem auto 0;max-width:52ch;color:color-mix(in srgb,var(--text-muted)80%,var(--text-strong));font-size:clamp(.96rem,1.45vw,1.08rem);line-height:1.5}.projects-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.project-showcase-card{position:relative;border-radius:1.35rem;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));background:linear-gradient(168deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface) 86%,transparent) 60%);padding:1.25rem 1.22rem 1.05rem;overflow:hidden;transition:transform .28s var(--curve-enter),box-shadow .28s var(--curve-enter),border-color .28s var(--curve-enter);transform-style:preserve-3d;will-change:transform;box-shadow:0 10px 20px color-mix(in srgb,rgba(0,0,0,.06) 80%,transparent),inset 0 1px color-mix(in srgb,rgba(255,255,255,.04) 80%,transparent)}.project-showcase-card:hover{transform:translateY(-8px) rotateX(1.2deg) rotateY(-1.2deg);box-shadow:0 22px 44px color-mix(in srgb,rgba(0,0,0,.12) 80%,transparent),inset 0 1px color-mix(in srgb,rgba(255,255,255,.06) 80%,transparent);border-color:var(--accent)}.project-showcase-card:before{content:"";position:absolute;top:-22%;right:-12%;width:56%;height:64%;border-radius:0 0 0 95%;background:color-mix(in srgb,var(--accent-soft) 62%,transparent);pointer-events:none;transition:transform .32s var(--curve-enter),opacity .32s var(--curve-enter);opacity:.6}.project-showcase-card:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 0%,color-mix(in srgb,var(--accent-soft) 22%,transparent) 50%,transparent 100%);transform:translate(-105%);pointer-events:none;transition:transform .65s var(--curve-enter)}.project-showcase-card:hover:before{transform:scale(1.04);opacity:.85}.project-showcase-card:hover:after{transform:translate(105%)}.project-showcase-card h3{margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.18rem,2.05vw,1.9rem);letter-spacing:-.02em;line-height:1.1;color:var(--text-strong);position:relative;z-index:1}.project-card-subtitle{margin:.5rem 0 0;color:color-mix(in srgb,var(--accent)72%,var(--text-strong));font-size:.88rem;font-weight:700;letter-spacing:.01em;line-height:1.3;position:relative;z-index:1}.project-card-description{margin:.58rem 0 0;color:color-mix(in srgb,var(--text-muted)90%,var(--text-strong));font-size:clamp(.94rem,1.05vw,1.03rem);line-height:1.5;position:relative;z-index:1}.project-highlights{margin:.6rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem;position:relative;z-index:1}.project-highlights li{margin:0;padding-left:.92rem;position:relative;color:color-mix(in srgb,var(--text-muted)88%,var(--text-strong));font-size:.89rem;line-height:1.42}.project-highlights li:before{content:"";position:absolute;left:0;top:.52em;width:.36rem;height:.36rem;border-radius:99px;background:color-mix(in srgb,var(--accent)78%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-soft)55%,transparent)}.project-tech-row{margin-top:.72rem;display:flex;flex-wrap:wrap;gap:.55rem;position:relative;z-index:1}.project-tech-row span{display:inline-flex;align-items:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent)40%,var(--line));background:color-mix(in srgb,var(--accent-soft)84%,transparent);color:var(--text-strong);font-size:.88rem;font-weight:650;line-height:1;padding:.4rem .68rem;transition:transform .2s var(--curve-enter),border-color .2s var(--curve-enter),background-color .2s var(--curve-enter)}.project-tech-row span:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent)65%,var(--line));background:color-mix(in srgb,var(--accent-soft)100%,transparent)}.project-action-row{margin-top:.82rem;border-top:1px solid color-mix(in srgb,var(--line)88%,var(--accent-soft));padding-top:.84rem;display:flex;align-items:center;gap:.85rem;position:relative;z-index:1}.project-action-row a{text-decoration:none;color:color-mix(in srgb,var(--accent-strong)80%,var(--text-strong));font-weight:700;font-size:1.02rem;transition:color .22s var(--curve-enter),transform .22s var(--curve-enter)}.project-action-row a:hover{color:var(--accent-strong);transform:translateY(-1px) scale(1.02)}.projects-footer{margin-top:1.25rem;display:flex;justify-content:center}.projects-footer a{text-decoration:none;padding:.78rem 1.32rem;border-radius:.95rem;border:1px solid color-mix(in srgb,var(--accent)52%,var(--line));background:color-mix(in srgb,var(--surface)84%,transparent);color:var(--text-strong);font-size:1.08rem;font-weight:700;transition:transform .22s var(--curve-enter),border-color .22s var(--curve-enter),box-shadow .22s var(--curve-enter)}.projects-footer a:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 22px color-mix(in srgb,var(--accent-soft)45%,transparent)}.skills-section{padding:clamp(2rem,4vw,3rem) 0}.skills-shell{width:min(var(--site-max),100%);margin:0 auto}.skills-header{text-align:center;margin-bottom:1.2rem}.skills-header h2{margin:0;font-family:Sora,Manrope,sans-serif;letter-spacing:-.03em;line-height:1.05;font-size:clamp(1.95rem,4.8vw,3.5rem);color:var(--text-strong)}.skills-header p{margin:.6rem auto 0;max-width:52ch;color:color-mix(in srgb,var(--text-muted)82%,var(--text-strong));font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.45}.skills-marquee{overflow:hidden;background:transparent;padding:.35rem 0;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}.skills-marquee-track{display:flex;width:max-content;animation:skills-marquee-scroll 48s linear infinite;will-change:transform}.skills-marquee-group{display:flex;align-items:center;gap:1rem;padding-right:1rem;flex:0 0 auto}.skill-pill{display:grid;place-items:center;min-width:clamp(9.4rem,13.5vw,11.6rem);min-height:clamp(6.1rem,8.2vw,7.6rem);padding:.95rem 1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--accent)38%,var(--line));background:color-mix(in srgb,var(--surface)88%,transparent);color:var(--text-strong);font-size:clamp(1.02rem,1.55vw,1.22rem);font-weight:700;line-height:1.24;letter-spacing:-.01em;text-align:center;white-space:normal;cursor:pointer;box-shadow:0 8px 18px color-mix(in srgb,var(--accent-soft)38%,transparent);transition:transform .22s var(--curve-enter),box-shadow .22s var(--curve-enter),border-color .22s var(--curve-enter),background-color .22s var(--curve-enter),opacity .22s var(--curve-enter)}.skills-marquee:hover .skills-marquee-track{animation-play-state:paused}.skills-marquee:hover .skill-pill{opacity:.78}.skill-pill:hover{opacity:1;transform:scale(1.035);border-color:color-mix(in srgb,var(--accent)62%,var(--line));background:color-mix(in srgb,var(--accent-soft)75%,var(--surface));box-shadow:0 14px 26px color-mix(in srgb,var(--accent-soft)58%,transparent)}.education-section{padding:clamp(2.4rem,5vw,4rem) 0;position:relative;scroll-margin-top:7rem}.education-shell{width:min(var(--site-max),100%);margin:0 auto}.education-header{text-align:center;max-width:42rem;margin:0 auto}.education-eyebrow{margin:0;text-transform:uppercase;letter-spacing:5px;font-size:11px;font-weight:600;color:color-mix(in srgb,var(--text-muted) 76%,transparent)}.education-header h2{margin:.5rem 0 0;font-family:Sora,Manrope,sans-serif;letter-spacing:-.03em;line-height:1.02;font-size:clamp(2rem,5.2vw,4rem);color:var(--text-strong)}.education-header-line{width:0;height:.2rem;margin:.72rem auto 0;border-radius:999px;background:linear-gradient(90deg,#0d9488,#5eead4)}.education-timeline{position:relative;display:grid;gap:2rem;margin-top:2.2rem;padding:.7rem 0 1rem}.education-spine{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%) scaleY(0);transform-origin:top;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--accent) 44%,transparent) 10%,color-mix(in srgb,var(--accent) 44%,transparent) 90%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--accent-soft) 65%,transparent);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}.education-item{display:grid;grid-template-columns:minmax(0,1fr) 4.6rem minmax(0,1fr);align-items:center;position:relative;min-height:11rem}.education-card-wrap{position:relative;width:min(100%,30rem);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transition-delay:var(--card-delay, 0s)}.education-card-wrap:after{content:"";position:absolute;top:50%;width:2.2rem;height:1px;transform:translateY(-50%);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 56%,transparent),transparent);opacity:.78}.education-item.is-left .education-card-wrap{grid-column:1 / 2;justify-self:end;transform:translate(-60px)}.education-item.is-left .education-card-wrap:after{right:-2.2rem}.education-item.is-right .education-card-wrap{grid-column:3 / 4;justify-self:start;transform:translate(60px)}.education-item.is-right .education-card-wrap:after{left:-2.2rem;transform:translateY(-50%) rotate(180deg)}.education-card{position:relative;overflow:visible;background:linear-gradient(150deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface) 82%,transparent));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:22px;padding:24px 24px 22px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 34px color-mix(in srgb,rgba(0,0,0,.2) 86%,transparent),inset 0 1px color-mix(in srgb,var(--accent-soft) 54%,transparent);transition:transform .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1)}.education-card:before{content:"";position:absolute;width:10rem;height:10rem;top:-4.6rem;right:-3rem;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 58%,transparent);filter:blur(18px);opacity:.68;pointer-events:none}.education-card>*{position:relative;z-index:1}.education-card:hover{transform:translateY(-7px) scale(1.01);border-color:color-mix(in srgb,var(--accent) 74%,var(--line));box-shadow:0 24px 40px color-mix(in srgb,rgba(0,0,0,.24) 88%,transparent),inset 0 1px color-mix(in srgb,var(--accent-soft) 62%,transparent)}.education-item.is-current .education-card{border:1px solid color-mix(in srgb,var(--accent) 74%,var(--line));box-shadow:0 0 32px color-mix(in srgb,var(--accent-soft) 68%,transparent),inset 0 0 22px color-mix(in srgb,var(--accent-soft) 45%,transparent)}.education-status-badge{position:absolute;top:-12px;right:16px;display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.26rem .7rem;border:1px solid color-mix(in srgb,var(--accent) 68%,var(--line));background:color-mix(in srgb,var(--surface) 96%,var(--bg));color:var(--accent-strong);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;z-index:3}.education-status-dot{width:.5rem;height:.5rem;border-radius:999px;background:#34d399;box-shadow:0 0 #34d3996b;animation:statusDotPulse 1.8s ease-in-out infinite}.education-card-top{display:flex;align-items:flex-start;gap:.82rem}.education-card-icon{width:1.85rem;height:1.85rem;border-radius:.62rem;display:grid;place-items:center;margin-top:.05rem;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));color:var(--accent-strong);flex-shrink:0}.education-card-icon svg{width:1.04rem;height:1.04rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.education-card-top h3{margin:0;font-size:clamp(1.42rem,1.35vw,1.62rem);font-weight:800;color:var(--text-strong);line-height:1.12;letter-spacing:-.02em}.education-item.is-current .education-card-top h3{color:var(--accent-strong)}.education-card-top p{margin:.3rem 0 0;font-size:.8rem;color:color-mix(in srgb,var(--text-muted) 78%,transparent);line-height:1.35}.education-school{margin:.9rem 0 0;display:flex;align-items:center;gap:.45rem;font-size:13px;font-weight:500;color:color-mix(in srgb,var(--text-muted) 88%,var(--text-strong))}.education-school-dot{width:.44rem;height:.44rem;border-radius:999px;background:var(--accent-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-soft) 66%,transparent)}.education-footer-row{margin-top:.95rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.education-year-pill{border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));background:color-mix(in srgb,var(--surface) 92%,transparent);color:color-mix(in srgb,var(--text-muted) 84%,var(--text-strong));font-size:11px;font-weight:600;letter-spacing:.03em;padding:.3rem .7rem;line-height:1}.education-score{font-size:16px;font-weight:800;line-height:1;color:var(--accent-strong)}.education-progress{margin-top:.95rem}.education-progress-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:color-mix(in srgb,var(--text-muted) 84%,var(--text-strong));margin-bottom:.32rem}.education-progress-track{width:100%;height:8px;border-radius:999px;background:color-mix(in srgb,var(--line) 75%,transparent);overflow:hidden}.education-progress-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#0d9488,#5eead4);box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent);transition:width 1.5s cubic-bezier(.22,1,.36,1),box-shadow 1.5s cubic-bezier(.22,1,.36,1)}.education-node-wrap{grid-column:2 / 3;justify-self:center;display:grid;place-items:center;z-index:2}.education-node{width:1.22rem;height:1.22rem;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 72%,transparent);border:2px solid color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft) 46%,transparent);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--card-delay, 0s)}.education-item.is-current .education-node{background:linear-gradient(135deg,#5eead4,#0d9488);border-color:color-mix(in srgb,var(--accent) 68%,var(--line))}.education-section:not(.visible) .education-header{opacity:0;transform:translateY(-20px)}.education-section:not(.visible) .education-spine{transform:translate(-50%) scaleY(0)}.education-section:not(.visible) .education-card-wrap{opacity:0}.education-section:not(.visible) .education-item.is-left .education-card-wrap{transform:translate(-60px)}.education-section:not(.visible) .education-item.is-right .education-card-wrap{transform:translate(60px)}.education-section:not(.visible) .education-node{opacity:0;transform:scale(.72)}.education-section.visible .education-header{animation:fadeDown .7s cubic-bezier(.22,1,.36,1) forwards}.education-section.visible .education-header-line{width:70px;transition:width .8s cubic-bezier(.22,1,.36,1) .1s}.education-section.visible .education-spine{transform:translate(-50%) scaleY(1)}.education-section.visible .education-card-wrap{opacity:1;transform:translate(0)}.education-section.visible .education-node{opacity:1;transform:scale(1)}.education-section.visible .education-item.is-current .education-node{animation:nodePulse 2.5s infinite}.education-section.visible .education-item.is-current .education-progress-fill{width:var(--progress-target, 25%);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 45%,transparent)}:root[data-theme=light] .education-card{box-shadow:0 16px 30px #0c1f231a,inset 0 1px #ffffff9e}:root[data-theme=light] .education-item.is-current .education-card{box-shadow:0 0 24px #2f767b29,inset 0 0 18px #6bb7b11f}:root[data-theme=light] .education-status-badge{background:#f6fbfb;color:#1d6663}:root[data-theme=light] .education-header-line{background:linear-gradient(90deg,#2f767b,#6bb7b1)}.contact-section{padding:clamp(1.2rem,3.2vw,2.4rem) 0 clamp(.8rem,2.2vw,1.4rem)}.contact-shell{position:relative;width:min(var(--site-max),100%);margin:0 auto;padding:clamp(1rem,2.4vw,1.8rem);background:transparent;box-shadow:none;overflow:visible}.contact-header,.contact-grid{position:relative;z-index:1}.contact-header{text-align:center;margin-bottom:clamp(1rem,2.6vw,1.8rem)}.contact-header h2{margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.7rem,3.8vw,2.8rem);line-height:1.05;letter-spacing:-.03em;color:var(--accent)}.contact-header-line{width:5.2rem;height:.2rem;margin:.55rem auto 0;border-radius:999px;background:color-mix(in srgb,var(--accent)80%,white 20%)}.contact-grid{display:grid;gap:clamp(1rem,2.6vw,2.8rem);grid-template-columns:1fr}.contact-left h3{margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.6rem,2.8vw,2.15rem);line-height:1.08;color:var(--text-strong);font-weight:800}.contact-left>p{margin:.65rem 0 0;max-width:42ch;color:var(--text-muted);font-size:clamp(.96rem,1.15vw,1.08rem)}.contact-info-list{margin-top:1.35rem;display:grid;gap:.75rem}.contact-info-card{display:flex;align-items:center;gap:.8rem;border:1px solid rgba(145,214,208,.2);border-radius:1.05rem;padding:.8rem .9rem;background:linear-gradient(100deg,#a0d8d117,#a0d8d112 52%,#a0d8d10d);box-shadow:inset 0 1px #ffffff0f}.contact-icon-box{width:2.9rem;height:2.9rem;border-radius:.72rem;display:grid;place-items:center;background:#97d9d233;border:1px solid rgba(151,217,210,.2)}.contact-icon-box svg{width:1.2rem;height:1.2rem;fill:none;stroke:color-mix(in srgb,var(--accent)86%,white 14%);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.contact-info-label{margin:0;color:color-mix(in srgb,var(--text-muted)78%,white 22%);font-size:.88rem}.contact-info-value{margin:.18rem 0 0;color:color-mix(in srgb,var(--accent)94%,white 6%);font-size:clamp(1.02rem,1.25vw,1.2rem);font-weight:700;line-height:1.15}.contact-social{margin-top:1.3rem}.contact-social p{margin:0 0 .8rem;font-size:.94rem;color:color-mix(in srgb,var(--text-muted)80%,white 20%)}.contact-social a{display:inline-grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:.7rem;background:#74b0a942;border:1px solid rgba(145,214,208,.24);transition:transform .22s var(--curve-enter),background-color .22s var(--curve-enter)}.contact-social a:hover{transform:translateY(-2px);background:#74b0a957}.contact-social a span{width:1rem;height:1rem;border-radius:99px;background:color-mix(in srgb,var(--accent)84%,white 16%)}.contact-form{display:grid;align-content:start;gap:.66rem}.contact-form label{color:color-mix(in srgb,var(--accent)88%,white 12%);font-size:.86rem;font-weight:700}.contact-form input,.contact-form textarea{width:100%;border-radius:.9rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text-strong);font-size:.98rem;padding:.84rem 1rem;font-family:inherit;outline:none;transition:border-color .22s var(--curve-enter),box-shadow .22s var(--curve-enter)}.contact-form textarea{resize:none;min-height:9rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}:root[data-theme=light] .contact-header h2,:root[data-theme=light] .contact-left h3,:root[data-theme=light] .contact-left>p{color:#000!important}.contact-form button{margin-top:.4rem;height:3.25rem;border-radius:.82rem;border:0;background:color-mix(in srgb,var(--accent)92%,white 8%);color:#56606b;font-size:clamp(1rem,1.15vw,1.2rem);font-weight:700;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:.62rem;cursor:pointer;transition:transform .22s var(--curve-enter),box-shadow .22s var(--curve-enter)}.contact-form button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #92d2ca26}.placeholder-section{min-height:55vh;display:grid;place-items:center;padding:var(--space-7) 0;position:relative}.placeholder-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(184,242,230,.03) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(154,217,208,.02)0%,transparent 50%);pointer-events:none}.placeholder-inner{width:min(70rem,100%);border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface)85%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:clamp(var(--space-6),4vw,var(--space-8));box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff0d,0 0 0 1px #b8f2e61a;position:relative;z-index:1}.placeholder-inner:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(184,242,230,.02) 0%,transparent 30%,rgba(154,217,208,.01) 70%,transparent 100%);pointer-events:none}.placeholder-label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--accent);font-weight:700}.placeholder-inner h2{margin:.8rem 0 0;font-family:Sora,Manrope,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.02em;color:var(--text-strong);line-height:1.1}.placeholder-inner p{margin:1.5rem 0 0;max-width:65ch;color:var(--text-muted);font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:400;line-height:1.8;text-align:left}.placeholder-inner p strong{color:var(--text-strong);font-weight:600}a:focus-visible,button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.site-footer{border-top:1px solid color-mix(in srgb,var(--line)86%,transparent);margin-top:2.2rem;padding:1.2rem 0 2.8rem;background:transparent}.site-footer-inner{width:min(var(--site-max),calc(100% - var(--shell-gutter)));margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:color-mix(in srgb,var(--text-muted)86%,var(--text-strong));font-size:.95rem}.site-footer .footer-copy{margin:0;color:var(--text-muted);font-weight:600}.site-footer .footer-made{margin:0;color:color-mix(in srgb,var(--text-muted)86%,var(--text-strong));font-size:.9rem}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;background:var(--accent);border:none;border-radius:50%;color:#0f1718;font-size:1.2rem;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s var(--curve-enter);z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px #0003;transform-style:preserve-3d}.scroll-to-top.visible{opacity:1;visibility:visible}.scroll-to-top:hover{transform:translateY(-3px) scale(1.1);box-shadow:0 12px 32px #0000004d}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-strong)}::selection{background:var(--accent);color:#0f1718}::-moz-selection{background:var(--accent);color:#0f1718}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,color-mix(in srgb,var(--surface)50%,var(--line)) 50%,var(--surface) 75%);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:var(--radius-sm)}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}a:hover,button:hover{transform:translateY(-1px);transition:all .2s var(--curve-enter)}.about-stat-card:hover,.contact-info-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #00000026;transition:all .2s var(--curve-enter)}.hero-title,.about-heading,.projects-header h2,.skills-header h2,.contact-header h2{text-shadow:0 2px 4px rgba(0,0,0,.1)}@keyframes drift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(26px,-14px,0) scale(1.08)}}@keyframes rise-in{to{opacity:1;transform:translateY(0)}}@keyframes letter-in{to{opacity:1;transform:translateY(0)}}@keyframes skills-marquee-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes nodePulse{0%,to{box-shadow:0 0 #5eead43d,0 0 18px #0d948859}50%{box-shadow:0 0 0 8px #5eead414,0 0 30px #5eead473}}@keyframes statusDotPulse{0%,to{box-shadow:0 0 #34d3996b}50%{box-shadow:0 0 0 7px #34d3990a}}@media(min-width:60rem){.menu-desktop{display:flex}.menu-button,.menu-mobile{display:none}.about-layout{grid-template-columns:minmax(18rem,.95fr) minmax(0,1fr);align-items:center}}@media(max-width:68rem){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){html,body{overflow-x:hidden}.about-section{overflow:hidden;padding:60px 20px;width:100%}.about-layout{display:flex;flex-direction:column;width:100%;max-width:100%}.about-media{width:fit-content;max-width:200px;margin:0 auto 24px;background:transparent;box-shadow:none;min-height:0}.about-media:after{display:none}.about-profile-img{width:100%;max-width:200px;height:auto;display:block;margin:0}.about-content{width:100%;max-width:100%}}@media(max-width:56rem){.education-spine{left:1rem;width:3px;transform:translate(-50%) scaleY(0);background:linear-gradient(to bottom,transparent,rgba(94,234,212,.72) 8%,rgba(94,234,212,.72) 92%,transparent);box-shadow:0 0 12px #5eead457}.education-section.visible .education-spine{transform:translate(-50%) scaleY(1)}.education-timeline{gap:1.15rem;margin-top:1.5rem}.education-item{grid-template-columns:2rem minmax(0,1fr);min-height:0}.education-card-wrap,.education-item.is-left .education-card-wrap,.education-item.is-right .education-card-wrap{grid-column:2 / 3;justify-self:stretch;width:100%}.education-card-wrap:after{display:none}.education-section:not(.visible) .education-item.is-left .education-card-wrap{transform:translate(-32px)}.education-section:not(.visible) .education-item.is-right .education-card-wrap{transform:translate(32px)}.education-section.visible .education-item.is-left .education-card-wrap,.education-section.visible .education-item.is-right .education-card-wrap{transform:translate(0)}.education-node-wrap{grid-column:1 / 2}.education-node{border-color:#5eead4b8;background:#5eead43d;box-shadow:0 0 0 2px #5eead429}.education-card{border-radius:18px;padding:.9rem .85rem .86rem}.education-card-top h3{font-size:1.04rem}.education-card-top p{font-size:.72rem}.education-school{font-size:11px}.education-year-pill{font-size:10px}.education-score{font-size:1.1rem}.education-status-badge{top:-10px;right:12px;font-size:.66rem}}@media(max-width:42rem){.site-main,.top-nav-inner,.menu-mobile{width:min(var(--site-max),calc(100% - 1.35rem))}.hero-copy{max-width:42ch}.about-heading{max-width:14ch}.about-stats,.projects-grid{grid-template-columns:1fr}.skills-marquee{mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent)}.project-card-description{min-height:0}.education-header h2{font-size:clamp(1.9rem,11vw,2.45rem)}.education-card{padding:.86rem .78rem .8rem}.education-card-top h3{font-size:.98rem}.education-card-top p{font-size:.7rem}.education-school{font-size:10px}.education-score,.contact-form button{font-size:1rem}}@media(min-width:70rem){.contact-grid{grid-template-columns:minmax(19rem,.9fr) minmax(0,1fr);align-items:start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skills-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.skills-marquee-track{animation:none;transform:none}.skills-marquee-group[aria-hidden=true]{display:none}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
