/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */:root{--bg:#07090c;--panel:#ffffff0e;--line:#ffffff1c;--text:#f5f7fa;--muted:#9ca6b4;--blue:#9ad8ff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--bg)}body{color:var(--text);font-family:var(--font-inter),sans-serif;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.background{z-index:0;pointer-events:none;background:radial-gradient(circle at 72% 12%,#5189c626,#0000 29%),radial-gradient(circle at 20% 38%,#53479914,#0000 28%),linear-gradient(#ffffff05 1px,#0000 0) 0 0/70px 70px,linear-gradient(90deg,#ffffff05 1px,#0000 0) 0 0/70px 70px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#000c 50%,#0000);mask-image:linear-gradient(#000,#000c 50%,#0000)}.nav-wrap,footer,main{z-index:1;position:relative}.section{max-width:var(--max);margin:auto;padding:120px 28px;scroll-margin-top:100px}.glass{border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#ffffff13,#ffffff06);border-radius:28px;box-shadow:inset 0 1px #ffffff1a,0 24px 70px #00000038}.nav-wrap{z-index:50;border:1px solid #0000;border-radius:22px;width:min(100% - 32px,1160px);transition:all .3s;position:fixed;top:18px;left:50%;transform:translate(-50%)}.nav-wrap.scrolled{border-color:var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#090c10b8;box-shadow:0 12px 40px #0000004d}nav{align-items:center;gap:32px;height:64px;padding:0 18px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.5px;margin-right:auto;font-size:18px;font-weight:750}.contact h2 span,.wordmark span,h1 span{color:var(--blue)}.nav-links{gap:7px;display:flex}.nav-links a{color:#b9c1ca;border-radius:12px;padding:9px 11px;font-size:13px}.nav-links a:hover{color:#fff;background:#ffffff0f}.nav-actions,.social-row{align-items:center;gap:9px;display:flex}.nav-actions>a,.social-row a{color:#cbd2da;border:1px solid #ffffff14;border-radius:12px;place-items:center;width:38px;height:38px;transition:all .2s;display:grid}.nav-actions>a:hover,.social-row a:hover{color:#fff;background:#ffffff17;transform:translateY(-2px)}.nav-actions .resume-mini{color:#090b0e;background:#f2f5f8;width:auto;padding:0 16px;font-weight:650}.menu{color:#fff;background:0 0;border:0;padding:7px;display:none}.hero{grid-template-columns:1.05fr .95fr;gap:60px;min-height:100svh;padding-top:130px;padding-bottom:100px;display:grid;position:relative}.hero,.status{align-items:center}.status{border:1px solid var(--line);color:#c7d0da;background:#ffffff09;border-radius:99px;gap:9px;padding:8px 12px;font-size:13px;display:inline-flex}.status i{background:#76dba7;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #76dba7}.hero h1{font-family:var(--font-display);letter-spacing:-4px;margin:25px 0;font-size:clamp(49px,6vw,82px);line-height:1.03}.hero h1 span{background:linear-gradient(100deg,#fff,#9ad8ff 55%,#b6b3ff)}.lead{color:#b1bac5;max-width:640px;font-size:19px;line-height:1.7}.tagline{color:#e6e9ec;margin-top:20px;font-weight:560}.hero-buttons{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border:1px solid var(--line);background:#ffffff0a;border-radius:15px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 19px;font-size:14px;font-weight:650;transition:all .25s;display:inline-flex}.button.primary{color:#080b0e;background:linear-gradient(135deg,#fff,#cdeaff);border-color:#fff;box-shadow:0 10px 35px #76beec24}.hero-meta{gap:22px;margin-top:25px}.hero-meta,.hero-meta>span{align-items:center;display:flex}.hero-meta>span{color:var(--muted);gap:7px;font-size:13px}.hero-visual{place-items:center;height:540px;display:grid;position:relative}.orb{filter:blur(20px);background:radial-gradient(circle at 40% 30%,#96ddff4d,#515ad91a 43%,#0000 70%);width:330px;height:330px;position:absolute}.code-card{width:min(100%,490px);padding:0;overflow:hidden;transform:perspective(1000px)rotateY(-4deg)rotateX(2deg)}.window{border-bottom:1px solid var(--line);color:#85909d;align-items:center;gap:7px;height:49px;padding:0 17px;font-size:12px;display:flex}.window i{background:#59616b;border-radius:50%;width:8px;height:8px}.window span{margin-left:7px}.code-card pre{color:#aab7c6;white-space:pre-wrap;margin:0;padding:27px;font:13px/2.05 ui-monospace,SFMono-Regular,Menlo,monospace}.code-card b{color:#bdabff}.code-card em{color:#9bdcc5;font-style:normal}.float-chip{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#dbe5ef;background:#11161dc7;border-radius:13px;padding:10px 15px;font:12px ui-monospace;position:absolute;box-shadow:0 15px 35px #0000004d}.chip-0{top:72px;left:0}.chip-1{top:124px;right:-15px}.chip-2{bottom:86px;left:3px}.chip-3{bottom:38px;right:18px}.scroll{color:#717c88;text-transform:uppercase;letter-spacing:2px;flex-direction:column;align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;bottom:24px;left:50%}.section-heading{max-width:700px;margin-bottom:48px}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;color:#8dcffc;font-size:11px;font-weight:700}.contact h2,.github-card h2,.section-heading h2{font:650 clamp(36px,5vw,58px)/1.05 var(--font-display);letter-spacing:-2.5px;margin:13px 0}.contact>p,.github-card p,.section-heading p{color:var(--muted);line-height:1.7}.about-grid{grid-template-columns:1.1fr .9fr;gap:65px;display:grid}.about-copy p{letter-spacing:-.4px;color:#ccd2da;margin-top:0;font-size:22px;line-height:1.65}.about-copy p+p{color:var(--muted);font-size:16px}.stats{gap:12px;display:grid}.stats .glass{grid-template-columns:43px 1fr;align-items:center;column-gap:13px;padding:20px;display:grid}.stats svg{color:var(--blue);background:#93d8ff14;border-radius:13px;grid-row:span 2;width:43px;height:43px;padding:10px}.stats b{font-size:15px}.stats span{color:var(--muted);font-size:12px}.timeline{max-width:950px;margin:auto;position:relative}.timeline:before{content:"";background:linear-gradient(var(--blue),#ffffff0d);width:1px;position:absolute;top:30px;bottom:30px;left:30px}.timeline-item{grid-template-columns:62px 1fr;gap:20px;margin-bottom:18px;display:grid;position:relative}.timeline-dot{width:62px;height:62px;color:var(--blue);z-index:1;background:#0b1015;border:1px solid #9ad8ff40;border-radius:50%;place-items:center;font:11px ui-monospace;display:grid}.timeline-item .glass{padding:29px 32px}.experience-top{justify-content:space-between;gap:20px;display:flex}.experience-top h3{font:650 22px var(--font-display);margin:0 0 6px}.experience-top p{color:#a9d9f6;margin:0}.experience-top time{color:var(--muted);font-size:13px}.timeline ul{color:var(--muted);margin-bottom:0;padding-left:17px;line-height:1.7}.timeline li{padding-left:5px}.project-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.project{flex-direction:column;min-height:580px;transition:all .3s;display:flex;overflow:hidden}.project:hover{border-color:#9ad8ff3d;transform:translateY(-5px)}.project.featured{grid-column:span 2;grid-template-columns:1fr 1.05fr;min-height:470px;display:grid}.project-visual{background:radial-gradient(circle at 50% 55%,#76afee2e,#0000 45%),linear-gradient(145deg,#ffffff08,#0000);min-height:225px;position:relative;overflow:hidden}.project-visual>span{color:#66717d;font:11px ui-monospace;position:absolute;top:20px;left:22px}.visual-core{background:#ffffff06;border:1px solid #9bd7ff26;border-radius:50%;place-items:center;display:grid;position:absolute;inset:20%;box-shadow:0 0 60px #5c9ed61f}.visual-core svg{color:#b9e6ff;width:52px;height:52px}.visual-core>i{background:#9be2ff;border-radius:50%;width:7px;height:7px;position:absolute}.visual-core>i:first-child{top:12%;left:20%}.visual-core>i:nth-child(2){top:40%;right:10%}.visual-core>i:nth-child(3){bottom:10%;left:35%}.retina{border:1px solid #86cbf3;border-radius:50%;width:110px;height:110px;box-shadow:inset 0 0 30px #539cd34d}.hand,.retina{position:absolute}.hand{color:#9edcff;opacity:.1;font-size:90px}.erp-lines{border:1px solid var(--line);border-radius:15px;width:130px;height:90px;position:absolute}.project-content{padding:29px}.project h3{font:650 clamp(23px,3vw,31px)/1.2 var(--font-display);letter-spacing:-.8px;margin:12px 0}.project p{color:var(--muted);font-size:14px;line-height:1.65}.pills{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.pills span{color:#b8c2ce;background:#ffffff09;border:1px solid #ffffff17;border-radius:9px;padding:7px 10px;font-size:11px}.project-link{color:#87929f;justify-content:space-between;align-items:center;margin-top:28px;font-size:12px;display:flex}.project-link a,.project-link span{align-items:center;gap:8px;display:flex}.project-link svg{width:17px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.skills-grid .glass{min-height:170px;padding:24px}.interests h3,.skills-grid h3{font:650 17px var(--font-display);margin:0}.interests{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.interests .glass{min-height:210px;padding:25px}.interests .glass>span{color:#6c7784;margin-bottom:55px;font:11px ui-monospace;display:block}.interests p{color:var(--muted);font-size:13px;line-height:1.6}.split{grid-template-columns:1.4fr .6fr;gap:16px;display:grid}.github-card{grid-template-columns:75px 1fr;gap:24px;padding:45px;display:grid}.education>svg,.github-card>svg{border:1px solid var(--line);border-radius:17px;width:55px;height:55px;padding:15px}.github-card h2{font-size:40px}.education{flex-direction:column;align-items:flex-start;padding:34px;display:flex}.education .eyebrow{margin-top:auto}.education h3{font:600 21px/1.4 var(--font-display);margin:12px 0}.education p{color:var(--muted);font-size:12px}.education b{font-size:13px}.contact{text-align:center;padding-top:150px;padding-bottom:150px}.contact h2{letter-spacing:-5px;font-size:clamp(51px,7.5vw,90px)}.contact>p{max-width:640px;margin:25px auto}.contact .hero-buttons{justify-content:center}.contact small{color:#747f8b;margin-top:30px;display:block}footer{max-width:var(--max);color:#737e89;border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;margin:auto;padding:32px 28px 55px;font-size:12px;display:flex}footer>div:first-child{flex-direction:column;gap:5px;display:flex}footer b{color:#e7ecf1;font-size:14px}footer .social-row svg{width:15px}@media (max-width:800px){.section{padding:88px 20px}.nav-wrap{top:10px}.nav-links{border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#090c10f2;border-radius:20px;flex-direction:column;padding:12px;display:none;position:absolute;top:70px;left:0;right:0}.nav-links.open{display:flex}.menu{display:block}.nav-actions>a:not(.resume-mini){display:none}.hero{grid-template-columns:1fr;height:auto;padding-top:125px}.hero h1{letter-spacing:-2.5px}.hero-visual{height:420px}.float-chip,.scroll{display:none}.about-grid,.split{grid-template-columns:1fr}.project.featured{grid-column:auto;min-height:580px;display:flex}.interests,.project-grid,.skills-grid{grid-template-columns:1fr 1fr}.github-card{grid-template-columns:1fr}.education{min-height:340px}.contact h2{letter-spacing:-3px}footer{flex-wrap:wrap;gap:22px}footer>p{order:3;width:100%}}@media (max-width:520px){.nav-actions .resume-mini{display:none}.hero{gap:10px}.hero h1{font-size:46px}.lead{font-size:16px}.hero-meta{flex-direction:column;align-items:flex-start}.hero-visual{height:390px}.code-card pre{padding:21px;font-size:11px}.section-heading{margin-bottom:34px}.about-copy p{font-size:18px}.experience-top{flex-direction:column}.timeline-item{grid-template-columns:40px 1fr;gap:10px}.timeline:before{left:20px}.timeline-dot{width:40px;height:40px}.timeline-item .glass{padding:22px 20px}.interests,.project-grid,.skills-grid{grid-template-columns:1fr}.skills-grid .glass{min-height:auto}.contact small{line-height:1.8}.github-card{padding:28px}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}:root{--font-inter:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.background{background:radial-gradient(48% 40% at 72% 9%,#7cc3eb1b,#0000 70%),radial-gradient(30% 26% at 64% 26%,#558eb20b,#0000 72%),linear-gradient(#ffffff03 1px,#0000 0) 0 0/76px 76px,linear-gradient(90deg,#ffffff03 1px,#0000 0) 0 0/76px 76px}.glass{--light-opacity:0;isolation:isolate;-webkit-backdrop-filter:blur(24px)saturate(125%);backdrop-filter:blur(24px)saturate(125%);background:linear-gradient(145deg,#232b34b8,#0f1319ad 46%,#090c10c7);border-color:#ffffff1b;position:relative;box-shadow:inset 0 1px #ffffff24,inset 0 -1px #ffffff06,0 20px 55px #00000042,0 2px 10px #0000002e}.glass:before{border-radius:inherit;background:radial-gradient(300px circle at var(--light-x,50%) var(--light-y,0),#d7f1ff13,transparent 64%);opacity:var(--light-opacity);transition:opacity .35s;inset:0}.glass:after,.glass:before{content:"";z-index:-1;pointer-events:none;position:absolute}.glass:after{opacity:.72;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);height:1px;top:0;left:8%;right:8%}.nav-wrap{border-radius:25px;top:20px}.nav-wrap.scrolled{-webkit-backdrop-filter:blur(26px)saturate(135%);backdrop-filter:blur(26px)saturate(135%);background:linear-gradient(#1c2128e0,#0b0e12db);border-color:#ffffff1d;box-shadow:inset 0 1px #ffffff21,0 16px 45px #00000057}.nav-wrap.scrolled:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff42,#0000);height:1px;position:absolute;top:0;left:7%;right:7%}.nav-actions>a,.social-row a{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,#ffffff12,#ffffff06);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff14}.nav-actions>a:hover,.social-row a:hover{background:linear-gradient(145deg,#ffffff1f,#ffffff0b);border-color:#ffffff29}.nav-actions .resume-mini{color:#10161c;background:linear-gradient(145deg,#f6fbffeb,#c4dae8cc);border-color:#ffffff80;box-shadow:inset 0 1px #fffc,0 5px 18px #0003}.hero{grid-template-columns:1.04fr .96fr;gap:68px}.hero-copy{padding-bottom:8px}.hero h1{letter-spacing:-4.2px;line-height:1.015}.hero h1 span{color:#0000;background:linear-gradient(112deg,#f9fcff 4%,#d9f1ff 53%,#9dcbe6);-webkit-background-clip:text;background-clip:text}.hero-visual{transform:translateY(-18px)}.status{letter-spacing:.05px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(145deg,#fff1,#ffffff06);border-color:#ffffff1a;padding:7px 11px;font-size:12px;box-shadow:inset 0 1px #ffffff14}.code-card{-webkit-backdrop-filter:blur(30px)saturate(130%);backdrop-filter:blur(30px)saturate(130%);background:linear-gradient(145deg,#262f3ad6,#0f141bd1 54%,#090d12e0);border-color:#d3eeff26;border-radius:32px;transform:none;box-shadow:inset 0 1px #ffffff38,inset 0 -20px 60px #0000001f,0 34px 85px #00000070,0 0 65px #5ea4cd12}.code-card .window{background:linear-gradient(#ffffff0b,#0000);border-color:#ffffff16}.float-chip{-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);letter-spacing:.05px;background:linear-gradient(145deg,#28313bd9,#0f141acc);border-color:#d9f0ff21;border-radius:999px;padding:9px 14px;box-shadow:inset 0 1px #ffffff24,0 14px 30px #00000047}.button{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffff12,#ffffff06);border-color:#ffffff1c;box-shadow:inset 0 1px #ffffff17,0 7px 20px #00000021}.button:hover{background:linear-gradient(145deg,#ffffff1b,#ffffff0a);transform:translateY(-2px)}.button svg{transition:transform .25s}.button:hover svg{transform:translate(3px)}.button.primary{background:linear-gradient(140deg,#fffffffa,#d2edfce0);border-color:#ffffffb8;box-shadow:inset 0 1px #fff,0 10px 30px #63acd61f}.scroll{opacity:.7;animation:scroll-drift 2.6s ease-in-out infinite}@keyframes scroll-drift{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.section-heading{margin-bottom:52px}.section-heading h2{letter-spacing:-2.7px}.interests .glass,.skills-grid .glass,.stats .glass{box-shadow:inset 0 1px #ffffff1f,0 14px 40px #0000002e}.timeline:before{background:linear-gradient(#94d3f773,#ffffff09);box-shadow:0 0 15px #83c6ed0d}.timeline-item{margin-bottom:22px}.timeline-dot{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#212b34f2,#090d11f2);border-color:#c2e7fb2e;box-shadow:inset 0 1px #ffffff1f,0 7px 22px #00000040}.timeline-item.current .timeline-dot{border-color:#90daff61;box-shadow:inset 0 1px #ffffff29,0 0 0 4px #7ecaf409,0 8px 24px #00000042}.timeline-item.current .experience-top time:before{content:"";background:#78dca7;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 8px #78dca773}.project{box-shadow:inset 0 1px #ffffff21,0 24px 65px #0000003d}.project:hover{border-color:#b5e1fa38;transform:translateY(-3px);box-shadow:inset 0 1px #ffffff2e,0 29px 72px #0000004d}.project-visual{background:radial-gradient(circle at 50% 52%,#78b5d924,#0000 47%),linear-gradient(145deg,#ffffff09,#ffffff01);border-bottom:1px solid #ffffff0b}.project-link>svg{transition:transform .25s}.project:hover .project-link>svg{transform:translate(3px,-3px)}.pills span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffffff0f,#ffffff06);border-color:#ffffff17;box-shadow:inset 0 1px #ffffff0e}@media (max-width:800px){.nav-wrap{top:10px}.hero{gap:18px}.hero-copy{padding-bottom:0}.hero-visual{transform:translateY(0)}.glass{-webkit-backdrop-filter:blur(18px)saturate(115%);backdrop-filter:blur(18px)saturate(115%)}.code-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}}@media (max-width:520px){.hero h1{letter-spacing:-2.7px;line-height:1.04}.code-card{border-radius:25px}.hero-visual{height:400px}.section-heading{margin-bottom:36px}}@media (hover:none),(pointer:coarse){.glass:before{display:none}}@media (prefers-reduced-motion:reduce){.scroll{animation:none}.glass:before{display:none}}.project-visual{isolation:isolate;padding:18px;display:block}.project-visual>span{z-index:4;color:#e6f2fab8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c10ad;border:1px solid #ffffff1f;border-radius:8px;padding:6px 8px;top:29px;left:31px;box-shadow:inset 0 1px #ffffff14}.project-media-frame{background:linear-gradient(145deg,#2c38438c,#080c11cc);border:1px solid #d5eefc1c;border-radius:20px;width:100%;height:100%;min-height:230px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 18px 38px #0003}.project-media-frame img{object-fit:cover;object-position:center;filter:saturate(.86)brightness(.86)contrast(1.04);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s}.project-media-shade{pointer-events:none;background:linear-gradient(#04080c05 48%,#04080c61),linear-gradient(115deg,#a4dbf80e,#0000 38%);position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1a}.project:hover .project-media-frame img{filter:saturate(.92)brightness(.91)contrast(1.03);transform:scale(1.025)}.project-media-fallback{color:#70808d;background:radial-gradient(circle at 50% 45%,#78b9dc1c,#0000 36%),linear-gradient(145deg,#1f2831b8,#080c11e6);place-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:0}.project-media-fallback svg{stroke-width:1.3px;color:#94b7ca;width:34px;height:34px}.project-media-fallback small{text-transform:uppercase;letter-spacing:1.4px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.project.featured .project-visual{min-height:470px}.project.featured .project-media-frame{border-radius:23px;min-height:434px}@media (max-width:800px){.project.featured .project-visual{min-height:300px}.project.featured .project-media-frame{min-height:264px}.project-media-frame{min-height:230px}}@media (max-width:520px){.project-visual{padding:13px}.project-visual>span{top:23px;left:23px}.project-media-frame,.project.featured .project-media-frame{border-radius:18px;min-height:220px}.project.featured .project-visual{min-height:246px}}.project{background:linear-gradient(145deg,#222b34c7,#0d1116d1 48%,#080b0fe6);border-color:#dcf1fc1d;min-height:0;box-shadow:inset 0 1px #ffffff26,0 28px 72px #00000045}.project.featured{background:radial-gradient(circle at 18% 22%,#65a8cd12,#0000 36%),linear-gradient(145deg,#252f39cc,#0a0e13e6);border-color:#bee5fa2b;min-height:0}.project-visual,.project.featured .project-visual{aspect-ratio:16/9;background:radial-gradient(circle at 50% 52%,#78b5d91a,#0000 52%),linear-gradient(145deg,#ffffff06,#ffffff01);align-self:center;min-height:0}.project-media-frame,.project.featured .project-media-frame{border-radius:21px;height:100%;min-height:0}.project-media-frame:after{content:"";pointer-events:none;border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 0 38px #0000001f}.project-media-frame img{filter:saturate(.92)brightness(.95)contrast(1.025)}.project:hover .project-media-frame img{filter:saturate(.97)brightness(.98)contrast(1.02)}.project-media-shade{background:linear-gradient(#0000 55%,#03070a8a),linear-gradient(115deg,#addef80a,#0000 40%)}.project-media-meta{z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:14px;left:16px;right:16px}.project-media-meta span{color:#eff7fcd6;letter-spacing:1.15px;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070b0f94;border:1px solid #ffffff1f;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:650;box-shadow:inset 0 1px #ffffff14}.project-content{flex-direction:column;display:flex}.project-content>p{margin-bottom:0}.project-tech{margin-top:20px}.project-actions{flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:26px;display:flex}.project-action{border:1px solid #ffffff1c;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:12px;font-weight:650;transition:background .25s,border-color .25s,transform .25s;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.project-action svg{width:15px;height:15px;transition:transform .25s}.project-action.primary{color:#0c141a;background:linear-gradient(140deg,#fbfefff5,#cde9f8e0);border-color:#ffffff8c}.project-action.secondary{color:#d7e1e8;background:linear-gradient(145deg,#fff1,#ffffff06)}.project-action:hover{border-color:#d0ecfb3d;transform:translateY(-1px)}.project-action:hover svg{transform:translate(2px,-2px)}@media (max-width:800px){.project.featured{display:flex}.project-visual,.project.featured .project-visual{aspect-ratio:16/9;width:100%}.project-media-frame,.project.featured .project-media-frame{min-height:0}.project-content{padding:27px}.project-action{min-height:44px}}@media (max-width:520px){.project-visual,.project.featured .project-visual{min-height:0}.project-media-frame,.project.featured .project-media-frame{border-radius:18px;min-height:0}.project-media-meta{bottom:10px;left:11px;right:11px}.project-media-meta span{padding:6px 8px;font-size:8px}.project-content{padding:24px 20px 25px}}.project.standard .project-visual-standard{aspect-ratio:16/9;background:0 0;border-bottom:1px solid #ffffff0d;flex:none;width:100%;height:auto;min-height:0;padding:0;position:relative}.project.standard .project-visual-standard .project-media-frame{aspect-ratio:auto;border-radius:20px;width:auto;height:auto;min-height:0;position:absolute;inset:18px}.project.standard .project-visual-standard>span{top:29px;left:31px}@media (max-width:520px){.project.standard .project-visual-standard{aspect-ratio:16/9}.project.standard .project-visual-standard .project-media-frame{border-radius:18px;inset:13px}.project.standard .project-visual-standard>span{top:23px;left:23px}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.contents{display:contents}.hidden{display:none}}