/* Composition pass: owned content groups, quiet surfaces, readable control rhythm.
   No content, integration, hero artwork, or motion behavior is replaced. */
.composition-12 .book-page .bk-news-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:32px 0 12px;margin-top:28px;align-items:start}
.composition-12 .r12-news-subscribe{min-width:0;padding:26px 28px 28px;border:1px solid #d4deed;border-top:2px solid #2b54eb;background:linear-gradient(145deg,#f5f8ff,white 80%);box-shadow:0 8px 24px #1d365b05}
.composition-12 .book-page .bk-news-heading{display:block;padding:0}
.composition-12 .book-page .bk-news-heading h2{margin:0;font-size:1.65rem;white-space:normal}
.composition-12 .bk-news-line{display:none}
.composition-12 .book-page .bk-news-copy{padding:0;max-width:none;margin:0}
.composition-12 .book-page .bk-news-note{margin:0;max-width:48ch;font-size:.9375rem;line-height:1.65}
.composition-12 .book-page .bk-news-downloads{margin:20px 0 12px}
.composition-12 .book-page .bk-news-downloads>a{min-height:0;padding:16px 0;gap:20px}
.composition-12 .book-page .bk-news-downloads strong{font-size:.9375rem;font-weight:500}
.composition-12 .book-page .bk-news-downloads small{font-size:.8125rem;margin-top:5px}
.composition-12 .book-page .bk-news-copy>.ds-link{font-size:.875rem}
.composition-12 .mc-newsletter{max-width:none;margin-top:18px}
.composition-12 .mc-signup-intro{font-size:1rem;line-height:1.55;margin:0 0 18px;max-width:38ch}
.composition-12 .mc-signup-fields{padding:0;border:0;background:none;gap:10px;align-items:end;box-shadow:none}
.composition-12 .mc-field label{font-size:.8125rem;font-weight:500;color:#4a5769;margin-bottom:7px}
.composition-12 .mc-field input,.composition-12 .mc-field textarea{border-radius:3px;border-color:#b9c7db;background:#fff;box-shadow:none}
.composition-12 .mc-newsletter .ds-button{border-radius:3px;padding:12px 18px;font-size:.875rem;letter-spacing:0;min-height:48px}
.composition-12 .mc-newsletter .mc-email-promise{margin-top:14px;font-size:.8125rem}
.composition-12 .mc-newsletter .mc-form-status{font-size:.75rem;line-height:1.6;margin-top:6px}
.composition-12 .book-page .bk-endpaper{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.composition-12 .book-page .bk-closing{padding:0;max-width:38rem}
.composition-12 .book-page .bk-endpaper-art>svg{width:100%;margin:0;max-height:310px}
.composition-12 .book-page .bk-endpaper-art figcaption{margin:10px 0 0;justify-content:flex-end;font-size:.75rem}
.composition-12 .home-page .hm-closing{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding-bottom:40px;align-items:center}
.composition-12 .home-page .hm-closing h2{max-width:24ch}
.composition-12 .hm-closing>div>p:not(.ds-eyebrow){max-width:38ch}
.composition-12 .hm-closing figure{margin:0}
.composition-12 .hm-closing figcaption{padding:16px 0 0}
.composition-12 .mc-contact{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:32px;padding:28px;background:linear-gradient(120deg,#f5f8ff,#fff);border:1px solid #d4deed}
.composition-12 .mc-contact h2{margin-top:12px}
.composition-12 .mc-contact-copy>p:not(.ds-eyebrow){max-width:30ch}
.composition-12 .mc-contact-form{padding-left:32px}
.composition-12 .mc-contact-fields{gap:16px;margin-bottom:16px}
.composition-12 .mc-contact textarea{min-height:120px}
.composition-12 .mc-contact-submit{margin-top:16px}
/* Privacy reads as one document, with headings beside their own paragraphs. */
.composition-12 .pr-page .pr-wrap{display:block;max-width:960px}
.composition-12 .pr-page .pr-heading{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;padding:0 0 28px;border-bottom:1px solid #cbd6e6}
.composition-12 .pr-heading>.ds-eyebrow{grid-column:1/-1;margin:0}
.composition-12 .pr-heading>.ds-ref{margin:0;max-width:none;align-self:end}
.composition-12 .pr-page .pr-copy{border:0;background:none;box-shadow:none;padding:0;margin:0;max-width:none}
.composition-12 .pr-page .pr-copy:before{display:none}
.composition-12 .pr-copy>.r10-section,.composition-12 .pr-copy>.r10-section:first-child{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:32px;padding:24px 0;margin:0;border:0;border-bottom:1px solid #d6dfec}
.composition-12 .pr-copy h2{margin:0;font-size:1.125rem;max-width:23ch}
.composition-12 .pr-copy p{font-size:.9375rem;line-height:1.75}
.composition-12 .pr-page .pr-home-link{margin-top:24px}
/* Consistent restrained link affordance without moving neighboring content. */
.composition-12 .bk-news-downloads>a:hover,.composition-12 .ds-footer-nav>a:hover{background:#f3f7ff}
.composition-12 .ds-footer-nav a{padding-block:14px}
.composition-12 .ds-footer-nav a small{font-size:.75rem;line-height:1.5}
@media(max-width:55rem){
 .composition-12 .book-page .bk-news-row{grid-template-columns:minmax(0,1fr);gap:28px}
 .composition-12 .r12-news-subscribe{padding:24px;max-width:none}
 .composition-12 .book-page .bk-news-note{max-width:60ch}
 .composition-12 .book-page .bk-endpaper,.composition-12 .home-page .hm-closing{grid-template-columns:minmax(0,1fr);gap:24px}
 .composition-12 .book-page .bk-endpaper-art{max-width:560px;margin:0 auto}
 .composition-12 .home-page .hm-closing{display:grid}
 .composition-12 .hm-closing figure{width:100%;max-width:560px;justify-self:center}
 .composition-12 .mc-contact{grid-template-columns:minmax(0,1fr);gap:24px}
 .composition-12 .mc-contact-form{padding:24px 0 0;border:0;border-top:1px solid #ccd8e9;margin:0}
 .composition-12 .mc-contact-copy>p:not(.ds-eyebrow){max-width:none}
 .composition-12 .pr-page .pr-heading{display:block}
 .composition-12 .pr-heading>.ds-eyebrow{margin-bottom:12px}
 .composition-12 .pr-heading>.ds-ref{margin-top:16px}
 .composition-12 .pr-copy>.r10-section,.composition-12 .pr-copy>.r10-section:first-child{grid-template-columns:minmax(0,1fr);gap:10px}
 .composition-12 .pr-copy h2{max-width:none}
}
@media(max-width:30rem){
 .composition-12 .r12-news-subscribe{padding:20px 18px}
 .composition-12 .mc-signup-fields{grid-template-columns:minmax(0,1fr);gap:12px}
 .composition-12 .mc-newsletter .ml-form-embedSubmit{width:100%}
 .composition-12 .mc-contact{padding:20px 18px}
 .composition-12 .book-page .bk-endpaper-art>svg{max-height:210px}
 .composition-12 .book-page .bk-endpaper-art figcaption{font-size:.6875rem}
 .composition-12 .book-page .bk-news-row{padding-top:24px}
 .composition-12 .pr-copy p{font-size:1rem}
}
.composition-12 .pr-heading .rf-privacy-nav{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px;margin-top:16px;padding-top:16px}
.composition-12 .pr-heading .rf-privacy-nav a{font-size:.8125rem;line-height:1.5;border-bottom:1px solid #e0e6ef;padding:10px 0;min-height:44px}
.composition-12 .book-page .bk-closing>p:not(.ds-eyebrow){font:400 1rem/1.65 var(--ds-body);max-width:38ch;color:var(--ds-muted)}
@media(max-width:55rem){.composition-12 .pr-heading .rf-privacy-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-top:22px}}
@media(max-width:24rem){.composition-12 .pr-heading .rf-privacy-nav{grid-template-columns:minmax(0,1fr)}}
