@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;1,400&family=Oswald:wght@400;500;600&display=swap');
:root{color-scheme:dark;--paper:#f4eee3;--muted:#c8bfb2;--red:#b33e3f;--ink:#100f10;--line:#453234;--title:'Oswald',sans-serif;--prose:'Crimson Pro',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font:21px/1.55 var(--prose)}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f3c9a2;outline-offset:6px}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.skip{position:absolute;top:-100px;left:20px;z-index:20;padding:12px;background:var(--paper);color:var(--ink)}.skip:focus{top:12px}.site-nav{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff1b;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:15px;font:16px/1.1 var(--title);letter-spacing:.08em}.brand img{width:136px;height:64px;object-fit:contain}.brand span{max-width:130px}.nav-links{display:flex;gap:28px;align-items:center;font:13px/1.3 var(--title);text-transform:uppercase;letter-spacing:.09em}.nav-links a{text-decoration:none}.nav-links a:hover{color:#eeaaaa}.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 40%,#50202166,transparent 58%),#100f10}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(100deg,transparent 0 3px,#ffffff02 4px 5px);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:75px;padding-top:65px;padding-bottom:75px;min-height:760px}.eyebrow{font:13px/1.4 var(--title);letter-spacing:.17em;text-transform:uppercase;color:#dcaaaa;margin:0 0 20px}.japanese{font-family:serif;font-size:30px;letter-spacing:.14em;color:#ce6462;margin:0 0 13px}h1,h2,h3{font-family:var(--title);font-weight:400}h1{font-size:clamp(58px,6.5vw,91px);line-height:1.02;letter-spacing:-.025em;margin:0 0 20px}h1 span{display:block}h2{font-size:clamp(32px,3.8vw,50px);line-height:1.15;margin:0 0 22px}h3{font-size:27px;line-height:1.2;margin:0 0 10px}p{margin:0 0 20px}.byline{font:17px var(--title);letter-spacing:.07em;margin-bottom:27px;color:#d3c8ba}.lead{font-size:28px;line-height:1.3;max-width:490px}.hero-copy .blurb{max-width:475px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 14px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;gap:10px;padding:14px 23px;border:1px solid #725250;background:transparent;color:var(--paper);text-decoration:none;font:14px/1.3 var(--title);letter-spacing:.055em;cursor:pointer}.button.primary{background:#983435;border-color:#983435}.button:hover{background:#55282a}.button.primary:hover{background:#b34445}.button[disabled]{cursor:default;background:#332627;color:#d2b9b8;border-color:#624044}.small-note{font:13px/1.5 system-ui,sans-serif;color:#b4a89b}.cover-wrap{margin:0;justify-self:end;width:min(100%,395px);position:relative}.cover-wrap:after{content:'';position:absolute;bottom:-25px;left:-25px;right:-25px;height:45px;z-index:-1;background:#0009;filter:blur(20px)}.cover{display:block;width:100%;height:auto;box-shadow:-14px 15px 30px #0007;border:1px solid #9c78653b}.facts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:13px/1.4 var(--title);letter-spacing:.09em;text-transform:uppercase;color:#e0cabb}.section{padding:80px 0}.section-head{max-width:680px;margin-bottom:42px}.section-head p{color:var(--muted)}.story-list{display:grid;grid-template-columns:1fr 1fr;gap:0 65px}.story{border-top:1px solid var(--line);padding:27px 0;display:grid;grid-template-columns:35px 1fr;gap:20px}.story-number{font:15px var(--title);color:#a87773;padding-top:6px}.story .jp{font-family:serif;color:#cb8d86;font-size:16px;letter-spacing:.1em;margin-bottom:9px}.story p{font-size:20px;color:var(--muted);margin:0}.sample-promo{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:center;padding:55px;background:#22171a;border:1px solid var(--line)}.sample-promo img{width:min(100%,265px);height:auto;display:block;margin:auto}.sample-promo blockquote{font-size:27px;line-height:1.35;margin:0 0 26px;font-style:italic}.sample-promo p{color:var(--muted)}.editions{background:#181314;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.edition-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.edition{padding-top:25px;border-top:1px solid var(--line)}.price{font:50px/1.2 var(--title);margin:15px 0 8px}.price small{font:13px system-ui,sans-serif;color:var(--muted);display:block;margin-top:8px}.edition ul{padding-left:22px;color:var(--muted);margin:25px 0}.edition li{margin:8px 0}.edition .button{width:100%;max-width:340px}.edition-status{font:13px/1.5 system-ui,sans-serif;color:#ccaaa8;margin-top:14px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{font:20px/1.4 var(--title);cursor:pointer}.faq details p{color:var(--muted);font-size:20px;padding-top:18px}.footer{padding:40px 0;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;font:13px/1.6 system-ui,sans-serif;color:#a99a8f}.footer a{margin-left:15px}.mobile-sample{display:none}body.reader-body{color-scheme:light;background:#e8e0d3;color:#24211f;--reader-size:21px;--reader-bg:#fbf6ed;--reader-ink:#24211f}.reader-header{height:72px;position:sticky;top:0;z-index:10;background:#151213;color:#f4eee3;display:flex;justify-content:space-between;align-items:center;padding:12px max(22px,calc((100% - 1100px)/2));border-bottom:1px solid #644247;gap:15px}.reader-brand{font:16px var(--title);text-decoration:none;letter-spacing:.02em}.reader-brand small{font:11px system-ui,sans-serif;color:#bfa5a3;display:block;letter-spacing:.06em}.reader-controls{display:flex;align-items:center;gap:8px}.reader-controls button,.reader-controls select{border:1px solid #6a5452;border-radius:0;background:#251c1f;color:#f5ece0;padding:8px 11px;font:14px var(--title);min-height:38px}.reader-title{padding:45px 24px 30px;text-align:center}.reader-title h1{font-size:clamp(31px,6vw,45px);line-height:1.15;margin:9px 0 12px}.reader-title .eyebrow{color:#8e3436;font-size:12px}.reader-title p{font:14px/1.5 system-ui,sans-serif;color:#655a50}.reader-sheet{width:min(780px,calc(100% - 40px));margin:0 auto;background:var(--reader-bg);color:var(--reader-ink);box-shadow:0 3px 24px #33271b12;padding:60px 76px 55px}.reader-sheet [hidden],.reader-plate[hidden]{display:none!important}.reader-sheet p{font:var(--reader-size)/1.65 var(--prose);margin:0 0 1em}.reader-sheet p.first:first-letter{font-size:2.9em;float:left;line-height:.9;padding:5px 7px 0 0;color:#8e3436}.reader-sheet .scene{text-align:center;letter-spacing:.3em;padding:18px 0}.reader-pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;width:min(780px,calc(100% - 40px));margin:0 auto;padding:25px 0;font:13px system-ui,sans-serif;color:var(--reader-ink)}.reader-pagination button{padding:11px 20px;border:1px solid #b7a798;background:var(--reader-bg);color:var(--reader-ink);cursor:pointer;font:14px var(--title);min-height:44px}.reader-pagination button:disabled{opacity:.4;cursor:default}.sample-end{width:min(780px,calc(100% - 40px));margin:25px auto 65px;background:#241a1d;color:#f2e8d9;padding:35px;text-align:center}.sample-end h2{font-size:30px}.sample-end p{font-size:21px;color:#d1c0b3}.reader-footer{text-align:center;padding:20px;font:12px/1.6 system-ui,sans-serif;color:#6f6257}.reader-book-section{scroll-margin-top:90px}.reader-book-section h2{text-align:center;font-size:34px;padding-top:40px}.reader-plate{margin:0 auto 40px;max-width:640px;background:#151213}.reader-plate img{display:block;width:100%;height:auto}.reader-plate figcaption{font:13px/1.5 system-ui,sans-serif;padding:12px 20px;color:#cdbdb2}.reader-story-copy{margin-bottom:42px}.reader-toc{width:min(780px,calc(100% - 40px));margin:0 auto 35px;padding:25px 30px;border:1px solid #b8a997}.reader-toc a{display:block;padding:9px 0;font:20px var(--prose);color:var(--reader-ink)}.reader-toc summary{cursor:pointer;font:18px var(--title)}body.reader-night{--reader-bg:#221e1c;--reader-ink:#eee3d5;background:#151312;color:#eee3d5}body.reader-night .reader-title p,body.reader-night .reader-footer{color:#c2b19e}body.reader-night .reader-title .eyebrow{color:#df9b92}body.reader-night .reader-pagination{color:#eee3d5}body.reader-night .reader-sheet p.first:first-letter{color:#d47e76}
@media(max-width:900px){.hero-grid{gap:40px;min-height:690px}.hero h1{font-size:67px}.lead{font-size:25px}.sample-promo{gap:35px;padding:35px}.faq-grid{gap:40px}.nav-links{gap:16px}.brand span{display:none}.cover-wrap{max-width:350px}.story-list{gap:0 35px}}
@media(max-width:650px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 36px)}.site-nav{height:74px}.brand img{width:115px;height:55px}.nav-links{gap:15px;font-size:12px}.nav-links .tours-link{display:none}.hero-grid{display:flex;flex-direction:column-reverse;gap:36px;padding-top:35px;padding-bottom:38px;min-height:0;align-items:stretch}.cover-wrap{width:245px;align-self:center}.hero h1{font-size:59px;letter-spacing:-.01em}.japanese{font-size:24px}.hero-copy .eyebrow{font-size:11px;margin-bottom:14px}.byline{margin-bottom:22px}.lead{font-size:27px}.hero-copy .blurb{font-size:21px}.actions{gap:10px}.actions .button{flex:1;padding:13px 12px;font-size:13px}.facts{gap:14px;font-size:11px}.section{padding:50px 0}.story-list,.edition-grid,.faq-grid{grid-template-columns:1fr;gap:20px}.section-head{margin-bottom:25px}.story{padding:23px 0;gap:13px}.story h3{font-size:25px}.sample-promo{grid-template-columns:1fr;padding:28px;gap:28px}.sample-promo img{width:180px}.sample-promo blockquote{font-size:25px}.edition-grid{gap:35px}.faq-grid{gap:12px}.footer{flex-direction:column;padding-bottom:35px;font-size:12px}.footer a{margin:0 15px 0 0}.reader-header{height:auto;min-height:64px;padding:10px 14px;gap:10px;flex-wrap:wrap}.reader-brand{font-size:15px}.reader-controls{gap:5px}.reader-controls button,.reader-controls select{padding:6px 9px;font-size:12px;min-height:36px}.reader-title{padding:33px 18px 22px}.reader-title h1{font-size:32px}.reader-sheet{width:calc(100% - 24px);padding:32px 23px 28px}.reader-pagination,.reader-toc,.sample-end{width:calc(100% - 24px)}.reader-pagination{font-size:12px;gap:8px}.reader-pagination button{padding:10px 14px}.sample-end{padding:28px 22px}.reader-plate{margin:0 12px 25px}.reader-footer{padding:15px 20px}.reader-toc{padding:20px}.reader-controls #story-jump{max-width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.reader-sheet,.reader-plate{scroll-margin-top:120px}

