@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}html{margin:0;padding:0;scroll-behavior:smooth;overflow-x:hidden;background:#070a0f}body{margin:0;padding:0;min-width:320px;background:#070a0f;color:#f8fafc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{width:100%;min-height:100vh}img,picture,svg,canvas{max-width:100%}button,input,textarea,select{font:inherit}.project-modal .ant-modal{width:min(92vw,900px)!important;max-width:900px}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:80px 8%;background:radial-gradient(circle at 20% 20%,rgba(34,211,238,.12),transparent 30%),radial-gradient(circle at 80% 30%,rgba(139,92,246,.12),transparent 28%),#070a0f;color:#f8fafc}.hero__content{position:relative;z-index:2;width:100%;max-width:1050px}.hero__eyebrow{margin:0 0 18px;font-size:.85rem;font-weight:700;letter-spacing:.18em;color:#22d3ee}.hero__title{margin:0;font-size:clamp(3rem,5vw,5.5rem);line-height:1;letter-spacing:-.045em;white-space:nowrap}.hero__title span{background:linear-gradient(90deg,#22d3ee,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.hero__role{min-height:55px;margin-top:28px;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:600;color:#cbd5e1}.hero__description{max-width:720px;margin-top:20px;font-size:1.15rem;line-height:1.8;color:#94a3b8}.hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}.hero__button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:1px solid transparent;border-radius:10px;font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.hero__button:hover{transform:translateY(-2px)}.hero__button--primary{background:linear-gradient(90deg,#22d3ee,#3b82f6,#8b5cf6);color:#020617;box-shadow:0 0 30px #22d3ee33}.hero__button--secondary{border-color:#94a3b84d;background:rgba(15,23,42,.6);color:#e2e8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero__button--secondary:hover{border-color:#22d3ee;background:rgba(15,23,42,.9)}.hero__tech{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}.hero__tech span{padding:7px 12px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:rgba(15,23,42,.45);color:#94a3b8;font-size:.82rem}.hero__background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(148,163,184,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent)}.hero__orb{position:absolute;width:280px;height:280px;border-radius:50%;filter:blur(90px);opacity:.2;animation:hero-float 8s ease-in-out infinite}.hero__orb--one{top:12%;right:10%;background:#22d3ee}.hero__orb--two{bottom:10%;left:8%;background:#8b5cf6;animation-delay:-3s}.hero__network{position:absolute;top:50%;right:4%;width:680px;height:580px;transform:translateY(-50%);z-index:2}.network-node{position:absolute;display:flex;align-items:center;justify-content:center;min-width:115px;height:48px;padding:0 20px;border:1px solid rgba(34,211,238,.28);border-radius:999px;background:rgba(15,23,42,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#dbeafe;font-size:.95rem;font-weight:600;box-shadow:0 0 25px #22d3ee14,inset 0 0 18px #8b5cf60d;animation:network-float 6s ease-in-out infinite}.network-node--java{top:42%;left:8%}.network-node--spring{top:8%;left:42%;animation-delay:-1s}.network-node--api{top:40%;left:42%;border-color:#8b5cf680;color:#c4b5fd;box-shadow:0 0 35px #8b5cf61f;animation-delay:-2s}.network-node--sql{bottom:10%;left:42%;animation-delay:-3s}.network-node--react{top:40%;right:2%;animation-delay:-4s}.network-node--hibernate{top:20%;left:15%;animation-delay:-1.5s}.network-node--jpa{bottom:20%;left:12%;animation-delay:-2.5s}.network-node--maven{top:16%;right:8%;animation-delay:-3.5s}.network-node--docker{bottom:18%;right:7%;animation-delay:-4.5s}.network-node--git{bottom:-5%;right:35%;animation-delay:-5.5s}.network-line{position:absolute;height:1px;transform-origin:left center;background:linear-gradient(90deg,transparent,rgba(34,211,238,.55),rgba(139,92,246,.35),transparent);opacity:.65;pointer-events:none}.network-line--one{width:205px;top:47%;left:25%}.network-line--two{width:150px;top:17%;left:51%;transform:rotate(90deg)}.network-line--three{width:190px;top:47%;left:58%}.network-line--four{width:155px;top:52%;left:51%;transform:rotate(90deg)}.network-line--five{width:190px;top:32%;left:31%;transform:rotate(24deg)}.network-line--six{width:190px;top:65%;left:31%;transform:rotate(-24deg)}.network-line--seven{width:190px;top:53%;left:57%;transform:rotate(34deg)}@keyframes hero-float{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-18px) translate(12px)}}@keyframes network-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 1100px){.hero{padding-left:6%;padding-right:6%}.hero__network{width:480px;height:440px;right:2%;opacity:.8;transform:translateY(-50%) scale(.85);transform-origin:right center}}@media (max-width: 900px){.hero__network{display:none}}@media (max-width: 768px){.hero{min-height:100svh;padding:110px 24px 70px;align-items:center}.hero__content{width:100%;max-width:100%}.hero__eyebrow{margin-bottom:18px;font-size:.72rem;line-height:1.5}.hero__title{font-size:clamp(2.8rem,13vw,4.8rem);line-height:1.02;white-space:normal}.hero__role{min-height:48px;margin-top:26px;font-size:clamp(1.35rem,6vw,2rem);line-height:1.3}.hero__description{margin-top:18px;font-size:1rem;line-height:1.7}.hero__actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%;margin-top:30px}.hero__button{width:100%;min-height:54px;padding:0 20px;box-sizing:border-box}.hero__tech{gap:8px;margin-top:28px}.hero__tech span{padding:7px 11px;font-size:.78rem}}@media (max-width: 420px){.hero{padding-left:20px;padding-right:20px}.hero__title{font-size:clamp(2.6rem,13vw,3.6rem)}.hero__role{font-size:1.3rem}}@media (prefers-reduced-motion: reduce){.hero__orb,.network-node{animation:none}.hero__button{transition:none}}.navbar{position:fixed;top:0;left:0;width:100%;height:76px;display:flex;align-items:center;background:rgba(7,10,15,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(148,163,184,.1);z-index:1000}.navbar__inner{width:100%;max-width:1500px;margin:0 auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between}.navbar__brand{font-size:1.8rem;font-weight:800;letter-spacing:-.04em;color:#f8fafc;text-decoration:none}.navbar__brand span{color:#22d3ee}.navbar__links{display:flex;align-items:center;gap:34px}.navbar__links a{position:relative;color:#94a3b8;font-size:1rem;font-weight:600;text-decoration:none;transition:color .2s ease,transform .2s ease}.navbar__links a:hover{color:#f8fafc;transform:translateY(-1px)}.navbar__links a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;border-radius:10px;background:linear-gradient(90deg,#22d3ee,#8b5cf6);transition:width .25s ease}.navbar__links a:hover:after,.navbar__links a.active:after{width:100%}.navbar__links a.active{color:#f8fafc}.navbar__socials{display:flex;align-items:center;gap:16px}.navbar__socials a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(15,23,42,.45);color:#cbd5e1;font-size:1.25rem;transition:color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.navbar__socials a:hover{color:#22d3ee;border-color:#22d3ee73;transform:translateY(-2px);box-shadow:0 0 20px #22d3ee1f}.navbar__brand:focus-visible,.navbar__links a:focus-visible,.navbar__socials a:focus-visible,.navbar__toggle:focus-visible{outline:2px solid #22d3ee;outline-offset:3px}@media (max-width: 1000px){.navbar__links{gap:20px}.navbar__links a{font-size:.82rem}}.navbar__toggle{display:none}@media (max-width: 768px){.navbar{display:flex;height:70px}.navbar__inner{padding:0 22px}.navbar__brand{font-size:1.6rem}.navbar__toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(15,23,42,.55);cursor:pointer}.navbar__toggle span{width:20px;height:2px;margin:0 auto;border-radius:99px;background:#e2e8f0}.navbar__links{position:absolute;top:70px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;border:1px solid rgba(148,163,184,.12);border-radius:14px;background:rgba(7,10,15,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.navbar__links--open{display:flex}.navbar__links a{padding:14px 12px;font-size:1rem;border-radius:8px}.navbar__links a:hover,.navbar__links a.active{background:rgba(34,211,238,.07)}.navbar__links a:after{display:none}.navbar__socials{display:none}}.portfolio{width:100%;min-height:100vh;background:#070a0f}.portfolio__content{width:100%}.about{position:relative;padding:120px 8%;background:radial-gradient(circle at 85% 20%,rgba(139,92,246,.08),transparent 28%),#090d14;color:#f8fafc}.about__container{width:100%;max-width:1400px;margin:0 auto}.about__heading{max-width:850px;margin-bottom:64px}.about__eyebrow{margin:0 0 16px;color:#22d3ee;font-size:.8rem;font-weight:700;letter-spacing:.18em}.about__title{margin:0;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.05;letter-spacing:-.04em;color:#f8fafc}.about__title span{background:linear-gradient(90deg,#22d3ee,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about__intro{max-width:650px}.about__intro p{margin:0 0 22px;color:#94a3b8;font-size:1.08rem;line-height:1.85}.about__highlights{display:grid;gap:18px}.about-card{display:flex;gap:22px;padding:24px;border:1px solid rgba(148,163,184,.12);border-radius:16px;background:rgba(15,23,42,.5);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.about-card:hover{transform:translateY(-4px);border-color:#22d3ee59;box-shadow:0 12px 35px #00000038}.about-card__number{flex-shrink:0;color:#22d3ee;font-size:.8rem;font-weight:700;letter-spacing:.1em}.about-card h3{margin:0 0 8px;color:#f8fafc;font-size:1.15rem}.about-card p{margin:0;color:#94a3b8;font-size:.95rem;line-height:1.65}@media (max-width: 900px){.about{padding:100px 6%}.about__grid{grid-template-columns:1fr;gap:45px}}@media (max-width: 768px){.about{padding:90px 24px}.about__heading{margin-bottom:42px}.about__title{font-size:clamp(2.4rem,11vw,3.8rem)}.about__intro p{font-size:1rem}.about-card{padding:20px}}.skills{position:relative;padding:120px 8%;overflow:hidden;background:radial-gradient(circle at 15% 30%,rgba(34,211,238,.07),transparent 28%),radial-gradient(circle at 85% 70%,rgba(139,92,246,.08),transparent 30%),#070a0f;color:#f8fafc}.skills__container{width:100%;max-width:1400px;margin:0 auto}.skills__heading{max-width:850px;margin-bottom:70px}.skills__eyebrow{margin:0 0 16px;color:#22d3ee;font-size:.8rem;font-weight:700;letter-spacing:.18em}.skills__title{margin:0;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.05;letter-spacing:-.04em;color:#f8fafc}.skills__title span{background:linear-gradient(90deg,#22d3ee,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.skills__description{max-width:720px;margin-top:24px;color:#94a3b8;font-size:1.05rem;line-height:1.8}.skills__core{position:relative;width:100%;max-width:760px;height:340px;margin:0 auto 70px;border:1px solid rgba(148,163,184,.08);border-radius:24px;background:radial-gradient(circle at center,rgba(34,211,238,.08),transparent 40%),rgba(15,23,42,.25)}.skills__core:before{content:"";position:absolute;top:50%;left:50%;width:390px;height:190px;transform:translate(-50%,-50%);border:1px solid rgba(34,211,238,.12);border-radius:50%}.skills__core-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:155px;height:110px;border:1px solid rgba(139,92,246,.4);border-radius:20px;background:rgba(15,23,42,.9);box-shadow:0 0 45px #8b5cf61f}.skills__core-center span{color:#22d3ee;font-size:.68rem;font-weight:700;letter-spacing:.16em}.skills__core-center strong{margin-top:7px;color:#f8fafc;font-size:1rem}@media (max-width: 520px){.skills__core-center{width:200px;height:110px}.skills__core-center strong{white-space:nowrap;font-size:.8rem}}.skills__orbit{position:absolute;padding:9px 16px;border:1px solid rgba(34,211,238,.25);border-radius:999px;background:rgba(15,23,42,.82);color:#cbd5e1;font-size:.82rem;font-weight:600;animation:skill-float 5s ease-in-out infinite}.skills__orbit--java{top:46%;left:8%}.skills__orbit--spring{top:12%;left:43%;animation-delay:-1s}.skills__orbit--rest{top:46%;right:7%;animation-delay:-2s}.skills__orbit--jpa{bottom:12%;left:25%;animation-delay:-3s}.skills__orbit--sql{bottom:10%;right:25%;animation-delay:-4s}.skills__orbit--docker{top:18%;right:10%;animation-delay:-2.5s}.skills__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.skill-card{padding:28px;border:1px solid rgba(148,163,184,.12);border-radius:18px;background:rgba(15,23,42,.5);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.skill-card:hover{transform:translateY(-4px);border-color:#22d3ee52;box-shadow:0 14px 35px #0003}.skill-card h3{margin:0 0 20px;color:#f8fafc;font-size:1.15rem}.skill-card__items{display:flex;flex-wrap:wrap;gap:10px}.skill-card__items span{padding:8px 12px;border:1px solid rgba(148,163,184,.14);border-radius:9px;background:rgba(2,6,23,.35);color:#94a3b8;font-size:.85rem;transition:color .2s ease,border-color .2s ease,background .2s ease}.skill-card__items span:hover{color:#e2e8f0;border-color:#22d3ee4d;background:rgba(34,211,238,.05)}@keyframes skill-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 900px){.skills{padding:100px 6%}.skills__grid{grid-template-columns:1fr}}@media (max-width: 768px){.skills{padding:90px 24px}.skills__heading{margin-bottom:45px}.skills__title{font-size:clamp(2.4rem,11vw,3.8rem)}.skills__description{font-size:1rem}.skills__core{height:300px;margin-bottom:45px}.skills__core:before{width:250px;height:150px}.skills__core-center{width:135px;height:95px}.skills__orbit{padding:7px 11px;font-size:.72rem}.skills__orbit--java{left:3%}.skills__orbit--rest{right:3%}.skills__orbit--spring{left:35%}.skills__orbit--docker{right:4%}.skill-card{padding:22px}}@media (prefers-reduced-motion: reduce){.skills__orbit{animation:none}}.projects{position:relative;padding:120px 8%;background:radial-gradient(circle at 85% 20%,rgba(139,92,246,.08),transparent 30%),#090d14;color:#f8fafc}.projects__container{width:100%;max-width:1400px;margin:0 auto}.projects__heading{max-width:850px;margin-bottom:70px}.projects__eyebrow{margin:0 0 16px;color:#22d3ee;font-size:.8rem;font-weight:700;letter-spacing:.18em}.projects__title{margin:0;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.05;letter-spacing:-.04em;color:#f8fafc}.projects__title span{background:linear-gradient(90deg,#22d3ee,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.projects__description{max-width:720px;margin-top:24px;color:#94a3b8;font-size:1.05rem;line-height:1.8}.projects__featured{display:grid;gap:28px}.featured-project{display:grid;grid-template-columns:1.2fr 1fr;min-height:340px;overflow:hidden;border:1px solid rgba(148,163,184,.12);border-radius:22px;background:rgba(15,23,42,.55);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.featured-project:hover{transform:translateY(-4px);border-color:#22d3ee47;box-shadow:0 18px 45px #00000038}.featured-project--primary{min-height:380px;border-color:#8b5cf638}.featured-project__image{position:relative;width:100%;height:100%;min-height:340px;padding:0;overflow:hidden;border:0;background:#020617;cursor:pointer}.featured-project__image:focus-visible{outline:2px solid #22d3ee;outline-offset:-3px}.featured-project--primary .featured-project__image{min-height:380px}.featured-project__image img{width:100%;height:100%;display:block;object-fit:contain;background:#020617;transition:transform .45s ease}.featured-project:hover .featured-project__image img{transform:scale(1.025)}.featured-project__fallback{width:100%;height:100%;display:grid;place-items:center;color:#22d3ee}.featured-project__content{display:flex;flex-direction:column;justify-content:center;padding:44px}.featured-project__top{display:flex;align-items:center;gap:12px;margin-bottom:20px}.featured-project__index{color:#22d3ee;font-size:.78rem;font-weight:700;letter-spacing:.12em}.featured-project__badge{padding:5px 9px;border:1px solid rgba(139,92,246,.35);border-radius:999px;background:rgba(139,92,246,.08);color:#c4b5fd;font-size:.68rem;font-weight:700;letter-spacing:.1em}.featured-project__content h3{margin:0;color:#f8fafc;font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1.15}.featured-project__content>p{margin:18px 0 0;color:#94a3b8;font-size:1rem;line-height:1.7}.featured-project__stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.featured-project__stack span{padding:7px 10px;border:1px solid rgba(148,163,184,.13);border-radius:8px;background:rgba(2,6,23,.3);color:#94a3b8;font-size:.78rem}.featured-project__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.featured-project__actions button,.featured-project__actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid rgba(148,163,184,.16);border-radius:9px;background:rgba(15,23,42,.6);color:#e2e8f0;font-size:.85rem;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease}.featured-project__actions button:hover,.featured-project__actions a:hover{transform:translateY(-2px);border-color:#22d3ee66;color:#22d3ee}.featured-project__actions button:focus-visible,.featured-project__actions a:focus-visible{outline:2px solid #22d3ee;outline-offset:3px}.projects__more{margin-top:85px}.projects__subheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.projects__subheading h3{margin:0;color:#f8fafc;font-size:1.8rem}.projects__subheading span{color:#64748b;font-size:.85rem}.projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{overflow:hidden;border:1px solid rgba(148,163,184,.12);border-radius:18px;background:rgba(15,23,42,.48);cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card:focus-visible{outline:2px solid #22d3ee;outline-offset:4px;border-color:#22d3ee73}.project-card:hover{transform:translateY(-5px);border-color:#22d3ee4d;box-shadow:0 15px 35px #0003}.project-card__image{width:100%;aspect-ratio:16/10;overflow:hidden;background:#020617}.project-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-card__image img{transform:scale(1.035)}.project-card__fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at center,rgba(34,211,238,.08),transparent 45%),#070b13;color:#cbd5e1}.project-card__fallback-label{color:#22d3ee;font-size:.72rem;font-weight:700;letter-spacing:.18em}.project-card__fallback-icon{display:flex;align-items:center;justify-content:center;transform:scale(1.15)}.project-card__fallback-text{color:#64748b;font-size:.78rem;font-weight:600}.project-card__content{padding:24px}.project-card__role{margin:0 0 10px;color:#22d3ee;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.project-card__content h3{margin:0;color:#f8fafc;font-size:1.2rem;line-height:1.3}.project-card__description{min-height:72px;margin:14px 0 0;color:#94a3b8;font-size:.9rem;line-height:1.6}.project-card__stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.project-card__stack span{padding:6px 9px;border:1px solid rgba(148,163,184,.12);border-radius:8px;color:#94a3b8;font-size:.72rem}.project-card__link{display:inline-block;margin-top:22px;color:#cbd5e1;font-size:.82rem;font-weight:700}.project-modal .ant-modal-content{padding:22px;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:#0b1018;color:#f8fafc}.project-modal .ant-modal-header{margin-bottom:20px;background:transparent}.project-modal .ant-modal-title{color:#f8fafc;font-size:1.35rem}.project-modal .ant-modal-close{color:#cbd5e1}.project-modal__body{padding-top:8px}.project-modal__meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.project-modal__meta span{padding:6px 10px;border:1px solid rgba(34,211,238,.2);border-radius:999px;color:#cbd5e1;font-size:.75rem}.project-modal__description{margin:0;color:#94a3b8;font-size:.95rem;line-height:1.75}.project-modal__stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.project-modal__stack span{padding:7px 10px;border:1px solid rgba(148,163,184,.12);border-radius:8px;color:#94a3b8;font-size:.76rem}.project-modal__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.project-modal__actions a{min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid rgba(148,163,184,.16);border-radius:8px;color:#e2e8f0;text-decoration:none;font-size:.82rem;font-weight:700}.project-modal__actions a:hover{border-color:#22d3ee66;color:#22d3ee}.project-modal__actions a:focus-visible{outline:2px solid #22d3ee;outline-offset:3px}@media (max-width: 1000px){.projects{padding:100px 6%}.featured-project{grid-template-columns:1fr}.featured-project__image,.featured-project--primary .featured-project__image{min-height:340px}.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.projects{padding:90px 24px}.projects__heading{margin-bottom:45px}.projects__title{font-size:clamp(2.4rem,11vw,3.8rem)}.projects__description{font-size:1rem}.projects__featured{gap:20px}.featured-project{min-height:0;border-radius:16px}.featured-project__image,.featured-project--primary .featured-project__image{min-height:0;aspect-ratio:16/10}.featured-project__content{padding:24px}.featured-project__content h3{font-size:1.45rem}.featured-project__actions{display:grid;grid-template-columns:1fr;gap:10px}.featured-project__actions button,.featured-project__actions a{width:100%;min-height:52px;box-sizing:border-box}.projects__more{margin-top:65px}.projects__grid{grid-template-columns:1fr}.project-card__description{min-height:0}.project-modal .ant-modal-content{padding:16px}}.projects__continue{display:flex;align-items:center;justify-content:center;gap:8px;margin:30px 0 36px;color:#64748b;font-size:.85rem;font-weight:500}.certifications{position:relative;padding:130px 0;background:#070a0f;color:#f8fafc}.certifications__container{width:min(88%,1400px);margin:0 auto}.certifications__header{max-width:820px;margin-bottom:70px}.certifications__eyebrow{margin:0 0 20px;color:#22d3ee;font-size:.82rem;font-weight:700;letter-spacing:.18em}.certifications__title{margin:0;font-size:clamp(3.5rem,5vw,5.8rem);font-weight:500;line-height:1.02;letter-spacing:-.045em;color:#f8fafc}.certifications__title span{background:linear-gradient(90deg,#22d3ee,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.certifications__description{max-width:700px;margin:30px 0 0;color:#94a3b8;font-size:1.05rem;line-height:1.8}.certifications__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.certification-card{overflow:hidden;border:1px solid rgba(148,163,184,.14);border-radius:22px;background:rgba(15,23,42,.55);transition:transform .25s ease,border-color .25s ease}.certification-card:hover{transform:translateY(-4px);border-color:#22d3ee59}.certification-card__info{display:flex;flex-direction:column;gap:.25rem}.certification-card__category{font-size:.8rem;opacity:.65}.certification-card__image{display:flex;align-items:center;justify-content:center;height:260px;padding:24px;background:#f8fafc}.certification-card__image img{display:block;width:100%;height:100%;object-fit:contain}.certification-card__footer{display:flex;align-items:center;gap:18px;padding:20px 24px}.certification-card__number{color:#22d3ee;font-size:.78rem;font-weight:700;letter-spacing:.08em}.certification-card__label{color:#cbd5e1;font-size:.9rem;font-weight:600}@media (max-width: 1000px){.certifications{padding:110px 0}.certifications__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certification-card__image{height:240px}}@media (max-width: 600px){.certifications{padding:90px 0}.certifications__container{width:auto;margin:0;padding:0 30px}.certifications__header{margin-bottom:48px}.certifications__eyebrow{margin-bottom:18px;font-size:.78rem}.certifications__title{font-size:clamp(3rem,13vw,4.4rem);line-height:1.03}.certifications__description{margin-top:24px;font-size:1rem;line-height:1.75}.certifications__grid{grid-template-columns:1fr;gap:18px}.certification-card{border-radius:18px}.certification-card__image{height:200px;padding:14px}.certification-card__footer{padding:18px}}.certifications__actions{display:flex;justify-content:center;margin-top:36px}.certifications__toggle{min-height:48px;padding:0 20px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(15,23,42,.55);color:#e2e8f0;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease}.certifications__toggle:hover{transform:translateY(-2px);border-color:#22d3ee66;color:#22d3ee}.contact{position:relative;padding:130px 8% 40px;background:radial-gradient(circle at 15% 20%,rgba(34,211,238,.08),transparent 28%),radial-gradient(circle at 85% 70%,rgba(139,92,246,.08),transparent 30%),#090d14;color:#f8fafc}.contact__container{width:100%;max-width:1400px;margin:0 auto}.contact__header{max-width:850px;margin-bottom:65px}.contact__eyebrow{margin:0 0 18px;color:#22d3ee;font-size:.8rem;font-weight:700;letter-spacing:.18em}.contact__title{margin:0;color:#f8fafc;font-size:clamp(3rem,5vw,5rem);line-height:1.05;letter-spacing:-.04em}.contact__title span{background:linear-gradient(90deg,#22d3ee,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.contact__description{max-width:720px;margin:24px 0 0;color:#94a3b8;font-size:1.05rem;line-height:1.8}.contact__card{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;padding:48px;border:1px solid rgba(148,163,184,.12);border-radius:24px;background:rgba(15,23,42,.5)}.contact__availability{margin:0 0 18px;color:#22d3ee;font-size:.75rem;font-weight:700;letter-spacing:.14em}.contact__message h3{margin:0;color:#f8fafc;font-size:clamp(1.9rem,3vw,3rem);line-height:1.15}.contact__message>p:last-child{max-width:650px;margin:22px 0 0;color:#94a3b8;font-size:1rem;line-height:1.75}.contact__actions{display:flex;flex-direction:column;justify-content:center;gap:12px}.contact__button{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 20px;border:1px solid rgba(148,163,184,.16);border-radius:11px;background:rgba(2,6,23,.32);color:#e2e8f0;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .2s ease,border-color .2s ease,color .2s ease}.contact__button:hover{transform:translateY(-2px);border-color:#22d3ee66;color:#22d3ee}.contact__button--primary{border-color:transparent;background:linear-gradient(90deg,#22d3ee,#3b82f6,#8b5cf6);color:#020617}.contact__button--primary:hover{color:#020617;box-shadow:0 0 28px #22d3ee26}.footer{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:90px;padding-top:28px;border-top:1px solid rgba(148,163,184,.1)}.footer>div{display:flex;flex-direction:column;gap:5px}.footer strong{color:#f8fafc;font-size:.95rem}.footer span{color:#64748b;font-size:.8rem}.footer__right{text-align:right}@media (max-width: 900px){.contact{padding:110px 6% 35px}.contact__card{grid-template-columns:1fr;gap:40px}}@media (max-width: 600px){.contact{padding:90px 24px 28px}.contact__header{margin-bottom:45px}.contact__title{font-size:clamp(2.7rem,12vw,4rem)}.contact__card{padding:24px;border-radius:18px}.contact__actions{width:100%}.contact__button{width:100%;box-sizing:border-box}.footer{flex-direction:column;align-items:flex-start;margin-top:65px}.footer__right{text-align:left}}
