:root{--bg: #0c0b09;--bg-2: #141310;--ink: #ece7dc;--muted: #9a9488;--gold: #c4a574;--gold-2: #e2c9a0;--line: rgba(236, 231, 220, .12);--serif: "Cormorant Garamond", "Noto Serif SC", serif;--sans: "Noto Sans SC", "Helvetica Neue", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden}body.has-cursor{cursor:none}a{color:inherit;text-decoration:none}img{max-width:100%}.grain{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cursor,.cursor-dot{pointer-events:none;position:fixed;top:0;left:0;z-index:90;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:difference;display:none}body.has-cursor .cursor,body.has-cursor .cursor-dot{display:block}.cursor{width:40px;height:40px;border:1px solid #fff;transition:width .25s,height .25s,background .25s}.cursor.hover{width:72px;height:72px;background:#ffffff14}.cursor-dot{width:4px;height:4px;background:#fff}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;mix-blend-mode:difference;color:#fff}.nav-mark{font-family:var(--serif);font-size:20px;letter-spacing:.18em}.nav-links{display:flex;gap:28px;font-size:13px;letter-spacing:.12em}.nav-links a{opacity:.72;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-cta{font-size:12px;letter-spacing:.16em;border:1px solid rgba(255,255,255,.45);padding:8px 14px;border-radius:999px}.hero{min-height:100vh;padding:160px 40px 80px;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end}.hero-kicker{color:var(--gold);letter-spacing:.22em;font-size:12px;text-transform:uppercase;margin-bottom:28px}.hero-title{display:flex;flex-direction:column;font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:.01em}.hero-name{font-size:clamp(56px,10vw,128px);font-weight:500;margin-bottom:18px}.hero-line{font-size:clamp(28px,4.6vw,56px)}.hero-line.italic{font-style:italic;color:var(--gold-2)}.hero-lead{max-width:520px;margin-top:36px;color:var(--muted);font-size:16px}.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:72px;padding-top:28px;border-top:1px solid var(--line);font-size:14px}.meta-label{display:block;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}.status{display:inline-flex;align-items:center;gap:8px}.status i{width:7px;height:7px;border-radius:50%;background:#7dba7a;box-shadow:0 0 #7dba7ab3;animation:pulse 2.2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px #7dba7a00}}.section-index{color:var(--gold);font-size:12px;letter-spacing:.2em;margin-bottom:28px}.about,.work,.skills,.notes,.contact{padding:120px 40px;max-width:1280px;margin:0 auto}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}.about-sticky{position:sticky;top:120px;align-self:start}.about-sticky h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.2}.about-en{margin-top:18px;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:20px}.about-body p{margin-bottom:20px;color:#d5d0c4;font-size:16px}.facts{list-style:none;margin-top:40px;border-top:1px solid var(--line)}.facts li{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.facts span{color:var(--muted)}.work-title,.notes h2,.contact h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4vw,48px);margin-bottom:48px}.project{display:grid;grid-template-columns:80px 1fr 240px;gap:32px;align-items:center;padding:36px 0;border-top:1px solid var(--line)}.project:last-of-type{border-bottom:1px solid var(--line)}.project-year{color:var(--muted);font-size:13px;letter-spacing:.08em}.project h3{font-family:var(--serif);font-size:32px;font-weight:500;margin-bottom:10px}.project p{color:var(--muted);max-width:520px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tags span{font-size:11px;letter-spacing:.08em;border:1px solid var(--line);padding:4px 10px;border-radius:999px;color:var(--muted)}.project-visual{height:120px;border:1px solid var(--line);background:var(--bg-2);display:flex;align-items:flex-end;justify-content:center;gap:10px;padding:16px;overflow:hidden}.v1 .book-spine{width:18px;height:88px;background:linear-gradient(180deg,#c4a574,#6d5533)}.v1 .book-spine:nth-child(2){height:100px;background:linear-gradient(180deg,#ece7dc,#8a7d68)}.v1 .book-spine:nth-child(3){height:76px;background:linear-gradient(180deg,#5c6b58,#2c332b)}.v2{align-items:center}.dew{width:10px;height:10px;border-radius:50%;background:var(--gold-2);opacity:.85}.dew:nth-child(2){width:22px;height:22px;opacity:.55}.dew:nth-child(3){width:6px;height:6px;opacity:.35}.v3 svg{width:100%;height:100%}.v3 path{stroke:var(--gold);stroke-width:1.6;fill:none}.skill-row{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line);padding-top:40px}.skill-row h3{font-family:var(--serif);font-size:28px;font-weight:500;margin-bottom:10px}.skill-row p{color:var(--muted)}.note-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.note-list article{padding:28px;border:1px solid var(--line);background:#1413108c;min-height:220px}.note-list time{color:var(--gold);font-size:12px;letter-spacing:.12em}.note-list h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:16px 0 12px}.note-list p{color:var(--muted);font-size:14px}.contact-lead{max-width:640px;color:var(--muted);margin-bottom:40px}.contact-links{display:flex;flex-wrap:wrap;gap:18px 32px}.contact-links a{font-family:var(--serif);font-size:28px;border-bottom:1px solid var(--gold);padding-bottom:4px}.footer{display:flex;justify-content:space-between;padding:28px 40px 40px;color:var(--muted);font-size:12px;letter-spacing:.12em;border-top:1px solid var(--line)}@media(max-width:860px){.nav{padding:16px 20px}.nav-links{display:none}.hero,.about,.work,.skills,.notes,.contact{padding-left:20px;padding-right:20px}.hero{padding-top:120px}.hero-meta,.about-grid,.project,.skill-row,.note-list{grid-template-columns:1fr}.about-sticky{position:static}.project-visual{display:none}.footer{flex-direction:column;gap:8px;padding:24px 20px 32px}body.has-cursor{cursor:auto}body.has-cursor .cursor,body.has-cursor .cursor-dot{display:none}}
