:root{--ink: #1f2740;--ink-soft: #55607a;--accent: #d92d4b;--accent-ink: #ffffff;--gold: #e6b34a;--paper: rgba(255, 252, 246, .9);--line: rgba(31, 39, 64, .12);--sky-top: #bcd3ea;--sky-bottom: #f4ecdd;--display: "Zen Dots", system-ui, sans-serif;--body: "Space Grotesk", system-ui, sans-serif;--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--body);color:var(--ink);background:linear-gradient(180deg,var(--sky-top) 0%,#dfe8f1 55%,var(--sky-bottom) 100%) fixed;overflow:hidden;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#e8edf2;transition:opacity 1s var(--ease),visibility 1s}#preloader.is-leaving{opacity:0;visibility:hidden}#preloader .pct{position:absolute;top:8vh;left:50%;transform:translate(-50%);font-family:var(--display);font-size:22vmin;letter-spacing:.12em;opacity:.06;pointer-events:none}.skyline{position:absolute;top:50%;left:50%;width:min(1000px,100vw);height:186px;transform:translate(-50%,-62%);overflow:hidden;opacity:0;mask:radial-gradient(ellipse at center,#000 30%,transparent 72%);-webkit-mask:radial-gradient(ellipse at center,#000 30%,transparent 72%);transition:opacity 1.2s var(--ease) .3s}.skyline-strip{display:flex;width:2000px;height:100%;animation:skyline 9s linear infinite}.skyline-strip svg{width:1000px;height:100%;opacity:.22}@keyframes skyline{to{transform:translate(-1000px)}}.auto{position:relative;top:-24px;opacity:0;transform:translate(-40px) scale(.85);transition:opacity .6s var(--ease),transform .8s var(--ease)}.auto svg{animation:bump .32s ease-in-out infinite alternate}.auto .wheel{animation:spin .35s linear infinite}@keyframes bump{to{transform:translateY(-2px) rotate(-.6deg)}}@keyframes spin{to{transform:rotate(-360deg)}}#preloader.is-active .skyline{opacity:1}#preloader.is-active .auto{opacity:1;transform:none}.preloader-enter{position:absolute;top:calc(50% + 90px);left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:10px;text-align:center;opacity:0;transition:opacity .8s var(--ease)}#preloader.is-ready .preloader-enter{opacity:1}.preloader-enter p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--ink-soft)}.start{font-family:var(--display);font-size:18px;letter-spacing:.25em;text-transform:uppercase;padding:14px 34px 14px 40px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 30px -10px #d92d4bb3;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.start:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 16px 34px -12px #d92d4bcc}.start-quiet{border:0;background:none;font-size:12px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}#world,#world canvas,.labels{position:fixed;top:0;right:0;bottom:0;left:0}.labels{pointer-events:none}.island-label{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:7px 14px 7px 7px;border:0;border-radius:999px;background:var(--paper);box-shadow:0 8px 24px -10px #1f274073;font-family:var(--display);font-size:13px;letter-spacing:.06em;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .4s var(--ease),background .3s,color .3s}.island-label .num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px}.is-live .island-label{opacity:1;transform:none;transition-delay:2.4s,2.4s,0s,0s}.is-live .island-label.is-hover,.island-label:hover{background:var(--accent);color:#fff;transform:translateY(-3px);transition-delay:0s}.is-live .island-label.is-hidden{opacity:0;pointer-events:none;transition-delay:0s}.cloud-tag{padding:3px 8px;border-radius:6px;background:var(--c);color:#fff;font-family:var(--display);font-size:11px;letter-spacing:.1em;box-shadow:0 4px 12px -4px #00000059;opacity:0;transition:opacity .6s 2.6s}.is-live .cloud-tag{opacity:1}.hud{position:fixed;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;gap:16px;padding:18px 24px;pointer-events:none;opacity:0;transform:translateY(-12px);transition:opacity .8s var(--ease) 1.6s,transform .8s var(--ease) 1.6s}.is-live .hud{opacity:1;transform:none}.hud>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}.brand img{border-radius:50%;border:2px solid #fff;box-shadow:0 4px 14px -4px #1f274080}.brand span{display:grid;line-height:1.2}.brand b{font-family:var(--display);font-weight:400;font-size:15px;letter-spacing:.04em}.brand small{font-size:12px;color:var(--ink-soft)}.menu{display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--paper);box-shadow:0 8px 24px -12px #1f274066;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.menu button{border:0;background:none;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500;transition:background .25s,color .25s}.menu button span{font-family:var(--display);font-size:9px;margin-right:6px;opacity:.55}.menu button:hover{background:#1f274012}.menu button.is-active{background:var(--ink);color:#fff}.sound-toggle{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:44px;height:44px;padding:13px 0;border:0;border-radius:50%;background:var(--paper);box-shadow:0 8px 24px -12px #1f274066}.sound-toggle i{display:block;width:3px;height:4px;border-radius:2px;background:var(--ink);transition:height .3s}.sound-toggle.is-on i{animation:eq .9s ease-in-out infinite alternate}.sound-toggle.is-on i:nth-child(2){animation-delay:-.3s}.sound-toggle.is-on i:nth-child(3){animation-delay:-.6s}.sound-toggle.is-on i:nth-child(4){animation-delay:-.15s}@keyframes eq{0%{height:4px}to{height:18px}}.hint{position:fixed;z-index:5;left:50%;bottom:22px;margin:0;transform:translate(-50%);padding:8px 16px;border-radius:999px;background:#ffffff8c;font-size:12px;letter-spacing:.05em;color:var(--ink-soft);white-space:nowrap;opacity:0;transition:opacity .8s var(--ease);pointer-events:none}.is-live .hint{opacity:1;transition-delay:3s}.is-live.is-focused .hint{opacity:0;transition-delay:0s}.rail{position:fixed;z-index:10;left:26px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:14px;opacity:0;pointer-events:none;transition:opacity .8s var(--ease) 2s}.is-live .rail{opacity:1;pointer-events:auto}.rail button{position:relative;display:block;width:12px;height:12px;padding:0;border:2px solid var(--ink);border-radius:999px;background:transparent;transition:height .4s var(--ease),background .3s,border-color .3s}.rail button:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.rail button.is-active{height:34px;background:var(--accent);border-color:var(--accent)}.rail button span{position:absolute;left:22px;top:50%;transform:translate(-6px,-50%);padding:4px 10px;border-radius:999px;background:var(--paper);box-shadow:0 6px 16px -8px #1f274080;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}.rail button:hover span,.rail button:focus-visible span,.rail button.is-active span{opacity:1;transform:translateY(-50%)}.rail-cue{display:grid;justify-items:center;gap:6px;margin:10px 0 0 -6px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.rail-cue i{position:relative;width:18px;height:28px;border:2px solid currentColor;border-radius:10px}.rail-cue i:after{content:"";position:absolute;left:50%;top:5px;width:3px;height:6px;margin-left:-1.5px;border-radius:2px;background:currentColor;animation:wheel 1.6s ease-in-out infinite}@keyframes wheel{60%{transform:translateY(8px);opacity:0}61%{transform:none;opacity:0}}.no-webgl .rail{display:none}#panel{position:fixed;z-index:20;top:84px;right:24px;bottom:24px;width:min(460px,calc(100vw - 48px));display:flex;flex-direction:column;border-radius:24px;background:var(--paper);box-shadow:0 30px 60px -30px #1f27408c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translate(30px);transition:opacity .5s var(--ease),transform .6s var(--ease),visibility .6s;outline:none}#panel.is-open{opacity:1;visibility:visible;transform:none}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 8px 26px}.panel-kicker{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.panel-close{width:36px;height:36px;border:0;border-radius:50%;background:#1f274012;font-size:14px;transition:background .25s,transform .3s var(--ease)}.panel-close:hover{background:var(--ink);color:#fff;transform:rotate(90deg)}.panel-body{flex:1;overflow-y:auto;padding:4px 26px 20px;overscroll-behavior:contain}.panel-body>*{animation:rise .6s var(--ease) both}.panel-body>*:nth-child(2){animation-delay:.05s}.panel-body>*:nth-child(3){animation-delay:.1s}.panel-body>*:nth-child(4){animation-delay:.15s}.panel-body>*:nth-child(5){animation-delay:.2s}.panel-body>*:nth-child(n+6){animation-delay:.25s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.panel-nav{display:flex;justify-content:space-between;padding:12px 18px 16px;border-top:1px solid var(--line)}.panel-nav button{border:0;background:none;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:500;color:var(--ink-soft)}.panel-nav button:hover{background:#1f27400f;color:var(--ink)}h2{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.3;margin:10px 0 12px;text-wrap:balance}h2.sub{font-size:16px;margin-top:28px}h3{font-size:15px;margin:0}p{line-height:1.6;margin:0 0 12px;color:#39425a}.lead{font-size:16px;color:var(--ink)}.portrait{width:min(100%,300px);margin:6px auto 14px;border-radius:50%;overflow:hidden;aspect-ratio:1;background:#fff;border:6px solid #fff;box-shadow:0 14px 34px -16px #1f27408c,0 0 0 2px var(--accent)}.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.facts div{padding:10px 12px;border-radius:12px;background:#1f27400d}.facts dt{font-size:11px;color:var(--ink-soft)}.facts dd{margin:2px 0 0;font-weight:700;font-size:13px}.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;padding:11px 18px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:14px;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s;box-shadow:0 8px 20px -10px #d92d4bcc}.btn:hover{transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.job{position:relative;padding:0 0 4px 20px;margin:18px 0;border-left:2px solid var(--line)}.job:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #fff}.job h3 span{font-weight:400;color:var(--ink-soft)}.meta{font-size:13px;color:var(--ink-soft);margin:4px 0 8px}.bullets{margin:0;padding-left:18px}.bullets li{margin:6px 0;line-height:1.55;font-size:14px;color:#39425a}.bullets li::marker{color:var(--accent)}.skill-group{margin:14px 0}.skill-group h3{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{padding:6px 11px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:13px;font-weight:500}.projects{display:grid;gap:10px}.projects article{padding:14px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.projects h3{margin:6px 0 4px}.projects p{margin:0;font-size:14px}.tag{font-family:var(--display);font-size:10px;letter-spacing:.1em;color:var(--accent)}.certs{list-style:none;padding:0;margin:0;display:grid;gap:8px}.certs li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-weight:500;font-size:14px}.certs b{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--display);font-weight:400;font-size:11px}.contact-card{display:flex;align-items:center;gap:8px;margin:8px 0;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.contact-line{flex:1;display:grid;min-width:0;text-decoration:none}.contact-line small{font-size:11px;color:var(--ink-soft)}.contact-line span{font-weight:700;overflow-wrap:anywhere}a.contact-line:hover span{color:var(--accent)}.copy{border:0;padding:7px 12px;border-radius:999px;background:#1f274012;font-size:12px;font-weight:700}.no-webgl{overflow:auto}.no-webgl .hud{position:sticky;opacity:1;transform:none;background:var(--paper)}.no-webgl .hint,.no-webgl .menu,.no-webgl .sound-toggle,.no-webgl #panel{display:none}#fallback{max-width:720px;margin:0 auto;padding:16px 16px 60px}#fallback section{margin:0 0 18px;padding:24px;border-radius:20px;background:var(--paper)}@media (max-width: 820px){.rail{display:none}.hud{flex-wrap:wrap;padding:12px 16px;gap:10px}.menu{order:3;width:100%;overflow-x:auto;scrollbar-width:none}.menu button{flex:none;padding:8px 11px}#panel{top:auto;left:12px;right:12px;bottom:12px;width:auto;height:58vh;height:58dvh;transform:translateY(40px)}.hint{bottom:14px}.facts{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}.focus{margin:-4px 0 14px;font-weight:700;color:var(--accent)}.cases{display:grid;gap:12px}.case{padding:16px 16px 14px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.case h3{margin:6px 0 8px}.case p{font-size:14px;margin:0 0 8px}.flow{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;margin:10px 0 0;padding:0}.flow li{padding:6px 10px;border-radius:8px;background:#f1f3f8;box-shadow:inset 0 0 0 1px var(--line);font-size:12px;font-weight:700;color:var(--ink)}.flow li+li:before{content:"→";margin:0 8px 0 -2px;color:var(--accent)}.live-status .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:14px 0 12px}.live-status .stat-grid div{padding:10px 12px;border-radius:12px;background:#1f27400d}.live-status small{display:block;font-size:11px;color:var(--ink-soft)}.live-status b{font-size:14px}.dot{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;vertical-align:1px}.dot.ok{background:#2fbf71;box-shadow:0 0 0 3px #2fbf7133}.dot.bad{background:#e5484d}.bars{display:flex;align-items:flex-end;gap:2px;height:56px;padding:6px;border-radius:10px;background:#0d1420}.bars i{flex:1;height:var(--h);border-radius:2px;background:#43e08c}.bars i.bad{background:#ff5b5b}.muted{font-size:12px;color:var(--ink-soft)}.j-panel .live-status.mini p,.m-card .live-status.mini p{font-size:15px;color:#fff}:root{--thin: "Raleway", system-ui, sans-serif}.css3d{position:fixed!important;top:0;right:0;bottom:0;left:0;pointer-events:none}.css3d>div,.css3d>div>div{pointer-events:none}.j-title{width:900px;text-align:center;color:#fff;text-shadow:0 4px 30px rgba(120,40,60,.35);pointer-events:none}.j-title h1{margin:0;font-family:var(--display);font-weight:400;font-size:92px;letter-spacing:.02em;white-space:nowrap}.j-title p{margin:6px 0 0;font-family:var(--thin);font-weight:200;font-size:30px;letter-spacing:.7em;color:#ffffffd9}.l{display:inline-block;opacity:0;transform:perspective(200px) rotateX(-1.6rad);transition:opacity .6s var(--ease),transform .9s var(--ease);transition-delay:0ms}.sp{display:inline-block;width:.3em}.j-panel.on .l,.j-cards.on .l,.is-live .j-title.on .l{opacity:1;transform:perspective(200px) rotateX(0);transition-delay:var(--d)}.j-title,.j-panel,.j-cards{opacity:0;transition:opacity .7s var(--ease)}.is-live .j-title.on,.j-panel.on,.j-cards.on{opacity:1}.j-panel.on,.j-cards.on{pointer-events:auto}.j-panel{width:520px;color:#fff;font-family:var(--body);pointer-events:none}.j-inner{padding:30px 34px 26px;border-radius:22px;background:linear-gradient(160deg,#3c22469e,#78344880);border:1px solid rgba(255,255,255,.28);box-shadow:0 30px 80px -30px #1e0a1eb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:perspective(800px) rotateX(calc(var(--my, 0) * -4deg)) rotateY(calc(var(--mx, 0) * 4deg));transition:transform .4s var(--ease)}.j-panel h2{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:54px;line-height:1;color:#fff}.j-panel p,.j-panel li{margin:0 0 10px;font-size:18px;line-height:1.55;color:#ffffffeb}.j-panel b{color:#fff}.j-photo{float:right;width:132px;height:132px;margin:-70px 0 10px 16px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 0 0 3px var(--accent),0 14px 30px -12px #0009}.j-job{margin:0 0 16px;padding-left:16px;border-left:3px solid var(--accent)}.j-job b{display:block;font-size:19px}.j-job small{display:block;margin:2px 0 6px;font-size:14px;color:#ffffffb3}.j-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.j-chips span{padding:7px 13px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.3);font-size:16px;font-weight:500;opacity:0;transform:translateY(14px) scale(.9);transition:opacity .4s var(--ease),transform .5s var(--ease),background .3s}.j-chips span.in{opacity:1;transform:none}.j-chips span:nth-child(n+18){background:#d92d4b73}.j-list{margin:0 0 6px;padding-left:22px}.j-link{display:block;margin:8px 0;padding-bottom:8px;font-size:20px;font-weight:700;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}.j-link:hover{color:#ffd1d9}.j-more{margin-top:10px;padding:11px 22px;border:0;border-radius:999px;background:#fff;color:var(--ink);font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:transform .25s var(--ease),background .25s,color .25s}.j-more:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.j-tag{padding:4px 12px;border-radius:8px;background:var(--c);color:#fff;font-family:var(--display);font-size:22px;letter-spacing:.08em;box-shadow:0 6px 16px -6px #0006}.j-cards{width:1500px;text-align:center;pointer-events:none}.j-card-viewport{overflow:hidden;padding:24px 10px 30px;margin-bottom:6px}.j-card-row{display:flex;gap:26px;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.j-card-row.dragging{cursor:grabbing}.j-card-row .j-card{flex:0 0 440px}.j-drag{margin:0 0 14px;font-family:var(--display);font-size:16px;letter-spacing:.3em;color:#ffffffd9}.j-cards h2{margin:0 0 26px;font-family:var(--display);font-weight:400;font-size:80px;color:#fff;text-shadow:0 6px 30px rgba(160,60,80,.4)}.j-card{min-height:300px;padding:30px 26px;border-radius:24px;text-align:left;color:#fff;background:linear-gradient(170deg,#402856bf,#aa465a99);border:1px solid rgba(255,255,255,.35);box-shadow:0 30px 60px -28px #3c1428a6;transition:transform .4s var(--ease)}.j-card{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg))}.j-card:hover{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-12px) scale(1.02)}.j-card-more{margin:16px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:16px;clip-path:inset(0 0 100% 0);opacity:0;transition:clip-path .5s var(--ease),opacity .4s}.j-card:hover .j-card-more{clip-path:inset(0 0 0 0);opacity:1}.j-card-more dt{color:#ffd1d9;font-weight:700}.j-card-more dd{margin:0}.j-card .tag{color:#ffd1d9;font-size:14px}.j-card h3{margin:14px 0 12px;font-family:var(--display);font-weight:400;font-size:30px;line-height:1.2}.j-card p{margin:0;font-size:19px;line-height:1.5;color:#ffffffe6}.hud{align-items:flex-start}.brand b,.brand small{color:#fff;text-shadow:0 2px 12px rgba(80,20,40,.45)}.hud-buttons{display:grid;gap:14px;justify-items:center}.hud-btn,.hud-btn.sound-toggle{display:grid;justify-items:center;align-items:end;gap:5px;width:auto;height:auto;padding:4px;border:0;border-radius:0;background:none;box-shadow:none;color:#fff;font-family:var(--body);font-size:12px;letter-spacing:.04em;filter:drop-shadow(0 2px 6px rgba(80,20,40,.45))}.hud-btn svg{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;transition:transform .3s var(--ease)}.hud-btn:hover svg{transform:scaleX(1.15)}.hud-btn .bars{display:flex;align-items:flex-end;gap:5px;height:34px}.hud-btn .bars i{display:block;width:3px;height:10px;border-radius:2px;background:#fff}.hud-btn .bars i:nth-child(2){height:22px}.hud-btn .bars i:nth-child(3){height:34px}.sound-toggle.is-on .bars i{animation:eqbar .9s ease-in-out infinite alternate}.sound-toggle.is-on .bars i:nth-child(2){animation-delay:-.3s}.sound-toggle.is-on .bars i:nth-child(3){animation-delay:-.6s}@keyframes eqbar{0%{height:6px}to{height:32px}}.sound-toggle:not(.is-on) .bars{opacity:.6}.letterbox i{position:fixed;z-index:30;left:0;right:0;height:9vh;background:#000;transform:scaleY(0);transition:transform .6s var(--ease);pointer-events:none}.letterbox i:first-child{top:0;transform-origin:top}.letterbox i:last-child{bottom:0;transform-origin:bottom}.menu-open .letterbox i{transform:scaleY(1)}.menu-overlay{position:fixed;z-index:31;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;align-items:flex-start;padding:calc(9vh + 16px) 24px 0;background:#280e1e00;pointer-events:none;transition:background .6s var(--ease)}.menu-open .menu-overlay{background:#280e1e73;pointer-events:auto}.menu-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.tile{display:grid;justify-items:center;gap:8px;width:104px;padding:14px 6px 12px;border:0;border-radius:6px;background:transparent;color:#ffffffb8;font-family:var(--display);font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(-14px);transition:opacity .4s var(--ease),transform .5s var(--ease),background .25s,color .25s}.tile svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.menu-open .tile{opacity:1;transform:none}.menu-open .tile:nth-child(2){transition-delay:.04s,.04s,0s,0s}.menu-open .tile:nth-child(3){transition-delay:.08s,.08s,0s,0s}.menu-open .tile:nth-child(4){transition-delay:.12s,.12s,0s,0s}.menu-open .tile:nth-child(5){transition-delay:.16s,.16s,0s,0s}.menu-open .tile:nth-child(6){transition-delay:.2s,.2s,0s,0s}.menu-open .tile:nth-child(7){transition-delay:.24s,.24s,0s,0s}.menu-open .tile:nth-child(8){transition-delay:.28s,.28s,0s,0s}.tile:hover,.tile:focus-visible,.tile.is-active{background:#ffffff29;color:#fff}.menu-open .hud{z-index:32}.menu-open .hud .menu-toggle{visibility:hidden}.scroll-cue{position:fixed;z-index:5;left:50%;top:58%;margin:0;transform:translate(-50%);font-family:var(--display);font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px rgba(80,20,40,.5);opacity:0;transition:opacity .8s var(--ease);pointer-events:none}.scroll-cue i{position:relative;display:inline-block;width:13px;height:20px;margin:0 1px;vertical-align:-3px;border:2px solid #fff;border-radius:7px}.scroll-cue i:after{content:"";position:absolute;left:50%;top:3px;width:2px;height:5px;margin-left:-1px;border-radius:1px;background:#fff;animation:cuewheel 1.6s ease-in-out infinite}@keyframes cuewheel{60%{transform:translateY(7px);opacity:0}61%{transform:none;opacity:0}}.is-live.at-start .scroll-cue{opacity:1;transition-delay:2.5s}.progress{position:fixed;z-index:5;left:0;right:0;bottom:0;height:3px;background:#ffffff26;opacity:0;transition:opacity .6s}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--accent));transform-origin:left;transform:scaleX(0)}.is-live .progress{opacity:1}#preloader{background:#e4e4e4}.start{min-width:360px;padding:16px 40px;border-radius:2px;background:linear-gradient(90deg,#8a6c84,#d7b6c9 50%,#8a6c84);box-shadow:inset 0 0 0 1px #ffffff80,0 14px 30px -18px #3c1e32b3;font-size:24px;letter-spacing:.05em}.start:hover{transform:none;background:linear-gradient(90deg,#a97a8f,#f0c4d0 50%,#a97a8f)}.preloader-enter p{font-family:var(--thin);font-weight:300;font-size:16px;letter-spacing:.2em;color:#555}@media (max-width: 820px){.tile{width:84px;font-size:10px}.menu-row,.menu-overlay{justify-content:center}.menu-overlay{padding-top:calc(9vh + 70px)}.brand small{display:none}.start{min-width:260px}}.j-tag{opacity:0;transition:opacity .6s}.j-tag.on{opacity:1}.m-card{display:none}@media (max-aspect-ratio: 4/5){.css3d .j-panel,.css3d .j-cards{display:none}.m-card{position:fixed;z-index:15;left:12px;right:12px;bottom:14px;display:block;max-height:46vh;overflow-y:auto;padding:20px 20px 18px;border-radius:20px;color:#fff;background:linear-gradient(160deg,#3c2246d9,#783448cc);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(30px);pointer-events:none;transition:opacity .5s var(--ease),transform .6s var(--ease)}.m-card.on{opacity:1;transform:none;pointer-events:auto}.m-card h2{margin:0 0 10px;font-family:var(--display);font-weight:400;font-size:30px}.m-card p,.m-card li{color:#ffffffeb;margin:0 0 8px;font-size:14px;line-height:1.5}.m-card .j-photo{width:76px;height:76px;margin:-50px 0 6px 12px}.m-card .j-chips span{opacity:1;transform:none;font-size:12px;padding:5px 10px}.m-card .j-link,.m-card .j-job b{font-size:15px}}.is-live .j-title.on .l.out{opacity:0;transform:perspective(200px) rotateX(1.6rad);transition-delay:0ms}.j-thanks{font-family:var(--thin);font-size:30px!important;letter-spacing:.08em}.skills-hud{position:fixed;z-index:6;left:24px;top:96px;margin:0;color:#fff;pointer-events:none;text-shadow:0 2px 12px rgba(80,20,40,.5);opacity:0;transform:translate(-20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.skills-hud.on{opacity:1;transform:none}.skills-hud-title{margin:0 0 10px;font-family:var(--thin);font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:#fff}.skills-hud-title b{font-family:var(--display);font-weight:400;letter-spacing:.05em}.skills-hud ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}.skills-hud li{font-family:var(--display);font-size:15px;opacity:0;transform:perspective(300px) translateY(-30px) scaleY(3);clip-path:inset(0 100% 0 0);transition:opacity .3s,transform .4s var(--ease),clip-path .5s var(--ease)}.skills-hud li.got{opacity:1;transform:none;clip-path:inset(0 0 0 0)}.skills-hud li:before{content:"°5";margin-right:8px;color:#ffd24a}.cursor-scroll{position:fixed;z-index:40;left:0;top:0;display:flex;align-items:center;gap:8px;margin:18px 0 0 18px;padding:7px 14px 7px 8px;border-radius:999px;background:#ffffffeb;color:var(--ink);font-family:var(--display);font-size:11px;letter-spacing:.15em;text-transform:uppercase;pointer-events:none;clip-path:inset(0 100% 0 0 round 999px);transition:clip-path .5s var(--ease)}.cursor-scroll i{position:relative;width:12px;height:18px;border:2px solid var(--ink);border-radius:7px}.cursor-scroll i:after{content:"";position:absolute;left:50%;top:3px;width:2px;height:4px;margin-left:-1px;background:var(--ink);animation:cuewheel 1.6s ease-in-out infinite}.is-live.at-start .cursor-scroll:not(.over-ui){clip-path:inset(0 0 0 0 round 999px)}@media (pointer: fine){.scroll-cue{display:none}}@media (pointer: coarse){.cursor-scroll{display:none}}.cine:not(.menu-open) .letterbox i{transform:scaleY(.55)}.wipe{position:fixed;z-index:45;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:radial-gradient(circle at 50% 40%,#ffd6c4,#e98a7a 55%,#8e5a86);pointer-events:none}.wipe span{font-family:var(--display);font-size:clamp(32px,7vw,96px);color:#ffffffeb;letter-spacing:.04em}.flash{position:fixed;z-index:8;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none}.credits{position:fixed;z-index:35;left:50%;bottom:0;width:min(760px,calc(100vw - 24px));max-height:70vh;overflow-y:auto;padding:30px 34px 34px;border-radius:24px 24px 0 0;color:#fff;background:linear-gradient(170deg,#321c3ef2,#823248f0);box-shadow:0 -30px 80px -30px #140514b3;transform:translate(-50%,105%);transition:transform 1s var(--ease)}.credits.on{transform:translate(-50%)}.credits h2{margin:0 0 16px;color:#fff}.credits dl{display:grid;grid-template-columns:120px 1fr;gap:10px 18px;margin:0}.credits dt{font-family:var(--display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffd1d9;padding-top:3px}.credits dd{margin:0;line-height:1.55;color:#ffffffeb}.credits a{color:#fff}.credits-close{position:absolute;right:16px;top:16px;width:36px;height:36px;border:0;border-radius:50%;background:#ffffff24;color:#fff}@media (max-width: 820px){.skills-hud{top:150px;left:14px}.skills-hud li{font-size:12px}.credits dl{grid-template-columns:1fr}}
