:root{--cream: #f5f2ec;--ink: #161412;--accent: #e8380d;--panel: #e9e3d7;--ink-strong: rgba(22, 20, 18, .78);--ink-body: rgba(22, 20, 18, .68);--ink-muted: rgba(22, 20, 18, .55);--ink-faint: rgba(22, 20, 18, .42);--cream-muted: rgba(245, 242, 236, .6);--cream-faint: rgba(245, 242, 236, .5);--rule: 1px solid rgba(22, 20, 18, .14);--rule-soft: 1px solid rgba(22, 20, 18, .16);--rule-strong: 1px solid rgba(22, 20, 18, .2);--rule-on-dark: 1px solid rgba(245, 242, 236, .22);--pad-x: clamp(20px, 4vw, 56px);--gap: clamp(16px, 2vw, 32px);--section-y: clamp(96px, 17vh, 230px);--section-y-scene: clamp(120px, 20vh, 280px);--font-display: "Archivo", sans-serif;--font-ja: "Noto Sans JP", sans-serif;--font-mono: ui-monospace, Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Archivo,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--cream)}ul{margin:0;padding:0}img{display:block;max-width:100%}.t-display,.t-lead,.t-body,.t-meta{margin:0}.t-display{font:var(--fw, 800) var(--fs) / var(--lh, .95) var(--font-display);letter-spacing:var(--ls, -.03em)}.t-lead{font:var(--fw, 900) var(--fs) / var(--lh, 1.35) var(--font-ja);letter-spacing:var(--ls, .02em)}.t-body{font:var(--fw, 400) var(--fs, 11.5px) / var(--lh, 2.1) var(--font-ja);color:var(--ink-body)}.t-meta{font:var(--fw, 500) var(--fs, 10px) / var(--lh, 1.6) var(--font-mono);letter-spacing:var(--ls, .2em);color:var(--ink-muted)}.on-dark.t-meta,.on-dark .t-meta{color:var(--cream-muted)}.on-dark.t-body,.on-dark .t-body{color:#f5f2ecb8}.section{padding:var(--section-y) var(--pad-x)}.section--scene{padding:var(--section-y-scene) var(--pad-x)}.section--ruled{border-top:var(--rule)}.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap)}.hero-figure{margin-right:calc(var(--pad-x) * -1)!important}@media (max-width: 960px){.grid-12{grid-template-columns:1fr!important}.grid-12>*{grid-column:auto!important;grid-row:auto!important}.hero-figure{margin:20px calc(var(--pad-x) * -1) 0!important}.hero-figure figcaption{left:var(--pad-x)!important}.work-sub-l{width:68%}.work-sub-r{width:52%;margin-left:auto}.work-sub-c{width:60%;margin-left:auto;margin-right:auto}}.hover-accent{position:relative;transition:color .35s}.hover-accent:hover{color:var(--accent)}.hover-accent:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .45s cubic-bezier(.22,1,.36,1)}.hover-accent:hover:after{transform:scaleX(1);transform-origin:left center}.hover-border-accent{border-bottom:1px solid rgba(22,20,18,.3);padding-bottom:4px;transition:color .35s,border-color .35s}.hover-border-accent:hover{color:var(--accent);border-color:var(--accent)}.cap-row>*{transition:transform .55s cubic-bezier(.22,1,.36,1)}.cap-row:hover>:first-child{transform:translate(24px)}.cap-row:hover>:last-child{transform:translate(-12px)}.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transition-delay:var(--d, 0s)}.reveal.is-visible{opacity:1;transform:none}.lines .line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.lines .line>span{display:block;transform:translateY(110%);transition:transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--d, 0s)}.lines.is-visible .line>span{transform:none}.reveal-img .media-frame{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.76,0,.24,1);transition-delay:var(--d, 0s)}.reveal-img.is-visible .media-frame{clip-path:inset(0 0 0 0)}.hero-figure .media-frame img{transform:scale(1.06);transition:transform 1.6s cubic-bezier(.22,1,.36,1);transition-delay:var(--d, 0s)}.hero-figure.is-visible .media-frame img{transform:none}.hero-figure:hover .media-frame img{transform:scale(1.03);transition-delay:0s}.impact{position:relative;isolation:isolate;--impact-stat: var(--accent);--impact-body: var(--ink-body);--impact-meta: var(--ink-muted);--impact-tag: var(--ink-faint);--impact-rule: rgba(22, 20, 18, .2);border-top:1px solid var(--impact-rule);transition:border-color .45s cubic-bezier(.22,1,.36,1)}.impact:before{content:"";position:absolute;z-index:-1;top:0;right:-20px;bottom:-20px;left:-20px;background:var(--ink);opacity:0;transition:opacity .45s cubic-bezier(.22,1,.36,1)}.impact:hover:before{opacity:1}.impact:hover{--impact-stat: var(--cream);--impact-body: rgba(245, 242, 236, .86);--impact-meta: var(--cream-muted);--impact-tag: var(--cream-faint);--impact-rule: rgba(245, 242, 236, .3)}.impact p{transition:color .45s cubic-bezier(.22,1,.36,1)}.work-code,.work-title,.work-arrow{transition:color .4s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}.work:hover .work-title{color:var(--accent)}.work:hover .work-code{transform:translate(-3px)}.work:hover .work-arrow{transform:translate(4px,-4px);color:var(--accent)}.section-wipe{position:relative;isolation:isolate}.section-wipe:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--cream);transform-origin:bottom center;transform:scaleY(1);transition:transform 1.1s cubic-bezier(.76,0,.24,1)}.section-wipe.is-visible:before{transform:scaleY(0)}.contact-mail{border-bottom:1px solid rgba(22,20,18,.45);padding-bottom:10px;transition:color .4s cubic-bezier(.22,1,.36,1),border-color .4s cubic-bezier(.22,1,.36,1)}.contact-mail:hover{color:var(--cream);border-color:var(--cream)}.contact-mail:hover .work-arrow{transform:translate(4px,-4px)}.parallax{transform:translate3d(0,var(--py, 0px),0);will-change:transform}
