:root{color-scheme:dark;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;--bg: #050505;--panel: rgba(255, 255, 255, .05);--panel-strong: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .12);--text: #f6f3f1;--muted: rgba(246, 243, 241, .66);--accent: #d42cff;--accent-soft: rgba(212, 44, 255, .18);--cyan: #52d9ff;--max: 1700px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:var(--text)}a{color:inherit;text-decoration:none}img{display:block;width:100%}.page-shell{min-height:100vh}.frame{width:min(calc(100% - 72px),var(--max));margin:0 auto}.hero{position:relative;min-height:100vh;overflow:hidden;padding-bottom:40px}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;opacity:0;animation:none}.hero-noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:120px 120px;-webkit-mask-image:radial-gradient(circle at center,black 30%,transparent 88%);mask-image:radial-gradient(circle at center,black 30%,transparent 88%);opacity:.35;animation:noiseShift 14s linear infinite}.hero-elements{position:absolute;inset:0 auto 0 50%;width:min(100vw,1680px);transform:translate(-50%);z-index:0;overflow:hidden;pointer-events:none}.hero-elements:before,.hero-elements:after{content:"";position:absolute;inset:auto;border-radius:50%;pointer-events:none}.hero-elements:before{left:50%;top:24%;width:min(42vw,660px);height:min(42vw,660px);background:radial-gradient(circle,rgba(215,55,255,.16) 0%,rgba(215,55,255,.06) 38%,transparent 72%);transform:translate(calc(-50% + var(--mx, 0) * 10px));filter:blur(24px)}.hero-elements:after{left:50%;bottom:6%;width:min(74vw,1180px);height:min(18vw,260px);background:radial-gradient(circle,rgba(59,219,255,.16) 0%,rgba(59,219,255,.04) 44%,transparent 76%);transform:translate(calc(-50% + var(--mx, 0) * -12px));filter:blur(28px)}.hero-element{position:absolute;display:block;mix-blend-mode:screen;opacity:.98;-webkit-user-select:none;user-select:none}.hero-element-figure{left:56%;top:28%;width:min(30vw,480px);filter:drop-shadow(0 0 28px rgba(255,70,247,.18));transform:translate3d(calc(-50% + var(--mx, 0) * 18px),calc(var(--my, 0) * 12px),0);animation:floatFigure 8s ease-in-out infinite}.hero-element-tablet{left:17%;top:44%;width:min(28vw,510px);opacity:.9;filter:drop-shadow(0 0 20px rgba(47,220,255,.22));transform:translate3d(calc(var(--mx, 0) * -24px),calc(var(--my, 0) * 10px),0);animation:floatTablet 11s ease-in-out infinite}.hero-element-callme{left:28%;top:30%;width:min(10vw,176px);filter:drop-shadow(0 0 18px rgba(184,255,76,.24));transform:translate3d(calc(var(--mx, 0) * -18px),calc(var(--my, 0) * -8px),0);animation:floatCallout 6s ease-in-out infinite}.nav,.hero-content{position:relative;z-index:1}.nav{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:22px 0}.hero-nav{position:fixed;top:18px;left:50%;transform:translate(-50%);width:fit-content;justify-content:center;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#141416bd;box-shadow:0 20px 44px #00000047,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-width:106px;min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;color:#f6f3f1e0;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.nav-link:hover{transform:translateY(-2px);border-color:#d258ff66;background:linear-gradient(135deg,#7e16c657,#ff7a5833);color:#fff;box-shadow:0 14px 26px #7e16c638}.nav-link.is-active{border-color:#d65fff80;background:linear-gradient(135deg,#7612bab3,#d538ff7a 52%,#ff7f6057);color:#fff;box-shadow:0 14px 30px #7e16c642,inset 0 1px #ffffff14}.nav-pill,.nav-menu{display:flex;align-items:center;gap:14px;height:72px;padding:0 28px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#1c1c1de0;box-shadow:0 20px 40px #00000052,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-home{min-width:168px;color:#d9dce0;font-size:1rem;font-weight:600}.nav-dot{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 50% 50%,#b8bdc7 0 28%,rgba(255,255,255,.12) 33%,transparent 36%);box-shadow:inset 0 0 16px #ffffff1f}.nav-menu{width:72px;padding:0;justify-content:center;border:0;cursor:default}.nav-menu span{display:block;width:24px;height:2px;border-radius:999px;background:#d9dce0}.nav-menu span+span{margin-top:6px}.button,.text-link,.eyebrow,.section-index,.project-id,.strength-no{letter-spacing:.06em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:1px solid transparent;border-radius:999px;background:linear-gradient(135deg,#f4f0ee,#d42cff);color:#060606;font-size:.9rem;font-weight:700}.button-ring{position:relative;isolation:isolate;overflow:visible;color:#fff;border:2px solid rgba(255,255,255,.96);background:linear-gradient(115deg,#7b1ec8,#a20fff 36%,#cf35ff 62%,#ff875e);box-shadow:0 0 0 4px #ffffff0a,0 16px 34px #7a1ab642}.button-ring:before,.button-ring:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;pointer-events:none}.button-ring:before{top:-6px;right:-6px;bottom:-6px;left:-6px;border:2px solid rgba(255,255,255,.98);box-shadow:0 0 0 1px #ffffff0d,0 0 18px #ffffff0f}.button-ring:after{background:conic-gradient(from 0deg,transparent 0deg 320deg,rgba(255,255,255,.04) 330deg,rgba(255,255,255,.96) 343deg,rgba(255,255,255,.22) 352deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:2px;opacity:.98;filter:drop-shadow(0 0 8px rgba(255,255,255,.94)) drop-shadow(0 0 16px rgba(255,255,255,.32));animation:ringTrace 2.9s linear infinite}.button-ring:hover:before{box-shadow:0 0 0 1px #ffffff14,0 0 20px #ffffff1a}.button-ring:hover:after{animation-duration:2.3s;filter:drop-shadow(0 0 10px rgba(255,255,255,1)) drop-shadow(0 0 20px rgba(255,255,255,.4))}.footer-breathe{position:relative;animation:footerBreath 3s ease-in-out infinite;box-shadow:0 0 #df6eff14,0 12px 24px #7b18b124}.footer-breathe-ghost{animation-duration:3.6s}.button-ghost{background:#ffffff0d;color:var(--text);border-color:#ffffff1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-content{display:block;min-height:calc(100vh - 94px);padding:108px 0 0}#home,#about,#experience,#projects,#strengths{scroll-margin-top:110px}.hero-copy h1{max-width:none;margin:4px 0 0;color:#b8c2cd;font-size:clamp(5.2rem,11vw,11.6rem);line-height:.9;font-weight:800;letter-spacing:-.05em;text-transform:uppercase;text-align:center;text-shadow:0 0 32px rgba(255,255,255,.06)}.typing-text{display:inline-block;overflow:hidden;white-space:nowrap;border-right:.08em solid rgba(216,226,234,.88);width:0}.section-title-hero{opacity:0;transform:translateY(28px)}.section-title-hero.is-visible{animation:heroTitleIn .9s cubic-bezier(.22,1,.36,1) forwards}.section-title-hero.is-visible .typing-text{animation:typing 2.8s steps(14,end) .16s forwards,caretBlink .9s step-end infinite}.hero-figure{position:relative;z-index:1;height:min(60vh,720px);margin-top:0;pointer-events:none}.hero-figure:before{content:"";position:absolute;left:56%;bottom:12%;width:min(28vw,380px);height:min(28vw,380px);border-radius:50%;background:radial-gradient(circle,rgba(216,72,255,.24) 0%,rgba(82,217,255,.06) 42%,transparent 72%);transform:translate(-50%);filter:blur(16px);animation:pulseGlow 8s ease-in-out infinite}.hero-orbit,.hero-beam{position:relative;display:block}.hero-orbit{position:absolute;left:56%;top:28%;border-radius:50%;border:1px solid rgba(116,219,255,.18);transform:translate(-50%) rotate(0)}.hero-orbit-a{width:min(24vw,380px);height:min(24vw,380px);animation:rotateOrbit 22s linear infinite}.hero-orbit-b{width:min(18vw,280px);height:min(18vw,280px);margin-left:1vw;margin-top:4vh;border-color:#df58ff38;animation:rotateOrbitReverse 16s linear infinite}.hero-beam{position:absolute;inset:auto;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(105,221,255,.5),transparent);filter:blur(1px)}.hero-beam-a{left:9%;top:46%;width:22vw;height:1px;animation:beamSweep 7s ease-in-out infinite}.hero-beam-b{right:10%;bottom:19%;width:18vw;height:1px;background:linear-gradient(90deg,transparent,rgba(228,91,255,.58),transparent);animation:beamSweep 9s ease-in-out infinite reverse}.hero-lower,.about-meta,.footer-contact-line{display:flex;justify-content:space-between;gap:24px}.hero-lower{align-items:end;margin-top:-8vh;padding:0 8px 12px}.hero-intro{max-width:420px}.hero-role{margin:0;color:#d5dbe3;font-size:clamp(1.7rem,2vw,2.65rem);line-height:1.2;letter-spacing:.03em}.hero-summary{max-width:360px;margin:18px 0 0;color:#e9ecf09e;font-size:1rem;line-height:1.8}.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.hero-badges span{padding:10px 14px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#ffffff0a;color:#a9b0ba;font-size:.88rem}.hero-contact{min-width:188px;min-height:72px;padding:0 34px;border:2px solid rgba(255,255,255,.95);background:linear-gradient(135deg,#6512a9,#a40cff 55%,#ff7b45);color:#fff;font-size:1.05rem;box-shadow:0 0 0 4px #aa16ff1a,0 20px 46px #8714dd42}.about-meta span,.section-heading p,.project-meta{color:var(--muted)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.hero-stats div,.contact-chip,.strength-card,.timeline-item,.project-card,.about-card{border:1px solid var(--line);background:var(--panel)}.hero-stats div{padding:18px;border-radius:20px}.hero-stats strong{display:block;margin-bottom:8px;font-size:2rem}.hero-stats span,.hero-list,.about-intro,.timeline-summary,.strength-card p,.footer h2{line-height:1.7}.hero-list{display:grid;gap:14px;padding:0;margin:0;list-style:none;color:var(--muted)}.hero-list li:before{content:"";display:inline-block;width:8px;height:8px;margin-right:12px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--cyan))}.section{padding:120px 0}.strengths{padding-bottom:72px}.section-heading{display:flex;align-items:end;gap:18px;margin-bottom:42px}.section-index{color:#ffffff38;font-size:3.4rem;font-weight:800}.section-heading p{margin:0 0 10px}.section-heading h2{margin:0;font-size:3rem}.about-hero,.about-info-grid,.about-card{position:relative}.about{padding-top:140px}.about-hero{min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.about-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none}.about-hero-copy{position:relative;z-index:1;max-width:1180px}.about-hero-copy h2{margin:0;color:#bac3ce;background:linear-gradient(180deg,#646973,#bbccd7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(4.6rem,9.2vw,8.6rem);line-height:.88;font-weight:800;letter-spacing:-.05em;text-shadow:0 0 32px rgba(255,255,255,.05);opacity:0;transform:translateY(-90px) scale(.92);filter:blur(10px)}.about-hero-copy.is-visible h2{animation:aboutHeadingIn 1s cubic-bezier(.22,1,.36,1) .12s forwards}.about-heading-line{display:block;width:124px;height:10px;margin:28px auto 0;border-radius:999px;background:linear-gradient(90deg,#5b23ff,#cb43ff 52%,#f0c4ff);box-shadow:0 0 24px #d354ff4d;opacity:0;transform:translateY(-28px) scaleX(.7)}.about-hero-copy.is-visible .about-heading-line{animation:headingLineDrop .72s ease .42s forwards}.about-name{margin:20px 0 0;color:#fff;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:900;letter-spacing:.02em;text-shadow:0 0 18px rgba(255,255,255,.12),0 0 32px rgba(208,77,255,.22);opacity:0;transform:translateY(-18px)}.about-hero-copy.is-visible .about-name{animation:headingCaptionFade .72s ease .5s forwards}.about-lead{max-width:980px;margin:38px auto 0;color:#e7ebf1b3;font-size:clamp(1.08rem,1.65vw,1.56rem);line-height:2.02}.about-lead p{margin:0}.about-lead p+p{margin-top:10px}.about-cta{margin-top:72px;min-width:198px;min-height:70px;color:#fff;border:2px solid rgba(255,255,255,.95);background:linear-gradient(135deg,#6512a9,#a40cff 55%,#ff7b45);box-shadow:0 0 0 4px #aa16ff14,0 20px 46px #8714dd38}.about-float{position:absolute;opacity:.98;z-index:0;filter:drop-shadow(0 24px 44px rgba(0,0,0,.34)) drop-shadow(0 0 24px rgba(159,92,255,.1));opacity:0}.about-float img{width:100%;height:100%;object-fit:contain;transform-origin:center}.about-float-moon{top:4%;left:2.5%;width:174px;height:174px;transform:rotate(-9deg)}.about-hero.is-visible .about-float-moon{animation:aboutFlyInMoon 1s cubic-bezier(.22,1,.36,1) .1s forwards}.about-hero.is-visible .about-float-moon img{animation:aboutFloatMoon 7.2s ease-in-out 1.15s infinite}.about-float-cube{top:5%;right:2.8%;width:166px;height:166px;transform:rotate(10deg)}.about-hero.is-visible .about-float-cube{animation:aboutFlyInCube 1.05s cubic-bezier(.22,1,.36,1) .22s forwards}.about-hero.is-visible .about-float-cube img{animation:aboutFloatCube 8s ease-in-out 1.3s infinite}.about-float-smile{bottom:3%;left:7%;width:182px;height:182px;transform:rotate(-18deg)}.about-hero.is-visible .about-float-smile{animation:aboutFlyInSmile 1.08s cubic-bezier(.22,1,.36,1) .3s forwards}.about-hero.is-visible .about-float-smile img{animation:aboutFloatSmile 7.8s ease-in-out 1.38s infinite}.about-float-arrow{right:4.5%;bottom:3.5%;width:178px;height:178px;transform:rotate(4deg)}.about-hero.is-visible .about-float-arrow{animation:aboutFlyInArrow 1.02s cubic-bezier(.22,1,.36,1) .18s forwards}.about-hero.is-visible .about-float-arrow img{animation:aboutFloatArrow 7.4s ease-in-out 1.24s infinite}.about-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.contact-chip{padding:20px;border-radius:22px}.about-fact-chip{min-height:114px;background:linear-gradient(180deg,#ffffff0f,#ffffff08),radial-gradient(circle at top left,rgba(214,59,255,.14),transparent 46%);transition:background .35s ease,border-color .35s ease,transform .35s ease,box-shadow .35s ease}.about-fact-chip:hover{transform:translateY(-4px);border-color:#dd60ff57;background:linear-gradient(135deg,#4d105cf5,#a221cce0 52%,#ff73d6c7),radial-gradient(circle at top left,rgba(255,210,255,.18),transparent 42%);box-shadow:0 20px 40px #0000003d,inset 0 0 0 1px #ffffff0d}.about-fact-chip:hover span,.about-fact-chip:hover strong{color:#fff}.contact-chip span,.about-meta span{display:block;margin-bottom:10px;font-size:.82rem}.contact-chip strong,.about-meta strong,.timeline-meta h3,.project-card h3,.strength-card h3{font-size:1.1rem}.timeline{display:grid;gap:18px;margin-top:36px}.timeline-item{display:grid;grid-template-columns:290px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:28px;border-radius:28px;align-items:start;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff0d,#ffffff0d),#ffffff0d;position:relative;overflow:hidden;transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease}.timeline-item:hover{transform:translateY(-4px);border-color:#d658ff47;box-shadow:0 22px 44px #00000038,inset 0 0 0 1px #ffffff0a}.timeline-meta span,.project-id,.strength-no{color:#d3c9ff;font-size:.85rem}.timeline-meta h3,.project-card h3,.strength-card h3{margin:14px 0 8px}.timeline-meta p,.project-description,.strength-card p{margin:0;color:var(--muted)}.timeline-content{position:relative;padding-left:18px;z-index:1}.timeline-item:before{content:"";position:absolute;left:314px;top:26px;bottom:26px;width:1px;background:linear-gradient(180deg,#d42cff1f,#d42cffd1,#52d9ff38)}.timeline-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(420px circle at var(--tx, 50%) var(--ty, 50%),rgba(233,80,255,.2),rgba(165,63,255,.12) 28%,rgba(64,21,92,.05) 48%,transparent 72%);opacity:0;transition:opacity .28s ease;pointer-events:none}.timeline-item:hover:after{opacity:1}.timeline-tag{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,#ff00b8db,#be4bffc7);color:#fff;font-size:.92rem;font-weight:700}.timeline-tag-alt{background:linear-gradient(135deg,#5956ffc2,#c16cffc7)}.timeline-list{margin:18px 0 0;padding-left:1.35rem;color:#f6f3f1d6;line-height:1.82}.timeline-list li+li{margin-top:10px}.showcase-heading{display:flex;flex-direction:column;align-items:center;margin-bottom:42px;text-align:center}.showcase-heading h2{margin:0;color:#bac3ce;background:linear-gradient(180deg,#646973,#bbccd7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(4.6rem,9.2vw,8.6rem);line-height:.88;font-weight:800;letter-spacing:-.05em;text-shadow:0 0 32px rgba(255,255,255,.05);text-transform:uppercase;opacity:0;transform:translateY(-52px) scale(.985)}.showcase-heading.is-visible h2{animation:headingDropIn 1s cubic-bezier(.2,.8,.2,1) forwards}.showcase-heading-project.is-visible h2{animation-delay:.05s}.showcase-heading-strengths.is-visible h2{animation-delay:.12s}.showcase-heading-line{width:104px;height:8px;margin-top:28px;border-radius:999px;background:linear-gradient(90deg,#5f1dff,#d04dff 48%,#efc0ff);box-shadow:0 0 22px #d354ff47;opacity:0;transform:translateY(-28px)}.showcase-heading.is-visible .showcase-heading-line{animation:headingLineDrop .72s ease forwards}.showcase-heading-project.is-visible .showcase-heading-line{animation-delay:.42s}.showcase-heading-strengths.is-visible .showcase-heading-line{animation-delay:.48s}.showcase-heading p{margin:20px 0 0;color:#f6f3f175;font-size:clamp(1rem,1.8vw,1.15rem);letter-spacing:.24em;opacity:0;transform:translateY(-18px)}.showcase-heading.is-visible p{animation:headingCaptionFade .72s ease forwards}.showcase-heading-project.is-visible p{animation-delay:.56s}.showcase-heading-strengths.is-visible p{animation-delay:.62s}.projects{padding-top:90px}.project-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(360px,420px);gap:22px;width:100%;overflow-x:auto;overflow-y:visible;padding:18px 6px 28px;scroll-padding-inline:6px;scroll-snap-type:x proximity;scroll-behavior:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(235,122,255,.42) rgba(255,255,255,.04);align-items:stretch}.project-list::-webkit-scrollbar{height:10px}.project-list::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.project-list::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(90deg,#7625dac2,#ff7accc2)}.project-card{position:relative;display:flex;flex-direction:column;width:min(100%,420px);min-height:100%;padding:18px 18px 24px;border-radius:34px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0b,#ffffff05),radial-gradient(circle at 18% 110%,rgba(212,44,255,.2),transparent 38%),radial-gradient(circle at 90% 12%,rgba(255,132,187,.12),transparent 28%),#090909;overflow:hidden;cursor:pointer;scroll-snap-align:start;transform-origin:center center;transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease,background .26s ease,filter .26s ease}.project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(178,38,255,.12),transparent 36%,transparent 64%,rgba(255,124,173,.1));opacity:0;transition:opacity .35s ease;pointer-events:none}.project-card.is-featured{transform:translateY(-4px) scale(1.012);filter:brightness(1.02);border-color:#c984ff3d;box-shadow:0 24px 48px #00000047,0 0 0 1px #ffffff05}.project-card.is-featured:before{opacity:.7}.project-card:hover,.project-card:focus-visible{transform:translateY(-10px) scale(1.03);filter:brightness(1.05);border-color:#ec94ff4d;box-shadow:0 30px 60px #00000057,0 0 0 1px #ffffff08;z-index:2}.project-card:hover:before,.project-card.is-featured:before,.project-card:focus-visible:before{opacity:1}.project-card:focus-visible{outline:none}.project-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;padding:16px 10px 4px}.project-image-wrap{position:relative;height:260px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.18),transparent 22%),linear-gradient(135deg,#341244e6,#0d0d0df2 48%,#300b2ce0);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px #ffffff05}.project-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .32s ease}.project-card:hover .project-image-wrap img,.project-card.is-featured .project-image-wrap img,.project-card:focus-visible .project-image-wrap img{transform:scale(1.04)}.project-card h3{width:100%;margin:0;color:#fcf7ff;font-size:clamp(1.4rem,1.65vw,2rem);line-height:1.08;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-role{margin:14px 0 0;color:#f6f3f19e;font-size:.95rem;font-weight:600}.project-description{display:-webkit-box;margin:14px 0 0;overflow:hidden;color:#f6f3f1cc;font-size:.98rem;line-height:1.52;-webkit-line-clamp:3;-webkit-box-orient:vertical}.project-summary{margin:20px 0 0;color:#f6f3f1ad;line-height:1.7}.project-meta{margin:14px 0 0;color:#f6f3f194;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.project-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:22px}.project-tags span{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#ffffff08;color:#f6f3f1ad;font-size:.94rem}.project-detail-link{margin-top:18px;padding:0;border:0;background:transparent;color:#f15cff;font-size:.98rem;font-weight:700;letter-spacing:.02em;text-align:left;cursor:pointer;transition:color .25s ease,transform .25s ease}.project-detail-link:hover,.project-detail-link:focus-visible{color:#ff8fd7;transform:translate(4px);outline:none}.project-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:32px;background:#000000b8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-modal{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:28px;width:min(1280px,calc(100vw - 64px));max-height:min(88vh,980px);padding:24px 24px 30px;border:1px solid rgba(255,255,255,.08);border-radius:36px;background:linear-gradient(180deg,#ffffff0f,#ffffff05),radial-gradient(circle at 14% 14%,rgba(212,44,255,.14),transparent 34%),#090909;box-shadow:0 32px 90px #0000006b;overflow:auto}.project-modal-close{position:absolute;top:20px;right:20px;min-width:86px;height:42px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff0a;color:#fff;font-weight:600;cursor:pointer;transition:background .25s ease,border-color .25s ease}.project-modal-close:hover{background:#ffffff14;border-color:#ffffff2e}.project-modal-media{min-height:0;max-height:calc(min(88vh,980px) - 54px);border-radius:28px;overflow:auto;padding:18px;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.16),transparent 18%),linear-gradient(145deg,#45114de6,#0c0c0cfa)}.project-modal-media img{width:100%;height:auto;max-width:100%;display:block;object-fit:initial;object-position:initial}.project-modal-media-stack{display:grid;gap:18px}.project-modal-video-block{display:grid;gap:12px}.project-modal-video-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:#f6f3f1ad}.project-modal-video-block video{width:100%;display:block;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:#050505;box-shadow:0 22px 44px #00000057}.project-modal-copy{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;padding:8px 6px 0 2px}.project-modal-copy h3{max-width:none;margin:0;font-size:clamp(2.4rem,3.8vw,4rem);line-height:1;letter-spacing:-.05em;word-break:break-word}.project-modal-copy .project-role{margin-top:18px}.project-modal-copy .project-meta{margin-top:10px}.project-modal-copy .project-description{display:block;margin-top:18px;-webkit-line-clamp:unset}.project-modal-copy .project-tags{margin-top:22px;padding-top:0}.project-modal-details{display:grid;gap:14px;margin-top:24px}.project-modal-details p{margin:0;color:#f6f3f1cc;line-height:1.72}.strength-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.strength-card{min-height:260px;padding:28px;border-radius:28px;background:linear-gradient(180deg,#ffffff12,#ffffff08),radial-gradient(circle at top left,rgba(212,44,255,.12),transparent 45%);transition:background .35s ease,border-color .35s ease,transform .35s ease,box-shadow .35s ease}.strength-card:hover{transform:translateY(-4px);border-color:#dd60ff57;background:linear-gradient(135deg,#4d105cf5,#a221cce0 52%,#ff73d6c7),radial-gradient(circle at top left,rgba(255,210,255,.18),transparent 42%);box-shadow:0 20px 40px #0000003d,inset 0 0 0 1px #ffffff0d}.strength-card:hover h3,.strength-card:hover p,.strength-card:hover .strength-no{color:#fff}.strength-no{display:inline-block;margin-bottom:42px}.footer{position:relative;display:grid;min-height:72vh;padding:72px 0 56px;place-items:center;background:#000}.footer:before{content:"";position:absolute;top:30px;right:30px;bottom:30px;left:30px;border:1px solid rgba(255,255,255,.08);border-radius:36px}.footer-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}.footer .eyebrow{color:#f6f3f1d6;font-size:clamp(.98rem,1.15vw,1.08rem);letter-spacing:.12em}.footer-eyebrow{opacity:0;transform:translateY(18px)}.footer-eyebrow.is-visible{animation:footerEyebrowIn .72s ease forwards}.footer-actions{display:flex;justify-content:center;gap:18px;margin:0}.footer-contact-line{display:flex;justify-content:center;flex-wrap:wrap;gap:18px 34px;color:var(--muted)}.footer-contact-item{display:inline-flex;align-items:center;gap:10px;color:#e7ebf1b8;text-decoration:none;transition:color .18s ease,transform .18s ease}.footer-contact-item:hover{color:#fff;transform:translateY(-1px)}.footer-contact-icon{width:18px;height:18px;flex:0 0 18px;color:#d85effeb}@media (max-width: 1200px){.hero-content,.about-grid,.strength-grid,.timeline-item{grid-template-columns:1fr}.hero-copy h1{max-width:none}.project-list{grid-auto-columns:minmax(340px,74vw);padding-inline:4px;scroll-padding-inline:4px}.project-image-wrap{height:320px}.project-card h3,.project-modal-copy h3{max-width:none}.project-modal{grid-template-columns:1fr;gap:24px}.project-modal-media{max-height:none;padding:14px}.hero-figure img{width:min(56vw,680px);min-width:360px}.hero-element-figure{left:55%;top:31%;width:min(35vw,430px)}.hero-element-tablet{left:10%;top:46%;width:min(28vw,340px)}.hero-element-callme{left:24%;top:31%;width:min(9vw,128px)}.hero-lower{margin-top:24px;padding:0}.about-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item:before{display:none}.timeline-content{padding-left:0}}@media (max-width: 760px){.frame{width:min(calc(100% - 32px),var(--max))}.nav{gap:16px}.hero-nav{width:100%;max-width:min(calc(100vw - 24px),760px);top:12px;left:50%;transform:translate(-50%);padding:14px;border-radius:28px;justify-content:center;flex-wrap:wrap}.nav-link{min-width:calc(50% - 8px);min-height:42px;padding:0 14px;font-size:.76rem;letter-spacing:.1em}.nav-pill,.nav-menu{height:62px;border-radius:20px}.nav-home{min-width:146px;padding:0 22px}.nav-menu{width:62px}.button{min-height:48px;padding:0 22px}.hero{min-height:auto}.hero-content{min-height:auto;padding:108px 0 24px}.hero-copy h1{font-size:3.6rem;text-align:left}.typing-text{white-space:normal;border-right-width:.06em;animation:typingMobile 2.2s steps(14,end) .2s forwards,caretBlink .9s step-end infinite}.hero-figure{height:360px;margin-top:16px}.hero-element-figure{left:54%;top:32%;width:58vw;opacity:.92}.hero-element-tablet{left:0%;top:56%;width:48vw;opacity:.84}.hero-element-callme{left:17%;top:34%;width:86px}.hero-orbit{left:54%;top:34%}.hero-orbit-a{width:210px;height:210px}.hero-orbit-b{width:150px;height:150px;margin-left:0;margin-top:36px}.hero-actions,.hero-lower,.footer-actions{flex-direction:column;align-items:flex-start}.footer-contact-line{flex-direction:column;align-items:center}.hero-role{font-size:1.55rem}.hero-summary{font-size:.95rem}.about{padding-top:90px}.about-hero{min-height:auto;padding:40px 0 10px}.about-hero-copy h2{font-size:3.4rem}.about-lead{margin-top:28px;font-size:1rem;line-height:1.85}.about-info-grid{grid-template-columns:1fr}.project-card{padding:14px 14px 20px;border-radius:28px;width:min(100%,82vw)}.project-list{grid-auto-columns:minmax(280px,82vw);gap:16px;padding-bottom:18px;padding-inline:2px;scroll-padding-inline:2px}.project-card.is-featured,.project-card:hover,.project-card:focus-visible{transform:translateY(-8px) scale(1.02)}.project-copy{padding:14px 6px 2px}.project-image-wrap{height:240px;border-radius:22px}.project-card h3{font-size:1.28rem;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-description{margin-top:12px;font-size:.92rem;-webkit-line-clamp:3}.project-tags{gap:8px}.project-tags span{min-height:34px;padding:0 14px;font-size:.86rem}.project-modal-backdrop{padding:16px}.project-modal{width:min(100vw - 16px,100%);padding:18px;border-radius:26px;gap:18px}.project-modal-close{top:14px;right:14px;min-width:72px;height:38px}.project-modal-media{border-radius:20px;max-height:none;padding:10px}.project-modal-copy{padding:8px 2px 0}.about-float{transform:scale(.66)}.about-float-moon{top:-2%;left:-6%}.about-float-cube{top:-1%;right:-7%}.about-float-smile{left:-2%;bottom:-4%}.about-float-arrow{right:-4%;bottom:-5%}.hero-stats{grid-template-columns:1fr}.portrait-card{min-height:420px}.section-heading h2{font-size:2.2rem}.showcase-heading{margin-bottom:30px}.showcase-heading h2{font-size:3.4rem}.showcase-heading-line{width:82px;height:6px;margin-top:20px}.showcase-heading p{margin-top:18px;font-size:.92rem;letter-spacing:.12em}.footer h2{font-size:2.8rem}.footer-actions,.footer-contact-line{align-items:center}}@keyframes heroZoom{0%{transform:scale(1.04)}to{transform:scale(1.1)}}@keyframes headingDropIn{0%{opacity:0;transform:translateY(-52px) scale(.985)}72%{opacity:1;transform:translateY(6px) scale(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes headingLineDrop{0%{opacity:0;transform:translateY(-28px) scaleX(.7)}to{opacity:1;transform:translateY(0) scaleX(1)}}@keyframes headingCaptionFade{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes scanlines{0%{transform:translateY(-12px)}to{transform:translateY(12px)}}@keyframes noiseShift{0%{transform:translateZ(0)}to{transform:translate3d(18px,-12px,0)}}@keyframes pulseGlow{0%,to{opacity:.55;transform:translate(-50%) scale(.96)}50%{opacity:.9;transform:translate(-50%) scale(1.04)}}@keyframes rotateOrbit{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}@keyframes rotateOrbitReverse{0%{transform:translate(-50%) rotate(360deg)}to{transform:translate(-50%) rotate(0)}}@keyframes beamSweep{0%,to{opacity:.2;transform:translate(0)}50%{opacity:.9;transform:translate(16px)}}@keyframes floatFigure{0%,to{transform:translate3d(calc(-50% + var(--mx, 0) * 18px),calc(var(--my, 0) * 12px),0)}50%{transform:translate3d(calc(-50% - 10px + var(--mx, 0) * 18px),calc(-18px + var(--my, 0) * 12px),0)}}@keyframes floatTablet{0%,to{transform:translate3d(calc(var(--mx, 0) * -24px),calc(var(--my, 0) * 10px),0) rotate(-6deg)}50%{transform:translate3d(calc(16px + var(--mx, 0) * -24px),calc(-10px + var(--my, 0) * 10px),0) rotate(-2deg)}}@keyframes floatCallout{0%,to{transform:translate3d(calc(var(--mx, 0) * -18px),calc(var(--my, 0) * -8px),0) rotate(-4deg)}50%{transform:translate3d(calc(8px + var(--mx, 0) * -18px),calc(-12px + var(--my, 0) * -8px),0) rotate(2deg)}}@keyframes aboutHeadingIn{0%{opacity:0;transform:translateY(-90px) scale(.92);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes aboutFlyInMoon{0%{opacity:0;transform:translate(-220px,-160px) rotate(-28deg) scale(.72);filter:blur(10px)}to{opacity:.98;transform:translate(0) rotate(-9deg) scale(1);filter:blur(0)}}@keyframes aboutFlyInCube{0%{opacity:0;transform:translate(220px,-160px) rotate(30deg) scale(.72);filter:blur(10px)}to{opacity:.98;transform:translate(0) rotate(10deg) scale(1);filter:blur(0)}}@keyframes aboutFlyInSmile{0%{opacity:0;transform:translate(-220px,180px) rotate(-36deg) scale(.72);filter:blur(10px)}to{opacity:.98;transform:translate(0) rotate(-18deg) scale(1);filter:blur(0)}}@keyframes aboutFlyInArrow{0%{opacity:0;transform:translate(220px,180px) rotate(22deg) scale(.72);filter:blur(10px)}to{opacity:.98;transform:translate(0) rotate(4deg) scale(1);filter:blur(0)}}@keyframes aboutFloatMoon{0%,to{transform:translateZ(0) rotate(0) scale(1)}50%{transform:translate3d(0,-12px,0) rotate(-4deg) scale(1.018)}}@keyframes aboutFloatCube{0%,to{transform:translateZ(0) rotate(0) scale(1)}50%{transform:translate3d(0,-10px,0) rotate(5deg) scale(1.015)}}@keyframes aboutFloatSmile{0%,to{transform:translateZ(0) rotate(0) scale(1)}50%{transform:translate3d(0,-11px,0) rotate(-5deg) scale(1.02)}}@keyframes aboutFloatArrow{0%,to{transform:translateZ(0) rotate(0) scale(1)}50%{transform:translate3d(0,-13px,0) rotate(6deg) scale(1.018)}}@keyframes heroTitleIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes footerEyebrowIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes typing{0%{width:0}to{width:14ch}}@keyframes typingMobile{0%{width:0}to{width:9ch}}@keyframes caretBlink{0%,49%{border-color:#d8e2eae0}50%,to{border-color:transparent}}@keyframes ringTrace{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes footerBreath{0%,to{transform:translateY(0) scale(1);box-shadow:0 0 #df6eff14,0 12px 24px #7b18b124}50%{transform:translateY(-1px) scale(1.012);box-shadow:0 0 0 4px #df6eff0f,0 18px 34px #b52be233}}
