/* Phase 2 layout and responsive refinement — 2026-07-28
   Presentation only. The 3-D book engine, cover assets, and checkout logic are unchanged. */

/* Shared reading rhythm */
.page-hero.compact{padding-top:clamp(3.4rem,7vw,6rem);padding-bottom:clamp(2.4rem,4vw,3.5rem)}
.page-hero.compact p{line-height:1.68;max-width:78ch}
.section-heading.centered,.panel-heading.centered{max-width:960px;margin-inline:auto}
.section-heading.centered p,.panel-heading.centered p{line-height:1.65}
.glass-card p,.article-card p,.product-card p,.book-detail-card p,.media-book-block p{line-height:1.62}
.actions-row{align-items:stretch}
.actions-row .btn{min-height:48px}

/* Homepage hero: keep all three interactive 3-D books in one balanced row. */
@media(min-width:1041px){
  .home-page .hero-inner{width:min(990px,calc(75vw - 30px))!important;grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr)!important;gap:clamp(1.4rem,2.4vw,2rem)!important}
  .home-page .hero-book-stage-3d.has-three-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:center!important;gap:0!important;min-height:330px!important}
  .home-page .hero-book-stage-3d .hero-book-3d{position:relative!important;inset:auto!important;bottom:auto!important;width:100%;min-width:0;--book3d-book-w:clamp(105px,8.4vw,122px)!important}
  .home-page .hero-book-stage-3d .hero-book3d-panel{width:100%;min-width:0}
  .home-page .hero-book-stage-3d .hero-book3d-wrap{max-width:100%;margin-inline:auto}
  .home-page .hero-book-3d-loop{z-index:9;transform:translateY(-10px)}
}
@media(min-width:701px) and (max-width:1040px){
  .home-page .hero.section-shell{min-height:auto}
  .home-page .hero-inner{width:min(900px,calc(100vw - 40px))!important;max-width:900px!important;grid-template-columns:1fr!important;min-height:auto;padding-top:3.3rem;padding-bottom:2.6rem;gap:1.1rem!important}
  .home-page .hero-book-stage-3d.has-three-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:center!important;gap:.25rem!important;min-height:310px!important}
  .home-page .hero-book-stage-3d .hero-book-3d{position:relative!important;inset:auto!important;bottom:auto!important;width:100%;--book3d-book-w:clamp(130px,17vw,175px)!important}
  .home-page .hero-book-3d-loop{transform:translateY(-10px)}
}
@media(max-width:700px){
  .home-page .hero.section-shell{min-height:auto}
  .home-page .hero-inner{min-height:auto;gap:.6rem;padding-top:2.35rem;padding-bottom:1.5rem}
  .home-page .hero h1{font-size:clamp(2.55rem,12vw,3.5rem);line-height:.92}
  .home-page .hero-copy{font-size:1.04rem;line-height:1.58}
  .home-page .hero-actions{gap:.65rem;margin-top:1.15rem}
  .home-page .hero-book-stage-3d.has-three-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:center!important;gap:0!important;min-height:205px!important;margin-top:.35rem}
  .home-page .hero-book-stage-3d .hero-book-3d{position:relative!important;inset:auto!important;bottom:auto!important;width:100%;--book3d-book-w:min(23vw,92px)!important}
  .home-page .hero-book-stage-3d .hero-book3d-wrap{max-width:100%;margin-inline:auto;height:calc(var(--book3d-book-h) + 22px)}
  .home-page .hero-book-3d-loop{transform:translateY(-8px)}
}

