/* The Tokyo Bible page in the mattjhannan.com house style (2026-11-07).
   Loads after /assets/site.css (a byte-for-byte copy of mattjhannan.com's, origin/main 731efda) and uses only its
   tokens: lime #efff3d, ink #171715, cream #f4f0e6, paper #fffdf6; Barlow, Barlow Condensed ExtraBold, Space Mono.
   The old page's inline script still sets a few inline colours (var(--teal)); the aliases below map them to ink. */
:root{--teal:var(--ink);--text-dim:var(--link-grey);--border:var(--ink);--wide:1240px}
body{padding-bottom:0}
.tb-wrap{max-width:calc(var(--col) + var(--pad)*2);margin:0 auto;padding:0 var(--pad)}
.tb-sec{padding-top:34px;padding-bottom:30px}
.tb-h2{font-family:"Barlow Condensed","Barlow Condensed Fallback",sans-serif;font-weight:800;font-size:40px;line-height:.95;letter-spacing:.005em;margin:0 0 12px;text-transform:uppercase}
.tb-sub{margin:0 0 18px;color:var(--ink)}
.tb-sub-muted{color:var(--link-grey)}

/* Cover additions: by-line, facts, call to action, product picture */
.tb-cover .intro{display:block}
.tb-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:18px 0 0;border-top:var(--rule) solid var(--ink)}
.tb-facts div{padding:10px 0 10px;border-bottom:1px solid var(--ink);font-family:"Space Mono",monospace;font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.02em}
.tb-facts div:nth-child(odd){padding-right:12px;border-right:1px solid var(--ink)}
.tb-facts div:nth-child(even){padding-left:12px}
.tb-facts strong{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:40px;line-height:1}
.tb-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 0;min-height:56px;padding:16px;background:var(--ink);color:var(--lime);border:var(--rule) solid var(--ink);text-decoration:none;font-family:"Space Mono",monospace;font-size:13px;letter-spacing:.02em;text-transform:uppercase}
.tb-cta::after{content:"→";font-family:"Barlow",sans-serif;font-size:18px}
.tb-cta:hover{background:#2b2b27}
.tb-cta:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.cta-trust{margin:10px 0 0;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.cta-trust span{white-space:nowrap}
.tb-figure{margin:0}
/* Product renders (2026-11-07 "Shu & Kinari" product identity): transparent device compositions that sit on the lime */
.tb-render{display:block;margin:22px auto 0;max-width:560px}
.tb-render img{display:block;width:100%;height:auto}
.pv-caption{margin:14px 0 0;text-align:center;font-family:"Space Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.02em}

/* Proof line on ink */
.tb-proof{background:var(--ink);color:var(--on-ink);padding:16px var(--pad)}
.tb-proof p{max-width:var(--col);margin:0 auto;font-family:"Space Mono",monospace;font-size:11px;line-height:1.6;letter-spacing:.02em;text-transform:uppercase}
.tb-proof strong{color:var(--lime);font-weight:400}

/* Testimonials */
.video-testimonial{background:var(--paper);border:var(--rule) solid var(--ink);margin:0 0 16px}
.video-testimonial video{display:block;width:100%;max-width:330px;aspect-ratio:9/16;object-fit:cover;margin:0 auto;background:var(--ink)}
.vt-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-top:var(--rule) solid var(--ink)}
.vt-name{font-weight:600}
.vt-sub{color:var(--link-grey);font-size:14px}
.vt-badge{flex:0 0 auto;background:var(--lime);border:1px solid var(--ink);font-family:"Space Mono",monospace;font-size:11px;text-transform:uppercase;padding:2px 8px}
.quote-grid{display:grid;gap:12px}
.quote-card{background:var(--paper);border:var(--rule) solid var(--ink);padding:14px 14px 12px}
.quote-card blockquote{margin:0 0 8px;padding:0;border:0;font-size:16px;line-height:1.45}
.quote-card cite{display:block;font-style:normal;font-family:"Space Mono",monospace;font-size:11px;text-transform:uppercase;color:var(--link-grey)}

/* Price reframe on lime */
.tb-reframe{background:var(--lime);border-top:var(--rule) solid var(--ink);border-bottom:var(--rule) solid var(--ink);padding:26px var(--pad)}
.tb-reframe p{max-width:var(--col);margin:0 auto;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:30px;line-height:1;text-transform:uppercase}

/* The offer card */
.offer-card{margin:0}
.offer-card .card-body>h2{margin-bottom:8px}
.offer-sub{margin:0 0 16px!important}
.stack-items{list-style:none;margin:0 0 6px;padding:0;border-top:var(--rule) solid var(--ink);counter-reset:item}
.stack-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 8px;padding:14px 0;border-bottom:1px solid #d9d4c6}
.stack-item::before{counter-increment:item;content:counter(item,decimal-leading-zero);font-family:"Space Mono",monospace;font-size:12px;padding-top:3px}
.stack-item strong{display:block;font-size:17px;line-height:1.3;margin-bottom:3px}
.stack-item p{margin:0!important;font-size:15px;line-height:1.45}
.bonus-tag{display:inline-block;margin-left:6px;vertical-align:2px;background:var(--lime);border:1px solid var(--ink);font-family:"Space Mono",monospace;font-weight:400;font-size:10px;text-transform:uppercase;padding:1px 6px}
.stack-visual{margin:14px 0 4px;text-align:center}
.stack-visual img{width:240px;height:auto;display:inline-block;vertical-align:top;box-shadow:0 1px 0 rgba(23,23,21,.08),0 18px 34px -16px rgba(23,23,21,.45)}
.stack-visual p{margin:8px 0 0!important;font-family:"Space Mono",monospace;font-size:11px;text-transform:uppercase;color:var(--link-grey)}
.offer-price{display:flex;align-items:baseline;gap:10px;margin:18px 0 4px}
.offer-price .now{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:64px;line-height:.9}
.offer-price .unit{font-family:"Space Mono",monospace;font-size:12px;text-transform:uppercase}
.offer-note{margin:0!important;font-size:15px}
.price-anchors{margin:20px 0 0;border-top:1px solid var(--ink)}
.anchor{padding:10px 0;border-bottom:1px solid #d9d4c6;font-size:15px;line-height:1.45}
.anchor strong{display:block;font-family:"Space Mono",monospace;font-weight:400;font-size:11px;text-transform:uppercase;color:var(--link-grey);margin-bottom:2px}
.guarantee-box{margin:18px 0 0;background:var(--cream);border:var(--rule) dashed var(--ink);padding:14px}
.guarantee-box h3{margin:0 0 6px;font-size:17px}
.guarantee-box p{margin:0!important;font-size:15px}

/* Email boxes (same field and button as mattjhannan.com's take-away and trip forms) */
.capture-mid{margin:22px 0 0;padding-top:18px;border-top:var(--rule) solid var(--ink)}
.capture-mid>p:first-child{margin:0 0 10px!important;font-size:15px}
.email-form{display:grid;gap:10px}
.email-form input{width:100%;height:50px;padding:0 14px;font:400 16px/1 "Barlow",system-ui,sans-serif;border:1.5px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);-webkit-appearance:none;appearance:none}
.email-form input:focus{outline:none;box-shadow:0 0 0 2px var(--ink)}
.email-form button{min-height:52px;padding:0 16px;background:var(--lime);color:var(--ink);border:1.5px solid var(--ink);border-radius:0;font-family:"Space Mono",monospace;font-size:13px;letter-spacing:.02em;text-transform:uppercase;text-align:left;cursor:pointer}
.email-form button:hover{background:#f6ff8a}
.email-form button:disabled{cursor:default;opacity:.7}
.waitlist-notice{margin:8px 0 0!important;font-family:"Space Mono",monospace;font-size:11px;text-transform:uppercase}
.waitlist-notice a{color:inherit;text-underline-offset:3px}
.form-msg{display:none;margin:10px 0 0;padding:10px 12px;border:var(--rule) solid var(--ink);font-weight:600;font-size:15px}
.form-msg--success{background:var(--lime);color:var(--ink)}
.form-msg--error{background:var(--paper);color:var(--ink);border-style:dashed}
.form-msg a{color:var(--ink)!important}

/* Live demo on ink */
.tb-demo{background:var(--ink);color:var(--on-ink);padding:30px 0 34px}
.tb-demo .section-label{color:var(--lime)}
.tb-demo .tb-h2{color:var(--lime)}
.tb-demo .tb-sub{color:var(--on-ink)}
.demo-frame{position:relative;height:560px;border:var(--rule) solid var(--lime);background:var(--cream);overflow:hidden}
.demo-frame iframe{display:block;width:100%;height:100%;border:0;pointer-events:none}
.demo-frame.active iframe{pointer-events:auto}
.demo-gate{position:absolute;inset:0;width:100%;background:rgba(23,23,21,.12);border:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:0 0 22px;font:inherit}
.demo-gate span{background:var(--lime);color:var(--ink);border:1.5px solid var(--ink);font-family:"Space Mono",monospace;font-size:13px;text-transform:uppercase;padding:12px 18px}
.demo-frame.active .demo-gate{display:none}
@media (hover:hover) and (pointer:fine){.demo-frame iframe{pointer-events:auto}.demo-gate{display:none}}

/* Sample excerpt */
.sample-fade{position:relative;max-height:470px;overflow:hidden}
.sample-fade::after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(rgba(244,240,230,0),var(--cream))}
.sample-card{margin:0}
.sample-card .card-body h3{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:31px;line-height:1;margin:0 0 10px;text-transform:uppercase}
.sample-card .highlight{background:var(--lime);box-shadow:0 0 0 2px var(--lime)}
.sh-cta{margin:8px 0 0;font-size:16px}

/* Pages from the guide (tablet and up) */
.tb-spreads{display:none}
.sp{margin:0}
.sp img{display:block;width:100%;height:auto;box-shadow:0 1px 0 rgba(23,23,21,.06),0 26px 50px -24px rgba(23,23,21,.5)}
.sp figcaption{margin:12px 0 0;font-size:11px;color:var(--link-grey)}

/* Chapters */
.feature-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:var(--rule) solid var(--ink);counter-reset:ch}
.feature-grid li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 8px;padding:11px 0;border-bottom:1px solid #d9d4c6}
.feature-grid li::before{counter-increment:ch;content:counter(ch,decimal-leading-zero);font-family:"Space Mono",monospace;font-size:12px;padding-top:3px}
.feature-grid strong{display:block;font-size:17px;line-height:1.3}
.feature-grid span{display:block;font-size:15px;line-height:1.4;color:var(--ink)}

/* Matt's note */
.matt-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start}
.matt-photo{width:96px;height:96px;object-fit:cover;border:var(--rule) solid var(--ink);display:block}
.matt-body p{margin:0 0 10px}
.matt-body .sig{font-family:"Space Mono",monospace;font-size:12px;text-transform:uppercase;margin:0}
.tb-author{margin-top:22px}

