*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#070b14;--bg-secondary:#0d1422;--bg-card:#111a2b;--border:#1d2a40;--border-light:#263650;--blue:#3b82f6;--blue-light:#60a5fa;--blue-dark:#2563eb;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--shadow-blue:#3b82f640}body{background:#070b14;background:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth;width:100%}*,:after,:before{box-sizing:border-box}body{margin:0;max-width:100%;min-height:100vh;overflow-x:hidden;width:100%}a,button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.nav{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#070b14e0;border-bottom:1px solid var(--border);position:sticky;top:0;width:100%;z-index:100}.nav__container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;min-height:76px;padding:0 32px}.nav__logo{color:var(--text-primary);font-size:18px;font-weight:800;letter-spacing:-.5px;position:relative;text-decoration:none;transition:color .2s ease}.nav__logo:after{background:var(--blue);bottom:-6px;box-shadow:0 0 10px var(--shadow-blue);content:"";height:2px;left:0;position:absolute;transition:width .25s ease;width:0}.nav__logo:hover{color:var(--blue-light)}.nav__logo:hover:after{width:100%}.nav__links{align-items:center;display:flex;gap:34px}.nav__link{background:#0000;border:0;color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.4px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .2s ease,text-shadow .2s ease}.nav__link:before{background:var(--blue);bottom:-9px;box-shadow:0 0 8px var(--shadow-blue);content:"";height:1px;left:0;position:absolute;transition:width .25s ease;width:0}.nav__link:hover{color:var(--text-primary);text-shadow:0 0 12px #60a5fa40}.nav__link--active:before,.nav__link:hover:before{width:100%}.nav__link--active{color:var(--blue-light)}.nav__contact-button{appearance:none;-webkit-appearance:none;padding:0}.nav__social{border-left:1px solid var(--border);gap:12px;margin-left:8px;padding-left:20px}.nav__social,.nav__social-link{align-items:center;display:flex}.nav__social-link{background:#0d1422b3;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:15px;height:34px;justify-content:center;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;width:34px}.nav__social-link:hover{background:#3b82f614;border-color:var(--blue);box-shadow:0 0 18px #3b82f61f;color:var(--blue-light);transform:translateY(-2px)}.nav__menu-button{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;width:40px}.nav__menu-button span{background:var(--text-primary);height:2px;transition:transform .2s ease,opacity .2s ease;width:18px}.main{margin:0 auto;max-width:100%;overflow-x:hidden;width:min(1200px,calc(100% - 64px))}.page__eyebrow{color:var(--blue-light);font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:18px;text-transform:uppercase}.page h1{color:var(--text-primary)}.page p{color:var(--text-secondary)}.button{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:800;justify-content:center;letter-spacing:.3px;padding:13px 20px;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--blue);box-shadow:0 8px 25px #2563eb33;color:#fff}.button--primary:hover{background:var(--blue-light);box-shadow:0 12px 30px #2563eb4d}.button--secondary{background:#0d142280;border-color:var(--border-light);color:var(--text-primary)}.button--secondary:hover{background:#3b82f614;border-color:var(--blue);color:var(--blue-light)}.home{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:minmax(0,1fr) minmax(280px,360px);min-height:calc(100vh - 76px);overflow:hidden;padding:80px 0;position:relative}.home:before{background:#2563eb14;border-radius:50%;content:"";filter:blur(120px);height:500px;pointer-events:none;position:absolute;right:-200px;top:-180px;width:500px}.home__content{max-width:760px;position:relative;z-index:1}.home__eyebrow{align-items:center;color:var(--blue-light);display:inline-flex;font-size:11px;font-weight:800;gap:10px;letter-spacing:2px;margin-bottom:24px;text-transform:uppercase}.home__eyebrow:before{background:var(--blue);box-shadow:0 0 10px var(--shadow-blue);content:"";height:1px;width:28px}.home__title{color:var(--text-primary);font-size:clamp(52px,7vw,88px);font-weight:800;letter-spacing:-4px;line-height:.98;margin-bottom:28px}.home__title span{background:linear-gradient(90deg,var(--blue-light),var(--blue),var(--blue-dark));-webkit-background-clip:text;background-clip:text;color:#0000;display:block}.home__description{color:var(--text-secondary);font-size:18px;line-height:1.8;margin-bottom:36px;max-width:620px}.home__buttons{display:flex;flex-wrap:wrap;gap:12px}.home__profile{display:flex;justify-content:center;position:relative;z-index:1}.home__profile-image{aspect-ratio:1;background:#0d1422a6;border:1px solid var(--border);border-radius:22px;box-shadow:0 0 0 1px #3b82f60d,0 30px 80px #00000073,0 0 80px #2563eb1a;overflow:hidden;padding:10px;position:relative;width:min(360px,100%)}.home__profile-image:before{background:linear-gradient(135deg,#60a5facc,#0000 35%,#0000 65%,#2563eb80);border:1px solid #0000;border-radius:inherit;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;position:absolute}.home__profile-image img{border-radius:14px;height:100%;object-fit:cover;position:relative;width:100%;z-index:1}.featured{border-top:1px solid var(--border);overflow:hidden;padding:110px 0;position:relative}.featured:before{background:#2563eb14;border-radius:50%;content:"";filter:blur(100px);height:450px;pointer-events:none;position:absolute;right:-100px;top:0;width:450px}.featured__header{grid-gap:40px;align-items:end;display:grid;gap:40px;grid-template-columns:.7fr 1.3fr;margin-bottom:60px;position:relative;z-index:1}.featured__header>div{grid-column:2;text-align:left}.featured__header .page__eyebrow{margin-bottom:18px}.featured__header h2{color:var(--text-primary);font-size:clamp(42px,6vw,68px);letter-spacing:-3px;line-height:.95;margin-bottom:18px}.featured__count{color:var(--text-muted);font-family:monospace;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.featured__view-all{align-items:center;border-bottom:1px solid var(--border);color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:800;gap:8px;grid-column:1;grid-row:1;justify-self:start;letter-spacing:.8px;padding-bottom:8px;text-decoration:none;text-transform:uppercase;transition:color .2s ease,border-color .2s ease,gap .2s ease}.featured__view-all:hover{border-color:var(--blue);color:var(--blue-light);gap:14px}.featured__grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));position:relative;z-index:1}.project-card{background:linear-gradient(145deg,#111a2be6,#070b14f2);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}.project-card:hover{border-color:#3b82f68c;box-shadow:0 20px 50px #0000004d;transform:translateY(-5px)}.project-card__image{background:var(--bg-card);border-bottom:1px solid var(--border);height:260px;overflow:hidden;position:relative;width:100%}.project-card__image img{height:100%;object-fit:cover;transition:opacity .3s ease,transform .4s ease;width:100%}.project-card:hover .project-card__image img{transform:scale(1.03)}.project-card__image--loaded img{opacity:1}.project-card__image-loading{background:var(--bg-card);font-family:monospace;font-size:11px;font-weight:700;inset:0;position:absolute}.project-card__image-loading,.project-card__placeholder{align-items:center;color:var(--text-muted);display:flex;justify-content:center;letter-spacing:1px;text-transform:uppercase}.project-card__placeholder{background:radial-gradient(circle at center,var(--border) 0,var(--bg-primary) 70%);font-size:18px;font-weight:800;height:100%;width:100%}.project-card__content{display:flex;flex:1 1;flex-direction:column;padding:26px}.project-card__title{color:var(--text-primary);display:inline-block;font-size:23px;font-weight:800;letter-spacing:-.7px;margin-bottom:10px;text-decoration:none;transition:color .2s ease}.project-card__title:hover{color:var(--blue-light)}.project-card__description{color:var(--text-secondary);font-size:14px;line-height:1.7;margin-bottom:20px;max-width:520px}.project-card__technologies{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}.project-card__technology{background:#0d1422b3;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.4px;padding:6px 9px}.project-card__footer{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;margin-top:auto;padding-top:18px}.project-card__details{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:11px;font-weight:800;gap:7px;letter-spacing:.8px;text-decoration:none;text-transform:uppercase;transition:color .2s ease,gap .2s ease}.project-card__details:hover{color:var(--blue-light);gap:11px}.project-card__links{align-items:center;display:flex;gap:14px}.project-card__link{color:var(--text-muted);font-size:11px;font-weight:700;text-decoration:none;transition:color .2s ease}.project-card__link:hover{color:var(--blue-light)}.project-card__link--primary{color:var(--blue)}.home__technologies{border-top:1px solid var(--border);padding:100px 0}.home__technologies-header{margin-bottom:40px}.home__technologies-header h2{color:var(--text-primary);font-size:40px;line-height:1.1}.home__technologies-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.home__technology{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);display:flex;font-size:14px;font-weight:700;gap:10px;justify-content:center;padding:18px;transition:border-color .2s ease,background .2s ease,transform .2s ease}.home__technology:hover{background:var(--bg-secondary);border-color:var(--blue);transform:translateY(-3px)}.home__technology-icon{color:var(--blue-light);font-size:20px}.projects-page{margin:0 auto;max-width:1200px;overflow:hidden;padding:100px 0 120px;position:relative;width:100%}.projects-page__header{margin-bottom:55px;max-width:850px;position:relative;z-index:1}.projects-page__header h1{color:var(--text-primary);font-size:clamp(52px,8vw,88px);letter-spacing:-4px;line-height:.95;margin-bottom:24px}.projects-page__header>p:last-child{color:var(--text-secondary);font-size:18px;line-height:1.8;max-width:650px}.projects-sort{align-items:center;display:flex;gap:12px;justify-content:flex-end;margin-bottom:20px}.projects-sort label{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase}.projects-sort label,.projects-sort select{font-family:monospace;font-size:10px;font-weight:700}.projects-sort select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;min-width:150px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s ease,background .2s ease}.projects-sort select:focus,.projects-sort select:hover{background:var(--bg-card);border-color:var(--blue)}.projects-sort select option{background:var(--bg-secondary);color:var(--text-primary)}.projects-results{margin-bottom:18px}.projects-results span{color:var(--text-muted);font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.projects-results span:before{background:var(--blue);border-radius:50%;box-shadow:0 0 10px #3b82f699;content:"";display:inline-block;height:6px;margin-right:8px;width:6px}.projects-page .project-card{height:100%}.projects-page .featured__grid{gap:28px}.projects-empty{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:70px 20px;text-align:center}.projects-empty p{color:var(--text-secondary);font-size:14px}.about-page{margin:0 auto;max-width:1200px;overflow:hidden;padding:110px 0;position:relative}.about-page__header{margin-bottom:70px;max-width:850px}.about-page__header h1{color:var(--text-primary);font-size:clamp(52px,8vw,88px);letter-spacing:-4px;line-height:.95;margin-bottom:24px}.about-page__intro{color:var(--text-secondary);font-size:18px;line-height:1.8;max-width:700px}.about-page__grid{grid-gap:70px;display:grid;gap:70px;grid-template-columns:repeat(2,minmax(0,1fr))}.about-page__content h2,.about-page__skills h2{color:var(--text-primary);font-size:28px;margin-bottom:24px}.about-page__content p{color:var(--text-secondary);font-size:15px;line-height:1.8;margin-bottom:20px}.skills-categories{display:flex;flex-direction:column;gap:32px}.skill-category h3{color:var(--blue-light);font-size:13px;font-weight:800;letter-spacing:1px;margin-bottom:14px;text-transform:uppercase}.skills-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.skill{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;gap:10px;padding:16px;transition:border-color .2s ease,transform .2s ease,background .2s ease}.skill:hover{background:var(--bg-secondary);border-color:var(--blue);transform:translateY(-2px)}.skill__dot{background:var(--blue);border-radius:50%;flex-shrink:0;height:6px;width:6px}.contact-page{margin:0 auto;max-width:1200px;overflow:hidden;padding:110px 0;position:relative}.contact-page:before{background:#2563eb14;border-radius:50%;content:"";filter:blur(110px);height:520px;pointer-events:none;position:absolute;right:-160px;top:-120px;width:520px}.contact-page__header{margin-bottom:75px;max-width:850px;position:relative;z-index:1}.contact-page__header h1{color:var(--text-primary);font-size:clamp(52px,8vw,88px);letter-spacing:-4px;line-height:.95;margin-bottom:24px}.contact-page__header>p:last-child{color:var(--text-secondary);font-size:18px;line-height:1.8;max-width:650px}.contact-page__grid{grid-gap:70px;display:grid;gap:70px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);position:relative;z-index:1}.contact-page__form-wrapper h2,.contact-page__info h2{color:var(--text-primary);font-size:28px;letter-spacing:-1px;margin-bottom:18px}.contact-page__info{padding-right:30px}.contact-page__details{display:flex;flex-direction:column;gap:12px}.contact-page__detail{align-items:center;background:#0d142299;border:1px solid var(--border);border-radius:10px;display:flex;gap:16px;padding:16px;transition:border-color .2s ease,background .2s ease,transform .2s ease}.contact-page__detail:hover{background:#3b82f60d;border-color:#3b82f673;transform:translateX(4px)}.contact-page__detail-content span{color:var(--text-muted);display:block;font-family:monospace;font-size:9px;font-weight:700;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}.contact-page__detail-content a,.contact-page__detail-content strong{color:var(--text-primary);font-size:13px;text-decoration:none;transition:color .2s ease}.contact-page__detail-content a:hover{color:var(--blue-light)}.contact-page__form-wrapper{background:linear-gradient(145deg,#111a2bcc,#070b14e6);border:1px solid var(--border);border-radius:14px;box-shadow:0 25px 60px #00000040;padding:32px}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form__field{display:flex;flex-direction:column;gap:8px}.contact-form__field label{color:var(--text-muted);font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.contact-form__field input,.contact-form__field textarea{background:#070b14cc;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;outline:none;padding:14px 15px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:var(--text-muted)}.contact-form__field input:focus,.contact-form__field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #3b82f61a}.contact-form__field textarea{min-height:160px;resize:vertical}.contact-modal{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#000000c7;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:30px;position:fixed;z-index:9999}.contact-modal__content{background:linear-gradient(145deg,#111a2bfa,#070b14fa);border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 90px #0009,0 0 60px #2563eb14;max-height:calc(100vh - 60px);overflow-y:auto;padding:48px;position:relative;width:min(1050px,100%)}.contact-modal__content:before{background:linear-gradient(90deg,#0000,var(--blue),#0000);border-radius:20px 20px 0 0;content:"";height:1px;left:0;opacity:.8;position:absolute;top:0;width:100%}.contact-modal__close{align-items:center;background:#0d1422cc;border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);display:flex;font-size:24px;height:40px;justify-content:center;line-height:1;position:absolute;right:20px;top:20px;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;width:40px}.contact-modal__close:hover{background:#3b82f614;border-color:var(--blue);color:var(--blue-light);transform:rotate(90deg)}.contact-modal__header{margin-bottom:48px;max-width:760px;padding-right:45px}.contact-modal__header h1{color:var(--text-primary);font-size:clamp(38px,5vw,60px);letter-spacing:-2.5px;line-height:1;margin-bottom:20px}.contact-modal__header>p:last-child{color:var(--text-secondary);font-size:16px;line-height:1.8;max-width:650px}.contact-modal__grid{grid-gap:50px;display:grid;gap:50px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.contact-modal__form-wrapper h2,.contact-modal__info h2{color:var(--text-primary);font-size:22px;margin-bottom:24px}.contact-modal__info{padding-right:20px}.contact-modal .contact-item{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px;padding:18px 0}.contact-modal .contact-item__label{color:var(--text-muted);font-family:monospace;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.contact-modal .contact-item__link{color:var(--text-primary);font-size:13px;text-decoration:none;transition:color .2s ease}.contact-modal .contact-item__link:hover{color:var(--blue-light)}.contact-modal__form-wrapper{background:linear-gradient(145deg,#0d1422cc,#070b14e6);border:1px solid var(--border);border-radius:14px;padding:28px}.contact-modal .contact-form{gap:18px}.contact-modal .contact-form__field label{color:var(--text-muted)}.contact-modal .contact-form__field input,.contact-modal .contact-form__field textarea{background:#070b14cc;border-color:var(--border);color:var(--text-primary)}.contact-modal .contact-form__field input:focus,.contact-modal .contact-form__field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #3b82f61a}.contact-modal .button{align-self:flex-start}.project-details{margin:0 auto;max-width:1200px;overflow:hidden;padding:70px 0 110px;position:relative;width:100%}.project-details:before{background:#2563eb14;border-radius:50%;content:"";filter:blur(120px);height:550px;pointer-events:none;position:absolute;right:-200px;top:-150px;width:550px}.project-details__back{align-items:center;color:var(--text-muted);display:inline-flex;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.8px;margin-bottom:30px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .2s ease,transform .2s ease;z-index:1}.project-details__back:hover{color:var(--blue-light);transform:translateX(-4px)}.project-details__hero{background:var(--bg-secondary);border:1px solid var(--border);border-radius:18px;box-shadow:0 30px 80px #00000059;margin-bottom:65px;overflow:hidden;position:relative;width:100%;z-index:1}.project-details__hero:after{background:linear-gradient(135deg,#3b82f614,#0000 40%,#2563eb0d);content:"";inset:0;pointer-events:none;position:absolute}.project-details__hero img{display:block;max-height:620px;object-fit:cover;position:relative;width:100%;z-index:1}.project-details__placeholder{align-items:center;background:linear-gradient(135deg,var(--bg-card),var(--bg-primary));color:var(--text-muted);display:flex;font-family:monospace;font-size:13px;font-weight:700;justify-content:center;letter-spacing:1px;min-height:400px;text-transform:uppercase}.project-details__header{margin:0 auto 80px;max-width:1050px;position:relative;z-index:1}.project-details__label{align-items:center;display:flex;gap:14px;margin-bottom:20px}.project-details__label .page__eyebrow{margin:0}.project-details__featured{align-items:center;background:#3b82f614;border:1px solid #3b82f640;border-radius:999px;color:var(--blue-light);display:inline-flex;font-family:monospace;font-size:9px;font-weight:700;letter-spacing:.8px;padding:6px 10px;text-transform:uppercase}.project-details__header h1{color:var(--text-primary);font-size:clamp(52px,7vw,82px);font-weight:800;letter-spacing:-4px;line-height:.95;margin:0 0 26px;max-width:900px}.project-details__intro{margin-bottom:42px;max-width:780px}.project-details__intro p{color:var(--text-secondary);font-size:19px;line-height:1.75;margin:0}.project-details__date{align-items:center;background:#0d14228c;border:1px solid var(--border);border-radius:12px;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px;max-width:780px;padding:18px 20px}.project-details__date span,.project-details__overview-item span{color:var(--text-muted);font-family:monospace;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.project-details__date strong,.project-details__overview-item strong{color:var(--text-primary);font-size:13px;font-weight:700}.project-details__overview{background:#0d14228c;border:1px solid var(--border);border-radius:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px;overflow:hidden}.project-details__overview-item{border-right:1px solid var(--border);display:flex;flex-direction:column;gap:8px;min-height:88px;padding:18px 20px}.project-details__overview-item:last-child{border-right:0}.project-details__body{grid-gap:70px;align-items:start;border-top:1px solid var(--border);display:grid;gap:70px;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);padding-top:70px;position:relative;z-index:1}.project-details__content{min-width:0}.project-details__content-header{margin-bottom:30px}.project-details__content-header .page__eyebrow{margin-bottom:12px}.project-details__content h2{color:var(--text-primary);font-size:clamp(30px,4vw,42px);letter-spacing:-1.5px;line-height:1.05;margin:0}.project-details__description{background:linear-gradient(145deg,#111a2bb3,#070b14cc);border:1px solid var(--border);border-radius:14px;margin-bottom:36px;max-width:760px;padding:28px 30px}.project-details__description p{color:var(--text-secondary);font-size:16px;line-height:1.9;margin:0 0 20px}.project-details__description p:last-child{margin-bottom:0}.project-details__links{display:flex;flex-wrap:wrap;gap:12px}.project-details__sidebar{background:linear-gradient(145deg,#111a2bbf,#070b14d9);border:1px solid var(--border);border-radius:14px;padding:26px;position:sticky;top:105px}.project-details__sidebar h2{color:var(--text-primary);font-size:21px;letter-spacing:-.5px;margin:0 0 20px}.project-details__technologies{display:flex;flex-wrap:wrap;gap:8px}.project-details__technologies .project-card__technology{padding:7px 10px}.project-gallery{border-top:1px solid var(--border);margin-top:80px;padding-top:50px;position:relative;z-index:1}.project-gallery__header{margin-bottom:32px}.project-gallery__header h2{color:var(--text-primary);font-size:40px;line-height:1.1}.project-gallery__grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery__item{background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;cursor:pointer;overflow:hidden;padding:0;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;width:100%}.project-gallery__item:hover{border-color:#3b82f673;box-shadow:0 12px 30px #00000040;transform:translateY(-3px)}.project-gallery__item img{display:block;height:auto;transition:transform .3s ease;width:100%}.project-gallery__item:hover img{transform:scale(1.02)}.project-details__navigation{grid-gap:18px;border-top:1px solid var(--border);display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:100px;padding-top:40px}.project-details__navigation-link{align-items:flex-start;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:24px;text-decoration:none;transition:border-color .25s ease,background .25s ease,transform .25s ease}.project-details__navigation-link:hover{background:#3b82f60d;border-color:#3b82f673;transform:translateY(-3px)}.project-details__navigation-link span{color:var(--text-muted);font-family:monospace;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.project-details__navigation-link strong{color:var(--text-primary);font-size:17px}.project-details__navigation-link--next{align-items:flex-end;text-align:right}.project-details__back-bottom{display:flex;justify-content:center;margin-top:30px}.project-details__back-bottom-link{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);display:inline-flex;font-family:monospace;font-size:10px;font-weight:700;justify-content:center;letter-spacing:.7px;padding:12px 18px;text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.project-details__back-bottom-link:hover{background:var(--bg-secondary);border-color:var(--blue);color:var(--text-primary);transform:translateY(-2px)}.lightbox{align-items:center;background:#000000eb;display:flex;inset:0;justify-content:center;padding:40px;position:fixed;z-index:1000}.lightbox__image{box-shadow:0 20px 60px #0009;max-height:90vh;max-width:95%;object-fit:contain}.lightbox__close,.lightbox__image{border:1px solid var(--border);border-radius:10px}.lightbox__close{align-items:center;background:#0d1422cc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;position:absolute;right:24px;top:20px;transition:border-color .2s ease,background .2s ease,color .2s ease;width:44px}.lightbox__close:hover{background:#3b82f614;border-color:var(--blue);color:var(--blue-light)}.lightbox__arrow{background:#0d1422cc;border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:20px;height:48px;position:absolute;top:50%;transform:translateY(-50%);transition:color .2s ease,border-color .2s ease,background .2s ease;width:48px}.lightbox__arrow:hover{background:#3b82f614;border-color:var(--blue);color:var(--blue-light)}.lightbox__arrow--left{left:24px}.lightbox__arrow--right{right:24px}.lightbox__counter{bottom:24px;color:var(--text-muted);font-family:monospace;font-size:10px;font-weight:700;left:50%;letter-spacing:1px;position:absolute;transform:translateX(-50%)}.not-found{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:600px;padding:80px 24px;text-align:center}.not-found h1{color:var(--text-primary);font-size:64px;line-height:1.1;margin-bottom:20px}.not-found__description{color:var(--text-secondary);font-size:18px;line-height:1.7;margin-bottom:36px;max-width:550px}.not-found__actions{display:flex;gap:12px}.scroll-top{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;bottom:24px;box-shadow:0 8px 24px #0000004d;color:var(--text-primary);cursor:pointer;display:flex;font-size:20px;font-weight:700;height:46px;justify-content:center;position:fixed;right:24px;transition:background .2s ease,border-color .2s ease,transform .2s ease;width:46px;z-index:90}.scroll-top:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-3px)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.fade-in--visible{opacity:1;transform:translateY(0)}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);margin-top:80px}.footer__container{margin:0 auto;padding:56px 0 24px;width:min(1200px,calc(100% - 48px))}.footer__top{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:1.5fr 1fr 1fr}.footer__logo{color:var(--text-primary);display:inline-block;font-size:1.25rem;font-weight:700;margin-bottom:16px;text-decoration:none;transition:color .25s ease}.footer__logo:hover{color:var(--blue-light)}.footer__description{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin:0;max-width:380px}.footer__links,.footer__social{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.footer__links a,.footer__links button,.footer__social a{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.95rem;line-height:1.5;padding:0;text-decoration:none;transition:color .25s ease,transform .25s ease}.footer__links a:hover,.footer__links button:hover,.footer__social a:hover{color:var(--blue-light);transform:translateX(3px)}.footer__links button{appearance:none;-webkit-appearance:none}.footer__bottom{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:48px;padding-top:24px}.footer__bottom p{color:var(--text-secondary);font-size:.85rem;margin:0}@media (max-width:900px){.about-page,.contact-page,.main,.project-details,.projects-page{width:min(100% - 48px,1200px)}.home{gap:60px;grid-template-columns:1fr;min-height:auto;padding:90px 0}.home__profile{justify-content:flex-start}.home__profile-image{width:280px}.featured__grid{grid-template-columns:1fr}.home__technology{padding:16px}.contact-modal__grid{gap:40px;grid-template-columns:1fr}.contact-modal__info{padding-right:0}.about-page__grid,.contact-page__grid{gap:60px;grid-template-columns:1fr}.contact-page__info{padding-right:0}.project-card__image{height:280px}.project-details__body{gap:40px;grid-template-columns:1fr}.project-details__sidebar{position:static}}@media (max-width:800px){.nav__container{padding:0 24px}.nav__menu-button{display:flex}.nav__links{align-items:stretch;background:#070b14fa;border-bottom:1px solid var(--border);display:none;flex-direction:column;gap:0;left:0;padding:18px 24px;position:absolute;right:0;top:76px;z-index:100}.nav__links--open{display:flex}.nav__link{border-bottom:1px solid var(--border);padding:14px 0;text-align:left;width:100%}.nav__link:before{bottom:5px}.nav__contact-button{text-align:left}.nav__social{border-left:none;border-top:1px solid var(--border);margin:10px 0 0;padding:16px 0 0}.featured{padding:90px 0}.featured__header{gap:24px;grid-template-columns:1fr}.featured__header>div{grid-column:auto}.featured__view-all{grid-column:auto;grid-row:auto}.project-details__navigation,.project-gallery__grid{grid-template-columns:1fr}.footer{margin-top:60px}.footer__container{padding:48px 0 24px}.footer__top{gap:40px;grid-template-columns:1fr 1fr}.footer__top>div:first-child{grid-column:1/-1}.footer__bottom{margin-top:40px}.projects-page{padding-top:85px}.projects-sort{justify-content:flex-start}.project-details__header{margin-bottom:65px}.project-details__header h1{font-size:60px;letter-spacing:-3px}.project-details__intro p{font-size:17px}}@media (max-width:600px){.about-page,.contact-page,.main,.project-details,.projects-page{width:calc(100% - 40px)}.nav__container{padding:0 20px}.home{padding:70px 0}.home__title{font-size:46px;letter-spacing:-2.5px}.home__description{font-size:16px}.home__buttons{align-items:stretch;flex-direction:column}.home__buttons .button{width:100%}.home__profile-image{border-radius:18px;width:220px}.home__profile-image:before{border-radius:18px}.featured{padding:70px 0}.featured__header h2,.home__technologies-header h2{font-size:34px}.home__technologies{padding:70px 0}.home__technologies-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-page,.contact-page,.projects-page{padding:80px 0}.about-page__header h1,.contact-page__header h1,.projects-page__header h1{font-size:52px;letter-spacing:-2.5px}.contact-page__header>p:last-child,.projects-page__header>p:last-child{font-size:16px}.projects-sort{align-items:flex-start;flex-direction:column;justify-content:flex-start}.projects-sort select{width:100%}.projects-results{margin-bottom:16px}.project-card__image{height:220px}.project-card__content{padding:22px}.project-card__title{font-size:21px}.project-card__footer{align-items:flex-start;flex-direction:column}.project-card__links{padding-top:4px;width:100%}.skills-grid{grid-template-columns:1fr}.contact-page__form-wrapper{padding:22px}.contact-modal{align-items:flex-start;padding:15px}.contact-modal__content{border-radius:16px;max-height:calc(100vh - 30px);padding:35px 22px 25px}.contact-modal__close{border-radius:8px;height:36px;right:12px;top:12px;width:36px}.contact-modal__header{margin-bottom:32px;padding-right:40px}.contact-modal__header h1{font-size:38px}.contact-modal__header>p:last-child{font-size:14px}.contact-modal__form-wrapper{border-radius:12px;padding:22px}.project-details{padding:60px 0 80px}.project-details__hero{border-radius:14px;margin-bottom:45px}.project-details__header{margin-bottom:55px}.project-details__label{margin-bottom:16px}.project-details__header h1{font-size:44px;letter-spacing:-2.5px;margin-bottom:20px}.project-details__intro{margin-bottom:30px}.project-details__intro p{font-size:16px;line-height:1.75}.project-details__date{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:10px;padding:16px}.project-details__overview{grid-template-columns:1fr}.project-details__overview-item{border-bottom:1px solid var(--border);border-right:0;min-height:auto}.project-details__overview-item:last-child{border-bottom:0}.project-details__body{gap:30px;padding-top:50px}.project-details__content-header{margin-bottom:22px}.project-details__content h2{font-size:32px}.project-details__description{border-radius:12px;margin-bottom:28px;padding:22px}.project-details__description p{font-size:15px;line-height:1.85}.project-details__sidebar{border-radius:12px;padding:22px}.project-details__links{align-items:stretch;flex-direction:column}.project-details__links .button{width:100%}.project-gallery{margin-top:60px;padding-top:40px}.project-gallery__header h2{font-size:32px}.project-details__hero img{min-height:220px;object-fit:cover}.footer{margin-top:48px}.footer__container{padding:40px 0 20px;width:calc(100% - 32px)}.footer__top{gap:32px;grid-template-columns:1fr}.footer__top>div:first-child{grid-column:auto}.footer__description{max-width:100%}.footer__bottom{margin-top:32px;padding-top:20px}.footer__bottom p{font-size:.8rem}.scroll-top{border-radius:9px;bottom:16px;height:42px;right:16px;width:42px}.not-found{min-height:500px}.not-found h1{font-size:46px}.not-found__description{font-size:16px}.not-found__actions{flex-direction:column;width:100%}.not-found__actions .button{width:100%}.lightbox{padding:20px}.lightbox__arrow{border-radius:8px;height:40px;width:40px}.lightbox__arrow--left{left:10px}.lightbox__arrow--right{right:10px}}
/*# sourceMappingURL=main.8b234b35.css.map*/