/* Homepage proof and book-selection sections */
.home-page .proof-strip-inner article{min-height:118px}
.home-page .proof-strip-inner p{line-height:1.45}
.three-book-layout{align-items:stretch}
.three-book-layout .mini-book{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px rgba(16,38,58,.08);padding:1.25rem;overflow:hidden}
.three-book-layout .mini-book + .mini-book{border-left:1px solid var(--line)}
.three-book-layout .mini-book>div{display:flex;flex-direction:column;min-height:100%}
.three-book-layout .mini-book .actions-row{margin-top:auto;padding-top:.45rem}
.three-book-layout .mini-book .btn{width:100%}
.three-book-layout .mini-book p:not(.subtitle){line-height:1.58}
.three-book-layout .mini-book img{aspect-ratio:2/3;object-fit:cover}
.progression-row{margin-top:1.6rem}
@media(min-width:701px) and (max-width:1180px){
  .three-book-layout{gap:1rem}
  .three-book-layout .mini-book{grid-template-columns:175px minmax(0,1fr);grid-template-rows:1fr;align-items:center;gap:1.4rem}
  .three-book-layout .mini-book img{width:175px;margin:0}
  .three-book-layout .mini-book + .mini-book{border-left:1px solid var(--line);border-top:1px solid var(--line)}
}
@media(max-width:700px){
  .books-panel-fullbleed .panel-heading h2{font-size:clamp(2rem,10vw,3rem);letter-spacing:.1em}
  .books-panel-fullbleed .panel-heading p{font-size:.98rem;line-height:1.58}
  .three-book-layout{gap:1rem}
  .three-book-layout .mini-book{padding:1rem}
  .three-book-layout .mini-book img{width:min(62vw,210px)}
  .three-book-layout .mini-book p:not(.subtitle){font-size:1rem;line-height:1.64}
  .progression-row{padding:1.1rem;gap:1rem}
  .progression-row .btn{width:100%}
}

/* Books overview */
.page-books .book-list{display:grid;gap:1.25rem;padding-top:2.5rem;padding-bottom:2.5rem}
.page-books .book-detail-card{grid-template-columns:240px minmax(0,1fr);gap:2rem;padding:1.5rem;align-items:center}
.page-books .book-detail-card.reversed{grid-template-columns:minmax(0,1fr) 240px}
.page-books .book-detail-card img{width:240px;aspect-ratio:2/3;object-fit:cover}
.page-books .book-detail-card>div{display:flex;flex-direction:column;min-height:100%}
.page-books .book-detail-card>div>p:not(.eyebrow):not(.subtitle){max-width:82ch;font-size:1rem;line-height:1.66}
.page-books .book-detail-card .actions-row{margin-top:auto;padding-top:.35rem}
.page-books .comparison-grid .glass-card{min-height:260px}
.page-books .comparison-grid .btn{width:100%}
@media(max-width:860px){
  .page-books .book-detail-card,.page-books .book-detail-card.reversed{grid-template-columns:190px minmax(0,1fr);gap:1.25rem}
  .page-books .book-detail-card.reversed img{order:0}
  .page-books .book-detail-card img{width:190px;margin:0}
}
@media(max-width:620px){
  .page-books .book-list{gap:1rem;padding-top:1.5rem}
  .page-books .book-detail-card,.page-books .book-detail-card.reversed{grid-template-columns:1fr;padding:1rem;border-radius:20px}
  .page-books .book-detail-card img{width:min(66vw,230px);margin-inline:auto}
  .page-books .book-detail-card h2{font-size:clamp(2rem,10vw,2.8rem)}
  .page-books .book-detail-card>div>p:not(.eyebrow):not(.subtitle){font-size:1rem;line-height:1.68}
  .page-books .book-detail-card .actions-row{display:grid;gap:.7rem}
  .page-books .book-detail-card .btn{width:100%}
  .page-books .comparison-grid .glass-card{min-height:0}
}

