@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@400;500;600;700&display=swap";:root{--background:#08090d;--surface:#15161c;--surface-soft:#101116;--navbar:#101112;--border:#292a35;--primary:#8338ec;--primary-dark:#6420d5;--primary-light:#c6a4ff;--text-primary:#f5f5f7;--text-secondary:#a7a7b0;--text-muted:#747580;--container:1728px;--radius:18px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--background);color:var(--text-primary);min-width:320px;min-height:100vh;font-family:Manrope,sans-serif;line-height:1.6}h1,h2,h3{font-family:DM Serif Display,serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;display:block}ul{list-style:none}.page{width:min(var(--container), calc(100% - 10vw));min-height:calc(100vh - 154px);margin:0 auto;padding:64px 0 72px}.eyebrow{color:var(--primary-light);letter-spacing:.02em;text-transform:uppercase;font-size:13px;font-weight:700}.accent{color:var(--primary)}.display-title{letter-spacing:-.02em;max-width:760px;margin-top:18px;font-size:clamp(46px,5vw,70px);font-weight:400;line-height:1.02}.lead{color:var(--text-secondary);font-size:19px;line-height:1.65}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform .25s,border-color .25s,box-shadow .25s}.panel:hover{border-color:#8338ec94;transform:translateY(-3px);box-shadow:0 16px 42px #00000038,0 0 0 1px #8338ec14}.button{border:1px solid var(--primary);min-height:52px;color:var(--text-primary);background-color:var(--surface);border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:0 20px;font-weight:700;transition:transform .2s,background-color .2s;display:inline-flex}.button:hover{background:#8338ec1f;transform:translateY(-2px);box-shadow:0 10px 26px #8338ec2e}@media (prefers-reduced-motion:reduce){.panel,.button{transition:none}.panel:hover,.button:hover{transform:none}}.button-primary{background:var(--primary)}.button-primary:hover{background:var(--primary-dark)}.download-icon{transform:translateY(-3.05px)scale(1.24)}@media (width<=760px){.page{width:min(100% - 40px, var(--container));padding:44px 0 56px}.display-title{font-size:clamp(42px,14vw,62px)}.lead{font-size:17px}}@media (width<=420px){.page{width:min(100% - 40px, var(--container));padding-top:36px}.display-title{overflow-wrap:anywhere;font-size:clamp(38px,13vw,52px)}}.header{background-color:var(--navbar);border-bottom:1px solid var(--border);z-index:50;width:100%;height:90px;position:sticky;top:0}.navbar{width:min(var(--container), calc(100% - 8vw));justify-content:space-between;align-items:center;gap:40px;height:100%;margin:0 auto;display:flex}.logo{color:var(--text-primary);flex:none;font-family:DM Serif Display,serif;font-size:34px;text-decoration:none}.logo span{color:var(--primary)}.nav-list a{color:var(--text-primary);padding:30px 0 27px;transition:color .2s;display:block;position:relative}.nav-list{align-items:center;gap:clamp(24px,3vw,48px);display:flex}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--primary)}.nav-list a[aria-current=page]:after{background-color:var(--primary);content:"";height:2px;position:absolute;bottom:23px;left:0;right:0}.nav-toggle{display:none}@media (width<=820px){.header{height:72px}.navbar{width:100%;padding:0 20px;display:flex;position:relative}.logo{margin:0}.nav-toggle{border:1px solid var(--border);width:46px;height:46px;color:var(--text-primary);background:var(--surface);border-radius:12px;place-content:center;gap:5px;padding:0;transition:border-color .2s,background-color .2s;display:grid}.nav-toggle:hover,.nav-toggle:focus-visible{border-color:var(--primary);background:#8338ec1f;outline:none}.nav-toggle span{background:currentColor;border-radius:99px;width:22px;height:2px;transition:transform .22s,opacity .22s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-list{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;background:#101112fa;border-radius:16px;gap:2px;padding:10px;transition:opacity .22s,visibility .22s,transform .22s;display:grid;position:absolute;top:72px;left:12px;right:12px;transform:translateY(-10px);box-shadow:0 20px 50px #0000006b}.nav-list--open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav-list a{border-radius:10px;padding:11px 14px}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--primary-light);background:#8338ec1f}.nav-list a[aria-current=page]:after{border-radius:99px;width:3px;height:auto;inset:11px auto 11px 0}}@media (width<=420px){.navbar{padding-inline:16px}.logo{font-size:30px}.nav-list{font-size:14px}}@media (prefers-reduced-motion:reduce){.nav-toggle span,.nav-list{transition:none}}.footer{background:var(--navbar);min-height:72px;color:var(--text-muted);border-top:1px solid #14151b;justify-content:center;align-items:center;padding:20px 5vw;font-size:12px;display:flex;position:relative}.footer-links{align-items:center;gap:18px;font-size:20px;font-weight:700;display:flex;position:absolute;right:5vw}.footer-links a:hover{color:var(--primary-light)}@media (width<=620px){.footer{text-align:center;flex-direction:column;gap:10px;padding:18px}.footer-links{position:static}}.icon{width:var(--icon-size,20px);height:var(--icon-size,20px);flex:0 0 var(--icon-size,20px);-webkit-mask:var(--icon-url) center / contain no-repeat;-webkit-mask:var(--icon-url) center / contain no-repeat;mask:var(--icon-url) center / contain no-repeat;background-color:currentColor;display:inline-block}.home-page{min-height:calc(100vh - 162px)}.home-hero{width:min(var(--container), calc(100% - 10vw));grid-template-columns:minmax(480px,.95fr) 1.05fr;align-items:center;gap:64px;min-height:630px;margin:0 auto;display:grid}.availability{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface-soft);border-radius:999px;align-items:center;gap:10px;padding:6px 14px;font-size:13px;transition:border-color .25s,box-shadow .25s,transform .25s;display:inline-flex}.availability:hover{border-color:#8338ecb3;transform:translateY(-2px);box-shadow:0 0 24px #8338ec26}.availability i{background:var(--primary);border-radius:50%;width:9px;height:9px}.hero-copy h1{margin-top:34px;font-size:clamp(56px,5.3vw,82px);font-weight:400;line-height:.98}.hero-copy h2{margin-top:18px;font-family:Manrope,sans-serif;font-size:clamp(28px,2.6vw,39px)}.hero-copy>p{max-width:720px;color:var(--text-secondary);margin-top:18px;font-size:20px;line-height:1.62}.hero-actions,.hero-socials{flex-wrap:wrap;gap:18px;margin-top:26px;display:flex}.hero-actions .button>.icon{--icon-size:20px}.hero-socials{gap:30px}.button-secunday img{transform:translateY(-2px)}.hero-socials a{align-items:center;gap:9px;transition:color .2s,transform .2s;display:flex}.hero-socials .icon{--icon-size:22px}.hero-socials a:hover{color:var(--primary-light);transform:translateY(-2px)}.hero-visual{place-items:center;min-height:520px;display:grid;position:relative}.portrait-orbit{aspect-ratio:1;background:radial-gradient(circle,#8338ec3d,#0000 65%);border:1px solid #38215b;border-radius:50%;place-items:center;width:min(470px,78%);transition:border-color .3s,box-shadow .3s,transform .3s;display:grid;position:relative;box-shadow:inset 0 0 0 42px #1e133959}.portrait-orbit:hover{border-color:#8338eccc;transform:translateY(-4px);box-shadow:inset 0 0 0 42px #1e133959,0 0 48px #8338ec33}.portrait-orbit:before,.portrait-orbit:after{content:"";border:1px solid #5d2d9d;border-radius:50%;position:absolute}.portrait-orbit:before{inset:52px}.portrait-orbit:after{background:linear-gradient(145deg,#3b1f62,#15101f);inset:105px}.portrait-orbit>img{z-index:1;width:94%;transition:transform .3s;position:relative;transform:translate(-3%,1%)}.portrait-orbit:hover>img{transform:translate(-3%,-1%)scale(1.015)}.floating-skills{z-index:2;cursor:pointer;gap:10px;display:grid;position:absolute;right:0}.floating-skills div{transition:transform .25s,border-color .25s,box-shadow .25s,background-color .25s}.floating-skills div:hover{background:#1d1b27;border-color:#8338ecb8;transform:translate(-5px)translateY(-2px);box-shadow:0 12px 30px #00000040,0 0 22px #8338ec24}.floating-skills>div{border:1px solid var(--border);background:#15161cf5;border-radius:10px;align-items:center;gap:14px;width:310px;padding:13px 16px;display:flex}.floating-skills .skill-visual-icon{--icon-size:23px;color:var(--primary)}.floating-skills span{display:grid}.floating-skills strong{font-size:14px}.floating-skills small{color:var(--text-muted);font-size:11px}.home-about{border-top:1px solid var(--border);padding:64px max(5vw, calc((100% - var(--container))/2));grid-template-columns:1.15fr 1fr;gap:80px;display:grid}.home-about h2{margin-top:18px;font-size:34px;font-weight:400}.home-about p:not(.eyebrow){color:var(--text-secondary)}.home-about a{color:var(--primary);border-bottom:1px solid var(--primary);align-items:center;gap:10px;margin-top:12px;display:inline-flex}.home-about a .icon{--icon-size:18px;background-color:var(--primary)}@media (width<=1280px){.home-hero{grid-template-columns:minmax(420px,.95fr) 1.05fr;gap:32px}.floating-skills>div{width:275px}}@media (width<=1050px){.home-hero{grid-template-columns:1fr;padding:64px 0}.hero-visual{min-height:460px}.portrait-orbit{width:min(440px,70vw)}.floating-skills{right:max(2vw,50% - 330px)}}@media (width<=700px){.home-hero{width:calc(100% - 40px);min-height:auto}.hero-copy h1{font-size:clamp(48px,14vw,64px)}.hero-copy>p{font-size:17px}.hero-visual{align-items:start;min-height:500px}.portrait-orbit{width:330px;max-width:100%}.floating-skills{bottom:0;right:50%;transform:translate(50%)}.floating-skills>div{width:min(310px,100vw - 48px)}.home-about{grid-template-columns:1fr;gap:28px;padding-inline:18px}}@media (prefers-reduced-motion:reduce){.availability,.hero-socials a,.portrait-orbit,.portrait-orbit>img,.floating-skills div{transition:none}.availability:hover,.hero-socials a:hover,.portrait-orbit:hover,.portrait-orbit:hover>img,.floating-skills div:hover{transform:none}}@media (width<=420px){.home-hero{gap:28px;width:calc(100% - 40px);padding:46px 0}.hero-copy h1{margin-top:26px;font-size:46px}.hero-copy h2{font-size:25px;line-height:1.2}.hero-actions{grid-template-columns:1fr;display:grid}.hero-actions .button{width:100%}.hero-socials{gap:18px;font-size:14px}.hero-visual{min-height:460px}.portrait-orbit{width:min(310px,88vw)}.floating-skills>div{width:min(290px,100vw - 36px);padding:11px 14px}}.about-grid{grid-template-columns:1.45fr .72fr 1fr;align-items:start;gap:22px;display:grid}.about-copy>p:not(.eyebrow){color:var(--text-secondary);width:min(694px,100%);margin-top:30px;font-size:18px;line-height:32px}.about-card,.education-card{padding:30px}.about-card:hover .about-asset-icon,.education-card>div:hover .about-asset-icon{filter:drop-shadow(0 0 10px #8338ec47);transform:translateY(-3px)scale(1.05)}.display-title{font-size:62px}.about-card h2,.education-card h2,.about-bottom h2{margin-top:8px;font-size:26px;font-weight:400;line-height:1.15}.dot-list{color:var(--text-secondary);gap:20px;margin-top:26px;display:grid}.dot-list li:before{content:"";background:var(--primary);border-radius:50%;width:8px;height:8px;margin-right:14px;display:inline-block}.about-middle{gap:16px;display:grid}.language-card{position:relative}.language-card>p:not(.eyebrow){color:var(--text-secondary)}.language-card>.about-asset-icon{position:absolute;bottom:30px;right:30px}.about-middle{padding:20px}.education-card>div{grid-template-columns:66px 1fr;gap:16px;padding:22px 0;transition:transform .22s;display:grid}.education-card>div:hover{transform:translate(5px)}.education-card>div+div{border-top:1px solid var(--border)}.about-asset-icon{object-fit:contain;width:58px;height:58px;transition:transform .22s,filter .22s}.education-card small{color:var(--primary);text-transform:uppercase}.education-card p:not(.eyebrow){color:#9c67eb}.about-bottom{border-top:1px solid var(--border);grid-template-columns:1fr 1.4fr;gap:70px;margin-top:16px;padding-top:26px;display:grid}.about-bottom>div+div{border-left:1px solid var(--border);padding-left:38px}.about-bottom>div>p:last-child{color:var(--text-secondary);margin-top:14px}.about-bottom ul{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.about-bottom li{text-align:center;background-color:var(--surface);border:1px solid #59308d;border-radius:999px;padding:8px 14px;font-size:14px;transition:transform .22s,border-color .22s,color .22s,box-shadow .22s}.about-bottom li:hover{border-color:var(--primary-light);color:var(--text-primary);transform:translateY(-3px);box-shadow:0 8px 22px #8338ec29}@media (prefers-reduced-motion:reduce){.about-asset-icon,.education-card>div,.about-bottom li{transition:none}.about-card:hover .about-asset-icon,.education-card>div:hover,.education-card>div:hover .about-asset-icon,.about-bottom li:hover{transform:none}}@media (width<=1150px){.about-grid{grid-template-columns:1.2fr 1fr}.education-card{grid-column:1/-1}}@media (width<=900px){.about-grid{grid-template-columns:1fr}.about-middle{grid-template-columns:repeat(2,minmax(0,1fr))}.education-card{grid-column:auto}.about-bottom{grid-template-columns:1fr;gap:28px}.about-bottom>div+div{border-top:1px solid var(--border);border-left:0;padding:28px 0 0}}@media (width<=760px){.about-grid,.about-bottom{grid-template-columns:1fr}.about-bottom>div+div{border-left:0;padding-left:0}.about-bottom ul{grid-template-columns:1fr}.about-copy>p:not(.eyebrow){margin-top:22px;font-size:16px;line-height:1.7}.about-middle{grid-template-columns:1fr}.about-card,.education-card{padding:24px 20px}.education-card>div{grid-template-columns:54px minmax(0,1fr);gap:12px}.about-asset-icon{width:50px;height:50px}}@media (width<=420px){.about-card h2,.education-card h2,.about-bottom h2{font-size:23px}.dot-list{gap:16px}}.skills-page{padding-top:54px}.skills-page .display-title{max-width:760px}.skills-page .section-title .lead{max-width:590px;margin-top:28px;font-size:17px;line-height:1.45}.skills-divider{background:var(--border);width:100%;height:1px;margin:38px 0 47px}.skills-showcase{width:min(1510px,100%);margin:0 auto}.skills-row{gap:32px;display:grid}.skills-row-top{grid-template-columns:1.35fr .95fr 1fr}.skills-row-bottom{grid-template-columns:.82fr 1.48fr;width:74%;margin:45px auto 0}@media (width<=1180px){.skills-row-top,.skills-row-bottom{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.skills-row-bottom{margin-top:28px}}@media (width<=760px){.skills-page .display-title br{display:none}.skills-divider{margin:32px 0}.skills-row-top,.skills-row-bottom{grid-template-columns:1fr;gap:20px}.skills-row-bottom{margin-top:20px}}@media (width<=420px){.skills-page .display-title{font-size:40px}.skills-page .section-title .lead{margin-top:22px;font-size:16px}}.section-title .lead{max-width:720px;margin-top:24px}.skill-card{background:var(--surface);border:1px solid #8338ecc7;border-radius:22px;min-width:0;min-height:188px;padding:25px 28px 22px;transition:transform .25s,border-color .25s,box-shadow .25s}.skill-card:hover{border-color:var(--primary-light);transform:translateY(-5px);box-shadow:0 16px 42px #00000042,0 0 28px #8338ec29}.skill-card-heading{align-items:center;gap:13px;margin-bottom:17px;display:flex}.skill-category-icon{--icon-size:25px;color:var(--primary)}.skill-card h2{font-family:Manrope,sans-serif;font-size:20px;font-weight:400;line-height:1.2}.skill-technologies{justify-content:space-around;align-items:flex-start;gap:18px;display:flex}.skill-technologies li{min-width:54px;color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:8px;font-size:11px;line-height:1.2;transition:color .2s,transform .2s;display:flex}.skill-technologies li:hover{color:var(--text-primary);transform:translateY(-3px)}.skill-technologies img{object-fit:contain;cursor:pointer;width:55px;height:55px;transition:transform .22s,filter .22s}.skill-technologies img:hover{filter:drop-shadow(0 0 12px #8338ec47);transform:scale(1.08)}@media (prefers-reduced-motion:reduce){.skill-card,.skill-technologies li,.skill-technologies img{transition:none}.skill-card:hover,.skill-technologies li:hover,.skill-technologies img:hover{transform:none}}@media (width<=1100px){.skill-technologies{flex-wrap:wrap;justify-content:center}}@media (width<=620px){.skill-card{padding:22px 20px}.skill-technologies img{width:48px;height:48px}.skill-technologies{justify-content:flex-start}.skill-technologies li{flex:64px}}@media (width<=420px){.skill-card{min-height:0;padding:20px 16px}.skill-card h2{font-size:18px}.skill-technologies{gap:16px 10px}}.projects-page{padding-top:54px;padding-bottom:32px}.projects-top{grid-template-columns:minmax(0,700px) minmax(680px,1fr);align-items:start;gap:64px;display:grid}.projects-intro{padding-top:1px}.projects-intro .eyebrow{font-size:14px}.projects-intro .display-title{max-width:733px;margin-top:15px;font-size:clamp(48px,4vw,62px);line-height:1.13}.projects-intro .section-title .lead{max-width:498px;margin-top:25px;font-size:20px;line-height:1.5}.featured-projects{padding-top:35px}.project-section-heading{grid-template-columns:38px auto minmax(30px,1fr);align-items:center;gap:10px;display:grid}.project-section-heading>img{width:38px;height:38px}.project-section-heading h2{color:var(--text-primary);white-space:nowrap;font-family:Manrope,sans-serif;font-size:20px;font-weight:400;line-height:1.2}.project-section-heading>span{background:var(--border);height:1px;margin-left:13px}.featured-grid{grid-template-columns:repeat(2,minmax(0,377px));gap:47px;margin:18px 0 0 43px;display:grid}.project-category{width:calc(100% + 54px);margin-top:42px;margin-left:-27px}.project-category+.project-category{margin-top:13px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin:10px 0 0 1px;display:grid}@media (width<=1450px){.projects-top{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:42px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-left:0}.project-category{width:100%;margin-left:0}.project-grid{gap:24px}}@media (width<=1120px){.projects-top{grid-template-columns:1fr}.featured-projects{padding-top:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.projects-page{padding-top:42px}.projects-intro .display-title{font-size:clamp(42px,13vw,58px)}.featured-grid,.project-grid{grid-template-columns:1fr;gap:18px}.project-section-heading{grid-template-columns:32px auto minmax(10px,1fr);gap:8px}.project-section-heading>img{width:32px;height:32px}.project-section-heading h2{font-size:16px}.project-section-heading>span{margin-left:2px}}@media (width<=420px){.projects-intro .display-title{font-size:40px}.projects-intro .section-title .lead{font-size:16px}.projects-top{gap:34px}.project-category{margin-top:34px}.project-section-heading h2{white-space:normal}}.project-card{background:var(--surface);border:1px solid #7c3aed52;border-radius:20px;min-width:0;transition:transform .28s,border-color .28s,box-shadow .28s;overflow:hidden;box-shadow:0 0 #8338ec00}.project-card:hover,.project-card:focus-within{border-color:#a46cffc7;transform:translateY(-6px);box-shadow:0 18px 48px #0000005c,0 0 28px #8338ec2e}.project-preview{aspect-ratio:16/9;background:#0e1017;width:100%;position:relative;overflow:hidden}.project-preview>img{width:100%;height:100%;transition:transform .38s,filter .38s;display:block}.project-card:hover .project-preview>img,.project-card:focus-within .project-preview>img{filter:saturate(1.08)brightness(1.04);transform:scale(1.035)}.project-content{flex-direction:column;min-width:0;display:flex}.project-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-heading h3{min-width:0;color:var(--text-primary);font-family:DM Serif Display,serif;font-weight:400;line-height:1.2}.project-actions{flex:none;align-items:center;gap:5px;display:flex}.project-action{min-height:29px;color:var(--primary-light);white-space:nowrap;border:1px solid #7c3aed94;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:600;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.project-action:hover,.project-action:focus-visible{border-color:var(--primary-light);color:var(--text-primary);background:#7c3aed2e}.project-action-deploy{border-color:var(--primary);background:var(--primary);color:var(--text-primary)}.project-action-post{color:#eee9ff;background:#7c3aed29;border-color:#7c3aed}.project-action-post:hover,.project-action-post:focus-visible{background:#7c3aed}.project-action-deploy:hover,.project-action-deploy:focus-visible{background:var(--primary-dark)}.project-arrow{width:11px;height:11px;transform:rotate(-45deg)}.project-github{width:12px;height:12px}.project-linkedin{width:13px;height:13px}.project-content>p{color:#f5f5f794;line-height:1.45}.project-tags{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.project-tags li{color:#d7d1df;white-space:nowrap;border:1px solid #7c3aed8a;border-radius:999px;font-size:11.5px;line-height:1;transition:transform .2s,border-color .2s,color .2s,background-color .2s}.project-tags li:hover{border-color:var(--primary-light);color:var(--text-primary);background:#8338ec1f;transform:translateY(-2px)}.project-badges{align-items:center;gap:5px;display:flex;position:absolute;top:9px;left:9px}.project-badges li{color:#f5f5f7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a0b10e6;border:1px solid #b9bebfc7;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:4px 12px 4px 8px;font-size:10.5px;font-weight:500;line-height:1;display:inline-flex}.project-badges .project-badge-gold{color:#f2d76a;border-color:#e4b500eb}.project-badges img{width:16px;height:16px}.project-card-featured{border-radius:18px;flex-direction:column;height:auto;display:flex}.project-card-featured .project-preview{flex:none}.project-card-featured .project-content{flex:1;min-height:156px;padding:17px 19px 16px}.project-card-featured .project-heading h3{font-size:22px}.project-card-featured .project-content>p{max-width:315px;margin-top:5px;font-size:13.5px}.project-card-featured .project-tags{padding-top:8px}.project-card-featured .project-tags li{padding:6px 10px}.project-card-compact{grid-template-columns:minmax(180px,43%) minmax(0,1fr);align-items:center;min-height:192px;padding:7px;display:grid}.project-card-compact .project-preview{border-radius:14px}.project-card-compact .project-content{padding:15px 15px 13px 18px}.project-card-compact .project-heading h3{font-size:18px}.project-card-compact .project-content>p{margin-top:6px;font-size:13px}.project-card-compact .project-tags{padding-top:8px}.project-card-compact .project-tags li{padding:6px 10px;font-size:11.5px}@media (prefers-reduced-motion:reduce){.project-card,.project-preview>img,.project-tags li{transition:none}.project-card:hover,.project-card:focus-within,.project-card:hover .project-preview>img,.project-card:focus-within .project-preview>img,.project-tags li:hover{transform:none}}@media (width<=1250px){.project-card-compact{grid-template-columns:minmax(170px,42%) minmax(0,1fr)}}@media (width<=650px){.project-card-featured{height:auto}.project-card-featured .project-content{min-height:150px}.project-card-compact{grid-template-columns:1fr;height:auto}.project-card-compact .project-preview{aspect-ratio:16/9}.project-card-compact .project-content{min-height:140px}.project-heading{flex-direction:column}.project-actions{flex-wrap:wrap}}@media (width<=420px){.project-card-featured .project-content,.project-card-compact .project-content{padding:15px 13px}.project-card-featured .project-heading h3{font-size:20px}.project-action{min-height:32px;padding-inline:11px}}.experience-page{padding-top:54px;padding-bottom:57px}.experience-page .display-title{max-width:800px;margin-top:15px;font-size:clamp(50px,4vw,62px);line-height:1.12}.experience-page .section-title .lead{max-width:579px;margin-top:10px;font-size:20px;line-height:1.35}.experience-layout{grid-template-columns:1.325fr 1fr;align-items:stretch;gap:30px;margin-top:17px;display:grid}.timeline{min-width:0;min-height:553px;padding:0;position:relative;overflow:hidden}.timeline,.professional-skills,.awards{transition:border-color .25s,box-shadow .25s,transform .25s}.timeline:hover,.professional-skills:hover,.awards:hover{border-color:#8338ec94;transform:translateY(-3px);box-shadow:0 16px 42px #00000038,0 0 0 1px #8338ec14}.timeline:before{content:"";background:var(--primary);width:2px;position:absolute;top:56px;bottom:45px;left:76px}.experience-aside{grid-template-rows:307px 239px;gap:7px;display:grid}.professional-skills,.awards{padding:29px 30px 30px;overflow:hidden}.aside-heading{justify-content:space-between;align-items:flex-start;min-height:40px;display:flex}.aside-icon{background:#1d1e26;border-radius:50%;place-items:center;width:70px;height:70px;margin:-20px -3px 0 24px;display:grid}.aside-icon img{width:50px;height:50px}.professional-skills ul{margin-top:5px}.professional-skills li{color:var(--text-secondary);border-bottom:1px solid var(--border);margin-left:22px;padding:9px 0 10px;font-size:13px;transition:color .2s,padding-left .2s;position:relative}.professional-skills li:hover{color:var(--text-primary);padding-left:6px}.professional-skills li:before{content:"";background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;left:-22px}.professional-skills li:last-child{border-bottom:0}.awards{padding-top:29px}.award-list{margin-top:8px}.award-item{grid-template-columns:53px minmax(0,1fr);align-items:start;gap:16px;padding:0 0 10px;transition:transform .22s;display:grid}.award-item:hover{transform:translate(5px)}.award-icon{transition:transform .22s,background-color .22s,box-shadow .22s}.award-item:hover .award-icon{background:#252031;transform:scale(1.06);box-shadow:0 0 22px #8338ec33}.award-item+.award-item{border-top:1px solid var(--border);padding-top:10px}.award-icon{background:#1d1e26;border-radius:50%;place-items:center;width:53px;height:53px;display:grid}.award-icon img{width:33px;height:33px}.award-item>div{max-width:520px}.awards h2{padding-top:4px;font-size:22px;font-weight:400;line-height:1.25}.awards p:not(.eyebrow){color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:1.55}@media (width<=1200px){.experience-layout{grid-template-columns:1fr;margin-top:40px}.experience-aside{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media (width<=760px){.experience-page{padding-top:42px}.experience-page .display-title{font-size:clamp(42px,13vw,58px)}.experience-page .section-title .lead{font-size:17px}.experience-aside{grid-template-columns:1fr}.professional-skills,.awards{padding:24px 20px}.timeline:before{left:31px}.awards h2{font-size:19px}}@media (width<=520px){.experience-layout{margin-top:30px}.experience-page .display-title{font-size:40px}.timeline{min-height:0}.aside-icon{width:58px;height:58px;margin-top:-12px}.aside-icon img{width:42px;height:42px}.award-item{grid-template-columns:46px minmax(0,1fr);gap:12px}.award-icon{width:46px;height:46px}}@media (prefers-reduced-motion:reduce){.timeline,.professional-skills,.awards,.professional-skills li,.award-item,.award-icon{transition:none}.timeline:hover,.professional-skills:hover,.awards:hover,.award-item:hover,.award-item:hover .award-icon{transform:none}}.experience-card{padding:24px 54px 18px 109px;position:relative}.experience-card+.experience-card{border-top:1px solid var(--border);margin:0 85px 0 109px;padding:15px 0 0}.experience-dot{background:var(--primary);border-radius:50%;width:20px;height:20px;position:absolute;top:46px;left:67px}.experience-card+.experience-card .experience-dot{top:40px;left:-42px}.experience-main{grid-template-columns:70px minmax(0,1fr);align-items:start;gap:16px;display:grid}.experience-icon{color:var(--primary);background:#1d1e26;border-radius:50%;place-items:center;transition:transform .25s,color .25s,background-color .25s,box-shadow .25s;display:grid}.experience-icon--main{width:70px;height:70px}.experience-icon--main .icon{--icon-size:42px}.experience-copy{max-width:534px;padding-top:14px}.experience-card h2,.experience-child h3{font-size:23px;font-weight:400;line-height:1.17}.experience-card h2 small{font:inherit}.experience-card p{color:var(--text-secondary);font-size:13px;line-height:1.55}.experience-card .experience-period{color:#9c67eb;line-height:1.35}.experience-children{margin:30px 0 0 109px;position:relative}.experience-children:before{content:"";background:var(--primary);width:1px;position:absolute;top:24px;bottom:24px;left:-33px}.experience-child{border-radius:12px;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;transition:transform .25s,background-color .25s;display:grid;position:relative}.experience-card:hover .experience-icon--main,.experience-child:hover .experience-icon--child{color:var(--primary-light);background:#252031;transform:translateY(-3px)scale(1.04);box-shadow:0 0 24px #8338ec38}.experience-child:hover{transform:translate(4px)}.experience-child+.experience-child{margin-top:24px}.experience-child-dot{background:var(--primary);border-radius:50%;width:15px;height:15px;position:absolute;top:17px;left:-40px}.experience-icon--child{width:48px;height:48px}.experience-icon--child .icon{--icon-size:29px}.experience-child h3{padding-top:6px;font-size:20px}.experience-child>div{max-width:475px}.experience-card+.experience-card .experience-copy{max-width:575px;padding-top:0}@media (width<=700px){.experience-card{padding:22px 20px 24px 66px}.experience-dot{top:43px;left:22px}.experience-main{grid-template-columns:56px minmax(0,1fr);gap:12px}.experience-icon--main{width:56px;height:56px}.experience-icon--main .icon{--icon-size:32px}.experience-copy{padding-top:5px}.experience-children{margin-left:18px;padding-left:34px}.experience-children:before{left:7px}.experience-child-dot{left:0}.experience-card+.experience-card{margin:0 20px 0 66px;padding:22px 0 0}.experience-card+.experience-card .experience-dot{top:42px;left:-44px}}@media (width<=520px){.experience-card{padding:22px 16px 26px 58px}.experience-card h2{font-size:20px}.experience-child h3{font-size:18px}.experience-card p{font-size:12.5px}.experience-main{grid-template-columns:48px minmax(0,1fr)}.experience-icon--main{width:48px;height:48px}.experience-icon--main .icon{--icon-size:28px}.experience-child{grid-template-columns:42px minmax(0,1fr);gap:10px}.experience-children{margin:28px 0 0;padding-left:0}.experience-children:before{display:none}.experience-child-dot{left:-36px}.experience-icon--child{width:42px;height:42px}.experience-card+.experience-card{margin:0 16px 0 58px;padding-top:18px}.experience-card+.experience-card .experience-dot{top:39px;left:-39px}}@media (prefers-reduced-motion:reduce){.experience-icon,.experience-child{transition:none}.experience-card:hover .experience-icon--main,.experience-child:hover,.experience-child:hover .experience-icon--child{transform:none}}.contact-page>header .lead{margin-top:26px}.contact-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;margin-top:76px;display:grid}.contact-form,.contact-info{padding:30px}.contact-form h2,.contact-info h2{margin-bottom:24px;font-size:31px;font-weight:400}.form-row{grid-template-columns:1fr 1fr;gap:28px;display:grid}.contact-form label{gap:8px;margin-bottom:26px;font-size:14px;display:grid}.contact-form input,.contact-form textarea{width:100%;color:var(--text-primary);border:1px solid var(--border);background:#101116;border-radius:12px;outline:0;padding:16px 18px;transition:border-color .2s,box-shadow .2s,background-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary);background:#12121a;box-shadow:0 0 0 3px #8338ec1f}.contact-form textarea{resize:vertical;min-height:140px}.contact-form .button{border:0}.contact-form .button:disabled{cursor:wait;opacity:.72;transform:none}.contact-form .button .icon{--icon-size:20px}.button-spinner{border:2px solid #fff6;border-top-color:var(--text-primary);border-radius:50%;width:18px;height:18px;animation:.75s linear infinite contact-spin}.contact-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-status{min-height:24px;margin-top:16px;font-size:14px;line-height:1.5}.form-status--success{color:#8ee3b0}.form-status--error{color:#ffaaa5}.form-status a{color:var(--primary-light);text-underline-offset:3px;text-decoration:underline}.form-privacy{color:var(--text-muted);margin-top:4px;font-size:12px}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-info{flex-direction:column;justify-content:center;min-height:415px;display:flex}.contact-info dl{gap:22px;display:grid}.contact-info dl>div{border-radius:10px;margin:-8px -10px;padding:8px 10px;transition:transform .2s,background-color .2s}.contact-info dl>div:hover{background:#8338ec14;transform:translate(5px)}.contact-info dt{font-weight:700}.contact-info dd{color:#9565d8}.contact-info dd a{transition:color .2s}.contact-info dd a:hover{color:var(--primary-light)}@media (prefers-reduced-motion:reduce){.contact-info dl>div{transition:none}.contact-info dl>div:hover{transform:none}.button-spinner{animation:none}}@media (width<=900px){.contact-grid{grid-template-columns:1fr;margin-top:50px}}@media (width<=620px){.form-row{grid-template-columns:1fr;gap:0}.contact-grid{gap:20px;margin-top:38px}.contact-form,.contact-info{padding:24px 20px}.contact-form h2,.contact-info h2{font-size:27px}.contact-form input,.contact-form textarea{padding:14px}.contact-form .button{width:100%}}@media (width<=420px){.contact-page .display-title{font-size:40px}.contact-info dd{overflow-wrap:anywhere}}
