:root{--accent:#8b5cf6;--scroll-track:#ffffff0a;--scroll-thumb:color-mix(in srgb, var(--accent) 42%, #ffffff2e);--scroll-thumb-hover:color-mix(in srgb, var(--accent) 72%, #fff);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);margin:0;padding:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}html{scroll-behavior:auto;scrollbar-gutter:stable;height:100%}body{color:#e8e8f0;background:#020204;min-height:100%;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden auto}#root{min-height:100%}canvas{display:block}.app-root{min-height:100%;position:relative}.app-scene{z-index:1;pointer-events:none;width:100%;height:100dvh;position:sticky;top:0;left:0;overflow:hidden}.app-scene-parallax{transform-origin:50%;will-change:transform;pointer-events:none;width:100%;height:100%}.app-scene canvas{pointer-events:auto}.scroll-track{pointer-events:none;margin-top:-100dvh;position:relative}.hero-spacer{pointer-events:none;height:100dvh}.journey-track{pointer-events:none;position:relative}.settle-bridge{pointer-events:none;height:100dvh}.journey-beat{height:100dvh}.scroll-end{z-index:20;pointer-events:auto;text-align:center;color:#e8e8f073;letter-spacing:.08em;text-transform:uppercase;background:#05050a;padding:48px 24px 64px;font-size:.75rem;position:relative}.cover-section{z-index:20;pointer-events:auto;color:#e8e8f0;background:#07070e;border-top:1px solid #ffffff0f;padding:clamp(64px,10vh,120px) clamp(20px,5vw,64px) clamp(80px,12vh,140px);position:relative;box-shadow:0 -40px 80px #0000008c}.cover-inner{max-width:1100px;margin:0 auto}.cover-header{max-width:36rem;margin-bottom:clamp(32px,5vh,56px)}.cover-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 80%, #fff);margin-bottom:10px;font-size:.7rem}.cover-title{letter-spacing:-.03em;margin-bottom:14px;font-family:Inter Tight,Segoe UI,system-ui,sans-serif;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05}.cover-lead{color:#e8e8f09e;font-size:1rem;line-height:1.55}.cover-code{color:color-mix(in srgb, var(--accent) 75%, #fff);font-size:.85em}.cover-header--spaced{margin-top:clamp(56px,10vh,96px)}.client-work,.testimonial-marquee{margin-inline:calc(-1*clamp(20px,5vw,64px));margin-top:clamp(8px,2vh,20px)}.client-work{flex-direction:column;gap:14px;display:flex}.client-work__row--offset{opacity:.92}.marquee{--marquee-duration:40s;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee__measure{visibility:hidden;pointer-events:none;width:max-content;display:flex;position:absolute}.marquee__track{will-change:transform;width:max-content;animation:marquee-rtl var(--marquee-duration) linear infinite;display:flex}.marquee[data-direction=ltr] .marquee__track{animation-name:marquee-ltr}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__group{flex-shrink:0;display:flex}.marquee__set{flex-shrink:0;gap:14px;padding-inline:7px;display:flex}@keyframes marquee-rtl{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-ltr{0%{transform:translate(-50%)}to{transform:translate(0)}}.client-work__shot{background:#0a0a12;border:1px solid #ffffff14;border-radius:16px;flex-shrink:0;width:min(42vw,380px);margin:0;position:relative;overflow:hidden}.client-work__shot img{aspect-ratio:3/2;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;display:block}.client-work__caption{letter-spacing:.04em;text-transform:capitalize;color:#e8e8f0e0;background:linear-gradient(#0000,#000000b8);padding:28px 14px 12px;font-size:.72rem;position:absolute;bottom:0;left:0;right:0}.testimonial-card{background:#0a0a12f2;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:space-between;gap:28px;width:min(88vw,480px);min-height:280px;margin:0;padding:clamp(28px,3vw,36px);display:flex}.testimonial-quote{color:#e8e8f0e6;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6}.testimonial-meta{align-items:center;gap:14px;display:flex}.testimonial-meta__text{flex-direction:column;gap:3px;min-width:0;display:flex}.testimonial-avatar{background:color-mix(in srgb, var(--accent) 28%, #12121c);border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;width:52px;height:52px;position:relative;overflow:hidden}.testimonial-avatar__initials{letter-spacing:.04em;color:#e8e8f0eb;place-items:center;font-size:.85rem;font-weight:650;display:grid;position:absolute;inset:0}.testimonial-avatar__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.testimonial-name{font-size:.95rem;font-style:normal;font-weight:650}.testimonial-role{color:#e8e8f073;font-size:.8rem}@media (prefers-reduced-motion:reduce){.marquee{scrollbar-width:thin;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.marquee__track{animation:none;transform:none}.marquee__group[aria-hidden=true]{display:none}}.app-root[data-scroll-zone=cover] .hud,.app-root[data-scroll-zone=cover] .node-control,.app-root[data-scroll-zone=cover] .overlay,.app-root[data-scroll-zone=settle] .hud,.app-root[data-scroll-zone=settle] .node-control,.app-root[data-scroll-zone=settle] .indicators,.app-root[data-scroll-zone=settle] .sector-nav,.app-root[data-scroll-zone=journey] .hud,.app-root[data-scroll-zone=journey] .node-control,.app-root[data-scroll-zone=journey] .hero-type,.app-root[data-scroll-zone=end] .hud,.app-root[data-scroll-zone=end] .node-control,.app-root[data-scroll-zone=end] .hero-type,.app-root[data-scroll-zone=journey] .indicators,.app-root[data-scroll-zone=journey] .sector-nav,.app-root[data-scroll-zone=end] .indicators,.app-root[data-scroll-zone=end] .sector-nav{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.app-root[data-scroll-zone=journey] .panel-close{display:none}.app-root[data-quality-tier=desktop]:after,.app-root[data-quality-tier=tablet]:after{content:"";z-index:20;pointer-events:none;opacity:.022;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;animation:.8s steps(3,end) infinite film-grain;position:fixed;inset:-50%}@keyframes film-grain{0%{transform:translate(0)}25%{transform:translate(-2%,-3%)}50%{transform:translate(3%,1%)}75%{transform:translate(-1%,4%)}to{transform:translate(2%,-2%)}}.ui{pointer-events:none;z-index:10;position:fixed;inset:0}.hero-type{z-index:6;pointer-events:none;visibility:hidden;--hero-occlude-w:20%;--hero-occlude-h:26%;position:fixed;inset:0}.hero-depth{place-items:center;padding:0 clamp(10px,2.5vw,32px);display:grid;position:absolute;inset:0}.hero-depth--back{z-index:1}.hero-depth--front{z-index:2;-webkit-mask-image:radial-gradient(ellipse var(--hero-occlude-w) var(--hero-occlude-h) at 50% 51%, transparent 0%, transparent 58%, #000 86%);-webkit-mask-image:radial-gradient(ellipse var(--hero-occlude-w) var(--hero-occlude-h) at 50% 51%, transparent 0%, transparent 58%, #000 86%);mask-image:radial-gradient(ellipse var(--hero-occlude-w) var(--hero-occlude-h) at 50% 51%, transparent 0%, transparent 58%, #000 86%)}.hero-stack{text-align:center;--chroma-offset:4px;flex-direction:column;align-items:center;width:100%;max-width:100vw;display:flex}.hero-line{margin:0;line-height:.8}.hero-stack--single{justify-content:center}.chromat{display:inline-block;position:relative}.chromat-base,.chromat-r,.chromat-b{letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;font-family:Inter Tight,Segoe UI,system-ui,sans-serif;font-size:clamp(2.2rem,10.8vw,7.25rem);font-weight:800;line-height:.8}.chromat-base{z-index:2;color:#fff;text-shadow:0 0 80px color-mix(in srgb, var(--accent) 22%, transparent);display:block;position:relative}.chromat--subtle .chromat-base{color:#ffffff57;text-shadow:none}.chromat--subtle .chromat-r,.chromat--subtle .chromat-b{opacity:.35}.chromat-r,.chromat-b{pointer-events:none;mix-blend-mode:screen;opacity:.8;position:absolute;inset:0}.chromat-r{color:#ff2a5c;transform:translate(calc(var(--chroma-offset) * -1), calc(var(--chroma-offset) * .15))}.chromat-b{color:#24e8ff;transform:translate(var(--chroma-offset), calc(var(--chroma-offset) * -.12))}.hero-type[data-load-phase=ready] .chromat:not(.chromat--subtle) .chromat-r{animation:3.6s ease-in-out infinite chroma-r-drift}.hero-type[data-load-phase=ready] .chromat:not(.chromat--subtle) .chromat-b{animation:3.6s ease-in-out infinite chroma-b-drift}@keyframes chroma-r-drift{0%,to{opacity:.6;transform:translate(-3px,.5px)}40%{opacity:.92;transform:translate(-7px,1px)}70%{opacity:.72;transform:translate(-4px,.3px)}}@keyframes chroma-b-drift{0%,to{opacity:.6;transform:translate(3px,-.4px)}40%{opacity:.92;transform:translate(7px,-.8px)}70%{opacity:.72;transform:translate(4px,-.2px)}}.hero-type[data-quality-tier=mobile]{--hero-occlude-w:30%;--hero-occlude-h:34%}.hero-line--ghost .chromat-base{color:#ffffff57;text-shadow:none}.hero-line--ghost .chromat-r,.hero-line--ghost .chromat-b{opacity:.28}.hero-type[data-quality-tier=mobile] .hero-line .chromat-base,.hero-type[data-quality-tier=mobile] .hero-line .chromat-r,.hero-type[data-quality-tier=mobile] .hero-line .chromat-b{white-space:normal;letter-spacing:-.035em;max-width:92vw;font-size:clamp(1.35rem,7.8vw,3.2rem);line-height:.92}@media (width<=480px){.chromat-base,.chromat-r,.chromat-b{letter-spacing:-.03em;font-size:clamp(.95rem,7.4vw,2rem)}.hero-type{--hero-occlude-w:36%;--hero-occlude-h:38%}}@media (prefers-reduced-motion:reduce){.hero-type .chromat:not(.chromat--subtle) .chromat-r,.hero-type .chromat:not(.chromat--subtle) .chromat-b{animation:none}}.hud{letter-spacing:.22em;text-transform:uppercase;color:#ebebff61;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:10px;line-height:1.9;position:absolute}.hud b{color:var(--accent);font-weight:500}.hud.tl{top:22px;left:26px}.hud.tr{text-align:right;top:22px;right:26px}.hud.bl{bottom:22px;left:26px}.hud.br{text-align:right;bottom:22px;right:26px}.hud.tl span{color:#ebebff99}.site-brand{color:inherit;pointer-events:auto;align-items:center;gap:12px;max-width:min(72vw,340px);text-decoration:none;display:inline-flex}.site-brand__logo{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px;box-shadow:0 0 0 1px #ffffff14,0 0 18px #00000073}.site-brand__copy{flex-direction:column;gap:2px;min-width:0;line-height:1.25;display:flex}.site-brand__title{letter-spacing:.18em;text-transform:uppercase;color:#f5f5ffeb;white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;font-weight:600;overflow:hidden}.site-brand__sub{letter-spacing:.2em;text-transform:uppercase;color:#ebebff73;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:9px}.site-brand:hover .site-brand__title,.site-brand:focus-visible .site-brand__title{color:#fff}.site-brand:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.ui[data-quality-tier=mobile] .site-brand__logo{width:34px;height:34px}.ui[data-quality-tier=mobile] .site-brand__title{letter-spacing:.14em;font-size:11px}.ui[data-quality-tier=mobile] .hud-profile-group{top:max(14px, env(safe-area-inset-top,0px));text-align:left;max-width:min(92vw,340px);line-height:1.55;left:16px;right:auto}.hud-profile-title{color:#ebebff99;margin-top:2px;display:block}.hud-profile-meta{letter-spacing:.14em;color:#ebebff61;margin-top:8px;font-size:9px;line-height:1.5}.swatch{background:var(--accent);vertical-align:middle;width:9px;height:9px;box-shadow:0 0 8px var(--accent);border-radius:2px;margin-left:8px;display:inline-block}.indicators{visibility:hidden;pointer-events:none;position:absolute;inset:0}.indicators[data-revealing=true] .indicator,.sector-nav[data-revealing=true] .sector-nav-btn{opacity:0;visibility:hidden}.indicator{pointer-events:auto;cursor:pointer;--section-color:var(--accent);background:0 0;border:none;align-items:center;gap:8px;padding:4px;display:flex;position:absolute;top:0;left:0;transform:translate(-3px,-50%)}.indicator .dot{background:var(--section-color);width:7px;height:7px;box-shadow:0 0 12px color-mix(in srgb, var(--section-color) 70%, transparent);border-radius:50%;flex-shrink:0}.indicator .line{background:linear-gradient(90deg, var(--section-color), transparent);opacity:.75;flex-shrink:0;width:44px;height:1px}.indicator .label-wrap{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;border-left:2px solid var(--section-color);box-shadow:0 2px 18px #00000080, 0 0 24px color-mix(in srgb, var(--section-color) 12%, transparent);background:#04040cc7;border-radius:2px;padding:6px 12px}.indicator .label{letter-spacing:.28em;text-transform:uppercase;color:#f5f5fff0;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:10px;transition:color .25s}.indicator:hover .label-wrap,.indicator:focus-visible .label-wrap{border-color:color-mix(in srgb, var(--section-color) 45%, #ffffff1f);box-shadow:0 2px 22px #0000008c, 0 0 28px color-mix(in srgb, var(--section-color) 28%, transparent);background:#080810e6}.indicator:hover .label,.indicator:focus-visible .label{color:#fff}.indicator:focus-visible{outline:none}.indicator:focus-visible .label-wrap{outline:1px solid var(--section-color);outline-offset:2px}.sector-nav{pointer-events:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-overflow-scrolling:touch;scrollbar-width:none;visibility:hidden;background:#04040ce6;border-top:1px solid #ffffff14;gap:6px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.sector-nav::-webkit-scrollbar{display:none}.sector-nav-btn{border:1px solid #ffffff14;border-left:2px solid var(--section-color);cursor:pointer;--section-color:var(--accent);background:#ffffff08;border-radius:2px;flex:1 0 auto;align-items:center;gap:7px;min-height:40px;padding:8px 12px;display:flex}.sector-nav-btn .dot{background:var(--section-color);width:6px;height:6px;box-shadow:0 0 10px color-mix(in srgb, var(--section-color) 70%, transparent);border-radius:50%;flex-shrink:0}.sector-nav-btn .label{letter-spacing:.22em;text-transform:uppercase;color:#f5f5ffe0;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:9px}.sector-nav-btn[aria-current=page]{border-color:color-mix(in srgb, var(--section-color) 35%, #ffffff1a);background:#ffffff0f}.sector-nav-btn:focus-visible{outline:1px solid var(--section-color);outline-offset:2px}.ui[data-quality-tier=mobile] .node-control{bottom:calc(64px + env(safe-area-inset-bottom,0px));min-width:min(360px,94vw)}.ui[data-quality-tier=mobile] .hud.bl{bottom:calc(64px + env(safe-area-inset-bottom,0px))}.overlay{pointer-events:none;background:linear-gradient(90deg,#02020600 38%,#02020673 62%,#020206b8);justify-content:flex-end;align-items:center;padding-right:5vw;display:flex;position:absolute;inset:0}.overlay--journey{place-items:center end;display:grid}.overlay--journey>.panel--journey{will-change:opacity, transform;grid-area:1/1}.panel{pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#06060ca8;border:1px solid #ffffff17;width:min(480px,92vw);max-height:80vh;padding:clamp(18px,3.5vw,36px) clamp(14px,3.5vw,38px);position:relative;overflow-y:auto}.panel--skills{--skills-accent:#4da6ff;--scroll-thumb:color-mix(in srgb, var(--skills-accent) 48%, #ffffff29);--scroll-thumb-hover:color-mix(in srgb, var(--skills-accent) 78%, #fff);width:min(520px,94vw)}.panel--projects{--projects-accent:#7c5cff;--scroll-thumb:color-mix(in srgb, var(--projects-accent) 48%, #ffffff29);--scroll-thumb-hover:color-mix(in srgb, var(--projects-accent) 78%, #fff);width:min(520px,94vw)}@media (width<=900px){.overlay{-webkit-backdrop-filter:blur(16px)saturate(.8);background:#020206b8;justify-content:center;padding-right:0}.overlay--journey{justify-items:center}.panel{width:min(520px,94vw);max-height:min(82vh,100dvh - 20px);padding:16px 14px 18px}.panel .intro{margin-bottom:16px}.panel-close{top:10px;right:10px}}.panel h2{letter-spacing:.45em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;padding-right:40px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.panel .intro{color:#ebebff8c;letter-spacing:.04em;margin-bottom:28px;font-size:13px}.skills-panel{flex-direction:column;gap:18px;display:flex}.skills-radar{aspect-ratio:1;width:100%;max-width:320px;margin:0 auto}.skills-radar__ring{stroke:#ffffff1a;stroke-width:1px}.skills-radar__axis{stroke:#ffffff14;stroke-width:1px}.skills-radar__poly{stroke-width:1.6px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--skills-accent,#4da6ff) 45%, transparent))}.skills-radar__node{fill:#080a12e6;stroke:#ffffff59;stroke-width:1.2px;transition:r .25s,fill .25s,stroke .25s}.skills-radar__node.is-active{fill:var(--skills-accent,#4da6ff);stroke:#fff;filter:drop-shadow(0 0 8px var(--skills-accent,#4da6ff))}.skills-radar__hit{color:#ebebffbf;cursor:pointer;background:#060810d9;border:1px solid #ffffff24;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;transition:border-color .25s,color .25s,box-shadow .25s,background .25s;display:grid}.skills-radar__hit:hover,.skills-radar__hit:focus-visible{border-color:var(--skills-accent,#4da6ff);color:#fff;outline:none}.skills-radar__hit.is-active{border-color:var(--skills-accent,#4da6ff);color:#fff;background:color-mix(in srgb, var(--skills-accent,#4da6ff) 22%, #060810e6);box-shadow:0 0 14px color-mix(in srgb, var(--skills-accent,#4da6ff) 55%, transparent)}.skills-detail{box-shadow:0 12px 40px #00000059, inset 0 -1px 0 color-mix(in srgb, var(--skills-accent,#4da6ff) 28%, transparent);background:#04060e8c;border:1px solid #ffffff17;padding:16px 18px 14px}.skills-detail__head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.skills-detail__badge{color:#fff;background:color-mix(in srgb, var(--skills-accent,#4da6ff) 18%, transparent);border:1px solid #ffffff29;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.skills-detail__label{letter-spacing:.14em;text-transform:uppercase;color:#f5f5ffeb;border:1px solid #ffffff2e;border-radius:999px;flex:1;margin:0;padding:6px 12px;font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:500}.skills-detail__score{letter-spacing:.08em;color:var(--skills-accent,#4da6ff);font-family:ui-monospace,Consolas,monospace;font-size:11px}.skills-detail__list{flex-direction:column;gap:9px;list-style:none;display:flex}.skills-row{grid-template-columns:18px minmax(0,1fr) minmax(72px,42%);align-items:center;gap:10px;display:grid}.skills-row__icon{color:#ebebffcc;place-items:center;display:grid}.skills-row__name{letter-spacing:.02em;color:#ebebffc7;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.skills-bar{background:#ffffff1a;border-radius:999px;height:3px;overflow:hidden}.skills-bar__fill{border-radius:inherit;background:linear-gradient(90deg, var(--skills-accent,#4da6ff) 0%, var(--accent,#8b5cf6) 100%);transform-origin:0;height:100%;display:block}.projects-panel{flex-direction:column;gap:12px;display:flex}.project-card{background:#04060e73;border:1px solid #ffffff14;padding:16px 18px 14px;transition:border-color .25s,background .25s}.project-card:hover{border-color:color-mix(in srgb, var(--projects-accent,var(--accent)) 45%, transparent);background:#0808128c}.project-card__head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.project-card__title{letter-spacing:.08em;color:#f5f5fff2;flex:1;font-size:14px;font-weight:600}.project-card__status{letter-spacing:.18em;text-transform:uppercase;color:#ebebffa6;border:1px solid #ffffff24;padding:3px 8px;font-family:ui-monospace,Consolas,monospace;font-size:9px}.project-card__status--live{border-color:color-mix(in srgb, var(--projects-accent,var(--accent)) 55%, transparent);color:var(--projects-accent,var(--accent))}.project-card__status--wip{color:#ffc46ee6;border-color:#ffb45066}.project-card__desc{color:#ebebff8c;margin-bottom:10px;font-size:12.5px;line-height:1.65}.project-card__skills{flex-wrap:wrap;gap:6px;margin-bottom:12px;list-style:none;display:flex}.project-card__skills li{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--projects-accent,var(--accent)) 85%, #fff);border:1px solid color-mix(in srgb, var(--projects-accent,var(--accent)) 35%, transparent);padding:3px 7px;font-family:ui-monospace,Consolas,monospace;font-size:9px}.project-card__links{flex-wrap:wrap;gap:14px;display:flex}.project-card__links a{letter-spacing:.18em;text-transform:uppercase;color:var(--projects-accent,var(--accent));font-family:ui-monospace,Consolas,monospace;font-size:10px;text-decoration:none;transition:color .2s}.project-card__links a:hover{color:#fff}.card{border:1px solid #ffffff12;margin-bottom:14px;padding:18px 20px}.card h3{letter-spacing:.08em;margin-bottom:6px;font-size:14px}.card p{color:#ebebff8c;font-size:12.5px;line-height:1.65}.card img{object-fit:cover;opacity:.85;width:100%;max-height:180px;margin-bottom:12px}.card a{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;font-size:11px;text-decoration:none}.tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tags span,.tags a{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);padding:3px 8px;font-family:ui-monospace,monospace;font-size:9px}.contact-panel{flex-direction:column;gap:14px;display:flex}.contact-panel__lead{color:#ebebff8c;font-size:12.5px;line-height:1.65}.contact-panel__or{color:#ebebff73;margin-top:4px;font-size:11px}.contact-panel__or a{color:var(--accent);text-decoration:none}.contact-panel__or a:hover{text-decoration:underline}.contact-form{flex-direction:column;gap:10px;display:flex}.contact-field{letter-spacing:.16em;text-transform:uppercase;color:#ebebff80;flex-direction:column;gap:5px;font-size:10px;display:flex}.contact-field input,.contact-field textarea{width:100%;font:inherit;letter-spacing:.02em;text-transform:none;color:#e8e8f0;resize:vertical;background:#00000059;border:1px solid #ffffff1a;border-radius:2px;outline:none;padding:10px 12px;font-size:13px}.contact-field input:focus,.contact-field textarea:focus{border-color:color-mix(in srgb, var(--accent) 55%, #fff3)}.contact-field input:disabled,.contact-field textarea:disabled{opacity:.55}.contact-form__submit{font:inherit;letter-spacing:.2em;text-transform:uppercase;color:#0a0a12;background:var(--accent);cursor:pointer;border:none;align-self:flex-start;margin-top:4px;padding:10px 16px;font-size:11px}.contact-form__submit:hover:not(:disabled){filter:brightness(1.08)}.contact-form__submit:disabled{opacity:.45;cursor:not-allowed}.contact-form__hint{color:#ebebff66;font-size:11px;line-height:1.45}.contact-form__hint code{color:color-mix(in srgb, var(--accent) 70%, #fff);font-size:.95em}.contact-form__status{font-size:12px;line-height:1.45}.contact-form__status--ok{color:#5de6d3}.contact-form__status--err{color:#ff74ad}.panel-close{pointer-events:auto;z-index:2;color:#ebebffa6;cursor:pointer;background:0 0;border:1px solid #ffffff24;place-items:center;width:32px;height:32px;padding:0;transition:border-color .25s,color .25s,background .25s;display:grid;position:absolute;top:14px;right:14px}.panel-close:hover,.panel-close:focus-visible{border-color:var(--accent);color:#fff;background:color-mix(in srgb, var(--accent) 14%, transparent);outline:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.loader{z-index:100;pointer-events:auto;background:radial-gradient(at 50% 40%,#0a0a18 0%,#020204 55%,#000 100%);place-items:center;display:grid;position:fixed;inset:0}.loader-core{text-align:center;width:min(420px,88vw)}.loader-kicker{letter-spacing:.45em;text-transform:uppercase;color:#ebebff59;margin-bottom:18px;font-family:ui-monospace,Consolas,monospace;font-size:10px}.loader-title{letter-spacing:.28em;color:#f5f5ffeb;text-shadow:0 0 40px color-mix(in srgb, var(--accent) 35%, transparent);margin-bottom:28px;font-family:ui-monospace,Consolas,monospace;font-size:clamp(22px,5vw,34px);font-weight:500;line-height:1.35}.loader-bar{background:#ffffff14;border-radius:1px;height:2px;margin-bottom:14px;overflow:hidden}.loader-bar-fill{background:linear-gradient(90deg, var(--accent), #fff);width:0%;height:100%;box-shadow:0 0 12px var(--accent)}.loader-meta{letter-spacing:.32em;text-transform:uppercase;color:#ebebff61;font-family:ui-monospace,Consolas,monospace;font-size:9px}.node-control{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04040cb8;border:1px solid #ffffff14;border-radius:2px;align-items:center;gap:14px;min-width:min(420px,92vw);padding:10px 16px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.node-control label{letter-spacing:.28em;text-transform:uppercase;color:#ebebff73;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:9px}.node-control input[type=range]{accent-color:var(--accent);cursor:pointer;flex:1}.node-val{letter-spacing:.12em;color:var(--accent);text-align:right;min-width:3.5em;font-family:ui-monospace,Consolas,monospace;font-size:10px}.journey-progress{left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));pointer-events:none;z-index:12;gap:10px;display:flex;position:absolute;transform:translate(-50%)}.journey-dot{background:#ffffff38;border-radius:50%;width:7px;height:7px;transition:background .3s,transform .3s}.journey-dot.is-active{background:var(--accent);transform:scale(1.35)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey-dot{transition:none}}
