@import url(https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap);.baner{align-items:stretch;background:linear-gradient(130deg,#0b1220f2,#0b1a2eeb 55%,#080f1af2);border:1px solid var(--line);border-radius:1.6rem;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:2rem;isolation:isolate;justify-content:space-between;margin:1.4rem auto 2.6rem;overflow:hidden;padding:3.2rem;position:relative;width:min(92%,1160px)}.baner:before{background:radial-gradient(circle,#4eb3ff47,#0000 70%);border-radius:999px;content:"";height:340px;inset:-20% auto auto -10%;pointer-events:none;position:absolute;width:340px}@media only screen and (max-width:901px){.baner{margin-top:1rem;padding:1.2rem}}.baner .left{display:flex;flex:1 1 450px;flex-direction:column;justify-content:center;z-index:1}.baner .left .eyebrow{color:var(--accent);font-size:.76rem;letter-spacing:.17em;margin-bottom:.9rem;text-transform:uppercase}.baner .left h1{font-size:clamp(2rem,6vw,4.8rem);line-height:.98;margin-bottom:1rem;max-width:10.5ch}.baner .left h2{color:var(--muted);font-size:clamp(1rem,2vw,1.26rem);font-weight:500;line-height:1.6;margin-bottom:1.35rem;max-width:57ch}.baner .left .ctaRow{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.1rem}.baner .left .ctaRow .btn{border-radius:999px;font-size:.94rem;font-weight:700;padding:.68rem 1.1rem;text-decoration:none;transition:transform .25s ease,filter .25s ease,background-color .25s ease}.baner .left .ctaRow .btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.baner .left .ctaRow .primaryBtn{background:linear-gradient(130deg,#87e4ff,#39bcff);color:#06121f}.baner .left .ctaRow .secondaryBtn{background:#ffffff08;border:1px solid var(--line);color:var(--text)}.baner .left .heroMeta{display:flex;flex-wrap:wrap;gap:.5rem}.baner .left .heroMeta span{background:#7da8ff17;border:1px solid var(--line);border-radius:999px;color:#cce4ff;font-size:.82rem;padding:.32rem .72rem}.baner .right{align-items:center;display:flex;flex:1 1 450px;justify-content:center;min-height:470px;position:relative}.baner .right .heroScene{background:radial-gradient(circle at 65% 35%,#44afff33,#0000 45%),radial-gradient(circle at 35% 62%,#1869be38,#0000 48%),linear-gradient(145deg,#0a1526f5,#08101deb);border-radius:1.2rem;inset:0;overflow:hidden;position:absolute}.baner .right .heroScene .sceneGlow{background:radial-gradient(circle,#70daff80,#09233f14 70%);border-radius:999px;filter:blur(34px);inset:10% 15%;position:absolute}.baner .right .heroScene .sceneOrb{animation:orbFloat 8s ease-in-out infinite;aspect-ratio:1;background:radial-gradient(circle at 32% 28%,#e6f8fff2,#7adcffbf 25%,#0d4382cc 70%);box-shadow:inset 0 -30px 60px #02102673,0 20px 40px #07223f99;width:clamp(160px,32vw,300px)}.baner .right .heroScene .sceneOrb,.baner .right .heroScene .sceneRing{border-radius:999px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.baner .right .heroScene .sceneRing{border:1px solid #84c1ff59}.baner .right .heroScene .sceneRingOne{animation:rotateRing 18s linear infinite;height:clamp(200px,40vw,360px);width:clamp(200px,40vw,360px)}.baner .right .heroScene .sceneRingTwo{animation:rotateRing 26s linear infinite reverse;border-color:#6ba5f23d;height:clamp(240px,48vw,430px);width:clamp(240px,48vw,430px)}.baner .right .heroScene .sceneGrid{background-image:linear-gradient(#94b9f538 1px,#0000 0),linear-gradient(90deg,#94b9f533 1px,#0000 0);background-size:28px 28px;inset:0;-webkit-mask-image:radial-gradient(circle at center,#000 30%,#0000 82%);mask-image:radial-gradient(circle at center,#000 30%,#0000 82%);opacity:.2;position:absolute}.baner .right .heroScene .sceneParticles{inset:0;position:absolute}.baner .right .heroScene .sceneParticles span{animation-iteration-count:infinite;animation-name:particleFloat;animation-timing-function:ease-in-out;background:#b7e3ffd9;border-radius:999px;box-shadow:0 0 8px #83cfffcc;position:absolute}.baner .right img{animation:banerImage 4s ease-in-out infinite alternate;aspect-ratio:1;border:1px solid #8dc5ff7a;border-radius:1.2rem;box-shadow:0 22px 44px #0006;object-fit:cover;width:clamp(190px,26vw,290px)}.baner .scrollHint{bottom:1rem;color:var(--muted);font-size:.8rem;letter-spacing:.17em;position:absolute;right:1.5rem;text-decoration:none;text-transform:uppercase}.baner .scrollHint:after{background:linear-gradient(180deg,var(--brand),#0000);content:"";display:block;height:28px;margin:.4rem auto 0;width:1px}@media(max-width:960px){.baner{gap:1.4rem}.baner .left{order:2;text-align:left}.baner .right{min-height:280px;order:1}}@keyframes banerImage{to{transform:translateY(6px)}0%{transform:translateY(-4px)}}@keyframes orbFloat{0%,to{transform:translate(-50%,-50%) translateY(-8px)}50%{transform:translate(-50%,-50%) translateY(9px)}}@keyframes rotateRing{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes particleFloat{0%,to{opacity:.4;transform:translateZ(0)}50%{opacity:1;transform:translate3d(0,-14px,0)}}@media(prefers-reduced-motion:reduce){.baner .right .heroScene .sceneOrb,.baner .right .heroScene .sceneParticles span,.baner .right .heroScene .sceneRingOne,.baner .right .heroScene .sceneRingTwo{animation:none!important}}footer{background:#080f1ad1;border:1px solid var(--line);border-radius:1.1rem;margin:3rem auto 1.2rem;padding:1rem;width:min(92%,1160px)}footer h4{color:#c5d3ed;font-size:clamp(.9rem,1.6vw,1rem);font-weight:500;letter-spacing:.06em;text-align:center;text-transform:uppercase}.siteHeader{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050a12b8;border-bottom:1px solid var(--line);padding:.9rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:50}.siteHeader .logoContainer{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;width:min(92%,1160px)}.siteHeader .logoContainer .logo{aspect-ratio:1;border:1px solid #a2c6ff59;border-radius:1rem;box-shadow:0 12px 28px #00000059;display:inline-flex;overflow:hidden;width:3.7rem}.siteHeader .logoContainer .logo img{animation:logoFloat 5s ease-in-out infinite;height:100%;object-fit:cover;width:100%}.siteHeader .logoContainer nav{align-items:center;display:flex;gap:1.2rem}.siteHeader .logoContainer nav a{color:var(--muted);font-size:.94rem;letter-spacing:.02em;text-decoration:none;transition:color .25s ease}.siteHeader .logoContainer nav a:hover{color:var(--text)}.siteHeader .logoContainer nav .contactLink{background:linear-gradient(130deg,var(--brand),#8de6ff);border-radius:999px;color:#06121f;font-weight:700;padding:.55rem .9rem}.siteHeader .logoContainer nav .contactLink:hover{color:#06121f;filter:brightness(1.08)}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(max-width:700px){.siteHeader .logoContainer nav{gap:.75rem}.siteHeader .logoContainer nav a{font-size:.82rem}.siteHeader .logoContainer nav .contactLink{padding:.45rem .65rem}}.main-know{margin:4.2rem auto;width:min(92%,1160px)}.main-know .skillsHead{margin-bottom:1.3rem}.main-know .skillsHead p{color:var(--accent);font-size:.75rem;letter-spacing:.18em;margin-bottom:.65rem;text-transform:uppercase}.main-know .skillsHead h2{font-size:clamp(1.4rem,3vw,2.6rem);line-height:1.12;max-width:860px}.main-know .skillsGroups{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr))}.main-know .skillsGroups .groupCard{background:linear-gradient(130deg,hsla(0,0%,100%,.015),#7db4ff0f);border:1px solid var(--line);border-radius:1rem;padding:1rem}.main-know .skillsGroups .groupCard h3{color:#dbe9ff;font-size:.95rem;letter-spacing:.1em;margin-bottom:.8rem;text-transform:uppercase}.main-know .container{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-start;width:100%}.main-know .container .skillChip{align-items:center;background-color:#080f1acc;border:1px solid var(--line);border-radius:.9rem;box-shadow:0 9px 20px #0003;display:flex;gap:.45rem;min-height:2.45rem;padding:.45rem .62rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;width:-webkit-fit-content;width:fit-content}.main-know .container .skillChip:hover{border-color:#8ac2ff8f;box-shadow:0 13px 24px #0000004d;transform:translateY(-3px)}.main-know .container .skillChip img{height:1.35rem;object-fit:contain;width:1.35rem}.main-know .container .skillChip span{color:#d2dff6;font-size:.8rem;white-space:nowrap}@media(max-width:920px){.main-know .skillsGroups{grid-template-columns:1fr}}.projects{margin:4.2rem auto;width:min(92%,1160px)}.projects .projectsHeader{margin-bottom:1.8rem}.projects .projectsHeader .kicker{color:var(--accent);font-size:.75rem;letter-spacing:.18em;margin-bottom:.75rem;text-transform:uppercase}.projects .projectsHeader h2{font-size:clamp(1.5rem,3.4vw,3rem);line-height:1.08;max-width:820px}.projects .apps{display:flex;flex-direction:column;gap:1.4rem;margin:0;width:min(100%,1080px)}.projects .apps .projectCase{grid-gap:1.4rem;background:linear-gradient(130deg,hsla(0,0%,100%,.015),#7db4ff0f);border:1px solid var(--line);border-radius:1.2rem;box-shadow:0 16px 36px #00000038;display:grid;gap:1.4rem;grid-template-columns:minmax(290px,1fr) minmax(300px,1fr);padding:1rem;transition:transform .25s ease,box-shadow .25s ease}.projects .apps .projectCase:hover{box-shadow:0 22px 40px #00000047;transform:translateY(-5px)}.projects .apps .projectCase .projectVisual .index{color:var(--accent);display:inline-block;font-size:.74rem;letter-spacing:.16em;margin-bottom:.75rem;text-transform:uppercase}.projects .apps .projectCase .projectVisual .imgAnchor{border:1px solid var(--line);border-radius:1rem;display:flex;overflow:hidden;width:100%}.projects .apps .projectCase .projectVisual img{height:clamp(210px,30vw,340px);object-fit:cover;transition:transform .35s ease;width:100%}.projects .apps .projectCase .projectVisual img:hover{transform:scale(1.05)}.projects .apps .projectCase .projectInfo{align-self:center}.projects .apps .projectCase .projectInfo h3{font-size:clamp(1.4rem,2.2vw,2rem);margin-bottom:.65rem}.projects .apps .projectCase .projectInfo p{color:var(--muted);line-height:1.55;margin-bottom:.95rem}.projects .apps .projectCase .projectInfo ul{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin-bottom:.95rem}.projects .apps .projectCase .projectInfo ul li{color:#d4dded;font-size:.96rem}.projects .apps .projectCase .projectInfo ul li strong{color:#fff}.projects .apps .projectCase .projectInfo .techWrap{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.projects .apps .projectCase .projectInfo .techWrap span{background:#3872c524;border:1px solid var(--line);border-radius:999px;color:#c3d8ff;font-size:.74rem;letter-spacing:.09em;padding:.3rem .63rem;text-transform:uppercase}.projects .apps .projectCase .projectInfo .actions{display:flex;flex-wrap:wrap;gap:.6rem}.projects .apps .projectCase .buttonVisit{background:linear-gradient(130deg,#8ce5ff,#36b9ff);border-radius:999px;color:#06121f;font-size:.88rem;font-weight:700;padding:.52rem;text-align:center;text-decoration:none;transition:filter .25s ease,transform .2s ease;width:min(100%,130px)}.projects .apps .projectCase .buttonVisit:hover{filter:brightness(1.08)}@media(max-width:900px){.projects .apps .projectCase{grid-template-columns:1fr}}.contact{background:linear-gradient(150deg,#090e18e0,#0a1728db);border:1px solid var(--line);border-radius:1.3rem;box-shadow:0 22px 40px #00000047;margin:4.2rem auto;overflow:hidden;padding:1.4rem;width:min(92%,960px)}.contact .contactLead{margin-bottom:1rem}.contact .contactLead p{color:var(--accent);font-size:.74rem;letter-spacing:.18em;margin-bottom:.65rem;text-transform:uppercase}.contact .contactLead h2{font-size:clamp(1.5rem,3.2vw,2.7rem);line-height:1.06;margin-bottom:.8rem;max-width:18ch}.contact .contactLead h3{color:var(--muted);font-size:1rem;font-weight:500;line-height:1.56;max-width:65ch}.contact .info{flex-wrap:wrap;gap:.7rem;padding:.2rem .1rem 1rem}.contact .info,.contact .info .spanEmail{align-items:center;display:flex;justify-content:flex-start}.contact .info .spanEmail{background:#ffffff0a;border:1px solid var(--line);border-radius:.9rem;color:#e0ebff;gap:.6rem;padding:.55rem .8rem}.contact .info .spanEmail h4{font-size:.9rem;letter-spacing:.05em;margin:0;padding:0;text-transform:uppercase;white-space:nowrap}.contact .info .spanEmail a{color:#95dcff;font-size:.95rem;margin:0;padding:0;text-decoration:none;transition:color .25s ease}.contact .info .spanEmail a:hover{color:#c5efff}.contact .info .spanLogo a{background:#070f1a;border:1px solid var(--line);border-radius:.8rem;display:flex;padding:.45rem;transition:transform .25s ease,background-color .25s ease}.contact .info .spanLogo a:hover{background:#0f2740;transform:translateY(-2px)}.contact .info .spanLogo a{width:2.8rem}.contact .info .spanLogo a img{height:100%;width:100%}.aboutSection{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:5rem auto;padding:2.2rem 0;width:min(92%,1160px)}.aboutSection .aboutLead{margin-bottom:2rem;max-width:900px}.aboutSection .aboutLead .kicker{color:var(--muted);font-size:.75rem;letter-spacing:.2em;margin-bottom:1rem;text-transform:uppercase}.aboutSection .aboutLead h2{font-size:clamp(1.6rem,3.6vw,3rem);font-weight:700;line-height:1.1;max-width:900px}.aboutSection .aboutGrid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.aboutSection .aboutGrid article{background:linear-gradient(145deg,#ffffff05,#87c2ff0d);border:1px solid var(--line);border-radius:1rem;padding:1rem}.aboutSection .aboutGrid article h3{font-size:1rem;margin-bottom:.6rem}.aboutSection .aboutGrid article p{color:var(--muted);line-height:1.55}@media(max-width:880px){.aboutSection{margin:3.6rem auto}.aboutSection .aboutGrid{grid-template-columns:1fr}}:root{--bg:#05070e;--surface:#0b1220;--surface-2:#10192b;--text:#e7eefb;--muted:#98a6c4;--line:#82a1e133;--brand:#27c2ff;--brand-2:#1295d4;--accent:#7af0ff;--shadow:0 22px 50px #00000059}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:radial-gradient(circle at 10% 8%,#2aaaff30,#0000 30%),radial-gradient(circle at 95% 18%,#1368b43d,#0000 37%),linear-gradient(180deg,#04060c,#060a14 45%,#04070f);color:#e7eefb;color:var(--text);font-family:Manrope,sans-serif;min-height:100vh}body::-webkit-scrollbar{width:11px}body::-webkit-scrollbar-track{background:#040913}body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#27c2ff,#1295d4);background:linear-gradient(180deg,var(--brand),var(--brand-2));border-radius:999px}h1,h2,h3,h4{font-family:Sora,sans-serif;letter-spacing:-.02em}a{color:inherit}.App{min-height:100vh;padding-bottom:1rem}.reveal{transition:opacity .7s ease,transform .7s ease}.reveal,.reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}::selection{background:#27c2ff59;color:#fff}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
/*# sourceMappingURL=main.6cd652e2.css.map*/