/* Individual book pages */
.book-hero{gap:clamp(2rem,4vw,4rem)}
.book-hero .hero-copy{font-size:clamp(1.08rem,1.5vw,1.32rem);line-height:1.62;max-width:64ch}
.book-hero .solo-book{max-width:320px;margin-inline:auto}
.narrative{max-width:1080px;padding-top:2.8rem;padding-bottom:2.5rem}
.narrative h2{margin-bottom:1.3rem}
.narrative p{max-width:78ch;font-size:clamp(1.02rem,1.25vw,1.13rem);line-height:1.76;margin-bottom:1.1rem}
.narrative p:first-of-type{font-size:clamp(1.08rem,1.4vw,1.2rem);color:#34495b}
.card-grid.three,.book-context-grid{align-items:stretch}
.card-grid.three .glass-card,.book-context-grid .glass-card{height:100%}
.takeaway-grid .glass-card{min-height:190px}
.book-context-grid .glass-card{min-height:250px}
.book-closing-cta{max-width:1250px}
.book-closing-cta p{max-width:760px;margin-inline:auto}
@media(max-width:860px){
  .book-hero{padding-top:3rem;gap:1.5rem}
  .book-hero .solo-book{width:min(58vw,260px)}
  .narrative{padding-top:2rem;padding-bottom:1.5rem}
  .narrative p{font-size:1.03rem;line-height:1.72}
  .takeaway-grid .glass-card,.book-context-grid .glass-card{min-height:0}
}
@media(max-width:560px){
  .book-hero h1{font-size:clamp(2.35rem,11vw,3.6rem)}
  .book-hero .actions-row{display:grid;gap:.7rem}
  .book-hero .btn{width:100%}
  .narrative h2{font-size:clamp(2rem,9vw,2.8rem)}
  .book-closing-cta{border-radius:18px}
  .book-closing-cta .actions-row{display:grid;gap:.7rem}
  .book-closing-cta .btn{width:100%}
}

/* Store */
.page-store .store-grid{gap:1.1rem;padding-top:3rem;padding-bottom:3rem}
.page-store .store-grid + .store-grid{border-top:1px solid var(--line)}
.page-store .store-book-heading{grid-template-columns:125px minmax(0,1fr);gap:1.35rem;align-items:center}
.page-store .store-book-heading img{width:125px;aspect-ratio:2/3;object-fit:cover;box-shadow:0 14px 30px rgba(16,38,58,.16)}
.page-store .store-sales-line{font-size:1rem;line-height:1.62;max-width:92ch}
.page-store .product-grid{align-items:stretch}
.page-store .product-card{grid-template-rows:auto 1fr auto;min-height:205px}
.page-store .product-card .btn{align-self:end}
.page-store .bundle-card{margin-bottom:3rem}
@media(max-width:860px){
  .page-store .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .page-store .store-grid{padding-top:2.25rem;padding-bottom:2.25rem}
  .page-store .store-book-heading{grid-template-columns:1fr;gap:.75rem}
  .page-store .store-book-heading img{width:min(48vw,165px);margin-inline:auto}
  .page-store .store-book-heading .eyebrow,.page-store .store-book-heading h2{text-align:center}
  .page-store .store-book-heading h2{font-size:clamp(2.1rem,10vw,2.9rem)}
  .page-store .store-sales-line{font-size:1rem;line-height:1.66}
  .page-store .product-grid{grid-template-columns:1fr;gap:.75rem}
  .page-store .product-card{min-height:0;padding:1.1rem}
  .page-store .bundle-card{display:grid;gap:1rem}
  .page-store .bundle-card .btn{width:100%}
}

/* About, media, speaking, and article support */
.page-about .about-page-grid p,.page-media .media-book-block p,.page-speaking .glass-card p,.page-articles .article-card p{font-size:1rem;line-height:1.68}
.page-media .media-book-block{padding:1.5rem 0;margin-top:1rem}
.page-media .media-book-block:first-child{margin-top:0}
.page-speaking .speaking-topics .glass-card{display:flex;flex-direction:column;min-height:260px}
.page-speaking .speaking-topics .glass-card .btn{margin-top:auto}
.page-articles .article-grid{align-items:stretch}
.page-articles .article-card{display:flex;flex-direction:column;height:100%}
.page-articles .article-card a{margin-top:auto;padding-top:1rem}
@media(max-width:560px){
  .page-media .media-book-block{padding:1.15rem 0}
  .page-speaking .speaking-topics .glass-card{min-height:0}
}
