:root{--bg:#0a0a0b;--bg-alt:#141416;--text:#f2f1ea;--text-dim:#9a9a9f;--border:#2a2a2e;--accent:#c9ff3c;--sans:"Zen Kaku Gothic New", system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.section-heading{letter-spacing:-.02em;margin:0 0 40px;font-size:clamp(28px,4vw,44px);font-weight:900}.site-header{z-index:50;mix-blend-mode:difference;justify-content:space-between;align-items:center;padding:24px 6vw;display:flex;position:fixed;inset:0 0 auto}.site-mark{letter-spacing:.02em;font-size:20px;font-weight:900}.site-mark .dot{color:var(--accent);mix-blend-mode:normal}.site-nav{gap:32px;font-size:14px;font-weight:500;display:flex}.site-nav a{opacity:.85;transition:opacity .2s}.site-nav a:hover{opacity:1}.hero{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100svh;padding:0 6vw;display:flex;position:relative}.hero-eyebrow{letter-spacing:.18em;color:var(--accent);margin:0 0 20px;font-size:14px;font-weight:700}.hero-title{letter-spacing:-.03em;margin:0;font-size:clamp(48px,11vw,148px);font-weight:900;line-height:.94}.hero-title .word{display:inline-block}.hero-sub{color:var(--text-dim);margin:28px 0 0;font-size:clamp(16px,2vw,20px)}.hero-scroll{letter-spacing:.08em;color:var(--text-dim);align-items:center;gap:10px;font-size:13px;display:flex;position:absolute;bottom:40px;left:6vw}.hero-scroll span{background:var(--text-dim);width:1px;height:32px;animation:1.8s ease-in-out infinite scroll-pulse}@keyframes scroll-pulse{0%,to{opacity:.2}50%{opacity:1}}.works{padding:140px 6vw}.work-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.work-card{text-align:left;border:1px solid var(--border);background:var(--bg-alt);border-radius:12px;flex-direction:column;transition:transform .35s,border-color .35s;display:flex;overflow:hidden}.work-card:hover{border-color:var(--accent);transform:translateY(-6px)}.work-card-thumb{aspect-ratio:4/3;background:linear-gradient(135deg, var(--accent), transparent 70%);opacity:.85;display:block}.work-card-meta{flex-direction:column;gap:4px;padding:18px 20px 22px;display:flex}.work-card-category{color:var(--text-dim);font-size:12px}.work-card-title{font-size:20px;font-weight:700}.work-card-year{color:var(--accent);font-size:12px}.about{border-top:1px solid var(--border);max-width:780px;padding:100px 6vw}.about-text{color:var(--text-dim);margin:0 0 32px;font-size:clamp(16px,2vw,19px);line-height:1.8}.skill-list{flex-wrap:wrap;gap:10px;display:flex}.skill-tag{border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:13px}.contact{border-top:1px solid var(--border);padding:100px 6vw 40px}.contact-text{color:var(--text-dim);margin:0 0 16px}.contact-mail{border-bottom:2px solid var(--accent);margin-bottom:40px;padding-bottom:4px;font-size:clamp(24px,4vw,40px);font-weight:900;display:inline-block}.social-list{color:var(--text-dim);gap:24px;font-size:14px;display:flex}.social-list a:hover{color:var(--text)}.site-footer{color:var(--text-dim);margin-top:80px;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-alt);border:1px solid var(--border);border-radius:16px;width:min(720px,100%);max-height:90svh;padding:32px;position:relative;overflow-y:auto}.modal-close{border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:flex;position:absolute;top:16px;right:16px}.modal-media{aspect-ratio:16/9;border:1px dashed var(--border);color:var(--text-dim);background:linear-gradient(135deg, var(--accent) 0%, transparent 60%);border-radius:10px;justify-content:center;align-items:center;margin-bottom:24px;font-size:13px;display:flex}.modal-category{color:var(--accent);margin:0 0 8px;font-size:13px}.modal-title{margin:0 0 16px;font-size:clamp(24px,3vw,32px);font-weight:900}.modal-description{color:var(--text-dim);margin:0;line-height:1.8}@media (width<=640px){.site-header{padding:18px 5vw}.site-nav{gap:18px}.works,.about,.contact{padding-left:5vw;padding-right:5vw}}
