@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#080d19;--panel:#0e1728;--card:#121d31;--ink:#f2f6ff;--muted:#96a6c0;--blue:#5a8eff;--cyan:#57e3e5;--border:#24314b;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}body::selection{background:#3269b8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;line-height:1.13;letter-spacing:-.035em}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.ambient{position:absolute;z-index:-1;inset:0 0 auto;height:800px;background:radial-gradient(ellipse at 78% 18%,#162b57 0%,transparent 42%),radial-gradient(ellipse at 25% 0%,#10223f 0%,transparent 45%);pointer-events:none}.skip{position:absolute;top:-100px;left:16px;background:#fff;color:#000;padding:10px;z-index:99}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;background:#080d19db;backdrop-filter:blur(18px);border-bottom:1px solid #1c294166}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:700 23px 'Space Grotesk',sans-serif;white-space:nowrap;letter-spacing:-1.2px}.brand span:not(.brand-icon){color:var(--cyan)}.brand-dot{color:var(--blue)!important}.brand-icon{display:inline-grid;place-items:center;border:1px solid #315080;border-radius:10px;font-size:14px;padding:8px;margin-right:8px;color:var(--cyan)}.navlinks{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700;color:#b5c2d7}.navlinks a:hover,.text-link:hover{color:var(--cyan)}.nav-cta{padding:11px 19px;border:1px solid #4163a2;border-radius:9px;color:white!important}.menu-toggle{display:none}.hero{min-height:650px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:48px;padding-top:80px;padding-bottom:90px}.availability{display:inline-flex;gap:10px;align-items:center;border:1px solid #315749;background:#132a28;color:#b7f3d2;padding:7px 13px;border-radius:99px;font-size:12px;margin-bottom:35px}.pulse,.green-dot{background:#4ee3a2;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #4ee3a222}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.19em;color:var(--cyan);margin-bottom:19px}.hero h1{font-size:clamp(43px,5.3vw,79px);margin-bottom:20px;line-height:1.07}.hero h1 span:not(.accent),.section-heading h2 span,.contact-panel h2 span{color:var(--blue)}.accent{color:var(--cyan)}.hero h2{font-size:clamp(18px,2.2vw,25px);margin:0 0 23px}.muted{color:var(--muted)}.lead{font-size:17px;max-width:570px;color:#abb9cf}.hero-actions,.contact-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:31px}.btn{display:inline-flex;gap:18px;align-items:center;justify-content:center;border-radius:10px;padding:14px 22px;font-weight:700;font-size:14px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.primary{background:linear-gradient(120deg,#477af2,#39b1e0);color:#fff;box-shadow:0 8px 28px #336efa37}.outline{border:1px solid #385078;background:#101b2f}.hero-tech{display:flex;gap:9px;flex-wrap:wrap;margin-top:36px}.hero-tech span{font:600 11px 'Space Grotesk';letter-spacing:.1em;color:#8ca4c9;border-right:1px solid #355076;padding-right:12px}.hero-tech span:last-child{border:0}.hero-visual{position:relative;max-width:420px;justify-self:center;width:100%;}.photo-halo{position:absolute;inset:2% -7% -3%;background:radial-gradient(ellipse,#3c8df25e,transparent 68%);filter:blur(18px)}.photo-card{position:relative;aspect-ratio:4/4.9;overflow:hidden;border:1px solid #5a8eff55;border-radius:32px;background:#162540;transform:rotate(1deg);box-shadow:0 30px 90px #0006}.photo-card img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.code-pill,.floating-tag{position:absolute;background:#101a2dea;border:1px solid #41648b;border-radius:12px;padding:11px 16px;box-shadow:0 12px 30px #0007;color:#ccdcf4;font-size:13px}.code-pill{bottom:30px;left:-45px;display:flex;align-items:center;gap:10px}.code-pill .green-dot{display:inline-block}.floating-tag{top:40px;right:-38px;font-family:monospace;color:var(--cyan)}.section{padding-block:95px}.section-panel{background:linear-gradient(180deg,#0d1626,#0b1322);border-block:1px solid #1c2940}.section-heading{margin-bottom:42px}.section-heading h2,.contact-panel h2{font-size:clamp(32px,4.1vw,52px);margin-bottom:14px}.section-heading>p:last-child{color:var(--muted);max-width:680px}.about-grid{display:grid;grid-template-columns:1fr .95fr;gap:70px;align-items:center}.about-grid p{color:var(--muted)}.about-grid .body-large{font-size:18px;color:#c6d1e2}.about-grid strong{color:#fff}.text-link{display:inline-block;margin-top:10px;color:var(--cyan);font-weight:700}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fact{border:1px solid var(--border);border-radius:14px;padding:22px;background:#111c2d}.fact span,.fact small{display:block;color:var(--muted);font-size:12px}.fact strong{display:block;font:700 23px 'Space Grotesk';margin:9px 0 5px}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.skill-card{background:#111e32;border:1px solid var(--border);border-radius:17px;padding:28px}.skill-icon{font-size:26px;color:var(--cyan);margin-bottom:14px}.skill-card h3{font-size:21px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{border:1px solid #30445f;background:#16243a;border-radius:7px;padding:6px 10px;font-size:12px;color:#b7c9df}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter{color:#9fafc6;background:#101a2a;border:1px solid var(--border);padding:9px 16px;border-radius:99px;font-size:13px}.filter.active,.filter:hover{background:#2556a5;color:white;border-color:#3e82ed}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#101a2b;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#4a77bd;transform:translateY(-3px)}.project-image{height:210px;overflow:hidden;background:linear-gradient(135deg,#142d51,#0f1d30);display:flex;align-items:center;justify-content:center;position:relative}.project-image img{width:100%;height:100%;object-fit:cover}.no-image{flex-direction:column;gap:12px}.placeholder-symbol{font:700 58px monospace;color:#70a8ff66}.placeholder-caption{font-size:12px;color:#95b1d2}.project-info{padding:25px}.project-category,.time{color:var(--cyan);font-size:12px;font-weight:700;letter-spacing:.07em}.project-info h3{font-size:23px;margin:12px 0}.project-info p{color:var(--muted);font-size:14px;min-height:47px}.project-more{margin-top:22px;background:none;border:0;color:#91bcff;padding:0;font-weight:700;font-size:14px}.project-more:hover{text-decoration:underline}.timeline-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.column-title{font-size:23px;margin-bottom:25px}.timeline{border-left:1px solid #355077;padding-left:28px}.timeline article{position:relative;margin-bottom:33px}.timeline article::before{content:'';width:11px;height:11px;background:#62a6ff;border:4px solid #132641;border-radius:50%;position:absolute;left:-38px;top:4px}.timeline h4,.education h4{font-size:21px;margin:10px 0}.timeline p,.education p{font-size:14px;color:var(--muted)}.education{border:1px solid var(--border);padding:27px;border-radius:16px;background:#101b2d}.educ-note{border-top:1px solid var(--border);margin-top:20px;padding-top:18px;font-size:13px;color:#b5c5de}.cv-button{margin-top:24px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-grid article{background:#0e1829;border:1px solid var(--border);border-radius:14px;padding:26px}.service-grid article span{font:700 12px monospace;color:var(--cyan)}.service-grid h3{font-size:21px;margin:22px 0 12px}.service-grid p{font-size:14px;color:var(--muted);margin:0}.contact-panel{background:linear-gradient(115deg,#15274b,#101b30);border:1px solid #42629a;border-radius:24px;padding:55px;display:grid;grid-template-columns:1.4fr .8fr;gap:45px;align-items:center}.contact-panel p:not(.eyebrow){color:#bac9dc}.contact-side{display:flex;flex-direction:column;gap:7px;border-left:1px solid #3a5580;padding-left:38px}.contact-side span{font-size:11px;letter-spacing:.15em;color:var(--cyan)}.contact-side strong{font:700 25px 'Space Grotesk'}.contact-side small{color:var(--muted)}.signal{margin-top:23px;color:#91ddae;font-size:12px}.footer{border-top:1px solid #26334d}.footer-inner{min-height:100px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer small,.footer a:last-child{color:var(--muted);font-size:12px}.project-dialog{background:#0f1a2d;border:1px solid #44618b;color:#ecf2ff;border-radius:18px;padding:32px;width:min(670px,calc(100% - 25px));max-height:85vh}.project-dialog::backdrop{background:#020715dc;backdrop-filter:blur(5px)}.project-dialog h2{font-size:32px;margin:14px 0}.project-dialog p{color:#b3c2d9}.close-dialog{float:right;border:1px solid #435979;border-radius:8px;background:#1b2a42;color:white;padding:6px 11px}.dialog-image{display:block;width:100%;border-radius:12px;margin:16px 0}.modal-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media(max-width:900px){.navlinks{gap:12px}.hero{gap:25px}.code-pill{left:-10px}.floating-tag{right:-10px}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.container{width:min(100% - 32px,var(--max))}.nav{height:70px}.menu-toggle{display:flex;width:43px;height:43px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--border);background:#111e31;border-radius:9px}.menu-toggle span{width:19px;height:2px;background:white}.navlinks{display:none;position:absolute;top:70px;left:0;right:0;background:#0a1322;padding:22px 18px 28px;border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:16px}.navlinks.is-open{display:flex}.hero{padding-block:55px;grid-template-columns:1fr;gap:55px}.hero h1{font-size:clamp(43px,10vw,64px)}.hero-visual{max-width:350px}.photo-card{aspect-ratio:4/4.5}.section{padding-block:65px}.about-grid,.timeline-grid,.contact-panel{grid-template-columns:1fr;gap:28px}.skill-grid,.project-grid,.service-grid{grid-template-columns:1fr}.contact-panel{padding:28px}.contact-side{border-left:0;border-top:1px solid #3a5580;padding:25px 0 0}.footer-inner{padding-block:25px;flex-direction:column;text-align:center}.fact{padding:16px}.fact strong{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
