/* Shared Prosper navigation, chapter photography and reading layout. */
:root { --page-width: 1240px; --page-gutter: clamp(20px,4.2vw,72px); }
body { overflow-x: clip; }
body .masthead { width:100%; max-width:1500px; padding-left:var(--page-gutter); padding-right:var(--page-gutter); min-height:84px; }
body #sidebar, body.presentation #sidebar { position:sticky; top:0; left:0; background:#f9f4edf7; color:#141414; backdrop-filter:blur(16px); border-bottom:1px solid #14141414; }
body #sidebar .brand, body.presentation #sidebar .brand { background:transparent; padding:0; border:0; border-radius:0; display:flex; align-items:center; gap:16px; color:#141414; }
body #sidebar .brand img { width:clamp(118px,12vw,168px); max-height:62px; object-fit:contain; }
body #sidebar .brand span { display:block; padding:4px 0 4px 15px; border-left:1px solid #14141436; color:#141414; font-weight:550; white-space:nowrap; }
body #sidebar #nav { gap:clamp(14px,2.6vw,38px); align-items:center; }
body #sidebar #nav a, body.presentation #sidebar #nav a { padding:8px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:none; color:#343b41; font-size:16px; text-decoration:none; }
body #sidebar #nav a[aria-current], body #sidebar #nav a:hover { color:#0746c4; border-bottom-color:#0b5cff; }
body #sidebar .header-tools { margin-left:2px; }
body :focus-visible { outline:3px solid #0b5cff; outline-offset:4px; }
body #main { padding:0; max-width:none; width:100%; margin:0; }
body #main:focus { outline:none; }
body .cinema-hero { height:min(81svh,960px); min-height:570px; }
body .cinema-title { top:12%; }
.section-nav { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 24px; padding:9px var(--page-gutter); margin:0; max-width:none; border-block:1px solid #14141414; background:#f9f4ed; }
.section-nav a { display:inline-flex; min-height:44px; align-items:center; padding:8px 0; font-weight:500; font-size:15px; border:0; border-bottom:2px solid transparent; color:#50575d; background:transparent; }
.section-nav a:hover, .section-nav a[aria-current="page"] { color:#0746c4; background:transparent; border-bottom-color:#0b5cff; }
.chapter-hero { min-height:clamp(280px,29vw,420px); position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:flex-end; background:#273137; color:white; }
.chapter-photo { position:absolute; inset:0; z-index:-2; }
.chapter-photo img { width:100%; height:100%; object-fit:cover; object-position:65% 55%; }
.chapter-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(95deg,rgba(10,20,26,.94) 0%,rgba(12,21,27,.83) 22%,rgba(12,21,27,.48) 55%,rgba(12,21,27,.14)); }
.chapter-type { width:min(100%,calc(var(--page-width) + 2 * var(--page-gutter))); margin:0 auto; padding:clamp(36px,5vw,76px) var(--page-gutter); }
.chapter-back { color:#fff; text-decoration:underline; font-size:16px; text-underline-offset:4px; }
.chapter-type h1 { color:white; margin:16px 0; font-size:clamp(44px,5.8vw,88px); font-weight:510; line-height:1.01; letter-spacing:-.047em; max-width:19ch; }
.chapter-type p { color:white; margin:0; max-width:49ch; font-size:clamp(18px,1.6vw,23px); line-height:1.45; }
.chapter-body { width:min(100%,calc(var(--page-width) + 2 * var(--page-gutter))); margin:0 auto; padding:clamp(30px,4.2vw,68px) var(--page-gutter) clamp(50px,6vw,100px); }
.chapter-body .section { margin-top:clamp(35px,4.5vw,64px); }
.chapter-body .section-head h2,.editorial-columns h2,.editorial-callout h2,.book-intro h2,.chapter-body .films-grid article h2 { font-weight:550; letter-spacing:-.035em; font-size:clamp(26px,2.6vw,40px); line-height:1.12; }
.chapter-body .card { border-color:#dcdcd9; box-shadow:none; }
.chapter-body .card.blue { border-color:#0b5cff; }
.chapter-body .details, .book-result { background:#fff; border:1px solid #dddfdc; border-radius:14px; }
.chapter-body .film-library { max-width:none; padding:0; }
.chapter-body .film-library>.section-tag,.chapter-body .film-library>h1,.chapter-body .film-library>p:first-of-type { display:none; }
.editorial-columns, .book-access { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(25px,6vw,92px); }
.editorial-columns p, .book-intro p, .editorial-callout p { max-width:54ch; color:#4c555c; font-size:18px; }
.steps-list { padding-left:1.4em; line-height:1.6; }
.steps-list li { padding-left:6px; margin-bottom:14px; }
.steps-list li::marker { color:#0746c4; font-weight:650; }
.editorial-callout, .page-next { margin:clamp(35px,5vw,80px) auto 0; padding:26px 0; border-top:1px solid #cdd1d1; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.editorial-callout p,.editorial-callout h2 { margin-bottom:10px; }
.text-link,.footer-signature>a:last-child,.page-next a { color:#0746c4; text-underline-offset:5px; font-weight:550; }
.page-next { margin-top:40px; padding-bottom:0; justify-content:flex-end; }
.page-next a { font-size:19px; }
.founder-excerpt { width:min(100%,calc(var(--page-width) + 2 * var(--page-gutter))); margin:auto; padding:clamp(35px,7vw,95px) var(--page-gutter); display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:7%; }
.founder-excerpt img { width:100%; height:335px; object-fit:cover; border-radius:16px; }
.founder-excerpt .byline { font-size:16px; color:#56606a; margin-bottom:20px; }
.founder-excerpt blockquote { margin:0 0 24px; font-weight:490; line-height:1.32; letter-spacing:-.025em; font-size:clamp(23px,2.6vw,37px); }
.founder-letter { max-width:750px; margin:0 auto; }
.founder-letter p { font-size:clamp(19px,1.7vw,23px); line-height:1.65; margin-bottom:1.3em; }
.founder-letter p:first-child { font-size:clamp(24px,2.6vw,36px); line-height:1.36; letter-spacing:-.025em; }
.founder-letter .letter-close { color:#0746c4; font-weight:600; }
.founder-letter .letter-signature { font-size:17px; }
.book-signin,.book-controls { padding:clamp(20px,3vw,38px); border:1px solid #d9deda; border-radius:18px; background:#fff; }
.book-signin h3 { font-size:24px; margin:0 0 18px; }
.book-signin label,.book-controls label { display:block; margin:12px 0 7px; font-weight:550; }
.book-signin input,.book-controls input { border:1px solid #a9b2b6; padding:12px 14px; border-radius:8px; width:100%; }
.book-signin .button,.book-actions { margin-top:20px; }
.book-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
#book-status:empty,#book-count:empty { display:none; }
#book-status,#book-count { margin:12px 0 0; }
.book-result { padding:18px; margin-top:12px; min-width:0; }
.book-result summary { cursor:pointer; font-weight:600; }
.book-meta { font-size:14px; color:#53606b; margin:12px 0; }
.book-result pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.6; max-height:480px; overflow-y:auto; margin:16px 0 0; padding:12px; background:#f8f7f5; border-radius:7px; }
.book-excerpt { font-size:16px; }
.book-access:has(.book-controls) { grid-template-columns:1fr; gap:24px; }
.book-access:has(.book-controls) .book-intro { max-width:760px; }
.prosper-footer { background:#eae8e3; padding:clamp(38px,5vw,70px) var(--page-gutter) 25px; color:#141414; text-align:left; }
.footer-inner { max-width:var(--page-width); margin:auto; display:flex; justify-content:space-between; align-items:flex-start; gap:6%; }
.footer-signature { min-width:155px; }
.footer-signature img { width:135px; height:auto; display:block; }
.footer-signature p { margin:13px 0; font-size:16px; color:#424b50; }
.footer-groups { display:grid; grid-template-columns:repeat(5,minmax(85px,1fr)); gap:clamp(10px,2.3vw,40px); flex:1; }
.footer-groups h2 { font-size:17px; margin:0 0 10px; }
.footer-groups a { display:block; text-decoration:none; color:#434d53; font-size:15px; padding:5px 0; }
.footer-groups a:hover { text-decoration:underline; color:#0746c4; }
.footer-fine { max-width:var(--page-width); margin:32px auto 0; border-top:1px solid #c9caca; padding:18px 0 0; font-size:14px; color:#525d64; }
.watch-homeowner { margin-bottom:34px; }
.watch-homeowner video { width:100%; background:#101419; border-radius:16px; max-height:65vh; }
.watch-homeowner p { color:#46515b; }
@media(max-width:900px) {
 body #sidebar .masthead { gap:18px; } body #sidebar #nav {gap:14px;} .footer-inner { flex-direction:column; gap:28px; } .footer-groups { width:100%; }
}
@media(max-width:760px) {
 body #sidebar .masthead { min-height:72px; }
 body #sidebar #nav { display:none; flex-direction:column; align-items:stretch; gap:0; position:absolute; left:0; top:100%; right:0; padding:10px var(--page-gutter) 16px; background:#f9f4ed; border-bottom:1px solid #ddd; box-shadow:0 12px 16px #14141412; }
 body #sidebar #nav.open { display:flex; }
 body #sidebar #nav a { min-height:44px; justify-content:flex-start; }
 body #sidebar .header-tools { margin-left:auto; gap:4px; }
 body #sidebar #menuToggle { display:block; background:transparent; border:1px solid #c0c7c7; border-radius:90px; padding:8px 14px; color:#141414; }
 body #sidebar .brand span {font-size:14px; }
 body .cinema-hero { height:75svh; min-height:495px; }
 .chapter-hero { min-height:265px; }
 .chapter-hero::after { background:linear-gradient(90deg,#0c151bde,#0c151b86); }
 .section-nav { gap:4px 16px; justify-content:flex-start; }
 .section-nav a { font-size:14px; }
 .editorial-columns,.book-access,.founder-excerpt { grid-template-columns:1fr; }
 .founder-excerpt img { height:240px; }
 .founder-excerpt { gap:25px; }
 .editorial-callout { align-items:flex-start; flex-direction:column; }
 .footer-groups { grid-template-columns:repeat(2,minmax(120px,1fr)); gap:20px; }
}
@media(min-width:761px) { body #sidebar #nav { display:flex; } body #sidebar #menuToggle { display:none; } }
@media(max-width:400px) { body #sidebar .brand img {width:105px;} body #sidebar .brand span {padding-left:8px;} body #sidebar .brand {gap:8px;} }
@media print { .chapter-photo,.chapter-back,.section-nav,.prosper-footer,.page-next { display:none; } .chapter-hero,.chapter-type,.chapter-type h1,.chapter-type p { min-height:0; background:#fff; color:#141414; } .chapter-hero::after{display:none;} }
.book-shortcuts { border-top:1px solid #cdd1d1; margin-top:48px; padding-top:32px; }
.book-shortcuts ul { display:flex; flex-wrap:wrap; list-style:none; padding:0; gap:12px 28px; }
.book-shortcuts a { display:inline-block; padding:8px 0; font-weight:550; }
html { scroll-behavior:auto; }
.supply-options { margin-bottom:clamp(34px,5vw,64px); }
.packet-panel { margin:20px 0; padding:18px; border:1px solid #cbd1ce; border-radius:14px; }
.packet-panel summary { cursor:pointer; font-size:18px; font-weight:600; }
.packet-form { margin-top:18px; }
.packet-form label { display:block; font-weight:550; margin:10px 0 7px; }
.packet-form textarea { display:block; width:100%; max-width:100%; padding:12px; margin-bottom:12px; border:1px solid #a9b2b6; border-radius:8px; background:white; }
.packet-form [hidden] { display:none; }
.packet-form p { margin:12px 0; }
