:root{--ink:#0b0b0c;--paper:#f6f5f2;--violet:#7c00ff;--violet2:#b45cff;--muted:#777579;--line:#d9d6d2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}.nav{height:88px;position:fixed;z-index:20;top:0;left:0;right:0;padding:0 max(5vw,28px);display:flex;align-items:center;justify-content:space-between;background:rgba(246,245,242,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.06)}.brand{position:relative;display:flex;align-items:center;font-size:35px;font-weight:900;letter-spacing:-6px;line-height:1}.brand span:first-of-type{font-size:40px}.brand i,.brand b{position:absolute;width:9px;height:9px;background:var(--violet);border-radius:50%;box-shadow:0 0 18px rgba(124,0,255,.4)}.brand i{left:-4px;bottom:-2px}.brand b{left:38px;top:-5px}.nav nav{display:flex;gap:36px;align-items:center;font-size:13px;font-weight:700}.nav nav>a{transition:.2s}.nav nav>a:hover{color:var(--violet)}.nav-cta{background:var(--ink);color:white!important;border-radius:99px;padding:13px 21px}.hero{min-height:100vh;padding:150px max(7vw,32px) 80px;display:grid;grid-template-columns:1.05fr .75fr;align-items:center;gap:7vw;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(154,56,255,.18),transparent 68%);left:-240px;top:18%}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;display:flex;align-items:center;gap:10px}.eyebrow span{width:8px;height:8px;background:var(--violet);border-radius:50%;box-shadow:0 0 0 6px rgba(124,0,255,.1)}h1{font-size:clamp(56px,7vw,112px);line-height:.98;letter-spacing:-.07em;margin:30px 0}h1 span{color:var(--violet)}.intro{max-width:660px;color:#58565a;font-size:18px;line-height:1.8}.actions{display:flex;gap:14px;margin-top:38px}.actions a{padding:17px 25px;border-radius:99px;font-weight:750}.primary{background:var(--violet);color:#fff;box-shadow:0 12px 40px rgba(124,0,255,.22)}.primary em{font-style:normal;margin-left:28px}.secondary{border:1px solid var(--line)}.portrait-wrap{position:relative;width:min(36vw,560px);aspect-ratio:.76;justify-self:center}.portrait{height:100%;border-radius:280px 280px 34px 34px;overflow:hidden;position:relative;z-index:2;background:#ddd}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.orbit{position:absolute;border:1px solid rgba(124,0,255,.35);border-radius:50%}.orbit-a{inset:-8% -18%;transform:rotate(20deg)}.orbit-b{inset:8% -30%;transform:rotate(-28deg)}.chip{position:absolute;z-index:3;background:#fff;border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.1);padding:11px 18px;border-radius:99px;font-weight:800;font-size:12px}.chip-a{top:18%;left:-15%}.chip-b{right:-10%;bottom:16%;background:var(--ink);color:#fff}.scroll{position:absolute;left:max(7vw,32px);bottom:28px;font-size:10px;letter-spacing:.16em}.scroll span{font-size:18px;margin-left:10px}.section{padding:130px max(7vw,32px)}.section-head{display:flex;justify-content:space-between;align-items:flex-start;border-top:1px solid var(--ink);padding-top:18px;margin-bottom:80px}.section-head p{font-size:11px;letter-spacing:.16em}.section-head h2{font-size:clamp(50px,7vw,96px);letter-spacing:-.06em;margin:0}.about{background:var(--ink);color:#fff}.about .section-head{border-color:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about-lead p{font-size:clamp(32px,4vw,62px);line-height:1.25;letter-spacing:-.04em;margin:0}.about-lead strong{color:var(--violet2)}.about-body>p{color:#bab7bd;font-size:17px;line-height:1.9;margin-top:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:40px 0}.facts div{border-top:1px solid #373538;padding-top:16px}.facts small{display:block;color:#77737b;margin-bottom:8px}.facts strong{font-size:14px}.skills{display:flex;flex-wrap:wrap;gap:9px}.skills span{border:1px solid #39363d;border-radius:99px;padding:10px 15px;font-size:12px;color:#ccc}.experience{background:#fff}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:220px 1fr 60px;gap:40px;padding:42px 0;border-bottom:1px solid var(--line);position:relative;transition:.25s}.job:hover{padding-left:14px;background:linear-gradient(90deg,rgba(124,0,255,.05),transparent)}.when{font-size:13px;color:var(--muted)}.job h3{font-size:24px;margin:0 0 5px}.job .role{color:var(--violet);font-weight:800;margin:0 0 18px}.job p:last-child{max-width:760px;color:#666;line-height:1.7}.job-no{font-size:12px;color:#aaa;text-align:right}.projects{background:var(--paper)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.04)}.project img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:.5s}.project:hover img{transform:scale(1.025)}.project>div{padding:25px}.project small{font-size:10px;letter-spacing:.14em;color:var(--violet)}.project h3{font-size:30px;letter-spacing:-.03em;margin:10px 0}.project p{color:#777;line-height:1.6}.project button{border:0;background:transparent;padding:0;font:inherit;font-weight:800;cursor:pointer}.project button span{color:var(--violet);margin-left:8px}.featured{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr}.featured img{height:100%;aspect-ratio:auto;min-height:380px}.featured>div{padding:45px;display:flex;flex-direction:column;justify-content:center}.contact{min-height:85vh;background:var(--violet);color:#fff;display:flex;flex-direction:column;justify-content:center}.contact h2{font-size:clamp(64px,10vw,150px);line-height:.9;letter-spacing:-.08em;margin:35px 0 70px}.contact h2 i{font-style:normal;color:rgba(255,255,255,.45)}.contact-row{display:flex;gap:40px;font-size:clamp(17px,2vw,28px);font-weight:700}.contact footer{margin-top:auto;padding-top:100px;display:flex;justify-content:space-between;align-items:end}.footer-brand{color:#fff}.footer-brand i,.footer-brand b{background:#fff}.contact footer p{font-size:10px;letter-spacing:.12em}dialog{width:min(1100px,92vw);height:88vh;border:0;border-radius:20px;padding:50px;background:#111;color:#fff}dialog::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(10px)}dialog h2{font-size:34px}dialog img{width:100%;display:block}.close{position:fixed;right:calc(4vw + 24px);top:8vh;border:0;background:#fff;width:42px;height:42px;border-radius:50%;font-size:25px;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:.7s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.nav{height:70px}.nav nav{gap:13px}.nav nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:110px}.hero-copy{order:2}.portrait-wrap{width:78vw;max-width:390px;order:1}.scroll{display:none}.section{padding:90px 24px}.about-grid{grid-template-columns:1fr;gap:50px}.facts{grid-template-columns:1fr}.job{grid-template-columns:1fr;gap:5px}.job-no{position:absolute;right:0;top:42px}.project-grid{grid-template-columns:1fr}.featured{grid-column:auto;display:block}.featured img{min-height:0}.contact-row{flex-direction:column;gap:18px}.contact footer{flex-direction:column;align-items:flex-start;gap:30px}.section-head{margin-bottom:50px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
