:root{--background:#f7f9ff;--foreground:#102044;--primary:#234fe8;--primary-foreground:#fff;--border:#dce2ef;--input:#dce2ef;--ring:#234fe8;--radius:.5rem;--muted:#edf1f9;--muted-foreground:#596780;--secondary:#edf1f9;--secondary-foreground:#102044;--accent:#edf1f9;--accent-foreground:#102044;--destructive:#bb2536;--card:#fff;--card-foreground:#102044;--popover:#fff;--popover-foreground:#102044}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}a:focus-visible,button:focus-visible{outline-offset:5px;outline:3px solid #234fe8}.nav,main,footer{max-width:1280px;margin:auto;padding-left:5%;padding-right:5%}.nav{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:96px;display:flex}.brand{letter-spacing:-3px;font-size:36px;font-weight:800}nav{gap:32px;font-size:15px;display:flex}nav a{align-items:center;gap:6px;display:flex}.hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:65px;padding:85px 0 80px;display:grid}.eyebrow{letter-spacing:1.8px;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.dot{background:#234fe8;border-radius:50%;width:8px;height:8px}h1{letter-spacing:-3px;margin:26px 0;font-size:clamp(40px,4.7vw,65px);font-weight:700;line-height:1.09}h1 span{color:#234fe8}.actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:30px;display:flex}.primary{color:#fff;background:#234fe8;border-radius:6px;align-items:center;gap:18px;padding:15px 21px;font-size:15px;font-weight:600;display:inline-flex}.textlink{align-items:center;gap:10px;font-size:15px;display:inline-flex}.focus{color:#fff;background:#102044;border-radius:12px;padding:32px}.focus .eyebrow{color:#c9f568}.focus h2{letter-spacing:-1px;margin:24px 0 28px;font-size:32px;line-height:1.2}.focusrow{border-top:1px solid #35405a;gap:16px;padding:19px 0;display:flex}.focusrow svg{color:#c9f568;flex-shrink:0}.focusrow strong{font-size:16px}.focusrow p{color:#aebbd5;margin:7px 0 0;font-size:14px;line-height:1.5}.focusfoot{letter-spacing:1px;color:#aebbd5;border-top:1px solid #35405a;justify-content:space-between;padding-top:22px;font-size:10px;display:flex}.focusfoot span{color:#c9f568;font-size:23px}.section{border-top:1px solid var(--border);padding:65px 0}.sectionhead{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}h2{letter-spacing:-1.5px;margin:20px 0;font-size:38px;font-weight:700;line-height:1.2}.sectionhead p,.about p{color:#596780;line-height:1.8}.filters{flex-wrap:wrap;gap:8px;margin:30px 0;display:flex}.filters button{border:1px solid var(--border);background:0 0;border-radius:100px;padding:10px 16px;font-size:14px}.projects{grid-template-columns:1fr 1fr;gap:22px;display:grid}.project{border:1px solid var(--border);background:#fff;border-radius:10px;display:flex;overflow:hidden}.featured{grid-column:span 2;grid-template-columns:1fr 1fr;display:grid}.projectvisual{background:#edf1fa;flex-direction:column;justify-content:center;gap:20px;padding:24px;display:flex}.plotlabel{letter-spacing:1.5px;color:#596780;font-size:10px;font-weight:700}.projectvisual img{border-radius:5px;width:100%;height:auto}.projectbody{flex-direction:column;width:100%;padding:30px;display:flex}.projecttop{color:#63708a;justify-content:space-between;font-size:12px;display:flex}.projecttop span:first-child{color:#234fe8;font-weight:600}.project h3{letter-spacing:-.6px;margin:22px 0 12px;font-size:24px;font-weight:700;line-height:1.3}.project p{color:#596780;margin:0 0 23px;line-height:1.7}.tags{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tags span{color:#43516c;background:#eff3fb;border-radius:4px;padding:6px 9px;font-size:11px}.project a{align-items:center;gap:10px;margin-top:25px;font-size:14px;font-weight:700;display:flex}.about{grid-template-columns:1.1fr 1fr;gap:75px;display:grid}.education{border-left:3px solid #234fe8;margin-top:30px;padding-left:18px}.education span{letter-spacing:1.5px;color:#596780;margin-bottom:10px;font-size:10px;display:block}.education strong{font-size:15px;line-height:1.6;display:block}.toolbox{background:#edf1f9;border-radius:10px;padding:30px}.toolbox h3{letter-spacing:-.5px;margin:20px 0;font-size:25px;font-weight:700}.skills{flex-wrap:wrap;gap:10px;display:flex}.skills span{background:#fff;border:1px solid #d3dceb;border-radius:5px;padding:10px 13px;font-size:14px}.toolbox p{margin-top:25px;font-size:14px}.connect{color:#fff;background:#102044;border-radius:12px;margin:20px 0 70px;padding:55px}.connect h2{font-size:44px}.connect p{color:#b8c4dd;line-height:1.7}footer{border-top:1px solid var(--border);color:#596780;flex-wrap:wrap;justify-content:space-between;gap:25px;padding-top:26px;padding-bottom:30px;font-size:12px;display:flex}.editor{max-width:950px;margin:auto;padding:40px 25px}.editor h1{letter-spacing:-1px;font-size:34px}.editor label{margin:18px 0 7px;font-size:14px;font-weight:600;display:block}.editor input,.editor textarea,.editor select{color:#102044;background:#fff;border:1px solid #ccd5e5;border-radius:6px;width:100%;padding:11px}.editor textarea{min-height:110px}.editor .editcard{background:#fff;border:1px solid #dce2ef;border-radius:8px;margin:20px 0;padding:22px}.editor .bar{background:#f7f9fff2;border-top:1px solid #dce2ef;align-items:center;gap:20px;padding:16px 0;display:flex;position:sticky;bottom:0}.editor .notice{background:#edf1f9;border-radius:6px;margin:20px 0;padding:14px}.editor button:disabled{opacity:.5;cursor:wait}@media (width<=900px){.hero{grid-template-columns:1.2fr 1fr;gap:30px}h1{font-size:44px}.focus{padding:24px}.about{gap:35px}.sectionhead{align-items:start}.sectionhead p{max-width:270px;font-size:14px}}@media (width<=650px){.nav{height:76px}nav{gap:18px;font-size:13px}.hero{grid-template-columns:1fr;gap:40px;padding:50px 0}h1{letter-spacing:-2px;font-size:43px}.intro{font-size:16px}.section{padding:45px 0}.sectionhead{display:block}.sectionhead p{max-width:none}h2{font-size:32px}.projects,.featured,.about{grid-template-columns:1fr}.featured{grid-column:auto}.projectbody{padding:24px}.about{gap:28px}.connect{margin-bottom:45px;padding:30px}.connect h2{font-size:35px}.filters button{padding:9px 12px;font-size:12px}footer{font-size:11px}.editor .bar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--background:#090a10;--foreground:#ececf2;--primary:#c2a6ff;--primary-foreground:#12101a;--border:#282833;--input:#353543;--ring:#c2a6ff;--muted:#191923;--muted-foreground:#aab;--secondary:#20202c;--secondary-foreground:#eeeef4;--accent:#292535;--accent-foreground:#eeeef4;--card:#13131d;--card-foreground:#eeeef4;--popover:#181822;--popover-foreground:#eeeef4}body{color:#eeeef4;background:radial-gradient(at 75% 8%,#21163760,#0000 28%),#090a10;overflow-x:hidden}.nav,main,footer{max-width:1440px;padding-left:5%;padding-right:5%}.nav{border-bottom:1px solid #ffffff12;height:92px}.brand{letter-spacing:-3px;color:#f4f0fc}.brand span{color:#c2a6ff}nav{gap:32px;font-size:14px}nav a:hover{color:#c2a6ff}.nav-contact{border:1px solid #45424f;border-radius:100px;margin-top:-10px;margin-bottom:-10px;padding:10px 18px}.scroll-progress{transform-origin:0;z-index:50;pointer-events:none;background:#c2a6ff;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:0;min-height:740px;padding:70px 0 50px;position:relative}.hero-copy{z-index:2}.eyebrow{letter-spacing:1.6px;color:#b7b0c8;font-size:12px}.tiny-cross{color:#bda4f7;font-size:23px;line-height:1}.hero-edition{display:none}h1{letter-spacing:-3.8px;max-width:760px;margin:30px 0;font-size:clamp(44px,5.2vw,75px);font-weight:600;line-height:1.05}h1 span{color:#bba0f3;-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#d8c5ff,#aa8de1 50%,#81dcd1);-webkit-background-clip:text;background-clip:text}.intro{color:#aaa8b9;max-width:500px;font-size:17px;line-height:1.8}.primary{color:#16101f;background:#d6beff;border-radius:100px;padding:16px 24px;font-size:14px;transition:background .2s,transform .2s}.primary:hover{background:#e6d6ff;transform:translateY(-3px)}.textlink{color:#c7c3d1;font-size:14px}.hero-note{color:#8e879e;letter-spacing:.5px;gap:26px;margin-top:64px;font-size:12px;display:flex}.hero-note span:first-child{color:#ddd4ec}.scene-wrap{isolation:isolate;min-width:0;height:590px;margin-left:-25px;position:relative}.scene-wrap:before{content:"";pointer-events:none;border:1px solid #a886f512;border-radius:50%;position:absolute;inset:17% 10% 14%}.particle-canvas{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block}.particle-canvas:active{cursor:grabbing}.scene-coordinate{color:#878098;letter-spacing:1.5px;pointer-events:none;font:11px monospace;position:absolute;top:12px;left:22%}.scene-badge{pointer-events:none;background:#100f19a8;border-left:1px solid #ba95fa50;padding:12px 17px;position:absolute;top:130px;right:0}.scene-badge span{letter-spacing:1.5px;color:#867a9a;margin-bottom:7px;font-size:10px;display:block}.scene-badge strong{color:#d8c3f4;font-size:13px;font-weight:400}.scene-controls{flex-wrap:wrap;justify-content:center;gap:8px;width:max-content;max-width:100%;display:flex;position:absolute;bottom:47px;left:50%;transform:translate(-50%)}.scene-modes,.scene-tools{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#13121dbb;border:1px solid #34303f;border-radius:100px;gap:3px;padding:4px;display:flex}.scene-controls button{color:#ada5bb;background:0 0;border:0;border-radius:100px;padding:9px 12px;font-size:12px;line-height:1.2}.scene-controls button[aria-pressed=true]{color:#100e18;background:#b49add}.scene-controls button:hover{color:#fff;background:#41354f}.scene-tools button{place-items:center;min-width:32px;padding:8px 10px;display:grid}.scene-tools button:nth-child(2),.scene-tools button:nth-child(3){padding:2px 9px;font-size:20px}.scene-controls button:disabled{opacity:.5;cursor:default}.scene-hint{color:#8d829e;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;bottom:4px;left:0;right:0}.scene-fallback{text-align:center;background:#16111f;border:1px solid #3b2d51;border-radius:10px;padding:30px;position:absolute;top:35%;left:12%;right:12%}.scene-fallback span{color:#c9abff;font:12px monospace}.scene-fallback p{color:#b5a9c3;font-size:14px;line-height:1.7}.specialties{border-top:1px solid #28242f;border-bottom:1px solid #28242f;align-items:center;gap:42px;padding:26px 0;display:flex}.specialties>span{color:#c7bed9;align-items:center;gap:12px;font-size:14px;display:flex}.specialties svg{color:#b49add}.specialties .specialty-end{letter-spacing:1.3px;color:#83798f;margin-left:auto;font-size:10px}.section{border:0;padding:100px 0}.sectionhead h2,.about h2{letter-spacing:-2px;font-size:50px;font-weight:500}.soft-text{color:#8e879e}.sectionhead p,.about p{color:#aaa4b7;font-size:16px}.filters{gap:8px;margin:36px 0}.filters button{color:#aaa2b5;border-color:#34303e;padding:10px 19px;font-size:13px}.filters .active{color:#16111c;background:#d4baff;border-color:#d4baff}.filters button:hover{border-color:#b49add}.projects{perspective:1400px;gap:24px}.project{background:radial-gradient(circle at var(--mx,50%) var(--my,50%),#78609c15,transparent 60%),#121119;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;border:1px solid #302b3b;border-radius:15px;transition:transform .25s,border-color .25s;position:relative}.project:hover{border-color:#7a609b}.projectbody{padding:34px}.projecttop{color:#6f647d;font:12px monospace}.projecttop span:first-child{color:#baa2db;font:12px Arial}.project h3{letter-spacing:-.7px;color:#eee8f7;font-size:28px;font-weight:500}.project p{color:#a9a0b6;font-size:16px}.tags{gap:7px}.tags span{color:#bdaccf;background:#211b2c;border:1px solid #36283f;border-radius:100px;padding:6px 10px;font-size:12px}.project a{color:#deceee;font-size:14px}.project a:hover{color:#b996e9}.projectvisual{background:linear-gradient(145deg,#282037,#15101e);border-right:1px solid #302b3b;gap:24px;padding:30px}.plotlabel{color:#b5a3cd;font-size:11px}.plot-frame{background:#fff;border-radius:8px;padding:8px;transform:perspective(600px)rotateY(5deg)rotateX(5deg);box-shadow:0 20px 50px #0006}.plot-frame img{border-radius:3px;display:block}.visual-bottom{color:#a08bb6;letter-spacing:1px;justify-content:space-between;font:10px monospace;display:flex}.about{border-top:1px solid #28242f;gap:90px}.education{border-color:#b997e8}.education span{color:#9a8aad;font-size:11px}.education strong{color:#cec2dd;font-weight:400}.toolbox{background:linear-gradient(135deg,#1c1626,#111019);border:1px solid #32263f;border-radius:15px;padding:34px}.toolbox h3{color:#eee5f8;font-weight:500}.skills span{color:#ccbcdb;background:#201829;border-color:#3b2c48;font-size:13px;transition:transform .2s,border-color .2s}.skills span:hover{border-color:#baa0dd;transform:translateY(-4px)}.toolbox p{color:#9b8bad}.connect{background:linear-gradient(130deg,#21162e,#101016);border:1px solid #44334e;border-radius:15px;margin:0 0 70px;padding:65px;position:relative;overflow:hidden}.connect h2{letter-spacing:-2.5px;z-index:1;font-size:60px;font-weight:500;position:relative}.connect h2 span{color:#cbb0ee}.connect .eyebrow{color:#bfa1db}.connect p{color:#ae9abb}.connect .primary{color:#16111c;background:#d4baff}.connect .actions{z-index:1;position:relative}.connect-symbol{color:#b697e529;pointer-events:none;font-size:280px;line-height:1;position:absolute;top:50%;right:80px;transform:translateY(-50%)rotate(-15deg)}footer{color:#91869e;border-color:#28242f;font-size:12px}.editor{color:#e9e0f3;max-width:950px;min-height:100vh}.editor h1{-webkit-text-fill-color:initial;color:#eee4f8}.editor input,.editor textarea,.editor select{color:#e4d8ee;background:#15101e;border-color:#483651}.editor .editcard{background:#17111f;border-color:#3b2b47}.editor .bar{background:#0b0913f5;border-color:#3b2b47}.editor .notice{color:#c5b2d7;background:#21182b}.editor .error{color:#ff93a6}@media (width>=1500px){.hero-edition{color:#81758f;margin-left:20px;font-size:10px;display:inline-block}}@media (width<=1000px){.hero{grid-template-columns:1fr 1fr;min-height:660px;padding-top:50px}h1{letter-spacing:-2.5px;font-size:52px}.scene-wrap{height:520px;margin-left:0}.scene-controls{max-width:100%;bottom:60px}.scene-hint{bottom:10px}.scene-badge{top:95px;right:-5px}.specialties{gap:24px}.specialties .specialty-end{display:none}.sectionhead h2,.about h2{font-size:42px}.about{gap:40px}}@media (width<=700px){.nav{height:76px}nav{gap:17px;font-size:12px}.nav-contact{padding:8px 11px}.hero{grid-template-columns:1fr;gap:10px;padding-top:48px;padding-bottom:24px}.hero-copy{max-width:none}h1{letter-spacing:-2.5px;max-width:580px;margin:24px 0;font-size:clamp(42px,9vw,60px)}.intro{font-size:16px}.hero-note{display:none}.scene-wrap{height:440px;margin:0 -5%}.scene-coordinate{top:15px;left:10%}.scene-badge{top:80px;right:6%}.scene-controls{bottom:45px}.scene-hint{bottom:0}.specialties{flex-wrap:wrap;gap:13px;padding:20px 0}.specialties>span{gap:7px;font-size:12px}.specialties svg{width:15px}.section{padding:65px 0}.sectionhead h2,.about h2{font-size:40px}.sectionhead{display:block}.sectionhead p{max-width:none}.projects,.featured,.about{grid-template-columns:1fr}.featured{grid-column:auto}.projectvisual{border-bottom:1px solid #302b3b;border-right:0}.projectbody{padding:28px}.project h3{font-size:25px}.filters{gap:7px}.filters button{padding:9px 12px;font-size:12px}.about{gap:30px}.connect{margin-bottom:45px;padding:35px}.connect h2{font-size:43px}.connect-symbol{opacity:.5;font-size:220px;right:-45px}.connect p{z-index:1;font-size:16px;position:relative}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.project,.primary:hover,.skills span:hover{transform:none!important}}.particle-canvas{height:calc(100% - 110px);position:absolute;top:25px}.hero{min-height:650px;padding-top:45px;padding-bottom:35px}.scene-wrap{height:520px}@media (width<=700px){.hero{padding-top:48px;padding-bottom:24px}.scene-wrap{height:440px}.particle-canvas{height:calc(100% - 125px);top:25px}}.hero-name{letter-spacing:-2.6px;color:#f2edf8;max-width:620px;margin:24px 0 20px;font-size:clamp(44px,4.6vw,66px);line-height:1.08}.hero-manifesto{letter-spacing:-.5px;color:#ccc1dc;margin:0 0 20px;font-size:clamp(20px,2.1vw,29px);line-height:1.4}.hero-manifesto span{color:#9edde0}.project-story{border-top:1px solid #352c40;border-bottom:1px solid #352c40;margin:0 0 22px;padding:14px 0}.project-story summary{color:#d8c3f0;cursor:pointer;margin-left:16px;padding-left:4px;font-size:14px;line-height:1.6;list-style-position:outside}.project-story dl{margin:20px 0 4px}.project-story dt{letter-spacing:.6px;text-transform:uppercase;color:#c5a9e0;margin:18px 0 7px;font-size:12px}.project-story dd{color:#b3a7bf;margin:0;font-size:15px;line-height:1.75}.project-reports{margin:0 0 25px}.project-reports>span{letter-spacing:1.3px;color:#a292b5;font-size:11px}.project-reports a{background:#23192e;border:1px solid #3d2e4d;border-radius:6px;align-items:center;gap:9px;margin-top:10px;padding:12px 13px;font-size:13px;font-weight:400;line-height:1.5;display:flex}.project-reports a:hover{background:#30223e;border-color:#9c77c4}.project-reports a svg{flex-shrink:0;margin-left:auto}.pdf-badge{letter-spacing:.6px;color:#1a1025;background:#bda0e7;border-radius:3px;flex-shrink:0;padding:3px 5px;font:700 10px monospace}.experience{border-top:1px solid #28242f;grid-template-columns:1fr 1fr;gap:65px;padding-top:65px;display:grid}.experience article{background:#17111f;border:1px solid #3a2d47;border-radius:12px;padding:32px}.experience-date{color:#ac97c0;font-size:13px}.experience h3{margin:18px 0 9px;font-size:25px;font-weight:500}.experience strong{color:#d0bedf;font-size:16px;font-weight:500;line-height:1.6}.experience p{color:#aa9ab7;margin:18px 0;font-size:16px;line-height:1.75}.experience a{color:#ddcaee;align-items:center;gap:10px;font-size:14px;display:inline-flex}.editor-tabs{flex-wrap:wrap;justify-content:flex-start;height:auto}.edit-help{color:#a997b9;font-size:14px;line-height:1.7}.edit-report{background:#110c19;border:1px solid #3a2c46;border-radius:7px;margin:15px 0;padding:5px 18px 18px}.edit-report-heading{color:#e1cdee;margin-top:25px;font-size:18px}@media (width<=700px){.hero-name{letter-spacing:-1.6px;font-size:45px}.hero-manifesto{font-size:22px}.experience{grid-template-columns:1fr;gap:20px}.experience article{padding:26px}.project-reports a{font-size:13px}.editor-tabs{gap:3px}}
