@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Archivo:wght@400;500&family=Chakra+Petch:wght@400;600&family=Noto+Sans:wght@400;500;600&display=swap";@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{color-scheme:dark;--navy-950: #000714;--navy-900: #001233;--navy-800: #0b1f4b;--navy-700: #132a56;--blue-500: #4dd5ff;--blue-400: #8ef0ff;--violet-400: #8c6cff;--pink-400: #ff72d1;--slate-200: #e2ecff;--slate-400: #91a2c7;--slate-500: #6c789b;--border: rgba(255, 255, 255, .08);--blur: rgba(11, 30, 63, .65);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--shell-pad: clamp(16px, 4vw, 56px);font-family:Space Grotesk,Archivo,system-ui,sans-serif;line-height:1.6;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,rgba(77,213,255,.18),transparent 45%),linear-gradient(140deg,var(--navy-950),var(--navy-900) 45%,#000c24);color:#f6fbff;overflow-x:hidden}#root{min-height:100vh}.blur-text-piece{display:inline-block;will-change:transform,filter,opacity}h1,h2,h3{font-family:Space Grotesk,Archivo,system-ui,sans-serif;margin:0}h1{font-size:clamp(2.8rem,6vw,4.8rem);letter-spacing:-.02em;color:#f6fbff;text-shadow:0 15px 45px rgba(77,213,255,.35)}h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.01em;background:linear-gradient(120deg,var(--blue-400),var(--pink-400));-webkit-background-clip:text;color:transparent}h3{font-size:1.3rem;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-shell{min-height:100vh;display:flex;flex-direction:column;padding:24px var(--shell-pad);gap:32px;background:linear-gradient(140deg,#001233,#001845);overflow-x:hidden}.site-header{position:sticky;top:16px;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:#000c2073;box-shadow:0 25px 45px #00000059;z-index:20}.site-logo{display:inline-flex;align-items:center;justify-content:center}.site-logo-img{display:block;width:clamp(167.2px,19vw,240.35px);height:auto}.site-nav{display:flex;align-items:center;gap:16px}.nav-link{padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;color:var(--slate-200);transition:background .3s ease,color .3s ease}.nav-link.is-active{background:#4dd5ff1f;color:var(--blue-400)}.ghost-cta,.solid-cta{border-radius:999px;padding:10px 22px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .3s ease}.solid-cta{background:linear-gradient(135deg,#4dd5ff,#8c6cff,#ff72d1);background-size:160% 160%;background-position:50% 50%;color:#050a1a;border:none;box-shadow:0 12px 32px #4dd5ff52,0 6px 18px #8c6cff3d}.contact-form-card .solid-cta{width:100%;justify-content:center;padding:14px 18px;border-radius:16px}.ghost-cta{border-color:var(--border);color:var(--slate-200);background:transparent}.solid-cta:hover,.ghost-cta:hover{transform:translateY(-3px)}.menu-toggle{display:none;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer}.menu-toggle span{width:20px;height:2px;background:#fff}main{flex:1}.page{display:flex;flex-direction:column;gap:48px}.page.project-detail-page{gap:32px}.page.contact-page{gap:25px}.hero{position:relative;padding:clamp(48px,7vw,120px) clamp(20px,6vw,72px);overflow:hidden;border:none;background:transparent;width:calc(100% + (var(--shell-pad) * 2));margin-inline:calc(-1 * var(--shell-pad));max-width:100vw}.hero-squares{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.85}.hero-body{position:relative;z-index:2;display:flex;flex-direction:column;gap:18px;padding:clamp(24px,5vw,56px);width:min(100%,780px);margin:0 auto;align-items:center;text-align:center}.hero-title{font-size:clamp(2.8rem,6vw,5rem);letter-spacing:.2em;color:#f8fbff;text-transform:uppercase;font-family:Chakra Petch,Space Grotesk,sans-serif;line-height:1.1}.hero-title-revealed{color:#f8fbff;font-weight:600}.hero-title-encrypted{color:#f8fbff66}.hero-body h1{font-size:clamp(2.4rem,6vw,4.3rem);letter-spacing:.12em;color:#f8fbff;font-family:Chakra Petch,Space Grotesk,sans-serif;line-height:1.1;font-weight:700}.hero-body .hero-lede{max-width:640px;font-size:1.05rem;color:var(--slate-200);font-family:Noto Sans,Space Grotesk,sans-serif;line-height:1.55;margin:0}.hero-body p,.hero-body .hero-cta a{font-family:Noto Sans,Space Grotesk,sans-serif}.hero-cta a{display:inline-flex;align-items:center;justify-content:center}.hero h1{line-height:1.1;margin:18px 0}.hero h1 span{color:var(--blue-400)}.hero-lede{color:var(--slate-200);max-width:640px;font-size:1.1rem}.hero-cta{display:flex;flex-wrap:wrap;gap:16px;padding:clamp(6px,1.6vw,12px);font-family:Noto Sans,Space Grotesk,sans-serif}.hero-cta .solid-cta,.hero-cta .ghost-cta{min-width:220px}.contact-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:clamp(32px,6vw,56px) clamp(18px,5vw,48px) 0;margin-bottom:0}.contact-hero-title{margin:0;display:inline-block;padding:0;max-width:100%;text-align:center;font-size:clamp(2.4rem,5vw,3.8rem);letter-spacing:-.02em}@media(max-width:640px){.contact-hero-title{padding:0}}.contact-hero-copy{margin:0;max-width:640px;color:var(--slate-300, #c1c9e0);font-size:1.05rem;line-height:1.6;opacity:0;transform:translateY(18px);animation:fadeUp .8s ease forwards;animation-delay:.15s}.contact-page .contact-shell{opacity:0;transform:translateY(25px);animation:fadeUp .8s ease forwards;animation-delay:.25s}.hero-kicker,.section-kicker{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;color:var(--slate-500)}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px}.section-subtext{color:var(--slate-400)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;animation:fadeUp .7s ease forwards;opacity:0}.projects-grid .project-card-link{width:100%}.projects-grid .empty-state{grid-column:1 / -1;justify-self:center;align-self:center;max-width:520px;text-align:center}.featured-grid-still{display:flex;flex-direction:column;gap:24px;opacity:0;transform:translateY(20px);animation:fadeUp .85s ease forwards;animation-delay:.1s}.featured-grid-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;opacity:0;transform:translateY(20px);animation:fadeUp .8s ease forwards}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.featured-focus{justify-content:center;gap:.8em}.featured-grid-heading .section-subtext{max-width:560px}.contact-section{display:flex;flex-direction:column;gap:24px;width:100%;margin:0 auto;align-items:center;opacity:0;transform:translateY(24px);animation:fadeUp .85s ease forwards;animation-delay:.2s}.contact-heading{display:flex;justify-content:center;width:100%}.contact-focus{width:100%;justify-content:center;margin-top:20px;margin-bottom:5px}.focus-container{position:relative;display:flex;gap:1em;justify-content:center;align-items:center;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.focus-word{position:relative;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;cursor:pointer;transition:filter .3s ease,color .3s ease}.focus-frame{position:absolute;top:0;left:0;pointer-events:none;box-sizing:content-box;border:none}.corner{position:absolute;width:1rem;height:1rem;border:3px solid var(--border-color, #fff);filter:drop-shadow(0 0 6px var(--glow-color, #fff));border-radius:3px}.corner.top-left{top:-10px;left:-10px;border-right:none;border-bottom:none}.corner.top-right{top:-10px;right:-10px;border-left:none;border-bottom:none}.corner.bottom-left{bottom:-10px;left:-10px;border-right:none;border-top:none}.corner.bottom-right{bottom:-10px;right:-10px;border-left:none;border-top:none}.project-card-link{text-decoration:none;color:inherit;display:flex;height:100%}.lens-card{position:relative;overflow:hidden;border-radius:32px;padding:32px 28px;background:linear-gradient(145deg,#112655,#071024);border:1px solid rgba(255,255,255,.06);box-shadow:0 25px 60px #00000073;transition:transform .3s ease;display:flex;flex-direction:column;flex:1;height:100%}.lens-card:hover{transform:translateY(-6px)}.lens-rays,.lens-beams{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.65;mix-blend-mode:screen}.lens-media{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 15px 35px #00000073;margin-bottom:24px}.lens-media img{display:block;width:100%;height:240px;object-fit:cover;transition:transform .5s ease}.lens-card:hover .lens-media img{transform:scale(1.05)}.lens-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;flex-grow:1}.lens-meta{display:flex;justify-content:space-between;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6}.lens-content h3{margin:0;font-size:1.6rem;font-weight:600;color:#fff}.lens-content p{margin:0;color:#ffffffc7;line-height:1.5;font-family:Noto Sans,Space Grotesk,sans-serif}.contact-shell{padding:clamp(36px,5.5vw,60px);border-radius:28px;border:1px solid rgba(255,255,255,.03);background:radial-gradient(circle at 20% 20%,rgba(63,108,255,.08),transparent 55%),linear-gradient(155deg,#0b0d12,#0a0c15);display:grid;grid-template-columns:minmax(0,1fr);gap:22px;max-width:1100px;margin:0 auto;margin-bottom:clamp(30px,6vw,80px);position:relative;overflow:hidden;box-shadow:0 32px 110px #0009}.contact-shell:after{content:none}.contact-shell>*{position:relative;z-index:1}.contact-shell.compact{padding:clamp(24px,6vw,40px);margin:0;max-width:none;width:100%;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 20% 0,rgba(77,213,255,.12),transparent 55%),linear-gradient(150deg,#000812eb,#051028eb);box-shadow:0 35px 65px #0000008c}.contact-shell>div,.contact-form{width:100%;max-width:860px}.contact-two-col>*{max-width:none}.contact-two-col{grid-template-columns:minmax(340px,1fr) 1.05fr;gap:clamp(24px,4vw,36px);align-items:start;justify-items:center}.contact-form-card{background:linear-gradient(165deg,#070e1c,#0c152b);color:#f6fbff;border-radius:22px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 80px #00000047;padding:clamp(26px,3.8vw,32px);width:100%;max-width:640px}@media(max-width:900px){.contact-two-col{grid-template-columns:1fr;gap:18px;justify-items:center}.contact-form-card{padding:20px;max-width:720px}}.contact-form{padding:0}.contact-shell.compact>div{padding:0;margin:0}.contact-shell.compact .contact-form{max-width:920px;margin:0 auto;padding:clamp(18px,5vw,32px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:#00050ea6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px #ffffff0a}.contact-shell.compact .contact-form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,3vw,26px);text-align:left}.contact-shell.compact .contact-form label{grid-column:auto;text-align:left;background:#ffffff05;border:1px solid rgba(77,213,255,.12);padding:clamp(14px,3vw,20px);min-height:100%}.contact-shell.compact .contact-form label span{text-align:left;display:inline-flex;width:auto;font-size:.82rem;letter-spacing:.25em;text-transform:uppercase;color:#ffffffa6}.contact-shell.compact .contact-form textarea{min-height:120px}.contact-two-col{justify-items:center}.contact-card-slot{width:100%;display:flex;align-items:center;justify-content:center}.contact-card-slot .pc-card,.contact-form-card{width:100%;max-width:640px}@media(max-width:900px){.contact-shell{margin:0 auto 24px;padding:clamp(24px,6vw,36px)}.contact-card-slot .pc-card,.contact-form-card{max-width:720px}}.contact-simple-wrap{display:flex;justify-content:center;padding:clamp(12px,3vw,24px) 0 clamp(20px,5vw,32px);width:100%}.contact-simple{width:100%;max-width:100%}.contact-simple.is-wide{max-width:100%}.contact-simple-form{display:flex;flex-direction:column;gap:16px;background:linear-gradient(165deg,#050b16,#0a1429);border:1px solid rgba(255,255,255,.06);border-radius:24px;padding:clamp(16px,3vw,28px);box-shadow:0 30px 80px #0006;width:100%;max-width:100%;margin:0 auto}.contact-simple-field{display:flex;flex-direction:column;gap:8px}.contact-simple-field span{font-size:.95rem;color:#ffffffb3}.contact-simple-field input,.contact-simple-field textarea{width:100%;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#091224e6;color:#f5fbff;font-size:1rem;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.contact-simple-field textarea{min-height:140px;resize:vertical}.contact-simple-field input:focus,.contact-simple-field textarea:focus{outline:none;border-color:#4dd5ff;box-shadow:0 0 0 3px #4dd5ff3d;background:#0c1a34fa}.contact-simple-submit{width:100%;border-radius:18px;padding:14px 16px;font-weight:700}@media(max-width:720px){.contact-simple-wrap{padding:18px 0 32px}.contact-simple,.contact-simple.is-wide{max-width:100%}.contact-simple-form{padding:20px;border-radius:20px}}.contact-shell.compact .form-actions{align-items:center;text-align:center}.contact-stepper-wrapper{width:100%;display:flex;flex-direction:column;gap:18px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);padding:clamp(14px,4vw,24px);background:radial-gradient(circle at 15% -10%,rgba(77,213,255,.18),transparent 45%),radial-gradient(circle at 85% 0,rgba(134,74,255,.16),transparent 50%),linear-gradient(150deg,#000510eb,#020e22f2);box-shadow:0 30px 70px #0000008c,inset 0 0 0 1px #ffffff0a}.contact-stepper-form{width:100%;display:flex;flex-direction:column;gap:12px}.contact-stepper-hint{margin:0;font-size:.9rem;color:#fff9}.contact-stepper-status{border-radius:var(--radius-md);border:1px solid rgba(77,213,255,.2);background:#4dd5ff14;padding:14px 18px;color:#e2ecff;font-size:.95rem;text-align:center}.contact-stepper-error{margin:0}.contact-form{display:flex;flex-direction:column;gap:20px;width:100%}.contact-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;text-align:left}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:.95rem;background:transparent;padding:0;border-radius:var(--radius-md);border:none;box-shadow:none}.contact-form .full-span{grid-column:1 / -1}.contact-form input,.contact-form textarea{background:#060c1ce6;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;color:#f6fbff;font-family:inherit;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#4dd5ff;box-shadow:0 0 0 3px #4dd5ff47}.contact-form-card .contact-form{max-width:none}.contact-form-card .contact-form label{background:transparent;border:none;box-shadow:none;color:#1f2937}.contact-form-card .contact-form label span{color:#4b5563;font-weight:600}.contact-form-card .contact-form input,.contact-form-card .contact-form textarea{background:#060c1ce6;border:1px solid rgba(255,255,255,.12);color:#f6fbff}.contact-form-card .contact-form input:focus,.contact-form-card .contact-form textarea:focus{border-color:#4dd5ff;box-shadow:0 0 0 3px #4dd5ff3d}.form-error{margin:0;padding:12px 16px;border-radius:var(--radius-sm);background:#ff52521f;border:1px solid rgba(255,82,82,.4);color:#ffb3b3;font-size:.9rem;width:100%}.form-actions{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;width:100%}.projects-hero{padding:32px;border-radius:var(--radius-lg);border:1px solid var(--border);background:#010916f2;display:flex;flex-direction:column;gap:12px;animation:fadeUp .7s ease forwards;opacity:0}.projects-hero-title{font-size:clamp(2.2rem,4.8vw,3.4rem);font-weight:700;letter-spacing:-.02em;display:inline-flex;align-items:center}.projects-hero-cursor{color:var(--blue-500)}.projects-search{display:flex;flex-direction:column;gap:12px}.projects-search-input{position:relative;width:100%}.projects-search input{width:100%;padding:16px 48px 16px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#040e21e6;color:#fff;font-size:1rem}.projects-search-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#ffffffb3;display:inline-flex}.empty-state{padding:32px;border-radius:var(--radius-md);border:1px dashed var(--border);text-align:center;color:var(--slate-400)}.project-detail-page>*{opacity:0;animation:fadeUp .7s ease forwards}.project-detail-page>*:nth-child(2){animation-delay:.08s}.project-detail-page>*:nth-child(3){animation-delay:.16s}.project-detail-page>*:nth-child(4){animation-delay:.24s}.project-detail-hero{margin:10px 0;padding:32px;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(125deg,#03113ee6,#021c3dd9);display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left}.project-detail-hero h1{font-size:clamp(1.76rem,3.78vw,3.02rem);line-height:1.15;letter-spacing:-.02em}.project-detail-hero p{margin:0}.project-detail-content{display:grid;grid-template-columns:minmax(0,4.5fr) minmax(250px,1fr);gap:32px;width:100%;max-width:100%;overflow-x:hidden;align-items:flex-start}.project-detail-content article{min-width:0;width:100%;max-width:100%;overflow-x:hidden}.project-detail-content aside{min-width:0;width:100%;max-width:100%;align-self:flex-start}.project-detail-cover{height:500px;border-radius:var(--radius-lg);background-size:cover;background-position:center;border:1px solid var(--border)}.project-detail-text{margin-top:24px;display:flex;flex-direction:column;gap:18px}.gallery-grid{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.gallery-grid figure{margin:0;display:flex;flex-direction:column;gap:8px}.project-code-block{margin-top:32px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.12);background:#040a18e6;padding:clamp(18px,4vw,28px);display:flex;flex-direction:column;gap:16px;box-shadow:inset 0 0 0 1px #ffffff08}.project-code-heading{display:flex;justify-content:space-between;align-items:center}.project-code-pre{margin:0;padding:18px;border-radius:var(--radius-md);background:#0000008c;overflow-x:auto;white-space:pre-wrap}.project-code-content{display:block;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.9rem;line-height:1.6;color:#e6f0ff}.project-code-block.is-collapsed .project-code-pre{max-height:260px;overflow:hidden;position:relative}.project-code-block.is-collapsed .project-code-pre:after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(180deg,#0000,#000000e6 85%);pointer-events:none}.project-code-block.is-collapsed{margin-top:6px}.project-code-toggle{margin-top:8px;align-self:flex-start;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#4dd5ff1f;color:#e6f1ff;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .2s ease}.project-code-toggle:hover{border-color:#ffffff40;background:#4dd5ff2e}.project-code-content .hljs-keyword,.project-code-content .hljs-built_in,.project-code-content .hljs-selector-tag{color:#9ad1ff;font-weight:600}.project-code-content .hljs-string,.project-code-content .hljs-attribute,.project-code-content .hljs-template-tag{color:#ffd28a}.project-code-content .hljs-number,.project-code-content .hljs-literal,.project-code-content .hljs-symbol{color:#a8b4ff}.project-code-content .hljs-comment,.project-code-content .hljs-quote{color:#bdc9e299;font-style:italic}.project-code-content .hljs-function .hljs-title,.project-code-content .hljs-title{color:#7af7d9}.project-code-content .hljs-params{color:#d0e2ff}.project-code-note{margin:12px 0 0;color:var(--slate-400);line-height:1.6}.gallery-grid-trigger{width:100%;padding-bottom:60%;border:none;background-color:transparent;border-radius:var(--radius-md);background-size:cover;background-position:center;border:1px solid var(--border);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.gallery-grid-trigger:hover{transform:translateY(-4px);box-shadow:0 15px 40px #00000073}.gallery-grid figcaption{margin-top:8px;font-size:.85rem;color:var(--slate-400)}.gallery-preview{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:clamp(16px,5vw,40px)}.gallery-preview-backdrop{position:absolute;inset:0;background:#000612d9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.gallery-preview-image-wrapper{position:relative;z-index:1;display:inline-block;max-width:min(92vw,1100px);max-height:min(90vh,860px)}.gallery-preview-image{position:relative;z-index:1;max-width:min(92vw,1100px);max-height:min(90vh,860px);width:auto;height:auto;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.15);box-shadow:0 35px 90px #000000ad;object-fit:contain;background:#010409;display:block}.gallery-preview-close{position:absolute;top:12px;right:12px;z-index:2;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid rgba(77,213,255,.4);background:#07193af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--blue-400);cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #0006,0 0 #4dd5ff4d}.gallery-preview-close:hover{background:#4dd5ff26;border-color:var(--blue-400);color:var(--blue-400);transform:scale(1.1);box-shadow:0 12px 32px #4dd5ff4d,0 0 0 4px #4dd5ff1a}.gallery-preview-close:active{transform:scale(.95)}.gallery-preview-close svg{width:20px;height:20px}.download-panel{margin-top:32px;padding:28px;border-radius:var(--radius-lg);border:1px solid rgba(77,213,255,.3);background:#07193af2;display:flex;flex-direction:column;gap:22px}.download-panel>div:first-child{flex:1}.project-files-list{display:flex;flex-direction:column;gap:12px;width:100%}.project-file-download{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;width:100%;text-align:left}.project-file-download .file-size{font-size:.85rem;opacity:.8;margin-left:12px;font-weight:500}.project-sidebar{position:sticky;top:120px;border-radius:var(--radius-lg);border:1px solid var(--border);padding:24px;background:#030c1ef2}.project-sidebar ul{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:12px}.project-sidebar a{display:flex;flex-direction:column;padding:14px;border-radius:var(--radius-sm);border:1px solid transparent;background:#040f2699;color:inherit;transition:border-color .3s ease}.project-sidebar a:hover{border-color:#9d7bff66}.site-footer{padding:clamp(22px,4.2vw,50px);border-radius:var(--radius-lg);border:1px solid var(--border);background:#000612e6;box-shadow:0 25px 60px #0000008c;display:flex;flex-direction:column;gap:clamp(24px,4vw,40px)}.footer-heading{display:flex;flex-direction:column;gap:10px;max-width:640px}.footer-kicker{text-transform:uppercase;letter-spacing:.35em;font-size:.76rem;color:#ffffffa8;margin:0}.footer-title{margin:0;font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:600;background:linear-gradient(120deg,#f8fbff,#88aaffe6);-webkit-background-clip:text;color:transparent}.footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(12px,2.25vw,19.5px);padding:clamp(18px,4vw,28px);border-radius:var(--radius-md);background:#00040cbf;border:1px solid rgba(255,255,255,.08)}.footer-columns div{display:flex;flex-direction:column;gap:12px}.footer-label{text-transform:uppercase;font-size:.75rem;letter-spacing:.25em;color:#ffffff8c;margin:0}.footer-columns ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer-columns a{color:#ffffffc7;display:inline-flex;align-items:center;gap:6px;transition:color .25s ease,transform .25s ease}.footer-columns a:after{content:"↗";font-size:.85rem;opacity:.5}.footer-columns a:hover{color:var(--blue-400);transform:translate(2px)}.footer-note{margin:0;color:var(--slate-400);line-height:1.5}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.social-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;padding:10px 14px;min-width:auto;width:auto;height:auto;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;transition:all .3s ease;text-decoration:none;font-size:.9rem}.social-link:hover{background:#4dd5ff26;border-color:#4dd5ff66;color:var(--blue-400);transform:translateY(-2px);box-shadow:0 4px 12px #4dd5ff33}.social-link svg{width:20px;height:20px;flex-shrink:0}.social-link-text{font-weight:500;white-space:nowrap}.footer-meta{font-size:.95rem;color:#ffffffb3;text-align:center;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin:0;letter-spacing:.08em}@media(max-width:1200px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.projects-grid{grid-template-columns:1fr}}@media(max-width:900px){.hero{width:100%;margin:0;border-radius:0;padding:clamp(40px,8vw,80px) clamp(14px,6vw,48px)}}@media(max-width:860px){.site-nav{position:absolute;top:calc(100% + 12px);right:24px;flex-direction:column;align-items:flex-start;padding:18px;border-radius:var(--radius-md);border:1px solid var(--border);background:#020818f2;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.menu-toggle{display:flex}}@media(max-width:1024px){.project-detail-content{grid-template-columns:1fr;gap:28px}.project-detail-content article{order:1}.project-detail-content aside{order:2}}@media(max-width:768px){.project-detail-content{gap:24px;padding:0}.project-detail-content article,.project-detail-content aside{padding:0;margin:0}}@media(max-width:640px){.site-shell{padding:16px}.project-detail-content{grid-template-columns:1fr;gap:20px;margin:0;padding:0;width:100%;max-width:100%;box-sizing:border-box}.project-detail-content article{width:100%;max-width:100%;padding:0;margin:0;box-sizing:border-box;overflow-x:hidden}.project-detail-content aside{width:100%;max-width:100%;padding:0;margin:0;box-sizing:border-box}.project-sidebar{position:static}.project-detail-hero{margin:16px 0;padding:20px;gap:10px;align-items:flex-start;text-align:left}.project-detail-hero h1{font-size:clamp(1.14rem,5.04vw,1.58rem);line-height:1.2;word-wrap:break-word;overflow-wrap:break-word}.project-detail-hero p{font-size:.95rem;line-height:1.5;margin:0}.project-detail-cover{height:220px;width:100%;max-width:100%;overflow:hidden}.project-detail-text{margin-top:20px;padding:0}.project-detail-text p{font-size:.95rem;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.gallery-grid{grid-template-columns:1fr;gap:12px;margin-top:24px}.gallery-grid-trigger{padding-bottom:75%}.project-code-block{padding:16px;margin-top:24px;overflow-x:hidden}.project-code-pre{padding:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.8rem}.project-code-content{font-size:.8rem;line-height:1.5}.download-panel{padding:20px;margin-top:24px}.download-panel h3{font-size:1.1rem}.download-panel p{font-size:.9rem;line-height:1.5}.project-file-download{padding:12px 18px;font-size:.9rem;flex-wrap:wrap;word-break:break-word}.project-file-download .file-size{font-size:.75rem;margin-left:8px}.hero{padding:clamp(32px,8vw,56px) clamp(12px,6vw,28px);width:calc(100% + (var(--shell-pad) * 2));margin-inline:calc(-1 * var(--shell-pad));border-radius:0}.hero-body{width:100%;padding:0;gap:20px}.hero-title{font-size:clamp(2.1rem,9vw,3.2rem);letter-spacing:.08em;line-height:1.1}.hero-body .hero-lede{text-align:center;width:100%;font-size:1rem}.hero-cta{flex-direction:column;align-items:stretch;margin-top:12px;padding:clamp(2px,1vw,5px)}.hero-cta a{width:100%}.lens-card{padding:24px 20px}.lens-media img{height:200px}.gallery-preview-close{top:8px;right:8px;width:40px;height:40px}.gallery-preview-close svg{width:18px;height:18px}.gallery-preview{padding:12px}.maintenance-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at 20% 0,rgba(77,213,255,.18),transparent 45%),linear-gradient(140deg,var(--navy-950),var(--navy-900) 45%,#000c24)}.maintenance-card{width:min(520px,100%);padding:clamp(32px,5vw,48px);border-radius:28px;border:1px solid rgba(148,163,184,.2);background:#030a1cd1;box-shadow:0 25px 80px #0009;text-align:center;display:flex;flex-direction:column;gap:16px}.maintenance-card h1{font-size:clamp(2rem,4vw,2.6rem);margin:0}.maintenance-card p{margin:0;color:#e2e8f0e6;line-height:1.5}.maintenance-badge{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:#94a3b8e6}.maintenance-hint{color:#94a3b8e6;font-size:.95rem}.maintenance-action{margin-top:8px;border:none;border-radius:999px;padding:12px 24px;font-weight:600;color:#050a1a;background:linear-gradient(135deg,#4dd5ff,#8c6cff 50%,#ff72d1);cursor:pointer;box-shadow:0 15px 40px #4dd5ff59}.maintenance-action:hover{transform:translateY(-2px)}.maintenance-meta{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#94a3b8b3}}.text-type{display:inline-block;white-space:pre-wrap;position:relative}.text-type__content{display:inline}.text-type__cursor{margin-left:.25rem;display:inline-block;opacity:1;vertical-align:baseline}.text-type__cursor--hidden{display:none}.squares-canvas{width:100%;height:100%;border:none;display:block}
