.ProjectDetails-module__FrZZpq__page{background:radial-gradient(circle at 70% 20%,#1e64aa1a,#0000 42%),radial-gradient(circle at 15% 75%,#2998710f,#0000 30%);align-items:center;min-height:100svh;padding:9rem 1.5rem 6rem;display:flex}.ProjectDetails-module__FrZZpq__article{width:100%;max-width:900px;margin:0 auto}.ProjectDetails-module__FrZZpq__backLink{width:fit-content;color:var(--muted);align-items:center;gap:.55rem;margin-bottom:2.5rem;padding:.55rem 0;transition:color .18s,transform .18s;display:inline-flex}.ProjectDetails-module__FrZZpq__backLink:hover{color:#fff;transform:translate(-4px)}.ProjectDetails-module__FrZZpq__backLink:focus-visible{outline:2px solid var(--blue-light);outline-offset:4px;border-radius:4px}.ProjectDetails-module__FrZZpq__header,.ProjectDetails-module__FrZZpq__section{border:1px solid var(--border);background:#081824ad;border-radius:16px}.ProjectDetails-module__FrZZpq__header{padding:clamp(1.75rem,5vw,3.5rem)}.ProjectDetails-module__FrZZpq__meta{color:var(--blue-light);letter-spacing:.09em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.78rem;font-weight:650;display:flex}.ProjectDetails-module__FrZZpq__metaDivider{color:var(--muted);opacity:.55}.ProjectDetails-module__FrZZpq__year{color:#b8c8d4;align-items:center;gap:.4rem;display:inline-flex}.ProjectDetails-module__FrZZpq__header h1{letter-spacing:-.05em;max-width:780px;margin:1.2rem 0 1rem;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.02}.ProjectDetails-module__FrZZpq__summary{max-width:720px;color:var(--muted);margin:0;font-size:clamp(1rem,2vw,1.15rem);line-height:1.75}.ProjectDetails-module__FrZZpq__section{margin-top:1rem;padding:clamp(1.5rem,4vw,2.5rem)}.ProjectDetails-module__FrZZpq__section h2{letter-spacing:-.02em;margin:0 0 1.25rem;font-size:1.35rem}.ProjectDetails-module__FrZZpq__section p{max-width:760px;color:var(--muted);margin:0;line-height:1.75}.ProjectDetails-module__FrZZpq__section p+p{margin-top:1rem}.ProjectDetails-module__FrZZpq__gallerySection{overflow:hidden}.ProjectDetails-module__FrZZpq__technologies{flex-wrap:wrap;gap:.55rem;display:flex}.ProjectDetails-module__FrZZpq__technologies span{border:1px solid var(--border);color:#c2d0da;background:#05111bbf;border-radius:7px;padding:.5rem .72rem;font-size:.78rem}@media (max-width:640px){.ProjectDetails-module__FrZZpq__page{padding:7.5rem 1rem 4rem}.ProjectDetails-module__FrZZpq__backLink{margin-bottom:1.5rem}.ProjectDetails-module__FrZZpq__metaDivider{display:none}.ProjectDetails-module__FrZZpq__meta{flex-direction:column;align-items:flex-start}.ProjectDetails-module__FrZZpq__gallerySection{padding-inline:1rem}}@media (prefers-reduced-motion:reduce){.ProjectDetails-module__FrZZpq__backLink{transition:none}}
.ProjectGallery-module__zFbKZG__gallery{gap:1rem;display:grid}.ProjectGallery-module__zFbKZG__phoneGallery{grid-template-columns:repeat(3,minmax(0,1fr))}.ProjectGallery-module__zFbKZG__desktopGallery{grid-template-columns:1fr}.ProjectGallery-module__zFbKZG__screenshotButton{width:100%;min-width:0;color:inherit;cursor:zoom-in;background:0 0;border:0;border-radius:14px;padding:0;transition:transform .2s,box-shadow .2s;display:block}.ProjectGallery-module__zFbKZG__screenshotButton:hover,.ProjectGallery-module__zFbKZG__screenshotButton:focus-visible{transform:translateY(-5px);box-shadow:0 18px 45px #00000052}.ProjectGallery-module__zFbKZG__screenshotButton:focus-visible{outline:2px solid var(--blue-light);outline-offset:4px}.ProjectGallery-module__zFbKZG__screenshotFrame{background:#07111c;border:1px solid #85b5da38;border-radius:14px;display:block;position:relative;overflow:hidden}.ProjectGallery-module__zFbKZG__phoneGallery .ProjectGallery-module__zFbKZG__screenshotFrame{aspect-ratio:1284/2778}.ProjectGallery-module__zFbKZG__desktopGallery .ProjectGallery-module__zFbKZG__screenshotFrame{aspect-ratio:3199/1843}.ProjectGallery-module__zFbKZG__screenshotFrame img{object-fit:contain}.ProjectGallery-module__zFbKZG__lightbox{z-index:1000;-webkit-backdrop-filter:blur(14px);background:#01060af0;place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0}.ProjectGallery-module__zFbKZG__lightboxImage{filter:drop-shadow(0 28px 70px #0000008c);width:min(88vw,1500px);height:min(86svh,1050px);position:relative}.ProjectGallery-module__zFbKZG__lightboxImage img{object-fit:contain}.ProjectGallery-module__zFbKZG__lightboxControl{z-index:2;color:#fff;cursor:pointer;background:#0a1c2ae0;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .18s,border-color .18s,transform .18s;display:grid;position:fixed}.ProjectGallery-module__zFbKZG__lightboxControl:hover{background:#184160f2;border-color:#64a2ffb3;transform:scale(1.06)}.ProjectGallery-module__zFbKZG__lightboxControl:focus-visible{outline:2px solid var(--blue-light);outline-offset:4px}.ProjectGallery-module__zFbKZG__closeButton{top:1.25rem;right:1.25rem}.ProjectGallery-module__zFbKZG__previousButton,.ProjectGallery-module__zFbKZG__nextButton{top:50%;transform:translateY(-50%)}.ProjectGallery-module__zFbKZG__previousButton{left:1.25rem}.ProjectGallery-module__zFbKZG__nextButton{right:1.25rem}.ProjectGallery-module__zFbKZG__previousButton:hover,.ProjectGallery-module__zFbKZG__nextButton:hover{transform:translateY(-50%)scale(1.06)}.ProjectGallery-module__zFbKZG__lightboxCounter{color:#c8d4de;letter-spacing:.08em;background:#05111bc7;border:1px solid #ffffff24;border-radius:99px;padding:.45rem .75rem;font-size:.78rem;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}@media (max-width:640px){.ProjectGallery-module__zFbKZG__phoneGallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.ProjectGallery-module__zFbKZG__lightbox{padding:4rem .75rem}.ProjectGallery-module__zFbKZG__lightboxImage{width:calc(100vw - 1.5rem);height:calc(100svh - 8rem)}.ProjectGallery-module__zFbKZG__lightboxControl{width:44px;height:44px}.ProjectGallery-module__zFbKZG__closeButton{top:.75rem;right:.75rem}.ProjectGallery-module__zFbKZG__previousButton,.ProjectGallery-module__zFbKZG__nextButton{top:auto;bottom:.75rem;transform:none}.ProjectGallery-module__zFbKZG__previousButton{left:.75rem}.ProjectGallery-module__zFbKZG__nextButton{right:.75rem}.ProjectGallery-module__zFbKZG__previousButton:hover,.ProjectGallery-module__zFbKZG__nextButton:hover{transform:scale(1.06)}.ProjectGallery-module__zFbKZG__lightboxCounter{bottom:1.2rem}}@media (prefers-reduced-motion:reduce){.ProjectGallery-module__zFbKZG__screenshotButton,.ProjectGallery-module__zFbKZG__lightboxControl{transition:none}}
