.hamburger[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px;z-index:200}.hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;width:100%;height:1.5px;background:var(--ink);transition:transform .3s,opacity .3s;transform-origin:center}.hamburger[data-astro-cid-3ef6ksr2].open span[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger[data-astro-cid-3ef6ksr2].open span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.hamburger[data-astro-cid-3ef6ksr2].open span[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-menu[data-astro-cid-3ef6ksr2]{display:none;position:fixed;inset:64px 0 0;background:var(--paper);z-index:99;padding:2rem clamp(1.5rem,5vw,4rem);opacity:0;pointer-events:none;transition:opacity .25s}.mobile-menu[data-astro-cid-3ef6ksr2].open{opacity:1;pointer-events:all}.mobile-nav[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.mobile-nav-link[data-astro-cid-3ef6ksr2]{font-family:var(--mono);font-size:.85rem;letter-spacing:.12em;color:var(--ink);text-decoration:none;padding:1.25rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;transition:color .2s}.mobile-nav-link[data-astro-cid-3ef6ksr2]:after{content:"→";font-size:.75rem;color:var(--ink3)}.mobile-nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}@media(max-width:768px){.hamburger[data-astro-cid-3ef6ksr2]{display:flex}.mobile-menu[data-astro-cid-3ef6ksr2]{display:block}}:root{--ink: #1a1814;--ink2: #4a4740;--ink3: #8a8780;--paper: #f7f4ef;--paper2: #ede9e2;--accent: #c8440e;--accent2: #e8a020;--line: rgba(26,24,20,.12);--serif: "Shippori Mincho", "Noto Serif JP", serif;--mono: "DM Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.8;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;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='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}header{border-bottom:1px solid var(--line);padding:0 clamp(1.5rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;background:var(--paper);z-index:100;backdrop-filter:blur(8px)}.logo{font-family:var(--mono);font-size:.95rem;font-weight:500;letter-spacing:.12em;color:var(--ink);text-decoration:none}.logo span{color:var(--accent)}nav{display:flex;gap:2rem;align-items:center}nav a{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;color:var(--ink2);text-decoration:none;text-transform:uppercase;transition:color .2s}nav a:hover{color:var(--accent)}footer{border-top:1px solid var(--line);padding:2.5rem clamp(1.5rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-logo{font-family:var(--mono);font-size:.85rem;letter-spacing:.12em;color:var(--ink);text-decoration:none}.footer-logo span{color:var(--accent)}.footer-links{display:flex;gap:2rem}.footer-links a{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;color:var(--ink3);text-decoration:none;text-transform:uppercase}.footer-links a:hover{color:var(--accent)}.footer-copy{font-family:var(--mono);font-size:.65rem;color:var(--ink3);letter-spacing:.05em}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:768px){nav{display:none}footer{flex-direction:column;text-align:center}.footer-links{flex-wrap:wrap;justify-content:center}}
