:root{--navy-950: #020f19;--navy-900: #031725;--navy-800: #062132;--navy-700: #0a3d5c;--navy-600: #0e4a6e;--cyan-400: #63dfff;--cyan-300: #7dd3fc;--ink: #f2f8fc;--ink-dim: #b6c8d6;--ink-mute: #7f97aa;--line: rgba(125, 211, 252, .18);--glass: rgba(3, 23, 37, .72);--radius: 16px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--navy-900);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;overscroll-behavior:none}body.is-exploring{overflow-x:hidden;overflow-y:auto}a{color:inherit}button{font:inherit}:focus-visible{outline:2px solid var(--cyan-400);outline-offset:3px}.webgl{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;display:block;z-index:0}.css3d{position:fixed;inset:0;z-index:1;pointer-events:none}#scroll-track{position:relative;z-index:2;height:1500vh;display:none}#scroll-track.is-active{display:block}.tv-primary,.tv-secondary{width:225px;font-family:var(--font);text-align:center;color:#fff;pointer-events:none}.tv-primary{height:150px;overflow:hidden;font-size:16px;font-weight:700;line-height:1.35;letter-spacing:-.01em}.tv-primary__inner{transform:translateY(300%);text-shadow:0 0 12px rgba(99,223,255,.6)}.tv-secondary{opacity:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan-300);text-shadow:0 0 10px rgba(99,223,255,.55)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:0 1.4rem;border-radius:999px;border:1px solid transparent;font-size:.98rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),background-color .25s,border-color .25s,color .25s,opacity .25s}.btn--primary{background:linear-gradient(135deg,#8ff0ff 0%,var(--cyan-400) 45%,#2fbfe8 100%);color:var(--navy-900);box-shadow:0 10px 30px -10px #63dfffa6}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 36px -12px #63dfffcc}.btn--primary:disabled{cursor:progress;background:#7dd3fc1f;color:var(--ink-dim);border-color:var(--line);box-shadow:none}.btn--ghost{background:#ffffff0a;color:var(--ink);border-color:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn--ghost:hover{border-color:var(--cyan-400);color:var(--cyan-300)}.btn--sm{min-height:42px;padding:0 1.1rem;font-size:.92rem}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:var(--ink);cursor:pointer;transition:border-color .2s,color .2s,background-color .2s,transform .2s}.icon-btn:hover{border-color:var(--cyan-400);color:var(--cyan-300)}.icon-btn--glass{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.eyebrow{margin:0 0 1rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-400)}.intro{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"brand brand" "copy visual" "foot foot";padding:calc(28px + var(--safe-top)) clamp(20px,5vw,72px) calc(24px + var(--safe-bottom));overflow:hidden;background:radial-gradient(120% 90% at 78% 40%,var(--navy-600) 0%,var(--navy-800) 42%,var(--navy-900) 70%,var(--navy-950) 100%);transition:transform .9s cubic-bezier(.76,0,.24,1),opacity .9s}.intro.is-leaving{transform:translateY(-100%);pointer-events:none}.intro__glow{position:absolute;width:60vmax;height:60vmax;right:-14vmax;top:-10vmax;border-radius:50%;background:radial-gradient(circle,#63dfff38,#63dfff00 62%);filter:blur(10px);pointer-events:none}.intro__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(125,211,252,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.06) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 60% at 70% 45%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 45%,#000 20%,transparent 75%);pointer-events:none}.intro__brand{grid-area:brand;position:relative;display:flex;align-items:center;gap:.7rem;font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.intro__brand img{width:46px;height:auto}.intro__visual{grid-area:visual;position:relative;min-height:0;display:grid;place-items:center}.shark{position:absolute;inset:-12% -4% -12% -14%}.shark canvas{width:100%!important;height:100%!important;display:block}.shark-fallback{width:min(80%,520px);opacity:.9;filter:drop-shadow(0 0 40px rgba(99,223,255,.35))}.intro__copy{grid-area:copy;position:relative;z-index:2;align-self:center;max-width:640px;animation:rise .9s var(--ease-out) both}.intro__copy h1{margin:0;font-size:clamp(2.4rem,5.6vw,4.6rem);font-weight:800;line-height:1.02;letter-spacing:-.035em}.intro__copy h1 span{display:block;background:linear-gradient(90deg,var(--cyan-300),var(--cyan-400) 60%,#b5f3ff);-webkit-background-clip:text;background-clip:text;color:transparent}.intro__lead{margin:1.4rem 0 0;max-width:34rem;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.6;color:var(--ink-dim)}.intro__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.2rem}.intro__progress{margin-top:1.4rem;width:min(100%,360px);height:2px;border-radius:2px;background:#7dd3fc24;overflow:hidden}.intro__progress span{display:block;height:100%;background:var(--cyan-400);box-shadow:0 0 12px var(--cyan-400);transform-origin:left;transition:transform .4s var(--ease-out)}.intro__foot{grid-area:foot;position:relative;display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;color:var(--ink-mute)}.intro__foot a{text-decoration:none}.intro__foot a:hover{color:var(--cyan-300)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:860px){.intro{grid-template-columns:1fr;grid-template-rows:auto minmax(150px,30vh) auto 1fr auto;grid-template-areas:"brand" "visual" "copy" "." "foot";padding-top:calc(20px + var(--safe-top));overflow-y:auto}.shark{inset:-18% -8%}.intro__copy{align-self:start;text-align:left}.intro__copy h1{font-size:clamp(2.1rem,9.5vw,3rem)}.intro__actions .btn{flex:1 1 100%}.intro__progress{width:100%}.intro__foot{margin-top:1.5rem}}.hud{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:0;transition:opacity .6s .5s}.hud.is-visible{opacity:1}.hud.is-visible a,.hud.is-visible button{pointer-events:auto}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(16px + var(--safe-top)) clamp(16px,3vw,32px) 16px}.topbar__brand{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem 1rem .55rem .8rem;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-weight:700;font-size:.95rem;letter-spacing:-.01em;text-decoration:none}.topbar__brand img{width:38px;height:auto}.topbar__actions{display:flex;align-items:center;gap:.6rem}.rail{position:absolute;right:clamp(12px,2vw,24px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.rail a{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;color:var(--ink);transition:background-color .2s,color .2s}.rail a:hover{background:#63dfff24;color:var(--cyan-300)}.hint{position:absolute;left:50%;bottom:calc(28px + var(--safe-bottom));transform:translate(-50%);display:inline-flex;align-items:center;gap:.75rem;margin:0;padding:.7rem 1.2rem;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.92rem;font-weight:500;white-space:nowrap}.hint--projects,.hint--contact{border-color:#63dfff8c;animation:pulse 1.6s ease-in-out infinite}.hint__mouse{position:relative;width:18px;height:28px;border:2px solid var(--ink);border-radius:10px}.hint__mouse:after{content:"";position:absolute;left:50%;top:5px;width:2px;height:6px;margin-left:-1px;border-radius:2px;background:var(--cyan-400);animation:wheel 1.8s ease-in-out infinite}@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(9px)}}@keyframes pulse{0%,to{box-shadow:0 0 #63dfff59}50%{box-shadow:0 0 0 8px #63dfff00}}@media(max-width:640px){.topbar__brand span{display:none}.topbar__brand{padding:.6rem .8rem}.rail{top:auto;bottom:calc(86px + var(--safe-bottom));transform:none}.rail a{width:38px;height:38px}.hint{font-size:.82rem;max-width:calc(100vw - 32px);white-space:normal;text-align:center}}.modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px;background:#020f198c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s linear .35s}.modal.is-open{opacity:1;visibility:visible;transition:opacity .35s,visibility 0s}.modal__panel{position:relative;width:min(920px,100%);max-height:min(88vh,900px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(20px,3vw,36px);border-radius:24px;background:linear-gradient(160deg,#0e4a6e8c,#062132eb 38%,#031725f7);border:1px solid var(--line);box-shadow:0 40px 120px -30px #000c,inset 0 1px #ffffff0f;transform:translateY(24px) scale(.98);transition:transform .45s var(--ease-out);scrollbar-width:thin;scrollbar-color:rgba(125,211,252,.3) transparent}.modal.is-open .modal__panel{transform:none}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.modal__head h2{margin:.35rem 0 0;font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.08}.modal__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;font-size:.85rem;color:var(--ink-mute)}.badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-900);background:var(--cyan-400)}.badge--team{color:var(--cyan-300);background:#63dfff1a;border:1px solid rgba(99,223,255,.35)}.modal__desc{margin:1.4rem 0 0;font-size:1.04rem;line-height:1.7;color:var(--ink-dim)}.modal__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:1.4rem 0 0;padding:0;list-style:none}.modal__list li{display:grid;gap:.3rem;padding:1rem 1.1rem;border-radius:14px;background:#ffffff09;border:1px solid rgba(125,211,252,.12)}.modal__list strong{font-size:.98rem;color:var(--ink)}.modal__list span{font-size:.9rem;line-height:1.5;color:var(--ink-mute)}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 0;padding:0;list-style:none}.chips li{padding:.4rem .8rem;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--cyan-300);background:#63dfff14;border:1px solid rgba(99,223,255,.22)}.modal__foot{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.media{position:relative;overflow:hidden;border-radius:16px;background:#01090f;aspect-ratio:16 / 9;border:1px solid rgba(125,211,252,.12)}.media--vertical{aspect-ratio:auto;height:min(58vh,560px)}.media img,.media video{width:100%;height:100%;display:block;object-fit:contain;background:#01090f}.media__play{position:absolute;inset:0;margin:auto;width:84px;height:84px;display:grid;place-items:center;padding-left:5px;border-radius:999px;border:0;color:var(--navy-900);background:var(--cyan-400);box-shadow:0 0 0 10px #63dfff2e,0 20px 40px -10px #0009;cursor:pointer;transition:transform .25s var(--ease-out)}.media__play:hover{transform:scale(1.06)}.media__nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#031725b3;color:var(--ink);cursor:pointer}.media__nav:hover{border-color:var(--cyan-400);color:var(--cyan-300)}.media__nav--prev{left:12px}.media__nav--next{right:12px}.media__dots{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;gap:6px;padding:6px 8px;border-radius:999px;background:#03172599}.media__dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#ffffff59;cursor:pointer;transition:width .25s,background-color .25s}.media__dots button.is-active{width:22px;background:var(--cyan-400)}@media(max-width:640px){.modal{padding:0;place-items:end stretch}.modal__panel{width:100%;max-height:92vh;border-radius:22px 22px 0 0;padding-bottom:calc(24px + var(--safe-bottom))}.modal__foot .btn{flex:1 1 100%}.media--vertical{height:52vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
