:root,:root[data-theme=dark]{--font-display:"Space Grotesk", system-ui, sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--bg:#06080d;--bg-2:#0a0e16;--surface:#ffffff09;--surface-2:#ffffff12;--line:#ffffff17;--line-2:#ffffff2e;--text:#eef1f7;--muted:#8f98ad;--dim:#5d667b;--a1:#ffb020;--a2:#ff6a2b;--a3:#3de0ff;--a4:#8b5cf6;--grad:linear-gradient(110deg, #ffc233 0%, #ff7a2b 52%, #ff3d7f 100%);--spot:#ffb02021;--glass:#0c101a9e;--on-accent:#1a0f00;--shadow:0 40px 90px -40px #000000e6;--img-filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(1.1) saturate(1.15);--img-blend:screen;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f2ec;--bg-2:#ece9e1;--surface:#ffffffa6;--surface-2:#fff;--line:#0a0e161a;--line-2:#0a0e1638;--text:#0b0e14;--muted:#566074;--dim:#8a92a3;--a1:#e8890c;--a2:#e5481a;--a3:#0b8cab;--a4:#6d3fe0;--grad:linear-gradient(110deg, #f0a010 0%, #e5481a 55%, #d81b60 100%);--spot:#e8890c29;--glass:#ffffffb8;--on-accent:#fff;--shadow:0 40px 80px -40px #1e140059;--img-filter:none;--img-blend:multiply;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-display);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;transition:background-color .35s,color .35s;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--a1);color:#111}.portfolio-app-root{min-height:100vh;position:relative}.portfolio-app-root>section,.portfolio-app-root>footer{z-index:1;position:relative}.fx-progress{z-index:1200;background:var(--grad);transform-origin:0;height:3px;transform:scaleX(var(--progress,0));pointer-events:none;position:fixed;top:0;left:0;right:0}.fx-cursor{pointer-events:none;z-index:0;background:radial-gradient(circle, var(--spot), transparent 62%);width:620px;height:620px;transform:translate3d(var(--cx,-999px), var(--cy,-999px), 0);border-radius:50%;margin:-310px 0 0 -310px;position:fixed;top:0;left:0}.fx-grain{z-index:1100;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 28px}.section{padding:130px 0;position:relative}.mono-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--a1);font-size:11.5px;font-weight:500}.sec-head{max-width:760px;margin-bottom:64px}.sec-title{letter-spacing:-.035em;margin:14px 0 0;font-size:clamp(38px,5.4vw,68px);font-weight:600;line-height:1.02}.sec-title-xl{font-size:clamp(44px,7vw,92px)}.sec-title em,.about-lead em,.skyline-title em,.hero-role-word{font-family:var(--font-serif);letter-spacing:-.01em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;padding-right:.08em;font-style:italic;font-weight:400}.sec-sub{color:var(--muted);max-width:620px;margin-top:20px;font-size:18px}.chip{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:var(--surface);color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:11px;display:inline-flex}.chip-glass{color:#fff;background:#080a108c;border-color:#ffffff2e}.chip-live{color:var(--text)}.live-dot{background:#35e08a;border-radius:50%;flex:none;width:8px;height:8px;animation:2s infinite ping;position:relative;box-shadow:0 0 #35e08a99}@keyframes ping{70%{box-shadow:0 0 0 9px #35e08a00}to{box-shadow:0 0 #35e08a00}}.pill{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;display:inline-flex}.pill-mono{font-family:var(--font-mono);color:var(--muted);font-size:11px}.pill-gold{color:var(--a1);border-color:color-mix(in srgb, var(--a1) 35%, transparent);background:color-mix(in srgb, var(--a1) 10%, transparent)}.pill-live{color:#35e08a;background:#35e08a17;border-color:#35e08a59}.btn{letter-spacing:-.01em;isolation:isolate;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 26px;font-size:15px;font-weight:600;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;display:inline-flex;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--grad);color:var(--on-accent);box-shadow:0 12px 34px -10px #ff6a2ba6}.btn-primary:after{content:"";z-index:-1;background:linear-gradient(90deg,#0000,#ffffff80,#0000);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)skew(-20deg)}.btn-primary:hover:after{transform:translate(120%)skew(-20deg)}.btn-primary:hover{box-shadow:0 18px 44px -8px #ff6a2bcc}.btn-ghost{border:1px solid var(--line-2);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{border-color:var(--a1);background:var(--surface-2)}.btn-icon{border:1px solid var(--line-2);background:var(--surface);width:52px;height:52px;padding:0}.btn-icon:hover{border-color:var(--a1);color:var(--a1)}.btn-block{width:100%}.cta-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:56px;display:flex}.cta-row-left{justify-content:flex-start;margin-top:28px}.spot{isolation:isolate;position:relative}.spot:after{content:"";border-radius:inherit;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), var(--spot), transparent 65%);transition:opacity .35s;position:absolute;inset:0}.spot:hover:after{opacity:1}.reveal-on-scroll{opacity:0}.reveal-on-scroll.animate-in{animation:.95s cubic-bezier(.2,.75,.2,1) both rise}.delay-100.animate-in{animation-delay:.1s}.delay-200.animate-in{animation-delay:.2s}.delay-300.animate-in{animation-delay:.3s}.delay-400.animate-in{animation-delay:.4s}@keyframes rise{0%{opacity:0;translate:0 36px}to{opacity:1;translate:0}}.nav-wrap{z-index:1000;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;top:16px;left:0;right:0}.nav-pill{pointer-events:auto;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(22px)saturate(1.5);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:26px;padding:8px 8px 8px 12px;transition:padding .3s,background .3s;display:flex}.nav-brand{align-items:center;gap:10px;display:flex}.nav-mark{background:var(--grad);width:38px;height:38px;color:var(--on-accent);border-radius:12px;place-items:center;font-size:19px;font-weight:700;transition:transform .4s;display:grid;transform:rotate(-6deg)}.nav-brand:hover .nav-mark{transform:rotate(6deg)scale(1.08)}.nav-brand-text{letter-spacing:-.02em;font-size:16px;font-weight:600}.nav-brand-text em{font-family:var(--font-serif);color:var(--a1);margin-left:5px;font-size:19px;font-style:italic;font-weight:400}.nav-links{align-items:center;gap:2px;display:flex}.nav-link{color:var(--muted);border-radius:999px;padding:9px 16px;font-size:14.5px;font-weight:500;transition:color .2s,background .2s}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.nav-actions{align-items:center;gap:8px;display:flex}.nav-theme{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:50%;place-items:center;transition:all .25s;display:grid}.nav-theme:hover{color:var(--a1);border-color:var(--a1);transform:rotate(25deg)}.nav-cta{background:var(--text);color:var(--bg);border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:transform .25s,background .25s;display:inline-flex}.nav-cta:hover{background:var(--a1);color:#111;transform:translateY(-1px)}.hero{flex-direction:column;min-height:100svh;padding:140px 0 0;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-bg-img{object-fit:cover;opacity:.3;width:116%;height:112%;filter:var(--img-filter);mix-blend-mode:var(--img-blend);translate:0 calc(var(--sy,0) * .12px);animation:36s ease-in-out infinite alternate kenburns;position:absolute;inset:-6% -8%;-webkit-mask-image:radial-gradient(85% 75% at 62% 38%,#000 25%,#0000 78%);mask-image:radial-gradient(85% 75% at 62% 38%,#000 25%,#0000 78%)}:root[data-theme=light] .hero-bg-img{opacity:.5}@keyframes kenburns{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-bg-grid{opacity:.5;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 40%,#000,#0000 75%)}.aurora{filter:blur(90px);opacity:.5;border-radius:50%;position:absolute}.aurora-a{background:radial-gradient(circle, var(--a2), transparent 68%);width:520px;height:520px;animation:14s ease-in-out infinite alternate drift;top:8%;right:6%}.aurora-b{background:radial-gradient(circle, var(--a4), transparent 68%);opacity:.3;width:480px;height:480px;animation:18s ease-in-out infinite alternate-reverse drift;bottom:8%;left:-6%}:root[data-theme=light] .aurora{opacity:.28}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(-60px,50px)scale(1.18)}}.hero-bg-fade{background:linear-gradient(to top, var(--bg), transparent);height:240px;position:absolute;inset:auto 0 0}.hero-inner{z-index:2;flex:1;grid-template-columns:1.08fr .92fr;align-items:center;gap:24px;width:100%;max-width:1240px;margin:0 auto;padding:0 28px;display:grid;position:relative}.hero-copy{padding-bottom:40px}.hero-hello{color:var(--muted);margin:30px 0 4px}.hero-title{letter-spacing:-.055em;flex-direction:column;font-size:clamp(76px,12.5vw,188px);font-weight:700;line-height:.86;display:flex}.hero-title-line{animation:1.1s cubic-bezier(.2,.8,.2,1) both titleIn;display:block}.hero-title-line:nth-child(2){animation-delay:.12s}@keyframes titleIn{0%{opacity:0;translate:0 60px}to{opacity:1;translate:0}}.hero-title-grad{background:var(--grad);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em;animation:1.1s cubic-bezier(.2,.8,.2,1) .12s both titleIn,6s linear infinite sheen}.hero-title-grad i{color:var(--a3);-webkit-text-fill-color:var(--a3);font-style:normal}@keyframes sheen{to{background-position:-200% 0}}.hero-role{align-items:baseline;gap:14px;min-height:52px;margin:26px 0 22px;display:flex;overflow:hidden}.hero-role-prefix{color:var(--a1);font-size:26px}.hero-role-word{font-size:clamp(30px,3.6vw,46px);line-height:1.1;animation:.7s cubic-bezier(.2,.8,.2,1) both wordIn}@keyframes wordIn{0%{opacity:0;translate:0 100%}to{opacity:1;translate:0}}.hero-desc{color:var(--muted);max-width:560px;font-size:18.5px;line-height:1.7}.hero-cta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:38px;display:flex}.hero-visual{justify-content:center;align-self:end;align-items:flex-end;display:flex}.hero-stage{--rx:0deg;--ry:0deg;aspect-ratio:1/1.08;width:100%;max-width:540px;transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .35s ease-out;position:relative}.hero-halo{aspect-ratio:1;background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--a1) 55%, transparent), color-mix(in srgb, var(--a2) 28%, transparent) 55%, transparent 72%);filter:blur(6px);opacity:.85;border-radius:50%;position:absolute;bottom:0;left:6%;right:6%}.hero-ring{aspect-ratio:1;border:1.5px dashed var(--line-2);border-radius:50%;position:absolute;bottom:-4%;left:50%;translate:-50%}.hero-ring-1{width:96%;animation:50s linear infinite spin}.hero-ring-2{border-style:solid;border-color:color-mix(in srgb, var(--a3) 40%, transparent);border-bottom-color:#0000;border-left-color:#0000;width:78%;animation:22s linear infinite reverse spin}@keyframes spin{to{rotate:360deg}}.hero-portrait-clip{justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0;transform:translateZ(40px)}.hero-portrait{filter:drop-shadow(0 30px 50px #00000080);width:96%;height:auto;animation:1.3s cubic-bezier(.2,.8,.2,1) .2s both portraitIn;-webkit-mask-image:linear-gradient(0deg,#0000 0,#000 9%);mask-image:linear-gradient(0deg,#0000 0,#000 9%)}@keyframes portraitIn{0%{opacity:0;translate:0 50px;scale:.96}to{opacity:1;translate:0;scale:1}}.float-card,.float-pin{z-index:5;background:var(--glass);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:11px;padding:11px 16px 11px 12px;animation:6s ease-in-out infinite floaty;display:flex;position:absolute;transform:translateZ(90px)}.float-card b{font-size:13.5px;font-weight:600;line-height:1.2;display:block}.float-card small{color:var(--muted);font-size:11.5px;display:block}.fc-ico{background:var(--grad);width:34px;height:34px;color:var(--on-accent);border-radius:10px;flex:none;place-items:center;display:grid}.fc-1{bottom:14%;left:-6%}.fc-2{animation-delay:-2s;top:18%;right:-2%}.fc-2 .fc-ico{background:linear-gradient(135deg, var(--a3), var(--a4));color:#fff}.fc-3{animation-delay:-4s;bottom:30%;right:-4%}.fc-3 .fc-ico{background:linear-gradient(135deg, #35e08a, var(--a3));color:#04201a}.float-pin{font-family:var(--font-mono);color:var(--muted);border-radius:999px;padding:8px 14px;font-size:11px;animation-delay:-1s;top:12%;left:4%}@keyframes floaty{0%,to{translate:0}50%{translate:0 -12px}}.hero-stats{z-index:2;border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);width:100%;max-width:1240px;margin:20px auto 0;padding:0 28px;display:grid;position:relative}.hero-stat{border-left:1px solid var(--line);padding:26px 0 26px 24px}.hero-stat:first-child{border-left:0;padding-left:0}.hero-stat b{letter-spacing:-.04em;background:var(--grad);color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,4.4vw,56px);font-weight:600;line-height:1;display:block}.hero-stat span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-size:11px;display:block}.marquee{z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:20px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{width:max-content;animation:42s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track span{letter-spacing:-.02em;color:var(--muted);white-space:nowrap;align-items:center;gap:28px;padding-right:28px;font-size:clamp(20px,2.4vw,30px);font-weight:500;display:inline-flex}.marquee-track i{color:var(--a1);font-size:16px;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.about-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:64px;display:grid}.about-lead{letter-spacing:-.03em;margin-bottom:28px;font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.15}.about-lead em{font-size:1.08em}.about-story p{color:var(--muted);margin-bottom:20px;font-size:17.5px;line-height:1.8}.about-story p:first-of-type:first-letter{font-family:var(--font-serif);float:left;color:var(--a1);padding:6px 12px 0 0;font-size:3.4em;line-height:.85}.about-visual{position:sticky;top:120px}.about-photo{aspect-ratio:5/6.4;border:1px solid var(--line-2);box-shadow:var(--shadow);border-radius:28px;overflow:hidden}.about-photo img{object-fit:cover;object-position:center 46%;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);transform:scale(1.38)}.about-photo:hover img{transform:scale(1.46)rotate(.6deg)}.about-photo-shade{z-index:1;background:linear-gradient(#0000 55%,#05070cb8);position:absolute;inset:0}.about-photo-tag{z-index:3;color:#fff;position:absolute;bottom:20px;left:22px}.comp-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:96px 0;display:grid}.comp{background:var(--surface);border:1px solid var(--line);border-radius:20px;align-items:center;gap:12px;padding:20px 22px;font-weight:500;transition:transform .3s,border-color .3s;display:flex}.comp:hover{border-color:var(--a1);transform:translateY(-4px)}.comp-num{color:var(--dim)}.comp-ico{color:var(--a1);flex:none}.edu-head{align-items:center;gap:18px;margin-bottom:44px;display:flex}.edu-badge{background:var(--grad);width:56px;height:56px;color:var(--on-accent);border-radius:18px;place-items:center;display:grid}.edu-title{letter-spacing:-.03em;font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.1}.timeline{max-width:920px;padding-left:40px;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--a1), var(--a3) 60%, transparent);opacity:.55;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.tl-item{margin-bottom:18px;position:relative}.tl-node{background:var(--bg);border:3px solid var(--a1);width:16px;height:16px;box-shadow:0 0 0 6px color-mix(in srgb, var(--a1) 15%, transparent);border-radius:50%;position:absolute;top:30px;left:-40px}.tl-node-live{background:#35e08a;border-color:#35e08a;animation:2s infinite ping;box-shadow:0 0 0 6px #35e08a2e}.tl-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px 28px;transition:transform .35s,border-color .35s}.tl-card:hover{border-color:var(--line-2);transform:translate(8px)}.tl-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tl-top h4{letter-spacing:-.02em;font-size:21px;font-weight:600}.tl-meta{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 12px;display:flex}.tl-inst{color:var(--a1);font-weight:500}.tl-card p{color:var(--muted)}.skills{background:linear-gradient(to bottom, transparent, var(--bg-2) 20%, var(--bg-2) 80%, transparent)}.skills-layout{grid-template-columns:.8fr 1.2fr;align-items:stretch;gap:28px;display:grid}.skills-photo{border:1px solid var(--line-2);min-height:520px;box-shadow:var(--shadow);border-radius:28px;overflow:hidden}.skills-photo img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.skills-photo:hover img{transform:scale(1.07)}.skills-photo-shade{z-index:1;background:linear-gradient(#0000 45%,#05070cd9);position:absolute;inset:0}.skills-photo-cap{z-index:3;color:#fff;position:absolute;bottom:24px;left:26px;right:26px}.skills-photo-cap b{letter-spacing:-.02em;margin-top:6px;font-size:26px;font-weight:600;line-height:1.15;display:block}.skills-stack{flex-direction:column;gap:16px;display:flex}.skill-card{--ac:var(--a1);background:var(--surface);border:1px solid var(--line);border-radius:24px;flex:1;padding:28px;transition:transform .35s,border-color .35s}.skill-card.accent-cyan{--ac:var(--a3)}.skill-card.accent-violet{--ac:var(--a4)}.skill-card:hover{border-color:color-mix(in srgb, var(--ac) 60%, transparent);transform:translateY(-4px)}.skill-head{align-items:center;gap:16px;margin-bottom:22px;display:flex}.skill-ico{width:48px;height:48px;color:var(--ac);background:color-mix(in srgb, var(--ac) 14%, transparent);border:1px solid color-mix(in srgb, var(--ac) 35%, transparent);border-radius:15px;flex:none;place-items:center;display:grid}.skill-head h4{letter-spacing:-.02em;font-size:19px;font-weight:600;line-height:1.2}.skill-head p{color:var(--muted);font-size:13.5px}.skill-pills{flex-wrap:wrap;gap:9px;display:flex}.skill-pill{border:1px solid var(--line-2);background:var(--surface);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:500;transition:all .25s}.skill-pill:hover{background:var(--ac,var(--a1));color:var(--on-accent);border-color:#0000;transform:translateY(-2px)}.ms-grid{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.ms-card{border:1px solid var(--line-2);background:#0a0d14;border-radius:28px;min-height:440px;transition:transform .4s;position:relative;overflow:hidden}.ms-1{grid-column:span 7}.ms-2,.ms-3{grid-column:span 5}.ms-4{grid-column:span 7}.ms-card:hover{transform:translateY(-6px)}.ms-img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.ms-1 .ms-img{object-position:center 30%}.ms-2 .ms-img{object-position:center 25%}.ms-3 .ms-img{object-position:center 20%}.ms-4 .ms-img{object-position:center 40%}.ms-card:hover .ms-img{transform:scale(1.08)}.ms-shade{z-index:1;background:linear-gradient(#0000,#04060a40 45%,#04060aeb 92%);position:absolute;inset:0}.ms-index{z-index:3;letter-spacing:-.05em;color:#0000;-webkit-text-stroke:1.5px #ffffff59;font-size:74px;font-weight:700;line-height:1;position:absolute;top:18px;right:24px}.ms-body{z-index:3;color:#fff;padding:30px;position:absolute;bottom:0;left:0;right:0}.ms-body h3{letter-spacing:-.03em;margin:14px 0 8px;font-size:clamp(22px,2.4vw,30px);font-weight:600;line-height:1.1}.ms-body p{color:#ffffffb8;max-width:520px;font-size:15px}.gal-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:18px;display:grid}.gal-card{border:1px solid var(--line-2);background:#0a0d14;border-radius:26px;margin:0;transition:transform .4s;position:relative;overflow:hidden}.gal-1{grid-row:span 2}.gal-4{grid-column:span 2}.gal-card:hover{transform:translateY(-5px)}.gal-card img{object-fit:cover;width:100%;height:100%;transition:transform 1.3s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.gal-card:hover img{transform:scale(1.09)}.gal-shade{z-index:1;background:linear-gradient(#04060a1a 40%,#04060aeb);position:absolute;inset:0}.gal-card figcaption{z-index:3;color:#fff;padding:24px;position:absolute;bottom:0;left:0;right:0}.gal-card h3{letter-spacing:-.02em;margin:8px 0 0;font-size:20px;font-weight:600;line-height:1.2}.gal-card p{opacity:0;color:#ffffffbf;max-height:0;font-size:14px;transition:max-height .5s,opacity .5s,margin .5s;overflow:hidden}.gal-card:hover p,.gal-card:focus-within p{opacity:1;max-height:120px;margin-top:10px}.page-top{min-height:100vh;padding-top:170px}.page-glow{pointer-events:none;z-index:0;background:radial-gradient(ellipse, color-mix(in srgb, var(--a2) 22%, transparent), transparent 65%);filter:blur(30px);width:900px;height:560px;position:absolute;top:-10%;left:50%;translate:-50%}.page-top .wrap{z-index:1;position:relative}.exp-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.exp-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;justify-content:space-between;gap:22px;padding:32px;transition:transform .4s,border-color .4s;display:flex;overflow:hidden}.exp-card:hover{border-color:var(--line-2);transform:translateY(-6px)}.exp-current{border-color:color-mix(in srgb, var(--a1) 45%, transparent);background:linear-gradient(150deg, color-mix(in srgb, var(--a1) 10%, transparent), var(--surface) 60%)}.exp-main{flex:1;min-width:0}.exp-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;display:flex}.exp-ico{background:var(--grad);width:50px;height:50px;color:var(--on-accent);border-radius:16px;place-items:center;display:grid}.exp-card h3{letter-spacing:-.03em;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 6px;font-size:25px;font-weight:600;line-height:1.15;display:flex}.exp-card h3 a{border:1px solid var(--line-2);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;transition:all .25s;display:grid}.exp-card h3 a:hover{color:var(--a1);border-color:var(--a1)}.exp-card h4{font-family:var(--font-serif);color:var(--a1);margin-bottom:12px;font-size:22px;font-style:italic;font-weight:400}.exp-card p{color:var(--muted)}.exp-thumb{border:1px solid var(--line);border-radius:20px;flex:none;align-self:stretch;width:132px;overflow:hidden}.exp-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.exp-card:hover .exp-thumb img{transform:scale(1.12)}.exp-thumb-logo{background:#fff;align-self:center;place-items:center;height:132px;padding:16px;display:grid}.exp-thumb-logo img{object-fit:contain}.lead{margin-top:140px}.lead-table{border-top:1px solid var(--line)}.lead-row{border-bottom:1px solid var(--line);border-radius:4px;grid-template-columns:40px 150px 1.3fr 1fr 28px;align-items:center;gap:20px;padding:26px 18px;transition:background .3s,padding .3s;display:grid}.lead-row:hover{background:var(--surface);padding-left:28px}.lead-role b{letter-spacing:-.02em;font-size:20px;font-weight:600;display:block}.lead-role span,.lead-domain{color:var(--muted);font-size:14.5px}.lead-arrow{color:var(--dim);transition:all .3s}.lead-row:hover .lead-arrow{color:var(--a1);transform:translate(4px,-4px)}.lead-idx{color:var(--dim)}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:999px;gap:4px;margin-top:34px;padding:5px;display:inline-flex}.tab{color:var(--muted);border-radius:999px;padding:10px 22px;font-size:14px;font-weight:500;transition:all .25s}.tab:hover{color:var(--text)}.tab.active{background:var(--grad);color:var(--on-accent);font-weight:600}.contact-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:24px;display:grid}.form-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:30px;padding:40px}.form-card h2{letter-spacing:-.03em;font-size:30px;font-weight:600}.form-sub{color:var(--muted);margin:6px 0 28px}.form{flex-direction:column;gap:18px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.field input,.field textarea{border:1px solid var(--line-2);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:16px;outline:none;padding:15px 18px;font-size:15.5px;transition:border-color .25s,box-shadow .25s}.field input::placeholder,.field textarea::placeholder{color:var(--dim)}.field input:focus,.field textarea:focus{border-color:var(--a1);box-shadow:0 0 0 4px color-mix(in srgb, var(--a1) 18%, transparent)}.map-frame{border:1px solid var(--line-2);border-radius:26px;overflow:hidden}.map-frame iframe{display:block}:root[data-theme=dark] .map-frame iframe{filter:invert(.92)hue-rotate(180deg)saturate(.7)contrast(.95)}.meta-list{flex-direction:column;gap:12px;margin-top:24px;display:flex}.meta{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:4px;padding:18px 22px;display:flex}.meta a,.meta>span:last-child{font-size:17px;font-weight:500}.meta a:hover{color:var(--a1)}.dock{z-index:900;background:var(--glass);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow);border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;bottom:22px;left:50%;translate:-50%}.dock a{border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .25s;display:inline-flex}.dock a:hover{background:var(--grad);color:var(--on-accent)}.contact{padding-bottom:150px}.footer{padding-bottom:36px}.skyline{margin-top:60px;padding:150px 0 110px;position:relative;overflow:hidden}.skyline-bg{pointer-events:none;background:radial-gradient(ellipse 60% 70% at 85% 30%, color-mix(in srgb, var(--a2) 20%, transparent), transparent 70%), radial-gradient(ellipse 50% 60% at 10% 90%, color-mix(in srgb, var(--a4) 14%, transparent), transparent 70%), linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 64px 64px, linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 25% 75%,#0000);mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.skyline-inner{z-index:2;position:relative}.skyline-title{letter-spacing:-.045em;max-width:900px;margin:26px 0 24px;font-size:clamp(40px,6.4vw,94px);font-weight:600;line-height:.98}.skyline-title em{margin-top:6px;display:block}.skyline-inner>p{color:var(--muted);max-width:560px;font-size:18px}.ft-cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ft-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px;transition:transform .3s,border-color .3s;display:block}.ft-link:hover{border-color:var(--a1);transform:translateY(-4px)}.ft-card-top{align-items:center;gap:12px;margin-bottom:18px;display:flex}.ft-ico{background:color-mix(in srgb, var(--a1) 14%, transparent);width:38px;height:38px;color:var(--a1);border:1px solid color-mix(in srgb, var(--a1) 30%, transparent);border-radius:12px;place-items:center;display:grid}.ft-card-body{justify-content:space-between;align-items:center;gap:10px;display:flex}.ft-val{letter-spacing:-.01em;word-break:break-all;font-size:17px;font-weight:500}.ft-arrow{color:var(--dim);flex:none;transition:all .3s}.ft-link:hover .ft-arrow{color:var(--a1);transform:translate(3px,-3px)}.ft-copy{border:1px solid var(--line-2);border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 13px;font-size:12.5px;font-weight:500;transition:all .25s;display:inline-flex}.ft-copy:hover{border-color:var(--a1);color:var(--a1)}.ft-copy.copied{color:#04201a;background:#35e08a;border-color:#35e08a}.ft-base{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;margin-top:56px;padding-top:32px;display:flex}.ft-id{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ft-id b{letter-spacing:-.02em;font-size:20px;font-weight:600}.ft-id>span:nth-child(2){color:var(--muted)}.ft-nav{flex-wrap:wrap;gap:26px;display:flex}.ft-nav a{color:var(--muted);font-size:15px;transition:color .2s}.ft-nav a:hover{color:var(--a1)}.ft-social{gap:10px;display:flex}.ft-social a,.ft-top{border:1px solid var(--line-2);width:42px;height:42px;color:var(--muted);border-radius:50%;place-items:center;transition:all .25s;display:grid}.ft-social a:hover,.ft-top:hover{color:var(--on-accent);background:var(--grad);border-color:#0000;transform:translateY(-3px)}.ft-copy-note{text-align:center;font-family:var(--font-mono);letter-spacing:.06em;color:var(--dim);margin-top:30px;font-size:11.5px}@media (hover:none){.fx-cursor,.spot:after{display:none}}@media (width<=1080px){.hero-inner{grid-template-columns:1fr;gap:0}.hero-visual{margin-top:10px}.hero-stage{max-width:460px}.about-grid,.skills-layout,.contact-grid{grid-template-columns:1fr}.about-visual{max-width:520px;position:relative;top:0}.skills-photo{min-height:420px}.comp-grid{grid-template-columns:repeat(2,1fr)}.exp-grid{grid-template-columns:1fr}.lead-row{grid-template-columns:34px 140px 1fr 24px}.lead-domain{display:none}.ft-cards{grid-template-columns:1fr}}@media (width<=820px){.section{padding:90px 0}.ms-grid{grid-template-columns:1fr}.ms-1,.ms-2,.ms-3,.ms-4{grid-column:auto;min-height:380px}.gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.gal-1{grid-row:span 2}.gal-4{grid-column:span 2}.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-stat:nth-child(3){border-left:0;padding-left:0}.hero-stat{border-top:0}.nav-brand-text{display:none}}@media (width<=640px){.wrap{padding:0 20px}.hero{padding-top:118px}.hero-inner,.hero-stats{padding:0 20px}.nav-pill{gap:8px;padding:6px 6px 6px 8px}.nav-link{padding:8px 11px;font-size:13.5px}.nav-cta span{display:none}.nav-cta{padding:11px}.comp-grid,.form-row{grid-template-columns:1fr}.gal-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gal-1{grid-row:span 1}.gal-4{grid-column:auto}.gal-card p{opacity:1;max-height:120px;margin-top:10px}.exp-card{flex-direction:column;padding:26px}.exp-thumb{align-self:auto;width:100%;height:160px}.exp-thumb-logo{height:110px}.float-card small{display:none}.float-card{padding:8px 12px 8px 8px}.fc-1{left:-2%}.fc-2,.fc-3{right:-2%}.form-card{padding:28px 22px}.timeline{padding-left:32px}.tl-node{left:-32px}.tl-card{padding:22px 20px}.lead-row{grid-template-columns:1fr 24px}.lead-idx,.lead-period{display:none}.tabs{display:flex;overflow-x:auto}.skyline{padding:110px 0 80px}.dock a span{display:none}}@media (width<=480px){.nav-link[href=\/]{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal-on-scroll{opacity:1}}.pj .sec-head,.pj-head{max-width:760px;margin-bottom:48px}.pj .tabs{margin-top:30px}.pj .tab.active{background:var(--text);color:var(--bg)}.pj-feat{border:1px solid var(--line-2);background:var(--surface-2);border-radius:28px;grid-template-columns:1fr 1fr;gap:0;margin-bottom:56px;display:grid;overflow:hidden}:root[data-theme=dark] .pj-feat{background:var(--bg-2)}.pj-feat-photo{background:#0a0d14;min-height:420px;position:relative;overflow:hidden}.pj-feat-photo img{object-fit:cover;object-position:center top;transform-origin:top;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.1)}.pj-feat-text{flex-direction:column;padding:44px 44px 40px;display:flex}.pj-feat-text h2{letter-spacing:-.035em;margin:12px 0 4px;font-size:clamp(28px,3.2vw,42px);font-weight:600;line-height:1.08}.pj-feat-cap{font-family:var(--font-serif);color:var(--a1);margin-bottom:16px;font-size:26px;font-style:italic}.pj-feat-desc{color:var(--muted);font-size:15.5px;line-height:1.75}.pj-specs{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:28px 0 22px;display:grid}.pj-specs>div{border-bottom:1px solid var(--line);padding:16px 0}.pj-specs>div:nth-child(odd){border-right:1px solid var(--line);padding-right:16px}.pj-specs>div:nth-child(2n){padding-left:20px}.pj-specs dt{letter-spacing:-.02em;font-size:20px;font-weight:600}.pj-specs dd{color:var(--muted);margin-top:2px;font-size:12.5px}.pj-tools{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);margin-top:auto;font-size:11.5px;line-height:1.8}.pj-list{border-top:1px solid var(--line-2)}.pj-row{border-bottom:1px solid var(--line);grid-template-columns:170px 1fr 220px;gap:32px;padding:34px 0;transition:background .25s;display:grid}.pj-row:hover{background:var(--surface)}.pj-row-meta{flex-direction:column;gap:6px;padding-left:6px;display:flex}.pj-cat{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.pj-cap{letter-spacing:-.02em;color:var(--a1);font-size:20px;font-weight:600}.pj-row-main h3{letter-spacing:-.025em;margin-bottom:8px;font-size:23px;font-weight:600;line-height:1.2}.pj-row-main p{color:var(--muted);max-width:640px;font-size:15.5px}.pj-row-tools{font-family:var(--font-mono);color:var(--dim);text-align:right;padding-right:6px;font-size:11.5px;line-height:1.9}@media (width<=960px){.pj-feat{grid-template-columns:1fr}.pj-feat-photo{min-height:260px}.pj-feat-text{padding:30px 24px}.pj-row{grid-template-columns:1fr;gap:10px;padding:26px 0}.pj-row-meta{flex-direction:row;align-items:baseline;gap:14px;padding-left:0}.pj-row-tools{text-align:left;padding-right:0}}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.btn[disabled]{opacity:.7;cursor:progress;transform:none}.form-status{border:1px solid var(--line-2);border-radius:14px;padding:14px 18px;font-size:14.5px;line-height:1.5}.form-status-success{color:#35e08a;background:#35e08a14;border-color:#35e08a66}.form-status-error{color:#ff6b6b;background:#ff6b6b14;border-color:#ff6b6b66}:root[data-theme=light] .form-status-success{color:#0b7a43}:root[data-theme=light] .form-status-error{color:#c0392b}.field-error{color:#ff6b6b;font-size:13px;font-style:normal;line-height:1.4}:root[data-theme=light] .field-error{color:#c0392b}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#ff6b6b}.field input[aria-invalid=true]:focus,.field textarea[aria-invalid=true]:focus{box-shadow:0 0 0 4px #ff6b6b2e}
