*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#0a0a0a;--white:#fafaf8;--gray-1:#1a1a1a;--gray-2:#2a2a2a;--gray-3:#555;--gray-4:#888;--gray-5:#bbb;--gray-6:#e0e0de;--font-serif:"Instrument Serif", Georgia, serif;--font-sans:"DM Sans", "Noto Sans JP", sans-serif;--font-jp:"Noto Sans JP", "DM Sans", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}html{scroll-behavior:smooth;font-size:16px}body{background:var(--white);color:var(--black);font-family:var(--font-sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}::selection{background:var(--black);color:var(--white)}section{padding:6rem 3rem;position:relative}section:after{content:"";background:var(--gray-6);height:1px;position:absolute;bottom:0;left:3rem;right:3rem}.sectionLabel{letter-spacing:.25em;text-transform:uppercase;color:var(--gray-4);margin-bottom:3rem;font-size:.65rem}.sectionLabel span{color:var(--gray-5);margin-left:.5rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.4}50%{opacity:1}}.reveal{opacity:0;transition:all .7s var(--ease);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}[data-lang=en] .ja,[data-lang=ja] .en{display:none}@media (max-width:768px){section{padding:4rem 1.5rem}}
