html:has(.bpla-page) { scroll-behavior: auto; }
.bpla-page { --book-dark:#17231c; --book-ink:#202923; --book-muted:#61705f;
  --book-paper:#e9eae3; --book-panel:#f3f1ea; background:var(--book-paper); color:var(--book-ink); }
.bpla-page .site-header { position:relative; border-bottom:1px solid #d2d6cb; }
.bpla-page .button { background:#344c3b; border-color:#344c3b; color:white; }
.bpla-page .button:hover { background:#223728; }
.bpla-page h1,.bpla-page h2,.bpla-page h3 { font-family:'Franklin Gothic Demi Cond','Arial Narrow',Impact,sans-serif; font-stretch:condensed; font-weight:600; letter-spacing:0; }
.bpla-page h2 { font-size:clamp(30px,3.3vw,46px); line-height:1.1; }
.bpla-page h3 { font-size:clamp(23px,2.2vw,29px); line-height:1.2; margin:0 0 18px; }
.book-eyebrow { font-size:11px; font-weight:750; letter-spacing:.16em; text-transform:uppercase; }
.book-cover { position:relative; overflow:hidden; color:#fff; background:var(--book-dark); }
.cover-pattern { height:12px; background:repeating-linear-gradient(90deg,#627153 0 30px,#263629 30px 51px,#7b8469 51px 64px,#17231c 64px 89px); opacity:.75; }
.book-cover-grid { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.cover-copy { position:relative; z-index:1; padding:62px 0 66px; }
.cover-copy .book-eyebrow { color:#bac7b4; margin:0 0 22px; }
.book-cover h1 { font-size:clamp(34px,4vw,62px); line-height:1.07; text-transform:uppercase; margin:0 0 30px; }
.cover-subtitle { font-family:'Franklin Gothic Demi Cond','Arial Narrow',Impact,sans-serif; font-size:24px; text-transform:uppercase; margin:0 0 8px; }
.cover-topics { color:#b9c5b4; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.cover-photo { height:100%; width:100%; object-fit:cover; object-position:40% center; mask-image:linear-gradient(90deg,transparent,#000 15%); }
.cover-actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:28px; }
.book-cover .button { background:#e4e8dd; color:#17231c; border:1px solid #e4e8dd; }
.book-cover .button:hover { background:white; }
.cover-link { font-size:13px; font-weight:700; color:#fff; text-decoration:underline; text-underline-offset:4px; }
.book-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:56px; align-items:start; padding-top:48px; padding-bottom:72px; max-width:1180px; }
.book-sidebar { position:sticky; top:24px; }
.book-toc { border:0; border-top:3px solid #344c3b; }
.book-toc summary { cursor:pointer; padding:18px 0; color:#344c3b; font-weight:800; list-style:none; }
.book-toc summary::-webkit-details-marker { display:none; }
.book-toc summary span { display:none; }
.book-toc nav { display:grid; }
.book-toc nav a { padding:10px 12px; border-left:2px solid #cfd4c8; font-size:13px; line-height:1.35; color:#43513f; }
.book-toc nav a:hover,.book-toc nav a[aria-current="location"] { color:#17231c; background:#dce1d5; border-left-color:#8e443b; text-decoration:none; }
.back-main { display:block; padding:22px 0; font-size:12px; font-weight:700; color:#344c3b; }
.book-intro { margin:0 0 32px; max-width:740px; color:#53624f; font-size:15px; }
.book-section { margin:0 0 44px; background:var(--book-panel); scroll-margin-top:24px; }
.chapter-heading { padding:34px 40px 28px; border-top:3px solid #66745d; }
.chapter-heading .book-eyebrow { color:#61705f; margin:0 0 12px; }
.chapter-heading h2 { margin:0; }
.chapter-photo { margin:0; height:280px; position:relative; overflow:hidden; }
.chapter-photo img { width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.chapter-photo::after { content:''; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,var(--book-panel)); }
.chapter-body { padding:32px 40px 38px; font-size:16px; line-height:1.7; }
.chapter-body p { margin:0 0 14px; }
.book-answer { padding-bottom:30px; margin-bottom:30px; border-bottom:1px solid #d7dacd; }
.book-answer:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.source-note { padding:18px 20px; border-left:3px solid #ac544b; background:#e9e7dd; font-size:14px; }
.legal-section .chapter-heading { display:flex; position:relative; flex-direction:column; overflow:hidden; padding-right:220px; }
.legal-section .chapter-heading img { width:210px; height:120px; object-fit:contain; position:absolute; right:16px; top:25px; }
.legal-section .chapter-body > h3 { margin-top:32px; }
.document-links { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:28px; }
.document-links a { display:grid; gap:10px; padding:22px; background:#e5e7dd; border:1px solid #cdd4c5; color:#25392b; }
.document-links a:hover { text-decoration:none; border-color:#66745d; background:#dce2d3; }
.document-links span { font-size:10px; color:#8d413a; letter-spacing:.13em; font-weight:800; }
.document-links strong { font-size:16px; line-height:1.4; }
.document-links small { font-size:12px; color:#53624f; }
.reference-links { padding-left:20px; font-size:14px; }
.reference-links li { margin:0 0 14px; }
.reference-links a { color:#38533e; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.book-contact .chapter-heading > p:not(.book-eyebrow) { margin-top:20px; font-size:16px; max-width:540px; }
.book-phone { display:block; margin-top:20px; font-size:26px; font-weight:800; color:#263c2d; }
.book-contact .chapter-heading small { color:#61705f; }
.book-contact .lead-form { padding:0; background:transparent; border:0; box-shadow:none; }
.book-contact .consent { align-items:start; font-size:12px; }
.book-contact input:focus,.book-contact select:focus { outline:2px solid #66745d; }
.book-return { display:block; color:#344c3b; font-size:14px; font-weight:750; padding:15px 0; }
.bpla-page .footer { background:#17231c; }
.bpla-page .site-phone-band { background:#e0e4d8; }
.bpla-page .multichannel-call { border-radius:0; background:#263d2c; }
.bpla-page .multichannel-call > b { border-radius:0; }
.bpla-page .button { box-shadow:none; }
.book-top { position:fixed; bottom:24px; right:24px; z-index:10; display:grid; place-items:center; width:42px; height:42px; color:#fff; background:#344c3b; border:1px solid #a7b39f; }
.book-mobile-contact { display:none; }
.bpla-page :focus-visible { outline:3px solid #8e443b; outline-offset:4px; }
@media(min-width:901px) { .book-toc summary { pointer-events:none; } }
@media(max-width:1100px) { .book-layout { gap:30px; grid-template-columns:200px minmax(0,1fr); } .chapter-body,.chapter-heading { padding-inline:28px; } }
@media(max-width:900px) {
  .book-cover-grid { grid-template-columns:1.05fr .95fr; }
  .cover-copy { padding-block:44px; }
  .book-layout { display:block; padding-top:24px; }
  .book-sidebar { position:sticky; z-index:8; top:0; background:#e9eae3f7; margin:0 -4px 26px; padding:0 4px; }
  .book-toc { border-top-width:2px; }
  .book-toc summary { display:flex; justify-content:space-between; padding:14px 8px; }
  .book-toc summary span { display:inline; }
  .book-toc[open] summary span { transform:rotate(45deg); }
  .book-toc nav { grid-template-columns:1fr 1fr; padding-bottom:12px; }
  .back-main { display:none; }
  .book-section { scroll-margin-top:62px; }
}
@media(max-width:620px) {
  .book-cover-grid { display:block; position:relative; padding-top:230px; }
  .cover-photo { position:absolute; top:0; left:0; width:100%; height:270px; object-position:center 35%; mask-image:linear-gradient(#000 60%,transparent); }
  .cover-copy { padding:0 0 32px; }
  .book-cover h1 { font-size:36px; line-height:1.03; margin-bottom:24px; }
  .cover-copy .book-eyebrow { font-size:10px; margin-bottom:15px; }
  .cover-subtitle { font-size:22px; }
  .cover-topics { font-size:10px; }
  .cover-actions { gap:17px; margin-top:24px; }
  .cover-actions .button { min-height:44px; font-size:12px; padding:11px 15px; }
  .cover-link { font-size:12px; }
  .book-layout { width:calc(100% - 24px); padding-bottom:40px; }
  .book-intro { padding:0 8px; font-size:14px; }
  .book-section { margin-bottom:26px; }
  .chapter-heading { padding:25px 20px 22px; }
  .chapter-heading h2 { font-size:31px; }
  .chapter-body { padding:24px 20px 28px; font-size:15px; line-height:1.65; }
  .book-answer h3 { font-size:25px; }
  .chapter-photo { height:205px; }
  .document-links { grid-template-columns:1fr; }
  .legal-section .chapter-heading { padding-right:120px; }
  .legal-section .chapter-heading img { width:112px; height:100px; right:6px; }
  .legal-section .chapter-heading .book-eyebrow { font-size:9px; }
  .legal-section .chapter-heading h2 { font-size:27px; }
  .book-phone { font-size:23px; }
  .book-mobile-contact { position:fixed; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 1fr; z-index:12; background:#17231c; border-top:1px solid #b6c1ae; padding-bottom:env(safe-area-inset-bottom); }
  .book-mobile-contact a { display:grid; place-items:center; min-height:50px; color:#fff; font-size:13px; font-weight:750; }
  .book-mobile-contact a+a { background:#3f5945; border-left:1px solid #798773; }
  .book-top { bottom:66px; right:12px; width:34px; height:34px; }
  .bpla-page { padding-bottom:50px; }
}