/* JAPANIFY: consistent red hover feedback, 17 October 2026. */
:root{--link-hover-red:#ff2222;--button-hover-red:#d9001b}
body.reader-body:not(.reader-night){--link-hover-red:#bd0018}
.reader-header,.sample-end{--link-hover-red:#ff2222}
a:any-link:is(:hover,:focus-visible),
a:any-link:is(:hover,:focus-visible) :is(h2,h3,h4,strong,em,span){
  color:var(--link-hover-red)!important;
  border-color:var(--link-hover-red)!important;
  text-decoration-color:var(--link-hover-red)!important;
}
a:any-link:is(.btn-ghost,.button:not(.primary)):is(:hover,:focus-visible){
  background:rgba(217,0,27,.12)!important;
  border-color:var(--link-hover-red)!important;
  text-shadow:none!important;
}
/* Filled actions use red surfaces and white text for contrast. */
a:any-link:is(.nav-cta,.btn-red,.btn-neon,.button.primary):is(:hover,:focus-visible),
.mobile-book a:any-link:is(:hover,:focus-visible),
button:is(.btn-red,.button.primary):not(:disabled):is(:hover,:focus-visible){
  color:#fff!important;
  background:var(--button-hover-red)!important;
  background-image:none!important;
  border-color:#ff2222!important;
  text-shadow:none!important;
  box-shadow:0 0 24px #ff222240!important;
}
a:any-link:is(.nav-cta,.btn-red,.btn-neon,.button.primary):is(:hover,:focus-visible) :is(span,strong,em),
.mobile-book a:any-link:is(:hover,:focus-visible) :is(span,strong,em){color:#fff!important}
button:not(:disabled):not([aria-disabled="true"]):not(.btn-red):not(.primary):is(:hover,:focus-visible),
summary:is(:hover,:focus-visible){color:var(--link-hover-red)!important;border-color:var(--link-hover-red)!important}
.nav-burger:is(:hover,:focus-visible) span{background:#ff2222!important}
.story-cover:is(:hover,:focus-visible){outline:2px solid var(--link-hover-red);outline-offset:4px}
