:root[data-theme=dark]{--bg: #05080f;--bg-2: #0a1020;--text: #e9eef7;--text-muted: #c2cee2;--accent: #36c6ff;--accent-2: #6ea8ff;--accent-soft: rgba(54, 198, 255, .14);--border: rgba(54, 198, 255, .32);--panel: rgba(10, 18, 36, .55);--shadow: rgba(0, 0, 0, .55)}:root[data-theme=light]{--bg: #eef3fb;--bg-2: #dde7f5;--text: #0c1424;--text-muted: #4a5772;--accent: #0a84d6;--accent-2: #2f6dd0;--accent-soft: rgba(10, 132, 214, .12);--border: rgba(10, 132, 214, .4);--panel: rgba(255, 255, 255, .6);--shadow: rgba(20, 30, 50, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;transition:background .5s ease,color .5s ease;overflow-x:hidden}::selection{background:var(--accent-soft)}button{font:inherit;color:inherit}.canvas-wrap{position:fixed;inset:0;z-index:0;pointer-events:none}.canvas-wrap.interactive{pointer-events:auto}.canvas-wrap canvas{touch-action:pan-y}svg.liquid-glass-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.lang-toggle{position:fixed;top:22px;right:22px;z-index:60;display:flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;cursor:pointer;border:none;background:transparent;overflow:hidden;isolation:isolate;box-shadow:0 8px 26px var(--shadow),0 2px 6px #00000029;font-family:IBM Plex Mono,monospace;font-size:.78rem;letter-spacing:.06em;transition:transform .3s ease,box-shadow .3s ease}.lang-toggle:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;backdrop-filter:url(#liquid-glass) saturate(1.5);-webkit-backdrop-filter:url(#liquid-glass) saturate(1.5);background:linear-gradient(180deg,#ffffff1a,#fff0 55%),var(--accent-soft)}.lang-toggle:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff47,#fff0 34%);box-shadow:inset 0 1px #fff9,inset 0 0 0 1px var(--border),inset 0 -9px 16px #0000002e;transition:box-shadow .3s ease}.lang-toggle:hover{transform:translateY(-1px)}.lang-toggle:hover:after{box-shadow:inset 0 1px #ffffffbf,inset 0 0 0 1px var(--accent),inset 0 -9px 18px #0003,0 0 20px var(--accent-soft)}.lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-toggle span{position:relative;z-index:2;color:var(--text-muted);transition:color .2s}.lang-toggle span.on{color:var(--accent);font-weight:600;text-shadow:0 0 10px var(--accent-soft)}.lang-toggle .sep{position:relative;z-index:2;color:var(--border)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.hero-cue{position:fixed;bottom:84px;left:0;right:0;z-index:10;text-align:center;pointer-events:none;font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);animation:bob 2.4s ease-in-out infinite 1.4s}.hero{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px;pointer-events:none}.hero-inner{max-width:760px;will-change:opacity,transform,filter}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;opacity:0;animation:fadeUp .9s ease forwards .15s}.name{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(2.6rem,9vw,6.4rem);line-height:.95;letter-spacing:-.02em;margin:0;text-transform:uppercase;opacity:0;animation:fadeUp .9s ease forwards .3s}.tagline{color:var(--text-muted);font-size:1.06rem;max-width:34ch;margin:22px auto 0;opacity:0;animation:fadeUp .9s ease forwards .45s}.scroll-cue{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-top:48px;opacity:0;animation:fadeUp .9s ease forwards .7s,bob 2.4s ease-in-out infinite 1.4s}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.scroll-track{position:relative;z-index:1;height:220vh;pointer-events:none}.dock{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(24px);display:flex;gap:4px;padding:7px;border-radius:999px;z-index:50;border:none;background:transparent;overflow:hidden;isolation:isolate;box-shadow:0 14px 44px var(--shadow),0 3px 10px #0003;opacity:0;pointer-events:none;transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.dock:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;backdrop-filter:url(#liquid-glass) saturate(1.5);-webkit-backdrop-filter:url(#liquid-glass) saturate(1.5);background:linear-gradient(180deg,#ffffff1a,#fff0 55%),var(--accent-soft)}.dock:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff3d,#fff0 30%);box-shadow:inset 0 1px #ffffff8c,inset 0 0 0 1px var(--border),inset 0 -10px 20px #0003}.dock.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.dock-btn{position:relative;z-index:2;font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid transparent;padding:11px 18px;border-radius:999px;cursor:pointer;transition:color .25s,background .25s,box-shadow .25s}.dock-btn:hover,.dock-btn:focus-visible{color:var(--text);background:linear-gradient(180deg,#ffffff24,#fff0 45%),var(--accent-soft);box-shadow:inset 0 1px #ffffff59,inset 0 0 0 1px var(--border)}.dock-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dock-btn.active{color:var(--accent);background:linear-gradient(180deg,#ffffff2e,#fff0 45%),var(--accent-soft);box-shadow:inset 0 1px #ffffff73,inset 0 0 0 1px var(--accent),0 0 16px var(--accent-soft)}.window-scrim{position:fixed;inset:0;z-index:40;background:radial-gradient(circle at 50% 45%,#05080f33,#05080fb8);opacity:0;pointer-events:none;transition:opacity .5s ease}.window-scrim.open{opacity:1;pointer-events:auto}.window{position:fixed;z-index:45;top:50%;left:50%;width:min(680px,76vw);max-height:70vh;transform:translate(-50%,-52%) scale(.92);background:#0810206b;border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(14px);box-shadow:0 30px 80px var(--shadow),inset 0 0 0 1px #36c6ff0f;opacity:0;pointer-events:none;overflow:hidden;transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1)}.window.open{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.window-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.window-tag{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.1em;color:var(--accent);text-transform:uppercase}.window-close{width:30px;height:30px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s}.window-close:hover{color:var(--text);background:var(--accent-soft)}.window-body{padding:26px 30px 34px;overflow-y:auto;max-height:calc(78vh - 58px)}.window-body h2{font-family:Space Grotesk,sans-serif;font-size:clamp(1.6rem,4vw,2.4rem);margin:0 0 16px}.window-body p{color:var(--text-muted);line-height:1.7;max-width:64ch}.window-body a{color:var(--accent)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:22px}.proj-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;background:#36c6ff0a;transition:transform .3s ease,box-shadow .3s ease;text-align:left;width:100%}.proj-card:hover{box-shadow:0 16px 34px var(--shadow)}.proj-card .thumb{height:130px}.proj-card .meta{padding:13px 15px 16px}.proj-card .num{font-family:IBM Plex Mono,monospace;color:var(--accent);font-size:.74rem}.proj-card h3{font-family:Space Grotesk,sans-serif;margin:5px 0 7px;font-size:1.12rem}.proj-card .tags{font-family:IBM Plex Mono,monospace;font-size:.66rem;color:var(--text-muted)}.contact p{color:#dde7f5;line-height:1.7}.contact-link{display:inline-block;margin-top:18px;font-family:Space Grotesk,sans-serif;font-size:1.35rem;color:var(--text);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:4px}.contact-link:hover{color:var(--accent)}.contact-meta{margin-top:14px!important;font-family:IBM Plex Mono,monospace;font-size:.8rem;color:#c8d5e8c7!important}.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:12px}.svc-card{border:1px solid var(--border);border-radius:12px;padding:16px 18px;background:var(--accent-soft)}.svc-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.svc-head h4{font-family:Space Grotesk,sans-serif;font-size:1rem;margin:0;color:var(--text)}.svc-rate{font-family:IBM Plex Mono,monospace;font-size:.86rem;color:var(--accent);white-space:nowrap}.svc-card p{color:#dde7f5!important;font-size:.86rem!important;line-height:1.6!important;margin:0 0 8px!important;max-width:none!important}.svc-note{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.svc-terms{margin:30px 0 0!important;max-width:none!important;font-size:.86rem;color:#dde7f5}.svc-terms strong{color:#fff}@media(max-width:760px){.svc-grid{grid-template-columns:1fr}}.screen-glass{position:fixed;top:13vh;bottom:104px;left:50%;transform:translate(-50%);width:min(64vw,1040px);z-index:44;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#3046664d,#0a14265c);border:1px solid rgba(140,200,235,.3);backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);box-shadow:0 30px 90px #0000008c,inset 0 1px #ffffff14;animation:glassIn .45s cubic-bezier(.22,1,.36,1) both}@keyframes glassIn{0%{opacity:0;transform:translate(-50%) scale(.94)}to{opacity:1;transform:translate(-50%) scale(1)}}.screen-close{position:absolute;top:16px;right:18px;z-index:2;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--text);cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:0 8px 20px var(--shadow);transition:transform .2s}.screen-close:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;backdrop-filter:url(#liquid-glass) saturate(1.5);-webkit-backdrop-filter:url(#liquid-glass) saturate(1.5);background:linear-gradient(180deg,#ffffff1a,#fff0 55%),var(--accent-soft)}.screen-close:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff47,#fff0 34%);box-shadow:inset 0 1px #fff9,inset 0 0 0 1px var(--border),inset 0 -9px 16px #0000002e}.screen-close span{position:relative;z-index:2}.screen-close:hover{transform:scale(1.1)}.screen-close:hover:after{box-shadow:inset 0 1px #ffffffbf,inset 0 0 0 1px var(--accent),inset 0 -9px 18px #0003,0 0 20px var(--accent-soft)}.screen-scroll{position:absolute;inset:0;overflow-y:auto;padding:34px 46px 38px}.screen-scroll::-webkit-scrollbar{width:6px}.screen-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.screen-scroll h2{font-family:Space Grotesk,sans-serif;font-size:1.5rem;margin:0 0 10px;color:var(--text)}.screen-scroll p{color:var(--text-muted);line-height:1.6;font-size:.9rem;max-width:62ch;margin:0 0 10px}.screen-scroll a{color:var(--accent)}.screen-scroll .proj-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.screen-scroll .proj-card .thumb{height:132px}.screen-scroll .proj-card h3{font-size:1rem}.proj-grid-view>p{max-width:none}.proj-grid-note{max-width:none;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.proj-grid-note p{max-width:none}.proj-detail h2{margin-top:4px}.pf-head{display:flex;gap:22px;align-items:flex-start}.pf-intro{flex:1;min-width:0}.pf-eyebrow{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.1em;color:var(--accent)}.pf-intro h2{margin:6px 0 2px}.pf-intro p{color:#dde7f5;line-height:1.7}.pf-intro p strong{color:var(--text);font-weight:600}.pf-role{font-family:IBM Plex Mono,monospace;font-size:.82rem;color:var(--accent);margin:0 0 12px}.profile-photo{width:168px;height:auto;flex:0 0 auto;filter:drop-shadow(0 3px 10px rgba(54,198,255,.3)) drop-shadow(0 8px 24px rgba(0,0,0,.4));-webkit-mask-image:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.55) 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.55) 80%,transparent 100%)}.pf-block{margin-top:22px}.pf-block h3{font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.pf-list{list-style:none;padding:0;margin:0}.pf-list li{color:#dde7f5;font-size:.9rem;line-height:1.85}.pf-list li strong{color:#fff;font-weight:600}.pf-chips{display:flex;flex-wrap:wrap;gap:8px}.pf-chips span{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.03em;color:var(--accent);border:1px solid var(--border);background:var(--accent-soft);padding:6px 11px;border-radius:999px}@media(max-width:760px){.pf-head{flex-direction:column-reverse;align-items:center;text-align:center}.pf-chips{justify-content:center}.profile-photo{width:140px}}.proj-back{position:sticky;top:0;z-index:4;align-self:flex-start;border:none;background:transparent;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;border-radius:999px;cursor:pointer;margin-bottom:12px;overflow:hidden;isolation:isolate;box-shadow:0 8px 20px var(--shadow);transition:color .2s}.proj-back:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;backdrop-filter:url(#liquid-glass) saturate(1.5);-webkit-backdrop-filter:url(#liquid-glass) saturate(1.5);background:linear-gradient(180deg,#ffffff1a,#fff0 55%),var(--accent-soft)}.proj-back:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff3d,#fff0 30%);box-shadow:inset 0 1px #ffffff8c,inset 0 0 0 1px var(--border),inset 0 -10px 20px #0003}.proj-back span{position:relative;z-index:2}.proj-back:hover{color:var(--text)}.proj-back:hover:after{box-shadow:inset 0 1px #ffffffb3,inset 0 0 0 1px var(--accent),inset 0 -10px 22px #00000038,0 0 16px var(--accent-soft)}.proj-video{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;border:1px solid var(--border);margin:4px 0 18px;display:flex;align-items:center;justify-content:center;overflow:hidden}.proj-play{width:58px;height:58px;border-radius:50%;background:#08101e80;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;backdrop-filter:blur(6px)}.proj-cap{position:absolute;bottom:12px;left:14px;font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9}.proj-video-el{display:block;width:100%;aspect-ratio:16 / 9;border-radius:12px;border:1px solid var(--border);background:#000;margin:4px 0 18px;object-fit:contain}.proj-video-el.portrait{width:auto;aspect-ratio:9 / 16;height:min(56vh,460px);max-width:100%;margin:4px auto 20px}.proj-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 18px}.proj-gallery img{width:100%;border-radius:12px;border:1px solid var(--border);object-fit:cover;background:#0a1322;aspect-ratio:3 / 4}.proj-gallery img.lead{grid-column:1 / -1;aspect-ratio:16 / 10}.proj-credit{font-family:IBM Plex Mono,monospace;font-size:.78rem;color:#c8d5e8d1;margin-top:20px}.story-flow{margin-top:6px}.story-block{margin:0 0 26px}.story-label{display:block;font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.story-block p{color:#dde7f5;line-height:1.7;font-size:.95rem;max-width:none;margin:0 0 10px}.story-big{font-size:1.3rem;line-height:1.55;color:#eef4fc}.story-themes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.story-theme{border:1px solid var(--border);border-radius:10px;padding:13px 15px;background:var(--accent-soft)}.story-theme h4{font-family:Space Grotesk,sans-serif;margin:0 0 5px;font-size:.98rem;color:var(--text)}.story-theme p{font-size:.84rem;color:#cdd9ebd9;margin:0;max-width:none}.story-setup{list-style:none;padding:0;margin:6px 0 0}.story-setup li{position:relative;padding-left:20px;color:#dde7f5;line-height:1.9}.story-setup li:before{content:"▸";color:var(--accent);position:absolute;left:0}.story-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.story-photos img{width:100%;border-radius:10px;border:1px solid var(--border);object-fit:cover;background:#0a1322;aspect-ratio:4 / 3}@media(max-width:760px){.story-themes,.story-photos{grid-template-columns:1fr}}.proj-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.proj-tags span{font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border);padding:6px 12px;border-radius:999px}@media(max-width:760px){.screen-glass{width:92vw;top:11vh}.screen-scroll{padding:26px 18px}.screen-scroll .proj-grid{grid-template-columns:repeat(2,1fr)}.screen-scroll .proj-card .thumb{height:112px}}@media(max-width:760px),(max-height:560px){.dock{left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom,0px));width:auto;transform:none;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px)) 4px;gap:0;justify-content:space-around}.dock.visible{transform:none}.dock-btn{flex:1;padding:9px 4px;font-size:.64rem;text-align:center}.screen-glass{bottom:76px}}@media(max-height:560px){.dock{left:50%;right:auto;bottom:max(14px,env(safe-area-inset-bottom,0px));transform:translate(-50%);width:auto;padding:6px;gap:4px;justify-content:center}.dock.visible{transform:translate(-50%)}.dock-btn{flex:none;padding:8px 16px;font-size:.64rem;text-align:center}}@media(max-height:540px){.screen-glass{top:6vh;bottom:70px}.screen-scroll{padding:18px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.eyebrow,.name,.tagline,.scroll-cue{animation:none!important;opacity:1!important}*{transition-duration:.01ms!important}}
