@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');
:root{--wine:#261a1e;--wine2:#3a252a;--paper:#efe5d3;--light:#f8f1e5;--ink:#2b1b20;--muted:#68575a;--orange:#e6a478}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.8}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #f8bb8c;outline-offset:4px}.skip{position:absolute;top:-100px;left:12px;padding:8px;background:white;z-index:20}.skip:focus{top:8px}
.fiction{padding:8px 18px;background:#d8bca8;color:#351d21;text-align:center;font:600 11px/1.5 system-ui,sans-serif;letter-spacing:.03em}.site-head{background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px clamp(18px,4vw,60px);border-bottom:1px solid #bfae9d}.mark{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:25px;line-height:1.1;font-weight:700;white-space:nowrap}.mark-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--wine);color:var(--paper);font-size:22px}.mark small{display:block;font:600 9px/1.4 system-ui,sans-serif;letter-spacing:.15em;margin-top:5px}.site-head nav{display:flex;gap:30px;font-size:13px}.site-head nav a{text-decoration:none;border-bottom:1px solid currentColor}.index-link{font:600 12px system-ui,sans-serif;text-decoration:none;white-space:nowrap}.index-link span{margin-left:7px;font-size:18px}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);min-height:690px;background:var(--wine);color:var(--paper);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 94px,#ffffff0b 95px,transparent 96px);pointer-events:none}.hero-numeral{position:absolute;left:-.02em;top:-.23em;color:#ffffff0b;font:900 clamp(260px,33vw,560px)/1 Georgia,serif;letter-spacing:-.12em;pointer-events:none}.hero-type{position:relative;z-index:1;padding:54px 20px 85px clamp(26px,7.8vw,128px);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto auto;column-gap:clamp(18px,4vw,65px)}.overline{grid-column:1/-1;font:600 11px system-ui,sans-serif;letter-spacing:.18em;color:var(--orange)}.hero h1{grid-column:1;grid-row:2/5;writing-mode:vertical-rl;margin:50px 0 0;font-weight:400;letter-spacing:.13em;line-height:1.1;font-size:clamp(62px,8vw,142px);white-space:nowrap}.hero-lead{grid-column:2;grid-row:3;align-self:end;max-width:230px;margin:0 0 28px;font-size:14px;line-height:2.1}.hero-cta{grid-column:2;grid-row:4;align-self:start;border-top:1px solid #c39c83;border-bottom:1px solid #c39c83;padding:11px 3px;text-decoration:none;font-size:16px;display:flex;justify-content:space-between;gap:20px}.hero-window{position:relative;margin:35px 45px 105px 0;min-width:0;z-index:1;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 12%)}.hero-window img{display:block;width:100%;height:100%;min-height:510px;object-fit:cover;filter:sepia(.3) contrast(.88) brightness(.78)}.hero-window:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3a182322,transparent 60%,#190c1877);pointer-events:none}.hero-window>span{position:absolute;left:20px;bottom:15px;z-index:2;color:white;font:600 10px system-ui,sans-serif;letter-spacing:.13em}.hero-spines{position:absolute;z-index:2;right:0;bottom:0;height:116px;width:min(58%,750px);display:flex;justify-content:flex-end;align-items:flex-end;gap:3px}.hero-spines span{display:grid;place-items:center;width:clamp(34px,5vw,65px);height:var(--height,95px);padding:8px 2px;background:var(--spine,#8c524b);color:#f8ead5;font-size:15px;line-height:1.2;box-shadow:inset -5px 0 #0002;transform-origin:bottom;animation:spine-rise .8s both;animation-delay:calc(var(--i,0)*70ms)}.hero-spines span:nth-child(2n){--spine:#6e6e63;--height:105px}.hero-spines span:nth-child(3n){--spine:#a38154;--height:83px}.hero-spines span:nth-child(4n){--spine:#4b595a;--height:112px}.hero-spines span:nth-child(5n){--spine:#925a55;--height:73px}.hero-side{position:absolute;right:0;top:28%;writing-mode:vertical-rl;font-size:11px;letter-spacing:.35em;color:#e2c0a5}.hero-side span{margin-top:18px}
.shelves{padding:100px 0 80px;background:var(--light)}.section-head{display:grid;grid-template-columns:130px minmax(0,1.5fr) minmax(0,.9fr);gap:25px;align-items:end;padding:0 clamp(22px,6vw,100px) 55px}.section-no{font:700 11px system-ui,sans-serif;letter-spacing:.13em;color:#8b4a47;align-self:start;padding-top:18px}.section-head h2,.compare h2,.colophon h2{font-size:clamp(40px,5.5vw,82px);font-weight:400;line-height:1.28;letter-spacing:.05em;margin:0}.section-head>p{max-width:330px;margin:0;font-size:14px}.shelf-space{background:#dac7af;padding:26px clamp(20px,5vw,75px) 35px;border-top:7px solid #9e725c;border-bottom:14px solid #3c2627;box-shadow:0 25px 35px #371d2022}.aisle-label{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:0 0 15px;border-bottom:1px solid #9c826f;font:600 10px system-ui,sans-serif;letter-spacing:.2em}.aisle-label strong{font-family:"Zen Old Mincho",serif;font-size:20px;letter-spacing:.2em;font-weight:500}.shelf-tabs{display:flex;gap:0;margin:28px 0 9px;flex-wrap:wrap;border-bottom:1px solid #9b7867}.shelf-tabs button{border:0;border-top:1px solid #ad8f7a;background:transparent;padding:8px 18px 13px;color:var(--ink);font:500 16px "Zen Old Mincho","Yu Mincho",serif;cursor:pointer;text-align:left;transition:background .2s}.shelf-tabs button b{margin-right:16px;font-size:21px;font-weight:400;color:#915b53}.shelf-tabs button[aria-pressed=true]{background:var(--wine);color:#f7e9d5}.shelf-tabs button[aria-pressed=true] b{color:var(--orange)}.shelf-description{font-size:13px;min-height:26px;margin:12px 0 18px}.shelf-guide,.shelf-floor{display:flex;justify-content:space-between;gap:20px;font:700 10px system-ui,sans-serif;letter-spacing:.14em}.shelf-guide{padding-bottom:9px;color:#6b4947}.shelf-floor{border-top:13px solid #4a2d2d;padding-top:9px;color:#553a37}.book-grid{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 20px;scrollbar-color:#825e50 #e8d7c0}.book-card{flex:0 0 clamp(175px,18vw,245px);scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;transition:opacity .25s,transform .25s}.book-card:not(.active-aisle){opacity:.48;transform:scale(.97)}.book-spine{height:clamp(280px,35vw,405px);width:100%;display:flex;flex-direction:column;align-items:center;gap:17px;padding:25px 15px;border:0;border-left:10px solid #ffffff25;border-right:7px solid #120c0c55;border-radius:3px 9px 8px 3px;background:var(--book-color);color:#fff5e6;cursor:pointer;box-shadow:8px 13px 0 #4f322a6b,inset 2px 0 #ffffff7a;text-align:left;position:relative}.book-spine:hover{transform:translateY(-8px)}.book-spine[aria-pressed=true]{outline:4px solid #fff6d6;outline-offset:-8px}.book-spine:disabled{cursor:not-allowed}.spine-no{align-self:flex-start;font:700 11px system-ui,sans-serif;letter-spacing:.18em}.spine-title{writing-mode:vertical-rl;align-self:center;flex:1;font-size:clamp(27px,3vw,43px);letter-spacing:.13em;line-height:1.2}.spine-mark{align-self:end;font:400 30px Georgia,serif}.book-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 4px 0}.book-foot small{font:600 10px system-ui,sans-serif;letter-spacing:.1em;color:#613d3a}.book-foot p{margin:5px 0 0;font-size:13px}.book-foot>span{font:500 18px Georgia,serif}.shelf-note{margin:26px clamp(22px,6vw,100px) 0;color:#6a5352;font-size:12px}
.interlude{display:grid;grid-template-columns:1.15fr .85fr;background:#4c3940;color:var(--paper);min-height:430px}.interlude-photo{position:relative;min-width:0;max-height:510px;overflow:hidden}.interlude-photo img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover;filter:sepia(.22) saturate(.7) brightness(.72)}.interlude-photo span{position:absolute;bottom:15px;left:20px;font:700 10px system-ui,sans-serif;letter-spacing:.2em}.interlude-copy{display:flex;flex-direction:column;justify-content:center;padding:50px clamp(30px,5vw,90px);border-left:1px solid #b99e9450}.interlude-copy>span,.interlude-copy small{font:600 11px/1.7 system-ui,sans-serif;letter-spacing:.1em}.interlude-copy p{writing-mode:vertical-rl;align-self:center;height:260px;margin:22px 0;font-size:clamp(42px,5vw,76px);line-height:1.3;letter-spacing:.12em}
.compare{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(30px,5vw,85px);background:var(--paper);padding:clamp(75px,8vw,125px) clamp(22px,6vw,100px)}.compare-title p{font-size:14px;max-width:300px;margin-top:28px}.compare-title h2{margin-top:20px}.compare-box{position:relative;background:#fbf6ec;border:1px solid #aa9082;box-shadow:12px 12px 0 #c8a987;padding:25px clamp(20px,3vw,48px) 35px;min-height:380px}.compare-box:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #d8c9b9}.compare-head{display:flex;justify-content:space-between;font:700 11px system-ui,sans-serif;letter-spacing:.16em;border-bottom:1px solid #a8877b;padding-bottom:13px}.compare-box>p{position:relative}.compare-box #compare-empty{font-size:15px;max-width:290px;margin-top:38px}.compare-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin:25px 0}.compare-grid article{min-width:0;padding:10px 5px}.compare-grid small{font:600 10px system-ui,sans-serif;letter-spacing:.13em;color:#935b51}.compare-grid h3{font-weight:500;font-size:clamp(20px,2.5vw,33px);margin:8px 0 23px;line-height:1.5}.compare-grid p{font-size:13px;border-top:1px solid #d8c7b7;padding:6px 0;margin:6px 0}.compare-box button{position:relative;border:0;border-bottom:1px solid;background:none;color:var(--ink);font:600 13px "Zen Old Mincho",serif;padding:6px 0;cursor:pointer}.compare-box button:disabled{opacity:.38;cursor:not-allowed}.compare-foot{font-size:11px!important;border-top:1px solid #c9b5a4;padding-top:13px;margin-top:40px}
.colophon{display:grid;grid-template-columns:120px 1fr 1fr;gap:30px;background:#d7c4ad;padding:80px clamp(22px,6vw,100px)}.colophon>span{font:700 10px system-ui,sans-serif;letter-spacing:.14em}.colophon h2{font-size:clamp(34px,4vw,60px)}.colophon p{margin:0;font-size:14px;max-width:380px}.colophon a{grid-column:3;justify-self:start;font-size:13px;border-bottom:1px solid;text-decoration:none}.colophon a:hover{color:#9f4d40}footer{display:flex;justify-content:space-between;gap:20px;padding:30px clamp(22px,6vw,100px);background:var(--wine);color:var(--paper);font-size:12px}footer a{text-decoration:none;border-bottom:1px solid}
@keyframes spine-rise{from{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-spines span{animation:none}.book-card,.book-spine{transition:none}}
@media(max-width:1050px){.hero{min-height:620px}.hero-type{padding-left:35px;column-gap:22px}.hero h1{font-size:clamp(58px,8vw,95px)}.hero-window{margin-right:30px}.section-head{grid-template-columns:100px 1fr}.section-head p{grid-column:2}.colophon{grid-template-columns:1fr 1fr}.colophon>span{grid-column:1/-1}.colophon a{grid-column:2}}
@media(max-width:700px){.site-head nav{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-type{padding:28px 22px 60px;display:block}.overline{font-size:9px}.hero h1{writing-mode:horizontal-tb;font-size:clamp(58px,14vw,96px);line-height:1.24;margin:25px 0 14px;letter-spacing:.04em;white-space:normal}.hero-lead{font-size:13px;max-width:450px}.hero-cta{margin-top:24px;max-width:300px}.hero-window{height:310px;margin:0 24px 85px}.hero-window img{min-height:0;height:100%}.hero-spines{width:95%;height:90px}.hero-spines span{height:var(--height,70px);max-height:88px;width:11%;font-size:11px}.hero-side{display:none}.shelves{padding:65px 0}.section-head{display:block;padding:0 22px 35px}.section-head h2{font-size:clamp(40px,10vw,65px);margin:13px 0}.section-head p{font-size:13px}.shelf-space{padding:20px 15px 30px}.aisle-label span{font-size:8px}.aisle-label strong{font-size:17px}.shelf-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.shelf-tabs button{font-size:12px;line-height:1.4;padding:9px 6px}.shelf-tabs button b{display:block;margin-right:0}.book-card{flex-basis:165px}.book-spine{height:300px}.spine-title{font-size:27px}.interlude{display:block}.interlude-photo img{min-height:0;height:310px}.interlude-copy{min-height:240px;padding:25px}.interlude-copy p{writing-mode:horizontal-tb;height:auto;align-self:flex-start;font-size:42px;margin:18px 0}.compare{display:block;padding:70px 22px}.compare-title p{margin:15px 0 30px}.compare-box{min-height:300px}.colophon{display:block;padding:65px 22px}.colophon h2{margin:18px 0}.colophon a{display:inline-block;margin-top:20px}footer{display:block}footer a{display:inline-block;margin-top:10px}}
@media(max-width:390px){.mark{font-size:20px}.mark small{font-size:7px}.index-link{font-size:10px}.hero h1{font-size:55px}.hero-window{height:250px}.shelf-tabs button{font-size:11px}.compare-grid{gap:10px}.compare-grid h3{font-size:18px}}

/* Japanese prose: balance short final lines while respecting punctuation. */
h1,h2,h3,p{line-break:strict}
p:not(.overline):not(.hero-side):not(.eyebrow){text-wrap:pretty}

/* 2026-10-31: bookshop trade-name columns and a brighter shop interior. */
.hero{grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);min-height:680px}.hero-type{grid-template-rows:auto 1fr auto auto auto;padding-left:clamp(28px,5vw,80px);padding-right:25px;column-gap:clamp(14px,2vw,30px)}.hero h1{grid-column:1;grid-row:2/6;display:block;margin:22px 0 0;font-size:clamp(70px,6.5vw,112px);letter-spacing:.04em;line-height:1.08}.hero h1 span{display:block}.hero-phrase{grid-column:2;grid-row:3;align-self:end;margin:0 0 22px;font-size:clamp(20px,2.5vw,31px);line-height:1.5}.hero-lead{grid-column:2;grid-row:4;margin-bottom:16px}.hero-cta{grid-column:2;grid-row:5}.hero-window{margin:20px 22px 72px 0;clip-path:polygon(5% 0,100% 0,100% 100%,0 100%,0 7%)}.hero-window img{filter:sepia(.12) contrast(.98) brightness(.95);object-position:center}.hero-spines{width:min(54%,780px)}
@media(max-width:1050px) and (min-width:701px){.hero-type{padding-left:28px;column-gap:12px}.hero h1{font-size:clamp(55px,7vw,76px)}.hero-phrase{font-size:20px}.hero-lead{font-size:12px}.hero-window{margin-right:14px}}
@media(max-width:700px){.hero{display:grid;grid-template-columns:30% 70%;grid-template-rows:360px auto auto auto;min-height:0}.hero-type{display:contents}.overline{grid-column:1;grid-row:1;z-index:2;align-self:start;margin:18px 0 0 10px;font-size:8px;line-height:1.3;letter-spacing:.08em;writing-mode:vertical-rl}.hero h1{grid-column:1;grid-row:1;z-index:2;justify-self:center;align-self:center;writing-mode:vertical-rl;margin:0;font-size:clamp(42px,11vw,62px);line-height:1.02;letter-spacing:.02em;white-space:nowrap}.hero h1 span{display:block}.hero-window{grid-column:2;grid-row:1;height:360px;margin:0;clip-path:none}.hero-window img{height:100%;min-height:0;object-position:48% center}.hero-window>span{font-size:8px;left:8px;bottom:8px}.hero-phrase{grid-column:1/-1;grid-row:2;margin:0;padding:22px 22px 0;font-size:25px}.hero-lead{grid-column:1/-1;grid-row:3;max-width:none;margin:0;padding:5px 22px 0;font-size:13px}.hero-cta{grid-column:1/-1;grid-row:4;margin:17px 22px 35px;max-width:none}.hero-numeral{font-size:220px;top:10px;left:-20px}.hero-spines,.hero-side{display:none}}
@media(max-width:390px){.hero{grid-template-rows:330px auto auto auto}.hero-window{height:330px}.hero h1{font-size:42px}.hero-phrase{font-size:23px}}