/* FAQ (same rows as mattjhannan.com's Q&A) */
.faq-list{border-bottom:var(--rule) solid var(--ink)}
.faq-list details{border-top:var(--rule) solid var(--ink)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 0;font-weight:600;font-size:17px;line-height:1.3}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:"Space Mono",monospace;font-weight:400;font-size:18px;flex:0 0 auto}
.faq-list details[open] summary::after{content:"−"}
.faq-list details>div{padding:0 0 16px;font-size:16px;line-height:1.5}

/* Final call to action + the bottom email box on ink */
.s-final{padding:6px 0 30px}
.s-final .cta-trust{text-align:left}
.capture-card{background:var(--ink);color:var(--on-ink);padding:26px var(--pad) 32px;scroll-margin-top:12px}
.capture-card .capture-inner{max-width:var(--col);margin:0 auto}
.capture-card h3{margin:6px 0 10px;color:var(--lime);font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(40px,11vw,72px);line-height:.92;text-transform:uppercase}
.capture-card .subtitle{margin:0 0 16px}
.capture-card .section-label{color:var(--lime)}
.capture-card .email-form input{border-color:var(--lime)}
.capture-card .email-form button{border-color:var(--lime)}
.capture-card .waitlist-notice{color:#d8d4c8}
.capture-card .form-msg--error{background:transparent;color:var(--on-ink);border-color:var(--lime)}
.capture-card .form-msg--success a{color:var(--ink)!important}

/* Sticky bar (appears after the cover scrolls out) */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--ink);color:var(--on-ink);border-top:2px solid var(--lime);padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(115%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s ease,opacity .25s ease,visibility 0s linear .25s}
.buybar.visible{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .25s ease,opacity .25s ease,visibility 0s}
.buybar .bb-info{min-width:0}
.buybar .bb-title{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:22px;line-height:1;text-transform:uppercase;white-space:nowrap}
.buybar .bb-price{font-family:"Space Mono",monospace;font-size:11px;text-transform:uppercase;color:#d8d4c8}
.buybar .bb-btn{flex:0 0 auto;display:inline-flex;align-items:center;min-height:46px;padding:0 16px;background:var(--lime);color:var(--ink);border:1.5px solid var(--lime);text-decoration:none;font-family:"Space Mono",monospace;font-size:12px;text-transform:uppercase}
@media (prefers-reduced-motion:reduce){.buybar,.buybar.visible{transition:none}}

/* Footer privacy link sits in the footer list like the other links */
.site-footer .foot-legal a{color:#d8d4c8;text-decoration:none}

/* Scroll reveal: visible without JS; the page script arms it */
@media (prefers-reduced-motion:no-preference){
  .reveal-armed{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
  .reveal-armed.in{opacity:1;transform:none}
}

@media (min-width:700px){
  .tb-render{max-width:none;margin-top:30px}
  .tb-spreads{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:28px 24px;align-items:start;padding-bottom:56px}
  .tb-spreads .sp-chapter{grid-row:span 2}
  .tb-sec{padding-top:48px;padding-bottom:40px}
  .tb-h2{font-size:56px}
  .tb-facts strong{font-size:52px}
  .tb-facts div{font-size:12px}
  .tb-cta{font-size:14px;padding:18px 20px}
  .tb-proof p{font-size:12px}
  .quote-grid{grid-template-columns:1fr 1fr}
  .tb-reframe{padding:40px var(--pad)}
  .tb-reframe p{font-size:44px}
  .stack-item strong{font-size:19px}
  .stack-item p{font-size:16px}
  .offer-price .now{font-size:84px}
  .feature-grid{grid-template-columns:1fr 1fr;column-gap:28px}
  .matt-card{grid-template-columns:140px minmax(0,1fr);gap:24px}
  .matt-photo{width:140px;height:140px}
  .faq-list summary{font-size:20px}
  .email-form{grid-template-columns:minmax(0,1fr) auto}
  .email-form button{text-align:center}
  .tb-demo{padding:48px 0}
}

@media (min-width:1024px){
  .tb-wrap{max-width:calc(var(--wide) + var(--pad)*2)}
  /* Cover: title, copy and the call to action in the left column; the product renders fill the right one
     and run into the page margin, so the product is on the first screen of a laptop. */
  .tb-cover{padding-bottom:44px}
  .tb-cover .cover-inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,4vw,72px);align-items:start}
  .tb-cover .topline{grid-column:1/-1}
  .tb-cover h1{grid-column:1;grid-row:2}
  .tb-cover .kicker{grid-column:1;grid-row:3;margin-top:22px}
  .tb-cover .intro{grid-column:1;grid-row:4;margin-top:10px}
  .tb-cover .tb-figure{grid-column:2;grid-row:2/span 3;align-self:center;margin:10px calc(-1 * clamp(0px,(100vw - var(--wide)) / 2 - 28px,96px)) 0 0}
  .tb-render{margin:0}
  .tb-cover .pv-caption{margin-top:6px}
  /* Proof line and the price reframe run the full frame instead of a centred phone column */
  .tb-proof p,.tb-reframe p{max-width:var(--wide)}
  .tb-reframe p{font-size:clamp(48px,4.2vw,68px);line-height:.95}
  .tb-reframe{padding:52px var(--pad)}
  .tb-spreads{max-width:calc(var(--wide) + var(--pad)*2);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:36px 32px;padding-top:8px;padding-bottom:72px}
  /* Section heads left, content right, like the site's rail layout */
  .tb-split{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,640px);column-gap:clamp(56px,8vw,136px);align-items:start}
  .tb-split>.tb-head{position:sticky;top:24px}
  .tb-split>.tb-body{min-width:0}
  .t-section .tb-body{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:16px;align-items:start}
  .t-section .video-testimonial{margin:0}
  .t-section .quote-grid{grid-template-columns:1fr}
  .tb-demo .tb-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:clamp(56px,8vw,136px);align-items:center}
  .tb-demo .demo-frame{grid-column:2;grid-row:1/span 4;height:640px}
  .tb-demo .tb-text{grid-column:1}
  .feature-grid{grid-template-columns:1fr 1fr}
  .capture-card .capture-inner{max-width:var(--wide);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(40px,5vw,80px);align-items:end}
  .capture-card .capture-inner>*{grid-column:2}
  .capture-card .capture-inner>.section-label,.capture-card .capture-inner>h3{grid-column:1}
  .capture-card .capture-inner>h3{grid-row:2/span 3;margin:0}
  .capture-card .email-form{grid-template-columns:1fr}
  .capture-card .email-form button{text-align:left}
}

/* Wide screens (1600px+): a wider frame so 1920px screens are not two-thirds margin */
@media (min-width:1600px){
  :root{--wide:1440px}
  .tb-split{grid-template-columns:minmax(300px,1fr) minmax(0,720px)}
  .tb-demo .tb-wrap{grid-template-columns:minmax(0,1fr) minmax(0,480px)}
}
