:root{--contact-edge-color:var(--electric-hot);--color-text:#fff;--color-blue-core:#21c7ff;--color-blue-bright:#79e7ff;--color-status:#70ffd0;--void:var(--color-canvas);--electric:var(--color-blue-core);--electric-hot:var(--color-blue-bright);--theme-accent:var(--electric);--card-border:color-mix(in srgb, var(--theme-accent) 34%, transparent);--static-card-border:color-mix(in srgb, var(--theme-accent) 56%, transparent);--card-hover-border:var(--theme-accent);--scrollbar-thumb:color-mix(in srgb, var(--theme-accent) 46%, transparent);--scrollbar-thumb-active:var(--theme-accent);--scrollbar-track:color-mix(in srgb, var(--theme-accent) 7%, transparent);--about-dossier-divider:var(--static-card-border);--project-dossier-divider:var(--static-card-border);--field-focus-color:var(--system-eyebrow-color);--switch-on-color:var(--system-eyebrow-color);--badge-surface:linear-gradient(145deg, color-mix(in srgb, var(--surface-control) 94%, white), color-mix(in srgb, var(--surface-glass) 90%, white));--system-eyebrow-color:var(--electric-hot);--system-eyebrow-shadow:none;--project-index-color:var(--system-eyebrow-color);--electric-soft:#21c7ff24;--section-rail:var(--electric);--section-rail-halo:var(--section-rail);--section-rail-base:color-mix(in srgb, var(--section-rail) 24%, transparent);--section-rail-shadow:0 0 8px color-mix(in srgb, var(--section-rail) 54%, transparent), 0 0 24px color-mix(in srgb, var(--section-rail-halo) 20%, transparent);--navbar-link-color:var(--muted);--navbar-link-border:var(--border-subtle);--navbar-link-active-color:var(--ink);--navbar-link-active-surface:color-mix(in srgb, var(--theme-accent) 9%, transparent);--navbar-link-active-border:var(--theme-accent);--navbar-link-active-shadow:inset 0 0 20px color-mix(in srgb, var(--theme-accent) 11%, transparent);--navbar-link-active-text-shadow:0 0 8px color-mix(in srgb, var(--theme-accent) 50%, transparent);--navbar-toggle-active-border:var(--theme-accent);--navbar-toggle-bar:var(--theme-accent);--system-eyebrow-glow:0 0 10px color-mix(in srgb, var(--system-eyebrow-color) 40%, transparent);--border:#49ccff42;--border-subtle:#49ccff1f;--ink:var(--color-text);--muted:#ffffffe6;--selection-ink:#020914;--surface-glass:#020914b3;--surface-control:#051528d1;--surface-opaque:#051528f0;--surface-card:var(--surface-opaque);--surface-navbar:linear-gradient(180deg, #05152847, transparent), var(--surface-glass);--surface-footer:linear-gradient(180deg, transparent, #051528b3), #020914b3;--tag-text:#ffffffde;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:var(--font-display);--font-interface:"JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--weight-body:500;--weight-display:600;--weight-interface:700;--weight-strong:800;--border-width:1px;--border-width-accent:2px;--border-width-cta:4px;--border-width-panel:6px;--cut-control:9px;--cut-card:20px;--min-layout-width:320px;--cut-frame:22px;--cut-media:26px;--space-section:clamp(44px, 5.5vw, 72px);--space-block:clamp(26px, 3.2vw, 40px);--space-page-end:clamp(56px, 7vw, 92px);--accent-rail-first:min(170px, 36vw);--accent-rail-second:min(340px, 72vw);--floating-shadow:#00000057;--brand-linkedin:#43adff;--brand-linkedin-glow:#43adff7a;--brand-email:#ff6673;--brand-email-glow:#ff667375;--brand-github:#b58cff;--brand-github-glow:#b58cff80;--theme-control-violet:#ab74ff;--theme-control-cyan:#21c7ff;--theme-control-edge-violet:#c497ff;--theme-control-edge-cyan:#49d2ff;--theme-control-shadow-violet:#9171ff;--theme-control-shadow-cyan:#21c7ff;--theme-control-text:#ddceff;--theme-control-hover-text:#fff;--status-positive:var(--color-status);--status-positive-glow:#70ffd061;--status-live:var(--color-status);--status-live-glow:#70ffd061;--status-github:var(--brand-github);--status-github-glow:var(--brand-github-glow);--status-archived-text:color-mix(in srgb, var(--ink) 62%, transparent);--status-archived-text-glow:color-mix(in srgb, var(--ink) 12%, transparent);--status-archived-border:color-mix(in srgb, var(--ink) 30%, transparent);--status-archived-box-glow:color-mix(in srgb, var(--ink) 8%, transparent);--status-error:#ff7c91;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--color-text:#061b29;--color-blue-core:#009bc9;--color-blue-bright:#006be6;--color-status:#007f50;--system-eyebrow-color:#004ec2;--electric-soft:#006be621;--section-rail:var(--electric-hot);--section-rail-shadow:0 0 6px color-mix(in srgb, var(--section-rail) 50%, transparent), 0 0 18px color-mix(in srgb, var(--electric) 18%, transparent);--border:var(--section-rail-base);--border-subtle:color-mix(in srgb, var(--section-rail) 10%, transparent);--muted:#061b29c7;--surface-glass:#cfdee5c2;--surface-control:#ebf3f6d6;--surface-opaque:#f0f6f8f2;--surface-button:#dce8ed;--surface-button-hover:#e5eef2;--surface-navbar:linear-gradient(180deg, #a4beca2e, transparent), #becfd8ad;--surface-footer:linear-gradient(180deg, transparent, #a4beca57), #becfd8ad;--floating-shadow:#002a4033;--brand-linkedin:#086bc1;--brand-linkedin-glow:#086bc147;--brand-email:#d52d40;--brand-email-glow:#d52d4040;--brand-github:#7445c7;--brand-github-glow:#7445c745;--theme-control-violet:#7a45ca;--theme-control-cyan:#008bb9;--theme-control-edge-violet:#7541bd;--theme-control-edge-cyan:#007fa8;--theme-control-shadow-violet:#7541bd;--theme-control-shadow-cyan:#007fa8;--theme-control-text:#6943a6;--theme-control-hover-text:#3d2764;--status-positive-glow:#00b56c47;--status-live-glow:#00b56c47;--tag-text:#061b29de;--status-error:#d02742;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light][data-theme-variant=grid]{--light-grid-cobalt:var(--system-eyebrow-color);--light-grid-cobalt-bright:var(--electric-hot);--light-grid-cobalt-glow:var(--electric);--light-grid-card-shadow:0 0 16px color-mix(in srgb, var(--light-grid-cobalt) 7%, transparent)}:root[data-theme=light][data-theme-variant=grid] :where(.project-card,.capability-module,.capability-principle,.about__dossier,.projects__github,.project__visual,.project__dossier){border-color:var(--card-border);box-shadow:var(--light-grid-card-shadow)}:root[data-theme=light][data-theme-variant=grid] :where(.capability-module,.capability-principle,.about__dossier,.projects__github,.project__dossier),:root[data-theme=light][data-theme-variant=grid] .capability-grid{border-color:var(--static-card-border)}@media (hover:hover){:root[data-theme=light][data-theme-variant=grid] .project-card:hover{border-color:var(--card-hover-border);box-shadow:var(--light-grid-card-shadow), 0 0 18px color-mix(in srgb, var(--light-grid-cobalt) 14%, transparent)}}:root[data-theme=light][data-theme-variant=grid] :where(.about__working-style li,.project__stack li){border-color:color-mix(in srgb, var(--light-grid-cobalt) 28%, transparent)}:root[data-theme-variant=ares]{--principle-title-fill:linear-gradient(90deg, #d60000 0%, #ff3b3b 56%, #fff 100%);--principle-title-filter:drop-shadow(0 0 .3em #d6000094);--principle-year-color:#fff7f8;--principle-year-fill:none;--principle-year-filter:drop-shadow(0 0 .2em #d600007a);--principle-year-tracking:.16em;--principle-year-text-shadow:0 0 .36em #ff17446b;--principle-year-echo-top:.12em;--principle-year-echo-left:.11em;--principle-year-echo-color:#ff1744;--principle-year-echo-opacity:.82;--principle-year-echo-shift:translate(.04em, .04em);--principle-year-echo-stroke:0;--principle-year-echo-glow:0 0 .28em #ff17449e;--principle-year-echo-clip:inset(52% 0 0);--theme-accent:#ff3b3b;--contact-edge-color:var(--ares-hot-red);--ares-hot-red:#ff1010;--color-text:#fff;--color-blue-core:#d60000;--color-blue-bright:#ff1a1a;--void:var(--color-canvas);--electric:var(--color-blue-core);--electric-hot:var(--color-blue-bright);--system-eyebrow-color:#ff1744;--system-eyebrow-shadow:0 0 10px #ff1744b3;--electric-soft:#d6000024;--border:#ff3b3b4d;--border-subtle:#ff3b3b24;--ink:var(--color-text);--muted:#ffffffe6;--selection-ink:#180000;--surface-glass:#0b0000c7;--surface-control:#200000db;--surface-opaque:#180000f7;--surface-navbar:linear-gradient(180deg, #4600003d, transparent), var(--surface-glass);--surface-footer:linear-gradient(180deg, transparent, #300000ad), #0b0000c7;--floating-shadow:#0000007a;--theme-control-violet:#fff;--theme-control-cyan:#d60000;--theme-control-edge-violet:#fff;--theme-control-edge-cyan:#ff3b3b;--theme-control-shadow-violet:#fff;--theme-control-shadow-cyan:#d60000;--theme-control-text:#fff;--theme-control-hover-text:#fff;--status-error:#fff;--tag-text:#ffffffde;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme-variant=flynn]{--principle-title-fill:linear-gradient(90deg, var(--flynn-white) 0%, var(--flynn-halo) 54%, var(--flynn-light) 100%);--principle-title-filter:drop-shadow(0 0 .24em #aeefffbd);--principle-year-color:var(--flynn-light);--principle-year-fill:none;--principle-year-filter:drop-shadow(0 0 .2em #ffffffe0);--principle-year-tracking:.16em;--principle-year-text-shadow:0 0 .32em #aeefffb8;--principle-year-echo-top:.12em;--principle-year-echo-left:.11em;--principle-year-echo-color:var(--flynn-silver);--principle-year-echo-opacity:.9;--principle-year-echo-shift:translate(.04em, .04em);--principle-year-echo-stroke:0;--principle-year-echo-glow:0 0 .24em #aeefffd6;--principle-year-echo-clip:inset(52% 0 0);--theme-accent:var(--flynn-frost);--contact-edge-color:var(--flynn-white);--flynn-stone:#182832;--flynn-structure:#2b414d;--flynn-silver:#86a4af;--flynn-frost:#d5e7ec;--flynn-light:#eafbff;--flynn-white:#fff;--flynn-halo:#aeefff;--color-text:var(--flynn-light);--color-blue-core:var(--flynn-light);--color-blue-bright:var(--flynn-white);--void:var(--color-canvas);--electric:var(--color-blue-core);--electric-hot:var(--color-blue-bright);--system-eyebrow-color:var(--flynn-light);--system-eyebrow-shadow:0 0 5px #ffffffeb, 0 0 14px #aeefffb8;--electric-soft:#aeefff1f;--border:#d5e7ec6b;--border-subtle:#86a4af38;--ink:var(--color-text);--muted:var(--flynn-frost);--selection-ink:var(--flynn-deep);--surface-glass:#101d25d1;--surface-control:#182832e6;--surface-opaque:#101d25f7;--surface-navbar:linear-gradient(180deg, #2b414d29, transparent), #091219db;--surface-footer:linear-gradient(180deg, transparent, #2b414d29), #091219db;--floating-shadow:#050c1080;--theme-control-violet:var(--flynn-silver);--theme-control-cyan:var(--flynn-light);--theme-control-edge-violet:var(--flynn-frost);--theme-control-edge-cyan:var(--flynn-white);--theme-control-shadow-violet:var(--flynn-silver);--theme-control-shadow-cyan:var(--flynn-halo);--theme-control-text:var(--flynn-light);--theme-control-hover-text:var(--flynn-white);--status-error:var(--flynn-white);--tag-text:var(--flynn-light);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{min-width:var(--min-layout-width);background:var(--void);scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-active)}body{min-width:var(--min-layout-width);color:var(--ink);font-family:var(--font-body);font-weight:var(--weight-body);background:var(--void);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}@media (width>=320px){body{overflow-x:clip}}.responsive-image-source{width:100%;height:100%;display:block}button,a{font:inherit}a,button{color:inherit}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img,picture,svg,canvas{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}::selection{color:var(--selection-ink);background:var(--electric-hot)}@media print{.app-shell{display:none!important}body:after{color:#000;content:"This page is not available for printing.";padding:24px;font-family:sans-serif;font-size:14px;display:block}}.app-shell{isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative}:root[data-theme=dark] .app-shell:before{z-index:-1;pointer-events:none;background:var(--void);mix-blend-mode:plus-lighter;content:"";position:fixed;inset:0}:root[data-theme=light] .app-shell:before{z-index:-3;pointer-events:none;background:var(--void);content:"";position:fixed;inset:0}.app-content{flex-direction:column;flex:1;display:flex}:root[data-contact-open=true] .app-content{clip-path:var(--contact-hole-shape,none)}.system-button{min-height:46px;color:var(--ink);font-family:var(--font-interface);font-size:.89rem;font-weight:var(--weight-interface);letter-spacing:.04em;background:var(--surface-control);border:var(--border-width) solid var(--border);clip-path:polygon(var(--cut-control) 0, 100% 0, 100% calc(100% - var(--cut-control)), calc(100% - var(--cut-control)) 100%, 0 100%, 0 var(--cut-control));cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:11px 17px;text-decoration:none;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}.system-button:active{color:var(--electric-hot);border-color:var(--electric);transform:translateY(-2px)}@media (hover:hover){.system-button:hover{color:var(--electric-hot);border-color:var(--electric);transform:translateY(-2px)}}.system-button--compact{min-height:42px;padding:9px 16px;font-size:.83rem}.system-button--nav{min-height:38px;font-size:.8rem;font-weight:var(--weight-strong);letter-spacing:.06em;text-transform:uppercase;padding:8px 14px}.system-arrow{z-index:2;vertical-align:middle;justify-content:center;align-items:center;display:inline-flex;position:relative}.system-arrow svg{font-size:inherit;fill:currentColor;width:round(1.35em,2px);height:round(1.35em,2px);filter:drop-shadow(0 0 7px color-mix(in srgb, currentColor 42%, transparent));will-change:transform;display:block;transform:translateZ(0)}.system-arrow:first-child{margin-right:.3em}.system-arrow:not(:first-child){margin-left:.3em}.system-button>.system-arrow{margin:0}:root{--cta-edge-text:#bfefff;--cta-edge-surface:#05182ab8;--cta-edge-border:#50d8ff61;--cta-edge-trace:#79e7ff;--cta-edge-trace-shadow:0 0 9px #21c7ff;--cta-edge-hover-text:#fff;--cta-edge-hover-surface:#071f36d1;--cta-edge-hover-border:#50d8ff;--cta-edge-hover-shadow:inset 0 0 18px #21c7ff1a, 0 0 12px #21c7ff26;--cta-edge-shadow:inset 0 0 14px color-mix(in srgb, var(--cta-edge-border) 28%, transparent), 0 0 10px color-mix(in srgb, var(--cta-edge-border) 46%, transparent);--cta-primary-text:#bfefff;--cta-primary-surface:linear-gradient(90deg, #21c7ff1a, #051528e6 34%);--cta-primary-border:var(--border);--cta-primary-rail-idle:#21c7ff6b;--cta-primary-rail-active:#21c7ff;--cta-primary-progress-inset-shadow:inset 10px 0 24px color-mix(in srgb, #21c7ff1f var(--primary-cta-progress), transparent);--cta-primary-progress-glow-shadow:-2px 0 10px color-mix(in srgb, #21c7ff38 var(--primary-cta-progress), transparent);--cta-primary-scan:linear-gradient(90deg, #79e7ff94, #ffffff47);--cta-primary-trail:linear-gradient(90deg, #21c7ff, #21c7ff94 52%, #21c7ff2e) bottom / 100% 1px no-repeat, linear-gradient(90deg, #21c7ff33, #21c7ff12 54%, #21c7ff03);--cta-primary-trail-shadow:drop-shadow(0 1px 3px #21c7ff66);--cta-primary-hover-text:#fff;--cta-primary-hover-border:#79e7ffb8}.system-button--edge{isolation:isolate;color:var(--cta-edge-text);background:var(--cta-edge-surface);border-color:var(--cta-edge-border);box-shadow:var(--cta-edge-shadow);position:relative;overflow:hidden}.system-button--edge>span,.system-button--primary>span{z-index:2;position:relative}.system-button--edge:after{z-index:1;content:"";pointer-events:none;background:var(--cta-edge-trace);width:42%;height:2px;box-shadow:var(--cta-edge-trace-shadow);transition:transform .72s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:0;right:100%}.system-button--edge:focus-visible,.system-button--edge:active{color:var(--cta-edge-hover-text);background:var(--cta-edge-hover-surface);border-color:var(--cta-edge-hover-border);box-shadow:var(--cta-edge-hover-shadow)}.system-button--edge:focus-visible:after,.system-button--edge:active:after{transform:translate(340%)}@media (hover:hover){.system-button--edge:hover{color:var(--cta-edge-hover-text);background:var(--cta-edge-hover-surface);border-color:var(--cta-edge-hover-border);box-shadow:var(--cta-edge-hover-shadow)}.system-button--edge:hover:after{transform:translate(340%)}}:root[data-theme=light]{--cta-edge-text:#075472;--cta-edge-surface:linear-gradient(135deg, color-mix(in srgb, var(--surface-button) 96%, transparent), #cbdce4d1);--cta-edge-border:#006f9652;--cta-edge-trace:linear-gradient(90deg, #06c, #00bce8 68%, #007caf);--cta-edge-trace-shadow:0 0 5px #0066cc94, 0 0 10px #00bce847;--cta-edge-hover-text:#032f44;--cta-edge-hover-surface:linear-gradient(135deg, var(--surface-button-hover), #ccdee5f0);--cta-edge-hover-border:#008eb9ad;--cta-edge-hover-shadow:inset 0 0 16px #009bc914, 0 0 10px #0066cc1f}@property --primary-cta-progress{syntax:"<percentage>";inherits:true;initial-value:0%}.system-button--primary{--primary-cta-progress:0%;isolation:isolate;color:var(--cta-primary-text);background:var(--cta-primary-surface);border:var(--border-width) solid var(--cta-primary-border);border-left:var(--border-width-cta) solid color-mix(in srgb, var(--cta-primary-rail-idle) calc(100% - var(--primary-cta-progress)), var(--cta-primary-rail-active) var(--primary-cta-progress));clip-path:none;box-shadow:var(--cta-primary-progress-inset-shadow), var(--cta-primary-progress-glow-shadow), var(--cta-primary-extra-shadow,0 0 transparent);transition:color .18s,border-color .18s,transform .18s,--primary-cta-progress .72s linear;position:relative;overflow:visible}.system-button--primary:before{top:0;bottom:0;left:var(--primary-cta-progress);z-index:1;content:"";pointer-events:none;background:var(--cta-primary-scan);visibility:hidden;width:5px;opacity:calc(100% - var(--primary-cta-progress));position:absolute}.system-button--primary:after{z-index:0;content:"";pointer-events:none;background:var(--cta-primary-trail);filter:var(--cta-primary-trail-shadow);clip-path:inset(0 calc(100% - var(--primary-cta-progress)) 0 0);position:absolute;inset:0 0 -1px}.system-button--primary:focus-visible,.system-button--primary:active{--primary-cta-progress:100%;color:var(--cta-primary-hover-text);border-color:var(--cta-primary-hover-border)}.system-button--primary:focus-visible:before,.system-button--primary:active:before{visibility:visible}@media (hover:hover){.system-button--primary:hover{--primary-cta-progress:100%;color:var(--cta-primary-hover-text);border-color:var(--cta-primary-hover-border)}.system-button--primary:hover:before{visibility:visible}}:root[data-theme=light]{--cta-primary-text:#00577f;--cta-primary-surface:linear-gradient(90deg, #009bc91f, color-mix(in srgb, var(--surface-button) 84%, transparent) 38%);--cta-primary-border:#006f964d;--cta-primary-rail-idle:#009bc9a3;--cta-primary-rail-active:#009bc9;--cta-primary-progress-inset-shadow:inset 10px 0 24px color-mix(in srgb, #009bc91c var(--primary-cta-progress), transparent);--cta-primary-progress-glow-shadow:-2px 0 10px color-mix(in srgb, #0066cc1f var(--primary-cta-progress), transparent);--cta-primary-scan:linear-gradient(90deg, #009bc97a, #0066cc3d);--cta-primary-trail:linear-gradient(90deg, #009bc9, #007ebe85 52%, #0066cc29) bottom / 100% 1px no-repeat, linear-gradient(90deg, #009bc92b, #007ebe11 54%, #0066cc03);--cta-primary-trail-shadow:drop-shadow(0 1px 2px #0066cc4d);--cta-primary-hover-text:#02384f;--cta-primary-hover-border:#0066ccad}:root[data-theme-variant=ares]{--cta-edge-text:#fffffff5;--cta-edge-surface:#1e0308c2;--cta-edge-border:#ffffff6b;--cta-edge-shadow:none;--cta-edge-trace:#fff;--cta-edge-trace-shadow:0 0 9px #ffffffa8;--cta-edge-hover-text:#fff;--cta-edge-hover-surface:#2d040bd6;--cta-edge-hover-border:#ffffffdb;--cta-edge-hover-shadow:inset 0 0 18px #ffffff14, 0 0 12px #ffffff24;--cta-primary-text:#fffffff5;--cta-primary-surface:linear-gradient(90deg, #ffffff21, #1c0308e0 38%);--cta-primary-border:#ffffff75;--cta-primary-rail-idle:#ffffffa3;--cta-primary-rail-active:#fff;--cta-primary-progress-inset-shadow:inset 10px 0 24px color-mix(in srgb, #fff3 var(--primary-cta-progress), transparent);--cta-primary-progress-glow-shadow:-2px 0 11px color-mix(in srgb, #ffffff61 var(--primary-cta-progress), #ffffff29);--cta-primary-scan:linear-gradient(90deg, #fff, #ffffff80);--cta-primary-trail:linear-gradient(90deg, #fff, #ffffffb3 52%, #ffffff3d) bottom / 100% 1px no-repeat, linear-gradient(90deg, #ffffff38, #ffffff12 54%, #ffffff03);--cta-primary-trail-shadow:drop-shadow(0 1px 4px #ffffff75);--cta-primary-hover-text:#fff;--cta-primary-hover-border:#ffffffe6}:root[data-theme-variant=flynn]{--cta-edge-text:#fffffff5;--cta-edge-surface:#101d25eb;--cta-edge-border:#d5e7ecb8;--cta-edge-shadow:0 0 10px #aeefff2e;--cta-edge-trace:var(--flynn-white);--cta-edge-trace-shadow:0 0 5px var(--flynn-white), 0 0 14px #aeefffeb;--cta-edge-hover-text:var(--flynn-white);--cta-edge-hover-surface:var(--flynn-stone);--cta-edge-hover-border:#ffffffeb;--cta-edge-hover-shadow:inset 0 0 20px #ffffff24, 0 0 18px #ffffff7a;--cta-primary-text:#fffffff5;--cta-primary-surface:linear-gradient(90deg, #aeefff1f, #101d25f5 38%);--cta-primary-border:#d5e7ecbd;--cta-primary-rail-idle:#eafbffe0;--cta-primary-rail-active:var(--flynn-white);--cta-primary-progress-inset-shadow:inset 10px 0 24px color-mix(in srgb, #fff3 var(--primary-cta-progress), transparent);--cta-primary-progress-glow-shadow:-2px 0 13px color-mix(in srgb, #aeefffc7 var(--primary-cta-progress), #d5e7ec3d);--cta-primary-scan:var(--flynn-white);--cta-primary-trail:linear-gradient(90deg, #fff, #ffffffb8 52%, #ffffff42) bottom / 100% 1px no-repeat, linear-gradient(90deg, #ffffff3d, #ffffff14 54%, #ffffff03);--cta-primary-trail-shadow:drop-shadow(0 1px 6px #aeefffdb);--cta-primary-hover-text:var(--flynn-white);--cta-primary-hover-border:#fffffff0}.system-button:focus-visible,a:focus-visible,button:focus-visible{outline:var(--border-width-accent) solid var(--electric-hot);outline-offset:4px}.contact-modal__close:after,.contact-page__close:after,.navbar__links a:after,.navbar__toggle:after{z-index:0;content:"";pointer-events:none;border:var(--border-width) solid transparent;transition:border-color .22s;position:absolute;inset:4px}.page-shell{width:min(1180px,100% - 40px);margin:0 auto}.project-card{min-width:0;color:var(--ink);background:var(--surface-card);border:var(--border-width) solid var(--card-border);clip-path:polygon(0 0, calc(100% - var(--cut-card)) 0, 100% var(--cut-card), 100% 100%, var(--cut-card) 100%, 0 calc(100% - var(--cut-card)));text-decoration:none;transition:transform .18s,border-color .18s;position:relative;overflow:hidden}@media (hover:hover){.project-card:hover{border-color:var(--card-hover-border);transform:translateY(-6px)}.project-card:hover:before,.project-card:hover:after{background:var(--card-hover-border)}}.project-card:before,.project-card:after{content:"";width:calc(var(--cut-card) * 1.4143);height:var(--border-width);z-index:2;background:var(--card-border);transform-origin:0 0;pointer-events:none;transition:background-color .18s;position:absolute;transform:rotate(45deg)}.project-card:before{top:calc(-1 * var(--border-width));left:calc(100% + var(--border-width) - var(--cut-card))}.project-card:after{top:calc(100% + var(--border-width) - var(--cut-card));left:calc(-1 * var(--border-width));transform:rotate(45deg)translateY(-100%)}.project-card__image{aspect-ratio:16/10;border-bottom:var(--border-width) solid var(--card-border);position:relative;overflow:hidden}.project-card__image img{object-fit:cover;filter:saturate(.72)contrast(1.04);width:100%;height:100%;transition:filter .18s,transform .22s}@media (hover:hover){.project-card:hover .project-card__image img{filter:saturate()contrast(1.04);transform:scale(1.035)}}.project-card__body{padding:22px}.project-card__heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.project-card__body h2,.project-card__body h3{font-size:1.5rem;font-weight:var(--weight-display);letter-spacing:-.035em;margin:0}.project-card__body p{min-height:4.6em;color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0 18px;line-height:1.55;display:-webkit-box;overflow:hidden}.project-card__skills{color:var(--electric-hot);font-family:var(--font-interface);font-weight:var(--weight-interface);font-size:.75rem;line-height:1.5}.project-card__badge,.project__type{min-height:30px;font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.07em;text-transform:uppercase;background:var(--badge-surface);border:var(--border-width) solid var(--border);flex-shrink:0;justify-content:center;align-items:center;padding:7px 11px;font-size:.72rem;display:inline-flex}.project-card__badge--live,.project__type--live{color:var(--status-live);text-shadow:0 0 10px var(--status-live-glow);border-color:var(--status-live);box-shadow:0 0 10px var(--status-live-glow)}.project-card__badge--live.status-pulse,.project__type--live.status-pulse{--status-pulse-color:var(--status-live);--status-pulse-glow:var(--status-live-glow);animation:9.2s ease-in-out infinite status-text-pulse,9.2s ease-in-out infinite status-box-pulse}.project-card__badge--github,.project__type--github{color:var(--status-github);text-shadow:none;border-color:var(--status-github);box-shadow:none}.project-card__badge--archived,.project__type--archived{color:var(--status-archived-text);text-shadow:0 0 8px var(--status-archived-text-glow);border-color:var(--status-archived-border);box-shadow:0 0 8px var(--status-archived-box-glow)}.about__working-style ul,.project__stack ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.about__working-style li,.project__stack li{color:var(--tag-text);font-family:var(--font-interface);font-weight:var(--weight-interface);background:var(--electric-soft);border:var(--border-width) solid var(--border);padding:9px 12px;font-size:.76rem}.system-eyebrow{color:var(--system-eyebrow-color);font-family:var(--font-interface);font-size:.83rem;font-weight:var(--weight-interface);letter-spacing:.07em;text-shadow:var(--system-eyebrow-shadow);text-transform:uppercase;align-items:center;gap:10px;margin:0;display:flex}.system-eyebrow:before{content:"";background:currentColor;width:28px;height:1px;box-shadow:0 0 10px}.system-status{color:var(--status-positive);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 12px var(--status-positive-glow);align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.system-status:before{content:"";background:var(--status-positive);width:7px;height:7px;box-shadow:0 0 5px var(--status-positive), 0 0 14px var(--status-positive-glow);border-radius:50%}.status-pulse{--status-pulse-color:var(--status-positive);--status-pulse-glow:var(--status-positive-glow);color:var(--status-pulse-color);animation:9.2s ease-in-out infinite status-text-pulse}@keyframes status-text-pulse{0%,76.087%,to{text-shadow:0 0 2px var(--status-pulse-glow)}88.043%{text-shadow:0 0 1px var(--status-pulse-color), 0 0 7px var(--status-pulse-glow), 0 0 11px var(--status-pulse-glow)}}@keyframes status-box-pulse{0%,76.087%,to{box-shadow:0 0 10px var(--status-pulse-glow)}88.043%{box-shadow:0 0 2px var(--status-pulse-color), 0 0 14px var(--status-pulse-glow), 0 0 24px var(--status-pulse-glow)}}.social-link--linkedin{--social-color:var(--brand-linkedin);--social-glow:var(--brand-linkedin-glow)}.social-link--email{--social-color:var(--brand-email);--social-glow:var(--brand-email-glow)}.social-link--github{--social-color:var(--brand-github);--social-glow:var(--brand-github-glow)}.social-link__icon{flex:none;place-items:center;line-height:0;display:grid}.social-link svg{color:var(--social-color);display:block}@media (width<=600px){.page-shell{width:min(100% - 28px,1180px)}}.app-icon{fill:currentColor;-webkit-user-select:none;user-select:none;flex-shrink:0;width:1em;height:1em;font-size:1.5rem;display:inline-block}.navbar{--navbar-control-height:38px;--navbar-glass-background:var(--surface-navbar);--navbar-glass-filter:blur(5.6px);--navbar-collapse:0;--navbar-expanded-height:82px;z-index:20;height:calc(var(--navbar-expanded-height) + var(--border-width));pointer-events:none;position:sticky;top:0}.navbar__bar{background:var(--navbar-glass-background);border-bottom:var(--border-width) solid var(--border);-webkit-backdrop-filter:var(--navbar-glass-filter);backdrop-filter:var(--navbar-glass-filter);pointer-events:auto;position:relative}.navbar.is-rotating{visibility:hidden}.navbar__inner{width:min(1180px,100% - 40px);min-height:calc(var(--navbar-expanded-height) - (24px * var(--navbar-collapse)));grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:0 auto;display:grid}.navbar__menu{display:contents}.navbar__actions{z-index:1;backface-visibility:hidden;justify-self:end;align-items:center;gap:8px;display:flex;position:relative;transform:translateZ(0)}.navbar__brand{min-height:var(--navbar-control-height);color:var(--ink);justify-self:start;align-items:center;text-decoration:none;display:flex}.navbar__mark{width:58px;height:var(--navbar-control-height);isolation:isolate;transform:scale(calc(1 - (.18 * var(--navbar-collapse))));flex:none;place-items:center;display:grid;position:relative}.navbar__mark-art,.navbar__mark-glow,.navbar__mark-sheen{width:88px;height:88px;position:absolute}.navbar__mark-art,.navbar__mark-glow{object-fit:contain;display:block}:root{--navbar-mark-art-filter:drop-shadow(0 0 2px #21c7ff85);--navbar-mark-glow-filter:drop-shadow(0 0 5px #79e7ffe6) drop-shadow(0 0 13px #21c7ff94) drop-shadow(0 0 21px #0066ff3d);--navbar-mark-glow-opacity:.22;--navbar-mark-sheen-before-background:linear-gradient(90deg, transparent, #79e7ff80 34%, #fffffffa 52%, #21c7ff8c 68%, transparent);--navbar-mark-sheen-before-filter:blur(.35px) drop-shadow(0 0 5px #79e7ffd1)}.navbar__mark-art{filter:var(--navbar-mark-art-filter);z-index:1}.navbar__mark-glow{filter:var(--navbar-mark-glow-filter);opacity:var(--navbar-mark-glow-opacity);z-index:0;pointer-events:none;will-change:opacity;animation:4.8s ease-in-out infinite navbar-mark-pulse}.navbar__mark-sheen{z-index:2;opacity:0;pointer-events:none;-webkit-mask:var(--navbar-mark-mask) center / contain no-repeat;-webkit-mask:var(--navbar-mark-mask) center / contain no-repeat;mask:var(--navbar-mark-mask) center / contain no-repeat;overflow:hidden}.navbar__mark-sheen:before{background:var(--navbar-mark-sheen-before-background);filter:var(--navbar-mark-sheen-before-filter);content:"";width:28%;position:absolute;inset:-18% auto -18% -28%;transform:translate(-150%)skew(-16deg)}.navbar__season-emblem{z-index:4;pointer-events:none;opacity:1;width:25px;height:25px;filter:drop-shadow(0 0 3px var(--season-symbol-glow)) drop-shadow(0 0 8px color-mix(in srgb, var(--season-symbol-glow) 48%, transparent));transform:var(--season-symbol-transform,none);transform-origin:50%;position:absolute;top:-7px;right:-8px;overflow:visible}.seasonal-logo-emblem__primary,.seasonal-logo-emblem__secondary,.seasonal-logo-emblem__cutout{stroke:var(--season-symbol-edge);stroke-width:.65px;stroke-linejoin:round}.seasonal-logo-emblem__primary{fill:var(--season-symbol-primary)}.seasonal-logo-emblem__secondary{fill:var(--season-symbol-secondary)}.seasonal-logo-emblem__cutout{fill:var(--season-symbol-cutout);stroke-width:0}.navbar__brand:focus-visible .navbar__mark-glow{opacity:.32;animation-play-state:paused}.navbar__brand:focus-visible .navbar__mark-sheen{opacity:1}.navbar__brand:focus-visible .navbar__mark-sheen:before{animation:.78s cubic-bezier(.2,.72,.2,1) both navbar-mark-sheen}@keyframes navbar-mark-pulse{0%,62%,to{opacity:.22}76%{opacity:.68}88%{opacity:.28}}@keyframes navbar-mark-sheen{0%{transform:translate(-150%)skew(-16deg)}to{transform:translate(560%)skew(-16deg)}}.navbar__links{justify-self:center;align-items:center;gap:5px;display:flex}.navbar__links a{--navbar-holo-line:color-mix(in srgb, var(--electric-hot) 6%, transparent);isolation:isolate;color:var(--navbar-link-color);font-family:var(--font-interface);font-weight:var(--weight-strong);letter-spacing:.06em;text-transform:uppercase;background-color:#0000;background-image:linear-gradient(180deg, var(--navbar-holo-line) 0 1px, transparent 1px 5px);border:var(--border-width) solid var(--navbar-link-border);background-position:0 0;background-repeat:repeat-y;background-size:100% 5px;background-clip:padding-box;justify-content:center;align-items:center;padding-inline:11px;font-size:.8rem;text-decoration:none;transition:color .22s,background-color .22s,background-position .62s steps(15,end),border-color .22s,box-shadow .22s,text-shadow .22s,transform .22s;display:inline-flex;position:relative;overflow:hidden}.navbar__theme{isolation:isolate;color:var(--muted);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(90deg, color-mix(in srgb, var(--theme-control-violet) 9%, transparent), color-mix(in srgb, var(--theme-control-cyan) 8%, transparent));border:var(--border-width) solid transparent;border-image:linear-gradient(90deg, color-mix(in srgb, var(--theme-control-edge-violet) 58%, transparent), color-mix(in srgb, var(--theme-control-edge-cyan) 52%, transparent)) 1;cursor:pointer;will-change:transform;justify-content:center;align-items:center;padding-inline:9px;font-size:.74rem;transition:color .22s,box-shadow .22s,text-shadow .22s,transform .22s;display:inline-flex;position:relative;overflow:hidden}.navbar__theme:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--theme-control-violet) 22%, transparent), color-mix(in srgb, var(--theme-control-cyan) 18%, transparent));opacity:0;transition:opacity .26s,transform .46s;position:absolute;inset:0;transform:scaleX(.12)}.navbar__theme span{z-index:1;color:var(--theme-control-text);text-shadow:0 0 7px color-mix(in srgb, var(--theme-control-violet) 30%, transparent), 0 0 9px color-mix(in srgb, var(--theme-control-cyan) 20%, transparent);place-items:center;font-size:1.22rem;line-height:0;display:grid;position:relative}.navbar__theme span svg{fill:currentColor;width:1.25rem;height:1.25rem;display:block}.navbar__theme--exit{min-width:118px;font-size:.8rem;font-weight:var(--weight-strong);padding-inline:14px}.navbar__theme--exit span{font-size:inherit;letter-spacing:inherit;white-space:nowrap;line-height:normal}@media (width>=761px){:root[data-theme-variant=ares] .navbar__theme--exit,:root[data-theme-variant=flynn] .navbar__theme--exit{width:auto;min-width:0;padding-inline:11px}}.navbar__theme:focus-visible,.navbar__theme:active{border-image-source:linear-gradient(90deg, var(--theme-control-edge-violet), var(--theme-control-edge-cyan));box-shadow:0 0 16px color-mix(in srgb, var(--theme-control-shadow-violet) 18%, transparent), 0 0 13px color-mix(in srgb, var(--theme-control-shadow-cyan) 10%, transparent)}.navbar__theme:focus-visible:before,.navbar__theme:active:before{opacity:1;transform:scaleX(1)}.navbar__theme:focus-visible span,.navbar__theme:active span{color:var(--theme-control-hover-text);text-shadow:0 0 8px color-mix(in srgb, var(--theme-control-edge-violet) 55%, transparent), 0 0 11px color-mix(in srgb, var(--theme-control-edge-cyan) 35%, transparent)}:root[data-theme=light] .navbar__theme{background:linear-gradient(90deg, color-mix(in srgb, var(--theme-control-violet) 9%, transparent), color-mix(in srgb, var(--theme-control-cyan) 9%, transparent));border-image-source:linear-gradient(90deg, color-mix(in srgb, var(--theme-control-violet) 50%, transparent), color-mix(in srgb, var(--theme-control-cyan) 50%, transparent))}:root[data-theme=light] .navbar__theme:before{background:linear-gradient(90deg, color-mix(in srgb, var(--theme-control-violet) 14%, transparent), color-mix(in srgb, var(--theme-control-cyan) 14%, transparent))}:root[data-theme=light] .navbar__theme span{color:var(--theme-control-text);text-shadow:0 0 6px color-mix(in srgb, var(--theme-control-violet) 16%, transparent), 0 0 8px color-mix(in srgb, var(--theme-control-cyan) 12%, transparent)}:root[data-theme=light] .navbar__theme:focus-visible,:root[data-theme=light] .navbar__theme:active{border-image-source:linear-gradient(90deg, var(--theme-control-edge-violet), var(--theme-control-edge-cyan));box-shadow:0 0 12px color-mix(in srgb, var(--theme-control-shadow-violet) 12%, transparent), 0 0 10px color-mix(in srgb, var(--theme-control-shadow-cyan) 9%, transparent)}:root[data-theme=light] .navbar__theme:focus-visible span,:root[data-theme=light] .navbar__theme:active span{color:var(--theme-control-hover-text);text-shadow:0 0 6px color-mix(in srgb, var(--theme-control-edge-violet) 20%, transparent), 0 0 8px color-mix(in srgb, var(--theme-control-edge-cyan) 14%, transparent)}.navbar__links a:focus-visible,.navbar__links a:active,.navbar__links a.active,.navbar__links a[aria-current=page]{color:var(--navbar-link-active-color);background-color:var(--navbar-link-active-surface);border-color:var(--navbar-link-active-border);box-shadow:var(--navbar-link-active-shadow);text-shadow:var(--navbar-link-active-text-shadow);background-position:0 15px;transform:translateY(-1px)}.navbar__links a:focus-visible:after,.navbar__links a:active:after,.navbar__links a.active:after,.navbar__links a[aria-current=page]:after{border-color:var(--border)}.navbar__links a,.navbar__theme{min-height:var(--navbar-control-height);padding-block:8px}.navbar__signal:focus-visible,.navbar__signal:active{transform:none}:root[data-theme-variant=ares]{--navbar-mark-glow-filter:drop-shadow(0 0 5px #ff5264) drop-shadow(0 0 13px #ff1744d1) drop-shadow(0 0 25px #be00239e);--navbar-mark-glow-opacity:.3;--navbar-mark-art-filter:drop-shadow(0 0 3px #ff5264e0) drop-shadow(0 0 8px #ff17447a);--navbar-mark-sheen-before-background:linear-gradient(90deg, transparent, #ff3b3b8a 34%, #fff 52%, #d6000094 68%, transparent);--navbar-mark-sheen-before-filter:blur(.35px) drop-shadow(0 0 5px #ff3b3bd1)}:root[data-theme-variant=flynn]{--navbar-mark-glow-filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 14px #eafbfff5) drop-shadow(0 0 28px #aeefffb8);--navbar-mark-glow-opacity:.38;--navbar-mark-art-filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #aeefffb8);--navbar-mark-sheen-before-background:linear-gradient(90deg, transparent, #aeefffc7 34%, #fff 52%, #eafbffd1 68%, transparent);--navbar-mark-sheen-before-filter:blur(.35px) drop-shadow(0 0 7px var(--flynn-halo))}.navbar__toggle{--navbar-holo-line:color-mix(in srgb, var(--electric-hot) 6%, transparent);isolation:isolate;background-color:var(--electric-soft);background-image:linear-gradient(180deg, var(--navbar-holo-line) 0 1px, transparent 1px 5px);border:var(--border-width) solid var(--border);cursor:pointer;background-position:0 0;background-repeat:repeat-y;background-size:100% 5px;background-clip:padding-box;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;transition:background-color .22s,background-position .62s steps(15,end),border-color .22s,box-shadow .22s,transform .22s;display:none;position:relative;overflow:hidden}.navbar__toggle:focus-visible,.navbar__toggle:active,.navbar__toggle[aria-expanded=true]{border-color:var(--navbar-toggle-active-border);box-shadow:var(--navbar-link-active-shadow);background-position:0 15px;transform:translateY(-1px)}.navbar__toggle:focus-visible:after,.navbar__toggle:active:after,.navbar__toggle[aria-expanded=true]:after{border-color:var(--border)}.navbar__toggle span{z-index:1;background:var(--navbar-toggle-bar);width:20px;height:1px;transition:transform .22s,opacity .16s;display:block;position:relative}.navbar__toggle[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.navbar__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.navbar__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (width<=760px){.navbar{--navbar-expanded-height:72px}.navbar__bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.navbar__bar:before{z-index:-1;content:"";pointer-events:none;background:var(--navbar-glass-background);-webkit-backdrop-filter:var(--navbar-glass-filter);backdrop-filter:var(--navbar-glass-filter);position:absolute;inset:0}.navbar__inner{width:min(100% - 28px,1180px);min-height:calc(var(--navbar-expanded-height) - (16px * var(--navbar-collapse)));justify-content:space-between;display:flex;position:relative}.navbar__toggle{display:flex}.navbar__brand{min-height:44px}.navbar__mark{width:52px;height:34px}.navbar__mark-art,.navbar__mark-glow,.navbar__mark-sheen{width:79px;height:79px}.navbar__menu{--navbar-menu-control-width:calc(clamp(180px, 62vw, 230px) * .7 * .8);background:var(--navbar-glass-background);-webkit-backdrop-filter:var(--navbar-glass-filter);backdrop-filter:var(--navbar-glass-filter);border:var(--border-width) solid var(--border);box-shadow:0 20px 50px var(--floating-shadow);border-top:0;padding:18px 14px 20px;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.navbar__menu--open{justify-items:center;gap:10px;display:grid}.navbar__links,.navbar__actions{justify-self:center;justify-items:center;gap:10px;width:100%;display:grid}.navbar__links a,.navbar__theme,.navbar__signal{width:var(--navbar-menu-control-width);text-align:center;background-color:var(--void);justify-content:center;justify-self:center;align-items:center;height:auto;min-height:54px;padding:15px 18px;font-size:.93rem}.navbar__theme span svg{width:1.5rem;height:1.5rem}.navbar__theme--exit span{font-size:inherit;font-weight:inherit}}@media (hover:hover){.navbar__brand:hover .navbar__mark-glow{opacity:.32;animation-play-state:paused}.navbar__brand:hover .navbar__mark-sheen{opacity:1}.navbar__brand:hover .navbar__mark-sheen:before{animation:.78s cubic-bezier(.2,.72,.2,1) both navbar-mark-sheen}.navbar__theme:hover{border-image-source:linear-gradient(90deg, var(--theme-control-edge-violet), var(--theme-control-edge-cyan));box-shadow:0 0 16px color-mix(in srgb, var(--theme-control-shadow-violet) 18%, transparent), 0 0 13px color-mix(in srgb, var(--theme-control-shadow-cyan) 10%, transparent)}.navbar__theme:hover:before{opacity:1;transform:scaleX(1)}.navbar__theme:hover span{color:var(--theme-control-hover-text);text-shadow:0 0 8px color-mix(in srgb, var(--theme-control-edge-violet) 55%, transparent), 0 0 11px color-mix(in srgb, var(--theme-control-edge-cyan) 35%, transparent)}:root[data-theme=light] .navbar__theme:hover{border-image-source:linear-gradient(90deg, var(--theme-control-edge-violet), var(--theme-control-edge-cyan));box-shadow:0 0 12px color-mix(in srgb, var(--theme-control-shadow-violet) 12%, transparent), 0 0 10px color-mix(in srgb, var(--theme-control-shadow-cyan) 9%, transparent)}:root[data-theme=light] .navbar__theme:hover span{color:var(--theme-control-hover-text);text-shadow:0 0 6px color-mix(in srgb, var(--theme-control-edge-violet) 20%, transparent), 0 0 8px color-mix(in srgb, var(--theme-control-edge-cyan) 14%, transparent)}.navbar__links a:hover{color:var(--navbar-link-active-color);background-color:var(--navbar-link-active-surface);border-color:var(--navbar-link-active-border);box-shadow:var(--navbar-link-active-shadow);text-shadow:var(--navbar-link-active-text-shadow);background-position:0 15px;transform:translateY(-1px)}.navbar__links a:hover:after{border-color:var(--border)}.navbar__signal:hover{transform:none}.navbar__toggle:hover{border-color:var(--electric);box-shadow:inset 0 0 20px var(--electric-soft);background-position:0 15px;transform:translateY(-1px)}.navbar__toggle:hover:after{border-color:var(--border)}}.footer{background:var(--surface-footer);border-top:var(--border-width) solid var(--border);-webkit-backdrop-filter:blur(1.6px);backdrop-filter:blur(1.6px);flex-shrink:0;margin-top:auto;padding:20px max(20px,50% - 590px) 12px;position:relative}.footer__inner{align-items:stretch;gap:28px;display:flex}.footer__message{flex-direction:column;flex:1.35 280px;min-width:0;display:flex}.footer__message h2{max-width:650px;color:var(--ink);font-size:clamp(1.8rem,3.6vw,3.2rem);font-weight:var(--weight-display);letter-spacing:-.055em;margin:0 0 12px;line-height:.95}.footer .system-button{align-self:flex-start}.footer .system-button:hover,.footer .system-button:active,.footer .system-button:focus-visible{transform:none}.footer__links{flex-direction:column;flex:.65 220px;justify-content:center;min-width:0;display:flex}.footer__links .social-link{min-height:38px;color:var(--muted);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;text-align:left;border:0;border-left:var(--border-width-accent) solid transparent;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:8px 16px;font-size:.85rem;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s;display:flex;position:relative}.footer__links .social-link:after{content:"";pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--social-color) 70%, white 30%), color-mix(in srgb, var(--social-color) 10%, transparent));opacity:0;height:1px;transition:opacity .15s;position:absolute;bottom:0;left:0;right:0}.footer__links .social-link:focus-visible,.footer__links .social-link:active{color:var(--social-color);border-left-color:color-mix(in srgb, var(--social-color) 70%, white 30%);background:linear-gradient(90deg, var(--social-glow), transparent)}.footer__links .social-link:focus-visible:after,.footer__links .social-link:active:after{opacity:1}@media (hover:hover){.footer__links .social-link:hover{color:var(--social-color);border-left-color:color-mix(in srgb, var(--social-color) 70%, white 30%);background:linear-gradient(90deg, var(--social-glow), transparent)}.footer__links .social-link:hover:after{opacity:1}}.footer__links svg{flex-shrink:0;width:24px;height:24px;display:block}.footer__links .social-link__icon{contain:paint;width:24px;height:24px;transform:translateZ(0)}.footer__links .social-link>span:not(.social-link__icon){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.footer__baseline{color:var(--muted);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:18px;margin-top:auto;padding-top:16px;font-size:.71rem;display:flex}@media (width<=700px){.footer{padding-top:24px}.footer__inner{flex-direction:column-reverse;gap:20px}.footer__message,.footer__links{flex:auto}.footer__baseline{white-space:nowrap;flex-direction:row;align-items:center;gap:8px;margin-top:20px;font-size:clamp(.59rem,2.18vw,.71rem)}}.hero-status-preview{width:min(100%,760px)}.hero-signal-preview__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.hero-status-preview{margin-top:clamp(22px,3vw,34px)}.hero-status-preview__lines{background:0 0;min-height:7.35rem;position:relative;overflow:hidden}.hero-status-preview__track{grid-template-rows:repeat(4,1fr);width:100%;height:133.333%;display:grid;position:absolute;inset:0 0 auto;transform:translate(0,0)}.hero-status-preview__track.is-advancing{transition:transform .48s cubic-bezier(.33,1,.68,1);transform:translateY(-25%)}.hero-status-preview__line{min-width:0;color:var(--muted);font-family:var(--font-interface);font-size:clamp(.78rem,1.5vw,.94rem);font-weight:var(--weight-interface);letter-spacing:.055em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;opacity:.42;align-items:center;gap:12px;padding:8px 16px;line-height:1.15;transition:color .22s,opacity .22s,text-shadow .22s;display:flex;position:relative;overflow:hidden}.hero-status-preview__line.is-priming{visibility:hidden}.hero-status-preview__line.is-active{color:var(--system-eyebrow-color);opacity:1;text-shadow:var(--system-eyebrow-shadow)}.hero-status-preview__marker{color:currentColor;flex:0 0 3.2ch;font-size:.82em}.hero-status-preview__message{align-items:center;min-width:0;display:inline-flex}.hero-status-preview--home .hero-status-preview__line.is-active:not(.is-settled){color:var(--muted);text-shadow:none;opacity:.42}.hero-status-preview--home .hero-status-preview__line.is-pending,.hero-status-preview--home .hero-status-preview__line.is-pending.is-active{opacity:0}.hero-status-preview__caret{background:var(--system-eyebrow-color);width:2px;height:.92em;box-shadow:var(--system-eyebrow-shadow);margin-left:.28em;animation:.72s step-end infinite hero-status-caret}.hero-status-preview--projects .hero-status-preview__line.is-active{background:linear-gradient(var(--system-eyebrow-color), var(--system-eyebrow-color)) left 6px top 4px / 10px 1px no-repeat, linear-gradient(var(--system-eyebrow-color), var(--system-eyebrow-color)) left 6px top 4px / 1px 8px no-repeat, linear-gradient(var(--system-eyebrow-color), var(--system-eyebrow-color)) right 6px bottom 4px / 10px 1px no-repeat, linear-gradient(var(--system-eyebrow-color), var(--system-eyebrow-color)) right 6px bottom 4px / 1px 8px no-repeat}.hero-status-preview--projects .hero-status-preview__marker{text-align:right;margin-left:auto}.hero-status-preview__progress{background:color-mix(in srgb, var(--section-rail-base) 36%, transparent);height:1px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.hero-status-preview__progress:after{width:var(--status-progress);content:"";background:var(--system-eyebrow-color);height:100%;box-shadow:var(--system-eyebrow-shadow);transition:width .36s;display:block}.hero-status-preview--about{--about-check-delay:.16s}.hero-status-preview--about .hero-status-preview__line.is-active{color:var(--muted);text-shadow:none;opacity:.42}.hero-status-preview--about .hero-status-preview__line.is-settled{animation:hero-status-trait-in .18s ease-out var(--about-check-delay) forwards}.hero-status-preview--about .hero-status-preview__marker{border:1px solid;flex-basis:1.15em;place-items:center;width:1.15em;height:1.15em;font-size:.72em;line-height:1;transition:background-color .22s,box-shadow .22s;display:grid}.hero-status-preview--about .hero-status-preview__line.is-settled .hero-status-preview__marker{box-shadow:none;animation:hero-status-check-frame-in .18s ease-out var(--about-check-delay) forwards;background:0 0}.hero-status-preview--about .hero-status-preview__line.is-settled .hero-status-preview__marker-symbol:not(:empty){opacity:0;animation:hero-status-check-in .18s ease-out var(--about-check-delay) forwards;transform:scale(.7)}@keyframes hero-status-trait-in{to{color:var(--system-eyebrow-color);text-shadow:var(--system-eyebrow-shadow);opacity:1}}@keyframes hero-status-check-frame-in{to{background:color-mix(in srgb, var(--system-eyebrow-color) 12%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--system-eyebrow-color) 42%, transparent)}}@keyframes hero-status-check-in{to{opacity:1;transform:scale(1)}}@keyframes hero-status-caret{50%{opacity:0}}@media (width<=599px){.hero-status-preview{width:100%}.hero-status-preview__lines{min-height:6.45rem}.hero-status-preview__line{padding:7px 12px;font-size:clamp(.68rem,3.1vw,.8rem)}}@media (prefers-reduced-motion:reduce){.hero-status-preview__line,.hero-status-preview__track.is-advancing{transition:none}.hero-status-preview__caret{animation:none}.hero-status-preview__progress:after{transition:none}.hero-status-preview--about .hero-status-preview__line.is-settled .hero-status-preview__marker-symbol:not(:empty){opacity:1;animation:none;transform:none}.hero-status-preview--about .hero-status-preview__line.is-settled{color:var(--system-eyebrow-color);text-shadow:var(--system-eyebrow-shadow);opacity:1;animation:none}.hero-status-preview--about .hero-status-preview__line.is-settled .hero-status-preview__marker{background:color-mix(in srgb, var(--system-eyebrow-color) 12%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--system-eyebrow-color) 42%, transparent);animation:none}}.page-hero{--hero-row-gap:clamp(12px, 2vw, 22px);row-gap:var(--hero-row-gap);grid-template-columns:minmax(0,1fr);grid-template-areas:"copy""intro""lower";align-content:start;align-items:start;min-height:0;padding-top:clamp(38px,5vw,60px);padding-bottom:clamp(40px,5vw,60px);display:grid;position:relative}.page-hero__copy{z-index:2;grid-area:copy;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-self:center;align-items:start;column-gap:clamp(24px,4vw,56px);width:100%;min-width:0;display:grid;position:relative}.page-hero__identity{--hero-title-shift-x:0px;--hero-title-shift-y:0px;--hero-title-rotate-x:0deg;--hero-title-rotate-y:0deg;min-width:0}.page-hero__identity h1{transform:translate3d(var(--hero-title-shift-x), var(--hero-title-shift-y), 0) rotateX(var(--hero-title-rotate-x)) rotateY(var(--hero-title-rotate-y));transform-style:preserve-3d;transform-origin:50%;will-change:transform;margin:calc(29px - .066em) 0 0;line-height:.84}.page-hero__copy .hero-status-preview{width:100%;margin-top:0}@media (width>=801px){.page-hero__copy .hero-status-preview{padding-top:23px}}.page-hero__lower{z-index:2;grid-area:lower;min-width:0;position:relative}.page-hero__intro-frame{grid-area:intro;width:100%;min-width:0}.page-hero__intro{max-width:650px;color:var(--muted);margin:32px 0 0;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65;position:relative}.page-hero--home .page-hero__intro{width:100%;max-width:none;margin:0}.page-hero__intro-reserve{visibility:hidden}.page-hero__intro-typed{position:absolute;inset:0}.page-hero--about,.page-hero--projects{border-bottom:var(--border-width) solid var(--section-rail-base)}.page-hero--about:after,.page-hero--projects:after{width:var(--accent-rail-first);content:"";background:var(--section-rail);height:2px;box-shadow:var(--section-rail-shadow);position:absolute;bottom:-1px;left:0}.page-hero--about h1,.page-hero--projects h1{color:var(--ink);font-weight:var(--weight-display);letter-spacing:-.07em;text-transform:uppercase}:root{--hero-title-theme-accent:var(--system-eyebrow-color)}.hero-title-layer{--hero-title-accent:var(--hero-title-theme-accent);--hero-extrusion-color:color-mix(in srgb, var(--hero-title-accent) 64%, var(--void));transform-style:preserve-3d;display:block;position:relative;transform:translateZ(26px)}.hero-title-face{z-index:2;backface-visibility:hidden;display:block;position:relative;transform:translateZ(.5px)}.hero-title-extrusion,.hero-title-extrusion__slice{pointer-events:none;transform-style:preserve-3d;position:absolute;inset:0}.hero-title-extrusion{z-index:0}.hero-title-extrusion__slice{color:color-mix(in srgb, var(--hero-extrusion-color) var(--hero-extrusion-tone), var(--void));backface-visibility:hidden;transform:translateZ(var(--hero-extrusion-z));display:block}.hero-title-layer--outline{color:inherit}.hero-title-layer--outline .hero-title-face{color:#0000;-webkit-text-stroke:clamp(1.25px, .018em, 2px) var(--hero-title-accent);filter:drop-shadow(0 0 .08em color-mix(in srgb, var(--hero-title-accent) 72%, transparent)) drop-shadow(0 0 .24em color-mix(in srgb, var(--hero-title-accent) 34%, transparent))}.hero-title-layer--outline .hero-title-extrusion__slice{color:#0000;-webkit-text-stroke:clamp(1.25px, .018em, 2px) color-mix(in srgb, var(--hero-title-accent) 68%, var(--void))}:root[data-theme=light] .hero-title-layer{--hero-extrusion-color:color-mix(in srgb, var(--hero-title-accent) 82%, var(--void))}.about__status,.projects__status{color:var(--muted);font-family:var(--font-interface);font-size:.74rem;font-weight:var(--weight-interface);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:0;display:flex}.page-hero__cursor{vertical-align:-.14em;background:#ffb000;width:2px;height:1.05em;margin-left:4px;animation:.68s step-end infinite page-hero-typing-cursor;display:inline-block;box-shadow:0 0 12px #ffb000b8}@keyframes page-hero-typing-cursor{50%{opacity:0}}@media (width<=820px){.page-hero{--hero-row-gap:clamp(20px, 5vw, 34px);padding-top:clamp(40px,9vw,58px);padding-bottom:52px}.page-hero__intro{width:100%;max-width:none}}@media (width<=800px){.page-hero__copy{grid-template-columns:minmax(0,1fr);row-gap:clamp(20px,5vw,28px)}.page-hero--home{grid-template-areas:"identity""intro""status""lower"}.page-hero--home .page-hero__copy{display:contents}.page-hero--home .page-hero__identity{z-index:2;grid-area:identity;position:relative}.page-hero--home .hero-status-preview{z-index:2;grid-area:status;position:relative}.page-hero__copy .hero-status-preview{margin-top:0}}@media (width<=599px){.page-hero{--hero-row-gap:clamp(20px, 5vw, 28px)}.page-hero__intro{margin-top:24px;font-size:clamp(.92rem,3.5vw,1.08rem);line-height:1.55}}@media (width<=430px){.page-hero__intro{margin-top:20px;font-size:clamp(.82rem,3.8vw,.96rem);line-height:1.5}}@media (width<=480px){.about__status,.projects__status{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.page-hero__identity h1{will-change:auto;transform:none}.hero-title-layer{transform:none}}:root{--contact-scrim-glow:#21c7ff17;--contact-scrim-base:#01071194;--contact-modal-edge-tint:var(--contact-edge-color);--contact-modal-edge-strength:45%;--contact-modal-edge-glow:color-mix(in srgb, var(--contact-modal-edge-tint) var(--contact-modal-edge-strength), transparent);--contact-modal-edge-spill:34px;--contact-modal-panel-box-shadow:0 28px 80px #00000075, 0 0 42px #21c7ff1a,  0 0 18px #21c7ff29,  inset 16px 0 var(--contact-modal-edge-spill) -12px var(--contact-modal-edge-glow), -5px 0 20px -4px var(--contact-modal-edge-glow)}.contact-modal__scrim{background:radial-gradient(circle at 50% 45%, var(--contact-scrim-glow), transparent 45%), var(--contact-scrim-base);top:var(--contact-overlay-top,0);left:var(--contact-overlay-left,0);z-index:1000;width:var(--contact-overlay-width,100vw);height:var(--contact-overlay-height,100dvh);-webkit-backdrop-filter:blur(7px);clip-path:var(--contact-hole-shape-overlay,none);pointer-events:none;animation:.18s ease-out both contact-backdrop-in;position:absolute}.contact-modal{top:var(--contact-overlay-top,0);left:var(--contact-overlay-left,0);z-index:1002;width:var(--contact-overlay-width,100vw);height:var(--contact-overlay-height,100dvh);place-items:center;padding:clamp(18px,4vw,48px);display:grid;position:absolute;overflow:clip}@media not all and (width>=320px){.contact-modal{padding:0;overflow:auto}.contact-modal__panel{min-width:var(--min-layout-width)}}.contact-modal__panel{box-shadow:var(--contact-modal-panel-box-shadow);isolation:isolate;width:min(650px,100%);min-height:0;max-height:100%;color:var(--ink);border:var(--border-width) solid var(--border);border-left:var(--border-width-panel) solid var(--contact-edge-color);clip-path:none;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);background:0 0;flex-direction:column;padding:clamp(28px,4.5vw,46px);animation:.28s cubic-bezier(.2,.75,.25,1) both contact-panel-in;display:flex;position:relative;overflow:hidden auto}:root[data-theme=light]{--contact-modal-edge-strength:30%;--contact-modal-edge-spill:26px}.contact-modal__close{--navbar-holo-line:color-mix(in srgb, var(--electric-hot) 6%, transparent);z-index:3;isolation:isolate;background-color:var(--electric-soft);background-image:linear-gradient(180deg, var(--navbar-holo-line) 0 1px, transparent 1px 5px);border:var(--border-width) solid var(--border);cursor:pointer;background-position:0 0;background-repeat:repeat-y;background-size:100% 5px;background-clip:padding-box;place-items:center;width:42px;height:42px;padding:0;transition:background-color .22s,background-position .62s steps(15,end),border-color .22s,box-shadow .22s,transform .22s;display:grid;position:absolute;top:18px;right:18px;overflow:hidden}.contact-modal__close span{z-index:1;background:var(--electric-hot);grid-area:1/1;width:20px;height:1px;transition:background .22s}.contact-modal__close span:first-child{transform:rotate(45deg)}.contact-modal__close span:last-child{transform:rotate(-45deg)}.contact-modal__close:focus-visible,.contact-modal__close:active{border-color:var(--status-error);box-shadow:inset 0 0 20px color-mix(in srgb, var(--status-error) 20%, transparent);background-position:0 15px;transform:translateY(-1px)}.contact-modal__close:focus-visible:after,.contact-modal__close:active:after{border-color:color-mix(in srgb, var(--status-error) 45%, transparent)}.contact-modal__close:focus-visible span,.contact-modal__close:active span{background:var(--status-error)}@media (hover:hover){.contact-modal__close:hover{border-color:var(--status-error);box-shadow:inset 0 0 20px color-mix(in srgb, var(--status-error) 20%, transparent);background-position:0 15px;transform:translateY(-1px)}.contact-modal__close:hover:after{border-color:color-mix(in srgb, var(--status-error) 45%, transparent)}.contact-modal__close:hover span{background:var(--status-error)}}.contact-modal__close:disabled{cursor:wait;opacity:.42}.contact-modal__header{padding-right:52px}.contact-modal__eyebrow{color:var(--system-eyebrow-color);font-family:var(--font-interface);font-size:.78rem;font-weight:var(--weight-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.contact-modal__header h2,.contact-modal__result h2{max-width:520px;color:var(--ink);font-size:clamp(2rem,min(5.5vw,8dvh),3.3rem);font-weight:var(--weight-display);letter-spacing:-.055em;margin:0;line-height:.98}.contact-modal__result>p:not(.contact-modal__eyebrow){max-width:500px;color:var(--muted);margin:15px 0 0;font-size:.98rem;line-height:1.55}.contact-modal__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:min(18px,3dvh);margin-top:min(28px,4.5dvh);display:grid}.contact-modal__field{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.contact-modal__field--wide,.contact-modal__error,.contact-modal__actions{grid-column:1/-1}.contact-modal__field label{color:var(--system-eyebrow-color);font-family:var(--font-interface);font-size:.74rem;font-weight:var(--weight-strong);letter-spacing:.07em;text-transform:uppercase}.contact-modal__field input,.contact-modal__field textarea{width:100%;color:var(--ink);font:var(--weight-body) 1rem/1.45 var(--font-body);background:var(--surface-control);border:var(--border-width) solid var(--border);border-radius:0;outline:none;transition:border-color .16s,background .16s,box-shadow .16s}.contact-modal__field input{min-height:46px;padding:10px 13px}.contact-modal__field textarea{resize:vertical;min-height:126px;padding:12px 13px 28px}.contact-modal__field input:focus,.contact-modal__field textarea:focus{border-color:var(--field-focus-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--field-focus-color) 18%, transparent)}:is(.contact-modal__field input:user-invalid,.contact-modal__field textarea:user-invalid){background:color-mix(in srgb, var(--surface-control) 92%, var(--status-error) 8%);border-color:var(--status-error);box-shadow:inset var(--border-width-accent) 0 0 var(--status-error), 0 0 12px color-mix(in srgb, var(--status-error) 14%, transparent)}.contact-modal__counter{color:var(--muted);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;font-size:.63rem;position:absolute;bottom:8px;right:11px}.contact-modal__honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-modal__error{color:var(--status-error);font-family:var(--font-interface);font-weight:var(--weight-interface);background:color-mix(in srgb, var(--status-error) 8%, transparent);border-left:var(--border-width-accent) solid var(--status-error);justify-content:space-between;align-items:center;gap:16px;padding:11px 13px;font-size:.76rem;line-height:1.5;display:flex}.contact-modal__actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:20px;padding-top:2px;display:flex}.contact-modal__submit{min-width:170px}.contact-modal__submit:disabled{cursor:wait;opacity:.68}.contact-modal__result{flex-direction:column;justify-content:center;align-items:flex-start;min-height:390px;padding-right:46px;display:flex}.contact-modal__result .system-button{margin-top:28px}:root[data-theme-variant=ares]{--contact-scrim-glow:#d600001a;--contact-scrim-base:#1001049e;--contact-modal-edge-strength:58%;--contact-modal-panel-box-shadow:0 28px 80px #00000085, 0 0 42px #d600001f, 0 0 18px #d600002e, inset 16px 0 var(--contact-modal-edge-spill) -12px var(--contact-modal-edge-glow), -5px 0 20px -4px var(--contact-modal-edge-glow)}:root[data-theme-variant=flynn]{--contact-scrim-glow:#aeefff24;--contact-scrim-base:#101d259e;--contact-modal-edge-tint:var(--flynn-halo);--contact-modal-edge-strength:82%;--contact-modal-panel-box-shadow:0 28px 80px #0006, 0 0 44px #aeefff57, 0 0 20px #eafbff7a, inset 16px 0 var(--contact-modal-edge-spill) -12px var(--contact-modal-edge-glow), -5px 0 20px -4px var(--contact-modal-edge-glow)}.contact-modal__transmission{width:84px;height:52px;margin-bottom:25px;position:relative}.contact-modal__transmission span{background:var(--status-positive);height:2px;box-shadow:0 0 8px var(--status-positive), 0 0 18px var(--status-positive-glow);display:block;position:absolute;top:50%;left:0}.contact-modal__transmission span:first-child{width:62px}.contact-modal__transmission span:nth-child(2){width:2px;height:26px;left:61px;transform:translateY(-24px)}.contact-modal__transmission span:nth-child(3){border-radius:50%;width:12px;height:12px;top:0;left:61px;transform:translate(-5px,-5px)}@keyframes contact-backdrop-in{0%{opacity:0}}@keyframes contact-panel-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}@media (height<=650px){.contact-modal__panel{padding:20px 24px}.contact-modal__eyebrow{margin-bottom:8px}.contact-modal__header h2,.contact-modal__result h2{font-size:clamp(1.8rem,7dvh,2.55rem)}.contact-modal__form{gap:10px;margin-top:14px}.contact-modal__field{gap:6px}.contact-modal__field textarea{min-height:110px}}@media (width<=620px){.contact-modal{padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));place-items:stretch stretch}.contact-modal__panel{border:var(--border-width) solid var(--border);border-left:var(--border-width-panel) solid var(--electric-hot);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;width:100%;height:100%;min-height:0;max-height:100%;padding:26px 22px 24px;display:flex;overflow:hidden auto}.contact-modal__close{flex:0 0 42px;align-self:flex-end;margin-bottom:-42px;position:sticky;top:0;right:auto}.contact-modal__header{padding-top:clamp(6px,2.2dvh,20px);padding-right:58px}.contact-modal__form{flex-direction:column;flex:none;justify-content:flex-start;gap:clamp(10px,1.7dvh,17px);margin-top:clamp(16px,4dvh,34px);display:flex}.contact-modal__field--wide{flex-direction:column;flex:none;min-height:auto;display:flex}.contact-modal__field--wide textarea{resize:none;flex:none;height:clamp(126px,26dvh,220px);min-height:110px}.contact-modal__actions{flex-shrink:0;margin-top:clamp(2px,1dvh,10px);padding-top:0}.contact-modal__field--wide,.contact-modal__error,.contact-modal__actions{grid-column:auto}.contact-modal__result{flex:1;justify-content:center;min-height:0;padding-bottom:clamp(16px,5dvh,46px);padding-right:20px}}@media (width<=420px){.contact-modal__header h2,.contact-modal__result h2{font-size:clamp(2rem,11vw,2.8rem)}.contact-modal__actions,.contact-modal__error{flex-direction:column;align-items:stretch}.contact-modal__submit{width:100%}}@media (width<=340px){.contact-modal{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.contact-modal__panel{padding:20px 16px}.contact-modal__header{padding-right:50px}.contact-modal__header h2,.contact-modal__result h2{font-size:clamp(1.7rem,11vw,2.25rem)}}.home{padding-bottom:var(--space-page-end);position:relative}.home-missions,.home-capabilities{padding-top:var(--space-section);padding-bottom:var(--space-section);border-top:var(--border-width) solid var(--section-rail-base);position:relative}#selected-projects{scroll-margin-top:110px}.home-capabilities{padding-bottom:0}.home-missions:before,.home-capabilities:before{content:"";background:var(--section-rail);height:2px;box-shadow:var(--section-rail-shadow);position:absolute;top:-1px;left:0}.home-missions:before{width:var(--accent-rail-first)}.home-capabilities:before{width:var(--accent-rail-second)}.home-section-heading{margin-bottom:var(--space-block);justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.home-section-heading h2{color:var(--ink);font-size:clamp(2.5rem,5.6vw,5.4rem);font-weight:var(--weight-display);letter-spacing:-.06em;margin:15px 0 0;line-height:.95}.home-section-heading>.system-button{flex:none}.home-missions__grid{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.project-card--featured{flex:0 calc(33.3333% - 9.33333px)}.project-card__badge--index{color:var(--project-index-color);white-space:nowrap;border:var(--border-width) solid var(--project-index-color)}.home-section-heading--capabilities{align-items:end}.capability-grid{border-top:var(--border-width) solid var(--static-card-border);border-left:var(--border-width) solid var(--static-card-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.capability-module{background:var(--surface-card);border-right:var(--border-width) solid var(--static-card-border);border-bottom:var(--border-width) solid var(--static-card-border);padding:24px;position:relative}.capability-module>span{color:var(--electric-hot);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.07em;font-size:.71rem}.capability-module h3{font-size:1.35rem;font-weight:var(--weight-display);margin:24px 0 14px}.capability-module ul{color:var(--muted);font-family:var(--font-interface);font-weight:var(--weight-interface);gap:9px;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.capability-module li{grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:24px;display:grid}.capability-module__label:before{color:var(--electric);content:"+";margin-right:8px}.capability-module__icon{width:24px;height:24px;color:var(--electric-hot);justify-self:end;place-items:center;display:grid}.capability-module__icon img{object-fit:contain;width:100%;height:100%;display:block}.capability-principle{background:var(--surface-card);border:var(--border-width) solid var(--static-card-border);clip-path:polygon(0 0, calc(100% - var(--cut-card)) 0, 100% var(--cut-card), 100% 100%, var(--cut-card) 100%, 0 calc(100% - var(--cut-card)));grid-template-columns:.35fr 1.65fr;align-items:center;gap:32px;margin-top:18px;padding:clamp(26px,4vw,42px);display:grid}.capability-principle>span{color:var(--electric-hot);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem}.capability-principle>p{color:var(--ink);font-size:clamp(1.6rem,3.2vw,3rem);font-weight:var(--weight-display);letter-spacing:-.045em;margin:0;line-height:1.08}.capability-principle__source{font-family:var(--font-interface);font-size:.48em;font-style:normal;font-weight:var(--weight-strong);letter-spacing:.12em;text-transform:uppercase;vertical-align:.18em;white-space:nowrap;align-items:baseline;padding:0 .06em;line-height:1;display:inline-flex;position:relative}.capability-principle__source-title{color:#0000;background:var(--principle-title-fill,linear-gradient(90deg, #79e7ff 0%, #21c7ff 48%, #5962ff 100%));filter:var(--principle-title-filter,drop-shadow(0 0 .3em #21c7ff8c));-webkit-background-clip:text;background-clip:text}.capability-principle__source-comma{color:var(--electric-hot);margin-right:.24em}.capability-principle__source-year{z-index:0;color:var(--principle-year-color,transparent);background:var(--principle-year-fill,repeating-linear-gradient(180deg, #ffd36a 0 .07em, #ff9d00 .07em .14em, #c95500 .14em .17em));filter:var(--principle-year-filter,drop-shadow(0 0 .28em #ff9d009e));font-size:1.06em;font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;letter-spacing:var(--principle-year-tracking,.1em);text-shadow:var(--principle-year-text-shadow,none);-webkit-background-clip:text;background-clip:text;position:relative}:root{--capability-principle-source-year-after--webkit-text-stroke-color:#ff6a0073}.capability-principle__source-year:after{top:var(--principle-year-echo-top,.08em);left:var(--principle-year-echo-left,.07em);z-index:-1;content:attr(data-year);color:var(--principle-year-echo-color,transparent);opacity:var(--principle-year-echo-opacity,1);transform:var(--principle-year-echo-shift,none);-webkit-text-stroke:var(--principle-year-echo-stroke,.035em var(--capability-principle-source-year-after--webkit-text-stroke-color));text-shadow:var(--principle-year-echo-glow,none);clip-path:var(--principle-year-echo-clip,inset(48% 0 0));position:absolute}:root[data-theme=light] .capability-principle__source-title{filter:drop-shadow(0 0 .24em #0066cc3d);background-image:linear-gradient(90deg,#06c 0%,#008fda 52%,#004cff 100%)}:root[data-theme=light] .capability-principle__source-year{filter:drop-shadow(0 0 .18em #87350047);background-image:repeating-linear-gradient(#e07800 0 .07em,#b95700 .07em .14em,#873500 .14em .17em)}:root[data-theme=light]{--capability-principle-source-year-after--webkit-text-stroke-color:#90340057}@media (width<=900px){.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card--featured{flex-basis:calc(50% - 7px)}}@media (width<=620px){.home-section-heading{flex-direction:column;align-items:flex-start}.capability-grid,.capability-principle{grid-template-columns:1fr}.project-card--featured{flex-basis:min(90%,400px)}}.page-hero--home h1{color:var(--ink);font-size:clamp(4.2rem,9.2vw,8.2rem);font-weight:var(--weight-display);letter-spacing:-.075em;text-transform:uppercase;white-space:nowrap;align-items:baseline;column-gap:.14em;display:flex}.home-hero__first-name,.home-hero__last-name{display:block}.home-hero__engagement{z-index:2;position:relative}.home-hero__actions{flex-wrap:wrap;gap:11px;margin-top:0;display:flex}.home-socials{gap:9px;margin-top:18px;display:flex}.home-socials .social-link{isolation:isolate;contain:paint;width:58px;height:58px;color:var(--muted);font:inherit;background:var(--surface-control);border:var(--border-width) solid var(--border);cursor:pointer;clip-path:polygon(var(--cut-control) 0, 100% 0, 100% calc(100% - var(--cut-control)), calc(100% - var(--cut-control)) 100%, 0 100%, 0 var(--cut-control));place-items:center;padding:0;text-decoration:none;transition:color .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.home-socials .social-link:before{z-index:0;content:"";pointer-events:none;background:radial-gradient(circle at center, var(--social-glow), transparent 74%);opacity:0;transition:opacity .18s;position:absolute;inset:0}.home-socials .social-link:focus-visible,.home-socials .social-link:active{color:var(--social-color);border-color:var(--social-color);box-shadow:inset 0 0 20px var(--social-glow)}.home-socials .social-link:focus-visible:before,.home-socials .social-link:active:before{opacity:1}.home-socials .social-link__icon{z-index:1;transform-origin:50%;will-change:transform;transition:transform .18s cubic-bezier(.2,.75,.25,1);position:relative}.home-socials .social-link__icon svg{filter:drop-shadow(0 0 6px var(--social-glow));font-size:42px;transition:filter .18s}.home-socials .social-link:focus-visible .social-link__icon svg,.home-socials .social-link:active .social-link__icon svg{filter:drop-shadow(0 0 11px var(--social-glow))}.home-socials .social-link:focus-visible .social-link__icon,.home-socials .social-link:active .social-link__icon{transform:scale(1.06)}@media (hover:hover){.home-socials .social-link:hover{color:var(--social-color);border-color:var(--social-color);box-shadow:inset 0 0 20px var(--social-glow)}.home-socials .social-link:hover:before{opacity:1}.home-socials .social-link:hover .social-link__icon svg{filter:drop-shadow(0 0 11px var(--social-glow))}.home-socials .social-link:hover .social-link__icon{transform:scale(1.06)}}@media (width<=1000px) and (width>=821px){.page-hero--home h1{font-size:clamp(4rem,8.4vw,6.6rem)}}@media (width<=820px){.page-hero--home h1{width:100%;font-size:clamp(3.3rem,10.5vw,5.15rem)}.home-socials{justify-content:flex-start;width:100%}}@media (width<=599px){.page-hero--home h1{font-size:clamp(2.8rem,13vw,4.8rem)}}@media (width<=430px){.page-hero--home h1{font-size:clamp(2.8rem,13vw,3.45rem)}}.about{padding-top:var(--space-section);padding-bottom:var(--space-page-end)}.about__dossier{background:var(--border);border:var(--border-width) solid var(--static-card-border);grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:1px;margin-top:0;display:grid}.about__index,.about__story{background:var(--surface-card);padding:clamp(28px,5vw,56px)}.about__story{box-shadow:-1px 0 0 var(--about-dossier-divider)}.about__index>span,.about__story>span,.about__working-style>div>span{color:var(--electric-hot);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem}.about__index dl{gap:0;margin:32px 0 0;display:grid}.about__index dl>div{border-bottom:var(--border-width) solid var(--border-subtle);gap:7px;padding:16px 0;display:grid}.about__index dl>div:first-child{padding-top:0}.about__index dt{color:var(--muted);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.about__index dd{color:var(--ink);margin:0}.about__story h2,.about__location h2{color:var(--ink);font-size:clamp(2rem,4.5vw,4.1rem);font-weight:var(--weight-display);letter-spacing:-.055em;margin:32px 0 20px;line-height:1}.about__story p{max-width:780px;color:var(--muted);margin:0 0 18px;font-size:1.05rem;line-height:1.8}.about__working-style{border-top:var(--border-width) solid var(--border-subtle);grid-template-columns:minmax(130px,.35fr) minmax(0,1.65fr);align-items:start;gap:24px;margin-top:34px;padding-top:28px;display:grid}.about__location{margin-top:var(--space-section);padding-top:var(--space-section);border-top:var(--border-width) solid var(--section-rail-base);grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);align-items:center;gap:40px;display:grid;position:relative}.about__location:before{width:var(--accent-rail-second);content:"";background:var(--section-rail);height:2px;box-shadow:var(--section-rail-shadow);position:absolute;top:-1px;left:0}@media (width<=820px){.about__dossier,.about__location{grid-template-columns:1fr}.about__story{box-shadow:0 -1px 0 var(--about-dossier-divider)}}@media (width<=620px){.about__working-style{grid-template-columns:1fr}}.page-hero--about h1{font-size:clamp(3.5rem,8.2vw,7.8rem)}@media (width<=480px){.page-hero--about h1{font-size:clamp(2rem,10.8vw,3.25rem)}}.projects{padding-top:var(--space-section);padding-bottom:var(--space-page-end);position:relative}.projectList{flex-wrap:wrap;justify-content:center;gap:14px;padding:0;display:flex}.project-card--catalog{flex:0 calc(33.3333% - 9.33333px)}.projects__github{margin-top:var(--space-section);background:var(--surface-card);border:var(--border-width) solid var(--static-card-border);clip-path:polygon(0 0, calc(100% - var(--cut-card)) 0, 100% var(--cut-card), 100% 100%, var(--cut-card) 100%, 0 calc(100% - var(--cut-card)));justify-content:space-between;align-items:center;gap:36px;padding:38px;display:flex}.projects__github-label{color:var(--status-github);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:.74rem;display:inline-flex}.projects__github-label svg{fill:currentColor;width:1.15rem;height:1.15rem;filter:drop-shadow(0 0 7px var(--status-github-glow));display:block}.projects__github h2{max-width:700px;color:var(--ink);font-size:clamp(1.5rem,3.4vw,2.7rem);font-weight:var(--weight-display);letter-spacing:-.04em;margin:10px 0 0}@media (width<=900px){.project-card--catalog{flex-basis:calc(50% - 7px)}}@media (width<=760px){.projects__github{flex-direction:column;align-items:flex-start;padding:26px}}@media (width<=620px){.project-card--catalog{flex-basis:min(90%,400px)}}.page-hero--projects h1{font-size:clamp(3.4rem,8vw,7.6rem)}@media (width<=480px){.page-hero--projects h1{font-size:clamp(1.95rem,10.8vw,3.25rem)}}.project{padding-top:var(--space-block);padding-bottom:var(--space-page-end);position:relative}.project.page-shell{width:min(1080px,100% - 40px)}.project__hero{padding:var(--space-block) 0 var(--space-block);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(34px,5vw,64px);display:grid}.project__header{flex-direction:column;align-self:stretch;align-items:flex-start;gap:26px;min-width:0;display:flex}.project__header h1{color:var(--ink);font-size:min(clamp(1.6rem, 13cqw, 4.2rem), calc(100cqw / var(--title-chars,12) * 1.85));font-weight:var(--weight-display);letter-spacing:-.06em;white-space:nowrap;margin:0;line-height:.9}.project__title-row{flex-direction:column;flex:1;align-self:stretch;align-items:flex-start;min-width:0;display:flex}.project__title-fit{flex:1;align-self:stretch;min-width:0;max-width:100%;container-type:inline-size}.project__title-actions{flex-shrink:0;align-items:center;gap:10px;margin-top:auto;display:flex}.project__title-actions--split{justify-content:space-between;width:100%}.project__type{margin-top:0}.system-button--primary.project__open{--project-open-accent:#fff;--project-open-glow:#fff6;--cta-primary-text:color-mix(in srgb, var(--project-open-accent) 94%, white);--cta-primary-surface:linear-gradient(90deg, color-mix(in srgb, var(--project-open-accent) 14%, transparent), #051528c7 42%);--cta-primary-border:color-mix(in srgb, var(--project-open-accent) 52%, transparent);--cta-primary-rail-idle:color-mix(in srgb, var(--project-open-accent) 68%, transparent);--cta-primary-rail-active:var(--project-open-accent);--cta-primary-progress-inset-shadow:inset 10px 0 24px color-mix(in srgb, color-mix(in srgb, var(--project-open-accent) 22%, transparent) var(--primary-cta-progress), transparent);--cta-primary-progress-glow-shadow:-2px 0 11px color-mix(in srgb, var(--project-open-glow) var(--primary-cta-progress), color-mix(in srgb, var(--project-open-accent) 20%, transparent));--cta-primary-extra-shadow:0 2px 9px color-mix(in srgb, var(--project-open-accent) 18%, transparent);--cta-primary-scan:linear-gradient(90deg, color-mix(in srgb, var(--project-open-accent) 96%, white), color-mix(in srgb, var(--project-open-accent) 52%, transparent));--cta-primary-trail:linear-gradient(90deg, var(--project-open-accent), color-mix(in srgb, var(--project-open-accent) 72%, transparent) 52%, color-mix(in srgb, var(--project-open-accent) 28%, transparent)) bottom / 100% 1px no-repeat, linear-gradient(90deg, color-mix(in srgb, var(--project-open-accent) 24%, transparent), color-mix(in srgb, var(--project-open-accent) 8.5%, transparent) 54%, color-mix(in srgb, var(--project-open-accent) 1.4%, transparent));--cta-primary-trail-shadow:drop-shadow(0 1px 5px color-mix(in srgb, var(--project-open-accent) 48%, transparent));--cta-primary-hover-text:color-mix(in srgb, var(--project-open-accent) 94%, white);--cta-primary-hover-border:color-mix(in srgb, var(--project-open-accent) 90%, white);font-weight:var(--weight-strong);letter-spacing:.06em;text-transform:uppercase}.system-button--primary.project__open--live{--project-open-accent:var(--status-live);--project-open-glow:var(--status-live-glow)}.system-button--primary.project__open--github{--project-open-accent:var(--status-github);--project-open-glow:var(--status-github-glow)}.system-button--primary.project__open:hover,.system-button--primary.project__open:focus-visible,.system-button--primary.project__open:active{transform:none}.project__open-label{align-items:center;display:inline-flex}.project__open-label--active{display:none}:root[data-theme=light] .system-button--primary.project__open{--cta-primary-text:color-mix(in srgb, var(--project-open-accent) 78%, #061b29);--cta-primary-surface:linear-gradient(90deg, color-mix(in srgb, var(--project-open-accent) 13%, var(--surface-button)), color-mix(in srgb, var(--project-open-accent) 10%, white) 42%);--cta-primary-border:color-mix(in srgb, var(--project-open-accent) 58%, transparent);--cta-primary-rail-idle:color-mix(in srgb, var(--project-open-accent) 78%, #061b29);--cta-primary-rail-active:var(--project-open-accent);--cta-primary-progress-inset-shadow:inset 10px 0 24px color-mix(in srgb, color-mix(in srgb, var(--project-open-accent) 12%, transparent) var(--primary-cta-progress), transparent);--cta-primary-progress-glow-shadow:-2px 0 10px color-mix(in srgb, var(--project-open-glow) var(--primary-cta-progress), transparent);--cta-primary-scan:linear-gradient(90deg, color-mix(in srgb, var(--project-open-accent) 98%, #061b29), color-mix(in srgb, var(--project-open-accent) 76%, white));--cta-primary-trail:linear-gradient(90deg, color-mix(in srgb, var(--project-open-accent) 88%, #061b29), color-mix(in srgb, var(--project-open-accent) 72%, transparent) 52%, color-mix(in srgb, var(--project-open-accent) 40%, transparent)) bottom / 100% 1px no-repeat, linear-gradient(90deg, color-mix(in srgb, var(--project-open-accent) 50%, transparent), color-mix(in srgb, var(--project-open-accent) 34%, transparent) 54%, transparent);--cta-primary-trail-shadow:drop-shadow(0 1px 3px color-mix(in srgb, var(--project-open-accent) 42%, transparent));--cta-primary-hover-text:color-mix(in srgb, var(--project-open-accent) 78%, #061b29);--cta-primary-hover-border:color-mix(in srgb, var(--project-open-accent) 78%, transparent);--cta-primary-progress-text:#fff}:root[data-theme=light] .project__open-label--active{z-index:3;color:var(--cta-primary-progress-text);pointer-events:none;clip-path:inset(0 calc(100% - var(--primary-cta-progress)) 0 0);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project__visual{aspect-ratio:16/9;color:var(--ink);border:var(--border-width) solid var(--border);clip-path:polygon(0 0, calc(100% - var(--cut-media)) 0, 100% var(--cut-media), 100% 100%, var(--cut-media) 100%, 0 calc(100% - var(--cut-media)));display:block;position:relative;overflow:hidden}.project__visual img{object-fit:cover;filter:saturate(.78)contrast(1.04);width:100%;height:100%;transition:transform .26s,filter .18s}@media (hover:hover){.project__visual:hover img{filter:saturate()contrast(1.04);transform:scale(1.025)}}.project__dossier{background:var(--border);border:var(--border-width) solid var(--static-card-border);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:1px;margin-top:0;display:grid}.project__description,.project__stack{background:var(--surface-opaque);padding:clamp(26px,3.5vw,40px)}.project__stack{box-shadow:-1px 0 0 var(--project-dossier-divider)}.project__description>span,.project__stack>span{color:var(--electric-hot);font-family:var(--font-interface);font-weight:var(--weight-interface);letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px;font-size:.72rem;display:block}.project__description p{max-width:680px;color:var(--muted);margin:0;font-size:1.05rem;line-height:1.75}@media (width>=600px) and (width<=880px){.project__hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(22px,4vw,34px)}}@media (width<=720px){.project__dossier{grid-template-columns:1fr}.project__stack{box-shadow:0 -1px 0 var(--project-dossier-divider)}}@media (width<=599px){.project.page-shell{width:min(100% - 28px,1080px)}.project__hero{grid-template-columns:1fr;gap:24px}.project__header{flex-direction:column;align-self:auto;align-items:flex-start;gap:18px}.project__header,.project__title-row{display:contents}.project__header .system-eyebrow{order:1}.project__title-fit{order:2}.project__visual{order:3}.project__title-actions{order:4;width:100%;margin-top:0}.project__title-actions .project__type{margin-left:auto}}.not-found-container{place-items:center;min-height:100svh;padding:clamp(72px,10vw,128px) 20px;display:grid;position:relative;overflow:hidden}.not-found-content{z-index:2;text-align:center;flex-direction:column;align-items:center;width:min(100%,820px);display:flex;position:relative}.not-found-content .system-eyebrow{justify-content:center}.not-found-content h1{color:var(--ink);font-size:clamp(7rem,20vw,13rem);font-weight:var(--weight-display);letter-spacing:-.11em;margin:clamp(32px,5vw,58px) 0 0;line-height:.72}:root{--glitch-cyan:#21c7ff;--glitch-magenta:#ff3b9d;--glitch-blend:screen}.not-found-glitch{isolation:isolate;will-change:transform, text-shadow;animation:3.2s step-end infinite not-found-glitch-core;position:relative}:root[data-theme=light]{--glitch-cyan:#06c;--glitch-magenta:#d02766;--glitch-blend:multiply}:root[data-theme-variant=ares]{--glitch-cyan:#fff;--glitch-magenta:#d60000;--glitch-blend:screen}:root[data-theme-variant=flynn]{--glitch-cyan:var(--flynn-halo);--glitch-magenta:var(--flynn-white);--glitch-blend:screen}.not-found-glitch:before,.not-found-glitch:after{content:attr(data-text);pointer-events:none;color:#0000;font:inherit;letter-spacing:inherit;line-height:inherit;opacity:0;mix-blend-mode:var(--glitch-blend);will-change:transform, clip-path, opacity;display:block;position:absolute;inset:0}.not-found-glitch:before{-webkit-text-stroke:2px var(--glitch-cyan);text-shadow:0 0 14px color-mix(in srgb, var(--glitch-cyan) 72%, transparent);animation:3.2s step-end infinite not-found-glitch-cyan}.not-found-glitch:after{-webkit-text-stroke:2px var(--glitch-magenta);text-shadow:0 0 14px color-mix(in srgb, var(--glitch-magenta) 68%, transparent);animation:3.2s step-end infinite not-found-glitch-magenta}@keyframes not-found-glitch-core{0%,6%,11%,45%,50%,83%,91%,to{text-shadow:none;transform:none}6.5%{text-shadow:6px 0 var(--glitch-cyan), -6px 0 var(--glitch-magenta);transform:translate(-5px,1px)skew(-3deg)}7%{text-shadow:-8px 0 var(--glitch-cyan), 5px 0 var(--glitch-magenta);transform:translate(9px,-2px)skew(6deg)}7.5%{text-shadow:4px 0 var(--glitch-cyan), -9px 0 var(--glitch-magenta);transform:translate(-3px,1px)skew(-9deg)scaleX(1.025)}8%,47%{text-shadow:-4px 0 var(--glitch-cyan), 4px 0 var(--glitch-magenta);transform:translate(4px)skew(2deg)}47.5%{text-shadow:8px 0 var(--glitch-cyan), -5px 0 var(--glitch-magenta);transform:translate(-8px,2px)skew(-6deg)}48%{text-shadow:-7px 0 var(--glitch-cyan), 7px 0 var(--glitch-magenta);transform:translate(2px,-1px)skew(8deg)scaleY(.98)}85%{text-shadow:-10px 0 var(--glitch-cyan), 6px 0 var(--glitch-magenta);transform:translate(11px,-1px)skew(10deg)}85.5%{text-shadow:9px 0 var(--glitch-cyan), -9px 0 var(--glitch-magenta);transform:translate(-9px,2px)skew(-8deg)scaleX(.985)}86%,88%{text-shadow:-3px 0 var(--glitch-cyan), 3px 0 var(--glitch-magenta);transform:translate(3px)skew(3deg)}}@keyframes not-found-glitch-cyan{0%,6%,8.5%,46.5%,49%,84.5%,89%,to{clip-path:inset(0 0 100%);opacity:0;transform:none}6.5%{clip-path:inset(8% 0 66%);opacity:.92;transform:translate(-14px)}7%{clip-path:inset(38% 0 35%);opacity:.78;transform:translate(17px)}7.5%{clip-path:inset(72% 0 8%);opacity:.9;transform:translate(-10px)}47%{clip-path:inset(18% 0 58%);opacity:.86;transform:translate(12px)}47.5%{clip-path:inset(53% 0 21%);opacity:.96;transform:translate(-18px)}48%{clip-path:inset(80% 0 4%);opacity:.72;transform:translate(9px)}85%{clip-path:inset(5% 0 74%);opacity:.95;transform:translate(-20px)}85.5%{clip-path:inset(33% 0 38%);opacity:.82;transform:translate(15px)}86%,88%{clip-path:inset(67% 0 10%);opacity:.88;transform:translate(-12px)}}@keyframes not-found-glitch-magenta{0%,6%,8.5%,46.5%,49%,84.5%,89%,to{clip-path:inset(100% 0 0);opacity:0;transform:none}6.5%{clip-path:inset(65% 0 11%);opacity:.84;transform:translate(16px)}7%{clip-path:inset(22% 0 51%);opacity:.94;transform:translate(-13px)}7.5%{clip-path:inset(48% 0 27%);opacity:.76;transform:translate(19px)}47%{clip-path:inset(69% 0 7%);opacity:.9;transform:translate(-11px)}47.5%{clip-path:inset(29% 0 44%);opacity:.82;transform:translate(20px)}48%{clip-path:inset(8% 0 70%);opacity:.96;transform:translate(-15px)}85%{clip-path:inset(76% 0 5%);opacity:.88;transform:translate(18px)}85.5%{clip-path:inset(43% 0 31%);opacity:.96;transform:translate(-21px)}86%,88%{clip-path:inset(14% 0 61%);opacity:.8;transform:translate(13px)}}.not-found-content h1 span{color:#0000;-webkit-text-stroke:1px var(--electric);filter:drop-shadow(0 0 12px var(--electric-soft))}.not-found-content h2{color:var(--ink);font-size:clamp(2rem,5vw,4.2rem);font-weight:var(--weight-display);letter-spacing:-.055em;margin:clamp(34px,5vw,52px) 0 0;line-height:.95}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}@media (width<=520px){.not-found-container{min-height:620px;padding-left:14px;padding-right:14px}.not-found-content h1{font-size:clamp(6.5rem,36vw,9rem)}}.controls-page{place-items:center;min-height:100dvh;padding:32px 20px;display:grid}:root{--controls-edge-color:var(--electric-hot);--controls-edge-glow:color-mix(in srgb, var(--controls-edge-color) 45%, transparent);--controls-edge-spill:34px}.controls-panel{width:min(520px,100%);color:var(--ink);border:var(--border-width) solid var(--border);border-left:var(--border-width-panel) solid var(--controls-edge-color);box-shadow:0 28px 80px #00000075, 0 0 42px color-mix(in srgb, var(--controls-edge-color) 10%, transparent), 0 0 18px color-mix(in srgb, var(--controls-edge-color) 16%, transparent), inset 16px 0 var(--controls-edge-spill) -12px var(--controls-edge-glow), -5px 0 20px -4px var(--controls-edge-glow);background:0 0;padding:clamp(28px,6vw,46px)}:root[data-theme=light]{--controls-edge-glow:color-mix(in srgb, var(--controls-edge-color) 30%, transparent);--controls-edge-spill:26px}:root[data-theme-variant=ares]{--controls-edge-color:var(--ares-hot-red)}:root[data-theme-variant=flynn]{--controls-edge-color:var(--flynn-white)}.controls-panel h1{letter-spacing:-.055em;margin:20px 0 28px;font-size:clamp(2.3rem,9vw,4.5rem);line-height:.92}.controls-panel__note{max-width:430px;color:var(--muted);text-align:center;margin:-12px auto 26px;line-height:1.5}.controls-login{gap:10px;display:grid}.controls-login label{color:var(--system-eyebrow-color);font-family:var(--font-interface);font-size:.74rem;font-weight:var(--weight-interface);letter-spacing:.07em;text-transform:uppercase;margin-top:8px}.controls-login input{box-sizing:border-box;width:100%;color:var(--ink);background:var(--surface-control);border:var(--border-width) solid var(--border);border-radius:0;outline:none;padding:13px 14px;font-family:inherit;font-size:16px;line-height:1.3}.controls-login input:focus{border-color:var(--field-focus-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--field-focus-color) 18%, transparent)}.controls-login .system-button{width:100%;margin-top:14px}.controls-login__error{color:var(--status-error);margin:6px 0 0;font-size:.86rem}.controls-return{width:100%;margin-top:10px}.controls-projects{border-top:var(--border-width) solid var(--border);gap:0;margin:0;padding:0;list-style:none;display:grid}.controls-projects li{border-bottom:var(--border-width) solid var(--border);grid-template-columns:51px minmax(0,1fr) 51px;align-items:center;gap:24px;min-height:62px;padding:10px 2px;display:grid;position:relative}.controls-projects li:before{content:"";width:51px}.controls-projects li>span:not(.controls-save){font-weight:var(--weight-display);text-align:center}.controls-season{margin-top:34px}.controls-season h2{margin:0}.controls-season__toggle{width:100%;color:var(--system-eyebrow-color);font-family:var(--font-interface);font-size:.78rem;font-weight:var(--weight-interface);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:10px;padding:6px 0;display:flex}.controls-season__toggle:focus-visible{outline:var(--border-width-accent) solid var(--field-focus-color);outline-offset:4px}.controls-season__chevron{border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .18s;transform:translateY(-2px)rotate(45deg)}.controls-season__toggle[aria-expanded=true] .controls-season__chevron{transform:translateY(1px)rotate(-135deg)}.controls-season__list{margin-top:16px}.controls-season__list[hidden]{display:none}.controls-switch{cursor:pointer;flex:none;display:inline-flex;position:relative}.controls-switch input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.controls-switch__track{box-sizing:border-box;background:color-mix(in srgb, var(--ink) 18%, transparent);border:var(--border-width) solid color-mix(in srgb, var(--ink) 24%, transparent);border-radius:999px;width:51px;height:31px;transition:background .18s,border-color .18s,box-shadow .18s;position:relative}.controls-switch__track:after{content:"";background:#fff;border-radius:50%;width:25px;height:25px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 7px #0000004d}.controls-switch input:checked+.controls-switch__track{background:var(--switch-on-color);border-color:var(--switch-on-color);box-shadow:0 0 12px color-mix(in srgb, var(--switch-on-color) 30%, transparent)}.controls-switch input:checked+.controls-switch__track:after{transform:translate(20px)}.controls-switch input:focus-visible+.controls-switch__track{outline:var(--border-width-accent) solid var(--field-focus-color);outline-offset:4px}.controls-logout{width:100%;margin:26px auto 0}@media (width<=540px){.controls-page{align-items:center;padding:20px 14px}.controls-panel{padding:26px 20px}.controls-projects li{gap:10px}}.controls-save{width:18px;height:18px;position:absolute;top:50%;right:63px;transform:translateY(-50%)}.controls-save--saving:before{content:"";border:2px solid color-mix(in srgb, var(--switch-on-color) 28%, transparent);border-top-color:var(--switch-on-color);border-radius:50%;animation:.62s linear infinite controls-save-spin;position:absolute;inset:2px}.controls-save--saved:before,.controls-save--failed:before{content:"";border-style:solid;border-color:var(--status-live);position:absolute}.controls-save--saved:before{border-width:0 2px 2px 0;width:6px;height:11px;top:1px;left:5px;transform:rotate(45deg)}.controls-save--failed:before,.controls-save--failed:after{content:"";background:var(--status-error);border:0;width:14px;height:2px;position:absolute;top:8px;left:2px}.controls-save--failed:before{transform:rotate(45deg)}.controls-save--failed:after{transform:rotate(-45deg)}.controls-save__text{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes controls-save-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.controls-save--saving:before{animation-duration:1.8s}.controls-season__chevron{transition:none}}.contact-page{place-items:center;min-height:100dvh;padding:32px 20px;display:grid}:root{--contact-panel-edge-glow:color-mix(in srgb, var(--contact-edge-color) 45%, transparent);--contact-panel-edge-spill:34px}.contact-panel{width:min(650px,100%);color:var(--ink);border:var(--border-width) solid var(--border);border-left:var(--border-width-panel) solid var(--contact-edge-color);box-shadow:0 28px 80px #00000075, 0 0 42px color-mix(in srgb, var(--contact-edge-color) 10%, transparent), 0 0 18px color-mix(in srgb, var(--contact-edge-color) 16%, transparent), inset 16px 0 var(--contact-panel-edge-spill) -12px var(--contact-panel-edge-glow), -5px 0 20px -4px var(--contact-panel-edge-glow);background:0 0;padding:clamp(28px,6vw,46px);position:relative}:root[data-theme=light]{--contact-panel-edge-glow:color-mix(in srgb, var(--contact-edge-color) 30%, transparent);--contact-panel-edge-spill:26px}.contact-page__close{--contact-close-line:color-mix(in srgb, var(--electric-hot) 6%, transparent);z-index:2;isolation:isolate;background-color:var(--electric-soft);background-image:linear-gradient(180deg, var(--contact-close-line) 0 1px, transparent 1px 5px);border:var(--border-width) solid var(--border);background-repeat:repeat-y;background-size:100% 5px;background-clip:padding-box;place-items:center;width:42px;height:42px;transition:background-position .62s steps(15,end),border-color .22s,box-shadow .22s,transform .22s;display:grid;position:absolute;top:18px;right:18px;overflow:hidden}.contact-page__close span{z-index:1;background:var(--electric-hot);grid-area:1/1;width:20px;height:1px;transition:background .22s}.contact-page__close span:first-child{transform:rotate(45deg)}.contact-page__close span:last-child{transform:rotate(-45deg)}.contact-page__close:focus-visible,.contact-page__close:active{border-color:var(--status-error);box-shadow:inset 0 0 20px color-mix(in srgb, var(--status-error) 20%, transparent);background-position:0 15px;transform:translateY(-1px)}.contact-page__close:focus-visible:after,.contact-page__close:active:after{border-color:color-mix(in srgb, var(--status-error) 45%, transparent)}.contact-page__close:focus-visible span,.contact-page__close:active span{background:var(--status-error)}@media (hover:hover){.contact-page__close:hover{border-color:var(--status-error);box-shadow:inset 0 0 20px color-mix(in srgb, var(--status-error) 20%, transparent);background-position:0 15px;transform:translateY(-1px)}.contact-page__close:hover:after{border-color:color-mix(in srgb, var(--status-error) 45%, transparent)}.contact-page__close:hover span{background:var(--status-error)}}.contact-header{padding-right:52px}.contact-header h1,.contact-result h1{max-width:520px;color:var(--ink);font-size:clamp(2rem,8vw,3.3rem);font-weight:var(--weight-display);letter-spacing:-.055em;margin:12px 0 0;line-height:.98}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;display:grid}.contact-field{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.contact-field--wide,.contact-error,.contact-actions{grid-column:1/-1}.contact-field label{color:var(--system-eyebrow-color);font-family:var(--font-interface);font-size:.74rem;font-weight:var(--weight-strong);letter-spacing:.07em;text-transform:uppercase}.contact-field input,.contact-field textarea{width:100%;color:var(--ink);font-family:var(--font-body);font-size:16px;font-weight:var(--weight-body);background:var(--surface-control);border:var(--border-width) solid var(--border);border-radius:0;outline:none;line-height:1.45;transition:border-color .16s,background .16s,box-shadow .16s}.contact-field input{min-height:46px;padding:10px 13px}.contact-field textarea{resize:vertical;min-height:150px;padding:12px 13px 28px}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--field-focus-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--field-focus-color) 18%, transparent)}:is(.contact-field input:user-invalid,.contact-field textarea:user-invalid){background:color-mix(in srgb, var(--surface-control) 92%, var(--status-error) 8%);border-color:var(--status-error);box-shadow:inset var(--border-width-accent) 0 0 var(--status-error), 0 0 12px color-mix(in srgb, var(--status-error) 14%, transparent)}.contact-counter{color:var(--muted);font-family:var(--font-interface);font-size:.63rem;font-weight:var(--weight-interface);letter-spacing:.06em;position:absolute;bottom:8px;right:11px}.contact-honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-error{color:var(--status-error);font-family:var(--font-interface);font-size:.76rem;font-weight:var(--weight-interface);background:color-mix(in srgb, var(--status-error) 8%, transparent);border-left:var(--border-width-accent) solid var(--status-error);padding:11px 13px;line-height:1.5}.contact-actions{justify-content:flex-end;padding-top:2px;display:flex}.contact-submit{min-width:170px}.contact-submit:disabled{cursor:wait;opacity:.68}.contact-result{flex-direction:column;justify-content:center;align-items:flex-start;min-height:390px;padding-right:46px;display:flex}.contact-result>p:not(.system-eyebrow){max-width:500px;color:var(--muted);margin:15px 0 0;font-size:.98rem;line-height:1.55}.contact-result .system-button{margin-top:28px}.contact-transmission{width:84px;height:52px;margin-bottom:25px;position:relative}.contact-transmission span{background:var(--status-positive);height:2px;box-shadow:0 0 8px var(--status-positive), 0 0 18px var(--status-positive-glow);display:block;position:absolute;top:50%;left:0}.contact-transmission span:first-child{width:62px}.contact-transmission span:nth-child(2){width:2px;height:26px;left:61px;transform:translateY(-24px)}.contact-transmission span:nth-child(3){border-radius:50%;width:12px;height:12px;top:0;left:61px;transform:translate(-5px,-5px)}@media (width<=620px){.contact-page{align-items:center;padding:20px 14px}.contact-panel{padding:26px 20px}.contact-page__close{top:20px;right:20px}.contact-header{padding-right:58px}.contact-form{grid-template-columns:1fr;gap:14px;margin-top:26px}.contact-field--wide,.contact-error,.contact-actions{grid-column:auto}.contact-field textarea{resize:none;min-height:180px}.contact-actions,.contact-submit{width:100%}.contact-result{min-height:520px;padding-right:30px}}@media (width<=420px){.contact-header h1,.contact-result h1{font-size:clamp(2rem,11vw,2.8rem)}}:root[data-theme=dark][data-theme-variant=grid][data-season=default]{--grid-signal:#00cdf8;--theme-accent:#49ccff;--system-eyebrow-color:var(--grid-signal);--system-eyebrow-shadow:none}:root[data-theme=light][data-theme-variant=grid][data-season=default]{--theme-accent:var(--light-grid-cobalt);--system-eyebrow-color:var(--light-grid-cobalt);--system-eyebrow-shadow:var(--system-eyebrow-glow);--light-grid-cobalt:#004ec2;--light-grid-cobalt-bright:#006be6;--light-grid-cobalt-glow:#43adff;--light-grid-card-shadow:0 0 16px #004ec212;--badge-surface:linear-gradient(145deg, #f9fcfdf0, #deebf1e6);--cta-edge-text:#003d99;--cta-edge-surface:linear-gradient(135deg, #004ec21a, var(--surface-button) 42%);--cta-edge-border:#004ec252;--cta-edge-trace:linear-gradient(90deg, var(--light-grid-cobalt), var(--light-grid-cobalt-bright) 62%, var(--light-grid-cobalt-glow));--cta-edge-trace-shadow:0 0 5px #004ec294, 0 0 10px #43adff47;--cta-edge-hover-text:#002c73;--cta-edge-hover-surface:linear-gradient(315deg, #006be613, #f8fafb 42%);--cta-edge-hover-border:color-mix(in srgb, var(--light-grid-cobalt-bright) 68%, transparent);--cta-edge-hover-shadow:inset 0 0 16px #004ec21a, 0 0 11px #004ec224;--cta-primary-text:#003d99;--cta-primary-surface:linear-gradient(90deg, #004ec224, color-mix(in srgb, var(--surface-button) 86%, transparent) 40%);--cta-primary-border:#004ec257;--cta-primary-rail-idle:#004ec2b8;--cta-primary-rail-active:var(--light-grid-cobalt-bright);--cta-primary-progress-inset-shadow:inset 10px 0 24px color-mix(in srgb, #004ec221 var(--primary-cta-progress), transparent);--cta-primary-progress-glow-shadow:-2px 0 10px color-mix(in srgb, #004ec22e var(--primary-cta-progress), transparent);--cta-primary-scan:linear-gradient(90deg, #004ec2b8, #43adff6b);--cta-primary-trail:linear-gradient(90deg, var(--light-grid-cobalt), #006be694 52%, #43adff33) bottom / 100% 1px no-repeat, linear-gradient(90deg, #004ec22e, #006be612 54%, #43adff03);--cta-primary-trail-shadow:drop-shadow(0 1px 3px #004ec257);--cta-primary-hover-text:#002c73;--cta-primary-hover-border:#004ec2c2;--navbar-mark-art-filter:drop-shadow(0 0 2px color-mix(in srgb, var(--system-eyebrow-color) 56%, transparent));--navbar-mark-glow-filter:drop-shadow(0 0 5px color-mix(in srgb, var(--system-eyebrow-color) 76%, transparent)) drop-shadow(0 0 13px color-mix(in srgb, var(--electric-hot) 42%, transparent)) drop-shadow(0 0 21px color-mix(in srgb, var(--system-eyebrow-color) 18%, transparent));--navbar-mark-sheen-before-background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--system-eyebrow-color) 58%, transparent) 34%, #fffffffa 52%, color-mix(in srgb, var(--electric-hot) 54%, transparent) 68%, transparent);--navbar-mark-sheen-before-filter:blur(.35px) drop-shadow(0 0 5px color-mix(in srgb, var(--system-eyebrow-color) 72%, transparent))}.app-error-boundary{min-height:100dvh;color:var(--ink);background:var(--void);place-items:center;padding:32px;display:grid}.app-error-boundary__content{background:var(--surface-card);border:var(--border-width) solid var(--border);border-left:var(--border-width-panel) solid var(--electric-hot);width:min(620px,100%);padding:clamp(28px,6vw,54px)}.app-error-boundary h1{font-size:clamp(2.5rem,8vw,5.5rem);font-weight:var(--weight-display);letter-spacing:-.06em;margin:24px 0 0;line-height:.9}.app-error-boundary__content>p:not(.system-eyebrow){max-width:520px;color:var(--muted);margin:22px 0 28px;line-height:1.65}
