:root{--bg: #07071a;--ink: #f2efff;--muted: #b9b3dc;--line: #ffffff2e;--accent: #c9c2ff;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 68% 42%,#c9c2ff55 0,#6a5cff22 8%,transparent 30%),radial-gradient(ellipse at 60% 45%,#1d1850 0,var(--bg) 70%) fixed}a{color:inherit}.webgl{position:fixed;inset:0;z-index:-1;width:100%!important;height:100%!important;opacity:0;transition:opacity 1.2s ease}body:not(.is-ready) .webgl{opacity:0!important}.nav{position:fixed;inset:0 0 auto;z-index:10;display:flex;align-items:center;gap:32px;padding:20px clamp(16px,5vw,64px);background:linear-gradient(#07071acc,transparent)}.brand{text-decoration:none;letter-spacing:.35em;font-size:12px}.nav nav{display:flex;gap:28px;margin-left:auto;font-size:13px}.nav nav a{text-decoration:none;color:var(--muted);transition:color .2s}.nav nav a:hover{color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:11px;color:var(--muted);margin:0 0 20px}h1,h2,blockquote{font-family:Playfair Display,Georgia,serif;font-weight:400;margin:0}h1{font-size:clamp(42px,6vw,84px);line-height:1.04;letter-spacing:-.02em}h2{font-size:clamp(32px,4vw,54px);line-height:1.1}em{font-style:italic;color:var(--accent)}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px clamp(16px,5vw,64px) 80px;max-width:720px}.lede{font-size:17px;line-height:1.7;color:var(--muted);max-width:440px;margin:24px 0 36px}.actions{display:flex;gap:12px;flex-wrap:wrap}.scroll-hint{position:absolute;bottom:28px;left:clamp(16px,5vw,64px);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 26px;border-radius:999px;border:1px solid #ffffff8a;background:linear-gradient(120deg,#ffffff30,#ffffff0a);box-shadow:inset 0 1px #fff5,0 0 #c9c2ff00;backdrop-filter:blur(16px);text-decoration:none;font-size:14px;transition:transform .25s,box-shadow .4s,background .25s}.btn:hover{transform:translateY(-2px);background:#ffffff2a;box-shadow:inset 0 1px #fff7,0 0 40px #c9c2ff55}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn--ghost{border-color:var(--line);background:transparent}.btn--small{padding:10px 18px;font-size:13px}.section{padding:140px clamp(16px,5vw,64px);max-width:1200px;margin:0 auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}.card{padding:32px 28px 36px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(140deg,#ffffff17,#ffffff05 60%,#a99bff0f);backdrop-filter:blur(22px) saturate(140%);box-shadow:inset 1px 1px #ffffff30;transition:transform .3s,border-color .3s}.card:hover{transform:translateY(-4px);border-color:#fff6}.card-num{font-size:11px;letter-spacing:.2em;color:var(--muted)}.card h3{font-family:Playfair Display,serif;font-weight:400;font-size:28px;margin:40px 0 12px}.card p{margin:0;line-height:1.7;color:var(--muted);font-size:15px}.section--cta{text-align:center;display:grid;justify-items:center;gap:44px}blockquote{font-size:clamp(28px,3.6vw,46px);line-height:1.25;font-style:italic}.footer{padding:40px;text-align:center;font-size:12px;color:var(--muted)}@media (max-width: 700px){.nav nav{display:none}.nav .btn{margin-left:auto}.hero{justify-content:flex-end;padding-bottom:72px}.hero h1,.lede{text-shadow:0 2px 24px #07071a}.cards{grid-template-columns:1fr}.section{padding:100px 16px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.breath-dot{animation:none}}body.light{--bg: #ffffff;--ink: #23211d;--muted: #6f695f;--line: #23211d24;--accent: #8a6838;color:var(--ink);background:radial-gradient(circle at 68% 42%,#f0c27a40 0,#f0c27a14 6%,transparent 22%) fixed #fff}.light .nav{background:linear-gradient(#ffffffee,transparent)}.light .brand{letter-spacing:.5em}.light h1,.light h2{color:var(--ink)}.light .btn{border-color:#23211d33;background:#ffffff8c;box-shadow:inset 0 1px #fff}.light .btn:hover{background:#fff;box-shadow:0 10px 40px #c9a46a40}.light .btn--ghost{background:transparent}.light .btn--solid{background:var(--ink);border-color:var(--ink);color:#faf8f3;box-shadow:none}.light .btn--solid:hover{background:#000;box-shadow:0 10px 40px #c9a46a55}.light .card{background:linear-gradient(140deg,#ffffffb3,#fff6);box-shadow:inset 1px 1px #fff,0 20px 60px #8a7d6614}.light .card:hover{border-color:#23211d40}.light .footer a{color:var(--muted)}.breath{display:flex;align-items:center;gap:12px;margin-top:48px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.breath-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:breathe 8s ease-in-out infinite}.is-ready .breath-dot{animation:none;opacity:.9}@keyframes breathe{0%,to{transform:scale(.6);opacity:.5}50%{transform:scale(1.6);opacity:1}}@media (max-width: 700px){.light .hero h1,.light .lede{text-shadow:0 2px 24px #fff}}.lang-toggle{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:8px 14px;font:inherit;font-size:12px;cursor:pointer;transition:color .2s,border-color .2s}.lang-toggle:hover{color:var(--ink);border-color:var(--muted)}.lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nav nav+.lang-toggle{margin-left:4px}:lang(ja){font-family:Shippori Mincho,Hiragino Mincho ProN,Yu Mincho,serif}:lang(ja) h1,:lang(ja) h2,:lang(ja) blockquote,:lang(ja) .card h3,:lang(ja) .menu h3{font-family:Playfair Display,Shippori Mincho,Hiragino Mincho ProN,Yu Mincho,serif;letter-spacing:.02em}:lang(ja) h1{font-size:clamp(34px,4.8vw,66px);line-height:1.35}:lang(ja) h2{line-height:1.4}:lang(ja) em,:lang(ja) blockquote{font-style:normal}:lang(ja) .lede,:lang(ja) .card p{line-height:1.9}:lang(ja) .eyebrow,:lang(ja) .breath{letter-spacing:.12em}@media (max-width: 700px){.lang-toggle{margin-left:auto}.nav .btn{margin-left:0}}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}.body-copy{font-size:17px;line-height:1.9;color:var(--muted);margin:0}.menu{list-style:none;padding:0;margin:56px 0 0;border-top:1px solid var(--line)}.menu li{display:grid;grid-template-columns:1fr auto;gap:6px 24px;padding:28px 0;border-bottom:1px solid var(--line)}.menu h3{font-family:Playfair Display,serif;font-weight:400;font-size:26px;margin:0}.menu-meta{font-size:14px;color:var(--accent);white-space:nowrap;align-self:center}.menu p{grid-column:1 / -1;margin:0;color:var(--muted);line-height:1.7;max-width:560px}.note{font-size:13px;color:var(--muted);margin-top:24px}.faq{max-width:760px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary:after{content:"+";color:var(--accent)}.faq details[open] summary:after{content:"−"}.faq summary::-webkit-details-marker{display:none}.faq details p{color:var(--muted);line-height:1.8;margin:14px 0 0}.info{display:grid;grid-template-columns:auto 1fr;gap:16px 32px;margin:0;font-size:16px}.info dt{color:var(--muted);font-size:13px;letter-spacing:.1em;padding-top:2px}.info dd{margin:0}@media (max-width: 700px){.split{grid-template-columns:1fr;gap:28px}}html[lang=ja] [data-lang-block=en],html:not([lang=ja]) [data-lang-block=ja]{display:none}body.light.plain{background:#fff}.blog-index{max-width:860px;padding-top:160px}.post-list{list-style:none;padding:0;margin:64px 0 0;border-top:1px solid var(--line)}.post-list a{display:block;padding:32px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:opacity .2s}.post-list a:hover{opacity:.7}.post-list .eyebrow{margin-bottom:12px}.post-list h2{font-size:clamp(24px,3vw,32px)}.post-list p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:10px 0 0}.post{max-width:680px;margin:0 auto;padding:150px 16px 80px}.back{display:inline-block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:48px}.back:hover{color:var(--ink)}.post-head h1{font-size:clamp(32px,5vw,50px);line-height:1.15}.post-head{margin-bottom:48px}.prose{font-size:17px;line-height:1.9}.prose h2{font-size:clamp(22px,3vw,28px);margin:56px 0 16px;line-height:1.35}.prose h3{font-size:19px;font-weight:500;margin:40px 0 12px}.prose p,.prose ul,.prose ol{margin:0 0 1.4em}.prose li{margin-bottom:.5em}.prose a{color:var(--accent)}.prose blockquote{font-size:22px;line-height:1.6;margin:40px 0;padding-left:24px;border-left:2px solid var(--accent)}.prose img{max-width:100%;height:auto;border-radius:12px}.prose hr{border:0;border-top:1px solid var(--line);margin:48px 0}:lang(ja) .prose{font-size:16px;line-height:2.1;letter-spacing:.04em}:lang(ja) .post-head h1{line-height:1.5}
