.nav[data-astro-cid-37fxchfa]{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:linear-gradient(to bottom,var(--color-paper) 0%,transparent 100%);animation:fadeIn 1s var(--ease-out-expo) forwards}.nav-logo[data-astro-cid-37fxchfa]{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--color-ink);letter-spacing:.15em;transition:opacity .3s var(--ease-out-quart)}.nav-logo[data-astro-cid-37fxchfa]:hover{opacity:.7;color:var(--color-ink)}.nav-links[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:var(--space-lg)}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:.85rem;color:var(--color-ink-lighter);position:relative}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--color-ink);transition:width .3s var(--ease-out-expo)}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover:after{width:100%}.nav-contact[data-astro-cid-37fxchfa]{padding:.5rem 1.25rem;border:1px solid var(--color-mist);border-radius:100px;transition:all .3s var(--ease-out-quart)}.nav-contact[data-astro-cid-37fxchfa]:after{display:none}.nav-contact[data-astro-cid-37fxchfa]:hover{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.footer[data-astro-cid-37fxchfa]{background:var(--color-cream);padding:var(--space-2xl) var(--space-lg) var(--space-lg);margin-top:var(--space-2xl)}.footer-content[data-astro-cid-37fxchfa]{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;gap:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-mist)}.footer-brand[data-astro-cid-37fxchfa]{max-width:280px}.footer-logo[data-astro-cid-37fxchfa]{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;letter-spacing:.15em;color:var(--color-ink)}.footer-tagline[data-astro-cid-37fxchfa]{margin-top:var(--space-sm);font-size:.9rem;color:var(--color-stone);line-height:1.7}.footer-nav[data-astro-cid-37fxchfa]{display:flex;gap:var(--space-2xl)}.footer-col[data-astro-cid-37fxchfa]{display:flex;flex-direction:column;gap:var(--space-xs)}.footer-col[data-astro-cid-37fxchfa] h4[data-astro-cid-37fxchfa]{font-size:.75rem;font-weight:500;color:var(--color-stone);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-xs)}.footer-col[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:.9rem;color:var(--color-ink-lighter);padding:.25rem 0;transition:color .2s,transform .2s}.footer-col[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--color-ink);transform:translate(4px)}.footer-bottom[data-astro-cid-37fxchfa]{max-width:1000px;margin:0 auto;padding-top:var(--space-md);text-align:center}.copyright[data-astro-cid-37fxchfa]{font-size:.8rem;color:var(--color-stone)}@media(max-width:768px){.nav[data-astro-cid-37fxchfa]{padding:var(--space-sm) var(--space-md)}.nav-links[data-astro-cid-37fxchfa]{gap:var(--space-md)}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:not(.nav-contact){display:none}.footer-content[data-astro-cid-37fxchfa]{flex-direction:column;gap:var(--space-lg)}.footer-nav[data-astro-cid-37fxchfa]{gap:var(--space-xl)}}@font-face{font-family:Source Han Sans JP;src:url(/fonts/SourceHanSansJP-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--color-ink: #1a1a1a;--color-ink-light: #3d3d3d;--color-ink-lighter: #5c5c5c;--color-stone: #8a8a8a;--color-mist: #b8b8b8;--color-paper: #faf9f7;--color-paper-warm: #f5f3ef;--color-cream: #ede9e3;--color-sakura: #e8d4d4;--color-sakura-light: #f2e8e8;--color-accent: #c4a4a4;--font-serif: "Shippori Mincho", "Hiragino Mincho ProN", serif;--font-sans: "Zen Kaku Gothic New", "Source Han Sans JP", "Hiragino Sans", sans-serif;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 10rem}html{font-family:var(--font-sans);color:var(--color-ink);background-color:var(--color-paper);line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}main{flex:1;position:relative}a{color:var(--color-ink-lighter);text-decoration:none;transition:color .3s var(--ease-out-quart)}a:hover{color:var(--color-ink)}::selection{background:var(--color-sakura);color:var(--color-ink)}.grain-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .8s var(--ease-out-expo) forwards}.animate-fade-in-up{animation:fadeInUp .8s var(--ease-out-expo) forwards}.animate-slide-in{animation:slideIn .6s var(--ease-out-expo) forwards}
