@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;1,14..32,400&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap);.nav-root{left:0;padding:14px 24px;position:fixed;right:0;top:0;transition:padding .3s;z-index:100}.nav-root.scrolled{padding:10px 24px}.nav-inner{align-items:center;background:var(--card);border:1px solid var(--line2);border-radius:var(--radius);display:flex;gap:16px;margin:0 auto;max-width:1200px;padding:10px 20px;transition:box-shadow .3s,background .3s}.nav-root.scrolled .nav-inner{box-shadow:0 8px 32px #00000059}.nav-brand{align-items:center;display:flex;gap:6px;margin-right:auto;text-decoration:none}.nav-brand-text{color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.04em}.nav-brand-dot{background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent);height:6px;width:6px}.nav-links{align-items:center;display:flex;gap:4px}.nav-link{border-radius:8px;color:var(--muted);font-size:.875rem;font-weight:500;padding:7px 14px;position:relative;transition:color .2s;white-space:nowrap}.nav-link.active,.nav-link:hover{color:var(--text)}.nav-link.active{font-weight:600}.nav-link-underline{background:var(--accent);border-radius:2px;bottom:-2px;box-shadow:0 0 8px var(--accent);height:2px;left:10px;position:absolute;right:10px}.nav-actions{align-items:center;display:flex;gap:8px}.nav-icon-btn{align-items:center;background:#0000;border:1px solid var(--line2);border-radius:8px;color:var(--text);cursor:pointer;display:inline-flex;font-size:.8rem;gap:6px;justify-content:center;padding:8px;transition:background .2s,border-color .2s}.nav-icon-btn:hover{background:#2af6ff12;border-color:var(--accent)}.nav-cta{align-items:center;background:linear-gradient(110deg,var(--accent),var(--accent2));border-radius:999px;color:#001b22;display:inline-flex;font-size:.82rem;font-weight:700;letter-spacing:.02em;padding:8px 18px;transition:opacity .2s,transform .2s;white-space:nowrap}.nav-cta:hover{opacity:.88;transform:translateY(-1px)}.nav-hamburger{display:none}.nav-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030a14bf;inset:0;position:fixed;z-index:200}.nav-drawer{background:var(--bg2);border-left:1px solid var(--line2);bottom:0;display:flex;flex-direction:column;gap:4px;padding:20px;position:absolute;right:0;top:0;width:min(320px,88vw)}.nav-drawer-header{align-items:center;border-bottom:1px solid var(--line2);display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:16px}.nav-drawer-link{border-radius:10px;color:var(--muted);font-size:1rem;font-weight:500;padding:14px 16px;transition:background .2s,color .2s}.nav-drawer-link.active,.nav-drawer-link:hover{background:#2af6ff12;color:var(--text)}.nav-drawer-footer{border-top:1px solid var(--line2);margin-top:auto;padding-top:16px}@media (max-width:860px){.nav-cta,.nav-links{display:none}.nav-hamburger{display:inline-flex}}@media (max-width:480px){.nav-root{padding:10px 12px}}:root.light .nav-inner{background:#fffffff7;border-color:#00000017;box-shadow:0 2px 20px #00000012}:root.light .nav-root.scrolled .nav-inner{box-shadow:0 4px 24px #0000001f}:root.light .nav-brand-text{color:#111}:root.light .nav-link{color:#555}:root.light .nav-link.active,:root.light .nav-link:hover{color:#111}:root.light .nav-link-underline{background:var(--accent);box-shadow:0 0 8px #0586a766}:root.light .nav-icon-btn{border-color:#0000001f;color:#333}:root.light .nav-icon-btn:hover{background:#0586a70f;border-color:var(--accent);color:#111}:root.light .nav-overlay{background:#0006}:root.light .nav-drawer{background:#fff;border-left-color:#0000001a}:root.light .nav-drawer-header{border-bottom-color:#00000014}:root.light .nav-drawer-link{color:#555}:root.light .nav-drawer-link.active,:root.light .nav-drawer-link:hover{background:#0586a712;color:#111}:root.light .nav-drawer-footer{border-top-color:#00000014}:root.light .nav-brand-dot{background:var(--accent);box-shadow:0 0 8px #0586a780}.home-page{display:flex;flex-direction:column;min-height:100vh;overflow:hidden;position:relative}.home-shell{display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px;padding:140px 24px 60px;width:100%}.orb{border-radius:50%;filter:blur(80px);opacity:.18;pointer-events:none;position:fixed;z-index:0}.orb-1{background:radial-gradient(circle,#2af6ff,#0000 65%);height:520px;left:-100px;top:-120px;width:520px}.orb-2{background:radial-gradient(circle,#7efff5,#0000 65%);bottom:0;height:440px;right:-80px;width:440px}.hero-section{max-width:820px;position:relative;z-index:1}.hero-eyebrow{align-items:center;color:var(--green);display:inline-flex;font-size:.82rem;font-weight:600;gap:8px;letter-spacing:.08em;margin-bottom:20px;text-transform:uppercase}.hero-eyebrow:before{animation:pulse-dot 2s ease-in-out infinite;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green);content:"";display:inline-block;height:8px;width:8px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.hero-headline{color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(2.8rem,7vw,5.2rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-bottom:24px}.hero-sub{color:var(--muted);font-size:clamp(1rem,2vw,1.15rem);line-height:1.7;margin-bottom:36px;max-width:560px}.hero-cta-row{display:flex;flex-wrap:wrap;gap:14px}.btn-primary{align-items:center;background:linear-gradient(110deg,var(--accent),var(--accent2));border-radius:999px;box-shadow:0 4px 24px #2af6ff40;color:#001b22;display:inline-flex;font-size:.92rem;font-weight:700;letter-spacing:.02em;padding:14px 30px;transition:opacity .2s,transform .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 8px 32px #2af6ff59;opacity:.9;transform:translateY(-2px)}.btn-ghost{align-items:center;border:1px solid var(--line2);border-radius:999px;color:var(--text);display:inline-flex;font-size:.92rem;font-weight:600;padding:14px 30px;transition:border-color .2s,background .2s,transform .2s}.btn-ghost:hover{background:#2af6ff0f;border-color:var(--accent);transform:translateY(-2px)}.stats-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:64px;position:relative;z-index:1}.stat-card{background:var(--card);border:1px solid var(--line2);border-radius:var(--radius-sm);display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:120px;padding:20px 16px}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;line-height:1}.stat-label{color:var(--muted);font-size:.8rem;font-weight:500;letter-spacing:.02em}.marquee-wrap{background:#07101880;border-bottom:1px solid var(--line);border-top:1px solid var(--line);overflow:hidden;padding:14px 0;position:relative;width:100%;z-index:1}.marquee-track{animation:marquee-scroll 28s linear infinite;display:flex;gap:40px;width:-webkit-max-content;width:max-content}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-item{color:var(--muted2);font-size:.78rem;font-weight:600;letter-spacing:.1em;padding:0 8px;text-transform:uppercase;white-space:nowrap}.marquee-item:before{color:var(--accent);content:"·";margin-right:40px;opacity:.4}@media (max-width:640px){.home-shell{padding:120px 16px 40px}.stats-row{gap:10px}.stat-card{min-width:calc(50% - 5px)}}.btn-cv{align-items:center;border:1px dashed var(--line2);border-radius:999px;color:var(--muted);display:inline-flex;font-size:.88rem;font-weight:600;gap:6px;padding:14px 22px;transition:border-color .2s,color .2s,background .2s,transform .2s;white-space:nowrap}.btn-cv:hover{background:#2af6ff0a;border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}:root.light .btn-cv:hover{background:#0586a70f}:root.light .marquee-wrap{background:#f8f9fbeb;border-bottom-color:#0586a71f;border-top-color:#0586a71f}:root.light .marquee-item{color:#666}:root.light .marquee-item:before{color:var(--accent);opacity:.5}:root.light .orb{opacity:.07}:root.light .btn-ghost{border-color:#00000026;color:var(--text)}:root.light .btn-ghost:hover{background:#0586a70d;border-color:var(--accent)}:root.light .stat-card{background:#fff;border-color:#00000017;box-shadow:0 2px 16px #0000000f}:root.light .stat-label{color:#666}.contact-page{position:relative}.contact-inner{max-width:680px}.contact-eyebrow{color:var(--accent);display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:16px;text-transform:uppercase}.contact-headline{margin-bottom:20px}.contact-sub{color:var(--muted);font-size:1.05rem;line-height:1.75;margin-bottom:40px}.contact-email-block{align-items:center;background:var(--card);border:1px solid var(--line2);border-radius:var(--radius);display:flex;gap:16px;margin-bottom:28px;padding:20px 22px}.contact-email-icon{align-items:center;background:#2af6ff17;border:1px solid var(--line);border-radius:10px;color:var(--accent);display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.contact-email-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.contact-email-label{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contact-email-value{color:var(--text);font-size:.95rem;font-weight:600;transition:color .2s}.contact-email-value:hover{color:var(--accent)}.contact-copy-btn{align-items:center;background:#0000;border:1px solid var(--line2);border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:600;gap:6px;padding:8px 14px;transition:background .2s,border-color .2s,color .2s;white-space:nowrap}.contact-copy-btn:hover{background:#2af6ff12;border-color:var(--accent);color:var(--text)}.contact-copy-btn.copied{background:#22d47a12;border-color:var(--green);color:var(--green)}.contact-socials{display:flex;flex-direction:column;gap:12px}.social-card{align-items:center;background:var(--card);border:1px solid var(--line2);border-radius:var(--radius);display:flex;gap:16px;padding:18px 22px;text-decoration:none;transition:border-color .2s,transform .2s,background .2s}.social-card:hover{background:#ffffff05;border-color:var(--social-color,var(--accent));transform:translateX(6px)}.social-icon{align-items:center;background:#ffffff0a;border:1px solid var(--line2);border-radius:10px;color:var(--accent);color:var(--social-color,var(--accent));display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.social-label{color:var(--text);display:block;font-size:.92rem;font-weight:600}.social-handle{color:var(--muted);display:block;font-size:.8rem;margin-top:2px}.social-arrow{color:var(--muted2);font-size:1.1rem;margin-left:auto;transition:color .2s,transform .2s}.social-card:hover .social-arrow{color:var(--accent);color:var(--social-color,var(--accent));transform:translate(3px,-3px)}@media (max-width:500px){.contact-email-block{flex-wrap:wrap}.contact-copy-btn{justify-content:center;width:100%}}:root.light .contact-email-block{background:#fff;border-color:#00000017;box-shadow:0 2px 16px #0000000f}:root.light .contact-email-icon{background:#0586a712;border-color:#0586a733;color:var(--accent)}:root.light .contact-email-value{color:#111}:root.light .contact-copy-btn{border-color:#0000001f;color:#555}:root.light .contact-copy-btn:hover{background:#0586a70f;border-color:var(--accent);color:#111}:root.light .social-card{background:#fff;border-color:#00000017;box-shadow:0 2px 12px #0000000d}:root.light .social-card:hover{border-color:var(--social-color,var(--accent));box-shadow:0 6px 24px #00000017}:root.light .social-icon{background:#0000000a;border-color:#00000014}:root.light .social-label{color:#111}:root.light .social-handle{color:#666}:root.light .social-arrow{color:#999}:root.light .contact-headline,:root.light .contact-sub{color:var(--text)}.about-page{position:relative}.about-intro{margin-bottom:64px;max-width:760px}.about-eyebrow{color:var(--accent);display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:16px;text-transform:uppercase}.about-headline{margin-bottom:24px}.about-bio{color:var(--muted);font-size:1.05rem;line-height:1.8;max-width:640px}.about-section-label{align-items:center;color:var(--accent);display:flex;font-size:.72rem;font-weight:700;gap:12px;letter-spacing:.14em;margin-bottom:24px;text-transform:uppercase}.about-section-label:after{background:var(--line);content:"";flex:1 1;height:1px;max-width:200px}.about-skills{margin-bottom:64px}.skills-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.skill-group{background:var(--card);border:1px solid var(--line2);border-radius:var(--radius);padding:22px}.skill-group-label{color:var(--text);display:block;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-bottom:14px;text-transform:uppercase}.skill-pills{display:flex;flex-wrap:wrap;gap:8px}.skill-pill{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem;padding:5px 12px;transition:border-color .2s,color .2s}.skill-pill:hover{border-color:var(--accent);color:var(--text)}.about-timeline{margin-bottom:40px}.timeline-list{border-left:2px solid var(--line);display:flex;flex-direction:column;gap:0;margin-left:16px;padding-left:0}.timeline-item{grid-gap:24px;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:130px 1fr;padding:28px 0 28px 32px;position:relative}.timeline-item:last-child{border-bottom:none}.timeline-item:before{background:var(--bg);border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 10px #2af6ff59;content:"";height:14px;left:-9px;position:absolute;top:36px;width:14px}.timeline-year{color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding-top:3px;white-space:nowrap}.timeline-role{color:var(--text);font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700;margin-bottom:8px}.timeline-desc{color:var(--muted);font-size:.9rem;line-height:1.7;margin:0}@media (max-width:900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.skills-grid,.timeline-item{grid-template-columns:1fr}.timeline-item{gap:6px}.timeline-year{padding-top:0}}.about-cta-row{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;margin-bottom:60px;margin-top:48px;padding-top:32px}.about-cv-btn{align-items:center;background:linear-gradient(110deg,var(--accent),var(--accent2));border-radius:999px;box-shadow:0 4px 20px #2af6ff33;color:#fff;display:inline-flex;font-size:.9rem;font-weight:700;letter-spacing:.02em;padding:13px 28px;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s}.about-cv-btn:hover{box-shadow:0 8px 28px #2af6ff4d;opacity:.9;transform:translateY(-2px)}:root.light .about-cv-btn{box-shadow:0 4px 20px #0586a740;color:#fff}.about-gh-btn{align-items:center;border:1px solid var(--line2);border-radius:999px;color:var(--text);display:inline-flex;font-size:.9rem;font-weight:600;padding:13px 28px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s}.about-gh-btn:hover{background:#2af6ff0d;border-color:var(--accent);transform:translateY(-2px)}:root.light .about-gh-btn:hover{background:#0586a70d;border-color:var(--accent)}:root.light .skill-group{background:#fff;border-color:#00000017;box-shadow:0 2px 12px #0000000d}:root.light .skill-group-label{color:#111}:root.light .skill-pill{border-color:#0000001f;color:#555}:root.light .skill-pill:hover{border-color:var(--accent);color:var(--accent)}:root.light .timeline-list{border-left-color:#0586a740}:root.light .timeline-item{border-bottom-color:#00000014}:root.light .timeline-item:before{background:#fff;border-color:var(--accent);box-shadow:0 0 8px #0586a74d}:root.light .timeline-role{color:#111}:root.light .about-bio{color:#444}.projects-page{padding-top:96px;position:relative}.projects-container{margin:0 auto;max-width:1200px;padding:0 24px 80px}.page-header{margin-bottom:28px}.page-title{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(2rem,5vw,3.8rem);margin:0 0 8px}.page-subtitle{color:var(--muted);margin:0;max-width:700px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.filter-btn{background:#ffffff08;border:1px solid var(--line);border-radius:999px;color:var(--text);cursor:pointer;font-family:Inter,sans-serif;font-size:.85rem;padding:9px 14px;transition:background .2s,border-color .2s,color .2s}.filter-btn.active{background:linear-gradient(120deg,var(--accent),var(--accent2));border-color:#0000;color:#00252f;font-weight:600}.projects-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(12,1fr)}.project-card{background:var(--card);border:1px solid var(--line2);border-radius:18px;cursor:pointer;grid-column:span 4;overflow:hidden;transition:border-color .3s,box-shadow .3s}.project-card:hover{border-color:#2af6ff4d}:root.light .project-card{box-shadow:0 2px 16px #0000000f}:root.light .project-card:hover{border-color:var(--accent);box-shadow:0 8px 32px #0000001a}.project-card:first-child,.project-card:nth-child(2){grid-column:span 6}.image-container{height:220px;overflow:hidden;position:relative}.image-container img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%;will-change:transform}.project-card:hover .image-container img{transform:scale(1.07)}.image-overlay{background:linear-gradient(0deg,#0008,#0000);inset:0;opacity:0;position:absolute;transition:opacity .3s}.project-card:hover .image-overlay{opacity:1}.card-content{padding:18px}.category-badge{background:color-mix(in srgb,#666 28%,#0000);background:color-mix(in srgb,var(--badge-color,#666) 28%,#0000);border:1px solid color-mix(in srgb,#666 70%,#fff 30%);border:1px solid color-mix(in srgb,var(--badge-color,#666) 70%,#fff 30%);border-radius:999px;display:inline-block;font-size:.7rem;letter-spacing:.03em;padding:4px 9px}.card-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.05rem;margin:10px 0 6px}.card-desc{color:var(--muted);font-size:.88rem;line-height:1.5;margin:0 0 12px}.tech-pills{display:flex;flex-wrap:wrap;gap:8px}.tech-pill{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem;padding:4px 10px}.modal-wrapper{align-items:center;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.modal-backdrop{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#030a16eb;cursor:pointer;inset:0;position:absolute}.modal-panel{background:linear-gradient(160deg,#0d1d2e,#071018);border:1px solid #2af6ff1f;border-radius:24px;box-shadow:0 0 0 1px #ffffff0d,0 40px 120px #000000e6,0 8px 32px #0009,inset 0 1px 0 #ffffff0f;cursor:default;max-height:calc(100dvh - 80px);overflow-x:hidden;overflow-y:auto;position:relative;scroll-behavior:smooth;width:min(860px,100%);z-index:1}.modal-panel::-webkit-scrollbar{width:3px}.modal-panel::-webkit-scrollbar-track{background:#0000}.modal-panel::-webkit-scrollbar-thumb{background:#2af6ff33;border-radius:3px}.modal-header{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#071018f2;border-bottom:1px solid #2af6ff14;display:flex;justify-content:space-between;padding:18px 26px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-category{background:color-mix(in srgb,#2a6b5f 18%,#0000);background:color-mix(in srgb,var(--badge-color,#2a6b5f) 18%,#0000);border:1px solid color-mix(in srgb,#2a6b5f 60%,#0000);border:1px solid color-mix(in srgb,var(--badge-color,#2a6b5f) 60%,#0000);border-radius:999px;color:#e9faff;font-size:.72rem;font-weight:600;letter-spacing:.08em;padding:6px 14px;text-transform:uppercase}.modal-close{align-items:center;background:#ffffff0d;border:1px solid #ffffff26;border-radius:50%;color:#e9faff;cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;transition:background .2s,border-color .2s,transform .25s;width:38px}.modal-close:hover{background:#ffffff1f;border-color:#2af6ff66;transform:rotate(90deg)}.modal-hero{height:280px;overflow:hidden;position:relative}.modal-hero img{display:block;height:100%;object-fit:cover;width:100%}.modal-hero-fade{background:linear-gradient(180deg,#0000 30%,#07101899 70%,#071018);inset:0;pointer-events:none;position:absolute}.modal-body{padding:32px 34px 44px}.modal-title{color:#e9faff;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;line-height:1.15;margin:0 0 10px}.modal-tagline{color:#8ba5b4;font-size:1rem;line-height:1.6;margin:0}.modal-divider{background:#2af6ff14;height:1px;margin:28px 0}.modal-section{margin-bottom:30px}.modal-section-label{align-items:center;color:#2af6ff;display:flex;font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;font-weight:700;gap:10px;letter-spacing:.15em;margin:0 0 14px;text-transform:uppercase}.modal-section-label:after{background:#2af6ff1a;content:"";flex:1 1;height:1px}.modal-text{color:#8ba5b4;font-size:.95rem;line-height:1.8;margin:0}.modal-features{grid-gap:10px 20px;display:grid;gap:10px 20px;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}.modal-features li{align-items:flex-start;color:#8ba5b4;display:flex;font-size:.9rem;gap:10px;line-height:1.5}.feature-dot{background:#2af6ff;border-radius:50%;box-shadow:0 0 8px #2af6ff;flex-shrink:0;height:5px;margin-top:8px;width:5px}.modal-tech-grid{display:flex;flex-wrap:wrap;gap:8px}.modal-tech-tag{background:#2af6ff0f;border:1px solid #2af6ff33;border-radius:999px;color:#c5e8ef;font-family:Inter,sans-serif;font-size:.78rem;font-weight:500;padding:7px 16px;transition:background .2s,border-color .2s}.modal-tech-tag:hover{background:#2af6ff1f;border-color:#2af6ff66}.modal-links{display:flex;flex-wrap:wrap;gap:12px}.modal-link-btn{align-items:center;background:#2af6ff12;border:1px solid #2af6ff40;border-radius:12px;color:#e9faff;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;padding:11px 20px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,color .2s}.modal-link-btn:hover{background:#2af6ff24;border-color:#2af6ff;color:#2af6ff;transform:translateY(-2px)}.modal-note{background:#2af6ff0d;border-left:2px solid #2af6ff66;border-radius:0 10px 10px 0;color:#8ba5b4;font-size:.88rem;line-height:1.65;margin:20px 0 0;padding:14px 18px}@media (max-width:980px){.project-card{grid-column:span 6}.modal-features{grid-template-columns:1fr}}@media (max-width:680px){.projects-container{padding:0 16px 60px}.project-card,.project-card:first-child,.project-card:nth-child(2){grid-column:span 12}.modal-wrapper{padding:16px}.modal-panel{border-radius:22px;max-height:calc(100dvh - 32px)}.modal-hero{height:190px}.modal-body{padding:22px 20px 36px}.modal-header{padding:14px 18px}.modal-features{grid-template-columns:1fr}}.project-live-badge{font-size:.7rem;letter-spacing:.03em;padding:4px 10px;pointer-events:none;right:12px;top:12px}.modal-live-badge,.project-live-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1ad6782e;border:1px solid #22d47a66;border-radius:20px;color:#22d47a;font-weight:600;position:absolute}.modal-live-badge{bottom:16px;font-size:.78rem;left:20px;padding:5px 14px;z-index:2}.modal-link-primary{background:#22d47a1f!important;border-color:#22d47a73!important;color:#22d47a!important}.modal-link-primary:hover{background:#22d47a38!important}:root.light .filter-btn{background:#0000000a;border-color:#0000001f;color:var(--text)}:root.light .filter-btn:hover{background:#00000014;border-color:#00000040}:root.light .filter-btn.active{background:linear-gradient(120deg,var(--accent),var(--accent2));border-color:#0000;color:#fff}:root.light .tech-pill{border-color:#0000001f;color:#555}:root.light .card-title,:root.light .page-title{color:#111}:root.light .projects-page:before{background:radial-gradient(circle at 20% 10%,#0586a70d,#0000 35%),radial-gradient(circle at 80% 20%,#0cb8d40a,#0000 30%)}:root{--bg:#060e18;--bg2:#0c1a27;--bg3:#0f2030;--text:#e8f8ff;--muted:#7a9bb0;--muted2:#4a6a80;--card:#0c1a28d1;--line:#2af6ff1a;--line2:#ffffff14;--accent:#2af6ff;--accent2:#7efff5;--accent3:#0099b0;--green:#22d47a;--radius:18px;--radius-sm:10px}:root.light{--bg:#fff;--bg2:#f8f9fb;--bg3:#f0f2f5;--text:#111;--muted:#4a4a4a;--muted2:#888;--card:#fffffff7;--line:#0586a72e;--line2:#0000001a;--accent:#0586a7;--accent2:#0cb8d4;--accent3:#057a99;--green:#1a8c00}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background-color:#060e18;background-color:var(--bg);color:#e8f8ff;color:var(--text);cursor:none;font-family:Inter,sans-serif;font-size:16px;line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{background-image:radial-gradient(#2af6ff1f 1px,#0000 0);background-size:28px 28px;content:"";inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .4s;z-index:0}:root:not(.light) body:before{opacity:1}a{color:inherit;text-decoration:none}button{font-family:inherit}img{display:block;max-width:100%}.cursor{border:1.5px solid #2af6ff;border:1.5px solid var(--accent);height:28px;mix-blend-mode:screen;transition:transform .08s linear,width .2s,height .2s,opacity .2s,border-color .2s;width:28px;z-index:99999}.cursor,.cursor-dot{border-radius:50%;pointer-events:none;position:fixed;transform:translate(-50%,-50%);will-change:transform}.cursor-dot{background:#2af6ff;background:var(--accent);height:5px;transition:transform .04s linear;width:5px;z-index:100000}.App{min-height:100vh;position:relative}.page-shell{margin:0 auto;max-width:1200px;padding:110px 24px 80px}.section-title{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(2rem,5vw,3.8rem);font-weight:800;letter-spacing:-.01em;line-height:1.1}.glass{background:#0c1a28d1;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--line2);border-radius:18px;border-radius:var(--radius)}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#2af6ff,#7efff5);background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text}.pill{align-items:center;background:#2af6ff0a;border:1px solid #2af6ff1a;border:1px solid var(--line);border-radius:999px;color:#7a9bb0;color:var(--muted);display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:4px 12px}.divider{background:#2af6ff1a;background:var(--line);height:1px;margin:32px 0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#2af6ff1a;background:var(--line);border-radius:4px}:focus-visible{border-radius:4px;outline:2px solid #2af6ff;outline:2px solid var(--accent);outline-offset:3px}
/*# sourceMappingURL=main.03e689c7.css.map*/