@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg:#050b14;--surface:#081321;--surface-2:#0b1727;--border:rgba(95,139,200,0.28);--text:#f3f7ff;--muted:#9caac0;--blue:#3974ff;--blue-2:#5a8dff;--cyan:#21c6ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0,rgba(30,86,190,.13),transparent 28rem),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}::selection{background:rgba(57,116,255,.35)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:72px;padding:0 5.5%;justify-content:space-between;background:rgba(5,11,20,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(95,139,200,.16)}.header,.logo{display:flex;align-items:center}.logo{gap:1px;font-weight:700;font-size:24px}.logoMark{color:var(--blue-2);font-size:25px;font-weight:800;transform:skew(-12deg);display:inline-block}.nav{display:flex;gap:28px;font-size:12px;color:#c4d0e3}.mobileNavActions{display:none}.footer a:hover,.nav a:hover{color:#fff}.headerActions{display:flex;align-items:center;gap:16px;color:#c4d0e3}.headerActions a:not(.cvButton):hover{color:var(--blue-2)}.cvButton{border:1px solid var(--blue-2);border-radius:999px;padding:9px 14px;display:flex;align-items:center;gap:7px;font-size:11px}.menuButton{display:none;background:none;border:0;color:#fff}.section{padding:105px 6%;max-width:1440px;margin:auto}.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;padding-top:65px}.hero,.heroCopy{position:relative}.heroCopy{z-index:2;max-width:660px}.eyebrow{color:#8fb1e9;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;display:block;margin-bottom:12px}.eyebrow:before{content:"◆";color:var(--blue);margin-right:6px;font-size:7px}h1{font-size:clamp(54px,6vw,82px);line-height:.98;letter-spacing:-.055em;margin:0 0 16px}h1 span{color:var(--blue)}h2{font-size:clamp(31px,3vw,43px);letter-spacing:-.04em;margin:0 0 20px}.hero h2{font-size:26px;margin-bottom:18px}p{color:var(--muted);line-height:1.7}.heroCopy>p{max-width:610px;font-size:14px}.heroButtons{display:flex;gap:14px;margin-top:27px}.primaryButton,.secondaryButton{border-radius:999px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;transition:.2s ease}.primaryButton{background:linear-gradient(110deg,#2e63f5,#5b8fff);box-shadow:0 12px 30px rgba(44,99,245,.2);border:1px solid #6692ff;color:#fff}.primaryButton:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(44,99,245,.3)}.secondaryButton{border:1px solid #4f80d5;color:#fff}.secondaryButton:hover{background:rgba(57,116,255,.1)}.small{padding:10px 16px;margin-top:20px}.socials{display:flex;gap:18px;margin-top:27px;color:#dce7f8}.socials a{display:grid;place-items:center;width:20px;height:20px}.socials a:hover{color:var(--blue-2)}.heroVisual{min-height:610px;position:relative;display:grid;place-items:center}.glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45}.glowOne{width:350px;height:350px;background:#1452bd;right:10%;top:20%}.glowTwo{width:220px;height:220px;background:#075e99;left:25%;bottom:5%}.portraitPlaceholder{width:min(300px,75%);aspect-ratio:.78;border-radius:50% 50% 7% 7%;background:linear-gradient(145deg,#12233c,#050b14 70%);display:flex;flex-direction:column;align-items:center;padding-bottom:25px;position:relative;overflow:hidden;box-shadow:0 0 80px rgba(28,91,220,.18)}.portraitPlaceholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,rgba(77,132,255,.3),transparent 30%)}.portraitInitial{font-size:110px;font-weight:800;color:rgba(118,157,230,.22);z-index:1}.portraitPlaceholder img{width:100%;height:100%;object-fit:cover}.portraitPlaceholder span{z-index:1;font-size:9px;color:#7286a3}.floatingSkills{position:absolute;right:-7%;top:18%;display:flex;flex-direction:column;gap:13px;color:#6592db;font-size:12px}.floatingSkills span:before{content:"•";color:var(--blue);margin-right:8px}.scrollHint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:34px;height:34px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;color:#7d91ae}.about{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:70px;gap:70px;border-top:1px solid rgba(95,139,200,.12)}.aboutText{padding-right:30px}.aboutText p{max-width:560px;font-size:13px}.aboutFacts{display:flex;gap:28px;margin:30px 0 12px}.aboutFacts div{display:flex;align-items:center;gap:9px;font-size:10px}.aboutFacts svg{color:#58d6ff;width:22px}.aboutFacts small{color:#71829b;font-size:9px}.skillsPreview h3{font-size:14px;margin:0 0 25px}.skillColumns{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:0;gap:0}.skillColumn{padding:0 20px;border-left:1px solid var(--border)}.skillColumn:first-child{border-left:0;padding-left:0}.skillIcon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(57,116,255,.15);color:#6e9bff;margin-bottom:12px}.skillColumn:nth-child(2) .skillIcon{color:#44ddbf;background:rgba(39,190,155,.12)}.skillColumn:nth-child(3) .skillIcon{color:#c18cff;background:rgba(148,80,255,.13)}.skillColumn:nth-child(4) .skillIcon{color:#ff9c43;background:rgba(255,133,35,.13)}.skillColumn:nth-child(5) .skillIcon{color:#b7c6dd;background:rgba(150,170,200,.12)}.skillColumn strong{font-size:11px}.skillColumn ul{list-style:none;padding:0;margin:11px 0 0}.skillColumn li{font-size:9px;color:#8797ad;margin:7px 0}.sectionHeading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.sectionHeading h2{max-width:720px;margin-bottom:0}.sectionHeading>a{color:#6f9fff;font-size:11px;display:flex;gap:6px;align-items:center;white-space:nowrap}.sectionHeading.single{display:block}.projectFilters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.filterBtn{background:rgba(14,28,48,.7);border:1px solid var(--border);color:#9cb1d1;padding:8px 16px;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;font-family:inherit}.filterBtn:hover{color:#fff;border-color:rgba(99,149,236,.4);background:rgba(20,42,74,.85)}.filterBtn.active{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;border-color:#3b82f6;box-shadow:0 4px 16px rgba(29,78,216,.35)}.filterBtn .filterCount{font-size:10px;opacity:.8;background:rgba(0,0,0,.28);padding:2px 7px;border-radius:999px}.projectGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:18px;gap:18px}.projectCard{border:1px solid var(--border);background:linear-gradient(180deg,rgba(10,25,43,.9),rgba(7,17,29,.9));border-radius:7px;overflow:hidden;transition:.25s ease}.projectCard:hover{transform:translateY(-5px);border-color:rgba(82,135,232,.55)}.projectImage{aspect-ratio:1.55;padding:7px;background:#08111e;overflow:hidden}.projectImage .projectCardImg,.projectImage img{width:100%;height:100%;object-fit:cover;border-radius:7px 7px 0 0;display:block}.imagePlaceholder{width:100%;height:100%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(50,104,205,.27),transparent 50%),#0a1422;color:#6e8ab8;font-size:12px;font-weight:700;border-radius:7px 7px 0 0}.projectBody{padding:14px}.projectCategory{color:#6c9dff;font-size:9px}.projectBody h3{margin:6px 0 7px;font-size:15px}.projectBody p{font-size:12px;line-height:1.55;min-height:55px;margin:0}.tags{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.tags span{border:1px solid rgba(105,140,190,.22);padding:4px 6px;border-radius:4px;font-size:7px;color:#91a6c4}.projectLinks{display:flex;justify-content:space-between;border-top:1px solid rgba(95,139,200,.12);padding-top:11px}.projectLinks a{display:flex;align-items:center;gap:5px;color:#70a0ff;font-size:9px}.competencySection{border-top:1px solid rgba(95,139,200,.12)}.competencyGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}.competencyCard{border:1px solid rgba(95,139,200,.18);background:linear-gradient(180deg,rgba(14,28,48,.75),rgba(7,16,28,.85));border-radius:14px;padding:26px 18px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.competencyCard:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(59,130,246,.12),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.competencyCard:hover{transform:translateY(-5px);border-color:rgba(99,155,255,.55);box-shadow:0 12px 30px rgba(28,91,220,.22)}.competencyCard:hover:before{opacity:1}.competencyCard:hover .techIconWrapper{transform:scale(1.1)}.competencyCard .techIconWrapper{width:48px;height:48px;display:grid;place-items:center;margin-bottom:12px;transition:transform .25s ease;z-index:1}.competencyCard h3{font-size:15px;font-weight:700;color:#f1f5f9;margin:0;letter-spacing:-.2px;z-index:1}.competencyCard .techCategory{font-size:11px;color:#7992b4;margin-top:5px;z-index:1}.timelineSection{border-top:1px solid rgba(95,139,200,.12)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;margin-top:55px}.timelineItem{position:relative;border-top:1px solid #36527b;padding:22px 22px 0 0}.timelineItem+.timelineItem{padding-left:22px}.timelineItem>span{font-size:10px;color:#a6b7d0}.timelineItem h3{font-size:12px;margin:12px 0 7px}.timelineItem p{font-size:9px;line-height:1.6;margin:0;max-width:220px}.timelineDot{position:absolute;width:13px;height:13px;border-radius:50%;border:3px solid #091526;background:var(--blue);top:-7px;left:0;box-shadow:0 0 0 1px #4f7ed5}.timelineItem+.timelineItem .timelineDot{left:0}.contactSection{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:70px;gap:70px;border-top:1px solid rgba(95,139,200,.12)}.contactCopy p{max-width:500px;font-size:12px}.contactDetails{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:30px}.contactDetails a,.contactDetails span{display:flex;gap:9px;align-items:center;font-size:9px;color:#b4c3d8}.contactDetails svg{width:16px;color:#d9e4f6}.contactForm{background:rgba(11,24,41,.75);border:1px solid rgba(95,139,200,.18);border-radius:9px;padding:18px}.formRow{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.contactForm label{display:flex;flex-direction:column;gap:7px;font-size:9px;color:#dbe5f3;margin-bottom:14px}.contactForm input,.contactForm textarea{border:1px solid #263e60;border-radius:6px;background:#091625;color:#fff;padding:11px 12px;outline:none;resize:vertical;font-size:10px}.contactForm input:focus,.contactForm textarea:focus{border-color:#4c83eb}.contactForm .primaryButton{border:0;cursor:pointer}.contactForm .primaryButton:disabled{opacity:.65;cursor:not-allowed}.formSuccess{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#4ade80;border-radius:6px;display:flex;align-items:center;gap:10px}.formError,.formSuccess{padding:12px 14px;font-size:11px;margin-top:14px;line-height:1.4}.formError{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#f87171;border-radius:6px}.footer{border-top:1px solid rgba(95,139,200,.15);padding:30px 6%;display:grid;grid-template-columns:1fr auto 1fr;grid-gap:30px;gap:30px;align-items:center;color:#71839d;font-size:9px}.footer .logo{color:#fff}.footer .logo small{display:block;color:#6d819d;font-size:7px;margin-top:3px}.footer nav{display:flex;gap:25px}@media(max-width:1050px){.projectGrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.competencyGrid{gap:16px}.competencyGrid,.skillColumns{grid-template-columns:repeat(3,1fr)}.skillColumns{gap:20px}.skillColumn:nth-child(4),.skillColumn:nth-child(5){margin-top:20px}.skillColumn:nth-child(4){border-left:0;padding-left:0}}@media(max-width:780px){.header{padding:0 5%}.nav{display:none;position:absolute;left:0;right:0;top:72px;padding:25px;background:rgba(5,11,20,.97);border-bottom:1px solid var(--border);flex-direction:column;align-items:center}.nav.navOpen{display:flex}.mobileNavActions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(95,139,200,.16);width:100%}.mobileNavActions .cvButton{width:100%;max-width:220px;justify-content:center}.mobileNavActions .mobileNavSocials{display:flex;gap:22px;color:#c4d0e3}.mobileNavActions .mobileNavSocials a:hover{color:var(--blue-2)}.headerActions{display:none}.menuButton{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:80px}.heroVisual{min-height:380px}.floatingSkills{right:4%}.section{padding:75px 5%}.about,.contactSection{grid-template-columns:1fr;gap:45px}.skillColumns{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:1fr 1fr;row-gap:45px}.competencyGrid{grid-template-columns:repeat(2,1fr);gap:14px}.footer{grid-template-columns:1fr;text-align:center}.footer .logo,.footer nav{justify-content:center}.footer nav{flex-wrap:wrap}}@media(max-width:520px){h1{font-size:clamp(34px,8.5vw,46px);line-height:1.12;word-break:break-word}.heroButtons{flex-direction:column;width:100%}.heroButtons a{width:100%;justify-content:center}.heroVisual{min-height:215px;display:flex;justify-content:center;align-items:center}.portraitPlaceholder{max-width:160px}.contactDetails,.formRow,.projectGrid,.timeline{grid-template-columns:1fr}.competencyGrid{grid-template-columns:repeat(2,1fr);gap:10px}.competencyCard{padding:18px 10px}.competencyCard .techIconWrapper{width:40px;height:40px;margin-bottom:8px}.competencyCard .techIconWrapper svg{width:30px;height:30px}.competencyCard h3{font-size:13px}.competencyCard .techCategory{font-size:10px}.projectFilters{gap:8px;margin-bottom:20px}.filterBtn{padding:7px 13px;font-size:11px}.skillColumns{grid-template-columns:1fr 1fr}.aboutFacts,.sectionHeading{flex-direction:column}.sectionHeading{align-items:flex-start;gap:14px}}