/* Shared editorial system, based on the approved Knowledge page. */
:is(.book-page,.capa-page,.hub-page){--product-h1:clamp(38px,5vw,72px);--product-h2:clamp(30px,3.4vw,48px);--product-body:18px;--product-space:70px;--product-gap:7%;background:var(--paper);color:var(--navy)}
:is(.book-page,.capa-page,.hub-page)>.section:not(#stay-updated){padding-block:var(--product-space);padding-inline:max(6%,calc((100% - 1440px)/2))}
:is(.book-page,.capa-page,.hub-page)>.section:not(#stay-updated) h1{font-family:inherit;font-size:var(--product-h1);font-weight:500;line-height:1.12;letter-spacing:-.05em;margin:24px 0;max-width:none}
:is(.book-page,.capa-page,.hub-page)>.section:not(#stay-updated) h2{font-size:var(--product-h2);line-height:1.12;letter-spacing:-.05em;margin-bottom:24px}
:is(.book-page,.capa-page,.hub-page)>.section:not(#stay-updated) h3{font-size:25px;line-height:1.5;font-weight:500}
:is(.book-page,.capa-page,.hub-page)>.section:not(#stay-updated) p{font-size:var(--product-body);line-height:1.65}
:is(.book-page,.capa-page,.hub-page)>.section:not(#stay-updated) p.eyebrow{font-size:13px;line-height:1.5;letter-spacing:.12em;font-weight:600}
:is(.book-page,.capa-page,.hub-page)>.section:not(#stay-updated) .link{margin-top:24px;min-height:44px;color:var(--green)}
.book-page .book-hero,.hub-page .hub-hero,.capa-page .capa-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--product-gap);align-items:start}
:is(.book-hero,.hub-hero,.capa-hero-grid)>div{min-width:0}
:is(.book-hero,.hub-hero,.capa-hero-grid)>figure{width:100%;margin:0;min-width:0}
:is(.book-hero,.hub-hero,.capa-hero-grid)>figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:var(--photo-radius);background:var(--paper)}
.book-page .book-positioning,.capa-page .capa-editorial.dark{background:var(--paper);color:var(--navy)}
.book-page .book-positioning,.book-page .book-explanation,.book-page .book-perspective,.capa-page .capa-editorial{gap:var(--product-gap);align-items:start}
.book-page li,.capa-page .capa-list li{font-size:var(--product-body);line-height:1.65}
.capa-page .capa-prose p+p{margin-top:20px}
:is(.book-page,.capa-page,.hub-page) :is(.book-faq,.capa-faq,.hub-questions) summary{font-size:clamp(18px,2vw,25px);font-weight:500;line-height:1.5;padding:20px 0;min-height:44px;overflow-wrap:anywhere}
:is(.book-faq,.capa-faq) details p{max-width:850px;padding-bottom:24px}
:is(.book-page,.capa-page,.hub-page) :is(details,.capa-list li,.capa-proof,.capa-example-columns>div,.capa-editorial,.book-perspective,.book-faq,.hub-page .section){border-color:var(--line);border-width:1px}
.book-page .book-positioning{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* Retain the Knowledge filter help/count hierarchy. */
.hub-page #questions #hub-status{font-size:14px}
@media(max-width:700px){
 :is(.book-page,.capa-page,.hub-page){--product-h1:clamp(36px,10vw,54px);--product-body:17px;--product-space:45px;--product-gap:30px}
 .book-page .book-hero,.hub-page .hub-hero,.capa-page .capa-hero-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 :is(.book-page,.capa-page,.hub-page) :is(.book-faq,.capa-faq,.hub-questions) summary{font-size:19px;font-weight:600;padding:16px 0}
 .hub-page #questions .hub-filter-help{font-size:15px;line-height:1.55}
 .hub-page #questions h2{margin-bottom:12px}
}
.book-page .book-positioning .lens-story p{color:var(--navy)}
/* Product heroes and shared signup: visual refinements only. */
.book-page .book-hero,.hub-page .hub-hero,.capa-page .capa-hero-grid{align-items:center}
:is(.book-page,.capa-page,.hub-page) #stay-updated{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:start;padding-block:64px;background:var(--navy);color:var(--paper)}
:is(.book-page,.capa-page,.hub-page) #stay-updated>div,:is(.book-page,.capa-page,.hub-page) #updates-form{min-width:0}
:is(.book-page,.capa-page,.hub-page) #stay-updated .updates-logo{width:120px;margin-top:24px;height:auto}
:is(.book-page,.capa-page,.hub-page) #stay-updated h2{font-size:clamp(30px,3.4vw,48px);line-height:1.18;margin:16px 0 20px}
:is(.book-page,.capa-page,.hub-page) #stay-updated .updates-intro{font-size:18px;line-height:1.65}
:is(.book-page,.capa-page,.hub-page) #stay-updated>div>.eyebrow{font-size:13px}
:is(.book-page,.capa-page,.hub-page) #updates-form>.email-label{font-size:17px}
:is(.book-page,.capa-page,.hub-page) #updates-form legend{font-size:17px;line-height:1.5}
:is(.book-page,.capa-page,.hub-page) #updates-form .interest-option{font-size:16px;line-height:1.5;min-height:44px;padding-block:12px}
:is(.book-page,.capa-page,.hub-page) #updates-form>button.link{font-size:18px;min-height:44px;margin-top:20px}
@media(max-width:700px){
 :is(.book-hero,.hub-hero,.capa-hero-grid)>figure{grid-row:1}
 :is(.book-page,.capa-page,.hub-page) #stay-updated{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:40px}
 :is(.book-page,.capa-page,.hub-page) #stay-updated>div{text-align:center}
 :is(.book-page,.capa-page,.hub-page) #stay-updated .updates-logo{width:88px;margin:18px auto 0}
 :is(.book-page,.capa-page,.hub-page) #stay-updated .updates-intro{font-size:17px}
 :is(.book-page,.capa-page,.hub-page) #stay-updated h2{margin-block:12px 16px}
}
