:root{--neon-a: #38bdf8;--neon-b: #8b5cf6;--glass-bg: rgba(15, 23, 42, .45);--glass-border: rgba(255, 255, 255, .14)}.section-anchor{scroll-margin-top:1rem}.bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%)}.bg-orb{position:absolute;border-radius:9999px;opacity:.55;will-change:transform;animation:orb-drift 22s ease-in-out infinite alternate}.bg-orb-a{width:44rem;height:44rem;top:-14rem;left:-12rem;background:radial-gradient(circle closest-side,rgba(56,189,248,.5),rgba(56,189,248,.18) 55%,transparent 100%)}.bg-orb-b{width:40rem;height:40rem;bottom:-16rem;right:-12rem;background:radial-gradient(circle closest-side,rgba(139,92,246,.5),rgba(139,92,246,.18) 55%,transparent 100%);animation-delay:-9s}@keyframes orb-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(4rem,3rem,0) scale(1.15)}}.glass{background:linear-gradient(135deg,#ffffff1a,#ffffff08),var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff0a,0 18px 40px #02061759}.glass-hover{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.glass-hover:hover{transform:translateY(-4px);border-color:#38bdf880;box-shadow:inset 0 1px #ffffff40,0 20px 44px #0ea5e926}.glass-btn{background:#ffffff14;border:1px solid var(--glass-border)}.glass-btn:hover{background:#ffffff29}.glass-nav{box-shadow:inset 0 1px #ffffff4d,0 10px 40px #02061773,0 0 0 1px #38bdf80f}.logo-mark{background:linear-gradient(135deg,var(--neon-a),var(--neon-b));box-shadow:0 0 18px #38bdf880}.nav-link{position:relative}.nav-link.is-active{color:#fff;background:#ffffff1f;box-shadow:inset 0 1px #fff3}.lang-switch{background:#02061766;border:1px solid var(--glass-border)}.lang-btn{transition:color .2s ease,background .2s ease}.lang-btn.is-active{color:#fff;background:linear-gradient(135deg,var(--neon-a),var(--neon-b));box-shadow:0 0 12px #38bdf873}#mobile-menu:not(.is-open){display:none}.eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.3rem;color:var(--neon-a)}.section-title{margin-top:.75rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:700;letter-spacing:-.02em;color:#fff}.text-gradient{background:linear-gradient(100deg,#e0f2fe 0%,var(--neon-a) 45%,var(--neon-b) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.caret{display:inline-block;width:.6ch;height:1.1em;margin-left:.25rem;vertical-align:text-bottom;background:var(--neon-a);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--neon-a),var(--neon-b));box-shadow:0 0 24px #38bdf859}.btn-primary:hover{box-shadow:0 0 36px #8b5cf68c}.btn-ghost{color:#e2e8f0;background:#ffffff0f;border:1px solid var(--glass-border)}.btn-ghost:hover{background:#ffffff24;border-color:#38bdf880}.chip{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:9999px;font-size:.78rem;font-weight:500;color:#cbd5e1;background:#38bdf814;border:1px solid rgba(56,189,248,.22)}.hero-frame{position:relative}.hero-frame:before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:2rem;background:linear-gradient(135deg,var(--neon-a),transparent 40%,var(--neon-b));filter:blur(18px);opacity:.55}.hero-chip{position:absolute;padding:.4rem .9rem;border-radius:9999px;font-family:ui-monospace,monospace;font-size:.75rem;color:#e0f2fe;animation:float 6s ease-in-out infinite}.hero-chip-a{top:8%;left:-8%}.hero-chip-b{top:48%;right:-10%;animation-delay:-2s}.hero-chip-c{bottom:6%;left:-4%;animation-delay:-4s}@keyframes float{50%{transform:translateY(-10px)}}.scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-family:ui-monospace,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.25rem;color:#94a3b8}.scroll-cue-line{width:1px;height:2.5rem;background:linear-gradient(var(--neon-a),transparent);animation:cue 2s ease-in-out infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@media (max-height: 700px),(max-width: 767px){.scroll-cue{display:none}}.timeline{position:relative;border-left:1px solid rgba(56,189,248,.3);margin-left:.4rem}.timeline-item{position:relative;padding-left:1.5rem}.timeline-item:before{content:"";position:absolute;left:-.3rem;top:.35rem;width:.6rem;height:.6rem;border-radius:9999px;background:var(--neon-a);box-shadow:0 0 12px var(--neon-a)}.project-tile{display:block;width:100%;cursor:pointer}.project-media{aspect-ratio:16 / 10;overflow:hidden;background:#02061799}.pm-gallery{position:relative;overflow:hidden;border-radius:1.25rem;border:1px solid var(--glass-border);box-shadow:0 12px 30px #02061766}.pm-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pm-track::-webkit-scrollbar{display:none}.pm-track:focus-visible{outline:2px solid var(--neon-a);outline-offset:-2px}.pm-slide{position:relative;flex:0 0 100%;aspect-ratio:16 / 10;max-height:60vh;scroll-snap-align:center;overflow:hidden;background:#0b1220}.pm-slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(28px) saturate(1.4) brightness(.65);transform:scale(1.25)}.pm-slide-img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(2,6,23,.5));-webkit-user-select:none;user-select:none}.pm-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;color:#fff;background:#0f172a73;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff40;opacity:0;transition:opacity .2s ease,background .2s ease,transform .2s ease}.pm-gallery:hover .pm-nav,.pm-nav:focus-visible{opacity:1}.pm-nav:hover{background:#38bdf866;transform:translateY(-50%) scale(1.08)}.pm-prev{left:.75rem}.pm-next{right:.75rem}.pm-counter{position:absolute;right:.75rem;bottom:.75rem;padding:.2rem .65rem;border-radius:9999px;font-family:ui-monospace,monospace;font-size:.7rem;letter-spacing:.1em;color:#e2e8f0;background:#0f172a8c;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pm-thumbs{display:flex;gap:.5rem;margin-top:.75rem;padding:.25rem;overflow-x:auto;scrollbar-width:none}.pm-thumbs::-webkit-scrollbar{display:none}.pm-thumb{flex:0 0 auto;width:4.5rem;aspect-ratio:16 / 10;overflow:hidden;border-radius:.6rem;border:2px solid transparent;opacity:.55;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}.pm-thumb img{width:100%;height:100%;object-fit:cover}.pm-thumb:hover{opacity:.9}.pm-thumb.is-active{opacity:1;border-color:var(--neon-a);box-shadow:0 0 12px #38bdf866}@media (hover: none){.pm-nav{opacity:1}}@media (prefers-reduced-motion: reduce){.pm-track{scroll-behavior:auto}}.field{display:block}.field>span,.field-label{display:block;margin-bottom:.4rem;font-size:.8rem;font-weight:600;color:#cbd5e1}.field input,.field select,.field textarea{width:100%;padding:.75rem 1rem;border-radius:1rem;color:#f1f5f9;background:#02061773;border:1px solid var(--glass-border);transition:border-color .2s ease,box-shadow .2s ease}.field select option{color:#0f172a}.field input::placeholder,.field textarea::placeholder{color:#8493ab}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--neon-a);box-shadow:0 0 0 3px #38bdf833}.check-chip{cursor:pointer}.check-chip input{position:absolute;opacity:0;pointer-events:none}.check-chip span{display:inline-block;padding:.4rem .9rem;border-radius:9999px;font-size:.85rem;color:#cbd5e1;background:#ffffff0f;border:1px solid var(--glass-border);transition:all .2s ease}.check-chip:hover span{border-color:#38bdf880}.check-chip input:checked+span{color:#fff;background:#38bdf840;border-color:var(--neon-a);box-shadow:0 0 12px #38bdf84d}.check-chip input:focus-visible+span{outline:2px solid var(--neon-a);outline-offset:2px}.contact-link{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;border-radius:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#f1f5f9;transition:border-color .2s ease}a.contact-link:hover{border-color:#38bdf880}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d, 0ms)}.js .reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:2px solid var(--neon-a);outline-offset:2px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.bg-orb,.hero-chip,.caret,.scroll-cue-line{animation:none}.js .reveal{opacity:1;transform:none;transition:none}}.move-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;font-size:.8rem;color:#fff;background:#0f172aa6;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.move-btn:hover{background:#38bdf873}.image-card img{cursor:grab}.image-card details>summary::-webkit-details-marker{display:none}.pm-caption{margin-top:.6rem;text-align:center;font-size:.85rem;color:#94a3b8}.tag-pill{display:inline-flex;align-items:center;padding:.35rem .9rem;border-radius:9999px;font-size:.85rem;color:#cbd5e1;background:#ffffff0f;border:1px solid var(--glass-border);transition:all .2s ease}.tag-pill:hover{border-color:#38bdf880;color:#fff}.tag-pill.is-active{color:#fff;background:#38bdf840;border-color:var(--neon-a)}.prose-blog{font-size:1.075rem;line-height:1.85;color:#cbd5e1;overflow-wrap:anywhere}.prose-blog>*+*{margin-top:1.25rem}.prose-blog h2{margin-top:2.5rem;font-size:1.65rem;font-weight:700;line-height:1.3;color:#fff}.prose-blog h3{margin-top:2rem;font-size:1.3rem;font-weight:600;color:#f1f5f9}.prose-blog h4{margin-top:1.5rem;font-weight:600;color:#f1f5f9}.prose-blog a{color:var(--neon-a);text-decoration:underline;text-underline-offset:3px}.prose-blog a:hover{color:#fff}.prose-blog strong{color:#f1f5f9}.prose-blog ul,.prose-blog ol{padding-left:1.5rem}.prose-blog ul{list-style:disc}.prose-blog ol{list-style:decimal}.prose-blog li+li{margin-top:.4rem}.prose-blog li::marker{color:var(--neon-a)}.prose-blog blockquote{padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--neon-b);color:#94a3b8;font-style:italic}.prose-blog code{padding:.15rem .4rem;border-radius:.4rem;font-size:.9em;color:#e0f2fe;background:#38bdf81f}.prose-blog pre{overflow-x:auto;padding:1.1rem 1.25rem;border-radius:1rem;font-size:.9rem;line-height:1.7;background:#020617b3;border:1px solid var(--glass-border)}.prose-blog pre code{padding:0;color:#e2e8f0;background:none}.prose-blog img{max-width:100%;height:auto;border-radius:1rem;border:1px solid var(--glass-border)}.prose-blog hr{border:0;border-top:1px solid rgba(255,255,255,.12);margin:2.5rem 0}.prose-blog table{width:100%;border-collapse:collapse;font-size:.95rem}.prose-blog th,.prose-blog td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.12)}.prose-blog th{color:#fff}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;padding:.7rem 1.2rem;border-radius:9999px;font-weight:600;font-size:.9rem;color:#fff;background:linear-gradient(135deg,var(--neon-a),var(--neon-b));box-shadow:0 8px 24px #02061780;transition:top .15s ease}.skip-link:focus{top:1rem}main:focus{outline:none}.field-error{display:block;margin-top:.4rem;font-size:.8rem;color:#fda4af}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#fb7185}[data-feedback]:focus{outline:2px solid var(--neon-a);outline-offset:3px}h1,h2,h3,.section-title,.logo-mark{font-family:var(--font-display)}@media (max-width: 767px),(pointer: coarse){.glass{-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}.bg-orb,.hero-chip{animation:none}}
