:root{--ink: #1A1816;--brown: #3D2E2A;--amber: #B68A4F;--amber-deep: #8C5E2C;--warm: #E8DCC9;--ivory: #F5F0E8;--paper: #FAF6EE;--rule: #D9CFC0;--mute: #6E5F50;--shadow-sm: 0 2px 10px rgba(61, 46, 42, .07);--shadow-md: 0 12px 32px rgba(61, 46, 42, .13)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Quicksand,sans-serif;color:var(--ink);background:var(--paper);line-height:1.85;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Cormorant Garamond,"Noto Serif JP",serif;font-weight:500;letter-spacing:.02em;line-height:1.4}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul,ol{list-style:none}.site-header{position:sticky;top:0;background:#faf6eef5;backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);z-index:100}.header-inner{max-width:1200px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{line-height:1.2}.brand-en{display:block;font-family:Cormorant Garamond,serif;font-size:28px;color:var(--brown);letter-spacing:.04em;font-weight:600}.brand-jp{display:block;font-family:"Noto Serif JP",serif;font-size:10px;letter-spacing:.18em;color:var(--amber-deep);margin-top:2px}.nav{display:flex;align-items:center;gap:24px}.nav a{font-family:"Noto Serif JP",serif;font-size:13px;color:var(--ink);font-weight:500;letter-spacing:.08em;transition:color .2s}.nav a:hover{color:var(--amber-deep)}.nav .nav-cta{background:var(--amber-deep);color:var(--ivory);padding:10px 22px;border-radius:0;font-weight:600;letter-spacing:.12em}.nav .nav-cta:hover{background:var(--brown);color:var(--ivory)}.nav-toggle{display:none;background:none;border:none;width:36px;height:36px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.nav-toggle span{display:block;width:24px;height:2px;background:var(--brown);transition:transform .3s,opacity .3s}.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-footer{background:linear-gradient(180deg,#2a2018,#1a1410);color:var(--ivory);padding:64px 28px 28px;margin-top:80px}.footer-inner{max-width:1080px;margin:0 auto 32px;display:grid;grid-template-columns:1.2fr 1.5fr 1fr;gap:40px}.footer-brand .footer-name{font-family:Cormorant Garamond,serif;font-size:28px;color:var(--ivory);margin-bottom:8px;font-weight:600}.footer-brand .footer-tag{font-family:Quicksand,sans-serif;font-size:11px;color:var(--amber);letter-spacing:.2em}.footer-info p{font-size:13px;margin-bottom:6px;color:#f5f0e8bf}.footer-info a{color:var(--amber);text-decoration:underline}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{font-family:"Noto Serif JP",serif;font-size:13px;letter-spacing:.08em;color:#f5f0e8bf}.footer-links a:hover{color:var(--amber)}.footer-copy{text-align:center;font-size:11px;color:var(--amber);padding-top:20px;border-top:1px solid rgba(184,138,79,.2);letter-spacing:.15em}.intro-overlay{position:fixed;inset:0;background:#0a0807;z-index:9999;display:flex;align-items:center;justify-content:center}#intro-canvas{max-width:90vw;max-height:90vh}.intro-skip{position:absolute;top:24px;right:24px;background:transparent;border:1px solid var(--amber);color:var(--amber);padding:8px 16px;font-size:11px;cursor:pointer;font-family:Quicksand,sans-serif;letter-spacing:.2em}.intro-skip:hover{background:var(--amber);color:#0a0807}.container{max-width:1080px;margin:0 auto;padding:0 28px}.narrow{max-width:760px}.section{padding:80px 0}.section-eyebrow{font-family:Quicksand,sans-serif;font-size:11px;letter-spacing:.3em;color:var(--amber-deep);text-align:center;margin-bottom:16px}.section-title{font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:clamp(28px,4.5vw,44px);text-align:center;margin-bottom:16px;color:var(--brown);font-weight:500}.section-lead{text-align:center;color:var(--mute);margin-bottom:48px;font-size:14px}@media(max-width:820px){.nav-toggle{display:flex}.nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;padding:24px;gap:16px;border-bottom:1px solid var(--rule);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s}.nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.footer-inner{grid-template-columns:1fr;gap:24px}.section{padding:60px 0}}
