@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#111315;--panel:#1b1b1b;--text:#f2f1ed;--muted:#a4a4a4;--line:#383838;--accent:#b9c9d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,'Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#111315ed;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{font-size:36px;font-weight:800;letter-spacing:-3px;display:flex;align-items:center;gap:16px}.brand>span{font-size:14px;line-height:1.6;letter-spacing:1px;font-weight:500;border-left:1px solid #555;padding-left:16px}.brand small{font-size:10px;letter-spacing:1.4px}nav{display:flex;gap:40px;font-size:14px}nav a{position:relative;padding:12px 0}nav a:after{content:'';height:2px;width:0;position:absolute;bottom:4px;left:0;background:var(--accent);transition:width .3s}nav a:hover:after,nav a.active:after{width:100%}.contact-link{font-size:14px}.contact-link span{display:inline-block;margin-left:20px;color:var(--accent);font-size:24px}.hero{padding:35px 5% 0;max-width:1800px;margin:auto}.hero-top,.hero-foot,.section-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.6px}.eyebrow{font-size:12px;letter-spacing:2px}.edition{color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:5%;padding:48px 0 64px}.hello{font-size:17px;margin:0 0 25px;color:var(--muted)}h1{font-size:clamp(48px,6.2vw,100px);line-height:1.24;letter-spacing:-.065em;margin:0;font-weight:800}.accent{color:var(--accent);display:inline-block;position:relative}.accent i{font-style:normal;font-size:.55em;display:inline-block;vertical-align:top;margin:8px 0 0 12px;animation:rotate 25s linear infinite}.intro{font-size:16px;line-height:1.9;margin:28px 0 30px;color:var(--muted)}.pill{display:inline-flex;gap:48px;padding:16px 24px;border-radius:40px;background:var(--accent);color:#1d1d1d;font-size:14px;font-weight:600;align-items:center;transition:transform .3s,background .3s}.pill:hover{transform:translateY(-4px);background:#d5dfe4}.pill span{font-size:22px}.hero-art{position:relative;height:480px;border:1px solid #484848;border-radius:160px 160px 12px 12px;overflow:hidden;background:#050505;display:block;transition:transform .7s;transform:rotate(3deg)}.hero-art:hover{transform:rotate(0)}.hero-art img{height:100%;width:100%;object-fit:cover;filter:brightness(.7);transition:transform 1s}.hero-art:hover img{transform:scale(1.05)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#090909cc)}.art-top{position:absolute;left:34px;right:34px;top:65px;font-size:11px;letter-spacing:2px;text-align:center;z-index:1}.art-top span{display:block;margin-top:12px;color:#d5d5d5;font-size:12px;letter-spacing:1px}.art-bottom{position:absolute;bottom:30px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;font-size:14px;z-index:1}.art-bottom b{border:1px solid #9b9b9b;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:22px}.hero-foot{padding:24px 0;border-top:1px solid var(--line);color:var(--muted);letter-spacing:1px}.hero-foot i{margin:0 14px;font-style:normal;color:#666}.hero-foot b{margin-left:22px;color:var(--accent)}.section{padding:90px 5%;max-width:1800px;margin:auto}.section-label{color:var(--muted);margin-bottom:56px}.section-label>span:first-child:before{content:'+';color:var(--accent);margin-right:16px}.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}h2{font-size:clamp(32px,3.7vw,58px);letter-spacing:-.04em;line-height:1.4;margin:0;font-weight:600}h2 span{color:var(--muted)}.about p{font-size:16px;line-height:2;color:#bbbbbb;margin:0 0 22px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.tags span{border:1px solid #464646;border-radius:30px;padding:9px 16px;font-size:13px;color:#cecece}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}h2 em{font-style:normal;color:var(--muted)}.section-title p,.photo-heading p{font-size:15px;line-height:1.9;color:var(--muted)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:48px 24px}.project-cover{width:100%;height:380px;border:0;border-radius:8px;position:relative;padding:28px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;text-align:left;overflow:hidden;transition:transform .5s,filter .5s}.project-cover:hover{transform:translateY(-7px);filter:brightness(1.08)}.cover-meta{font-size:11px;letter-spacing:1.6px;position:relative;z-index:2}.cover-brand{background:#b9c9d2;color:#212121}.type-art{font-family:Georgia,serif;font-size:140px;letter-spacing:-8px;text-align:center;line-height:1}.type-art span{display:block;font-family:Arial,'Noto Sans SC',sans-serif;font-size:12px;letter-spacing:6px;margin-top:18px}.cover-bottom{display:flex;justify-content:space-between;align-items:center;font-size:14px}.cover-bottom b{display:grid;place-items:center;border:1px solid currentColor;width:36px;height:36px;border-radius:50%;font-size:20px;font-weight:400;transition:transform .4s}.project-cover:hover b{transform:rotate(45deg)}.cover-ui{background:#cbd2d8;color:#1b1b1b}.cover-ui .type-art{font-family:Arial,sans-serif;font-size:110px;font-weight:700;letter-spacing:-8px;transform:rotate(-8deg)}.cover-ui .type-art span{font-size:10px;letter-spacing:3px}.project-caption{display:flex;justify-content:space-between;margin-top:22px;align-items:flex-start}.project-caption h3{font-size:20px;font-weight:500;margin:0 0 10px}.project-caption p{font-size:13px;color:var(--muted);margin:0}.project-caption>span{color:var(--muted);font-size:13px}.project-wide{grid-column:1/-1}.cover-game{background:#2c2c2c;color:#b9c9d2;height:340px;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:40px 40px}.game-type{font-size:110px;font-weight:900;letter-spacing:-7px;display:flex;align-items:center;gap:40px;justify-content:center}.game-type>span{font-size:24px;letter-spacing:4px;font-weight:400;max-width:250px;line-height:1.5}.photo-section{border-block:1px solid var(--line);background:#202529}.photo-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid var(--accent);padding:12px 0;font-size:14px}.journey-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:8%}.muted{color:var(--muted);line-height:1.9;font-size:15px}.timeline-label{font-weight:400;font-size:12px;letter-spacing:2px;color:var(--muted);margin:5px 0 30px}.timeline-item{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);padding:27px 0;gap:24px}.timeline-item>span{font-size:12px;color:var(--muted);line-height:2}.timeline-item h3{font-size:20px;font-weight:500;margin:0 0 12px}.timeline-item h3 small{display:inline-block;margin-left:10px;font-size:12px}.timeline-item p{font-size:15px;line-height:1.9;margin:0 0 10px;color:#cccccc}.timeline-item small{font-size:12px;color:var(--muted);line-height:1.9}.timeline-item strong{display:block;font-size:28px;font-weight:500;margin:18px 0 0;color:var(--accent)}.timeline-item strong small{font-size:12px;margin-left:7px}.timeline-item strong i{color:var(--line);font-style:normal;margin:0 18px}.practice-label{margin-top:50px}.contact{background:var(--accent);color:#1d1d1d;border-radius:20px;margin:0 3%;max-width:none;padding:55px 5% 30px}.contact .section-label{color:#4f4f4f;margin-bottom:45px}.contact .section-label>span:first-child:before{color:#1d1d1d}.contact>p{font-size:16px}.contact-heading{font-size:clamp(60px,10vw,155px);font-weight:600;letter-spacing:-.055em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #646464;padding:10px 0 40px}.contact-heading span{transition:transform .5s;font-weight:400}.contact-heading:hover span{transform:translate(12px,-12px)}.contact-bottom{display:flex;gap:25px;align-items:center;flex-wrap:wrap;padding-top:28px;font-size:16px}.contact-bottom>a:last-child{margin-left:auto}.contact-bottom button{background:transparent;border:1px solid #959595;border-radius:24px;padding:10px 16px;font-size:12px}.copy-status{min-height:16px;margin:14px 0 0!important;font-size:12px!important}footer{display:flex;justify-content:space-between;padding:42px 5%;gap:20px;font-size:12px;letter-spacing:1px;color:var(--muted)}footer>a:first-child{color:var(--text)}footer span{margin-left:10px}.progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);width:0;z-index:50}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:var(--accent);color:#111;padding:15px}.skip:focus{top:10px}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.motion .reveal.visible{opacity:1;transform:none}dialog{background:#232323;color:var(--text);border:1px solid #5f5f5f;border-radius:18px;padding:50px;max-width:650px;width:calc(100% - 32px)}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog h2{font-size:34px;margin:25px 0}dialog p,dialog li{font-size:16px;line-height:1.9;color:#c4c4c4}dialog ul{padding-left:22px;margin-bottom:28px}.dialog-close{position:absolute;right:18px;top:12px;font-size:32px;background:transparent;border:0}.dialog-close:focus-visible{outline-color:var(--accent)}@keyframes rotate{to{transform:rotate(360deg)}}@media(min-width:1600px){.hero-art{height:580px}}@media(max-width:900px){.hero-grid{gap:4%}.hero-art{height:380px}.art-top{top:45px}.timeline-item{grid-template-columns:1fr;gap:8px}.type-art{font-size:110px}.cover-ui .type-art{font-size:85px}.game-type{font-size:90px}.section{padding-top:65px;padding-bottom:65px}.contact{padding-bottom:25px}}@media(max-width:640px){header{height:76px;padding:0 6%}.brand{font-size:29px;gap:10px}.brand>span{padding-left:10px;font-size:12px}.brand small{font-size:9px}nav{gap:20px;font-size:13px}.contact-link{display:none}.hero{padding:28px 6% 0}.hero-top{font-size:10px}.eyebrow{font-size:10px}.edition{display:none}.hero-grid{grid-template-columns:1fr;padding:40px 0 30px;gap:40px}h1{font-size:clamp(45px,11.5vw,75px);letter-spacing:-.06em}.hello{font-size:15px;margin-bottom:20px}.intro{font-size:15px}.hero-art{height:400px;max-width:440px;width:92%;margin:auto;border-radius:140px 140px 10px 10px;transform:rotate(2deg)}.hero-foot{font-size:10px;letter-spacing:0}.hero-foot i{margin:0 7px}.hero-foot b{margin-left:8px}.section{padding:56px 6%}.section-label{font-size:10px;letter-spacing:1px;margin-bottom:34px}.about-grid,.photo-heading,.journey-grid{grid-template-columns:1fr;gap:30px}h2{font-size:34px}.about p{font-size:15px}.section-title{align-items:start;gap:20px}.section-title p{display:none}.projects{grid-template-columns:1fr;gap:32px}.project-wide{grid-column:auto}.project-cover{height:320px;padding:24px}.game-type{font-size:82px;display:block;text-align:center;line-height:1}.game-type>span{display:block;font-size:13px;letter-spacing:3px;max-width:none;margin-top:18px}.project-caption h3{font-size:18px}.project-caption p{font-size:12px}.timeline-item{grid-template-columns:1fr;gap:8px}.timeline-item strong{font-size:24px}.timeline-item strong i{margin:0 10px}.contact{margin:0 3%;padding:35px 6% 20px}.contact-heading{font-size:19vw;padding-bottom:24px}.contact>p{font-size:13px}.contact-bottom{gap:16px;font-size:15px}.contact-bottom>a:last-child{width:100%;margin-left:0}.contact .section-label{margin-bottom:25px}footer{padding:28px 6%;font-size:10px;flex-wrap:wrap}footer>span{display:none}dialog{padding:38px 24px}dialog h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}.hero-art{transform:none}}
