@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@300;400&family=Noto+Serif+JP:wght@300;400;500&family=Noto+Sans+JP:wght@300;400;500&display=swap");:root{--font-serif:"Cormorant Garamond","Noto Serif JP","Times New Roman",serif;--font-serif-jp:"Noto Serif JP","Cormorant Garamond",serif;--font-sans:"DM Sans","Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"DM Mono","Noto Sans JP",ui-monospace,monospace;--color-bg:#FCFBF8;--color-surface:#FFFFFF;--color-ink:#262219;--color-brass:#A8895C;--color-sand:#E7DECF;--color-text-secondary:#6B6453;--color-text-muted:#9A917C;--color-border:#EBE6DB;--color-brass-line:#BCA87C;--color-bg-card:var(--color-surface);--color-text-primary:var(--color-ink);--color-accent:var(--color-brass);--fabir-f:#5C3A6B;--fabir-a:#7A5C2E;--fabir-b:#3A6B4A;--fabir-i:#2E4E6A;--fabir-r:#8B3A3A;--max-width:800px;--max-width-wide:1080px;--radius-sm:2px;--radius-md:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:96px;--space-12:120px;--space-16:160px;--space-20:200px;--header-height:72px;--accent:var(--color-brass);--accent-dim:var(--color-brass-line);--bg-elevated:var(--color-surface);--text-primary:var(--color-ink);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted);--border:var(--color-border)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-weight:400;line-height:1.8}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container,.container-text{max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.eyebrow{font-size:11px;letter-spacing:.18em}.eyebrow,.tag{font-family:var(--font-sans);font-weight:400;text-transform:uppercase;color:var(--color-brass)}.tag{display:inline-block;font-size:10px;letter-spacing:.15em}.tag-accent{color:var(--color-brass)}.divider{height:1px;background:var(--color-border);border:0;margin:0}.btn-primary{display:inline-block;font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink);background:transparent;border:.5px solid var(--color-ink);padding:16px 44px;transition:background .3s ease-out,color .3s ease-out}.btn-primary:hover{background:var(--color-ink);color:var(--color-bg)}.link-secondary{display:inline-block;font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink);border-bottom:.5px solid var(--color-brass-line);padding-bottom:3px;transition:opacity .3s ease-out}.link-secondary:hover{opacity:.6}.prose{font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.95;color:var(--color-ink)}.prose p{margin-bottom:1.8em}.prose h2{font-size:clamp(20px,3vw,24px);font-weight:500;letter-spacing:.02em;margin-top:2.6em;margin-bottom:.9em}.prose h2,.prose h3{font-family:var(--font-serif-jp);line-height:1.5;color:var(--color-ink)}.prose h3{font-size:clamp(17px,2.5vw,20px);font-weight:400;margin-top:2.2em;margin-bottom:.8em}.prose ol,.prose ul{padding-left:1.5em;margin-bottom:1.8em}.prose li{margin-bottom:.6em;line-height:1.9}.prose blockquote{border-left:2px solid var(--color-brass-line);padding-left:1.4em;margin:2em 0;color:var(--color-text-secondary);font-family:var(--font-serif-jp)}.prose strong{font-weight:500;color:var(--color-ink)}.prose img{width:100%;height:auto;border-radius:var(--radius-sm);margin:2em 0}.prose code{font-family:var(--font-mono);font-size:.9em;color:var(--color-text-secondary)}.prose a{color:var(--color-ink);border-bottom:.5px solid var(--color-brass-line);transition:opacity .2s}.prose a:hover{opacity:.6}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-out both}.animate-slide-up{animation:slide-up .6s ease-out both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}