*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font-family:Inter,"Microsoft YaHei",Arial,sans-serif;color:#202327;background:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #009aff;outline-offset:5px}.announcement{height:34px;background:#f5f6f7;text-align:center;font-size:11px;letter-spacing:1px;display:grid;place-items:center;color:#666}header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#ffffffec;position:sticky;top:0;z-index:20;border-bottom:1px solid #e6e8eb;backdrop-filter:blur(18px)}.brand{font-weight:850;font-size:25px;letter-spacing:-2px}.brand span{font-size:10px;letter-spacing:2px;margin-left:14px;font-weight:500}.nav{display:flex;gap:30px;align-items:center;font-size:13px}.nav a.active{color:#0078e7}.nav .contact{background:#147ee5;color:white;border-radius:30px;padding:10px 20px}.menu{display:none}.hero{height:690px;min-height:620px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 82%,#b7cedc 0%,#5c798f 32%,#243d53 65%,#111e30 100%);color:white;text-align:center}.hero.personal{background:radial-gradient(ellipse at 50% 85%,#d2c7bd 0%,#7d8c9d 36%,#364555 65%,#17212e 100%)}.hero-copy{position:relative;z-index:3;padding-top:55px}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase}.hero h1{font-size:clamp(35px,4.1vw,62px);letter-spacing:3px;margin:16px 0;font-weight:500}.hero-copy>p{font-size:16px;color:#d7e0e9;letter-spacing:2px}.actions{display:flex;gap:14px;justify-content:center;margin-top:25px}.pill{display:inline-flex;padding:10px 23px;border:1px solid #ffffff88;border-radius:30px;font-size:13px;align-items:center;gap:20px;background:transparent;color:inherit}.pill.solid{background:white;color:#253646;border-color:white}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#d2dde8;z-index:3}.scene{position:absolute;inset:270px 0 0;perspective:1000px}.core{position:absolute;width:235px;height:235px;left:calc(50% - 117px);top:55px;border-radius:48px;transform:rotate(-20deg) rotateY(-20deg);background:linear-gradient(135deg,#f9ffff 0%,#92a6b9 13%,#31495f 28%,#0e1b2c 45%,#4a6a80 70%,#c3dbe7 86%,#445466 100%);box-shadow:inset 2px 2px 3px #fff,12px 20px 0 #162a3b,20px 38px 45px #08142188,0 0 80px #d9f5ff44;display:grid;place-items:center;animation:float 9s ease-in-out infinite}.core:before{content:'';position:absolute;inset:15px;border-radius:37px;border:1px solid #a2c5db88;background:linear-gradient(130deg,#e6f2ff44,transparent 40%)}.core b{font-size:92px;letter-spacing:-9px;color:#e9f4ff;text-shadow:0 3px 3px #0b243b;font-weight:400}.orbit{position:absolute;left:calc(50% - 340px);top:40px;width:680px;height:260px;border:1px solid #d9f0ff66;border-radius:50%;transform:rotate(-17deg);box-shadow:0 0 20px #cbefff22}.orbit.two{transform:rotate(24deg);width:540px;left:calc(50% - 270px);height:230px;top:70px}.spark{position:absolute;width:8px;height:8px;background:white;border-radius:50%;box-shadow:0 0 20px 6px #a8dfff;left:calc(50% + 280px);top:100px}.tag{position:absolute;padding:12px 20px;border:1px solid #ffffff33;background:#ffffff0c;backdrop-filter:blur(8px);font-size:11px;letter-spacing:2px;border-radius:6px;top:130px;left:calc(50% - 430px);transform:rotate(-7deg)}.tag.right{left:auto;right:calc(50% - 420px);top:230px;transform:rotate(6deg)}.intro{display:flex;justify-content:space-between;align-items:end;padding:75px 7% 35px;gap:35px}.intro h2{font-size:32px;font-weight:500;line-height:1.5;margin:10px 0}.muted{color:#777;font-size:13px;line-height:1.9}.intro p{max-width:380px}.grid{padding:0 14px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{min-height:540px;background:#f0f2f4;text-align:center;overflow:hidden;position:relative;padding:40px 30px 0}.card h3{font-size:31px;font-weight:500;letter-spacing:1px;margin:13px 0}.card p{font-size:14px;color:#656b72;line-height:1.8;max-width:450px;margin:0 auto 16px}.card .label{font-size:10px;letter-spacing:2px;color:#81878e}.text-link{border:0;background:none;color:#1670bf;font-size:13px;padding:8px 10px;display:inline-block}.preview{width:80%;height:270px;margin:30px auto -20px;transform:perspective(900px) rotateX(9deg);border:6px solid #333c47;border-radius:13px 13px 0 0;overflow:hidden;box-shadow:0 20px 40px #25334630;text-align:left;background:#fff}.preview iframe{width:1100px;height:750px;transform:scale(.44);transform-origin:top left;border:0;pointer-events:none}.card.dark{background:#182530;color:#fff}.card.dark p{color:#c3cdd5}.card.dark .label{color:#9fafbc}.card.dark .text-link{color:#a3d8ff}.tiger-img{width:290px;height:260px;object-fit:cover;mix-blend-mode:screen;filter:grayscale(.6);margin-top:20px;border-radius:10px;transform:rotate(-5deg)}.flow{display:flex;justify-content:center;gap:12px;align-items:center;height:210px;perspective:700px}.flow span{width:100px;height:115px;background:linear-gradient(145deg,#fff,#d7dee5);box-shadow:10px 16px 24px #2030411c;border:1px solid white;border-radius:12px;display:grid;place-content:center;gap:12px;transform:rotateY(-15deg);font-size:12px;color:#4e6277}.flow b{font-size:28px;font-weight:400}.poster{width:255px;height:230px;margin:25px auto 0;padding:35px;background:#e4e8de;box-shadow:10px 18px 25px #0002;transform:rotate(-8deg);text-align:left;color:#384b40}.poster strong{font-size:44px;line-height:1.1;letter-spacing:-2px}.poster small{display:block;margin-top:25px;letter-spacing:4px}.wide{margin:14px;background:#e7ebee;min-height:340px;display:flex;align-items:center;justify-content:space-between;padding:65px 8%;gap:50px}.wide h2{font-size:37px;font-weight:500;margin:12px 0 25px}.wide p{max-width:470px;line-height:2;color:#606972;font-size:14px}.wide .monogram{font-size:120px;font-weight:800;color:#c6ced4;letter-spacing:-12px}.process{padding:80px 7%}.process h2{font-size:30px;font-weight:500}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.step{border-top:1px solid #cdd4da;padding-top:22px}.step b{font-size:12px;color:#84919c}.step h3{font-size:19px;font-weight:500}.cta{padding:65px 7%;background:#18232f;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{font-size:32px;font-weight:400;margin:0 0 12px}.cta p{font-size:13px;color:#a7b7c6}footer{background:#111a23;color:#98a5b0;display:flex;justify-content:space-between;padding:30px 7%;font-size:11px;gap:20px}dialog{border:0;border-radius:12px;padding:35px;width:min(540px,90vw);max-height:85vh;overflow:auto;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#102030aa;backdrop-filter:blur(6px)}dialog h2{font-size:26px;font-weight:500}dialog p{font-size:14px;line-height:1.9;color:#66717b}.close{float:right;border:0;background:#eef1f4;border-radius:50%;width:30px;height:30px}label{display:block;font-size:13px;margin:18px 0}input,textarea,select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #cbd3db;border-radius:5px;background:#fff}textarea{min-height:110px;resize:vertical}.submit{background:#147ee5;border:0;color:white;padding:12px 20px;border-radius:25px}.notice{font-size:12px!important}.skip{position:fixed;top:-100px}.skip:focus{top:5px;z-index:100;background:white;padding:15px}@keyframes float{50%{translate:0 -15px}}@media(min-width:1600px){.hero{height:780px}.scene{top:320px}.card{min-height:600px}.preview{height:320px}.preview iframe{transform:scale(.6)}}@media(max-width:760px){.announcement{font-size:9px}.brand span{display:none}header{height:62px;padding:0 5%}.menu{display:block;border:0;background:none;font-size:20px}.nav{display:none;position:absolute;top:62px;left:0;right:0;background:white;padding:25px;flex-wrap:wrap;gap:24px}.nav.open{display:flex}.hero{height:660px}.hero-copy{padding:45px 20px 0}.hero h1{font-size:37px;letter-spacing:0}.hero-copy>p{font-size:13px;line-height:1.8;letter-spacing:0}.scene{top:300px;transform:scale(.8);transform-origin:50% 0}.tag{display:none}.core{width:210px;height:210px;left:calc(50% - 105px)}.hero-bottom{font-size:8px;letter-spacing:1px}.intro{display:block;padding:45px 6% 25px}.intro h2{font-size:27px}.grid{grid-template-columns:1fr;padding:0 10px;gap:10px}.card{min-height:500px;padding:35px 18px 0}.card h3{font-size:27px}.preview{width:95%;height:250px}.preview iframe{transform:scale(.32)}.wide{padding:40px 7%;margin:10px;min-height:280px}.wide h2{font-size:28px}.wide .monogram{display:none}.process{padding:45px 7%}.steps{grid-template-columns:1fr;gap:20px}.cta{display:block;padding:45px 7%}.cta h2{font-size:27px}.cta .pill{margin-top:20px}footer{flex-direction:column}.flow span{width:85px}dialog{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.core{animation:none}}
/* Real project portfolio */
.context-note{margin:0 7% 25px;color:#63707c;font-size:13px;line-height:1.9;max-width:900px}.project-index{display:flex;flex-wrap:wrap;gap:10px;padding:0 7% 35px}.project-index a{border:1px solid #dce1e5;padding:9px 16px;border-radius:24px;font-size:12px}.project-index a:hover{background:#edf4fa}.project-card{min-height:620px;padding-bottom:25px}.project-card h3{font-size:30px}.card .project-headline{font-size:17px;color:#384d5e;margin-bottom:10px}.status-chip{display:inline-block;font-size:10px;letter-spacing:1px;padding:6px 10px;border:1px solid #b9c9d2;border-radius:20px;color:#536c79;margin:4px 8px 4px 0}.project-visual{margin:25px auto 0;max-width:550px;height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.project-visual img{max-width:100%;width:auto;height:auto;max-height:280px;object-fit:contain;border-radius:7px;box-shadow:0 10px 28px #20324320}.project-visual figcaption{font-size:10px;color:#6d7e89;letter-spacing:1px}.project-visual.music img{width:100%;box-shadow:none}.project-card:has(.music){grid-column:1/-1;background:#131e2a;color:#f3f7fb;min-height:660px}.project-card:has(.music) p,.project-card:has(.music) .label{color:#b9c9d7}.project-card:has(.music) .project-visual{max-width:850px;height:auto}.project-card:has(.music) img{max-height:400px}.project-card:has(.music) .text-link{color:#8ec9ff}.concept{height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}.concept small{font-size:10px;color:#778893}.wire-cube{height:150px;width:150px;border:1px solid #527a94;box-shadow:15px 15px 0 #c7d5de,16px 16px 0 1px #527a94;transform:rotate(-12deg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#2e536e;font-size:50px;font-weight:300;background:linear-gradient(135deg,#fff,#dce6ed)}.wire-cube span{font-size:12px}.phone-face{width:160px;height:210px;border:6px solid #263b4a;border-radius:23px;background:linear-gradient(145deg,#e5eef3,#c9dce7);padding:28px 8px;display:flex;flex-direction:column;gap:25px;align-items:center;font-size:12px;color:#5a7384}.phone-face strong{background:#fff;padding:10px 25px;border-radius:20px;color:#2b536e}.phone-face p{font-size:11px}.project-dialog{width:min(760px,92vw)}.project-dialog h3{font-size:16px;font-weight:600;margin-top:25px}.project-dialog li{font-size:14px;line-height:1.9;color:#66717b}.project-dialog .project-visual{height:auto;margin-bottom:15px}.project-dialog .project-visual img{max-height:450px}.work-card{min-height:440px}.work-flow{display:grid;grid-template-columns:repeat(4,1fr);margin:40px auto 35px;max-width:530px;border-top:1px solid #b9c9d5;padding-top:20px;gap:10px}.work-flow div{display:flex;flex-direction:column;gap:15px}.work-flow b{font-size:24px;font-weight:300;color:#7e99ad}.work-flow span{font-size:12px;color:#526775}@media(max-width:760px){.project-card{min-height:580px}.project-card h3{font-size:25px}.project-visual{height:280px}.project-visual img{max-height:250px}.work-card{min-height:420px}.work-flow{gap:6px}.work-flow span{font-size:10px}.project-card:has(.music){min-height:500px}.project-card:has(.music) .project-visual{margin-top:30px}.project-index{padding:0 6% 25px}.context-note{margin:0 6% 20px}.project-dialog{padding:25px}}
