@charset "UTF-8";
:root{--paper:#f7f6f0;--ink:#292829;--muted:#686760;--line:#deddd5;--purple:#b8a5e6;--peach:#eed6c4;--green:#dce4cf;--width:1160px;color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;line-height:1.65;word-break:keep-all}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #7657b1;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}img,svg{display:block;max-width:100%}.wrap{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;padding:12px;background:var(--ink);color:white;z-index:20}.skip:focus{top:12px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:850;letter-spacing:.035em;white-space:nowrap}.brand img{width:35px;height:35px}.site-header nav{display:flex;gap:28px;font-size:14px;font-weight:600}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding:76px 0 72px}.eyebrow{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;margin:0 0 24px}.dot{width:7px;height:7px;background:#747e60;border-radius:50%}.hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.25;letter-spacing:-.065em;font-weight:750;margin:0 0 25px}.hero h1 span{color:#8c70b9}.lead{font-size:16px;color:var(--muted);line-height:1.95;margin:0 0 30px}.button{display:inline-flex;gap:32px;align-items:center;background:var(--ink);color:var(--paper);padding:13px 21px;border-radius:7px;font-size:14px;font-weight:650}.button:hover{background:#464047;text-decoration:none}.hero-art{margin:0;position:relative}.hero-art img{width:100%;border-radius:20px}.art-label{position:absolute;left:22px;bottom:20px;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.1em;color:#352e42}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-top:36px;border-top:1px solid var(--line);margin-bottom:28px}.section-title h2{font-size:27px;letter-spacing:-.04em;margin:0}.section-title span{font-size:11px;letter-spacing:.1em;color:var(--muted)}.projects{display:grid;grid-template-columns:1.18fr 1fr;gap:24px}.project{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fbfaf6}.project-art{height:310px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.todo-art{background:var(--peach)}.mockup{width:264px;transform:rotate(-5deg);background:#fbfaf6;border:1px solid #cdbfaf;box-shadow:8px 12px 0 #b79e8e30;border-radius:12px;padding:23px 24px}.mockup-label{font-size:9px;letter-spacing:.16em;color:#8b8176}.mockup-title{font-size:27px;letter-spacing:-.06em;font-weight:700;margin:6px 0 16px}.mockup-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #e9e5da;font-size:12px}.check{width:15px;height:15px;border:1px solid #aca69c;border-radius:4px;flex:none;display:inline-flex;align-items:center;justify-content:center}.done .check{background:#b4c09c;color:#303a22;border-color:#b4c09c}.done .task{text-decoration:line-through;color:#8a897e}.mockup-foot{font-size:9px;color:#7c776e;margin:11px 0 0}.concept{position:absolute;left:15px;bottom:12px;font-size:10px;color:#6a594c}.game-art{background:var(--green)}.game-scene{width:240px;height:220px}.game-art .concept{color:#5d6652}.project-copy{padding:25px 27px 28px}.project-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:9px}.project-type{font-family:ui-monospace,monospace;font-size:10px;color:var(--muted);letter-spacing:.12em}.tag{border:1px solid #d4c6a9;border-radius:100px;padding:3px 9px;font-size:10px;background:#f4ecda;white-space:nowrap}.tag.next{background:#e7ecdf;border-color:#cdd5be}.project h3{font-size:23px;letter-spacing:-.04em;margin:0 0 8px}.project p{font-size:14px;color:var(--muted);margin:0;line-height:1.85}.about{display:grid;grid-template-columns:1fr 1.18fr;gap:80px;margin-top:80px;padding:42px 0 58px;border-top:1px solid var(--line)}.about h2{font-size:30px;line-height:1.5;letter-spacing:-.05em;margin:0}.about-copy p{margin:0 0 17px;color:var(--muted);font-size:15px;line-height:1.95}.about-copy p:last-child{margin:0}.contact{background:#ece7f3;border-radius:13px;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:33px 38px;margin-bottom:64px}.contact h2{font-size:22px;margin:0 0 5px;letter-spacing:-.04em}.contact p{font-size:13px;color:var(--muted);margin:0}.contact>a{font-size:14px;font-weight:650;overflow-wrap:anywhere;word-break:normal;display:flex;align-items:center;gap:14px}.site-footer{padding:25px 0 33px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:var(--muted)}.site-footer p{margin:0}.footer-links{display:flex;gap:22px}.legal{max-width:780px;margin:65px auto 80px}.legal .eyebrow{margin-bottom:13px}.legal h1{font-size:clamp(30px,5vw,43px);line-height:1.35;letter-spacing:-.045em;margin:0 0 15px}.legal-date{font-size:13px;color:var(--muted);margin:0 0 30px}.legal-intro{font-size:16px;padding:22px 25px;background:#ece7f3;border-radius:10px;margin:0 0 35px}.legal-toc{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;padding:0 0 27px;border-bottom:1px solid var(--line)}.legal section{margin-top:33px}.legal h2{font-size:20px;letter-spacing:-.03em;margin:0 0 12px}.legal p,.legal li{font-size:14px;line-height:1.95}.legal p{margin:0 0 12px}.legal ul{padding-left:22px}.legal a{color:#674990;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;margin:18px 0}table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.8}th,td{text-align:left;padding:13px 15px;border:1px solid var(--line);vertical-align:top;min-width:130px}th{background:#eeece5;font-weight:650}.legal-contact{padding:20px 24px;border:1px solid var(--line);border-radius:10px;margin-top:20px}.legal-contact p:last-child{margin:0}.not-found{min-height:65vh;padding-block:100px}.not-found h1{font-size:42px;line-height:1.3;letter-spacing:-.05em}.not-found p{color:var(--muted);margin-bottom:28px}
.hero-art img{height:auto}
@media(min-width:1450px){.hero{padding-top:90px;padding-bottom:90px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.hero{gap:32px;padding:54px 0}.hero h1{font-size:40px}.lead{font-size:14px}.project-art{height:270px}.about{gap:35px}.contact{padding:28px;align-items:flex-start;flex-direction:column;gap:17px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:21px;gap:16px}.brand{font-size:13px;gap:8px}.brand img{width:29px;height:29px}.site-header nav{gap:16px;font-size:12px}.site-header nav .nav-about{display:none}.hero{grid-template-columns:1fr;padding:46px 0 44px;gap:32px}.eyebrow{font-size:10px;margin-bottom:20px}.hero h1{font-size:43px}.lead{font-size:15px}.hero-art{max-width:450px;width:100%;justify-self:center}.hero-art img{aspect-ratio:1.25;object-fit:cover}.section-title{padding-top:27px;margin-bottom:21px}.section-title h2{font-size:24px}.section-title span{font-size:10px}.projects{grid-template-columns:1fr;gap:22px}.project-art{height:290px}.project-copy{padding:22px}.about{grid-template-columns:1fr;gap:23px;margin-top:48px;padding-top:30px;padding-bottom:35px}.about h2{font-size:27px}.contact{padding:26px 23px;margin-bottom:40px}.contact h2{font-size:21px}.contact>a{font-size:12px;gap:8px}.site-footer{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:26px}.footer-links{gap:20px}.legal{margin:42px auto 55px}.legal-intro{padding:20px;font-size:14px}.legal h2{font-size:19px}.legal p,.legal li{font-size:14px}.legal-toc{gap:9px 16px}.not-found h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
