body{-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--accent-1:#6366f1;--accent-2:#a855f7;--accent-3:#22d3ee;--gradient:linear-gradient(120deg,var(--accent-1),var(--accent-2) 55%,var(--accent-3));--radius:18px;--maxw:1140px;--shadow-sm:0 6px 24px #0000002e;--shadow-lg:0 30px 70px #00000059;--ring:0 0 0 1px var(--border)}body.dark-theme{--bg:#060912;--bg-soft:#0c1120;--surface:hsla(0,0%,100%,.045);--surface-strong:#ffffff14;--border:#ffffff17;--border-strong:#ffffff29;--fg:#eef2fb;--muted:#9aa6bd;--nav-bg:#080b1499;--grid-color:hsla(0,0%,100%,.035);--chip-bg:#ffffff0d;--icon-adaptive:#f5f7fb}body.light-theme{--bg:#f3f5fc;--bg-soft:#fff;--surface:#ffffffd9;--surface-strong:#fff;--border:#4f46e524;--border-strong:#4f46e547;--fg:#161d2e;--muted:#5b6478;--nav-bg:#f3f5fcc7;--grid-color:#4f46e50d;--chip-bg:#ffffffe6;--shadow-sm:0 8px 26px #4f46e51f;--shadow-lg:0 28px 64px #4f46e52e;--icon-adaptive:#1a2233}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--fg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;transition:background-color .4s ease,color .4s ease}html{scroll-behavior:smooth}.App{overflow-x:clip;position:relative}.container{margin:0 auto;max-width:1140px;max-width:var(--maxw);padding:0 24px;width:100%}a{color:inherit;text-decoration:none}.btn:focus-visible,a:focus-visible,button:focus-visible{border-radius:6px;outline:3px solid #22d3ee;outline:3px solid var(--accent-3);outline-offset:3px}.skip-link{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-radius:10px;color:#fff;font-weight:600;left:16px;padding:10px 18px;position:absolute;top:-60px;transition:top .2s ease;z-index:2000}.skip-link:focus{top:16px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.bg-layer{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.bg-aurora{animation:auroraDrift 24s ease-in-out infinite alternate;background:radial-gradient(40% 50% at 18% 12%,#6366f159,#0000 60%),radial-gradient(35% 45% at 85% 18%,#22d3ee47,#0000 60%),radial-gradient(45% 55% at 60% 95%,#a855f74d,#0000 60%);filter:blur(20px);inset:-20%;position:absolute}body.light-theme{background:radial-gradient(60% 50% at 50% 0,#eef0fe 0,#0000 70%),var(--bg)}body.light-theme .bg-aurora{background:radial-gradient(40% 50% at 15% 10%,#6366f147,#0000 60%),radial-gradient(38% 48% at 88% 16%,#22d3ee3d,#0000 60%),radial-gradient(48% 55% at 60% 98%,#a855f742,#0000 60%);opacity:.85}@keyframes auroraDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-3%,2%,0) scale(1.08)}}.bg-grid{background-image:linear-gradient(var(--grid-color) 1px,#0000 1px),linear-gradient(90deg,var(--grid-color) 1px,#0000 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(ellipse 100% 80% at 50% 0,#000 40%,#0000 85%);mask-image:radial-gradient(ellipse 100% 80% at 50% 0,#000 40%,#0000 85%)}.bg-grid,.bg-noise{inset:0;position:absolute}.bg-noise{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.035'/%3E%3C/svg%3E");opacity:.5}body.light-theme .bg-noise{opacity:.12}.scroll-progress{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);box-shadow:0 0 14px #a855f7;box-shadow:0 0 14px var(--accent-2);height:3px;transition:width .1s linear;z-index:1000}.navbar,.scroll-progress{left:0;position:fixed;top:0}.navbar{backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);background:var(--nav-bg);border-bottom:1px solid var(--border);right:0;z-index:900}.nav-container{gap:16px;justify-content:space-between;margin:0 auto;max-width:1140px;max-width:var(--maxw);padding:13px 24px}.nav-container,.nav-logo{align-items:center;display:flex}.nav-logo{font-family:Sora,sans-serif;font-weight:700;gap:11px}.logo-mark{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-radius:12px;box-shadow:0 8px 22px #6366f180;color:#fff;display:grid;font-size:.95rem;height:40px;letter-spacing:.5px;place-items:center;width:40px}.logo-text{font-size:1.05rem}.nav-links{align-items:center;display:flex;gap:4px;list-style:none;margin:0;padding:0}.nav-links a{border-radius:10px;color:var(--muted);font-size:.92rem;font-weight:500;padding:8px 14px;position:relative;transition:color .25s,background .25s}.nav-links a:hover{background:var(--surface);color:var(--fg)}.nav-links a.active{color:var(--fg)}.nav-links a.active:after{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-radius:2px;bottom:3px;content:"";height:2px;left:14px;position:absolute;right:14px}.nav-actions{align-items:center;display:flex;gap:10px}.theme-toggle{background:var(--surface);border:1px solid var(--border);border-radius:11px;color:var(--fg);cursor:pointer;font-size:1.15rem;height:40px;transition:transform .25s,background .25s;width:40px}.theme-toggle:hover{background:var(--surface-strong);transform:rotate(-18deg) scale(1.08)}.menu-icon{background:var(--surface);border:1px solid var(--border);border-radius:11px;cursor:pointer;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:0 9px;width:42px}.menu-icon span{background:var(--fg);border-radius:2px;display:block;height:2px;transition:transform .3s,opacity .3s;width:100%}.menu-icon.open span:first-child{transform:translateY(7px) rotate(45deg)}.menu-icon.open span:nth-child(2){opacity:0}.menu-icon.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.btn{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:9px;padding:13px 26px;transition:transform .2s,box-shadow .25s,background .25s}.btn svg{font-size:1rem}.btn-primary{animation:gradientShift 7s ease infinite;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);background-size:200% 200%;box-shadow:0 14px 32px #6366f173;color:#fff}.btn-primary:hover{box-shadow:0 20px 44px #6366f199;transform:translateY(-3px)}.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--fg)}.btn-ghost:hover{background:var(--surface-strong);transform:translateY(-3px)}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.hero{display:flex;min-height:100vh;padding:120px 0 80px;position:relative;z-index:1}.hero,.hero-inner{align-items:center}.hero-inner{grid-gap:64px;display:grid;gap:64px;grid-template-columns:1.15fr .85fr}.availability-pill{align-items:center;animation:fadeUp .7s ease both;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;color:var(--fg);display:inline-flex;font-size:.84rem;font-weight:600;gap:9px;margin-bottom:18px;padding:7px 15px}.status-dot{animation:pulseDot 2s infinite;background:#22c55e;border-radius:50%;box-shadow:0 0 0 0 #22c55eb3;height:9px;position:relative;width:9px}@keyframes pulseDot{0%{box-shadow:0 0 0 0 #22c55e99}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 0 0 #22c55e00}}.hero-greeting{animation:fadeUp .7s ease both;color:var(--muted);font-size:1.05rem;margin:0 0 10px}.wave{animation:wave 2.4s ease-in-out infinite;display:inline-block;transform-origin:70% 70%}@keyframes wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}}.hero-name{-webkit-text-fill-color:#0000;animation:fadeUp .7s ease .1s both,nameShimmer 8s linear infinite;background:linear-gradient(100deg,var(--fg) 20%,#a855f7 40%,#22d3ee 50%,#a855f7 60%,var(--fg) 80%);background:linear-gradient(100deg,var(--fg) 20%,var(--accent-2) 40%,var(--accent-3) 50%,var(--accent-2) 60%,var(--fg) 80%);-webkit-background-clip:text;background-clip:text;background-size:200% auto;font-family:Sora,sans-serif;font-size:clamp(2.3rem,6vw,4.1rem);letter-spacing:-.5px;line-height:1.04;margin:0 0 14px}@keyframes nameShimmer{to{background-position:-200%}}.hero-role{animation:fadeUp .7s ease .2s both;font-size:clamp(1.2rem,3vw,1.9rem);font-weight:700;margin:0 0 22px;min-height:2.4rem}.role-text{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);-webkit-background-clip:text;background-clip:text}.cursor-blink{animation:blink 1s step-end infinite;color:#22d3ee;color:var(--accent-3);font-weight:400}@keyframes blink{50%{opacity:0}}.hero-tagline{animation:fadeUp .7s ease .3s both;color:var(--muted);font-size:1.08rem;line-height:1.75;margin:0 0 30px;max-width:560px}.hero-tagline strong{color:var(--fg);font-weight:600}.hero-cta{animation:fadeUp .7s ease .4s both;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}.hero-socials{animation:fadeUp .7s ease .5s both;display:flex;gap:12px}.hero-socials a{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:grid;font-size:1.3rem;height:48px;place-items:center;transition:transform .2s,background .25s,box-shadow .25s,color .25s;width:48px}.hero-socials a:hover{background:var(--surface-strong);box-shadow:0 6px 24px #0000002e;box-shadow:var(--shadow-sm);color:#22d3ee;color:var(--accent-3);transform:translateY(-5px)}.hero-visual{animation:fadeIn 1s ease .3s both;display:flex;justify-content:center;position:relative}.profile-ring{animation:gradientShift 7s ease infinite,floatY 5.5s ease-in-out infinite;aspect-ratio:1;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);background-size:200% 200%;border-radius:50%;box-shadow:0 30px 80px #6366f180;padding:6px;position:relative;width:clamp(250px,30vw,340px)}.profile-ring:before{animation:spin 26s linear infinite;border:1px dashed #22d3ee;border:1px dashed var(--accent-3);border-radius:50%;content:"";inset:-16px;opacity:.4;position:absolute}.profile-glow{background:radial-gradient(circle,#a855f780,#0000 70%);border-radius:50%;filter:blur(26px);inset:8%;position:absolute;z-index:-1}.profile-img{background:var(--bg-soft);border:5px solid var(--bg);border-radius:50%;cursor:zoom-in;height:100%;object-fit:cover;transition:transform .35s;width:100%}.profile-img:hover{transform:scale(1.03)}.badge{align-items:center;animation:floatY 4.5s ease-in-out infinite;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface-strong);border:1px solid var(--border-strong);border-radius:999px;box-shadow:0 6px 24px #0000002e;box-shadow:var(--shadow-sm);display:inline-flex;font-size:.85rem;font-weight:600;gap:7px;padding:9px 15px;position:absolute}.badge svg{font-size:1.05rem}.badge-1{animation-delay:0s;left:2%;top:8%}.badge-2{animation-delay:-1.5s;right:-6%;top:44%}.badge-3{animation-delay:-3s;bottom:8%;left:6%}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes spin{to{transform:rotate(1turn)}}.scroll-hint{bottom:26px;left:50%;position:absolute;transform:translateX(-50%);z-index:2}.mouse{border:2px solid var(--muted);border-radius:14px;display:block;height:42px;position:relative;width:26px}.wheel{animation:wheel 1.6s ease infinite;background:#22d3ee;background:var(--accent-3);border-radius:2px;height:8px;left:50%;margin-left:-2px;position:absolute;top:7px;width:4px}@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(16px)}}.section{padding:92px 24px;position:relative;z-index:1}.section-head{margin-bottom:50px;text-align:center}.section-kicker{color:#22d3ee;color:var(--accent-3);display:block;font-size:.82rem;font-weight:600;letter-spacing:2px;margin-bottom:12px;text-transform:uppercase}.section-title{display:inline-block;font-family:Sora,sans-serif;font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.5px;margin:0}.section-title:after{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-radius:4px;content:"";display:block;height:4px;margin:16px auto 0;width:64px}.section-sub{color:var(--muted);font-size:1.05rem;line-height:1.6;margin:18px auto 0;max-width:540px}.reveal{opacity:0;transform:translateY(38px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.about-body{margin:0 auto;max-width:820px;text-align:center}.about-body p{color:var(--muted);font-size:1.1rem;line-height:1.85;margin:0 0 18px}.about-body strong{color:var(--fg);font-weight:600}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin:54px auto 0;max-width:900px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;border-radius:var(--radius);padding:28px 16px;text-align:center;transition:transform .3s,box-shadow .3s,border-color .3s}.stat-card:hover{border-color:var(--border-strong);box-shadow:0 6px 24px #0000002e;box-shadow:var(--shadow-sm);transform:translateY(-6px)}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);-webkit-background-clip:text;background-clip:text;font-family:Sora,sans-serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:800}.stat-label{color:var(--muted);font-size:.9rem;margin-top:6px}.tech-marquee{margin-top:56px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);overflow:hidden}.tech-track{animation:marquee 32s linear infinite;display:flex;gap:16px;width:max-content}.tech-marquee:hover .tech-track{animation-play-state:paused}.tech-chip{align-items:center;background:var(--chip-bg);border:1px solid var(--border);border-radius:14px;display:inline-flex;font-size:.92rem;font-weight:600;gap:9px;padding:11px 18px;transition:transform .25s,border-color .25s;white-space:nowrap}.tech-chip svg{font-size:1.35rem}.tech-chip:hover{border-color:var(--border-strong);transform:translateY(-4px)}@keyframes marquee{to{transform:translateX(-50%)}}.spotlight{position:relative}.spotlight:after{background:radial-gradient(260px circle at 50% 0,#7c7aff29,#0000 60%);background:radial-gradient(260px circle at var(--mx,50%) var(--my,0),#7c7aff29,#0000 60%);border-radius:inherit;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s ease;z-index:1}.spotlight:hover:after{opacity:1}.spotlight>*{position:relative;z-index:2}.skills-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;border-radius:var(--radius);overflow:hidden;padding:26px;position:relative;transition:transform .3s,box-shadow .3s,border-color .3s}.skill-card:before{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.skill-card:hover{border-color:var(--border-strong);box-shadow:0 30px 70px #00000059;box-shadow:var(--shadow-lg);transform:translateY(-8px)}.skill-card:hover:before{opacity:1}.skill-card-head{align-items:center;display:flex;gap:13px;margin-bottom:18px}.skill-icon{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-radius:13px;box-shadow:0 8px 20px #6366f159;color:#fff;display:grid;font-size:1.35rem;height:48px;place-items:center;width:48px}.skill-card-head h3{font-family:Sora,sans-serif;font-size:1.2rem;margin:0}.skill-tags{display:flex;flex-wrap:wrap;gap:9px}.skill-tag{align-items:center;background:var(--chip-bg);border:1px solid var(--border);border-radius:999px;color:var(--fg);display:inline-flex;font-size:.84rem;font-weight:500;gap:7px;padding:7px 13px;transition:border-color .2s,transform .2s}.skill-tag svg{font-size:1rem}.skill-tag:hover{border-color:var(--border-strong);transform:translateY(-2px)}.timeline{margin:0 auto;max-width:860px;padding-left:46px;position:relative}.timeline:before{background:linear-gradient(#6366f1,#a855f7,#22d3ee);background:linear-gradient(var(--accent-1),var(--accent-2),var(--accent-3));bottom:8px;content:"";left:15px;opacity:.45;position:absolute;top:8px;width:2px}.timeline-item{margin-bottom:30px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-radius:50%;box-shadow:0 0 0 5px var(--bg),0 0 18px #6366f199;color:#fff;display:grid;font-size:.8rem;height:32px;left:-46px;place-items:center;position:absolute;top:4px;width:32px}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;border-radius:var(--radius);padding:24px 26px;transition:transform .3s,box-shadow .3s,border-color .3s}.timeline-card:hover{border-color:var(--border-strong);box-shadow:0 6px 24px #0000002e;box-shadow:var(--shadow-sm);transform:translateX(6px)}.timeline-top{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.timeline-top h3{font-family:Sora,sans-serif;font-size:1.2rem;margin:0}.timeline-period{background:var(--chip-bg);border:1px solid var(--border);border-radius:999px;color:#22d3ee;color:var(--accent-3);font-size:.8rem;font-weight:600;padding:4px 12px;white-space:nowrap}.timeline-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;margin:6px 0 10px}.timeline-company{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);-webkit-background-clip:text;background-clip:text;font-size:1.02rem;font-weight:700}.timeline-location{align-items:center;color:var(--muted);display:inline-flex;font-size:.84rem;gap:5px}.timeline-location svg{font-size:.85rem}.timeline-summary{color:var(--fg);font-size:.96rem;font-style:italic;margin:0 0 14px;opacity:.9}.timeline-card ul{margin:0 0 16px;padding-left:20px}.timeline-card li{color:var(--muted);line-height:1.65;margin-bottom:8px}.timeline-tags{display:flex;flex-wrap:wrap;gap:8px}.timeline-tags span{background:#6366f121;border:1px solid #6366f147;border-radius:999px;color:#a855f7;color:var(--accent-2);font-size:.78rem;font-weight:500;padding:4px 11px}body.light-theme .timeline-tags span{color:#6366f1;color:var(--accent-1)}.edu-grid{grid-gap:26px;display:grid;gap:26px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:920px}.edu-col-title{align-items:center;display:flex;font-family:Sora,sans-serif;font-size:1.15rem;gap:10px;margin:0 0 16px}.edu-col-title svg{color:#a855f7;color:var(--accent-2);font-size:1.3rem}.edu-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;border-radius:var(--radius);margin-bottom:16px;padding:22px 24px;transition:transform .3s,box-shadow .3s,border-color .3s}.edu-card:hover{border-color:var(--border-strong);box-shadow:0 6px 24px #0000002e;box-shadow:var(--shadow-sm);transform:translateY(-5px)}.edu-card h4{font-family:Sora,sans-serif;font-size:1.04rem;margin:0 0 6px}.edu-school{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);-webkit-background-clip:text;background-clip:text;font-weight:600;margin:0 0 6px}.edu-loc{align-items:center;color:var(--muted);display:flex;font-size:.86rem;gap:6px;margin:0}.edu-loc svg{font-size:.85rem}.cert-list{list-style:none;margin:0;padding:0}.cert-list li{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:.97rem;font-weight:500;gap:11px;padding:11px 0}.cert-list li:last-child{border-bottom:none}.cert-list svg{color:#22c55e;flex-shrink:0;font-size:1.15rem}.projects-grid{grid-gap:26px;display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}.project-card:hover{border-color:var(--border-strong);box-shadow:0 30px 70px #00000059;box-shadow:var(--shadow-lg);transform:translateY(-10px)}.project-banner{display:grid;height:140px;overflow:hidden;place-items:center;position:relative}.project-banner:after{background:radial-gradient(circle at 30% 20%,#fff6,#0000 60%);content:"";inset:0;position:absolute}.project-banner:before{background:linear-gradient(100deg,#0000,#ffffff73,#0000);content:"";height:100%;left:-120%;position:absolute;top:0;transform:skewX(-20deg);width:70%;z-index:1}.project-card:hover .project-banner:before{animation:shine .9s ease}@keyframes shine{to{left:150%}}.project-icon{color:#fff;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));font-size:3rem;transition:transform .35s}.project-card:hover .project-icon{transform:scale(1.2) rotate(-6deg)}.project-body{display:flex;flex:1 1;flex-direction:column;padding:24px 26px 28px}.project-body h3{font-family:Sora,sans-serif;font-size:1.25rem;margin:0 0 10px}.project-body p{color:var(--muted);font-size:.97rem;line-height:1.7;margin:0 0 18px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.project-tags span{background:var(--chip-bg);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:500;padding:4px 12px}.project-links{display:flex;gap:10px;margin-top:18px}.project-link{align-items:center;background:var(--chip-bg);border:1px solid var(--border-strong);border-radius:10px;color:var(--fg);display:inline-flex;font-size:.85rem;font-weight:600;gap:7px;padding:9px 16px;transition:transform .2s,border-color .2s,background .2s}.project-link svg{font-size:.95rem}.project-link:hover{border-color:#a855f7;border-color:var(--accent-2);transform:translateY(-2px)}.project-link.primary{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-color:#0000;color:#fff}.contact-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto 40px;max-width:640px}.contact-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;border-radius:var(--radius);display:flex;gap:16px;padding:22px 24px;transition:transform .3s,box-shadow .3s,border-color .3s}.contact-card:hover{border-color:var(--border-strong);box-shadow:0 6px 24px #0000002e;box-shadow:var(--shadow-sm);transform:translateY(-6px)}.contact-icon{background:var(--chip-bg);border:1px solid var(--border);border-radius:14px;display:grid;flex-shrink:0;font-size:1.4rem;height:50px;place-items:center;width:50px}.contact-meta{display:flex;flex-direction:column;min-width:0}.contact-label{color:var(--muted);font-size:.78rem;letter-spacing:1px;text-transform:uppercase}.contact-value{font-size:.95rem;font-weight:600;overflow-wrap:anywhere;word-break:break-word}.contact-cta,.footer{text-align:center}.footer{border-top:1px solid var(--border);padding:44px 24px;position:relative;z-index:1}.footer-name{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);-webkit-background-clip:text;background-clip:text;font-family:Sora,sans-serif;font-size:1.15rem;font-weight:700;margin:0 0 6px}.footer-note{color:var(--muted);font-size:.88rem;margin:0}.modal-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d1;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:1100}.modal-content{animation:zoomIn .35s cubic-bezier(.16,1,.3,1);max-width:460px;position:relative;width:100%}.full-image{border:3px solid #a855f7;border:3px solid var(--accent-2);border-radius:20px;box-shadow:0 30px 70px #00000059;box-shadow:var(--shadow-lg);width:100%}.close-button{background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border:none;border-radius:50%;box-shadow:0 6px 24px #0000002e;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:1rem;height:40px;position:absolute;right:-16px;top:-16px;width:40px}.scroll-to-top{animation:fadeUp .4s ease;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border:none;border-radius:14px;bottom:26px;box-shadow:0 30px 70px #00000059;box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;display:grid;font-size:1.05rem;height:48px;place-items:center;position:fixed;right:26px;transition:transform .2s;width:48px;z-index:950}.scroll-to-top:hover{transform:translateY(-4px)}.contact-float{align-items:center;background:linear-gradient(120deg,#6366f1,#a855f7 55%,#22d3ee);background:var(--gradient);border-radius:999px;bottom:26px;box-shadow:0 30px 70px #00000059;box-shadow:var(--shadow-lg);color:#fff;display:flex;font-size:.92rem;font-weight:600;gap:8px;left:26px;padding:12px 18px;position:fixed;transition:transform .2s;z-index:950}.contact-float:hover{transform:translateY(-4px) scale(1.04)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.hero-inner{gap:44px;grid-template-columns:1fr;text-align:center}.hero-visual{order:-1}.hero-tagline{margin-left:auto;margin-right:auto}.hero-cta,.hero-socials{justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{max-width:420px}.contact-grid,.edu-grid{grid-template-columns:1fr}.edu-grid{max-width:520px}.badge-1{left:2%}.badge-2{right:2%}}@media (max-width:768px){.menu-icon{display:flex}.nav-links{align-items:stretch;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:var(--nav-bg);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;left:0;opacity:0;padding:16px 20px 24px;pointer-events:none;position:fixed;right:0;top:67px;transform:translateY(-130%);transition:transform .35s,opacity .35s}.nav-links.active{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{display:block;font-size:1rem;padding:12px 14px}.contact-float span,.logo-text,.nav-links a.active:after{display:none}.contact-float{font-size:1.2rem;padding:14px}}@media (max-width:480px){.section{padding:64px 18px}.timeline-top{align-items:flex-start;flex-direction:column}.btn{justify-content:center;width:100%}.badge{display:none}}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-cyrillic-ext-300-normal.fefc551b7396b899b5ee.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-300-normal.bb744e52181efeb1e20a.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-cyrillic-300-normal.444fc46382ddebf9206b.woff2) format("woff2"),url(/static/media/inter-cyrillic-300-normal.4303dad54c0440af6b9d.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-greek-ext-300-normal.544089023996bb0a2e03.woff2) format("woff2"),url(/static/media/inter-greek-ext-300-normal.11f7f5fefca8b9a10797.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-greek-300-normal.36c1e0d5e770cc6a3971.woff2) format("woff2"),url(/static/media/inter-greek-300-normal.45fe2c6dbf7f7b48c190.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-vietnamese-300-normal.2a4055b17286ecdd503d.woff2) format("woff2"),url(/static/media/inter-vietnamese-300-normal.364184c9994e78d1ec87.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-latin-ext-300-normal.c339d02bc1066c5eb0eb.woff2) format("woff2"),url(/static/media/inter-latin-ext-300-normal.8eeafc82bf1e3850a262.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/static/media/inter-latin-300-normal.eb229bb9406cc043d5a4.woff2) format("woff2"),url(/static/media/inter-latin-300-normal.07e0e0017a987f6c727e.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-ext-400-normal.39fbf8d2c4abc46f721f.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-400-normal.818b84180553acc613f3.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-400-normal.89455522650c3fb3654c.woff2) format("woff2"),url(/static/media/inter-cyrillic-400-normal.dd21c71421d58232ef03.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-ext-400-normal.f2ef63e732b18d636044.woff2) format("woff2"),url(/static/media/inter-greek-ext-400-normal.fc80974ec6969ee03fd2.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-400-normal.e685387f69602567b1da.woff2) format("woff2"),url(/static/media/inter-greek-400-normal.b412faded087fbcfa4ff.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-vietnamese-400-normal.44c9df135eec470b0ab6.woff2) format("woff2"),url(/static/media/inter-vietnamese-400-normal.aaa15d735e3826061950.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-ext-400-normal.210fb826cb25acbd4094.woff2) format("woff2"),url(/static/media/inter-latin-ext-400-normal.c616205185f0d3677df9.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-400-normal.eca1e21531598d5db58f.woff2) format("woff2"),url(/static/media/inter-latin-400-normal.2ea1079c0069eb040a52.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-ext-500-normal.b2740f247d3be4a05ca0.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-500-normal.e9974e820735012b025b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-500-normal.33a76a7cbcfcb7076534.woff2) format("woff2"),url(/static/media/inter-cyrillic-500-normal.72f7a9db87626ca30c76.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-ext-500-normal.4c6d520b97e3bb4ef613.woff2) format("woff2"),url(/static/media/inter-greek-ext-500-normal.47cc2391a7edf82cf4e1.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-500-normal.e7cec4ef4f6780e90a52.woff2) format("woff2"),url(/static/media/inter-greek-500-normal.6d34bacda2be54829b97.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-vietnamese-500-normal.63d02ea896a7406849b6.woff2) format("woff2"),url(/static/media/inter-vietnamese-500-normal.296d66c0bba9086788b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-ext-500-normal.cdb4dd5dc508fe6e7398.woff2) format("woff2"),url(/static/media/inter-latin-ext-500-normal.2f93aaa35e870cec4704.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-500-normal.b7c27c60f848f2083f45.woff2) format("woff2"),url(/static/media/inter-latin-500-normal.5014db633e71a7741bf5.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-ext-600-normal.8c6413cdd8004fde0a19.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-600-normal.d6d44e8705a633436dfe.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-600-normal.fdee7b66c2d88216b75f.woff2) format("woff2"),url(/static/media/inter-cyrillic-600-normal.8609e1b95284125f21cb.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-ext-600-normal.c3c138d889b8c929822c.woff2) format("woff2"),url(/static/media/inter-greek-ext-600-normal.c7983dac0ad6a359aef0.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-600-normal.984050ecee12eabe9366.woff2) format("woff2"),url(/static/media/inter-greek-600-normal.d8b0044cf6afdd52b07b.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-vietnamese-600-normal.6984cf5e8583fac83be3.woff2) format("woff2"),url(/static/media/inter-vietnamese-600-normal.04bb56ffa463ab55708d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-ext-600-normal.8148c3ae14dfaefc62ca.woff2) format("woff2"),url(/static/media/inter-latin-ext-600-normal.4d0d5017d71ea1750fc1.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-600-normal.69a8d1d484967aba2389.woff2) format("woff2"),url(/static/media/inter-latin-600-normal.f10265da6bd8d66999ac.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-ext-700-normal.b0c28c6752a13fa5abaf.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-700-normal.43f6f7e8a4205f05e58c.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-cyrillic-700-normal.533055ff3700190d8dfa.woff2) format("woff2"),url(/static/media/inter-cyrillic-700-normal.9f2de06ca9a7c8458434.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-ext-700-normal.c9429f4b77b1f85e999d.woff2) format("woff2"),url(/static/media/inter-greek-ext-700-normal.0f8675bdd7f3fe3a3dba.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-greek-700-normal.3f04511ca7c0cea0cc2f.woff2) format("woff2"),url(/static/media/inter-greek-700-normal.8b95c1e2b193d0541864.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-vietnamese-700-normal.d1c85cabbe96efcaeb68.woff2) format("woff2"),url(/static/media/inter-vietnamese-700-normal.05b640f829d1ac5ff29d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-ext-700-normal.bc59219ed344909a4f53.woff2) format("woff2"),url(/static/media/inter-latin-ext-700-normal.d4a91814dd3f1e022ab1.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/static/media/inter-latin-700-normal.1104236696a5d2d1f236.woff2) format("woff2"),url(/static/media/inter-latin-700-normal.c73ae7252669254d2588.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Sora;font-style:normal;font-weight:600;src:url(/static/media/sora-latin-ext-600-normal.dd6b207bf814676d740b.woff2) format("woff2"),url(/static/media/sora-latin-ext-600-normal.92694215e998c69f1242.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Sora;font-style:normal;font-weight:600;src:url(/static/media/sora-latin-600-normal.2d1a5ccdb813260e884d.woff2) format("woff2"),url(/static/media/sora-latin-600-normal.392a691db380750c7789.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Sora;font-style:normal;font-weight:700;src:url(/static/media/sora-latin-ext-700-normal.7256162e5d375d1dfc4f.woff2) format("woff2"),url(/static/media/sora-latin-ext-700-normal.a894e7302b9c06e2be33.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Sora;font-style:normal;font-weight:700;src:url(/static/media/sora-latin-700-normal.1a92548c4260f51b98c6.woff2) format("woff2"),url(/static/media/sora-latin-700-normal.75ad8af4ff97575a46dc.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Sora;font-style:normal;font-weight:800;src:url(/static/media/sora-latin-ext-800-normal.9a759208a49cd925bb41.woff2) format("woff2"),url(/static/media/sora-latin-ext-800-normal.2c87e91e75a3cf6a4048.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Sora;font-style:normal;font-weight:800;src:url(/static/media/sora-latin-800-normal.3fba4daf176a12a3e89b.woff2) format("woff2"),url(/static/media/sora-latin-800-normal.ba3507ddbb2551d9b77f.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}