@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_1c74a485-module__Rhx65a__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_1c74a485-module__Rhx65a__variable{--font-display:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_51a00220-module__BMltbW__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_51a00220-module__BMltbW__variable{--font-body:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--bg:#07111f;--bg-soft:#0d1b2f;--panel:#0b1423b8;--panel-strong:#0e1c2feb;--text:#eef4ff;--muted:#9fb1cb;--accent:#7cf7c0;--accent-strong:#5ee0ff;--line:#ffffff1a;--shadow:0 24px 80px #00000059}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#07111f}body{min-height:100vh;color:var(--text);font-family:var(--font-body), system-ui, sans-serif;background:radial-gradient(circle at 0 0,#5ee0ff2e,#0000 32%),radial-gradient(circle at 85% 15%,#7cf7c024,#0000 24%),linear-gradient(#07111f 0%,#081424 44%,#050b14 100%);margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.45;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0000 92%);mask-image:linear-gradient(#000000e6,#0000 92%)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}input,textarea{width:100%;color:var(--text);background:#08101ec2;border:1px solid #ffffff1f;border-radius:18px;padding:.95rem 1rem;transition:border-color .18s,box-shadow .18s,transform .18s}input:focus,textarea:focus{border-color:#5ee0ff7a;outline:none;box-shadow:0 0 0 4px #5ee0ff1f}input::placeholder,textarea::placeholder{color:#9fb1cbb3}button{cursor:pointer}p,ul,h1,h2,h3{margin:0}ul{padding-left:1.1rem}.page-shell{width:min(1180px,100% - 2rem);margin:0 auto;padding:48px 0 72px;position:relative}.portfolio-shell-expanded{width:min(1320px,100% - 1.25rem);padding-bottom:96px}.ambient{z-index:-1;filter:blur(40px);opacity:.35;border-radius:999px;position:fixed}.ambient-one{background:#5ee0ff2e;width:240px;height:240px;inset:8% auto auto 4%}.ambient-two{background:#7cf7c024;width:300px;height:300px;bottom:10%;right:4%}.hero{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);align-items:start;gap:24px;display:grid}.hero-copy,.hero-panel,.section,.contact-card{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:28px}.hero-copy{padding:clamp(28px,4vw,48px)}.eyebrow{width:fit-content;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;background:#7cf7c014;border:1px solid #7cf7c03d;border-radius:999px;margin-bottom:16px;padding:.42rem .8rem;font-size:.8rem;display:inline-flex}h1,h2,h3{font-family:var(--font-display), var(--font-body), sans-serif;letter-spacing:-.04em}h1{max-width:10ch;font-size:clamp(3.4rem,8vw,6.9rem);line-height:.92}.headline{color:#dce8ff;max-width:60ch;margin-top:22px;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.7}.body-copy{max-width:65ch;color:var(--muted);margin-top:16px;font-size:1rem;line-height:1.8}.cta-row,.contact-links{flex-wrap:wrap;gap:12px;display:flex}.cta{border:1px solid var(--line);min-height:46px;color:var(--text);background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;padding:.82rem 1.1rem;font-weight:600;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.cta:hover{background:#7cf7c01f;border-color:#7cf7c059;transform:translateY(-2px)}.cta-primary{background:linear-gradient(135deg,#5ee0ff38,#7cf7c02e);border-color:#5ee0ff61}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.stat-card{background:#060c1673;border:1px solid #ffffff14;border-radius:22px;padding:18px}.stat-card strong{font-family:var(--font-display), sans-serif;margin-bottom:6px;font-size:clamp(1.6rem,3vw,2.4rem);display:block}.stat-card span{color:var(--muted);line-height:1.5}.hero-panel{gap:16px;padding:18px;display:grid}.panel-card{background:var(--panel-strong);border:1px solid #ffffff14;border-radius:22px;padding:22px}.panel-label{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-size:.82rem}.panel-card li{color:#dce8ff;margin-bottom:10px;line-height:1.65}.fact-row{border-top:1px solid #ffffff14;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;display:grid}.fact-row:first-of-type{border-top:0;padding-top:0}.fact-row span{color:var(--muted)}.fact-row strong{color:var(--text);font-weight:600}.section{margin-top:24px;padding:clamp(24px,3vw,36px)}.section-heading{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.section-heading h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.project-grid,.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-card,.skill-card,.timeline-item{background:#08101ead;border:1px solid #ffffff14}.project-card,.skill-card{border-radius:24px;padding:20px}.project-top p,.timeline-item p{color:var(--muted);line-height:1.7}.project-type{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.82rem}.project-card h3,.skill-card h3{margin-bottom:10px;font-size:1.25rem}.tag-row{flex-wrap:wrap;gap:8px;margin:18px 0 16px;display:flex}.tag{color:#dffbef;background:#7cf7c01f;border-radius:999px;padding:.42rem .74rem;font-size:.82rem}.tag-soft{color:#dceeff;background:#5ee0ff1a}.impact-list{color:#eaf2ff;line-height:1.7}.split-section{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;display:grid}.timeline{gap:14px;display:grid}.timeline-item{border-radius:22px;grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:18px;display:grid}.timeline-marker{background:linear-gradient(135deg, var(--accent-strong), var(--accent));border-radius:999px;width:14px;height:14px;margin-top:8px;box-shadow:0 0 0 6px #5ee0ff1f}.timeline-head{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.timeline-head span{color:var(--accent);font-size:.9rem}.contact-card{background:linear-gradient(135deg,#0b1423f0,#08101ccc);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:28px;display:flex}.contact-card h2{max-width:16ch;font-size:clamp(1.8rem,3.6vw,2.8rem)}.scroll-rail{z-index:12;transform-origin:0;background:linear-gradient(90deg, var(--accent-strong), var(--accent));width:100%;height:3px;position:fixed;top:0;left:0;box-shadow:0 0 32px #5ee0ffa6}.scroll-sheen{z-index:-1;filter:blur(8px);opacity:.28;pointer-events:none;border-radius:999px;width:220px;height:220px;position:fixed}.scroll-sheen-left{background:radial-gradient(circle,#5ee0ff73,#0000 66%);top:14%;left:2%}.scroll-sheen-right{background:radial-gradient(circle,#7cf7c06b,#0000 66%);bottom:10%;right:3%}.eyebrow-new{width:fit-content;color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;background:#5ee0ff14;border:1px solid #5ee0ff3d;border-radius:999px;margin-bottom:14px;padding:.42rem .8rem;font-size:.78rem;display:inline-flex}.hero-panel-new{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:stretch;gap:24px;display:grid;position:relative}.hero-copy-new,.hero-stage-new,.content-section,.narrative-card,.skill-cluster-card,.list-card,.timeline-card,.github-card,.contact-form{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);background:#08101eb8;border:1px solid #ffffff14}.hero-copy-new{border-radius:32px;padding:clamp(28px,4vw,52px);position:relative;overflow:hidden}.hero-copy-new:after{content:"";filter:blur(18px);background:radial-gradient(circle,#7cf7c03d,#0000 66%);border-radius:999px;width:280px;height:280px;position:absolute;inset:auto -20% -24% auto}.hero-copy-new h1{max-width:12ch;font-size:clamp(3.8rem,9vw,7.6rem)}.hero-lead{color:#eff6ff;margin-top:18px;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.65}.hero-copy-text,.narrative-card p,.skill-cluster-card li,.project-summary,.project-outcome,.contact-copy,.contact-status,.timeline-card p,.github-card p{color:var(--muted);line-height:1.8}.hero-copy-text{max-width:68ch;margin-top:16px}.hero-copy-text-strong{color:#dfeaff;margin-top:18px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.hero-stat-card{background:#060c1680;border:1px solid #ffffff14;border-radius:22px;padding:18px;transition:transform .22s,border-color .22s}.hero-stat-card strong{font-family:var(--font-display), sans-serif;margin-bottom:6px;font-size:clamp(1.5rem,3vw,2.2rem);display:block}.hero-stat-card span{color:var(--muted)}.hero-stat-card-pulse{border-color:#5ee0ff61;transform:translateY(-2px)}.hero-stage-new{perspective:1600px;min-height:760px;transform-style:preserve-3d;border-radius:32px;padding:22px;position:relative;overflow:hidden}.hero-orbit-wrap{transform-style:preserve-3d;position:absolute;inset:0}.hero-orbit{transform-style:preserve-3d;border-radius:999px;position:absolute;inset:50% auto auto 50%}.hero-orbit-primary{border:1px solid #5ee0ff47;width:540px;height:540px;margin:-270px 0 0 -270px;box-shadow:0 0 120px #5ee0ff14}.hero-orbit-secondary{border:1px solid #7cf7c047;width:380px;height:380px;margin:-190px 0 0 -190px}.hero-orbit-core{background:radial-gradient(circle,#ffffff1a,#0000 64%);width:170px;height:170px;margin:-85px 0 0 -85px;box-shadow:inset 0 0 24px #ffffff1f}.hero-stage-card{transform-style:preserve-3d;border-radius:28px;gap:10px;padding:22px;display:grid;position:absolute}.hero-stage-card-main{background:linear-gradient(160deg,#0b1423eb,#08101ec2);width:min(420px,64%);inset:38px 38px auto auto;transform:translateZ(90px)rotateX(8deg)rotateY(-10deg)}.hero-stage-card-main h2{font-size:clamp(1.8rem,3vw,2.6rem)}.hero-stage-card-side{background:linear-gradient(155deg,#08101ee0,#0a1322b8);width:min(360px,58%);bottom:140px;left:22px;transform:translateZ(70px)rotateX(10deg)rotateY(12deg)}.hero-stage-card-foot{background:#08101ed1;width:min(300px,48%);bottom:24px;right:28px;transform:translateZ(120px)rotateX(12deg)rotateY(-14deg)}.stage-label{color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.fact-line{border-top:1px solid #ffffff14;gap:4px;padding:12px 0;display:grid}.fact-line:first-of-type{border-top:0;padding-top:0}.fact-line span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.84rem}.fact-line strong,.hero-stage-card-foot strong{color:var(--text)}.content-section{border-radius:32px;margin-top:24px;padding:clamp(24px,3vw,36px)}.content-section-spaced{margin-top:28px}.section-heading-new{gap:8px;margin-bottom:22px;display:grid}.section-heading-new h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.03}.narrative-band{overflow:hidden}.narrative-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px;display:grid}.narrative-card{border-radius:28px;padding:24px}.narrative-card-large{min-height:100%}.skills-cluster{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.skill-cluster-card{border-radius:28px;padding:22px}.skill-cluster-card h3{margin-bottom:12px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#dffbef;background:#7cf7c01f;border-radius:999px;align-items:center;gap:6px;padding:.44rem .76rem;font-size:.82rem;display:inline-flex}.chip-soft{color:#dceeff;background:#5ee0ff1a}.project-stack{perspective:1500px;gap:18px;padding-top:10px;display:grid;position:relative}.project-stack:before{content:"";pointer-events:none;background:linear-gradient(#07111fa6,#0000);height:180px;position:absolute;inset:0 0 auto}.stack-card{transform-style:preserve-3d;border-radius:30px;padding:24px;position:sticky;top:92px;overflow:hidden}.stack-card:first-child{transform:translateY(0)rotate(-1.5deg)}.stack-card:nth-child(2){transform:translateY(24px)rotate(1deg)}.stack-card:nth-child(3){transform:translateY(48px)rotate(-.5deg)}.stack-card:nth-child(4){transform:translateY(72px)rotate(1.6deg)}.stack-card:nth-child(5){transform:translateY(96px)rotate(-1deg)}.stack-card-halo{filter:blur(12px);pointer-events:none;background:radial-gradient(circle,#5ee0ff2e,#0000 64%);border-radius:999px;width:220px;height:220px;position:absolute;inset:-20% auto auto -12%}.stack-card-head{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.section-tag,.project-index,.github-card-lang{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.project-index{color:var(--muted)}.stack-card h3{font-size:clamp(1.5rem,2.6vw,2rem)}.spotlight-note{color:#eaf2ff;margin-top:16px}.dual-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.list-stack{gap:14px;display:grid}.list-card{border-radius:24px;grid-template-columns:52px 1fr;align-items:center;gap:16px;padding:18px 20px;display:grid}.list-card span{color:var(--accent);letter-spacing:.12em;font-size:.88rem}.list-card-accent{background:linear-gradient(135deg,#5ee0ff1f,#7cf7c014)}.timeline-wrap{gap:14px;display:grid}.timeline-card{border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.timeline-card h3{margin-bottom:6px}.github-pulse{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.github-card{border-radius:26px;padding:22px}.github-card h3{margin:8px 0 10px}.inline-link{width:fit-content;color:var(--accent);margin-top:14px;font-weight:600;display:inline-flex}.contact-section{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);align-items:start;gap:16px;display:grid}.contact-form{border-radius:28px;gap:14px;padding:22px;display:grid}.contact-form label{color:#dce8ff;gap:8px;display:grid}.contact-form-message{min-height:180px}.contact-form-message textarea{resize:vertical;min-height:180px}.contact-form-actions{flex-wrap:wrap;gap:12px;display:flex}.contact-status{min-height:1.5rem;color:var(--accent-strong)}.footer-link-row{flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:18px;display:flex}.portfolio-cursor{z-index:9999;pointer-events:none;mix-blend-mode:screen;border-radius:999px;position:fixed;top:0;left:0}.portfolio-cursor-ring{background:#5ee0ff14;border:1px solid #7cf7c0b8;width:42px;height:42px;margin:-21px 0 0 -21px;box-shadow:0 0 40px #5ee0ff2e}.portfolio-cursor-dot{background:linear-gradient(135deg,#5ee0ff,#7cf7c0);width:10px;height:10px;margin:-5px 0 0 -5px;box-shadow:0 0 22px #7cf7c073}@media (max-width:1100px){.skills-cluster,.github-pulse,.contact-section,.narrative-grid,.hero-panel-new,.dual-layout,.stage-cards{grid-template-columns:1fr}.hero-stage-new{min-height:900px}}@media (max-width:780px){.hero-stats-grid,.portfolio-metrics,.repo-grid,.stage-cards{grid-template-columns:1fr}.stack-card{position:relative;top:auto}.stack-card:nth-child(n){transform:none}.hero-copy-new h1{max-width:none}.hero-stage-card-main,.hero-stage-card-side,.hero-stage-card-foot{width:auto;margin-top:14px;position:relative;inset:auto;transform:none}.hero-stage-new{min-height:auto}.hero-orbit-primary,.hero-orbit-secondary,.hero-orbit-core{display:none}.portfolio-shell-expanded{width:min(100% - 1rem,1320px)}}.reveal{animation:.7s both fadeUp}.delay-1{animation-delay:.12s}.delay-2{animation-delay:.22s}.delay-3{animation-delay:.32s}.delay-4{animation-delay:.42s}.portfolio-shell{perspective:1600px;width:min(1280px,100% - 2rem);margin:0 auto;padding:48px 0 72px;position:relative}.portfolio-ambient{z-index:-1;filter:blur(48px);opacity:.34;border-radius:999px;position:fixed}.portfolio-ambient-one{background:#5ee0ff2e;width:280px;height:280px;inset:10% auto auto 6%}.portfolio-ambient-two{background:#7cf7c024;width:320px;height:320px;bottom:8%;right:6%}.glass-card{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:30px}.portfolio-hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:24px;display:grid}.portfolio-hero-copy{padding:clamp(28px,4vw,48px)}.portfolio-kicker{width:fit-content;color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;background:#5ee0ff14;border:1px solid #5ee0ff3d;border-radius:999px;margin-bottom:16px;padding:.42rem .8rem;font-size:.8rem;display:inline-flex}.portfolio-hero h1{max-width:12ch}.portfolio-headline,.portfolio-body,.repo-description{line-height:1.75}.portfolio-headline{color:#dce8ff;max-width:58ch;margin-top:22px;font-size:clamp(1.05rem,1.6vw,1.26rem)}.portfolio-body{max-width:65ch;color:var(--muted);margin-top:16px}.portfolio-body a{color:var(--accent)}.portfolio-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.portfolio-actions-tight{margin-top:20px}.portfolio-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.metric-card{background:#060c1673;border:1px solid #ffffff14;border-radius:22px;padding:18px}.metric-card strong{font-family:var(--font-display), sans-serif;margin-bottom:6px;font-size:clamp(1.5rem,3vw,2.2rem);display:block}.metric-card span{color:var(--muted);line-height:1.5}.portfolio-side{gap:16px;padding:18px;display:grid}.portfolio-ribbon{border-radius:999px;margin-bottom:24px;padding:14px 0;position:relative;overflow:hidden;transform:rotate(-1.1deg)}.portfolio-ribbon:before,.portfolio-ribbon:after{content:"";pointer-events:none;z-index:1;width:92px;height:100%;position:absolute;top:0}.portfolio-ribbon:before{background:linear-gradient(90deg,#07111ff5,#0000);left:0}.portfolio-ribbon:after{background:linear-gradient(270deg,#07111ff5,#0000);right:0}.ribbon-track{align-items:center;gap:12px;width:max-content;padding:0 24px;animation:28s linear infinite ribbonScroll;display:flex}.ribbon-chip{color:#eef4ff;white-space:nowrap;background:#08101eb8;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:10px;padding:.62rem .96rem;display:inline-flex}.ribbon-chip strong{color:var(--accent);font-weight:700}.portfolio-stage{min-height:720px;transform-style:preserve-3d;padding:22px;display:grid;position:relative;overflow:hidden}.stage-grid{opacity:.14;transform-origin:50%;background-image:linear-gradient(#ffffff17 1px,#0000 1px),linear-gradient(90deg,#ffffff17 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:-8%;transform:translateZ(-120px)rotateX(68deg)scale(1.45)}.stage-orbit{transform-style:preserve-3d;filter:blur(.5px);border-radius:999px;position:absolute}.stage-orbit-one{border:1px solid #5ee0ff8c;width:160px;height:160px;animation:11s ease-in-out infinite orbitFloat;top:10%;left:8%;transform:translateZ(80px);box-shadow:0 0 60px #5ee0ff1f}.stage-orbit-two{border:1px solid #7cf7c06b;width:240px;height:240px;animation:14s ease-in-out infinite reverse orbitFloat;top:18%;right:12%;transform:translateZ(40px);box-shadow:inset 0 0 0 1px #7cf7c01f}.stage-orbit-three{border:1px solid #ffffff47;width:110px;height:110px;animation:7.5s ease-in-out infinite orbitPulse;bottom:14%;right:28%;transform:translateZ(100px)}.stage-core{width:min(320px,72%);transform-style:preserve-3d;background:linear-gradient(145deg,#08101ef0,#08101e94);border:1px solid #ffffff1f;border-radius:32px;padding:28px;position:absolute;inset:50% auto auto 50%;transform:translate3d(-50%,-50%,140px)rotateX(16deg);box-shadow:0 30px 80px #00000061,0 0 80px #5ee0ff1f}.stage-core:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 0 0,#5ee0ff2e,#0000 46%);position:absolute;inset:0}.stage-core-kicker{color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-size:.78rem;display:inline-flex}.stage-core h3{margin-bottom:8px;font-size:clamp(1.9rem,4vw,2.6rem)}.stage-core p{color:var(--muted);line-height:1.72}.stage-float{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform-style:preserve-3d;background:#060c16c7;border:1px solid #ffffff1a;border-radius:18px;gap:4px;padding:14px 16px;display:grid;position:absolute}.stage-float span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.stage-float strong{color:var(--text);font-size:1rem}.stage-float-top{animation:8s ease-in-out infinite floatCard;top:18%;left:10%;transform:translateZ(90px)rotate(-8deg)}.stage-float-bottom{animation:9.5s ease-in-out infinite reverse floatCard;bottom:16%;right:10%;transform:translateZ(80px)rotate(7deg)}.stage-cards{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin-top:auto;display:grid;position:relative}.stage-repo{transform-style:preserve-3d;background:linear-gradient(160deg,#091222e6,#08101eb8);border:1px solid #ffffff14;border-radius:22px;gap:10px;padding:18px;display:grid;box-shadow:0 22px 50px #00000042}.stage-repo:first-child{transform:translateZ(20px)rotate(-3deg)}.stage-repo:nth-child(2){transform:translate3d(0,-10px,40px)rotate(1deg)}.stage-repo:nth-child(3){transform:translate3d(0,8px,30px)rotate(4deg)}.stage-repo-top{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;gap:12px;font-size:.76rem;display:flex}.stage-repo h3{font-size:1.15rem}.stage-repo p{color:var(--muted);line-height:1.65}.side-panel{background:var(--panel-strong);border:1px solid #ffffff14;border-radius:22px;padding:22px}.side-label{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-size:.82rem}.fact-row-compact{padding:12px 0}.portfolio-section{margin-top:24px;padding:clamp(24px,3vw,36px)}.portfolio-section-heading{margin-bottom:18px}.language-chart{width:100%;min-height:320px;display:block}.repo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.repo-card{transform-style:preserve-3d;transform-origin:50%;background:#08101ead;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;padding:22px;display:flex}.repo-top{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.repo-language,.repo-date{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.82rem}.repo-card h3{margin-top:8px;font-size:1.22rem}.repo-description{color:var(--muted);margin-top:12px}.topic-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.topic-tag{color:#dffbef;background:#7cf7c01f;border-radius:999px;padding:.42rem .74rem;font-size:.82rem}.repo-meta{color:#dce8ff;flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}@keyframes ribbonScroll{0%{transform:translate(0)}to{transform:translate(-33.333%)}}@keyframes floatCard{0%,to{transform:translateZ(90px)rotate(-8deg)translateY(0)}50%{transform:translateZ(90px)rotate(-8deg)translateY(-10px)}}@keyframes orbitFloat{0%,to{transform:translateZ(80px)translateY(0)scale(1)}50%{transform:translateZ(80px)translateY(-16px)scale(1.03)}}@keyframes orbitPulse{0%,to{opacity:.6;transform:translateZ(100px)scale(1)}50%{opacity:1;transform:translateZ(100px)scale(1.15)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:980px){.hero,.split-section,.portfolio-hero,.project-grid,.skills-grid{grid-template-columns:1fr}.stats-grid,.portfolio-metrics,.repo-grid,.stage-cards{grid-template-columns:1fr 1fr}.portfolio-stage{min-height:860px}}@media (max-width:640px){.page-shell{width:min(100% - 1rem,1180px);padding:24px 0 56px}.hero-copy,.hero-panel,.section,.contact-card,.glass-card{border-radius:22px}.stats-grid,.contact-links,.portfolio-metrics,.repo-grid,.stage-cards{grid-template-columns:1fr}.stats-grid{display:grid}.fact-row{grid-template-columns:1fr;gap:4px}h1{max-width:none}.portfolio-stage{min-height:980px;padding:16px}.portfolio-ribbon{border-radius:24px}.stage-core{width:calc(100% - 32px)}}
