.loading{z-index:9999;background:var(--color-bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading__content{align-items:center;gap:var(--space-2xl);flex-direction:column;display:flex}.loading__logo{-o-object-fit:contain;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 0 30px #1b009866);width:72px;height:72px}.loading__bar-track{background:var(--color-border);border-radius:2px;width:120px;height:2px;overflow:hidden}.loading__bar-fill{background:linear-gradient(90deg,var(--color-primary-lighter),var(--color-accent));transform-origin:0;border-radius:2px;height:100%}
.scroll-progress{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transform-origin:0;height:2px;z-index:calc(var(--z-navbar) + 1);position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.navbar{z-index:var(--z-navbar);transition:all .4s var(--ease-out-quint);padding:1rem 0;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(16px)saturate(1.4);border-bottom:1px solid var(--color-border);background:#030014cc;padding:.6rem 0}.navbar__inner{justify-content:space-between;align-items:center;gap:var(--space-xl);display:flex}.navbar__logo{align-items:center;gap:var(--space-sm);display:flex}.navbar__logo-img{-o-object-fit:contain;object-fit:contain;mix-blend-mode:screen;width:32px;height:32px}.navbar__logo-text{font-family:var(--font-heading);font-size:var(--fs-lg);letter-spacing:-.02em;font-weight:800}.navbar__links{align-items:center;gap:var(--space-xs);display:flex}.navbar__link{color:var(--color-text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:.4rem .9rem;font-size:.8rem;font-weight:500}.navbar__link:hover{color:var(--color-text);background:#ffffff0a}.navbar__link--active{color:var(--color-text)}.navbar__cta{font-size:.8rem;font-weight:600;font-family:var(--font-heading);color:#fff;background:var(--color-primary);border-radius:var(--radius-full);transition:all var(--transition-fast);padding:.5rem 1.25rem}.navbar__cta:hover{background:var(--color-primary-light);box-shadow:0 0 20px #1b00984d}.navbar__cta:active{transition-duration:.1s;transform:scale(.96)}.navbar__hamburger{z-index:calc(var(--z-navbar) + 10);flex-direction:column;gap:5px;padding:6px;display:none}.navbar__hamburger span{background:var(--color-text);width:22px;height:1.5px;transition:all .3s var(--ease-out-quint);display:block}.navbar__hamburger--open span:first-child{transform:rotate(45deg)translate(4px,4px)}.navbar__hamburger--open span:nth-child(2){opacity:0;transform:translate(-10px)}.navbar__hamburger--open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.navbar__mobile{z-index:calc(var(--z-navbar) - 1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#030014f2;position:fixed;inset:0}.navbar__mobile-inner{height:100%;padding:5rem var(--space-2xl);justify-content:center;align-items:flex-start;gap:var(--space-lg);flex-direction:column;display:flex}.navbar__mobile-link{font-family:var(--font-heading);font-size:var(--fs-2xl);color:var(--color-text-secondary);transition:color var(--transition-fast);font-weight:700}.navbar__mobile-link:hover{color:var(--color-text)}.navbar__mobile-cta{margin-top:var(--space-xl)}@media (max-width:768px){.navbar__links,.navbar__cta{display:none}.navbar__hamburger{display:flex}}
.portfolio{background:var(--color-bg-secondary)}.portfolio__filters{margin-bottom:var(--space-3xl);background:var(--color-border);border-radius:var(--radius-full);justify-content:center;gap:2px;width:fit-content;margin-left:auto;margin-right:auto;display:flex;overflow:hidden}.portfolio__filter{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);background:var(--color-bg-secondary);transition:all var(--transition-fast);padding:.6rem 1.4rem;font-size:.75rem;font-weight:500}.portfolio__filter:hover{color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.portfolio__filter--active{color:var(--color-text);background:var(--color-bg-tertiary)}.portfolio__grid{gap:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.portfolio__item{border-radius:var(--radius-lg);background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-base);overflow:hidden}.portfolio__item:hover{border-color:#6b4fe840;box-shadow:0 8px 40px #1b00981f}.portfolio__item-image{aspect-ratio:16/10;position:relative;overflow:hidden}.portfolio__item-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.portfolio__item:hover .portfolio__item-image img{transform:scale(1.04)}.portfolio__item-overlay{padding:var(--space-lg);opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000 30%,#030014d9 100%);justify-content:flex-end;align-items:flex-end;display:flex;position:absolute;inset:0}.portfolio__item:hover .portfolio__item-overlay{opacity:1}.portfolio__item-view-btn{align-items:center;gap:var(--space-sm);text-transform:uppercase;letter-spacing:.08em;color:#fff;font-size:.75rem;font-weight:600;display:flex}.portfolio__item-info{padding:var(--space-lg)var(--space-xl)}.portfolio__item-meta{align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.portfolio__item-category{text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);font-size:.65rem;font-weight:600}.portfolio__item-year{color:var(--color-text-tertiary);font-size:.65rem}.portfolio__item-title{font-family:var(--font-heading);font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:700}.portfolio__item-client{font-size:var(--fs-sm);color:var(--color-text-tertiary);margin-top:4px}.portfolio__modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);padding:var(--space-xl);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.portfolio__modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:88vh;position:relative;overflow-y:auto}.portfolio__modal-close{top:var(--space-md);right:var(--space-md);z-index:10;padding:var(--space-sm);border-radius:var(--radius-full);color:#fff;transition:background var(--transition-fast);background:#0009;position:absolute}.portfolio__modal-close:hover{background:#ffffff1a}.portfolio__modal-image{aspect-ratio:16/10;overflow:hidden}.portfolio__modal-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.portfolio__modal-content{padding:var(--space-2xl)}.portfolio__modal-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.portfolio__modal-title{font-family:var(--font-heading);font-size:var(--fs-2xl);letter-spacing:-.02em;margin-bottom:4px;font-weight:800}.portfolio__modal-client{font-size:var(--fs-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}.portfolio__modal-desc{color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:1.8}.portfolio__modal-result{align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-xl);font-size:var(--fs-sm);color:var(--color-accent);background:#00d4ff0d;border:1px solid #00d4ff26;font-weight:500;display:flex}.portfolio__modal-tech{flex-wrap:wrap;gap:6px;display:flex}.portfolio__tech-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);color:var(--color-primary-lighter);background:#6b4fe814;border:1px solid #6b4fe833;padding:5px 12px;font-size:.65rem;font-weight:500}@media (max-width:768px){.portfolio__grid{grid-template-columns:1fr}.portfolio__filters{-webkit-overflow-scrolling:touch;overflow-x:auto}.portfolio__modal-content{padding:var(--space-xl)}}
.about{background:var(--color-bg);position:relative}.about:before{content:"";background:linear-gradient(90deg,transparent,var(--color-border),transparent);height:1px;position:absolute;top:0;left:5%;right:5%}.about__stats{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-5xl);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.about__stat{background:var(--color-bg);padding:var(--space-2xl)var(--space-xl);text-align:center}.about__stat-number{font-family:var(--font-heading);font-size:var(--fs-4xl);letter-spacing:-.03em;background:linear-gradient(135deg,var(--color-text),var(--color-accent-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-weight:800}.about__stat-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.about__values-header{margin-bottom:var(--space-3xl)}.about__values-title{font-family:var(--font-heading);font-size:var(--fs-2xl);letter-spacing:-.02em;margin-top:var(--space-md);font-weight:800}.about__values{gap:var(--space-2xl);grid-template-columns:repeat(2,1fr);display:grid}.about__value{padding:var(--space-xl)0;border-top:1px solid var(--color-border)}.about__value-num{font-family:var(--font-heading);color:var(--color-accent);letter-spacing:.1em;margin-bottom:var(--space-md);font-size:.7rem;font-weight:600;display:inline-block}.about__value-title{font-family:var(--font-heading);font-size:var(--fs-lg);letter-spacing:-.01em;margin-bottom:var(--space-sm);font-weight:700}.about__value-desc{font-size:var(--fs-sm);color:var(--color-text-secondary);max-width:480px;line-height:1.7}@media (max-width:1024px){.about__stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.about__stats{grid-template-columns:1fr}.about__values{grid-template-columns:1fr;gap:0}}
.contact{background:var(--color-bg-secondary)}.contact__layout{gap:var(--space-4xl);grid-template-columns:.9fr 1.1fr;align-items:start;display:grid}.contact__title{font-family:var(--font-heading);font-size:var(--fs-3xl);letter-spacing:-.02em;margin-top:var(--space-md);margin-bottom:var(--space-lg);font-weight:800;line-height:1.1}.contact__desc{font-size:var(--fs-base);color:var(--color-text-secondary);margin-bottom:var(--space-2xl);max-width:420px;line-height:1.8}.contact__info-list{gap:var(--space-md);flex-direction:column;display:flex}.contact__info-row{align-items:center;gap:var(--space-md);font-size:var(--fs-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);display:flex}.contact__info-row svg{color:var(--color-text-tertiary);flex-shrink:0}.contact__info-row:hover{color:var(--color-text)}.contact__info-row:hover svg{color:var(--color-primary-lighter)}.contact__form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);gap:var(--space-xl);flex-direction:column;display:flex}.contact__form-row{gap:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.contact__field{flex-direction:column;gap:6px;display:flex}.contact__field label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);font-size:.7rem;font-weight:600}.contact__field input,.contact__field textarea,.contact__field select{width:100%;font-size:var(--fs-sm);color:var(--color-text);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .3s var(--ease-out-quart),box-shadow .3s var(--ease-out-quart);font-family:var(--font-body);padding:.75rem 1rem}.contact__field input::-moz-placeholder{color:var(--color-text-tertiary)}.contact__field textarea::-moz-placeholder{color:var(--color-text-tertiary)}.contact__field input::placeholder,.contact__field textarea::placeholder{color:var(--color-text-tertiary)}.contact__field input:focus,.contact__field textarea:focus,.contact__field select:focus{border-color:var(--color-primary-lighter);outline:none;box-shadow:0 0 0 3px #6b4fe81a}.contact__field:focus-within label{color:var(--color-primary-lighter)}.contact__field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff50' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat}.contact__field select option{background:var(--color-bg);color:var(--color-text)}.contact__field textarea{resize:vertical;min-height:100px}.contact__submit{align-self:flex-start}.contact__spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1024px){.contact__layout{grid-template-columns:1fr}}@media (max-width:640px){.contact__form-row{grid-template-columns:1fr}.contact__form{padding:var(--space-xl)}}
