/* Opt-in editorial shell. This stylesheet is loaded only by the book page. */
.bs-editorial { --editorial-navy:#0c1c30; --editorial-paper:#f7f6f2; --editorial-ink:#182b45; --editorial-muted:#526174; --editorial-blue:#2869b8; background:var(--editorial-navy); color:var(--editorial-ink); padding:0 28px 64px; line-height:1.75; }
.bs-editorial * { box-sizing:border-box; }
.bs-editorial .editorial-frame { max-width:1200px; margin:0 auto; }
.bs-editorial a { color:#205a9b; text-underline-offset:4px; }
.bs-editorial a:focus-visible { outline:3px solid #2869b8; outline-offset:5px; border-radius:3px; }
.bs-editorial .editorial-skip { position:absolute; left:24px; top:-200px; padding:12px 18px; background:#fff; z-index:100; }
.bs-editorial .editorial-skip:focus { top:85px; }
.bs-editorial .book-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 22px; padding:23px 0; color:#c6d1df; font-size:.75rem; }
.bs-editorial .book-breadcrumb a { color:#fff; }
.bs-editorial .book-hero { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:64px; padding:58px 54px 62px; background:#182b45; color:#f7f6f2; align-items:center; border-top:1px solid #35465c; border-bottom:4px solid #ed533f; }
.bs-editorial .book-cover-stage { position:relative; display:flex; justify-content:center; align-items:center; padding:20px 14px 20px 0; }
.bs-editorial .book-cover { position:relative; display:block; width:100%; max-width:330px; height:auto; box-shadow:10px 20px 28px #0005; }
.bs-editorial .book-hook { margin:0 0 28px; padding:0 0 18px; border-bottom:1px solid #526073; color:#f7f6f2; font-size:1.25rem; font-weight:500; line-height:1.4; }
.bs-editorial .book-hook::before { content:""; display:block; width:42px; height:3px; background:#ed533f; margin-bottom:17px; }
.bs-editorial .book-hero .editorial-kicker { color:#d0d9e3; font-size:.67rem; letter-spacing:.16em; margin-bottom:13px; }
.bs-editorial .book-hero h1 { color:#f7f6f2; font-size:clamp(2.25rem,3.8vw,3.5rem); line-height:1.05; }
.bs-editorial .book-hero .book-subtitle { color:#f0eee8; font-weight:500; }
.bs-editorial .book-hero .book-intro { color:#c5d0dc; }
.bs-editorial .book-hero .book-format { background:#1b3754; border-color:#58758f; color:#f7f6f2; border-radius:11px; box-shadow:inset 0 1px 0 #ffffff08; }
.bs-editorial .book-hero .book-format:hover { background:#244561; border-color:#ed533f; }
.bs-editorial .book-hero .book-format:focus-visible { outline:3px solid #ed533f; outline-offset:4px; border-color:#ed533f; }
.bs-editorial .book-hero .book-sample-link, .bs-editorial .book-hero .book-disclosure a { color:#f7f6f2; }
.bs-editorial .book-hero .book-disclosure { color:#c5d0dc; }
.bs-editorial .book-hero a:focus-visible { outline-color:#f7f6f2; }
.bs-editorial .editorial-kicker { margin:0 0 16px; color:var(--editorial-muted); font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.bs-editorial h1 { margin:0 0 19px; color:var(--editorial-navy); font-size:clamp(2.25rem,3.55vw,3.35rem); line-height:1.08; letter-spacing:-.045em; }
.bs-editorial h2 { margin:0 0 24px; color:var(--editorial-navy); font-size:clamp(1.85rem,2.6vw,2.6rem); line-height:1.18; letter-spacing:-.035em; }
.bs-editorial h3 { margin:0 0 12px; font-size:1.2rem; line-height:1.35; color:var(--editorial-ink); letter-spacing:-.015em; }
.bs-editorial p { margin:0 0 20px; }
.bs-editorial .book-subtitle { font-size:1.05rem; line-height:1.5; font-weight:650; }
.bs-editorial .book-intro { color:var(--editorial-muted); font-size:.94rem; line-height:1.7; }
.bs-editorial .book-formats { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 15px; }
.bs-editorial .book-format { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 14px; background:var(--editorial-blue); color:#fff; border:1px solid var(--editorial-blue); border-radius:5px; text-decoration:none; font-size:.8rem; font-weight:750; line-height:1.5; }
.bs-editorial .book-format:hover { background:#1d5595; }
.bs-editorial .book-sample-link { display:inline-block; padding:6px 0; font-size:.85rem; font-weight:700; }
.bs-editorial .book-disclosure { font-size:.72rem; line-height:1.65; color:var(--editorial-muted); margin:16px 0 0; }
.bs-editorial .editorial-body { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; background:var(--editorial-paper); border-top:1px solid #d9dedf; }
.bs-editorial .editorial-rail { position:sticky; top:100px; padding:36px 24px; display:flex; flex-direction:column; gap:4px; }
.bs-editorial .editorial-rail p { margin:0 0 12px; font-size:.68rem; text-transform:uppercase; font-weight:800; letter-spacing:.12em; color:var(--editorial-muted); }
.bs-editorial .editorial-rail a { padding:8px 0; font-size:.83rem; text-decoration:none; line-height:1.5; }
.bs-editorial .editorial-rail a:hover { text-decoration:underline; }
.bs-editorial .editorial-reading { min-width:0; padding:0 58px; background:#fff; border-left:1px solid #d9dedf; }
.bs-editorial .editorial-section { padding:55px 0; border-bottom:1px solid #d9dedf; scroll-margin-top:100px; }
.bs-editorial .editorial-section:last-child { border-bottom:0; }
.bs-editorial .editorial-muted { color:var(--editorial-muted); }
.bs-editorial .book-field-story { margin:32px 0 0; background:var(--editorial-paper); padding:28px; border-left:3px solid #d84937; }
.bs-editorial .book-field-story p:last-child { margin:0; }
.bs-editorial .book-section-list > div { padding:25px 0; border-top:1px solid #d9dedf; }
.bs-editorial .book-section-list > div:last-child { padding-bottom:0; }
.bs-editorial .book-section-list p { margin-bottom:14px; }
.bs-editorial .book-chapters { font-size:.81rem; line-height:1.8; color:var(--editorial-muted); }
.bs-editorial .book-chapters span { display:block; color:var(--editorial-ink); font-weight:750; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.bs-editorial .book-excerpt-label { font-size:.8rem; color:var(--editorial-muted); }
.bs-editorial .book-sample blockquote { margin:25px 0; padding:0 0 0 24px; border-left:3px solid #d84937; font-size:1.1rem; line-height:1.85; }
.bs-editorial .book-excerpt-credit { font-size:.75rem; font-weight:650; color:var(--editorial-muted); }
.bs-editorial .book-author { display:grid; grid-template-columns:125px minmax(0,1fr); gap:26px; align-items:start; }
.bs-editorial .book-author img { width:100%; height:auto; border-radius:4px; }
.bs-editorial .book-author a { font-weight:650; }
.bs-editorial .book-questions { margin-top:36px; padding-top:28px; border-top:1px solid #d9dedf; }
.bs-editorial .book-questions h3 { font-size:1rem; }
.bs-editorial .book-questions p { color:var(--editorial-muted); font-size:.9rem; }
@media (max-width:1000px) { .bs-editorial .book-hero { gap:30px; padding:34px; } .bs-editorial .editorial-reading { padding:0 32px; } }
@media (max-width:900px) { .bs-editorial .book-cover { max-width:220px; } .bs-editorial .editorial-body { display:block; } .bs-editorial .editorial-rail { position:static; flex-direction:row; flex-wrap:wrap; gap:2px 20px; padding:22px 32px; border-bottom:1px solid #d9dedf; } .bs-editorial .editorial-rail p { flex-basis:100%; margin-bottom:4px; } .bs-editorial .editorial-reading { border-left:0; } }
@media (max-width:600px) { .bs-editorial { padding:0 12px 24px; } .bs-editorial .book-breadcrumb { font-size:.66rem; padding:17px 4px; gap:6px 15px; } .bs-editorial .book-hero { display:flex; flex-direction:column; gap:25px; padding:26px 22px 30px; align-items:stretch; } .bs-editorial .book-cover-stage { align-self:center; padding:9px 10px 9px 0; } .bs-editorial .book-cover { width:120px; } .bs-editorial .book-hook { font-size:1.06rem; padding-bottom:15px; margin-bottom:21px; } .bs-editorial .book-hook::before { margin-bottom:12px; } .bs-editorial .book-hero h1 { font-size:2.15rem; } .bs-editorial .book-intro { font-size:.9rem; } .bs-editorial .book-formats { gap:8px; } .bs-editorial .book-format { flex:1 1 100%; } .bs-editorial .editorial-rail { padding:20px 22px; gap:0 18px; } .bs-editorial .editorial-reading { padding:0 22px; } .bs-editorial .editorial-section { padding:36px 0; } .bs-editorial .book-field-story { padding:20px; } .bs-editorial .book-author { display:block; } .bs-editorial .book-author img { width:100px; margin-bottom:24px; } .bs-editorial .book-sample blockquote { padding-left:16px; font-size:1rem; } }
@media (prefers-reduced-motion:reduce) { .bs-editorial *, .bs-editorial *::before, .bs-editorial *::after { transition:none !important; scroll-behavior:auto !important; } }
/* Keep the reused header readable when scripts are unavailable or text is enlarged. */
body[data-page="construction-apprentice-book"] .header-inner { flex-wrap:wrap; }
body[data-page="construction-apprentice-book"] .main-nav { max-width:100%; flex-wrap:wrap; }
.bs-editorial { overflow-wrap:anywhere; }
/* Put the format choices before the longer introduction on narrow screens. */
@media (max-width:600px) {
  .bs-editorial .book-hero-copy { display:flex; flex-direction:column; }
  .bs-editorial .book-hero .book-intro { order:1; margin-top:20px; }
  .bs-editorial .book-hero .book-disclosure { order:2; margin-top:0; }
}
