:root{--font-display:"Russo One",sans-serif;--font-body:"Russo One",sans-serif;--font-mono:"Russo One",sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:100px;--radius-left:3rem 0 0 3rem;--radius-right:0 3rem 3rem 0;--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--transparent:#0000}:root,html[data-theme=light]{--bg-deep:#070b18;--bg-base:#0c1226;--bg-mid:#141d38;--bg-raised:#1a2544;--bg-glass:#121c3a80;--bg-glass-blue:#202c7061;--surface-nav:#101a369e;--surface-elevated:#162244b8;--blue-deep:#152a5c;--blue:#243c78;--blue-light:#3a508e;--blue-muted:#7a88c4;--blue-ice:#c4c8e8;--blue-glow:#3a508e52;--blue-border:#5a66a847;--blue-border-strong:#6e5cbc80;--purple-deep:#2d2468;--purple:#42206e;--purple-accent:#6b52c9;--purple-lilac:#a89be8;--purple-soft:#cfc4f4;--purple-glow:#6b52c959;--purple-dim:#4826788c;--purple-muted:#58308ce0;--text-primary:#eef2ff;--text-dim:#e2e8ffb8;--text-muted:#96a2d294;--text-accent:#8b9ad4;--muted:#6347c8e0;--border:#6a7cd633;--border-strong:#8b78e66b;--border-white:#ffffff14;--nav-text-fill:#5c4aa8;--nav-link-hover:#d8ddff;--nav-page-title:#5c4aa8;--player-heading:#3d2f78;--player-subheading:#32286a;--player-line-accent:#4a3a9a;--player-line-muted:#b4bad2bf;--cursor-hex-border:#6d7ad6;--cursor-hex-fill:#4a5fc938;--cursor-hex-inner:#060a14;--cursor-hex-dot:#9aaefb;--cursor-hex-dot-glow:#7a63e873;--cursor-hover-fill:#7a63e83d;--cursor-hover-inner:#060a149e;--cursor-hover-dot:#b9a8f2;--cursor-hover-glow:#b9a8f273;--avatar-glow:#6d5ae0;--card-icon-surface:#ffffffeb;--card-icon-ink:#0a0a0a;--skills-fade-bg:var(--bg-deep);--skills-subtitle:#4b3aa3;--skills-title:#3d4fbf;--skills-underline:#5c4aa8;--skills-category:#3d1f5c;--skills-category-border:#4a3288;--skills-bubble-text:#2d2468;--skills-bubble-bg:#48388c1f;--skills-bubble-border:#3a508e;--skills-bubble-hover-bg:#7a63e838;--skills-bubble-hover-border:#5b21b6a6;--skills-bubble-hover-shadow:#312c838c;--shadow-overlay:#0006;--shadow-overlay-mobile:#000000b3;--bg-video-extra-dim:#0000;--accent-warm:#fbbf24;--purple-old:#6b21a8;--light-purple:#9b6bc4;--whitesmoke:#ecf0f1;--creamcolor:beige;--c-light-purple-blue:#4a5fc947;--lilac:var(--purple-lilac);--c-navy:#060a14;--c-royal:#0f1733;--c-blue:#1a2f6e;--c-electric:#2d4aa6;--c-accent-blue:#4a5fc9;--c-ice:#c8cef0;--c-indigo:#312c83;--c-white:#eef2ff;--c-white-dim:#e2e8ffb8;--c-muted:#a5b4fc85;--c-border:#6a7cd633;--c-card-bg:#121c3a80;--c-glow:#4a5fc947;color-scheme:light}html[data-theme=dark]{--bg-deep:#020510;--bg-base:#050a18;--bg-mid:#081024;--bg-raised:#0e1830;--bg-glass:#060c1cad;--bg-glass-blue:#16245852;--surface-nav:#060e20c7;--surface-elevated:#0a1228d1;--blue-deep:#1a2f6e;--blue:#27408f;--blue-light:#3a4f9e;--blue-muted:#8f9bd4;--blue-ice:#aeb8e6;--blue-glow:#3a4f9e47;--blue-border:#4858a033;--blue-border-strong:#7662c873;--purple-deep:#241b52;--purple:#3d1f6e;--purple-accent:#7a63c8;--purple-lilac:#c4b8ec;--purple-soft:#ddd4f8;--purple-glow:#7a63c847;--purple-dim:#6450b461;--purple-muted:#beb0f0eb;--text-primary:#eef1fc;--text-dim:#d8def8d1;--text-muted:#94a0d0a6;--text-accent:#9aa6da;--muted:#bcb0e8d1;--border:#38488259;--border-strong:#6e5cbc6b;--border-white:#ffffff0f;--nav-text-fill:#8b96d4;--nav-link-hover:#e4e8fc;--nav-page-title:#c4b8ec;--player-heading:#9aa6da;--player-subheading:#7a86bc;--player-line-accent:#6b52c9;--player-line-muted:#a5b0d294;--cursor-hex-border:#5a6aa8;--cursor-hex-fill:#3a4f9e42;--cursor-hex-inner:#020510;--cursor-hex-dot:#aeb8e6;--cursor-hex-dot-glow:#7a84be61;--cursor-hover-fill:#6b52c947;--cursor-hover-inner:#020510bf;--cursor-hover-dot:#c4b8ec;--cursor-hover-glow:#b4a8e661;--avatar-glow:#7a86bc;--card-icon-surface:#121a30f0;--card-icon-ink:#eef1fc;--skills-fade-bg:var(--bg-deep);--skills-subtitle:#7a86bc;--skills-title:#8f9bd4;--skills-underline:#9d8ae0;--skills-category:#c4b8ec;--skills-category-border:#7662c873;--skills-bubble-text:#d8ddff;--skills-bubble-bg:#2d246833;--skills-bubble-border:#5a6ab473;--skills-bubble-hover-bg:#4a3a8c47;--skills-bubble-hover-border:#a094dc8c;--skills-bubble-hover-shadow:#3a307873;--shadow-overlay:#00000080;--shadow-overlay-mobile:#000000c7;--bg-video-extra-dim:#0000008c;--accent-warm:#fcd34d;--c-navy:var(--bg-deep);--c-royal:var(--bg-base);--c-blue:var(--blue-deep);--c-electric:var(--blue);--c-accent-blue:var(--blue-light);--c-ice:var(--blue-ice);--c-indigo:var(--purple-deep);--c-white:var(--text-primary);--c-white-dim:var(--text-dim);--c-muted:var(--text-muted);--c-border:var(--border);--c-card-bg:var(--bg-glass);--c-glow:var(--blue-glow);--lilac:var(--purple-lilac);color-scheme:dark}body{-webkit-tap-highlight-color:transparent;background-color:#070b18;background-color:var(--bg-deep);color:#eef2ff;font-family:Russo One,sans-serif;font-family:var(--font-body)}.theme-toggle,body{color:var(--text-primary)}.theme-toggle{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--surface-nav);border:1px solid var(--border);border-radius:var(--radius-pill);bottom:max(1rem,env(safe-area-inset-bottom,0px));box-shadow:0 0 20px var(--blue-glow);cursor:pointer!important;display:inline-flex;flex-direction:row;font-family:var(--font-display);font-size:.62rem;gap:.5rem;left:max(1rem,env(safe-area-inset-left,0px));letter-spacing:.14em;padding:.35rem .65rem .35rem .4rem;position:fixed;right:auto;text-transform:uppercase;top:auto;transition:border-color .25s ease,box-shadow .25s ease,transform .2s var(--ease-spring);z-index:130}.theme-toggle:hover{border-color:var(--border-strong);box-shadow:0 0 28px var(--purple-glow)}.theme-toggle:focus-visible{outline:2px solid var(--purple-accent);outline-offset:3px}.theme-toggle:active{transform:scale(.97)}.theme-toggle__track{background:var(--bg-glass-blue);border:1px solid var(--border);border-radius:50%;height:2.25rem;width:2.25rem}.theme-toggle__thumb,.theme-toggle__track{align-items:center;display:flex;justify-content:center}.theme-toggle__thumb{color:var(--blue-muted)}.theme-toggle__icon--sun{color:var(--accent-warm)}.theme-toggle__icon--moon{color:var(--purple-lilac)}.theme-toggle__label{max-width:5rem;padding-right:.15rem}@media (max-width:1100px){.theme-toggle{bottom:max(5.25rem,calc(env(safe-area-inset-bottom, 0px) + 4.5rem));font-size:.55rem;left:max(.85rem,env(safe-area-inset-left,0px))}.theme-toggle:active{transform:scale(.97)}}.nav{-webkit-text-fill-color:var(--nav-text-fill);align-items:center;color:var(--nav-text-fill);display:flex;flex-direction:column;gap:1rem;left:3%;position:fixed;top:30%;z-index:100}.nav-about{transform:translateY(35%)}.nav-skills{transform:translateY(10%)}.nav-projects{transform:translateY(-15%)}.nav-contact{transform:translateY(-40%)}.nav a{width:3rem}.nav a,.nav a:hover{align-items:center;display:flex;flex-direction:row;gap:1rem;justify-content:left}.nav a:hover{-webkit-text-fill-color:var(--nav-link-hover);color:var(--nav-link-hover);transition:all .5s ease;width:1.5rem}.nav a img{height:4rem;transition:transform .3s;width:3rem}.nav .current img{transform:scale(1.4)}.nav a img:hover{transform:scale(1.2)}.page-title{-webkit-text-fill-color:var(--nav-page-title);color:var(--nav-page-title);cursor:default;font-size:1.2rem}.nav-link{opacity:.7}.nav-link.current,.nav-link:hover{opacity:1}@media (max-width:1100px){.nav-about,.nav-contact,.nav-projects,.nav-skills{flex-direction:row;gap:2rem;top:92%}.nav a{display:flex;flex-direction:row;gap:.3rem;justify-content:left;width:2rem}.nav a img{height:3rem;transition:transform .3s;width:2rem}.nav .current img{transform:scale(1.3)}.nav{left:50%;transform:translateX(-50%)}.nav-link,.nav-link img{width:2rem}.page-title{display:none;font-size:.875rem}}.avatar{border-radius:50%;filter:drop-shadow(0 0 25px var(--avatar-glow));object-fit:cover;overflow:hidden;position:fixed;z-index:4}.avatar.about{bottom:28rem;height:20vh;left:50%;transform:translateX(-50%);width:20vh}@media (max-width:1100px){.avatar.about{bottom:70%;height:15vh;width:15vh}}.about-page,.content{position:relative}.content{z-index:2}.hero{height:100vh;overflow:hidden;position:relative}.hero-text{color:var(--text-primary);left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:2}.btn-resume{align-items:center;border-radius:var(--radius-left);display:inline-flex;flex-direction:row;font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.3rem;padding:.4rem 315px .4rem 150px;position:relative;text-decoration:none;transition:background 1s ease,transform .35s ease;white-space:nowrap}.btn-resume,.btn-resume:hover{background:linear-gradient(90deg,var(--blue-deep),var(--transparent) 95%);color:var(--text-primary);justify-content:center}.btn-resume:hover{font-size:.875rem;letter-spacing:.25rem}.menu{flex-direction:column;left:20vw;position:fixed;top:57%;transform:translateY(-60%);width:19rem}.item,.menu{display:flex}.item{align-items:center;cursor:pointer;height:4rem;justify-content:flex-end;width:20rem}.title{color:var(--blue-deep);font-family:var(--font-display);font-size:1.3rem;padding-right:1.75rem}.item:not(.active):hover .title{color:var(--blue-light);transition:.4s ease-in}.item.active .title{color:var(--text-primary);font-size:1.75rem}.sub-container{color:var(--blue-deep);cursor:pointer;display:flex;flex-direction:column;gap:1.5rem;position:fixed;right:10vw;top:25%;width:28rem}.active-subheading{cursor:default;font-size:1rem}.sub-container>div:not(.active-subheading):not(.icon-title-container):hover h3{color:var(--blue-light);padding-left:1.5rem;transition:all .4s ease}.item.active:first-child{background:linear-gradient(90deg,var(--transparent),var(--blue-light) 95%);border-radius:var(--radius-right)}.item.active:nth-child(2){background:linear-gradient(90deg,var(--transparent),var(--blue) 95%);border-radius:var(--radius-right)}.item.active:nth-child(3){background:linear-gradient(90deg,var(--transparent),var(--blue-deep) 95%);border-radius:var(--radius-right)}.sub-container-1.active-subheading h3,.sub-container-2.active-subheading h3,.sub-container-3.active-subheading h3{border-radius:var(--radius-left);color:var(--text-primary);margin-bottom:.5rem;padding:.5rem 1rem}.sub-container-1.active-subheading h3{background:linear-gradient(90deg,var(--blue-light),var(--transparent) 100%)}.sub-container-2.active-subheading h3{background:linear-gradient(90deg,var(--blue),var(--transparent) 100%)}.sub-container-3.active-subheading h3{background:linear-gradient(90deg,var(--blue-deep),var(--transparent) 100%)}.p-container{display:none}.active-subheading .p-container{animation:fadeIn .8s ease forwards;color:var(--blue-deep);display:flex;flex-direction:column;font-family:var(--font-body);font-size:1rem;gap:1.25rem;line-height:1.65;padding:1rem 0}.cta-text{color:var(--blue-deep);font-style:normal;padding-left:1rem}.cta-up-text{color:var(--blue);font-size:larger;font-style:italic;padding-left:1rem}.p-container p{margin:0;padding-left:1rem}.sub-container>div{animation:grow 1.5s}.menu>div{animation:slideLeftToRight 1.5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.icon-title-container{cursor:default;display:flex;font-size:1.35rem;gap:.65rem;margin-left:25px;margin-top:10px}.icon{display:flex;height:2.75em;margin-top:-15px;width:2.45rem}@media (max-width:1100px){.menu{flex-direction:row;justify-content:center;padding:2rem 0;width:100%}.menu,.sub-container{left:auto;position:relative;top:auto;transform:none}.sub-container{margin:0 auto;right:auto;width:90%}.item{padding:.5rem 1rem;width:auto}.p-container{font-size:.95rem}}@keyframes grow{0%{opacity:0;transform:perspective(200px) translate3d(50px,50px,50px)}to{opacity:1}}@keyframes slideLeftToRight{0%{opacity:0;transform:perspective(200px) translate3d(-50px,-50px,-50px)}to{opacity:1}}html[data-theme=dark] .menu>.item:not(.active) .title,html[data-theme=dark] .sub-container{color:var(--text-dim)}html[data-theme=dark] .active-subheading .p-container,html[data-theme=dark] .cta-text{color:var(--text-muted)}.about-social{align-items:stretch;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-glass) 88%,var(--blue-deep)),color-mix(in srgb,var(--bg-glass) 75%,var(--purple-deep)));border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 24px var(--blue-glow),inset 0 1px 0 #ffffff0a;display:flex;flex-wrap:wrap;gap:.55rem;margin:.5rem 0 1.15rem 25px;max-width:calc(100% - .5rem);padding:.45rem .5rem}.about-social__link{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in srgb,var(--surface-elevated) 55%,#0000);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:0 0 12px #0000;color:var(--text-dim);display:inline-flex;font-family:var(--font-display);font-size:.56rem;gap:.42rem;letter-spacing:.14em;padding:.42rem .82rem .42rem .52rem;text-decoration:none;text-transform:uppercase;transition:border-color .28s ease,color .28s ease,box-shadow .28s ease,transform .22s var(--ease-spring),background .28s ease}.about-social__link:hover{background:color-mix(in srgb,var(--purple-deep) 22%,var(--surface-elevated));border-color:var(--border-strong);box-shadow:0 0 20px var(--purple-glow),0 0 28px var(--blue-glow);color:var(--text-primary)}.about-social__link--github:hover{border-color:color-mix(in srgb,var(--blue-light) 55%,var(--border))}.about-social__link--linkedin:hover{border-color:color-mix(in srgb,var(--purple-accent) 45%,var(--border))}.about-social__link--email:hover{border-color:color-mix(in srgb,var(--blue-muted) 40%,var(--border))}.about-social__link:focus-visible{outline:2px solid var(--purple-accent);outline-offset:2px}.about-social__link:active{transform:scale(.98)}.about-social__icon{flex-shrink:0;opacity:.92}.about-social__text{padding-right:.1rem}@media (max-width:1100px){.about-social{justify-content:center;margin-left:0;width:100%}}.cad-section{animation:cadDockIn .75s var(--ease-out) forwards;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-glass) 92%,var(--purple-deep)),color-mix(in srgb,var(--bg-glass) 85%,var(--blue-deep)));border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 6px 24px #0000002e,0 0 20px var(--blue-glow);box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;left:calc(20vw + 14rem);max-width:100%;padding:.69rem .78rem .78rem;pointer-events:auto;position:fixed;top:65%;transform:translateX(-50%);width:min(21.875rem,88vw);z-index:11}.cad-section__header{align-items:center;display:flex;gap:.4rem;padding:0 .1rem}.cad-section__dot{background:var(--purple-accent);border-radius:50%;box-shadow:0 0 8px var(--purple-glow);flex-shrink:0;height:.4rem;width:.4rem}html[data-theme=dark] .cad-section__dot{background:#c8bafc}.cad-section__title{color:var(--text-dim);flex:1 1;font-size:.7rem;font-weight:400;letter-spacing:.22em;margin:0}.cad-section__reset,.cad-section__title{font-family:var(--font-display);text-transform:uppercase}.cad-section__reset{background:color-mix(in srgb,var(--surface-elevated) 50%,#0000);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:.6rem;letter-spacing:.1em;padding:.25rem .5rem;transition:color .25s ease,border-color .25s ease,box-shadow .25s ease}.cad-section__reset:hover{border-color:var(--border-strong);box-shadow:0 0 12px var(--purple-glow);color:var(--text-primary)}.cad-section__reset:focus-visible{outline:2px solid var(--purple-accent);outline-offset:2px}.cad-section__viewport{background:color-mix(in srgb,var(--bg-deep) 58%,#0000);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;height:12.5rem;overflow:hidden;position:relative;touch-action:none}.cad-section__viewport:active{cursor:grabbing}.cad-section__viewport canvas{display:block;height:100%!important;width:100%!important}.cad-section__hint{animation:cadHintOut .45s ease 7.5s forwards;background:color-mix(in srgb,var(--bg-deep) 80%,#0000);bottom:.35rem;font-size:.55rem;left:50%;letter-spacing:.06em;margin:0;opacity:.95;padding:.2rem .45rem;pointer-events:none;position:absolute;transform:translateX(-50%)}.cad-section__hint,.cad-section__loading{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);font-family:var(--font-display);text-transform:uppercase}.cad-section__loading{background:color-mix(in srgb,var(--bg-deep) 82%,#0000);font-size:.625rem;letter-spacing:.14em;padding:.3rem .55rem}.cad-section__message{color:var(--text-muted);font-family:var(--font-body);font-size:.78rem;font-weight:400;letter-spacing:.04em;line-height:1.46;margin:0;padding:0 .15rem;text-align:left;text-transform:none}@keyframes cadDockIn{0%{opacity:0;transform:translateX(-50%) translateY(14px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes cadHintOut{to{opacity:0;visibility:hidden}}@media (max-width:1100px){.cad-section{animation:none;bottom:auto;left:auto;margin:1.5rem auto;opacity:1;position:relative;top:auto;transform:none;width:min(21.875rem,90vw)}}@media (max-width:520px){.cad-section{padding:.5rem;width:min(94vw,22rem)}.cad-section__viewport{height:11rem}.cad-section__message{font-size:.58rem}}@media (prefers-reduced-motion:reduce){.cad-section,.cad-section__hint{animation:none}}.skills-page{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:4rem 6rem}.skills-header{animation:fadeSlideDown .8s ease forwards;margin-bottom:4rem;text-align:center}.skills-subtitle{color:var(--skills-subtitle);font-size:1.2rem;letter-spacing:.2rem;margin:0 0 .5rem;opacity:.7;text-transform:capitalize}.skills-title{color:var(--skills-title);font-size:3.5rem;font-weight:800;letter-spacing:.3rem;margin:0;text-decoration:underline;-webkit-text-decoration-color:var(--skills-underline);text-decoration-color:var(--skills-underline);text-underline-offset:.3rem}.skills-content{display:flex;flex-direction:column;gap:3rem;max-width:800px;width:100%}.skills-section{animation:fadeSlideUp .6s ease forwards;opacity:0}.category-title{border-bottom:1px solid var(--skills-category-border);color:var(--skills-category);font-size:.9rem;font-weight:600;letter-spacing:.35rem;margin:0 0 1.5rem;padding-bottom:.5rem;text-transform:uppercase}.bubbles-container{display:flex;flex-wrap:wrap;gap:.875rem}.bubble{animation:popIn .4s ease forwards;background:var(--skills-bubble-bg);border:1px solid var(--skills-bubble-border);border-radius:999px;color:var(--skills-bubble-text);cursor:default;font-size:.875rem;letter-spacing:.09rem;opacity:0;padding:.5rem 1.1rem;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}.bubble:hover{background:var(--skills-bubble-hover-bg);border-color:var(--skills-bubble-hover-border);box-shadow:0 0 8px var(--skills-bubble-hover-shadow);transform:translateY(-2px)}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.skills-wrapper .scroll-cue{display:none}@media (max-width:1100px){.skills-page{max-height:70vh;overflow:hidden;padding:5rem 2rem;position:relative}.skills-page.visible{opacity:1;transform:translateY(0)}.skills-content{-ms-overflow-style:none;max-height:100%;overflow-y:auto;scrollbar-width:none}.skills-content::-webkit-scrollbar{display:none}.skills-page:after,.skills-page:before{content:"";height:10px;left:2rem;pointer-events:none;position:absolute;right:2rem;z-index:10}.skills-page:before{background:linear-gradient(to bottom,var(--skills-fade-bg) 0,#0000 100%);top:19.35rem}.skills-page:after{background:linear-gradient(to top,var(--skills-fade-bg) 0,#0000 100%);bottom:5rem}.scroll-cue{left:.5rem;top:7.5rem;z-index:-2}.scroll-cue-text{color:var(--muted);font-size:2.875rem;left:1.5rem;letter-spacing:.25rem;position:fixed;text-orientation:upright;top:2.5rem;writing-mode:vertical-lr}.scroll-cue-arrows{flex-direction:row;gap:4px;left:1.1rem;position:fixed;top:9.5rem;transform:rotate(90deg)}.scroll-arrow{animation:pulse-down 1.6s ease-in-out infinite;border-bottom:1.5px solid var(--lilac);border-right:1.5px solid var(--lilac);height:10px;transform:rotate(-80deg);width:10px}.scroll-arrow:nth-child(2){animation-delay:.2s;opacity:.5}@keyframes pulse-down{0%,to{opacity:1;transform:rotate(75deg) translateX(0)}50%{opacity:.3;transform:rotate(90deg) translateX(50px)}}.skills-title{font-size:3.5rem;z-index:-8}.bubble{font-size:.8rem;padding:.25rem .6rem;z-index:-8}.category-title{font-size:.9rem;letter-spacing:.15rem;margin:0 0 1rem;padding-bottom:.2rem}.skills-wrapper .scroll-cue{display:flex}}.projects-section{--navy-deep:#05080f;--navy:#0b1020;--navy-mid:#111827;--royal:#2d4aa6;--royal-light:#2d4aa6b0;--blue-mid:#4a5fc98c;--purple-blue:rgba(43,0,255,.862);--purple:#4c2c8a;--lilac:#b38eef;--lilac-soft:#c4b5fd;--accent:#7c6bff;--accent-glow:#7c6bff4d;--white:#7f67e8;--purple-dim:rgba(106,15,224,.523);--muted:rgba(67,8,247,.865);--border:#fff;--card-radius:20px}html[data-theme=dark] .projects-section{--navy-deep:#030712;--navy:#0a1020;--navy-mid:#0f172a;--royal:#3a4f9e;--royal-light:#7a84bee0;--blue-mid:#4a58968c;--purple-blue:#3a30788c;--purple:#4c1d6b;--lilac:#c4b8ec;--lilac-soft:#ddd4f8;--accent:#7a63c8;--accent-glow:#7a63c852;--white:#aeb8e6;--purple-dim:#6450a073;--muted:#beb4e6e0;--border:#c8d2ff1f}*,:after,:before{box-sizing:border-box;margin:0;padding:0}@media (pointer:fine){.projects-section *{cursor:none!important}}.projects-section{color:var(--white);font-family:var(--font-display);overflow-x:hidden;position:relative;width:100%}.projects-desktop-scroll{-webkit-overflow-scrolling:touch;height:100vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:smooth;scroll-snap-type:y mandatory}.intro-panel,.project-panel{scroll-snap-align:center;scroll-snap-stop:always}@media (prefers-reduced-motion:reduce){.projects-desktop-scroll{scroll-behavior:auto;scroll-snap-type:none}}.scroll-progress-bar{background:linear-gradient(90deg,var(--accent),var(--lilac));box-shadow:0 0 12px var(--accent-glow);height:2px;left:0;pointer-events:none;position:fixed;top:0;transition:width .25s var(--ease-smooth);z-index:200}.panel-nav{bottom:28px;display:flex;flex-direction:row;gap:10px;left:50%;position:fixed;transform:translateX(-50%);z-index:150}.panel-nav-dot{background:var(--border);border:1px solid var(--muted);border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .3s ease,transform .3s var(--ease-spring),box-shadow .3s ease;width:8px}.panel-nav-dot.active{background:var(--accent);border-color:#0000;box-shadow:0 0 10px var(--accent-glow);transform:scale(1.5)}.intro-panel{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.intro-content{max-width:700px;padding:0 2rem;position:relative;text-align:center;z-index:2}.intro-label{color:var(--muted);font-size:.72rem;letter-spacing:.35rem;margin-bottom:20px}.intro-heading,.intro-label{font-family:var(--font-display)}.intro-heading{display:flex;flex-direction:column;line-height:.92;margin-bottom:24px}.intro-heading-thin{font-size:clamp(4rem,10vw,9rem);font-weight:500}.intro-heading-bold,.intro-heading-thin{color:var(--royal-light);letter-spacing:.35rem}.intro-heading-bold{font-size:clamp(4.5rem,12vw,11rem);font-weight:800}.intro-sub{color:var(--muted);font-size:.88rem;font-weight:300;letter-spacing:.3em}.scroll-cue{align-items:center;bottom:50px;display:flex;flex-direction:column;gap:10px;left:50%;position:absolute;transform:translateX(-50%)}.scroll-cue-text{color:var(--muted);font-family:var(--font-display);font-size:.7rem;letter-spacing:.35rem}.scroll-cue-arrows{align-items:center;display:flex;flex-direction:column;gap:4px}.scroll-arrow{animation:pulse-down 1.6s ease-in-out infinite;border-bottom:1.5px solid var(--lilac);border-right:1.5px solid var(--lilac);height:10px;transform:rotate(45deg);width:10px}.scroll-arrow:nth-child(2){animation-delay:.2s;opacity:.5}@keyframes pulse-down{0%,to{opacity:1;transform:rotate(45deg) translate(0)}50%{opacity:.3;transform:rotate(45deg) translate(4px,4px)}}.project-panel{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:6em 20vw;position:relative}.panel-bg-number{bottom:-.15em;color:#7c6bff00;font-family:var(--font-display);font-size:clamp(16rem,30vw,26rem);font-weight:800;line-height:1;pointer-events:none;position:absolute;right:.05em;transition:color .4s ease;-webkit-user-select:none;user-select:none;z-index:0}@keyframes glowUp{0%{opacity:0}to{opacity:1}}.project-panel:has(.project-card:hover) .panel-bg-number{color:#204fdc80;transform:glowUp;transition-duration:1s}.project-card--open{align-items:stretch;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #ffffff1f;border-radius:var(--card-radius);box-shadow:0 0 60px #204fdc1f;display:flex;flex-direction:row;gap:0;max-width:1100px;overflow:hidden;position:relative;transition:box-shadow .5s ease,border-color .5s ease;width:100%;z-index:10}.project-card--open:hover{border-color:#204fdc73;box-shadow:0 0 60px #204fdc40,inset 0 1px 0 #ffffff0f}.card--left{flex-direction:row}.card--right{flex-direction:row-reverse}.card-info{border-right:1px solid #ffffff14;flex:0 0 42%;gap:22px;justify-content:center;padding:52px 44px}.card--right .card-info{border-left:1px solid #ffffff14;border-right:none}.card-visuals{align-items:center;display:flex;flex:1 1;height:auto;justify-content:center;min-height:420px;padding:44px 36px}.card-visuals .image-carousel{max-width:100%;position:relative;width:100%}.card-visuals .carousel-track,.card-visuals .flip-card,.card-visuals .image-carousel{height:320px;transition:height .4s var(--ease-smooth)}.card-visuals .image-carousel:has(.carousel-slide.active.carousel-slide--orient-portrait),.card-visuals .image-carousel:has(.carousel-slide.active.carousel-slide--orient-portrait) .carousel-track,.card-visuals .image-carousel:has(.carousel-slide.active.carousel-slide--orient-portrait) .flip-card{height:min(56vh,520px)}.card-title{color:var(--royal);font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2.4rem);font-weight:800;letter-spacing:.2rem;line-height:1.1;text-transform:uppercase}.card-description{color:var(--text-dim);font-size:.88rem;font-weight:300;line-height:1.7}.status-badge{align-items:center;border-radius:100px;display:inline-flex;font-family:var(--font-display);font-size:.58rem;gap:6px;letter-spacing:.18em;padding:5px 12px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.status-active{background:#7c6bff26;border:1px solid #7c6bff4d;color:#735ce7e8}.status-completed{background:#16a34a1a;border:1px solid #16a34a40;color:#08c94c}.card-links{display:flex;flex-wrap:wrap;gap:12px}.btn-demo,.btn-github{align-items:center;border-radius:8px;display:inline-flex;flex-direction:row;font-family:var(--font-display);font-size:.65rem;font-weight:600;gap:8px;justify-content:center;letter-spacing:.12em;padding:9px 22px;position:relative;text-decoration:none;transition:background .22s ease,color .22s ease,transform .22s var(--ease-spring);white-space:nowrap}.btn-github{background:#ffffff0f;border:1px solid var(--lilac-soft);color:var(--white)}.btn-github:hover{background:#ffffff1f;transform:translateY(-2px)}.btn-demo{background:var(--accent);border:1px solid #0000;color:#fff}.btn-demo:hover{background:#9580ff;transform:translateY(-2px)}.image-carousel{margin:auto;max-width:480px;position:relative;width:100%}.carousel-track{border-radius:14px;height:320px;overflow:hidden;position:relative;transition:height .4s var(--ease-smooth);width:100%}.carousel-slide{inset:0;opacity:0;pointer-events:none;position:absolute;transform:scale(.96);transition:opacity .45s var(--ease-smooth),transform .45s var(--ease-smooth)}.carousel-slide.active{opacity:1;pointer-events:all;transform:scale(1)}.carousel-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1020b3;border:1px solid #ffffff26;border-radius:50%;color:var(--white);display:flex;font-size:1.2rem;height:34px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease,transform .2s var(--ease-spring);width:34px;z-index:20}.carousel-btn:hover{background:#7c6bff4d;transform:translateY(-50%) scale(1.1)}.carousel-prev{left:-17px}.carousel-next{right:-17px}.carousel-dots{bottom:-28px;display:flex;gap:7px;left:50%;position:absolute;transform:translateX(-50%)}.dot{background:#ffffff4d;border:none;border-radius:50%;height:6px;padding:0;transition:background .25s ease,transform .25s var(--ease-spring);width:6px}.dot.active{background:var(--accent);transform:scale(1.4)}.flip-card{height:320px;perspective:1000px;transition:height .4s var(--ease-smooth)}.flip-card,.flip-card-inner{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;width:100%}.flip-card-inner{height:100%;position:relative;transform:translateZ(0) rotateY(0deg);transition:transform .65s cubic-bezier(.4,0,.2,1)}.flip-card:hover .flip-card-inner{transform:translateZ(0) rotateY(180deg)}.flip-card-back,.flip-card-front{backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;inset:0;overflow:hidden;position:absolute}.flip-card-front{background:var(--navy-mid);transform:translateZ(1px);-webkit-transform:translateZ(1px)}.flip-card-front img.project-img--orient-landscape,.flip-card-front img.project-img--orient-pending,.flip-card-front img.project-img--orient-portrait{display:block;height:100%;inset:0;object-fit:contain;object-position:center;position:absolute;width:100%}.flip-hint{background:#00000059;border:1px solid #ffffff1f;border-radius:100px;bottom:10px;color:#ffffff6b;font-family:var(--font-display);font-size:.52rem;letter-spacing:.18em;padding:.28rem .45rem;pointer-events:none;position:absolute;right:12px;text-transform:uppercase;z-index:1}.flip-card-back{align-items:stretch;background:radial-gradient(120% 80% at 100% 0,#ffffff1a 0,#0000 55%),radial-gradient(90% 70% at 0 100%,color-mix(in srgb,var(--accent) 35%,#0000) 0,#0000 50%),linear-gradient(165deg,#0d1228 0,#141e3d 42%,#0a0f22 100%);border:1px solid color-mix(in srgb,var(--lilac-soft) 28%,#0000);border-radius:12px;box-shadow:inset 0 1px 0 #ffffff14;display:flex;justify-content:center;overflow:hidden;padding:0;transform:rotateY(180deg) translateZ(1px);-webkit-transform:rotateY(180deg) translateZ(1px)}html[data-theme=light] .flip-card-back{background:radial-gradient(120% 80% at 100% 0,#ffffff29 0,#0000 50%),linear-gradient(165deg,#151d38,#1c2748 50%,#12192e);border-color:color-mix(in srgb,var(--border-strong) 55%,#0000)}.flip-card-back__noise{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");inset:0;mix-blend-mode:overlay;opacity:.07;pointer-events:none;position:absolute}.flip-card-back__glow{background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--accent) 45%,#0000),#0000 70%);height:70%;inset:-40% -20% auto -20%;opacity:.55;pointer-events:none;position:absolute}.flip-card-back__accent{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 80%,#0000),color-mix(in srgb,var(--lilac-soft) 70%,#0000),color-mix(in srgb,var(--royal-light) 50%,#0000));height:3px;left:0;pointer-events:none;position:absolute;right:0;top:0}.flip-card-back__content{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex-direction:column;gap:.65rem;justify-content:flex-start;max-height:100%;overflow:auto;padding:1.35rem 1.35rem 1.15rem;position:relative;text-align:left;z-index:1}.flip-card-back__eyebrow{color:color-mix(in srgb,var(--lilac-soft) 85%,#fff);font-size:.52rem;font-weight:400;letter-spacing:.28em;opacity:.9}.flip-card-back__eyebrow,.flip-card-back__title{font-family:var(--font-display);text-transform:uppercase}.flip-card-back__title{color:#f8fafff5;font-size:clamp(.78rem,1.35vw,.98rem);font-weight:700;letter-spacing:.06em;line-height:1.25;margin:0;text-shadow:0 2px 18px #00000059}.flip-card-back__body{color:#e2e8fce0;flex:1 1 auto;font-family:var(--font-display);font-size:clamp(.62rem,1.05vw,.74rem);font-weight:300;letter-spacing:.04em;line-height:1.6;margin:0;min-height:0}.flip-card-back__project{border-top:1px solid #ffffff1a;color:#c8d2ff8c;font-family:var(--font-display);font-size:.52rem;letter-spacing:.22em;margin-top:.35rem;padding-top:.65rem;text-transform:uppercase;width:100%}@media (prefers-reduced-motion:reduce){.flip-card:hover .flip-card-inner{transform:translateZ(0) rotateY(0deg)}}@media (max-width:1100px){.projects-section *{cursor:auto!important}.panel-nav,.scroll-progress-bar{display:none}.projects-mobile{min-height:100vh;padding:0 0 60px}.mobile-header{border-bottom:1px solid #ffffff14;margin-bottom:8px;padding:56px 24px 36px}.mobile-header-label{color:var(--lilac);font-family:var(--font-display);font-size:.65rem;letter-spacing:.28em;margin-bottom:10px}.mobile-heading{color:var(--white);font-family:var(--font-display);font-size:clamp(2.8rem,9vw,4.5rem);font-weight:800;letter-spacing:-.03em;line-height:1}.mobile-accordion{display:flex;flex-direction:column}.accordion-item{border-bottom:1px solid #ffffff14;overflow:hidden}.accordion-header{align-items:center;background:#0000;border:none;color:var(--white);display:flex;gap:14px;padding:22px 24px;text-align:left;transition:background .2s ease;width:100%}.accordion-header:active{background:#7c6bff0f}.accordion-num{color:var(--muted);font-family:var(--font-display);font-size:.7rem;min-width:24px}.accordion-title{color:var(--white);flex:1 1;font-family:var(--font-display);font-size:clamp(1rem,4vw,1.25rem);font-weight:700;letter-spacing:-.01em}.accordion-body{max-height:0;overflow:hidden;padding:0 24px;transition:max-height .48s var(--ease-smooth)}.accordion-item.open .accordion-body{max-height:1200px;padding-bottom:28px}.accordion-description{color:var(--text-dim);font-size:.9rem;font-weight:300;line-height:1.7;margin-bottom:20px;margin-top:4px}.mobile-slider{-webkit-overflow-scrolling:touch;border-radius:12px;display:flex;gap:12px;margin-bottom:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.mobile-slider::-webkit-scrollbar{display:none}.mobile-slide{align-items:center;display:flex;flex:0 0 85%;flex-direction:column;scroll-snap-align:start}.mobile-slide img.project-img--orient-landscape,.mobile-slide img.project-img--orient-pending,.mobile-slide img.project-img--orient-portrait{border-radius:10px;display:block;height:auto;margin:0 auto;max-height:min(62vh,440px);max-width:100%;min-height:0;object-fit:contain;object-position:center;width:100%}.mobile-caption-wrap{background:linear-gradient(165deg,#0c1226eb,#141c34e0);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 24px #0003;margin-top:12px;max-width:100%;padding:14px 14px 16px;width:100%}.mobile-caption-eyebrow{color:color-mix(in srgb,var(--lilac-soft) 80%,#0000);display:block;font-size:.52rem;letter-spacing:.24em;margin-bottom:.35rem}.mobile-caption-eyebrow,.mobile-caption-title{font-family:var(--font-display);text-transform:uppercase}.mobile-caption-title{color:#f8fafff2;font-size:.78rem;font-weight:700;letter-spacing:.05em;line-height:1.25;margin:0 0 .4rem}.mobile-caption-body{color:var(--text-dim);font-family:var(--font-display);font-size:.68rem;font-weight:300;letter-spacing:.03em;line-height:1.55;margin:0}.accordion-links{display:flex;flex-wrap:wrap;gap:10px}.accordion-links .btn-demo,.accordion-links .btn-github{font-size:.68rem;padding:10px 18px}.accordion-header .status-badge{font-size:.52rem;padding:4px 9px}.project-card--open{flex-direction:column!important;max-width:100%}.card-info{border-bottom:1px solid #ffffff14;border-left:none!important;border-right:none!important;flex:none;padding:32px 24px}.card-visuals{min-height:260px;padding:24px}}.contact-section{color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-display);min-height:100vh;overflow-x:hidden;overflow-y:visible;padding-top:calc(env(safe-area-inset-top, 0px) + 6.5rem);position:relative;width:100%;z-index:2}.marquee-strip{background:color-mix(in srgb,var(--blue-deep) 12%,#0000);border-bottom:1px solid var(--border);border-top:1px solid var(--border);overflow:hidden;padding:10px 0;width:100%}.marquee-strip--reverse{margin-top:auto}.marquee-track{animation:marquee-scroll 28s linear infinite;display:flex;gap:0;width:-webkit-max-content;width:max-content}.marquee-track--reverse{animation-direction:reverse}.marquee-word{color:var(--text-muted);font-family:var(--font-display);font-size:.65rem;letter-spacing:.22em;padding:0 28px;-webkit-user-select:none;user-select:none}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.contact-hero{align-items:flex-start;display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,48px);justify-content:space-between;padding:clamp(48px,8vh,96px) clamp(28px,8vw,120px)}@media (min-width:1101px){.contact-hero{padding-left:max(clamp(28px,8vw,120px),13.5rem)}}.hero-left{display:flex;flex:1 1 340px;flex-direction:column;gap:28px;isolation:isolate;max-width:min(640px,100%);min-width:0;position:relative;z-index:2}.location-badge{align-items:center;animation:fade-up .6s var(--ease-out) .1s forwards;background:color-mix(in srgb,var(--blue-deep) 14%,#0000);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-accent);display:inline-flex;font-family:var(--font-display);font-size:.75rem;gap:8px;letter-spacing:.18em;opacity:0;padding:7px 16px;width:-webkit-fit-content;width:fit-content}.loc-icon{color:var(--blue);height:20px;width:20px}html[data-theme=light] .location-badge{background:color-mix(in srgb,var(--surface-elevated) 88%,var(--blue-deep));border-color:var(--border-strong);box-shadow:0 1px 0 #ffffff1f,0 8px 28px #00000038;color:var(--blue-ice)}html[data-theme=light] .location-badge .loc-icon{color:var(--blue-light)}.hero-heading{display:flex;flex-direction:column;font-family:var(--font-display);gap:0;line-height:.88;position:relative}.hero-thin{animation:fade-right .75s var(--ease-spring) .25s forwards;color:var(--text-accent);font-size:clamp(3.5rem,8vw,8rem);font-weight:400;margin-left:clamp(0rem,5vw,3rem);margin-top:clamp(1.5rem,5vh,5rem);opacity:0}.hero-bold{word-wrap:break-word;animation:fade-right .75s var(--ease-spring) .38s forwards;color:var(--text-primary);font-size:clamp(4.5rem,11vw,11rem);font-weight:800;letter-spacing:clamp(-.12rem,-.4vw,-.15rem);margin-left:clamp(0rem,14vw,10rem);margin-top:clamp(.35rem,1.5vh,1rem);opacity:0;overflow-wrap:anywhere;text-shadow:0 0 16px var(--text-accent)}.hero-sub{animation:fade-up .65s var(--ease-out) .52s forwards;color:var(--text-accent);font-size:clamp(.88rem,1.4vw,1.05rem);font-weight:300;line-height:2.75;margin-left:clamp(0rem,3vw,2.5rem);margin-top:clamp(.75rem,2vh,2rem);max-width:min(36rem,100%);width:100%;z-index:2}.hero-right,.hero-sub{opacity:0;position:relative}.hero-right{align-items:center;animation:fade-in 1s var(--ease-out) .6s forwards;display:flex;flex:0 1 280px;flex-direction:column;gap:28px;margin-right:clamp(0rem,4vw,4.5rem);min-width:0;z-index:1}.hero-right .location-badge{animation:fade-up .6s var(--ease-out) .7s both;font-size:.875rem;opacity:0;position:relative;z-index:10}.gyroscope{align-items:center;display:flex;height:240px;justify-content:center;perspective:600px;position:relative;width:240px}.gyro-ring{border:3px solid var(--border);border-radius:50%;position:absolute;transform-style:preserve-3d}.gyro-ring-1{animation:gyro-y 8s linear infinite;border-color:color-mix(in srgb,var(--blue-deep) 55%,#0000);height:100%;width:100%}.gyro-ring-2{animation:gyro-x 6s linear infinite reverse;border-color:color-mix(in srgb,var(--blue) 50%,#0000);border-style:double;height:75%;width:75%}.gyro-ring-3{animation:gyro-z 4s linear infinite;background:color-mix(in srgb,var(--blue-deep) 18%,#0000);border-color:color-mix(in srgb,var(--purple-deep) 65%,#0000);height:55%;width:55%}@keyframes gyro-y{0%{transform:rotateY(0deg) rotateX(15deg)}to{transform:rotateY(1turn) rotateX(15deg)}}@keyframes gyro-x{0%{transform:rotateX(0deg) rotate(25deg)}to{transform:rotateX(1turn) rotate(25deg)}}@keyframes gyro-z{0%{transform:rotate(0deg) rotateY(40deg)}to{transform:rotate(1turn) rotateY(40deg)}}.hero-deco-text{color:var(--blue-light);font-family:var(--font-display);font-size:.72rem;letter-spacing:.22em;pointer-events:none;position:absolute;text-shadow:0 0 14px var(--blue-glow),0 0 1px color-mix(in srgb,var(--text-primary) 35%,#0000);z-index:2}html[data-theme=dark] .hero-deco-text{color:var(--blue-ice);text-shadow:0 0 18px color-mix(in srgb,var(--blue-light) 45%,#0000),0 0 28px var(--purple-glow),0 0 1px var(--text-primary)}html[data-theme=light] .contact-section .hero-sub{color:var(--blue-ice);text-shadow:0 1px 2px #00000059}html[data-theme=light] .contact-section .hero-thin{color:var(--blue-light);text-shadow:0 0 20px color-mix(in srgb,var(--blue-deep) 25%,#0000)}.section-divider{align-items:center;display:flex;gap:75px;margin-bottom:60px;padding:0 clamp(28px,8vw,120px)}.divider-line{background:var(--border);flex:1 1;height:5px}.divider-label{color:var(--text-accent);font-family:var(--font-display);font-size:.75rem;letter-spacing:.28em;white-space:nowrap}.platforms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:56px;padding:0 clamp(28px,8vw,120px)}.platform-card{align-items:center;animation:fade-up .65s var(--ease-out) both;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--bg-glass-blue);border:1px solid var(--border);border-radius:var(--radius-lg);box-sizing:border-box;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:20px;justify-content:center;margin-left:auto;margin-right:auto;min-height:240px;opacity:0;overflow:hidden;padding:40px 28px;position:relative;text-decoration:none;transform:translateY(28px);transition:border-color .35s ease,box-shadow .35s ease,transform .35s var(--ease-spring),width .35s ease;width:min(100%,420px)}.platform-card:hover{border-color:var(--blue-border-strong);box-shadow:0 0 48px color-mix(in srgb,var(--blue-deep) 22%,#0000),0 0 100px color-mix(in srgb,var(--purple-deep) 12%,#0000),inset 0 1px 0 #ffffff0f;width:100%}.card-fill-bar{background:linear-gradient(90deg,var(--blue),var(--blue-light));border-radius:0 0 var(--radius-lg) var(--radius-lg);bottom:0;height:2px;left:0;position:absolute;transition:width .45s var(--ease-smooth);width:0}.platform-card:hover .card-fill-bar{width:100%}.card-num{color:var(--blue);font-family:var(--font-display);font-size:.62rem;letter-spacing:.15em;position:absolute;right:24px;top:20px}.card-icon-wrap{align-items:center;background:var(--card-icon-surface);border-radius:var(--radius-sm);display:flex;height:52px;justify-content:center;transition:transform .35s var(--ease-spring),box-shadow .35s ease;width:52px}.platform-card:hover .card-icon-wrap{box-shadow:0 8px 24px #00000040;transform:scale(1.08) rotate(-3deg)}.platform-icon{color:var(--card-icon-ink);height:26px;width:26px}.card-info{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.45rem;min-width:0;text-align:center;width:100%}.card-label{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase}.card-handle,.card-label{color:var(--text-primary);font-family:var(--font-display)}.card-handle{font-size:clamp(.95rem,2.4vw,1.2rem);letter-spacing:-.01em;line-height:1.35;max-width:100%;overflow-wrap:anywhere;padding:.5rem 0 .35rem;transition:color .25s ease;word-break:break-word}.platform-card:hover .card-handle{color:var(--blue)}.card-note{color:var(--text-dim);font-size:.875rem;font-weight:300;line-height:1.5}.card-cta{align-items:center;border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-family:var(--font-display);font-size:.62rem;justify-content:space-between;letter-spacing:.14em;padding-top:16px;transition:color .25s ease}.platform-card:hover .card-cta{color:var(--text-accent)}.arrow-icon{color:currentColor;height:16px;transition:transform .3s var(--ease-spring);width:16px}.platform-card:hover .arrow-icon{transform:translateX(5px)}.info-strip{align-items:stretch;background:color-mix(in srgb,var(--blue-deep) 10%,#0000);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:0;margin:0 clamp(28px,8vw,120px) 56px;overflow:hidden}.info-block{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:28px 32px}.info-divider{background:var(--border);flex:0 0 1px;width:1px}@media (max-width:960px){.info-strip{flex-direction:column}.info-divider{flex:0 0 1px;height:1px;width:100%}}.info-label{font-size:.55rem;letter-spacing:.22em;text-transform:uppercase}.info-label,.info-value{color:var(--blue-light);font-family:var(--font-display)}.info-value{font-size:clamp(.88rem,1.3vw,1.05rem);font-weight:700;letter-spacing:-.01em;line-height:1.35;overflow-wrap:anywhere}.info-value--open{color:var(--blue-light)}.tagline-section{align-items:center;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:20px;padding:56px clamp(28px,10vw,160px);text-align:center}.tagline-eyebrow{color:var(--blue);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.3em}.tagline{color:var(--text-dim);font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.7rem);font-weight:600;letter-spacing:-.01em;line-height:1.55;max-width:820px}.tagline-br{display:block}.tagline-sig{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-right{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (max-width:1320px){.contact-hero{align-items:stretch;flex-direction:column}.hero-right{flex:1 1 auto;flex-direction:row;flex-wrap:wrap;gap:32px;justify-content:center;margin-right:0;max-width:100%;width:100%}.hero-bold,.hero-thin{margin-left:0}}@media (max-width:1100px){.contact-section{padding-top:calc(env(safe-area-inset-top, 0px) + 4.25rem)}.contact-hero{align-items:flex-start;flex-direction:column;padding:48px 24px 32px}.hero-bold,.hero-sub,.hero-thin{margin-left:0}.hero-thin{margin-top:0}.hero-sub{margin-top:1rem;max-width:100%}.hero-right{display:none}.platforms-grid{gap:14px;grid-template-columns:1fr;margin-left:auto;margin-right:auto;max-width:560px;padding:0 24px}.platform-card{align-items:center;flex-direction:row;gap:18px;padding:24px 22px}.card-icon-wrap{flex:0 0 44px;height:44px}.card-info{align-items:flex-start;gap:4px;text-align:left}.card-handle{font-size:.95rem;word-break:break-word}.card-cta{display:none}.info-strip{flex-direction:column;margin:0 24px 40px}.info-divider{flex:0 0 1px;height:1px;width:100%}.info-block{padding:20px 22px}.tagline-section{padding:40px 24px}.tagline{font-size:1rem}.tagline-br{display:inline}.section-divider{padding:0 24px}}.class-sub-container a:hover,.project-container a:hover,.sub-container-2:not(.active-subheading):hover,.sub-container-3:not(.active-subheading):hover,button:hover{border:2px solid var(--transparent);color:var(--text-primary);transition:all .5s ease}#root,body,html{height:100%;margin:0}.app-main{min-height:100%;position:relative;z-index:1}#bg{height:100vh;left:0;object-fit:cover;position:fixed;top:0;width:100vw;z-index:-3}.shadow-overlay{background-color:var(--shadow-overlay);z-index:-2}.bg-theme-dim,.shadow-overlay{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw}.bg-theme-dim{background:var(--bg-video-extra-dim);opacity:0;transition:opacity .45s ease,background .45s ease;z-index:-1}html[data-theme=dark] .bg-theme-dim{opacity:1}@media (max-width:1100px){#bg{height:230vw;left:0;object-fit:fill;position:fixed;top:0;width:110vw;z-index:-3}.shadow-overlay{background-color:var(--shadow-overlay-mobile)}}#playerStats{align-items:center;display:flex;flex-direction:column;height:4rem;justify-content:space-between;left:3rem;position:fixed;top:3rem;width:25rem;z-index:80}#playerStats h1{color:var(--player-heading);font-size:2rem;margin:0}#playerStats h2{color:var(--player-subheading);font-size:1rem;margin:0}#playerStats_lines{align-items:center;display:flex}#playerStats_lines_thick{background-color:var(--player-line-accent);display:block;height:.2rem;width:5rem}#playerStats_lines_thin{background-color:var(--player-line-muted);display:block;height:.2rem;width:21rem}@media (max-width:1100px){#playerStats{height:2.5rem;left:50%;top:2rem;transform:translateX(-50%);width:8 rem}#playerStats h1{font-size:.9rem}#playerStats h2,#playerStats h3,#playerStats p{font-size:.7rem}#playerStats_lines_thick{width:5rem}#playerStats_lines_thin{width:16rem}}
/*# sourceMappingURL=main.4e9bc37f.css.map*/