:root{--carmine: #8c1d2f;--carmine-deep: #6f1524;--ink-bg: #1c1417;--paper: #e9e2d6;--louche: #cdd3ce;--mute: #96848a;--line: #40323a;--mincho: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--serif-en: Georgia, "Times New Roman", serif;--max: 720px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{font-family:var(--mincho);background:var(--ink-bg);color:var(--paper);line-height:1.95;font-size:15px;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}.skip-link{position:absolute;left:-9999px;background:var(--carmine);color:#fff;padding:.6em 1em;z-index:100}.skip-link:focus{left:0;top:0}a:focus-visible{outline:2px solid var(--louche);outline-offset:3px}.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,6vw,40px)}.hero{background:var(--carmine);color:#f4ece2;padding:clamp(72px,15vh,150px) 0 clamp(56px,10vh,110px)}.hero .eyebrow{font-family:var(--serif-en);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;opacity:.85}.hero h1{font-family:var(--serif-en);font-style:italic;font-weight:500;font-size:clamp(3.4rem,13vw,6rem);line-height:1.1;letter-spacing:.02em;margin:.2em 0 .4em}.hero .bar-label{font-family:var(--serif-en);letter-spacing:.5em;font-size:.85rem;text-transform:uppercase;display:block}.hero .lead{max-width:30em;margin-top:1.6em;font-size:1.02rem}.hero .sub{margin-top:2em;font-size:.82rem;opacity:.8}.toc{border-bottom:1px solid var(--line);padding:2.2em 0}.toc ol{list-style:none;font-family:var(--serif-en)}.toc li{display:flex;gap:1em;align-items:baseline;padding:.32em 0}.toc .no{font-variant-numeric:tabular-nums;color:var(--carmine);filter:brightness(1.9);font-size:.85rem;min-width:2em}.toc a{color:var(--paper);text-decoration:none;letter-spacing:.08em;font-size:.95rem;border-bottom:1px solid transparent}.toc a:hover,.toc a:focus-visible{border-bottom-color:var(--carmine)}section{padding:clamp(48px,8vh,84px) 0;border-bottom:1px solid var(--line)}.sec-no{font-family:var(--serif-en);color:#c96475;font-size:.8rem;letter-spacing:.2em;display:block;margin-bottom:1em}h2{font-family:var(--serif-en);font-style:italic;font-weight:500;font-size:clamp(1.5rem,4vw,2rem);letter-spacing:.03em;margin-bottom:1em;color:#f1e9dd}h2 .ja{font-family:var(--mincho);font-style:normal;font-size:.6em;display:block;letter-spacing:.25em;color:var(--mute);margin-top:.6em}p+p{margin-top:1.1em}.note{font-size:.82rem;color:var(--mute);margin-top:1.6em}.muted{color:var(--mute)}.absinthe h2{color:var(--louche)}.photo-slot{border:1px dashed #5d4a51;aspect-ratio:16 / 10;margin-top:2em;display:grid;place-items:center;text-align:center;font-size:.82rem;color:var(--mute);padding:1em}.notes-list{list-style:none;margin-top:1em}.notes-list li{display:grid;grid-template-columns:2.4em 1fr;gap:1em;padding:1em 0;border-bottom:1px dotted var(--line)}.notes-list .no{font-family:var(--serif-en);font-variant-numeric:tabular-nums;color:#c96475}.notes-list .t{letter-spacing:.04em}.notes-list .n{font-size:.85rem;color:var(--mute);margin-top:.3em}.notes-placeholder{border:1px dashed #5d4a51;padding:1.8em;font-size:.88rem;color:var(--mute);margin-top:1em}.faq{list-style:none}.faq li{padding:1.2em 0;border-bottom:1px dotted var(--line)}.faq .q{color:#f1e9dd;margin-bottom:.4em;font-weight:600}.faq .q:before{content:"── ";color:#c96475}.faq .a{font-size:.95rem}dl.info dt{font-family:var(--serif-en);font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--mute);margin-top:1.3em}dl.info dd{margin:.25em 0 0}.text-link{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--carmine)}.text-link:hover{text-decoration-thickness:2px}footer{background:var(--carmine-deep);color:#e9d9cd;padding:clamp(40px,7vh,64px) 0 32px;font-size:.85rem}footer .brand{font-family:var(--serif-en);font-style:italic;font-size:1.3rem}footer .demo-note{margin-top:2em;font-size:.74rem;line-height:1.7;opacity:.75}.nf{min-height:70vh;display:grid;place-items:center;text-align:center;padding:40px 20px}.nf h1{font-family:var(--serif-en);font-style:italic;font-size:clamp(3rem,10vw,5rem)}.nf a{color:var(--paper)}
