/* Readable editorial hierarchy and photographic PDF chapter previews. */
.wrap{width:min(1320px,calc(100% - 80px))}
body{font-size:20px}
h2{font-size:clamp(38px,4.1vw,56px);line-height:1.45}
.section-pad{padding:110px 0}
.eyebrow{font-size:19px;font-weight:700}
.section-heading{max-width:1000px;margin-bottom:65px}
.section-heading>p:not(.eyebrow){font-size:20px;line-height:1.9}
.section-heading>p.draft-label{font-size:15px;margin-top:20px}
.portrait-book-hero{padding:48px 0 0;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 78% 48%,#223852 0%,#172a42 42%,#111f36 80%)}
.portrait-book-hero>.product-hero-layout{position:relative;z-index:1}
.portrait-book-hero .product-hero-layout{grid-template-columns:1.5fr 1fr;grid-template-areas:"heading visual" "purchase visual";column-gap:20px;align-items:center}
.portrait-book-hero .product-hero-heading{padding:22px 0 0;align-self:end;position:relative;z-index:2}
.portrait-book-hero h1{font-size:clamp(60px,5.7vw,82px);line-height:1.24;letter-spacing:-.055em;white-space:normal}
.portrait-book-hero h1>span,.portrait-book-hero h1 em>span{display:block;white-space:nowrap}
.portrait-book-hero h1 em{display:block;margin-top:10px}
.portrait-book-hero .hero-edition{font-size:18px;margin-bottom:25px;gap:15px}
.portrait-book-hero .hero-edition span{border:0;font-size:12px;background:#253752;border-radius:3px;padding:4px 10px}
.portrait-book-hero .product-hero-lead{font-size:22px;line-height:1.8;margin-top:28px;letter-spacing:0}
.hero-author-line{font-size:15px;margin-top:24px}
.hero-author-line strong{font-size:30px;letter-spacing:.015em}
.author-book-visual{height:730px;align-self:end;overflow:hidden;margin:0;z-index:1}
.hero-author-cutout{position:absolute;width:510px;max-width:none;right:-15px;bottom:0;height:auto}
.portrait-book-hero .product-hero-purchase{margin:30px 0 45px;align-self:start;position:relative;z-index:auto}
.portrait-book-hero .product-button{font-size:23px;max-width:550px;padding:21px 28px;width:100%}
.portrait-book-hero .product-hero-purchase>p{font-size:14px;margin-top:18px}
.portrait-book-hero .product-hero-purchase>a,.portrait-book-hero .product-hero-purchase>p{position:relative;z-index:2}
.hero-booklet-backdrop{position:absolute;left:240px;right:auto;bottom:-100px;width:975px;height:518px;pointer-events:none;z-index:0;opacity:.24;mask-image:linear-gradient(to bottom,transparent 0%,#000 35%,#000 100%)}
.hero-booklet-backdrop img{display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom}
.booklet-single-preview{display:block;width:90%;max-width:396px;height:auto;margin-inline:auto}
.book-stage{padding:0}
.price-inline strong,.purchase-price,.purchase-price strong,.mobile-purchase strong,.price-accent{color:#8b1d3f}
.portrait-book-hero .product-button .purchase-button-label{font-size:inherit}
.product-hero-purchase>p>span{border:0;padding-left:0}
.book-intro{padding:90px 0}
.book-intro-grid{grid-template-columns:42% 1fr;gap:60px;max-width:1150px}
.intro-real-book{width:320px;box-shadow:none}
.book-stage figcaption{font-size:14px;line-height:1.8;margin-top:20px}
.book-intro-copy h2{font-size:clamp(38px,3.7vw,50px)}
.book-intro-copy>p:not(.eyebrow),.benefit-list{font-size:20px}
.problem-section h2{font-size:clamp(38px,4.1vw,56px)}
.problem-list{gap:32px;margin-top:50px}
.problem-list>div+div{border-left:1px solid #ffffff45;padding-left:32px}
.problem-list>div{border:0;padding:0}
.problem-list>div>span{font-family:Arial,sans-serif;font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1}
.problem-list p{font-size:18px;margin-top:18px;line-height:1.8}
.problem-list strong{font-size:clamp(30px,3.1vw,42px);line-height:1.5;letter-spacing:-.035em;margin-top:20px}
.problem-conclusion{margin-top:56px}
.contents-section{background:#fffdf9}
.chapters{border:0}
.chapter{display:grid;grid-template-columns:100px minmax(0,1fr) 31%;gap:28px;align-items:center;padding:36px 0;border:0}
.chapter-copy{padding-top:10px}
.chapter+.chapter{margin-top:12px}
.chapter-number{font-family:Arial,sans-serif;font-size:104px;font-weight:700;letter-spacing:-.08em;color:#ae883e;line-height:1;align-self:start;padding-top:7px}
.chapter-label{font-size:19px;color:#8b6a2f;font-weight:700;margin-bottom:15px;line-height:1.5}
.chapter h3{font-size:clamp(27px,2.4vw,34px);line-height:1.55;letter-spacing:-.035em;color:#142744}
.chapter h3 br{display:initial}
.chapter p:not(.chapter-label){font-size:20px;line-height:1.9;margin-top:23px;color:#3e4e5d;max-width:30em}
.chapter-spread{min-width:0;width:100%;max-width:360px;margin:0;align-self:center;justify-self:end}
.spread-preview{display:block;position:relative;padding:0;border:0;background:#eae8df;width:100%;cursor:zoom-in;box-shadow:0 15px 34px #20293916;transition:transform .2s}
.spread-preview:hover{transform:translateY(-3px)}
.spread-preview img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.spread-expand{position:absolute;right:12px;bottom:12px;background:#172440;color:white;border-radius:3px;padding:7px 12px;font-size:14px;line-height:1.4;font-weight:700}
.chapter-spread figcaption{font-size:14px;color:#586375;text-align:center;margin-top:17px;line-height:1.7}
.spread-preview:focus-visible,.spread-close:focus-visible{outline:3px solid #ad8b41;outline-offset:5px}
.spread-dialog{width:min(1180px,calc(100% - 32px));max-height:92vh;padding:20px;border:0;border-radius:7px;background:#fffdf8;color:#172440}
.spread-dialog::backdrop{background:#0b1426dc}
.spread-dialog-head{display:flex;gap:15px;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fffdf8;padding:0 0 16px;z-index:1}
.spread-dialog h2{font:700 25px/1.5 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:0}
.spread-dialog-head p{font-size:14px;color:#596679;margin-top:5px}
.spread-close{border:0;background:#172440;color:white;padding:12px 18px;font-size:17px;font-weight:700;border-radius:4px;cursor:pointer;flex-shrink:0}
.spread-dialog>img{width:100%;height:auto}
.contents-cta p{font-size:26px;font-weight:700}
.purchase-panel{border-top:0}
.author-copy>p{font-size:20px}
.next-grid h3{font-size:31px}
@media(min-width:701px) and (max-width:1100px){
 .wrap{width:calc(100% - 48px)}
 .portrait-book-hero h1{font-size:clamp(36px,5.5vw,60px)}
 .portrait-book-hero .product-hero-layout{grid-template-columns:1.5fr 1fr;gap:12px}
 .portrait-book-hero .hero-edition{font-size:16px;flex-wrap:wrap;gap:8px}
 .portrait-book-hero .product-hero-lead{font-size:20px}
 .author-book-visual{height:680px}
 .hero-author-cutout{width:460px;right:-80px}
 .portrait-book-hero .product-button{font-size:20px}
 .chapter{grid-template-columns:85px minmax(0,1fr) 31%;gap:20px}
 .chapter-number{font-size:84px}
 .chapter h3{font-size:28px}
 .chapter p:not(.chapter-label){font-size:18px}
 .book-intro-grid{gap:45px}
 .problem-list strong{font-size:30px}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}
 body{font-size:18px}
 .section-pad{padding:65px 0}
 h2,.problem-section h2{font-size:clamp(30px,8.2vw,40px);line-height:1.5}
 .eyebrow{font-size:16px;line-height:1.8}
 .section-heading{margin-bottom:34px}
 .section-heading>p:not(.eyebrow){font-size:18px}
 .section-heading>p.draft-label{font-size:14px}
 .portrait-book-hero{padding:32px 0 0}
 .portrait-book-hero .product-hero-layout{grid-template-columns:1fr;grid-template-areas:"heading" "purchase" "visual";gap:0}
 .portrait-book-hero .product-hero-heading{text-align:left;padding:0}
 .portrait-book-hero h1{font-size:clamp(30px,10vw,58px);line-height:1.25;letter-spacing:-.055em}
 .portrait-book-hero h1 em{margin-top:7px}
 .portrait-book-hero .hero-edition{font-size:15px;justify-content:flex-start;margin-bottom:22px;gap:8px;flex-wrap:wrap}
 .portrait-book-hero .hero-edition span{font-size:10px;padding:3px 8px}
 .portrait-book-hero .product-hero-lead{font-size:18px;line-height:1.85;margin-top:23px}
 .hero-author-line{font-size:13px;margin-top:20px}
 .hero-author-line strong{font-size:27px}
 .portrait-book-hero .product-hero-purchase{margin:25px 0 0}
 .portrait-book-hero .product-button{font-size:19px;padding:17px 21px;line-height:1.6}
 .portrait-book-hero .product-hero-purchase>p{font-size:13px;text-align:left;margin-top:15px}
 .hero-booklet-backdrop{left:auto;right:-95px;bottom:-350px;width:150%;height:345px;opacity:.21}
 .booklet-single-preview{max-width:279px}
 .author-book-visual{height:360px;width:100%;margin-top:20px;overflow:hidden}
 .hero-author-cutout{width:300px;max-width:100%;right:0;bottom:-55px}
 .book-intro{padding:60px 0}
 .book-intro-grid{display:flex;gap:30px;flex-direction:column}
 .intro-real-book{width:230px}
 .book-intro-copy h2{font-size:36px}
 .book-intro-copy>p:not(.eyebrow),.benefit-list{font-size:18px}
 .book-stage figcaption{font-size:13px;margin-top:16px}
 .problem-list{gap:0;margin-top:35px}
 .problem-list>div+div{border-left:0;border-top:1px solid #ffffff45;padding:28px 0 0;margin-top:28px}
 .problem-list>div{grid-template-columns:38px 1fr;gap:16px;padding:0}
 .problem-list>div>span{font-size:30px;padding:4px 0 0}
 .problem-list p{font-size:17px;line-height:1.85;margin:0}
 .problem-list strong{font-size:clamp(26px,7.7vw,34px);line-height:1.5;margin-top:14px}
 .problem-conclusion{margin-top:37px}
 .chapter{grid-template-columns:74px minmax(0,1fr);gap:14px 18px;align-items:center;padding:36px 0}
 .chapter+.chapter{margin-top:15px}
 .chapter-number{font-size:78px;line-height:1;grid-column:1;grid-row:1;padding:0;align-self:center}
 .chapter-copy{display:contents;padding:0}
 .chapter-label{grid-column:2;grid-row:1;font-size:20px;margin:0;align-self:center}
 .chapter h3{grid-column:1/-1;grid-row:2;font-size:28px;line-height:1.6;margin-top:3px}
 .chapter p:not(.chapter-label){grid-column:1/-1;grid-row:3;font-size:18px;line-height:1.9;margin:0}
 .chapter-spread{grid-column:1/-1;grid-row:4;margin-top:12px;max-width:300px;justify-self:center}
 .chapter-spread figcaption{font-size:13px;margin-top:13px}
 .spread-expand{font-size:13px;right:8px;bottom:8px;padding:6px 9px}
 .spread-dialog{width:calc(100% - 16px);padding:12px}
 .spread-dialog h2{font-size:18px;line-height:1.5}
 .spread-dialog-head{gap:8px;padding-bottom:12px}
 .spread-dialog-head p{font-size:12px}
 .spread-close{font-size:14px;padding:10px}
 .contents-cta p{font-size:23px}
 .author-copy>p{font-size:18px}
 .next-grid h3{font-size:27px}
}
@media(max-width:359px){
 .wrap{width:calc(100% - 32px)}
 .portrait-book-hero h1{font-size:10vw}
 .portrait-book-hero .product-button{font-size:17px}
 .chapter h3{font-size:26px}
 .problem-list>div{grid-template-columns:30px 1fr;gap:12px}
 .problem-list>div>span{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.spread-preview{transition:none}}
@media(max-width:700px){
 .mobile-purchase>span{white-space:nowrap;flex-shrink:0}
 .mobile-purchase>a{white-space:nowrap;gap:12px;padding:12px 16px;flex-shrink:0}
}

/* Match the booklet and post-purchase pages to the same reading width. */
html { background: #eef0f1; }
body { max-width: 900px; margin-inline: auto; }
@media (min-width: 701px) {
  .wrap { width: min(836px, calc(100% - 64px)); }
  .site-header { padding-inline: 32px; }
  .portrait-book-hero .product-hero-layout { min-height: 0; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 0 12px; }
  .portrait-book-hero h1 { font-size: clamp(40px, 5.5vw, 54px); }
  .portrait-book-hero .hero-edition { font-size: 15px; flex-wrap: wrap; }
  .portrait-book-hero .product-hero-lead { font-size: 18px; }
  .portrait-book-hero .product-button { font-size: 18px; }
  .author-book-visual { height: 540px; }
  .hero-author-cutout { width: 365px; right: -40px; }
  .hero-booklet-backdrop { width: 550px; left: 110px; bottom: -110px; }
  .book-intro-grid, .offer-grid, .author-grid { gap: 26px; }
  .problem-list { gap: 18px; }
  .problem-list>div+div { padding-left: 18px; }
  .problem-list strong { font-size: 27px; }
  .chapter { grid-template-columns: 66px minmax(0,1fr) 29%; gap: 18px; }
  .chapter-number { font-size: 70px; }
  .chapter h3 { font-size: 25px; }
  .section-pad { padding-block: 72px; }
}
.purchase-panel .test-card-help { font-size: 14px; line-height: 1.75; margin: 16px 0 0; }
.purchase-panel .test-card-help summary { cursor: pointer; text-decoration: underline; }
.purchase-panel .test-card-help code { font-size: 14px; white-space: nowrap; }

/* Actual 44-page booklet, preserving the approved 900px reading width. */
.book-stage .booklet-single-preview{width:min(100%,300px);height:auto;filter:none;box-shadow:0 12px 30px #14263f26;transform:none;margin-inline:auto}.chapter-spread img{object-fit:contain;aspect-ratio:210/297;max-height:290px}.spread-dialog>img{width:auto;max-width:100%;max-height:80vh;margin-inline:auto}.book-intro-copy h2{font-size:clamp(25px,4vw,37px);line-height:1.65}.purchase-description span{line-height:1.65}
