
    /* Formatrix Workbook Styles — 6 × 9 in */
    .wb-page {
      width: 100%;
      max-width: 6in;
      min-height: 9in;
      margin: 0 auto;
      padding: 48px 40px;
      background: #ffffff;
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      color: #1a1a2e;
      line-height: 1.7;
      font-size: 14px;
      position: relative;
      box-sizing: border-box;
      page-break-after: always;
      overflow: hidden;
    }

    /* TITLE PAGE */
    .wb-title-page {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      position: relative;
    }
    .wb-title-accent {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 6px;
      background: #c4956a;
    }
    .wb-title-content {
      max-width: 400px;
    }
    .wb-title-overline {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 11px;
      letter-spacing: 6px;
      color: #c4956a;
      margin-bottom: 24px;
      font-weight: 600;
    }
    .wb-title-main {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 36px;
      font-weight: 700;
      line-height: 1.15;
      letter-spacing: -1px;
      margin-bottom: 16px;
      color: #1a1a2e;
    }
    .wb-title-subtitle {
      font-size: 16px;
      color: #7a7670;
      margin-bottom: 12px;
    }
    .wb-title-author {
      font-size: 14px;
      color: #7a7670;
      font-style: italic;
      margin-bottom: 8px;
    }
    .wb-title-author-creds {
      font-size: 12px;
      color: #7a7670;
      letter-spacing: 0.5px;
      margin-bottom: 24px;
    }
    .wb-title-line {
      width: 60px;
      height: 2px;
      background: #c4956a;
      margin: 0 auto 24px;
    }
    .wb-title-tagline {
      font-size: 12px;
      color: #7a7670;
      letter-spacing: 0.5px;
    }

    /* TOC PAGE */
    .wb-toc-page {
      padding-top: 80px;
    }
    .wb-toc-heading {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 28px;
      font-weight: 700;
      letter-spacing: -0.5px;
      margin-bottom: 40px;
      color: #1a1a2e;
    }
    .wb-toc-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .wb-toc-item {
      display: flex;
      align-items: baseline;
      gap: 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid #e8e4df;
    }
    .wb-toc-num {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 13px;
      font-weight: 600;
      color: #c4956a;
      flex-shrink: 0;
    }
    .wb-toc-text {
      font-size: 15px;
      font-weight: 500;
      color: #1a1a2e;
      flex-grow: 1;
    }
    .wb-toc-dots {
      flex-grow: 1;
    }

    /* DIVIDER PAGE */
    .wb-divider-page {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      background: #faf8f5;
    }
    .wb-divider-inner {
      max-width: 350px;
    }
    .wb-divider-num {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 64px;
      font-weight: 700;
      color: #e8e4df;
      line-height: 1;
      display: block;
      margin-bottom: 16px;
    }
    .wb-divider-title {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 28px;
      font-weight: 700;
      letter-spacing: -0.5px;
      line-height: 1.2;
      color: #1a1a2e;
      margin-bottom: 20px;
    }
    .wb-divider-line {
      width: 40px;
      height: 3px;
      background: #c4956a;
      margin: 0 auto;
    }

    /* INLINE SECTION DIVIDER (shared across all templates) */
    .wb-inline-divider {
      text-align: center;
      padding: 24px 0 20px;
      margin-bottom: 20px;
      border-bottom: 1px solid #e8e4df;
    }
    .wb-inline-divider-num {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 36px;
      font-weight: 700;
      color: #e8e4df;
      line-height: 1;
      display: block;
      margin-bottom: 6px;
    }
    .wb-inline-divider-title {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 22px;
      font-weight: 700;
      letter-spacing: -0.5px;
      line-height: 1.2;
      color: #1a1a2e;
      margin-bottom: 10px;
    }
    .wb-inline-divider-accent {
      width: 28px;
      height: 3px;
      background: #c4956a;
      margin: 0 auto;
    }
    .wb-inline-divider-rule {
      height: 1px;
      background: #e8e4df;
      width: 100%;
    }

    /* Modern Clean inline divider */
    .mc-inline-divider {
      text-align: left;
      border-bottom: none;
      padding: 16px 0 20px;
    }
    .mc-il-num {
      font-size: 56px;
      font-weight: 800;
      color: #e5e7eb;
      letter-spacing: -3px;
      margin-bottom: 8px;
    }
    .mc-il-rule {
      width: 32px;
      height: 3px;
      background: #2563eb;
      margin-bottom: 12px;
    }
    .mc-il-title {
      font-size: 22px;
      color: #111827;
      letter-spacing: -0.5px;
    }

    /* Bold Educator inline divider */
    .be-inline-divider {
      text-align: center;
      padding: 16px 0 20px;
      border-bottom: none;
    }
    .be-il-badge {
      width: 48px;
      height: 48px;
      background: #f97316;
      color: white;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 22px;
      font-weight: 800;
      margin-bottom: 12px;
    }
    .be-il-title {
      font-size: 22px;
      font-weight: 800;
      color: #111827;
      margin-bottom: 6px;
    }
    .be-il-sub {
      font-size: 10px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #f97316;
      font-weight: 600;
      margin: 0;
    }

    /* Creative Workbook inline divider */
    .cw-inline-divider {
      text-align: center;
      padding: 16px 0 20px;
      border-bottom: 2px dashed #fce7f3;
    }
    .cw-il-label {
      font-size: 10px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #ec4899;
      font-weight: 700;
      margin-bottom: 6px;
    }
    .cw-il-title {
      font-size: 22px;
      font-weight: 700;
      color: #1a1a1a;
      margin-bottom: 8px;
    }
    .cw-il-deco {
      color: #8b5cf6;
      font-size: 12px;
      letter-spacing: 8px;
      margin: 0;
    }

    /* Corporate Professional inline divider */
    .cp-inline-divider {
      text-align: left;
      padding: 16px 0 20px;
      border-bottom: none;
    }
    .cp-il-rule {
      height: 1px;
      background: #1e3a5f;
      width: 100%;
      margin-bottom: 12px;
    }
    .cp-il-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 4px;
      color: #718096;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .cp-il-title {
      font-size: 22px;
      font-weight: 700;
      color: #1e3a5f;
    }

    /* CONTENT PAGE */
    .wb-content-page {
      padding-top: 48px;
    }
    .wb-content-header {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #c4956a;
      font-weight: 600;
      margin-bottom: 32px;
      padding-bottom: 12px;
      border-bottom: 1px solid #e8e4df;
    }
    .wb-content-body p {
      margin-bottom: 16px;
      font-size: 14px;
      line-height: 1.75;
      color: #1a1a2e;
    }
    .wb-content-body p:last-child {
      margin-bottom: 0;
    }
    .wb-content-body strong {
      font-weight: 600;
      color: #1a1a2e;
    }
    .wb-content-body em {
      font-style: italic;
      color: #a67b52;
    }

    /* REFLECTION PAGE */
    .wb-reflection-page {
      padding-top: 48px;
    }
    .wb-reflection-box {
      background: #f5f0ea;
      border-left: 4px solid #c4956a;
      border-radius: 0 12px 12px 0;
      padding: 24px 28px;
      margin-bottom: 32px;
    }
    .wb-reflection-icon {
      font-size: 20px;
      margin-bottom: 8px;
    }
    .wb-reflection-label {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #c4956a;
      font-weight: 600;
      margin-bottom: 12px;
    }
    .wb-reflection-prompt {
      font-size: 16px;
      font-weight: 500;
      line-height: 1.5;
      color: #1a1a2e;
      font-style: italic;
    }
    .wb-writing-space {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .wb-write-line {
      height: 36px;
      border-bottom: 1px solid #e8e4df;
    }
    .wb-write-line:first-child {
      margin-top: 8px;
    }

    /* CALLOUT PAGE */
    .wb-callout-page {
      padding-top: 48px;
    }
    .wb-callout-box {
      position: relative;
      background: #ffffff;
      border: 1px solid #e8e4df;
      border-radius: 12px;
      padding: 28px 28px 28px 36px;
      margin-top: 16px;
      overflow: hidden;
    }
    .wb-callout-accent {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 5px;
      background: #c4956a;
      border-radius: 12px 0 0 12px;
    }
    .wb-callout-label {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #c4956a;
      font-weight: 600;
      margin-bottom: 16px;
    }
    .wb-callout-content p {
      font-size: 15px;
      line-height: 1.7;
      color: #1a1a2e;
      margin-bottom: 12px;
    }
    .wb-callout-content p:last-child {
      margin-bottom: 0;
    }

    /* CLOSING PAGE */
    .wb-closing-page {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .wb-closing-inner {
      max-width: 360px;
    }
    .wb-closing-title {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 32px;
      font-weight: 700;
      color: #1a1a2e;
      margin-bottom: 16px;
    }
    .wb-closing-text {
      font-size: 15px;
      color: #7a7670;
      line-height: 1.7;
      margin-bottom: 24px;
    }
    .wb-closing-line {
      width: 40px;
      height: 2px;
      background: #c4956a;
      margin: 24px auto;
    }

    /* =========================================================
       MODERN CLEAN TEMPLATE
    ========================================================= */
    .mc-title-page {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background: #ffffff;
      padding: 0;
    }
    .mc-title-top-bar {
      height: 4px;
      background: #2563eb;
      width: 100%;
    }
    .mc-title-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      padding: 60px 56px;
    }
    .mc-title-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 8px;
      color: #2563eb;
      font-weight: 600;
      margin-bottom: 32px;
    }
    .mc-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 40px;
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: -1.5px;
      color: #111827;
      margin-bottom: 16px;
      max-width: 420px;
    }
    .mc-title-subtitle {
      font-size: 16px;
      color: #6b7280;
      margin-bottom: 12px;
      line-height: 1.5;
    }
    .mc-title-rule {
      width: 48px;
      height: 2px;
      background: #2563eb;
      margin: 20px 0;
    }
    .mc-title-author {
      font-size: 13px;
      color: #9ca3af;
      letter-spacing: 0.5px;
      margin-bottom: 4px;
    }
    .mc-title-author-creds {
      font-size: 11px;
      color: #9ca3af;
      letter-spacing: 0.3px;
    }
    .mc-title-footer {
      padding: 24px 56px;
      display: flex;
      gap: 6px;
      align-items: center;
    }
    .mc-title-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #e5e7eb;
    }
    .mc-toc-page { padding-top: 72px; }
    .mc-toc-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 6px;
      color: #2563eb;
      font-weight: 600;
      margin-bottom: 40px;
      text-transform: uppercase;
    }
    .mc-toc-list { display: flex; flex-direction: column; gap: 0; }
    .mc-toc-item {
      display: flex;
      align-items: center;
      gap: 20px;
      padding: 14px 0;
      border-bottom: 1px solid #f3f4f6;
    }
    .mc-toc-num {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      font-weight: 700;
      color: #2563eb;
      flex-shrink: 0;
      width: 28px;
    }
    .mc-toc-text {
      font-size: 14px;
      font-weight: 500;
      color: #374151;
    }
    .mc-divider-page {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 60px 56px;
      background: #f8fafc;
    }
    .mc-divider-num {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 96px;
      font-weight: 800;
      color: #e5e7eb;
      line-height: 1;
      margin-bottom: 24px;
      letter-spacing: -4px;
    }
    .mc-divider-rule {
      width: 40px;
      height: 3px;
      background: #2563eb;
      margin-bottom: 24px;
    }
    .mc-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 28px;
      font-weight: 700;
      color: #111827;
      line-height: 1.2;
      letter-spacing: -0.5px;
    }
    .mc-content-page { padding-top: 48px; }
    .mc-content-header {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      text-transform: uppercase;
      letter-spacing: 4px;
      color: #2563eb;
      font-weight: 700;
      margin-bottom: 28px;
      padding-bottom: 10px;
      border-bottom: 1px solid #e5e7eb;
    }
    .mc-content-body p {
      font-size: 14px;
      line-height: 1.8;
      color: #374151;
      margin-bottom: 18px;
    }
    .mc-content-body p:last-child { margin-bottom: 0; }
    .mc-content-body strong { color: #111827; font-weight: 600; }
    .mc-content-body em { color: #2563eb; font-style: italic; }
    .mc-reflection-page { padding-top: 48px; }
    .mc-reflection-box {
      background: #eff6ff;
      border: 1.5px solid #bfdbfe;
      border-radius: 8px;
      padding: 24px 28px;
      margin-bottom: 32px;
    }
    .mc-reflection-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #2563eb;
      font-weight: 700;
      margin-bottom: 12px;
    }
    .mc-reflection-prompt {
      font-size: 15px;
      font-weight: 500;
      color: #1e40af;
      line-height: 1.6;
      font-style: italic;
    }
    .mc-writing-area { display: flex; flex-direction: column; }
    .mc-write-line {
      height: 34px;
      border-bottom: 1px solid #e5e7eb;
    }
    .mc-callout-page { padding-top: 48px; }
    .mc-callout-box {
      background: #fffbeb;
      border: 1.5px solid #fde68a;
      border-radius: 8px;
      padding: 28px;
      margin-top: 12px;
    }
    .mc-callout-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #d97706;
      font-weight: 700;
      margin-bottom: 16px;
    }
    .mc-callout-body p {
      font-size: 15px;
      line-height: 1.7;
      color: #374151;
      margin-bottom: 12px;
    }
    .mc-callout-body p:last-child { margin-bottom: 0; }
    .mc-closing-page {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding-left: 56px;
    }
    .mc-closing-content { max-width: 360px; }
    .mc-closing-dots { display: flex; gap: 8px; margin-bottom: 32px; }
    .mc-closing-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: #e5e7eb;
    }
    .mc-dot-accent { background: #2563eb; }
    .mc-closing-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 36px;
      font-weight: 700;
      color: #111827;
      letter-spacing: -1px;
      margin-bottom: 16px;
    }
    .mc-closing-text {
      font-size: 14px;
      color: #6b7280;
      line-height: 1.8;
    }
    .mc-closing-text em { color: #2563eb; font-style: italic; }

    /* =========================================================
       BOLD EDUCATOR TEMPLATE
    ========================================================= */
    .be-title-page {
      padding: 0;
      display: flex;
      flex-direction: column;
      background: #ffffff;
    }
    .be-title-band {
      background: #1e40af;
      padding: 28px 40px;
      display: flex;
      align-items: center;
    }
    .be-title-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 12px;
      letter-spacing: 6px;
      color: #93c5fd;
      font-weight: 700;
    }
    .be-title-body {
      flex: 1;
      padding: 50px 40px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .be-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 38px;
      font-weight: 800;
      line-height: 1.1;
      letter-spacing: -1px;
      color: #111827;
      margin-bottom: 16px;
    }
    .be-title-subtitle {
      font-size: 16px;
      color: #6b7280;
      margin-bottom: 12px;
      line-height: 1.5;
    }
    .be-title-author {
      font-size: 13px;
      color: #f97316;
      font-weight: 600;
      margin-top: 12px;
      margin-bottom: 4px;
    }
    .be-title-author-creds {
      font-size: 11px;
      color: #9a9a9a;
      font-weight: 500;
      letter-spacing: 0.5px;
    }
    .be-title-bottom {
      padding: 0 40px 40px;
      display: flex;
      gap: 6px;
    }
    .be-title-stripe {
      height: 6px;
      border-radius: 3px;
    }
    .be-stripe-1 { background: #f97316; width: 50px; }
    .be-stripe-2 { background: #1e40af; width: 30px; }
    .be-stripe-3 { background: #fbbf24; width: 20px; }
    .be-toc-page { padding: 0; }
    .be-toc-header {
      background: #1e40af;
      padding: 32px 40px;
      margin-bottom: 0;
    }
    .be-toc-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 22px;
      font-weight: 700;
      color: #ffffff;
      letter-spacing: -0.5px;
    }
    .be-toc-list {
      display: flex;
      flex-direction: column;
      padding: 16px 40px;
    }
    .be-toc-item {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 12px 0;
      border-bottom: 1px solid #f3f4f6;
    }
    .be-toc-num {
      width: 28px;
      height: 28px;
      background: #f97316;
      color: white;
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 12px;
      font-weight: 700;
      flex-shrink: 0;
    }
    .be-toc-text {
      font-size: 14px;
      font-weight: 500;
      color: #374151;
    }
    .be-divider-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #fff7ed;
      padding: 0;
    }
    .be-divider-content {
      text-align: center;
      max-width: 380px;
      padding: 40px;
    }
    .be-divider-badge {
      width: 64px;
      height: 64px;
      background: #f97316;
      color: white;
      border-radius: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 28px;
      font-weight: 800;
      margin: 0 auto 24px;
    }
    .be-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 28px;
      font-weight: 800;
      color: #111827;
      line-height: 1.2;
      margin-bottom: 12px;
    }
    .be-divider-sub {
      font-size: 12px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #f97316;
      font-weight: 600;
    }
    .be-content-page { padding: 0; }
    .be-content-header {
      background: #1e40af;
      padding: 12px 40px;
      margin-bottom: 32px;
    }
    .be-content-header span {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 4px;
      color: #93c5fd;
      font-weight: 600;
    }
    .be-content-body { padding: 0 40px 40px; }
    .be-content-body p {
      font-size: 14px;
      line-height: 1.75;
      color: #374151;
      margin-bottom: 16px;
    }
    .be-content-body p:last-child { margin-bottom: 0; }
    .be-content-body strong { color: #1e40af; font-weight: 700; }
    .be-content-body em { color: #f97316; font-style: italic; }
    .be-reflection-page { padding: 0; }
    .be-reflection-box {
      background: #fffbeb;
      border: 2px solid #fbbf24;
      border-radius: 0;
      padding: 24px 40px;
      margin-bottom: 24px;
    }
    .be-reflection-icon {
      font-size: 24px;
      color: #f97316;
      margin-bottom: 8px;
    }
    .be-reflection-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: #d97706;
      font-weight: 700;
      margin-bottom: 12px;
    }
    .be-reflection-prompt {
      font-size: 15px;
      font-weight: 600;
      color: #92400e;
      line-height: 1.5;
    }
    .be-writing-space { padding: 0 40px 40px; display: flex; flex-direction: column; }
    .be-write-line {
      height: 38px;
      border-bottom: 2px solid #f3f4f6;
    }
    .be-callout-page { padding: 0; }
    .be-callout-box {
      background: #f97316;
      padding: 32px 40px;
      margin-top: 0;
    }
    .be-callout-top {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px;
    }
    .be-callout-icon {
      color: #fef3c7;
      font-size: 20px;
    }
    .be-callout-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: #fef3c7;
      font-weight: 700;
    }
    .be-callout-body { padding: 0 40px 40px; }
    .be-callout-body p {
      font-size: 15px;
      line-height: 1.7;
      color: #374151;
      margin-bottom: 12px;
    }
    .be-callout-body p:last-child { margin-bottom: 0; }
    .be-closing-page {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: #1e40af;
    }
    .be-closing-badge {
      width: 72px;
      height: 72px;
      background: #f97316;
      color: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 36px;
      margin-bottom: 24px;
    }
    .be-closing-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 32px;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 16px;
    }
    .be-closing-text {
      font-size: 14px;
      color: #bfdbfe;
      line-height: 1.8;
      text-align: center;
    }
    .be-closing-text strong { color: #fbbf24; }
    .be-closing-bar {
      width: 60px;
      height: 4px;
      background: #f97316;
      border-radius: 2px;
      margin-top: 32px;
    }

    /* =========================================================
       CREATIVE WORKBOOK TEMPLATE
    ========================================================= */
    .cw-title-page {
      background: #fffdf5;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }
    .cw-title-blob {
      position: absolute;
      border-radius: 50%;
      opacity: 0.12;
    }
    .cw-blob-1 {
      width: 220px;
      height: 220px;
      background: #ec4899;
      top: -60px;
      right: -60px;
    }
    .cw-blob-2 {
      width: 160px;
      height: 160px;
      background: #8b5cf6;
      bottom: -40px;
      left: -40px;
    }
    .cw-title-inner {
      text-align: center;
      max-width: 400px;
      position: relative;
      z-index: 1;
    }
    .cw-title-label {
      font-size: 13px;
      color: #ec4899;
      font-weight: 600;
      margin-bottom: 20px;
      letter-spacing: 1px;
    }
    .cw-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 36px;
      font-weight: 800;
      line-height: 1.15;
      color: #1a1a1a;
      margin-bottom: 16px;
      letter-spacing: -1px;
    }
    .cw-title-subtitle {
      font-size: 15px;
      color: #7c3aed;
      margin-bottom: 12px;
      line-height: 1.5;
      font-style: italic;
    }
    .cw-title-author {
      font-size: 13px;
      color: #6b7280;
      margin-bottom: 4px;
    }
    .cw-title-author-creds {
      font-size: 11px;
      color: #9ca3af;
      font-style: italic;
      margin-bottom: 4px;
    }
    .cw-title-deco {
      color: #ec4899;
      margin-top: 20px;
      font-size: 10px;
      letter-spacing: 6px;
    }
    .cw-toc-page {
      background: #fffdf5;
      padding-top: 60px;
    }
    .cw-toc-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 26px;
      font-weight: 700;
      color: #1a1a1a;
      margin-bottom: 32px;
      letter-spacing: -0.5px;
    }
    .cw-toc-list { display: flex; flex-direction: column; gap: 12px; }
    .cw-toc-item {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 12px 16px;
      background: #ffffff;
      border-radius: 12px;
      border: 1.5px solid #fce7f3;
    }
    .cw-toc-emoji { font-size: 18px; flex-shrink: 0; }
    .cw-toc-text { font-size: 14px; font-weight: 500; color: #374151; }
    .cw-divider-page {
      background: #fffdf5;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .cw-divider-card {
      background: #ffffff;
      border: 2px solid #fce7f3;
      border-radius: 24px;
      padding: 40px;
      text-align: center;
      max-width: 360px;
      width: 100%;
    }
    .cw-divider-label {
      font-size: 11px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #ec4899;
      font-weight: 700;
      margin-bottom: 12px;
    }
    .cw-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 26px;
      font-weight: 700;
      color: #1a1a1a;
      line-height: 1.25;
      margin-bottom: 16px;
    }
    .cw-divider-deco {
      color: #8b5cf6;
      font-size: 14px;
      letter-spacing: 8px;
    }
    .cw-content-page {
      background: #fffdf5;
      padding-top: 48px;
    }
    .cw-content-header {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #ec4899;
      font-weight: 700;
      margin-bottom: 28px;
      padding-bottom: 12px;
      border-bottom: 2px dashed #fce7f3;
    }
    .cw-content-body p {
      font-size: 14px;
      line-height: 1.8;
      color: #374151;
      margin-bottom: 16px;
    }
    .cw-content-body p:last-child { margin-bottom: 0; }
    .cw-content-body strong { color: #7c3aed; font-weight: 600; }
    .cw-content-body em { color: #ec4899; font-style: italic; }
    .cw-reflection-page { background: #fffdf5; padding-top: 48px; }
    .cw-reflection-box {
      background: #faf5ff;
      border: 2px solid #e9d5ff;
      border-radius: 20px;
      padding: 24px 28px;
      margin-bottom: 28px;
    }
    .cw-reflection-label {
      font-size: 14px;
      color: #7c3aed;
      font-weight: 600;
      margin-bottom: 10px;
    }
    .cw-reflection-prompt {
      font-size: 15px;
      font-weight: 500;
      color: #4c1d95;
      line-height: 1.6;
      font-style: italic;
    }
    .cw-writing-space { display: flex; flex-direction: column; }
    .cw-write-hint {
      font-size: 11px;
      color: #d1d5db;
      margin-bottom: 4px;
      font-style: italic;
    }
    .cw-write-line {
      height: 34px;
      border-bottom: 1.5px dashed #e9d5ff;
    }
    .cw-callout-page { background: #fffdf5; padding-top: 48px; }
    .cw-callout-box {
      background: #fff0f3;
      border: 2px solid #fecdd3;
      border-radius: 20px;
      padding: 28px;
      margin-top: 8px;
    }
    .cw-callout-label {
      font-size: 14px;
      color: #be185d;
      font-weight: 600;
      margin-bottom: 14px;
    }
    .cw-callout-body p {
      font-size: 14px;
      line-height: 1.75;
      color: #374151;
      margin-bottom: 10px;
    }
    .cw-callout-body p:last-child { margin-bottom: 0; }
    .cw-closing-page {
      background: linear-gradient(135deg, #fdf2f8 0%, #ede9fe 100%);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .cw-closing-inner { text-align: center; max-width: 360px; }
    .cw-closing-emoji { font-size: 48px; margin-bottom: 20px; }
    .cw-closing-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 34px;
      font-weight: 800;
      color: #1a1a1a;
      margin-bottom: 14px;
      letter-spacing: -0.5px;
    }
    .cw-closing-text {
      font-size: 14px;
      color: #6b7280;
      line-height: 1.8;
    }
    .cw-closing-text em { color: #7c3aed; font-style: italic; }
    .cw-closing-hearts {
      color: #ec4899;
      margin-top: 24px;
      font-size: 16px;
      letter-spacing: 8px;
    }

    /* =========================================================
       CORPORATE PROFESSIONAL TEMPLATE
    ========================================================= */
    .cp-title-page {
      background: #ffffff;
      display: flex;
      flex-direction: column;
      padding: 0;
    }
    .cp-title-header {
      background: #1e3a5f;
      padding: 32px 48px;
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .cp-title-header-line {
      flex: 1;
      height: 1px;
      background: rgba(255,255,255,0.3);
    }
    .cp-title-org-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 5px;
      color: #93c5fd;
      font-weight: 600;
      flex-shrink: 0;
    }
    .cp-title-body {
      flex: 1;
      padding: 56px 48px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-left: 4px solid #1e3a5f;
      margin-left: 48px;
      margin-right: 48px;
    }
    .cp-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 32px;
      font-weight: 700;
      color: #1e3a5f;
      line-height: 1.2;
      letter-spacing: -0.5px;
      margin-bottom: 16px;
    }
    .cp-title-subtitle {
      font-size: 15px;
      color: #4a5568;
      line-height: 1.5;
    }
    .cp-title-footer {
      padding: 28px 48px;
      border-top: 1px solid #e2e8f0;
    }
    .cp-title-author {
      font-size: 12px;
      color: #4a5568;
      margin-bottom: 2px;
      font-weight: 500;
    }
    .cp-title-author-creds {
      font-size: 10px;
      color: #718096;
      letter-spacing: 0.5px;
      margin-bottom: 8px;
    }
    .cp-title-footer-rule {
      height: 1px;
      background: #e2e8f0;
      margin: 8px 0;
    }
    .cp-title-conf {
      font-size: 9px;
      letter-spacing: 2px;
      color: #a0aec0;
      font-weight: 500;
    }
    .cp-toc-page { padding-top: 60px; }
    .cp-toc-header { margin-bottom: 32px; }
    .cp-toc-title-heading {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 20px;
      font-weight: 700;
      color: #1e3a5f;
      margin-bottom: 12px;
    }
    .cp-toc-rule {
      height: 2px;
      background: #1e3a5f;
      width: 100%;
    }
    .cp-toc-table {
      width: 100%;
      border-collapse: collapse;
    }
    .cp-toc-row {
      border-bottom: 1px solid #e2e8f0;
    }
    .cp-toc-sec {
      padding: 12px 0;
      font-size: 11px;
      font-weight: 600;
      color: #1e3a5f;
      text-transform: uppercase;
      letter-spacing: 1px;
      width: 90px;
      vertical-align: top;
    }
    .cp-toc-title {
      padding: 12px 0;
      font-size: 14px;
      color: #2d3748;
      vertical-align: top;
    }
    .cp-divider-page {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      background: #f8fafc;
      padding: 60px 48px;
    }
    .cp-divider-header { width: 100%; margin-bottom: 40px; }
    .cp-divider-line {
      height: 1px;
      background: #1e3a5f;
      width: 100%;
    }
    .cp-divider-body { flex: 1; }
    .cp-divider-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 4px;
      color: #718096;
      font-weight: 600;
      margin-bottom: 12px;
    }
    .cp-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 28px;
      font-weight: 700;
      color: #1e3a5f;
      line-height: 1.2;
    }
    .cp-divider-footer { width: 100%; margin-top: 40px; }
    .cp-content-page { padding-top: 48px; }
    .cp-content-header { margin-bottom: 28px; }
    .cp-content-section {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #1e3a5f;
      font-weight: 700;
      margin-bottom: 8px;
    }
    .cp-content-rule {
      height: 1px;
      background: #cbd5e0;
    }
    .cp-content-body p {
      font-size: 13.5px;
      line-height: 1.8;
      color: #2d3748;
      margin-bottom: 14px;
    }
    .cp-content-body p:last-child { margin-bottom: 0; }
    .cp-content-body strong { color: #1e3a5f; font-weight: 600; }
    .cp-content-body em { font-style: italic; color: #4a5568; }
    .cp-reflection-page { padding-top: 48px; }
    .cp-reflection-box {
      background: #f7fafc;
      border: 1px solid #cbd5e0;
      border-top: 3px solid #1e3a5f;
      padding: 20px 24px;
      margin-bottom: 24px;
    }
    .cp-reflection-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #1e3a5f;
      font-weight: 700;
      margin-bottom: 10px;
    }
    .cp-reflection-prompt {
      font-size: 14px;
      color: #2d3748;
      line-height: 1.6;
      font-weight: 500;
    }
    .cp-writing-space { display: flex; flex-direction: column; }
    .cp-write-line {
      height: 36px;
      border-bottom: 1px solid #e2e8f0;
    }
    .cp-callout-page { padding-top: 48px; }
    .cp-callout-box {
      background: #f7fafc;
      border: 1px solid #cbd5e0;
      border-left: 4px solid #1e3a5f;
      padding: 20px 24px;
      margin-top: 8px;
    }
    .cp-callout-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #1e3a5f;
      font-weight: 700;
      margin-bottom: 12px;
    }
    .cp-callout-body p {
      font-size: 14px;
      line-height: 1.7;
      color: #2d3748;
      margin-bottom: 10px;
    }
    .cp-callout-body p:last-child { margin-bottom: 0; }
    .cp-closing-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f8fafc;
    }
    .cp-closing-inner {
      text-align: center;
      max-width: 380px;
    }
    .cp-closing-rule {
      height: 2px;
      background: #1e3a5f;
      margin: 0 auto 24px;
      width: 60px;
    }
    .cp-closing-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 24px;
      font-weight: 700;
      color: #1e3a5f;
      margin-bottom: 14px;
      letter-spacing: -0.3px;
    }
    .cp-closing-text {
      font-size: 13px;
      color: #4a5568;
      line-height: 1.8;
      margin-bottom: 24px;
    }
    .cp-closing-text strong { color: #1e3a5f; }
    .cp-closing-footer {
      font-size: 10px;
      letter-spacing: 2px;
      color: #a0aec0;
      margin-top: 8px;
    }

    /* ============================================================
       RUSTIC EARTH TEMPLATE
       ============================================================ */
    .re-title-page {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: #fdf8f3;
      position: relative;
      text-align: center;
    }
    .re-title-top-strip, .re-title-bottom-strip {
      position: absolute;
      left: 0; right: 0;
      height: 8px;
      background: linear-gradient(90deg, #c4622d, #e07b39, #c4622d);
    }
    .re-title-top-strip { top: 0; }
    .re-title-bottom-strip { bottom: 0; }
    .re-title-emblem { font-size: 2.5rem; margin-bottom: 20px; }
    .re-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 32px;
      font-weight: 700;
      color: #4a2c1a;
      line-height: 1.2;
      letter-spacing: -0.5px;
      margin-bottom: 12px;
    }
    .re-title-subtitle {
      font-size: 15px;
      color: #7a4a30;
      font-style: italic;
      margin-bottom: 20px;
    }
    .re-title-divider {
      font-size: 10px;
      color: #c4622d;
      letter-spacing: 6px;
      margin: 16px 0;
    }
    .re-title-author {
      font-size: 14px;
      color: #7a4a30;
      font-weight: 600;
    }
    .re-title-creds { font-size: 11px; color: #9e6b4e; margin-top: 4px; }
    .re-toc-page { background: #fdf8f3; padding-top: 48px; }
    .re-toc-heading {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 22px;
      font-weight: 700;
      color: #4a2c1a;
      margin-bottom: 8px;
    }
    .re-toc-divider {
      height: 2px;
      background: linear-gradient(90deg, #c4622d, transparent);
      margin-bottom: 24px;
    }
    .re-toc-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 9px 0;
      border-bottom: 1px dashed #e8d5c4;
    }
    .re-toc-num { color: #c4622d; font-size: 10px; }
    .re-toc-text { font-size: 14px; color: #4a2c1a; }
    .re-divider-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f5ebe0;
      text-align: center;
    }
    .re-divider-inner { max-width: 80%; }
    .re-divider-ornament {
      font-size: 11px;
      color: #c4622d;
      letter-spacing: 6px;
      margin-bottom: 20px;
    }
    .re-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 26px;
      font-weight: 700;
      color: #4a2c1a;
      line-height: 1.2;
      margin-bottom: 12px;
    }
    .re-divider-label {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #9e6b4e;
    }
    .re-content-page { background: #fdf8f3; }
    .re-content-header {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #c4622d;
      margin-bottom: 18px;
      font-weight: 600;
    }
    .re-content-body p {
      font-size: 14px;
      color: #3d2010;
      line-height: 1.75;
      margin-bottom: 12px;
    }
    .re-reflection-page { background: #fdf8f3; }
    .re-reflection-box {
      background: #f5ebe0;
      border-left: 4px solid #c4622d;
      border-radius: 0 8px 8px 0;
      padding: 16px 20px;
      margin-bottom: 20px;
    }
    .re-reflection-label {
      font-size: 11px;
      color: #c4622d;
      font-weight: 700;
      margin-bottom: 8px;
      letter-spacing: 1px;
    }
    .re-reflection-prompt { font-size: 14px; color: #3d2010; line-height: 1.6; font-weight: 500; }
    .re-writing-space { display: flex; flex-direction: column; }
    .re-write-line {
      height: 36px;
      border-bottom: 1px solid #e8d5c4;
    }
    .re-callout-page { background: #fdf8f3; padding-top: 48px; }
    .re-callout-box {
      background: #fff8f2;
      border: 1.5px solid #c4622d;
      border-radius: 12px;
      padding: 20px 24px;
      text-align: center;
    }
    .re-callout-icon { font-size: 1.5rem; margin-bottom: 4px; }
    .re-callout-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #c4622d;
      font-weight: 700;
      margin-bottom: 12px;
    }
    .re-callout-body p { font-size: 14px; color: #3d2010; line-height: 1.7; margin-bottom: 10px; }
    .re-callout-body p:last-child { margin-bottom: 0; }
    .re-closing-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f5ebe0;
      text-align: center;
    }
    .re-closing-inner { max-width: 80%; }
    .re-closing-ornament { font-size: 11px; color: #c4622d; letter-spacing: 6px; margin: 16px 0; }
    .re-closing-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 26px;
      font-weight: 700;
      color: #4a2c1a;
      margin-bottom: 12px;
    }
    .re-closing-text { font-size: 14px; color: #7a4a30; line-height: 1.7; font-style: italic; }

    /* ============================================================
       MINIMALIST ZEN TEMPLATE
       ============================================================ */
    .mz-title-page {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-end;
      background: #ffffff;
      padding-bottom: 72px;
      position: relative;
    }
    .mz-title-content { max-width: 80%; }
    .mz-title-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 6px;
      color: #aaaaaa;
      margin-bottom: 24px;
      font-weight: 600;
    }
    .mz-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 38px;
      font-weight: 700;
      color: #111111;
      line-height: 1.1;
      letter-spacing: -1px;
      margin-bottom: 14px;
    }
    .mz-title-subtitle { font-size: 15px; color: #555555; margin-bottom: 20px; }
    .mz-title-author { font-size: 13px; color: #333333; font-weight: 600; margin-top: 24px; }
    .mz-title-creds { font-size: 11px; color: #888888; margin-top: 4px; }
    .mz-title-bar {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 4px;
      background: #111111;
    }
    .mz-toc-page { background: #ffffff; padding-top: 56px; }
    .mz-toc-heading {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 4px;
      color: #aaaaaa;
      font-weight: 600;
      margin-bottom: 32px;
    }
    .mz-toc-item {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 10px 0;
      border-bottom: 1px solid #f0f0f0;
    }
    .mz-toc-idx {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      font-weight: 700;
      color: #cccccc;
      min-width: 28px;
    }
    .mz-toc-text { font-size: 14px; color: #222222; }
    .mz-divider-page {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      background: #ffffff;
      padding-left: 48px;
    }
    .mz-divider-num {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 72px;
      font-weight: 700;
      color: #f0f0f0;
      line-height: 1;
      margin-bottom: 8px;
    }
    .mz-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 28px;
      font-weight: 700;
      color: #111111;
      line-height: 1.2;
      max-width: 80%;
    }
    .mz-content-page { background: #ffffff; }
    .mz-content-header {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #aaaaaa;
      margin-bottom: 24px;
      font-weight: 600;
    }
    .mz-content-body p { font-size: 14px; color: #222222; line-height: 1.8; margin-bottom: 14px; }
    .mz-reflection-page { background: #ffffff; }
    .mz-reflection-box {
      border-top: 2px solid #111111;
      border-bottom: 1px solid #eeeeee;
      padding: 16px 0;
      margin-bottom: 24px;
    }
    .mz-reflection-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      text-transform: uppercase;
      letter-spacing: 4px;
      color: #aaaaaa;
      margin-bottom: 8px;
      font-weight: 600;
    }
    .mz-reflection-prompt { font-size: 15px; color: #111111; line-height: 1.6; font-weight: 500; }
    .mz-writing-space { display: flex; flex-direction: column; }
    .mz-write-line { height: 36px; border-bottom: 1px solid #eeeeee; }
    .mz-callout-page { background: #ffffff; padding-top: 48px; }
    .mz-callout-box {
      background: #f8f8f8;
      border-left: 3px solid #111111;
      padding: 18px 22px;
    }
    .mz-callout-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      text-transform: uppercase;
      letter-spacing: 4px;
      color: #888888;
      font-weight: 600;
      margin-bottom: 10px;
    }
    .mz-callout-body p { font-size: 14px; color: #222222; line-height: 1.7; margin-bottom: 10px; }
    .mz-callout-body p:last-child { margin-bottom: 0; }
    .mz-closing-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #111111;
      text-align: center;
    }
    .mz-closing-inner { max-width: 70%; }
    .mz-closing-em { font-size: 40px; color: #444444; margin-bottom: 16px; }
    .mz-closing-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 32px;
      font-weight: 700;
      color: #ffffff;
      margin-bottom: 12px;
    }
    .mz-closing-text { font-size: 14px; color: #888888; letter-spacing: 1px; }

    /* ============================================================
       SCHOLARLY TEMPLATE
       ============================================================ */
    .sc-title-page {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: #f8fdf9;
      text-align: center;
      position: relative;
    }
    .sc-title-footer-band {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 6px;
      background: linear-gradient(90deg, #2d6a4f, #40916c, #2d6a4f);
    }
    .sc-title-crest { font-size: 2.5rem; margin-bottom: 16px; }
    .sc-title-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 5px;
      color: #2d6a4f;
      font-weight: 700;
      margin-bottom: 20px;
    }
    .sc-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 30px;
      font-weight: 700;
      color: #1b4332;
      line-height: 1.2;
      letter-spacing: -0.5px;
      margin-bottom: 10px;
    }
    .sc-title-subtitle { font-size: 14px; color: #40916c; font-style: italic; margin-bottom: 12px; }
    .sc-title-rule { width: 40px; height: 1px; background: #2d6a4f; margin: 16px auto; }
    .sc-title-author { font-size: 13px; color: #2d3d35; font-weight: 600; }
    .sc-title-creds { font-size: 11px; color: #52796f; margin-top: 4px; }
    .sc-toc-page { background: #f8fdf9; padding-top: 48px; }
    .sc-toc-header { margin-bottom: 24px; }
    .sc-toc-heading {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 20px;
      font-weight: 700;
      color: #1b4332;
      margin-bottom: 8px;
    }
    .sc-toc-rule { height: 2px; background: #2d6a4f; }
    .sc-toc-item {
      display: flex;
      align-items: baseline;
      gap: 8px;
      padding: 8px 0;
      border-bottom: 1px solid #b7e4c7;
    }
    .sc-toc-num {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      color: #2d6a4f;
      font-weight: 700;
      min-width: 28px;
    }
    .sc-toc-text { font-size: 14px; color: #1b4332; flex-grow: 1; }
    .sc-toc-dots {
      flex-grow: 1;
      border-bottom: 1px dotted #b7e4c7;
      min-width: 20px;
    }
    .sc-divider-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #1b4332;
      text-align: center;
    }
    .sc-divider-inner { max-width: 80%; }
    .sc-divider-section {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      color: #40916c;
      letter-spacing: 4px;
      margin-bottom: 16px;
    }
    .sc-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 26px;
      font-weight: 700;
      color: #d8f3dc;
      line-height: 1.2;
      margin-bottom: 16px;
    }
    .sc-divider-rule { width: 40px; height: 2px; background: #52b788; margin: 0 auto; }
    .sc-content-page { background: #f8fdf9; }
    .sc-content-header { margin-bottom: 18px; }
    .sc-content-section {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #2d6a4f;
      font-weight: 700;
      margin-bottom: 6px;
    }
    .sc-header-rule { height: 1px; background: #b7e4c7; }
    .sc-content-body p { font-size: 14px; color: #1b2d24; line-height: 1.75; margin-bottom: 12px; }
    .sc-reflection-page { background: #f8fdf9; }
    .sc-reflection-box {
      background: #d8f3dc;
      border-left: 4px solid #2d6a4f;
      border-radius: 0 8px 8px 0;
      padding: 14px 18px;
      margin-bottom: 20px;
    }
    .sc-reflection-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #1b4332;
      font-weight: 700;
      margin-bottom: 8px;
    }
    .sc-reflection-prompt { font-size: 14px; color: #1b2d24; line-height: 1.6; font-weight: 500; }
    .sc-writing-space { display: flex; flex-direction: column; }
    .sc-write-line { height: 36px; border-bottom: 1px solid #b7e4c7; }
    .sc-callout-page { background: #f8fdf9; padding-top: 40px; }
    .sc-callout-box {
      background: #ffffff;
      border: 1px solid #b7e4c7;
      border-top: 4px solid #2d6a4f;
      border-radius: 0 0 8px 8px;
      padding: 18px 22px;
    }
    .sc-callout-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #2d6a4f;
      font-weight: 700;
      margin-bottom: 10px;
    }
    .sc-callout-body p { font-size: 14px; color: #1b2d24; line-height: 1.7; margin-bottom: 10px; }
    .sc-callout-body p:last-child { margin-bottom: 0; }
    .sc-closing-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f8fdf9;
      text-align: center;
    }
    .sc-closing-inner { max-width: 80%; }
    .sc-closing-crest { font-size: 2rem; margin-bottom: 16px; }
    .sc-closing-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 24px;
      font-weight: 700;
      color: #1b4332;
      margin-bottom: 12px;
    }
    .sc-closing-text { font-size: 14px; color: #2d3d35; line-height: 1.7; margin-bottom: 16px; }
    .sc-closing-text strong { color: #2d6a4f; }
    .sc-closing-rule { width: 60px; height: 1px; background: #2d6a4f; margin: 16px auto; }
    .sc-closing-note { font-size: 11px; color: #52796f; font-style: italic; }

    /* ============================================================
       COLLEGE PREP GUIDE TEMPLATE (FOUNDER ONLY — Kimberly Lewis)
       ============================================================ */

    /* Base page with room for running header & footer */
    .cp-page {
      background: #ffffff;
      padding-top: 56px;
      padding-bottom: 52px;
      position: relative;
    }
    /* Running header — top of every content page */
    .cp-running-header {
      position: absolute;
      top: 14px; left: 40px; right: 40px;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 8px;
      letter-spacing: 1.5px;
      color: #1A2B4A;
      text-transform: uppercase;
      text-align: center;
      border-bottom: 2px solid #C8A44A;
      padding-bottom: 6px;
    }
    /* Running footer — bottom of every content page */
    .cp-running-footer {
      position: absolute;
      bottom: 14px; left: 40px; right: 40px;
      display: flex;
      justify-content: space-between;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 8px;
      letter-spacing: 1px;
      color: #6a7a8a;
      border-top: 1px solid #e2e7ed;
      padding-top: 6px;
    }
    /* Chapter labels (spaced caps) */
    .cp-chapter-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 5px;
      color: #C8A44A;
      text-transform: uppercase;
      margin-bottom: 10px;
    }
    .cp-chapter-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 26px;
      font-weight: 700;
      color: #1A2B4A;
      line-height: 1.2;
      margin-bottom: 20px;
    }
    /* Section labels in content pages */
    .cp-content-header {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 3px;
      color: #C8A44A;
      text-transform: uppercase;
      font-weight: 700;
      margin-bottom: 14px;
    }
    .cp-content-body p { font-size: 14px; color: #1A2B4A; line-height: 1.75; margin-bottom: 12px; }

    /* ---- Callout boxes ---- */
    .cp-callout-key-idea,
    .cp-callout-important,
    .cp-callout-reality,
    .cp-callout-reflection {
      border-radius: 0 6px 6px 0;
      padding: 14px 18px;
      margin: 16px 0;
    }
    .cp-callout-key-idea    { border-left: 4px solid #C8A44A; background: #FFFAEC; }
    .cp-callout-important   { border-left: 4px solid #1A2B4A; background: #EDF3F9; }
    .cp-callout-reality     { border-left: 4px solid #2d8a4e; background: #f0faf4; }
    .cp-callout-reflection  { border-left: 4px solid #9A7A30; background: #FFF8E8; }
    .cp-callout-header {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }
    .cp-callout-icon { font-size: 14px; line-height: 1; }
    .cp-callout-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 3px;
      text-transform: uppercase;
      font-weight: 700;
      color: #1A2B4A;
    }
    .cp-callout-statement {
      font-weight: 700;
      font-size: 14px;
      color: #1A2B4A;
      margin-bottom: 4px;
      line-height: 1.5;
    }
    .cp-callout-body {
      font-size: 13px;
      color: #3a4a5a;
      line-height: 1.65;
    }

    /* ---- Reflection box ---- */
    .cp-reflection-box {
      border: 1px solid #d8dce6;
      border-top: 3px solid #C8A44A;
      border-radius: 0 0 6px 6px;
      background: #F8FAFF;
      padding: 16px 20px;
      margin: 16px 0;
    }
    .cp-reflection-header {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 10px;
    }
    .cp-reflection-icon { font-size: 16px; }
    .cp-reflection-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 3px;
      text-transform: uppercase;
      font-weight: 700;
      color: #C8A44A;
    }
    .cp-reflection-prompt {
      font-size: 14px;
      color: #1A2B4A;
      line-height: 1.6;
      font-weight: 500;
      margin-bottom: 12px;
    }
    .cp-writing-space { display: flex; flex-direction: column; gap: 0; }
    .cp-write-line { height: 32px; border-bottom: 1px solid #c5d0df; }

    /* ---- Front cover page ---- */
    .cp-cover-front {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background: linear-gradient(180deg, #0a1020 0%, #0F1B30 20%, #1A2B4A 60%, #1A2B4A 100%);
      color: #ffffff;
      overflow: hidden;
      padding: 0;
    }
    /* Starry sky — scattered dots via radial gradients */
    .cp-cover-front::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 40%;
      background:
        radial-gradient(1px 1px at 15% 12%, rgba(255,255,255,0.9), transparent),
        radial-gradient(1px 1px at 32% 8%, rgba(255,255,255,0.7), transparent),
        radial-gradient(1.5px 1.5px at 50% 5%, rgba(255,255,255,1), transparent),
        radial-gradient(1px 1px at 68% 15%, rgba(255,255,255,0.6), transparent),
        radial-gradient(1px 1px at 82% 10%, rgba(255,255,255,0.8), transparent),
        radial-gradient(1px 1px at 10% 25%, rgba(255,255,255,0.5), transparent),
        radial-gradient(1px 1px at 25% 20%, rgba(255,255,255,0.7), transparent),
        radial-gradient(1px 1px at 45% 18%, rgba(255,255,255,0.6), transparent),
        radial-gradient(1.5px 1.5px at 60% 22%, rgba(255,255,255,0.9), transparent),
        radial-gradient(1px 1px at 75% 28%, rgba(255,255,255,0.5), transparent),
        radial-gradient(1px 1px at 88% 20%, rgba(255,255,255,0.7), transparent),
        radial-gradient(1px 1px at 20% 35%, rgba(255,255,255,0.4), transparent),
        radial-gradient(1px 1px at 40% 32%, rgba(255,255,255,0.6), transparent),
        radial-gradient(1px 1px at 55% 38%, rgba(255,255,255,0.5), transparent),
        radial-gradient(1px 1px at 72% 35%, rgba(255,255,255,0.7), transparent),
        radial-gradient(1px 1px at 5% 18%, rgba(255,255,255,0.6), transparent),
        radial-gradient(1px 1px at 92% 30%, rgba(255,255,255,0.5), transparent),
        radial-gradient(1px 1px at 38% 42%, rgba(255,255,255,0.4), transparent),
        radial-gradient(1.5px 1.5px at 85% 6%, rgba(200,164,74,0.8), transparent),
        radial-gradient(1.5px 1.5px at 18% 3%, rgba(200,164,74,0.6), transparent);
      pointer-events: none;
      z-index: 1;
    }
    /* Gold top accent bar */
    .cp-cover-front::after {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 4px;
      background: linear-gradient(90deg, #C8A44A 0%, #e0c67a 50%, #C8A44A 100%);
      z-index: 5;
    }
    .cp-cover-vol-badge {
      position: absolute;
      top: 28px;
      right: 28px;
      background: #C8A44A;
      color: #1A2B4A;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      padding: 6px 14px;
      border-radius: 20px;
      z-index: 4;
    }
    .cp-cover-front-content {
      padding: 60px 40px 20px;
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: relative;
      z-index: 3;
    }
    .cp-cover-subtitle {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #C8A44A;
      margin-bottom: 18px;
    }
    .cp-cover-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 42px;
      font-weight: 800;
      color: #ffffff;
      line-height: 1.1;
      margin-bottom: 18px;
    }
    .cp-cover-tagline {
      font-size: 14px;
      font-style: italic;
      color: rgba(255,255,255,0.7);
      line-height: 1.5;
    }
    .cp-cover-silhouette {
      width: 100%;
      height: 180px;
      position: relative;
      z-index: 2;
      margin-top: auto;
    }
    /* Light rays emanating from behind the building */
    .cp-cover-silhouette::before {
      content: '';
      position: absolute;
      bottom: 30px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 200px solid transparent;
      border-right: 200px solid transparent;
      border-bottom: 160px solid rgba(200,164,74,0.06);
      filter: blur(2px);
    }
    /* Campus building silhouette — multi-element via box-shadows */
    .cp-cover-silhouette::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: transparent;
      box-shadow:
        /* Ground base */
        0 0 0 0 #0F1B30,
        /* Center stairs — 5 ascending steps */
        -60px -2px 0 60px #111d34,
        -50px -10px 0 50px #111d34,
        -40px -18px 0 40px #121f36,
        -30px -26px 0 30px #121f36,
        -20px -34px 0 20px #131f37,
        /* Main building body */
        0 -50px 0 55px #13203a,
        /* Central dome */
        0 -100px 0 24px #14223c,
        0 -115px 0 16px #15243e,
        0 -125px 0 10px #162540,
        /* Dome cap (gold tint) */
        0 -132px 0 5px rgba(200,164,74,0.15),
        /* Dome lantern/cupola */
        0 -140px 0 3px #182742,
        0 -146px 0 2px rgba(200,164,74,0.2),
        /* Left tower */
        -80px -70px 0 10px #13203a,
        -80px -85px 0 7px #14223c,
        -80px -92px 0 4px rgba(200,164,74,0.12),
        /* Right tower */
        80px -70px 0 10px #13203a,
        80px -85px 0 7px #14223c,
        80px -92px 0 4px rgba(200,164,74,0.12),
        /* Left wing */
        -120px -20px 0 30px #111d34,
        -120px -40px 0 20px #121f36,
        /* Right wing */
        120px -20px 0 30px #111d34,
        120px -40px 0 20px #121f36,
        /* Window glow hints — center */
        0 -60px 0 2px rgba(200,164,74,0.15),
        -15px -60px 0 2px rgba(200,164,74,0.1),
        15px -60px 0 2px rgba(200,164,74,0.1),
        /* Window glow hints — wings */
        -100px -30px 0 2px rgba(200,164,74,0.08),
        100px -30px 0 2px rgba(200,164,74,0.08);
    }
    .cp-cover-author-bar {
      background: #0F1B30;
      padding: 20px 40px;
      border-top: 1px solid rgba(200,164,74,0.3);
      position: relative;
      z-index: 4;
    }
    .cp-cover-author {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 13px;
      font-weight: 700;
      color: #ffffff;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 2px;
    }
    .cp-cover-author-title {
      font-size: 11px;
      color: #C8A44A;
      font-style: italic;
    }

    /* ---- Back cover page (matches Kimberly's reference template) ---- */
    .cp-cover-back {
      position: relative;
      display: flex;
      flex-direction: column;
      background: #0F1B30;
      color: #ffffff;
      padding: 0;
      overflow: hidden;
    }
    .cp-cover-back-accent {
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 4px;
      background: linear-gradient(90deg, #C8A44A 0%, #e0c67a 50%, #C8A44A 100%);
    }
    .cp-back-inner {
      flex: 1;
      display: flex;
      flex-direction: column;
      padding: 32px 36px 28px;
    }

    /* Series header + volume badge */
    .cp-back-header {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      margin-bottom: 24px;
    }
    .cp-back-series-name {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 3px;
      color: rgba(255,255,255,0.7);
    }
    .cp-back-vol-badge {
      display: inline-block;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 8px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #C8A44A;
      border: 1.5px solid #C8A44A;
      border-radius: 4px;
      padding: 3px 10px;
    }

    /* Section heading (About This Book, Inside This Volume, About the Author) */
    .cp-back-section {
      margin-bottom: 18px;
    }
    .cp-back-section-heading {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: #C8A44A;
      margin-bottom: 10px;
    }

    /* Description paragraphs */
    .cp-back-desc-para {
      font-size: 11px;
      line-height: 1.7;
      color: rgba(255,255,255,0.85);
      margin-bottom: 10px;
    }
    .cp-back-desc-para strong {
      color: #ffffff;
      font-weight: 600;
    }
    .cp-back-desc-para:last-child {
      margin-bottom: 0;
    }

    /* Inside This Volume bullets */
    .cp-back-bullets {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .cp-back-bullet {
      font-size: 10.5px;
      line-height: 1.6;
      color: rgba(255,255,255,0.85);
      padding-left: 14px;
      position: relative;
      margin-bottom: 5px;
    }
    .cp-back-bullet::before {
      content: '';
      position: absolute;
      left: 0;
      top: 6px;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #C8A44A;
    }

    /* About the Author bio */
    .cp-back-bio-section {
      border-top: 1px solid rgba(200,164,74,0.25);
      padding-top: 14px;
      margin-top: auto;
      margin-bottom: 16px;
    }
    .cp-back-bio-text {
      font-size: 10px;
      line-height: 1.65;
      color: rgba(255,255,255,0.7);
    }

    /* Footer: author + ISBN barcode */
    .cp-back-footer {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      border-top: 1px solid rgba(200,164,74,0.15);
      padding-top: 14px;
    }
    .cp-back-author-name {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #ffffff;
      margin-bottom: 3px;
    }
    .cp-back-author-cred {
      font-size: 10px;
      color: #C8A44A;
      font-style: italic;
    }
    .cp-back-isbn-block {
      text-align: right;
    }
    .cp-back-isbn-label {
      font-family: 'Space Grotesk', monospace;
      font-size: 7px;
      letter-spacing: 1px;
      color: rgba(255,255,255,0.45);
      margin-bottom: 4px;
    }
    .cp-back-barcode-lines {
      width: 80px;
      height: 40px;
      background:
        repeating-linear-gradient(
          90deg,
          rgba(255,255,255,0.8) 0px, rgba(255,255,255,0.8) 1.5px,
          transparent 1.5px, transparent 3px,
          rgba(255,255,255,0.8) 3px, rgba(255,255,255,0.8) 4px,
          transparent 4px, transparent 6px,
          rgba(255,255,255,0.8) 6px, rgba(255,255,255,0.8) 8px,
          transparent 8px, transparent 9.5px
        );
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 2px;
      margin-left: auto;
    }

    /* ---- Spine page ---- */
    .cp-spine-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #1A2B4A;
    }
    .cp-spine-strip {
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      padding: 40px 0;
      border-left: 2px solid #C8A44A;
      border-right: 2px solid #C8A44A;
      width: 36px;
      height: 80%;
    }
    .cp-spine-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 2px;
      color: #ffffff;
      white-space: nowrap;
    }
    .cp-spine-author {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      font-weight: 500;
      letter-spacing: 1.5px;
      color: #C8A44A;
      white-space: nowrap;
    }

    /* ---- Title page ---- */
    .cp-title-page {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      background: #ffffff;
      padding: 80px 48px 60px;
      position: relative;
    }
    .cp-title-top-accent {
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 6px;
      background: linear-gradient(90deg, #1A2B4A 0%, #1A2B4A 70%, #C8A44A 100%);
    }
    .cp-title-series {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 12px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #6a7a8a;
      margin-bottom: 32px;
      font-weight: 500;
    }
    .cp-title-subtitle-spaced {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 13px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #C8A44A;
      margin-bottom: 18px;
      font-weight: 600;
    }
    .cp-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 36px;
      font-weight: 800;
      color: #1A2B4A;
      line-height: 1.15;
      margin-bottom: 12px;
      letter-spacing: -0.5px;
    }
    .cp-title-divider {
      width: 60px;
      height: 3px;
      background: #C8A44A;
      margin: 20px auto;
      border-radius: 2px;
    }
    .cp-title-volume {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 13px;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: #6a7a8a;
      margin-bottom: 12px;
      font-weight: 500;
    }
    .cp-title-tagline {
      font-size: 15px;
      color: #6a7a8a;
      line-height: 1.5;
      margin-bottom: 36px;
    }
    .cp-title-author-block {
      margin-top: auto;
      padding-top: 24px;
      border-top: 1px solid #d8dce6;
    }
    .cp-title-author {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 13px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #1A2B4A;
      margin-bottom: 6px;
      font-weight: 700;
    }
    .cp-title-creds {
      font-size: 12px;
      color: #6a7a8a;
      font-style: italic;
    }

    /* ---- Divider page ---- */
    .cp-divider-page {
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #0F1B30 0%, #1A2B4A 100%);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .cp-divider-page::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 300px;
      height: 300px;
      border: 1px solid rgba(200,164,74,0.08);
      border-radius: 50%;
    }
    .cp-divider-page::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 200px;
      height: 200px;
      border: 1px solid rgba(200,164,74,0.05);
      border-radius: 50%;
    }
    .cp-divider-inner {
      max-width: 80%;
      position: relative;
      z-index: 1;
    }
    .cp-divider-chapter-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: #C8A44A;
      margin-bottom: 20px;
      font-weight: 600;
    }
    .cp-divider-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 28px;
      font-weight: 700;
      color: #ffffff;
      line-height: 1.25;
      margin-bottom: 24px;
    }
    .cp-divider-rule {
      width: 40px;
      height: 3px;
      background: #C8A44A;
      margin: 0 auto;
      border-radius: 2px;
    }

    /* ---- TOC ---- */
    .cp-toc-page {
      background: #ffffff;
      padding: 56px 48px 48px;
      position: relative;
    }
    .cp-toc-page::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 6px;
      background: linear-gradient(90deg, #1A2B4A 0%, #1A2B4A 70%, #C8A44A 100%);
    }
    .cp-toc-header-area {
      margin-bottom: 32px;
    }
    .cp-toc-heading {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 24px;
      letter-spacing: 1px;
      color: #1A2B4A;
      margin-bottom: 10px;
      font-weight: 800;
    }
    .cp-toc-heading-rule {
      width: 40px;
      height: 3px;
      background: #C8A44A;
      border-radius: 2px;
    }
    .cp-toc-group {
      margin-bottom: 24px;
    }
    .cp-toc-group-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #C8A44A;
      font-weight: 700;
      margin-bottom: 10px;
      padding-bottom: 6px;
      border-bottom: 2px solid #1A2B4A;
    }
    .cp-toc-item {
      display: flex;
      align-items: baseline;
      gap: 10px;
      padding: 7px 0;
      border-bottom: 1px solid #eaecf0;
    }
    .cp-toc-num {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 12px;
      color: #C8A44A;
      font-weight: 700;
      min-width: 28px;
      flex-shrink: 0;
    }
    .cp-toc-text {
      font-size: 14px;
      color: #1A2B4A;
      font-weight: 500;
    }
    .cp-toc-dots {
      flex-grow: 1;
      border-bottom: 1px dotted #c5d0df;
      min-width: 20px;
      margin-bottom: 4px;
    }
    .cp-toc-page-num {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 12px;
      color: #1A2B4A;
      font-weight: 600;
      min-width: 20px;
      text-align: right;
      flex-shrink: 0;
    }

    /* ---- Back matter / closing page ---- */
    .cp-back-matter {
      background: #F8FAFC;
      position: relative;
      padding: 64px 48px;
    }
    .cp-back-matter::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 6px;
      background: linear-gradient(90deg, #1A2B4A 0%, #1A2B4A 70%, #C8A44A 100%);
    }
    .cp-back-heading {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 11px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #C8A44A;
      margin-bottom: 20px;
      font-weight: 700;
    }
    .cp-back-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 24px;
      font-weight: 800;
      color: #1A2B4A;
      margin-bottom: 16px;
      letter-spacing: -0.3px;
    }
    .cp-back-list { list-style: none; padding: 0; margin: 20px 0 0; }
    .cp-back-list li {
      padding: 10px 0;
      border-bottom: 1px solid #e2e7ed;
      font-size: 14px;
      color: #3a4a5a;
      display: flex;
      align-items: center;
      gap: 10px;
      line-height: 1.5;
    }
    .cp-back-list li::before { content: '\25C6'; color: #C8A44A; font-size: 8px; }
    .cp-isbn {
      font-size: 11px;
      color: #6a7a8a;
      margin-top: 28px;
      font-style: italic;
    }

    /* ---- Tool / Worksheet pages (College Prep Guide) ---- */
    .cp-tool-page {
      display: flex;
      flex-direction: column;
    }
    .cp-tool-header {
      margin-bottom: 20px;
    }
    .cp-tool-number-label {
      display: block;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 3px;
      color: #C8A44A;
      text-transform: uppercase;
      font-weight: 700;
      margin-bottom: 6px;
    }
    .cp-tool-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 22px;
      font-weight: 800;
      color: #1A2B4A;
      line-height: 1.2;
      margin-bottom: 10px;
      letter-spacing: -0.3px;
    }
    .cp-tool-rule {
      width: 100%;
      height: 2px;
      background: linear-gradient(90deg, #1A2B4A 0%, #C8A44A 50%, transparent 100%);
      margin-bottom: 12px;
    }
    .cp-tool-intro {
      font-size: 13px;
      color: #4a5a6a;
      line-height: 1.65;
      font-style: italic;
      margin-bottom: 6px;
    }
    .cp-tool-body {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .cp-tool-field {
      display: flex;
      flex-direction: column;
      gap: 5px;
    }
    .cp-tool-field-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 10px;
      letter-spacing: 1.5px;
      color: #1A2B4A;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0;
    }
    .cp-tool-lines {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .cp-tool-write-line {
      height: 30px;
      border-bottom: 1px solid rgba(200,164,74,0.5);
      width: 100%;
    }
    .cp-tool-checkbox-group {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding-top: 4px;
    }
    .cp-tool-checkbox-item {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .cp-tool-checkbox-box {
      display: inline-block;
      width: 15px;
      height: 15px;
      border: 1.5px solid #1A2B4A;
      border-radius: 2px;
      flex-shrink: 0;
    }
    .cp-tool-checkbox-label {
      font-size: 13px;
      color: #1A2B4A;
      line-height: 1.5;
    }
    .cp-tool-copyright {
      font-size: 8px;
      color: #a0a898;
      letter-spacing: 0.5px;
      text-align: center;
      margin-top: 16px;
      margin-bottom: 0;
      font-style: italic;
    }

    /* ============================================================
       SHARED INLINE CALLOUT STYLES (all standard templates)
       Each template uses its own prefix (wb-, mc-, be-, cw-, mz-)
       ============================================================ */

    /* ---- Classic Workbook inline callouts ---- */
    .wb-callout-inline {
      border-left: 4px solid #c4956a;
      border-radius: 0 6px 6px 0;
      padding: 12px 16px;
      margin: 12px 0;
    }
    .wb-callout-key-idea  { border-left-color: #c4956a; background: #fef9f3; }
    .wb-callout-important { border-left-color: #2c5f8a; background: #f0f7ff; }
    .wb-callout-reality   { border-left-color: #2d8a4e; background: #f0faf4; }
    .wb-callout-reflection { border-left-color: #8a5f2c; background: #fdf6ed; }
    .wb-callout-inline-header {
      display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
    }
    .wb-callout-inline-icon { font-size: 15px; }
    .wb-callout-inline-label {
      font-family: 'Georgia', serif;
      font-size: 8px;
      letter-spacing: 3px;
      font-weight: 700;
      color: #5a4a3a;
    }
    .wb-callout-inline-body {
      font-size: 13px;
      color: #4a4a4a;
      line-height: 1.65;
      margin: 0;
    }

    /* ---- Classic Workbook tool page ---- */
    .wb-tool-page { display: flex; flex-direction: column; }
    .wb-tool-header { margin-bottom: 16px; }
    .wb-tool-number-label {
      display: block;
      font-family: 'Georgia', serif;
      font-size: 9px;
      letter-spacing: 4px;
      color: #c4956a;
      text-transform: uppercase;
      font-weight: 700;
      margin-bottom: 4px;
    }
    .wb-tool-title {
      font-family: 'Georgia', serif;
      font-size: 20px;
      font-weight: 700;
      color: #2a2a2a;
      line-height: 1.2;
      margin-bottom: 8px;
    }
    .wb-tool-rule { width: 100%; height: 2px; background: #c4956a; margin-bottom: 8px; }
    .wb-tool-intro { font-size: 13px; color: #5a4a3a; font-style: italic; line-height: 1.6; }
    .wb-tool-body { flex: 1; display: flex; flex-direction: column; gap: 12px; }
    .wb-tool-field { display: flex; flex-direction: column; gap: 4px; }
    .wb-tool-field-label {
      font-family: 'Georgia', serif;
      font-size: 10px;
      letter-spacing: 2px;
      color: #2a2a2a;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0;
    }
    .wb-tool-lines { display: flex; flex-direction: column; }
    .wb-tool-write-line { height: 28px; border-bottom: 1px solid #c4956a; width: 100%; }
    .wb-tool-checkbox-group { display: flex; flex-direction: column; gap: 5px; padding-top: 4px; }
    .wb-tool-checkbox-item { display: flex; align-items: center; gap: 10px; }
    .wb-tool-checkbox-box {
      display: inline-block; width: 13px; height: 13px;
      border: 1.5px solid #c4956a; border-radius: 2px; flex-shrink: 0;
    }
    .wb-tool-checkbox-label { font-size: 13px; color: #2a2a2a; line-height: 1.5; }

    /* ---- Classic Workbook back matter ---- */
    .wb-back-section-label {
      font-family: 'Georgia', serif;
      font-size: 8px;
      letter-spacing: 4px;
      color: #999;
      margin-bottom: 12px;
    }
    .wb-back-series-note { font-size: 11px; color: #999; margin-top: 20px; font-style: italic; }

    /* ---- Modern Clean inline callouts ---- */
    .mc-callout-inline {
      border-left: 3px solid #2563eb;
      border-radius: 0 4px 4px 0;
      padding: 12px 16px;
      margin: 12px 0;
    }
    .mc-callout-key-idea  { border-left-color: #2563eb; background: #eff6ff; }
    .mc-callout-important { border-left-color: #dc2626; background: #fff5f5; }
    .mc-callout-reality   { border-left-color: #059669; background: #f0fdf4; }
    .mc-callout-reflection { border-left-color: #7c3aed; background: #f5f3ff; }
    .mc-callout-inline-header {
      display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
    }
    .mc-callout-inline-icon { font-size: 14px; }
    .mc-callout-inline-label {
      font-family: 'Inter', 'Helvetica Neue', sans-serif;
      font-size: 8px;
      letter-spacing: 3px;
      font-weight: 700;
      color: #374151;
    }
    .mc-callout-inline-body {
      font-size: 13px;
      color: #374151;
      line-height: 1.65;
      margin: 0;
    }

    /* ---- Modern Clean tool page ---- */
    .mc-tool-page { display: flex; flex-direction: column; }
    .mc-tool-header { margin-bottom: 16px; }
    .mc-tool-number-label {
      display: block;
      font-family: 'Inter', 'Helvetica Neue', sans-serif;
      font-size: 9px;
      letter-spacing: 4px;
      color: #2563eb;
      font-weight: 700;
      text-transform: uppercase;
      margin-bottom: 4px;
    }
    .mc-tool-title {
      font-family: 'Inter', 'Helvetica Neue', sans-serif;
      font-size: 20px;
      font-weight: 700;
      color: #111827;
      line-height: 1.2;
      margin-bottom: 8px;
    }
    .mc-tool-rule { width: 100%; height: 2px; background: #2563eb; margin-bottom: 8px; }
    .mc-tool-intro { font-size: 13px; color: #6b7280; line-height: 1.6; }
    .mc-tool-body { flex: 1; display: flex; flex-direction: column; gap: 12px; }
    .mc-tool-field { display: flex; flex-direction: column; gap: 4px; }
    .mc-tool-field-label {
      font-family: 'Inter', 'Helvetica Neue', sans-serif;
      font-size: 10px;
      letter-spacing: 2px;
      color: #111827;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0;
    }
    .mc-tool-lines { display: flex; flex-direction: column; }
    .mc-tool-write-line { height: 28px; border-bottom: 1px solid #93c5fd; width: 100%; }
    .mc-tool-checkbox-group { display: flex; flex-direction: column; gap: 5px; padding-top: 4px; }
    .mc-tool-checkbox-item { display: flex; align-items: center; gap: 10px; }
    .mc-tool-checkbox-box {
      display: inline-block; width: 13px; height: 13px;
      border: 1.5px solid #2563eb; border-radius: 2px; flex-shrink: 0;
    }
    .mc-tool-checkbox-label { font-size: 13px; color: #111827; line-height: 1.5; }

    /* ---- Modern Clean back matter ---- */
    .mc-back-section-label {
      font-family: 'Inter', 'Helvetica Neue', sans-serif;
      font-size: 8px;
      letter-spacing: 4px;
      color: #9ca3af;
      margin-bottom: 12px;
    }
    .mc-closing-rule { width: 40px; height: 2px; background: #2563eb; margin: 12px 0; }
    .mc-back-isbn { font-size: 11px; color: #9ca3af; margin-top: 20px; font-style: italic; }

    /* ---- Bold Educator inline callouts ---- */
    .be-callout-inline {
      border-left: 4px solid #f97316;
      border-radius: 0 4px 4px 0;
      padding: 12px 16px;
      margin: 12px 0;
    }
    .be-callout-key-idea  { border-left-color: #f97316; background: #fff7ed; }
    .be-callout-important { border-left-color: #dc2626; background: #fff5f5; }
    .be-callout-reality   { border-left-color: #16a34a; background: #f0fdf4; }
    .be-callout-reflection { border-left-color: #7c3aed; background: #f5f3ff; }
    .be-callout-inline-header {
      display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
    }
    .be-callout-inline-icon { font-size: 14px; }
    .be-callout-inline-label {
      font-family: 'Oswald', 'Impact', sans-serif;
      font-size: 9px;
      letter-spacing: 3px;
      font-weight: 700;
      color: #1c1917;
    }
    .be-callout-inline-body {
      font-size: 13px;
      color: #1c1917;
      line-height: 1.65;
      margin: 0;
    }

    /* ---- Bold Educator tool page ---- */
    .be-tool-page { display: flex; flex-direction: column; }
    .be-tool-header { margin-bottom: 16px; }
    .be-tool-number-label {
      display: block;
      font-family: 'Oswald', 'Impact', sans-serif;
      font-size: 9px;
      letter-spacing: 4px;
      color: #f97316;
      font-weight: 700;
      text-transform: uppercase;
      margin-bottom: 4px;
    }
    .be-tool-title {
      font-family: 'Oswald', 'Impact', sans-serif;
      font-size: 22px;
      font-weight: 700;
      color: #1c1917;
      line-height: 1.1;
      margin-bottom: 8px;
    }
    .be-tool-rule { width: 100%; height: 3px; background: #f97316; margin-bottom: 8px; }
    .be-tool-intro { font-size: 13px; color: #57534e; line-height: 1.6; }
    .be-tool-body { flex: 1; display: flex; flex-direction: column; gap: 12px; }
    .be-tool-field { display: flex; flex-direction: column; gap: 4px; }
    .be-tool-field-label {
      font-family: 'Oswald', 'Impact', sans-serif;
      font-size: 10px;
      letter-spacing: 2px;
      color: #1c1917;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0;
    }
    .be-tool-lines { display: flex; flex-direction: column; }
    .be-tool-write-line { height: 28px; border-bottom: 2px solid #fed7aa; width: 100%; }
    .be-tool-checkbox-group { display: flex; flex-direction: column; gap: 5px; padding-top: 4px; }
    .be-tool-checkbox-item { display: flex; align-items: center; gap: 10px; }
    .be-tool-checkbox-box {
      display: inline-block; width: 13px; height: 13px;
      border: 2px solid #f97316; border-radius: 2px; flex-shrink: 0;
    }
    .be-tool-checkbox-label { font-size: 13px; color: #1c1917; line-height: 1.5; }

    /* ---- Bold Educator back matter ---- */
    .be-back-section-label {
      font-family: 'Oswald', 'Impact', sans-serif;
      font-size: 9px;
      letter-spacing: 4px;
      color: #f97316;
      margin-bottom: 12px;
    }
    .be-back-isbn { font-size: 11px; color: #a8a29e; margin-top: 20px; }

    /* ---- Creative Workbook inline callouts ---- */
    .cw-callout-inline {
      border-radius: 12px;
      padding: 14px 18px;
      margin: 12px 0;
      border: 2px solid #ec4899;
    }
    .cw-callout-key-idea  { border-color: #ec4899; background: #fdf2f8; }
    .cw-callout-important { border-color: #f43f5e; background: #fff1f2; }
    .cw-callout-reality   { border-color: #10b981; background: #ecfdf5; }
    .cw-callout-reflection { border-color: #8b5cf6; background: #f5f3ff; }
    .cw-callout-inline-header {
      display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
    }
    .cw-callout-inline-icon { font-size: 16px; }
    .cw-callout-inline-label {
      font-family: 'Nunito', 'Comic Sans MS', cursive, sans-serif;
      font-size: 9px;
      letter-spacing: 2px;
      font-weight: 800;
      color: #3d1a2e;
    }
    .cw-callout-inline-body {
      font-size: 13px;
      color: #3d1a2e;
      line-height: 1.65;
      margin: 0;
    }

    /* ---- Creative Workbook tool page ---- */
    .cw-tool-page { display: flex; flex-direction: column; }
    .cw-tool-header { margin-bottom: 16px; }
    .cw-tool-number-label {
      display: block;
      font-family: 'Nunito', 'Comic Sans MS', cursive, sans-serif;
      font-size: 11px;
      color: #ec4899;
      font-weight: 800;
      margin-bottom: 4px;
    }
    .cw-tool-title {
      font-family: 'Nunito', 'Comic Sans MS', cursive, sans-serif;
      font-size: 22px;
      font-weight: 800;
      color: #3d1a2e;
      line-height: 1.2;
      margin-bottom: 8px;
    }
    .cw-tool-rule { width: 100%; height: 3px; background: linear-gradient(to right, #ec4899, #8b5cf6); border-radius: 2px; margin-bottom: 8px; }
    .cw-tool-intro { font-size: 13px; color: #6b3a5a; font-style: italic; line-height: 1.6; }
    .cw-tool-body { flex: 1; display: flex; flex-direction: column; gap: 12px; }
    .cw-tool-field { display: flex; flex-direction: column; gap: 4px; }
    .cw-tool-field-label {
      font-family: 'Nunito', 'Comic Sans MS', cursive, sans-serif;
      font-size: 11px;
      color: #3d1a2e;
      font-weight: 800;
      margin: 0;
    }
    .cw-tool-lines { display: flex; flex-direction: column; }
    .cw-tool-write-line { height: 28px; border-bottom: 2px dotted #ec4899; width: 100%; }
    .cw-tool-checkbox-group { display: flex; flex-direction: column; gap: 5px; padding-top: 4px; }
    .cw-tool-checkbox-item { display: flex; align-items: center; gap: 10px; }
    .cw-tool-checkbox-box {
      display: inline-block; width: 14px; height: 14px;
      border: 2px solid #ec4899; border-radius: 50%; flex-shrink: 0;
    }
    .cw-tool-checkbox-label { font-size: 13px; color: #3d1a2e; line-height: 1.5; }

    /* ---- Creative Workbook back matter ---- */
    .cw-back-section-label {
      font-family: 'Nunito', 'Comic Sans MS', cursive, sans-serif;
      font-size: 13px;
      font-weight: 800;
      color: #ec4899;
      margin-bottom: 12px;
    }
    .cw-back-isbn { font-size: 11px; color: #c084a8; margin-top: 20px; font-style: italic; }

    /* ---- Minimalist Zen inline callouts ---- */
    .mz-callout-inline {
      border-left: 2px solid #000;
      padding: 12px 16px;
      margin: 12px 0;
    }
    .mz-callout-key-idea  { border-left-color: #000000; background: #f9f9f9; }
    .mz-callout-important { border-left-color: #444444; background: #f4f4f4; }
    .mz-callout-reality   { border-left-color: #666666; background: #f7f7f7; }
    .mz-callout-reflection { border-left-color: #888888; background: #f9f9f9; }
    .mz-callout-inline-header {
      display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
    }
    .mz-callout-inline-icon { font-size: 13px; }
    .mz-callout-inline-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 8px;
      letter-spacing: 4px;
      font-weight: 700;
      color: #111111;
    }
    .mz-callout-inline-body {
      font-size: 13px;
      color: #222222;
      line-height: 1.7;
      margin: 0;
    }

    /* ---- Minimalist Zen tool page ---- */
    .mz-tool-page { display: flex; flex-direction: column; }
    .mz-tool-header { margin-bottom: 16px; }
    .mz-tool-number-label {
      display: block;
      font-family: 'Space Grotesk', sans-serif;
      font-size: 8px;
      letter-spacing: 5px;
      color: #777777;
      font-weight: 700;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    .mz-tool-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 22px;
      font-weight: 700;
      color: #111111;
      line-height: 1.2;
      margin-bottom: 8px;
    }
    .mz-tool-rule { width: 100%; height: 1px; background: #111111; margin-bottom: 8px; }
    .mz-tool-intro { font-size: 13px; color: #555555; line-height: 1.7; }
    .mz-tool-body { flex: 1; display: flex; flex-direction: column; gap: 14px; }
    .mz-tool-field { display: flex; flex-direction: column; gap: 4px; }
    .mz-tool-field-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 9px;
      letter-spacing: 3px;
      color: #111111;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0;
    }
    .mz-tool-lines { display: flex; flex-direction: column; }
    .mz-tool-write-line { height: 30px; border-bottom: 1px solid #cccccc; width: 100%; }
    .mz-tool-checkbox-group { display: flex; flex-direction: column; gap: 5px; padding-top: 4px; }
    .mz-tool-checkbox-item { display: flex; align-items: center; gap: 10px; }
    .mz-tool-checkbox-box {
      display: inline-block; width: 12px; height: 12px;
      border: 1px solid #111111; flex-shrink: 0;
    }
    .mz-tool-checkbox-label { font-size: 13px; color: #222222; line-height: 1.6; }

    /* ---- Minimalist Zen back matter ---- */
    .mz-back-section-label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 8px;
      letter-spacing: 5px;
      color: #888888;
      margin-bottom: 16px;
    }
    .mz-closing-rule { width: 40px; height: 1px; background: #111111; margin: 12px 0; }
    .mz-back-isbn { font-size: 11px; color: #888888; margin-top: 20px; letter-spacing: 0.5px; }

    /* ================================================================
       PLAYFUL TEMPLATE (py-*)
       ================================================================ */
    .py-title-page {
      display: flex; flex-direction: column; justify-content: center;
      align-items: center; text-align: center;
      background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    }
    .py-title-burst {
      position: absolute; top: -40px; right: -40px;
      width: 160px; height: 160px; border-radius: 50%;
      background: #f59e0b; opacity: 0.12;
    }
    .py-title-content { max-width: 380px; z-index: 1; }
    .py-title-label {
      font-size: 11px; letter-spacing: 4px; color: #d97706;
      font-weight: 700; margin-bottom: 20px; text-transform: uppercase;
    }
    .py-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 34px; font-weight: 800;
      color: #1c1917; line-height: 1.15; margin-bottom: 12px;
    }
    .py-title-subtitle { font-size: 15px; color: #78716c; margin-bottom: 10px; }
    .py-title-author { font-size: 14px; color: #78716c; font-style: italic; margin-bottom: 16px; }
    .py-title-divider {
      width: 50px; height: 4px; background: #f59e0b;
      border-radius: 99px; margin: 12px auto 16px;
    }
    .py-title-tagline { font-size: 13px; color: #a78bfa; font-weight: 600; }

    .py-toc-page { background: #fffbeb; }
    .py-toc-heading {
      font-size: 26px; font-weight: 800;
      color: #1c1917; margin-bottom: 24px;
    }
    .py-toc-list { display: flex; flex-direction: column; gap: 12px; }
    .py-toc-item { display: flex; align-items: center; gap: 14px; }
    .py-toc-badge {
      width: 32px; height: 32px; border-radius: 50%;
      background: #f59e0b; color: white; font-weight: 700;
      font-size: 14px; display: inline-flex; align-items: center;
      justify-content: center; flex-shrink: 0;
    }
    .py-toc-text { font-size: 15px; font-weight: 600; color: #292524; }

    .py-divider-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center;
      background: linear-gradient(135deg, #fef3c7 0%, #ddd6fe 100%);
    }
    .py-divider-inner { max-width: 320px; }
    .py-divider-number {
      font-size: 80px; font-weight: 900; line-height: 1;
      color: rgba(245,158,11,0.25); margin-bottom: 8px;
    }
    .py-divider-title {
      font-size: 26px; font-weight: 800;
      color: #1c1917; margin-bottom: 12px;
    }
    .py-divider-emoji { font-size: 32px; margin: 0; }

    .py-inline-divider {
      display: flex; align-items: center; gap: 12px;
      padding: 12px 0 16px; margin-bottom: 16px;
      border-bottom: 2px dashed #fde68a;
    }
    .py-il-badge {
      width: 28px; height: 28px; border-radius: 8px;
      background: #f59e0b; color: white; font-weight: 800;
      font-size: 13px; display: inline-flex; align-items: center;
      justify-content: center; flex-shrink: 0;
    }
    .py-il-title { font-size: 18px; font-weight: 700; color: #1c1917; }

    .py-content-header {
      font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
      color: #f59e0b; font-weight: 700; margin-bottom: 12px;
    }
    .py-content-body p { margin-bottom: 14px; line-height: 1.75; }

    .py-reflection-page { background: #fefce8; }
    .py-reflection-box {
      background: white; border-radius: 16px;
      border: 2px solid #fde68a; padding: 20px 24px;
      margin-bottom: 20px; text-align: center;
    }
    .py-reflection-icon { font-size: 28px; margin-bottom: 8px; }
    .py-reflection-label {
      font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
      color: #f59e0b; font-weight: 700; margin-bottom: 10px;
    }
    .py-reflection-prompt { font-size: 15px; color: #292524; font-style: italic; line-height: 1.6; }
    .py-writing-space { display: flex; flex-direction: column; gap: 0; }
    .py-write-line { height: 32px; border-bottom: 2px dashed #fde68a; width: 100%; }

    .py-callout-box {
      background: linear-gradient(135deg, #fef3c7 0%, #ede9fe 100%);
      border-radius: 16px; padding: 24px; text-align: center;
    }
    .py-callout-icon { font-size: 32px; margin-bottom: 8px; }
    .py-callout-label {
      font-size: 13px; font-weight: 700; color: #7c3aed;
      letter-spacing: 1px; margin-bottom: 12px;
    }
    .py-callout-content p { font-size: 15px; color: #292524; line-height: 1.7; }

    .py-closing-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center;
      background: linear-gradient(135deg, #fef3c7 0%, #ddd6fe 100%);
    }
    .py-closing-inner { max-width: 340px; }
    .py-closing-emoji { font-size: 48px; margin-bottom: 12px; }
    .py-closing-title {
      font-size: 28px; font-weight: 800;
      color: #1c1917; margin-bottom: 12px;
    }
    .py-closing-text { font-size: 14px; color: #57534e; line-height: 1.7; margin-bottom: 20px; }
    .py-closing-stars { font-size: 20px; letter-spacing: 6px; }

    .py-callout-inline {
      background: #fffbeb; border-left: 3px solid #f59e0b;
      border-radius: 0 10px 10px 0; padding: 12px 14px;
      margin: 12px 0; display: flex; flex-direction: column; gap: 4px;
    }
    .py-callout-inline.py-callout-remember { background: #fef2f2; border-color: #f87171; }
    .py-callout-inline.py-callout-real { background: #f0fdf4; border-color: #4ade80; }
    .py-callout-inline.py-callout-think { background: #f5f3ff; border-color: #a78bfa; }
    .py-ci-icon { font-size: 16px; }
    .py-ci-label { font-size: 10px; letter-spacing: 2px; font-weight: 700; color: #f59e0b; text-transform: uppercase; }
    .py-ci-body { font-size: 13px; color: #292524; line-height: 1.6; margin: 0; }


    /* ================================================================
       EXECUTIVE TEMPLATE (ex-*)
       ================================================================ */
    .ex-title-page {
      display: flex; flex-direction: column; justify-content: space-between;
      padding-top: 80px; padding-bottom: 60px;
    }
    .ex-title-rule-top { height: 3px; background: #0f172a; width: 100%; margin-bottom: 60px; }
    .ex-title-rule-bottom { height: 1px; background: #e2e8f0; width: 100%; margin-top: auto; }
    .ex-title-content { flex: 1; display: flex; flex-direction: column; justify-content: center; }
    .ex-title-overline {
      font-size: 9px; letter-spacing: 6px; color: #94a3b8;
      font-weight: 600; margin-bottom: 24px; text-transform: uppercase;
    }
    .ex-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 40px; font-weight: 700;
      color: #0f172a; line-height: 1.1; letter-spacing: -2px;
      margin-bottom: 16px;
    }
    .ex-title-subtitle { font-size: 16px; color: #64748b; margin-bottom: 32px; }
    .ex-title-rule { width: 48px; height: 2px; background: #0f172a; margin: 0 0 24px; }
    .ex-title-author { font-size: 14px; color: #0f172a; font-weight: 500; margin-bottom: 4px; }
    .ex-title-creds { font-size: 12px; color: #94a3b8; letter-spacing: 0.5px; }

    .ex-toc-page { padding-top: 80px; }
    .ex-toc-overline {
      font-size: 9px; letter-spacing: 6px; color: #94a3b8;
      font-weight: 600; margin-bottom: 32px;
    }
    .ex-toc-list { display: flex; flex-direction: column; gap: 0; }
    .ex-toc-item {
      display: flex; align-items: baseline; gap: 16px;
      padding: 14px 0; border-bottom: 1px solid #f1f5f9;
    }
    .ex-toc-num { font-size: 11px; color: #94a3b8; font-weight: 500; flex-shrink: 0; width: 28px; }
    .ex-toc-divider { width: 1px; height: 12px; background: #e2e8f0; flex-shrink: 0; }
    .ex-toc-text { font-size: 14px; color: #0f172a; font-weight: 500; }

    .ex-divider-page {
      display: flex; align-items: center; justify-content: flex-start;
      background: #0f172a;
    }
    .ex-divider-inner { max-width: 400px; }
    .ex-divider-label {
      font-size: 9px; letter-spacing: 6px; color: #475569;
      font-weight: 600; margin-bottom: 16px;
    }
    .ex-divider-rule { width: 40px; height: 1px; background: #334155; margin-bottom: 20px; }
    .ex-divider-title {
      font-size: 32px; font-weight: 700;
      color: #f8fafc; line-height: 1.2; letter-spacing: -1px;
    }

    .ex-inline-divider { padding: 16px 0 20px; border-bottom: 1px solid #e2e8f0; margin-bottom: 20px; }
    .ex-il-label { font-size: 9px; letter-spacing: 5px; color: #94a3b8; font-weight: 600; margin-bottom: 6px; }
    .ex-il-title {
      font-size: 20px; font-weight: 700;
      color: #0f172a; letter-spacing: -0.5px; margin-bottom: 12px;
    }
    .ex-il-rule { width: 32px; height: 2px; background: #0f172a; }

    .ex-content-header {
      font-size: 9px; letter-spacing: 5px; text-transform: uppercase;
      color: #94a3b8; font-weight: 600; margin-bottom: 16px;
    }
    .ex-content-body p { margin-bottom: 16px; line-height: 1.8; color: #1e293b; }

    .ex-reflection-box {
      border-left: 3px solid #0f172a; padding: 16px 20px; margin-bottom: 20px;
    }
    .ex-reflection-label {
      font-size: 9px; letter-spacing: 5px; color: #94a3b8;
      font-weight: 600; margin-bottom: 10px;
    }
    .ex-reflection-prompt { font-size: 15px; color: #0f172a; line-height: 1.7; }
    .ex-writing-space { display: flex; flex-direction: column; gap: 0; }
    .ex-write-line { height: 32px; border-bottom: 1px solid #e2e8f0; width: 100%; }

    .ex-callout-box {
      background: #f8fafc; border-top: 3px solid #0f172a;
      padding: 20px 24px; margin-bottom: 20px;
    }
    .ex-callout-label {
      font-size: 9px; letter-spacing: 5px; color: #94a3b8;
      font-weight: 600; margin-bottom: 12px;
    }
    .ex-callout-content p { font-size: 15px; color: #1e293b; line-height: 1.75; }

    .ex-closing-page {
      display: flex; align-items: center; justify-content: flex-start;
      background: #f8fafc;
    }
    .ex-closing-inner { max-width: 420px; }
    .ex-closing-rule-top { width: 100%; height: 3px; background: #0f172a; margin-bottom: 48px; }
    .ex-closing-label {
      font-size: 9px; letter-spacing: 6px; color: #94a3b8;
      font-weight: 600; margin-bottom: 16px;
    }
    .ex-closing-title {
      font-size: 28px; font-weight: 700;
      color: #0f172a; margin-bottom: 16px; line-height: 1.2;
    }
    .ex-closing-text { font-size: 14px; color: #475569; line-height: 1.8; margin-bottom: 32px; }
    .ex-closing-rule-bottom { width: 100%; height: 1px; background: #e2e8f0; }

    .ex-callout-inline {
      background: #f8fafc; border-left: 2px solid #0f172a;
      padding: 12px 16px; margin: 12px 0;
    }
    .ex-ci-label {
      font-size: 8px; letter-spacing: 4px; color: #94a3b8;
      font-weight: 600; margin-bottom: 6px;
    }
    .ex-ci-body { font-size: 13px; color: #1e293b; line-height: 1.6; margin: 0; }


    /* ================================================================
       JOURNAL TEMPLATE (jl-*)
       ================================================================ */
    .jl-title-page {
      display: flex; align-items: center; justify-content: center;
      background: #fdf8f0;
    }
    .jl-title-content { text-align: center; max-width: 360px; }
    .jl-title-ornament {
      font-size: 16px; color: #a8a29e; letter-spacing: 6px;
      margin-bottom: 24px; display: block;
    }
    .jl-title-main {
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 36px; font-weight: 700;
      color: #1c1917; line-height: 1.2; margin-bottom: 12px; font-style: italic;
    }
    .jl-title-subtitle { font-size: 14px; color: #78716c; margin-bottom: 20px; }
    .jl-title-rule {
      width: 60px; height: 1px; background: #a8a29e; margin: 16px auto;
    }
    .jl-title-author { font-size: 13px; color: #78716c; margin-bottom: 4px; }
    .jl-title-creds { font-size: 11px; color: #a8a29e; margin-bottom: 20px; }
    .jl-title-tagline { font-size: 12px; color: #a8a29e; font-style: italic; }

    .jl-toc-page { background: #fdf8f0; }
    .jl-toc-ornament-top {
      font-size: 14px; color: #a8a29e; letter-spacing: 6px;
      text-align: center; margin-bottom: 20px; display: block;
    }
    .jl-toc-heading {
      font-family: Georgia, serif; font-size: 24px;
      font-weight: 400; color: #1c1917; text-align: center;
      font-style: italic; margin-bottom: 28px;
    }
    .jl-toc-list { display: flex; flex-direction: column; gap: 14px; }
    .jl-toc-item { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px dotted #d6d3d1; }
    .jl-toc-ornament { color: #c4956a; font-size: 10px; flex-shrink: 0; }
    .jl-toc-text { font-size: 14px; color: #44403c; }

    .jl-divider-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center; background: #fdf8f0;
    }
    .jl-divider-inner { max-width: 320px; }
    .jl-divider-ornament {
      font-size: 14px; color: #a8a29e; letter-spacing: 6px;
      display: block; margin-bottom: 20px;
    }
    .jl-divider-title {
      font-family: Georgia, serif; font-size: 26px;
      font-weight: 400; font-style: italic; color: #1c1917;
      line-height: 1.3; margin-bottom: 10px;
    }
    .jl-divider-sub { font-size: 11px; color: #a8a29e; letter-spacing: 2px; }

    .jl-inline-divider {
      text-align: center; padding: 16px 0 20px; margin-bottom: 16px;
      border-bottom: 1px dotted #d6d3d1;
    }
    .jl-il-ornament { color: #c4956a; font-size: 12px; margin-right: 10px; }
    .jl-il-title {
      font-family: Georgia, serif; font-size: 20px;
      font-style: italic; color: #1c1917; font-weight: 400;
    }
    .jl-il-rule { width: 40px; height: 1px; background: #d6d3d1; margin: 8px auto 0; }

    .jl-content-page { background: #fdf8f0; }
    .jl-content-header {
      font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
      color: #a8a29e; margin-bottom: 16px; text-align: center;
    }
    .jl-content-body p {
      font-family: Georgia, serif; margin-bottom: 14px;
      line-height: 1.85; color: #292524; font-size: 14px;
    }

    .jl-reflection-page { background: #fdf8f0; }
    .jl-reflection-box {
      background: white; border: 1px solid #e7e5e4;
      padding: 20px 24px; margin-bottom: 20px; text-align: center;
    }
    .jl-reflection-ornament {
      font-size: 11px; letter-spacing: 4px; color: #c4956a;
      font-weight: 600; margin-bottom: 12px; display: block;
    }
    .jl-reflection-prompt {
      font-family: Georgia, serif; font-size: 15px; font-style: italic;
      color: #292524; line-height: 1.7;
    }
    .jl-writing-space { display: flex; flex-direction: column; gap: 0; }
    .jl-write-line { height: 32px; border-bottom: 1px solid #e7e5e4; width: 100%; }

    .jl-callout-box {
      background: white; border: 1px solid #e7e5e4;
      padding: 20px 24px; text-align: center;
    }
    .jl-callout-ornament { font-size: 18px; color: #c4956a; margin-bottom: 8px; display: block; }
    .jl-callout-label {
      font-family: Georgia, serif; font-size: 13px; font-style: italic;
      color: #78716c; margin-bottom: 12px;
    }
    .jl-callout-content p { font-family: Georgia, serif; font-size: 14px; color: #292524; line-height: 1.75; }

    .jl-closing-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center; background: #fdf8f0;
    }
    .jl-closing-inner { max-width: 360px; }
    .jl-closing-ornament {
      font-size: 14px; color: #a8a29e; letter-spacing: 6px;
      display: block; margin-bottom: 24px;
    }
    .jl-closing-title {
      font-family: Georgia, serif; font-size: 26px;
      font-style: italic; color: #1c1917; margin-bottom: 16px;
    }
    .jl-closing-text {
      font-family: Georgia, serif; font-size: 14px; color: #57534e;
      line-height: 1.8; font-style: italic; margin-bottom: 20px;
    }
    .jl-closing-rule { width: 60px; height: 1px; background: #d6d3d1; margin: 0 auto 16px; }
    .jl-closing-isbn { font-size: 11px; color: #a8a29e; }

    .jl-callout-inline {
      background: white; border: 1px solid #e7e5e4;
      border-radius: 4px; padding: 12px 16px; margin: 12px 0;
      display: flex; align-items: flex-start; gap: 10px;
    }
    .jl-ci-ornament { color: #c4956a; font-size: 14px; flex-shrink: 0; line-height: 1.6; }
    .jl-ci-body {
      font-family: Georgia, serif; font-size: 13px; font-style: italic;
      color: #44403c; line-height: 1.65; margin: 0;
    }


    /* ================================================================
       TEXTBOOK TEMPLATE (tb-*)
       ================================================================ */
    .tb-title-page {
      display: flex; flex-direction: column; justify-content: space-between;
      padding: 0;
    }
    .tb-title-header-bar { height: 8px; background: #1d4ed8; width: 100%; }
    .tb-title-footer-bar { height: 4px; background: #e0e7ff; width: 100%; }
    .tb-title-content {
      flex: 1; display: flex; flex-direction: column;
      justify-content: center; padding: 48px 40px;
    }
    .tb-title-overline {
      font-size: 9px; letter-spacing: 5px; color: #1d4ed8;
      font-weight: 700; margin-bottom: 20px;
    }
    .tb-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 36px; font-weight: 700;
      color: #1e1b4b; line-height: 1.15; margin-bottom: 12px;
    }
    .tb-title-subtitle { font-size: 16px; color: #4338ca; margin-bottom: 20px; }
    .tb-title-rule { width: 48px; height: 3px; background: #1d4ed8; margin: 0 0 16px; }
    .tb-title-author { font-size: 14px; color: #374151; margin-bottom: 4px; }
    .tb-title-creds { font-size: 12px; color: #9ca3af; }

    .tb-toc-page { padding-top: 64px; }
    .tb-toc-heading {
      font-size: 24px; font-weight: 700;
      color: #1e1b4b; margin-bottom: 8px;
    }
    .tb-toc-rule { height: 3px; background: #1d4ed8; margin-bottom: 24px; }
    .tb-toc-list { display: flex; flex-direction: column; gap: 0; }
    .tb-toc-item {
      display: flex; flex-direction: column; gap: 2px;
      padding: 12px 0; border-bottom: 1px solid #e0e7ff;
    }
    .tb-toc-chapter { font-size: 10px; letter-spacing: 3px; color: #1d4ed8; font-weight: 700; }
    .tb-toc-title { font-size: 14px; color: #1e1b4b; font-weight: 500; }

    .tb-divider-page {
      display: flex; align-items: center; justify-content: flex-start;
      padding-left: 10%;
    }
    .tb-divider-inner { max-width: 400px; }
    .tb-divider-chapter {
      font-size: 9px; letter-spacing: 5px; color: #1d4ed8;
      font-weight: 700; margin-bottom: 12px;
    }
    .tb-divider-rule { width: 48px; height: 4px; background: #1d4ed8; margin-bottom: 16px; }
    .tb-divider-title {
      font-size: 30px; font-weight: 700;
      color: #1e1b4b; line-height: 1.2; margin-bottom: 16px;
    }
    .tb-divider-sub { font-size: 12px; color: #6366f1; font-style: italic; }

    .tb-inline-divider { padding: 16px 0 20px; margin-bottom: 16px; border-bottom: 2px solid #e0e7ff; }
    .tb-il-chapter { font-size: 9px; letter-spacing: 4px; color: #1d4ed8; font-weight: 700; margin-bottom: 4px; }
    .tb-il-title {
      font-size: 20px; font-weight: 700;
      color: #1e1b4b; margin-bottom: 10px;
    }
    .tb-il-rule { width: 48px; height: 3px; background: #1d4ed8; }

    .tb-content-header {
      font-size: 9px; letter-spacing: 4px; color: #1d4ed8;
      font-weight: 700; margin-bottom: 14px; text-transform: uppercase;
    }
    .tb-content-body p { margin-bottom: 14px; line-height: 1.75; color: #1e293b; }

    .tb-reflection-box {
      background: #eff6ff; border-left: 4px solid #1d4ed8;
      padding: 16px 20px; margin-bottom: 20px; border-radius: 0 6px 6px 0;
    }
    .tb-reflection-label {
      font-size: 13px; font-weight: 700; color: #1d4ed8; margin-bottom: 8px;
    }
    .tb-reflection-prompt { font-size: 14px; color: #1e293b; line-height: 1.65; }
    .tb-writing-space { display: flex; flex-direction: column; gap: 0; }
    .tb-write-line { height: 30px; border-bottom: 1px solid #e0e7ff; width: 100%; }

    .tb-callout-box {
      background: #eff6ff; border-left: 4px solid #1d4ed8;
      padding: 18px 22px; margin-bottom: 20px; border-radius: 0 6px 6px 0;
    }
    .tb-callout-label {
      font-size: 13px; font-weight: 700; color: #1d4ed8; margin-bottom: 10px;
    }
    .tb-callout-content p { font-size: 14px; color: #1e293b; line-height: 1.7; }

    .tb-closing-page { background: #eff6ff; }
    .tb-closing-inner { max-width: 440px; }
    .tb-closing-header-bar { height: 8px; background: #1d4ed8; width: 100%; margin-bottom: 40px; }
    .tb-closing-label {
      font-size: 9px; letter-spacing: 5px; color: #1d4ed8; font-weight: 700; margin-bottom: 12px;
    }
    .tb-closing-title {
      font-size: 26px; font-weight: 700;
      color: #1e1b4b; margin-bottom: 14px;
    }
    .tb-closing-text { font-size: 14px; color: #374151; line-height: 1.75; margin-bottom: 24px; }
    .tb-closing-isbn { font-size: 11px; color: #9ca3af; }

    .tb-callout-inline {
      background: #eff6ff; border-left: 3px solid #1d4ed8;
      padding: 10px 14px; margin: 10px 0; border-radius: 0 4px 4px 0;
    }
    .tb-callout-inline.tb-ci-important { background: #fff7ed; border-color: #f97316; }
    .tb-callout-inline.tb-ci-practice { background: #f0fdf4; border-color: #22c55e; }
    .tb-callout-inline.tb-ci-definition { background: #faf5ff; border-color: #a855f7; }
    .tb-ci-label { font-size: 11px; font-weight: 700; color: #1d4ed8; margin-bottom: 4px; }
    .tb-ci-body { font-size: 13px; color: #1e293b; line-height: 1.6; margin: 0; }


    /* ================================================================
       DEVOTIONAL TEMPLATE (dv-*)
       ================================================================ */
    .dv-title-page {
      display: flex; align-items: center; justify-content: center;
      background: #fdfcff;
    }
    .dv-title-content { text-align: center; max-width: 360px; }
    .dv-title-cross {
      font-size: 36px; color: #7c3aed; display: block; margin-bottom: 20px;
    }
    .dv-title-main {
      font-family: Georgia, serif; font-size: 34px;
      font-weight: 700; color: #1e1b4b; line-height: 1.2; margin-bottom: 12px;
    }
    .dv-title-subtitle { font-size: 14px; color: #6d28d9; margin-bottom: 16px; }
    .dv-title-rule { width: 48px; height: 1px; background: #c4b5fd; margin: 16px auto; }
    .dv-title-author { font-size: 13px; color: #4c1d95; margin-bottom: 4px; }
    .dv-title-creds { font-size: 11px; color: #a78bfa; margin-bottom: 20px; }
    .dv-title-tagline { font-size: 12px; color: #7c3aed; font-style: italic; }

    .dv-toc-page { background: #fdfcff; }
    .dv-toc-heading {
      font-family: Georgia, serif; font-size: 24px;
      font-weight: 400; color: #1e1b4b; margin-bottom: 8px;
    }
    .dv-toc-rule { width: 48px; height: 1px; background: #c4b5fd; margin-bottom: 24px; }
    .dv-toc-list { display: flex; flex-direction: column; gap: 0; }
    .dv-toc-item {
      display: flex; flex-direction: column; gap: 2px;
      padding: 10px 0; border-bottom: 1px dotted #ddd6fe;
    }
    .dv-toc-day { font-size: 9px; letter-spacing: 3px; color: #7c3aed; font-weight: 600; }
    .dv-toc-text { font-size: 14px; color: #1e1b4b; }

    .dv-divider-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center; background: #f5f3ff;
    }
    .dv-divider-inner { max-width: 320px; }
    .dv-divider-cross { font-size: 32px; color: #7c3aed; margin-bottom: 16px; display: block; }
    .dv-divider-day { font-size: 9px; letter-spacing: 4px; color: #7c3aed; font-weight: 600; margin-bottom: 10px; }
    .dv-divider-title {
      font-family: Georgia, serif; font-size: 26px;
      font-weight: 400; color: #1e1b4b; line-height: 1.3; margin-bottom: 16px;
    }
    .dv-divider-rule { width: 48px; height: 1px; background: #c4b5fd; margin: 0 auto; }

    .dv-inline-divider {
      text-align: center; padding: 16px 0 20px; margin-bottom: 16px;
      border-bottom: 1px solid #ede9fe;
    }
    .dv-il-cross { font-size: 16px; color: #7c3aed; margin-right: 8px; }
    .dv-il-day { font-size: 9px; letter-spacing: 3px; color: #7c3aed; font-weight: 600; }
    .dv-il-title {
      font-family: Georgia, serif; font-size: 20px;
      font-weight: 400; color: #1e1b4b; margin-bottom: 10px; display: block;
    }
    .dv-il-rule { width: 48px; height: 1px; background: #c4b5fd; margin: 0 auto; }

    .dv-content-page { background: #fdfcff; }
    .dv-content-header {
      font-size: 9px; letter-spacing: 4px; color: #7c3aed;
      font-weight: 600; margin-bottom: 14px; text-align: center;
    }
    .dv-content-body p {
      font-family: Georgia, serif; margin-bottom: 14px;
      line-height: 1.85; color: #1e1b4b;
    }

    .dv-reflection-box {
      background: #f5f3ff; border: 1px solid #ddd6fe;
      padding: 18px 22px; margin-bottom: 20px; text-align: center;
    }
    .dv-reflection-label {
      font-size: 13px; font-weight: 600; color: #7c3aed; margin-bottom: 10px;
    }
    .dv-reflection-prompt {
      font-family: Georgia, serif; font-size: 15px; font-style: italic;
      color: #1e1b4b; line-height: 1.7;
    }
    .dv-writing-space { display: flex; flex-direction: column; gap: 0; }
    .dv-write-line { height: 32px; border-bottom: 1px dotted #ddd6fe; width: 100%; }

    .dv-callout-box {
      background: #f5f3ff; border-left: 3px solid #7c3aed;
      padding: 18px 22px; margin-bottom: 20px;
    }
    .dv-callout-label { font-size: 13px; font-weight: 600; color: #7c3aed; margin-bottom: 10px; }
    .dv-callout-content p {
      font-family: Georgia, serif; font-size: 14px; color: #1e1b4b;
      line-height: 1.75; font-style: italic;
    }

    .dv-closing-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center; background: #f5f3ff;
    }
    .dv-closing-inner { max-width: 360px; }
    .dv-closing-cross { font-size: 36px; color: #7c3aed; margin-bottom: 20px; display: block; }
    .dv-closing-title {
      font-family: Georgia, serif; font-size: 24px;
      font-weight: 400; color: #1e1b4b; margin-bottom: 16px;
    }
    .dv-closing-text {
      font-family: Georgia, serif; font-size: 14px; font-style: italic;
      color: #4c1d95; line-height: 1.8; margin-bottom: 24px;
    }
    .dv-closing-rule { width: 48px; height: 1px; background: #c4b5fd; margin: 0 auto 16px; }
    .dv-closing-isbn { font-size: 11px; color: #a78bfa; }

    .dv-callout-inline {
      background: #f5f3ff; border-left: 2px solid #7c3aed;
      padding: 10px 14px; margin: 10px 0; display: flex;
      align-items: flex-start; gap: 10px;
    }
    .dv-callout-inline.dv-ci-prayer { background: #faf5ff; border-color: #a855f7; }
    .dv-callout-inline.dv-ci-reflection { background: #fdf2f8; border-color: #ec4899; }
    .dv-ci-icon { font-size: 14px; flex-shrink: 0; line-height: 1.6; }
    .dv-ci-label { display: none; }
    .dv-ci-body {
      font-family: Georgia, serif; font-size: 13px; font-style: italic;
      color: #1e1b4b; line-height: 1.65; margin: 0;
    }


    /* ================================================================
       PLANNER TEMPLATE (pl-*)
       ================================================================ */
    .pl-title-page {
      display: flex; flex-direction: column; justify-content: center;
      position: relative; background: #f0fdf4;
    }
    .pl-title-accent-bar {
      position: absolute; top: 0; left: 0; right: 0;
      height: 8px; background: #059669;
    }
    .pl-title-content { text-align: center; max-width: 380px; margin: 0 auto; }
    .pl-title-label {
      font-size: 9px; letter-spacing: 5px; color: #059669;
      font-weight: 700; margin-bottom: 20px;
    }
    .pl-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 36px; font-weight: 800;
      color: #064e3b; line-height: 1.15; margin-bottom: 12px;
    }
    .pl-title-subtitle { font-size: 15px; color: #047857; margin-bottom: 20px; }
    .pl-title-rule { width: 48px; height: 3px; background: #059669; margin: 0 auto 20px; }
    .pl-title-author { font-size: 13px; color: #374151; margin-bottom: 4px; }
    .pl-title-tagline { font-size: 12px; color: #10b981; font-weight: 600; letter-spacing: 1px; }

    .pl-toc-page { background: #f0fdf4; }
    .pl-toc-heading {
      font-size: 24px; font-weight: 800;
      color: #064e3b; margin-bottom: 24px;
    }
    .pl-toc-grid { display: flex; flex-direction: column; gap: 10px; }
    .pl-toc-item { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid #d1fae5; }
    .pl-toc-num {
      width: 28px; height: 28px; background: #059669; color: white;
      border-radius: 6px; display: inline-flex; align-items: center;
      justify-content: center; font-size: 13px; font-weight: 700; flex-shrink: 0;
    }
    .pl-toc-text { font-size: 14px; color: #064e3b; font-weight: 500; }

    .pl-divider-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center; background: #059669;
    }
    .pl-divider-inner { max-width: 320px; }
    .pl-divider-number {
      font-size: 80px; font-weight: 900; color: rgba(255,255,255,0.15);
      line-height: 1; margin-bottom: 8px; display: block;
    }
    .pl-divider-title {
      font-size: 28px; font-weight: 700;
      color: white; margin-bottom: 24px; line-height: 1.2;
    }
    .pl-divider-checklist { display: flex; gap: 12px; justify-content: center; }
    .pl-divider-check {
      width: 18px; height: 18px; border: 2px solid rgba(255,255,255,0.5);
      border-radius: 4px;
    }

    .pl-inline-divider {
      display: flex; align-items: center; gap: 12px;
      padding: 12px 0 16px; margin-bottom: 16px;
      border-bottom: 2px solid #d1fae5;
    }
    .pl-il-num {
      width: 26px; height: 26px; background: #059669; color: white;
      border-radius: 6px; display: inline-flex; align-items: center;
      justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0;
    }
    .pl-il-title { font-size: 18px; font-weight: 700; color: #064e3b; }
    .pl-il-rule { display: none; }

    .pl-content-header {
      font-size: 9px; letter-spacing: 4px; color: #059669;
      font-weight: 700; margin-bottom: 14px; text-transform: uppercase;
    }
    .pl-content-body p { margin-bottom: 14px; line-height: 1.75; }

    .pl-reflection-box {
      background: #ecfdf5; border-left: 4px solid #059669;
      padding: 16px 20px; margin-bottom: 16px; border-radius: 0 6px 6px 0;
    }
    .pl-reflection-label { font-size: 13px; font-weight: 700; color: #059669; margin-bottom: 8px; }
    .pl-reflection-prompt { font-size: 14px; color: #064e3b; line-height: 1.65; }
    .pl-writing-space { display: flex; flex-direction: column; gap: 0; }
    .pl-write-line { height: 30px; border-bottom: 1px solid #d1fae5; width: 100%; }
    .pl-goal-box {
      margin-top: 16px; padding: 12px 0;
      border-top: 2px solid #059669;
    }
    .pl-goal-label { font-size: 9px; letter-spacing: 3px; color: #059669; font-weight: 700; margin-bottom: 6px; }
    .pl-goal-line { height: 28px; border-bottom: 2px solid #059669; width: 100%; }

    .pl-callout-box {
      background: #ecfdf5; border-left: 4px solid #059669;
      padding: 18px 22px; border-radius: 0 6px 6px 0;
    }
    .pl-callout-label { font-size: 13px; font-weight: 700; color: #059669; margin-bottom: 10px; }
    .pl-callout-content p { font-size: 14px; color: #064e3b; line-height: 1.7; }

    .pl-closing-page {
      display: flex; align-items: center; justify-content: center;
      text-align: center; background: #059669;
    }
    .pl-closing-inner { max-width: 340px; }
    .pl-closing-checkmark {
      font-size: 48px; color: white; display: block; margin-bottom: 16px;
      font-weight: 900;
    }
    .pl-closing-title {
      font-size: 28px; font-weight: 800;
      color: white; margin-bottom: 16px;
    }
    .pl-closing-text { font-size: 14px; color: rgba(255,255,255,0.85); line-height: 1.75; margin-bottom: 24px; }
    .pl-closing-rule { width: 48px; height: 1px; background: rgba(255,255,255,0.4); margin: 0 auto 16px; }
    .pl-closing-isbn { font-size: 11px; color: rgba(255,255,255,0.5); }

    .pl-callout-inline {
      background: #ecfdf5; border-left: 3px solid #059669;
      padding: 10px 14px; margin: 10px 0; display: flex;
      align-items: flex-start; gap: 10px;
    }
    .pl-callout-inline.pl-ci-tip { background: #fefce8; border-color: #eab308; }
    .pl-callout-inline.pl-ci-goal { background: #eff6ff; border-color: #3b82f6; }
    .pl-callout-inline.pl-ci-review { background: #f5f3ff; border-color: #8b5cf6; }
    .pl-ci-icon { font-size: 14px; flex-shrink: 0; line-height: 1.6; }
    .pl-ci-label {
      font-size: 9px; letter-spacing: 2px; color: #059669;
      font-weight: 700; display: block; margin-bottom: 3px;
    }
    .pl-ci-body { font-size: 13px; color: #064e3b; line-height: 1.6; margin: 0; }

    /* Print styles */
    @media print {
      .wb-page {
        box-shadow: none;
        margin: 0;
        page-break-after: always;
      }
      .wb-divider-img {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
      }
    }
  

    /* ======================================================
       Formatrix — Print Book Styles (pb-* classes)
       Uses CSS custom properties for typography overrides.
       Set --pb-body-font, --pb-font-size, etc. on .pb-page
       to apply per-manuscript typography.
       ====================================================== */

    .pb-page {
      width: 100%;
      max-width: 6in;
      height: 9in;
      margin: 0 auto;
      padding: 0.75in 0.625in 0.875in 0.875in;
      background: #ffffff;
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      color: #1a1a1a;
      font-size: var(--pb-font-size, 11pt);
      line-height: var(--pb-line-height, 1.55);
      position: relative;
      box-sizing: border-box;
      page-break-after: always;
      overflow: hidden;
    }

    /* ── TITLE PAGE ─────────────────────────────────────── */
    .pb-title-page {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .pb-title-inner {
      max-width: 80%;
    }
    .pb-title-rule {
      width: 48px;
      height: 1px;
      background: #1a1a1a;
      margin: 24px auto;
    }
    .pb-title-main {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 28pt;
      font-weight: 700;
      line-height: 1.15;
      letter-spacing: -0.5px;
      margin: 0;
    }
    .pb-title-subtitle {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 14pt;
      color: #555555;
      margin-top: 12px;
      font-style: italic;
    }
    .pb-title-author {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 11pt;
      color: #555555;
      margin-top: 8px;
      margin-bottom: 2px;
      letter-spacing: 0.5px;
    }
    .pb-title-author-creds {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 9pt;
      color: #555555;
      letter-spacing: 0.5px;
      margin-top: 0;
    }

    /* ── COPYRIGHT PAGE ──────────────────────────────────── */
    .pb-copyright-page {
      display: flex;
      align-items: flex-end;
      padding-bottom: 1.25in;
    }
    .pb-copyright-inner {
      max-width: 100%;
    }
    .pb-copyright-text {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 8.5pt;
      color: #555555;
      line-height: 1.6;
      margin-bottom: 8px;
    }
    .pb-copyright-text:last-child { margin-bottom: 0; }

    /* ── DEDICATION PAGE ─────────────────────────────────── */
    .pb-dedication-page {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .pb-dedication-inner {
      max-width: 75%;
    }
    .pb-dedication-text {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 12pt;
      font-style: italic;
      line-height: 1.7;
      color: #555555;
    }

    /* ── TABLE OF CONTENTS ───────────────────────────────── */
    .pb-toc-page {
      padding-top: 1.25in;
    }
    .pb-toc-heading {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-weight: 700;
      margin-bottom: 36px;
      text-transform: uppercase;
      letter-spacing: 3px;
      font-size: 11pt;
    }
    .pb-toc-list {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .pb-toc-item {
      display: flex;
      align-items: baseline;
      gap: 0;
      padding: 6px 0;
    }
    .pb-toc-label {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: var(--pb-font-size, 11pt);
      color: #1a1a1a;
      flex-shrink: 0;
    }
    .pb-toc-dots {
      flex-grow: 1;
      border-bottom: 1px dotted #c8c0b8;
      margin: 0 8px 3px;
      min-width: 20px;
    }

    /* ── CHAPTER OPENER — CLASSIC ────────────────────────── */
    .pb-chapter-page {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .pb-chapter-inner {
      max-width: 80%;
    }
    .pb-chapter-num {
      display: block;
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 9pt;
      text-transform: uppercase;
      letter-spacing: 4px;
      color: #555555;
      margin-bottom: 20px;
    }
    .pb-chapter-title {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 22pt;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.5px;
      margin: 0 0 24px 0;
      color: #1a1a1a;
    }
    .pb-chapter-rule {
      width: 32px;
      height: 2px;
      background: #c4956a;
      margin: 0 auto;
    }

    /* ── CHAPTER OPENER — MODERN ─────────────────────────── */
    .pb-ch-modern-num {
      display: block;
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 80pt;
      font-weight: 700;
      line-height: 1;
      color: #c4956a;
      margin-bottom: 12px;
      letter-spacing: -4px;
    }
    .pb-ch-modern-title {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 20pt;
      font-weight: 400;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #1a1a1a;
      margin: 0;
    }

    /* ── CHAPTER OPENER — MINIMAL ────────────────────────── */
    .pb-ch-minimal {
      justify-content: flex-end;
      padding-bottom: 2.5in;
    }
    .pb-ch-minimal-inner {
      text-align: left;
      width: 100%;
      max-width: 90%;
      border-left: 3px solid #c4956a;
      padding-left: 24px;
    }
    .pb-ch-minimal-title {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 26pt;
      font-weight: 400;
      font-style: italic;
      line-height: 1.2;
      color: #1a1a1a;
      margin: 0;
    }

    /* ── CHAPTER OPENER — DECORATIVE ─────────────────────── */
    .pb-ch-deco-ornament {
      font-size: 12pt;
      color: #c4956a;
      letter-spacing: 4px;
      margin: 16px 0;
    }
    .pb-ch-deco-title {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 24pt;
      font-weight: 400;
      font-style: italic;
      line-height: 1.25;
      color: #1a1a1a;
      margin: 0 0 8px 0;
    }

    /* ── RUNNING PROSE PAGES ─────────────────────────────── */
    .pb-prose-page {
      display: flex;
      flex-direction: column;
    }
    .pb-running-header {
      border-bottom: 1px solid #c8c0b8;
      padding-bottom: 6px;
      margin-bottom: 22px;
      flex-shrink: 0;
    }
    .pb-running-header-spacer {
      height: 28px;
      margin-bottom: 14px;
      flex-shrink: 0;
    }
    .pb-running-text {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 8pt;
      color: #555555;
      text-transform: uppercase;
      letter-spacing: 1.5px;
    }
    .pb-prose-body {
      flex-grow: 1;
      widows: 2;
      orphans: 2;
      hyphens: auto;
      -webkit-hyphens: auto;
      overflow: hidden;
    }
    .pb-para {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: var(--pb-font-size, 11pt);
      line-height: var(--pb-line-height, 1.55);
      text-indent: 1.5em;
      margin: 0;
      margin-bottom: var(--pb-para-spacing, 0);
      word-spacing: 0.02em;
    }
    .pb-para-first {
      text-indent: 0;
    }
    .pb-para strong { font-weight: 700; }
    .pb-para em { font-style: italic; }

    /* Drop caps */
    .pb-dropcap-para::first-letter {
      font-size: 3.5em;
      font-weight: 700;
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      float: left;
      line-height: 0.75;
      padding-right: 0.06em;
      margin-top: 0.1em;
      color: #1a1a1a;
    }

    /* Scene breaks */
    .pb-scene-break {
      text-align: center;
      margin: 1.2em 0;
      letter-spacing: 0.4em;
      color: #555555;
      font-size: 0.9em;
      text-indent: 0 !important;
    }

    /* Trade Paperback variant — slightly more open */
    .pb-tp-body .pb-para {
      line-height: max(var(--pb-line-height, 1.55), 1.65);
    }
    /* First prose page in chapter — extra top space */
    .pb-prose-first .pb-prose-body {
      padding-top: 0.5in;
    }
    .pb-footer {
      border-top: 1px solid #c8c0b8;
      padding-top: 6px;
      text-align: center;
      flex-shrink: 0;
      margin-top: 14px;
    }
    .pb-page-num {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 8pt;
      color: #555555;
    }

    /* ── END PAGE ────────────────────────────────────────── */
    .pb-end-page {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .pb-end-inner {
      max-width: 75%;
    }
    .pb-end-rule {
      width: 32px;
      height: 1px;
      background: #1a1a1a;
      margin: 20px auto;
    }
    .pb-end-title {
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 14pt;
      font-weight: 700;
      color: #1a1a1a;
      margin: 0 0 10px 0;
    }
    .pb-end-text {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: var(--pb-font-size, 11pt);
      color: #555555;
      font-style: italic;
      margin: 0 0 8px 0;
    }
    .pb-end-author {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 10pt;
      color: #555555;
      margin: 0;
    }

    /* ── LITERARY NOVEL STYLES ───────────────────────────── */
    .pb-ln-chapter .pb-chapter-inner {
      max-width: 70%;
      text-align: center;
    }
    .pb-ln-chapter-label {
      display: block;
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 10pt;
      font-style: italic;
      color: #555555;
      letter-spacing: 2px;
      margin-bottom: 20px;
    }
    .pb-ln-chapter-title {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 22pt;
      font-weight: 400;
      font-style: italic;
      line-height: 1.25;
      color: #1a1a1a;
      margin: 0;
    }
    .pb-ln-finis {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 14pt;
      font-style: italic;
      color: #555555;
      letter-spacing: 4px;
    }

    /* ── DARK ACADEMIA STYLES ────────────────────────────── */
    .pb-da-title {
      background: #0f0d0a;
      color: #e8dcc8;
    }
    .pb-da-title-border {
      border: 2px solid #8b7355;
      padding: 2rem;
      max-width: 85%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      min-height: 70%;
    }
    .pb-da-ornament-top, .pb-da-ornament-bottom {
      font-size: 10pt;
      color: #c4a46b;
      letter-spacing: 6px;
    }
    .pb-da-title-inner {
      text-align: center;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 2rem 0;
    }
    .pb-da-title-label {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 7pt;
      letter-spacing: 5px;
      color: #8b7355;
      margin-bottom: 20px;
      text-transform: uppercase;
    }
    .pb-da-title-main {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 26pt;
      font-weight: 700;
      color: #e8dcc8;
      line-height: 1.2;
      margin: 0;
    }
    .pb-da-title-subtitle {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 12pt;
      font-style: italic;
      color: #8b7355;
      margin-top: 12px;
    }
    .pb-da-title-rule {
      width: 40px;
      height: 1px;
      background: #8b7355;
      margin: 20px auto;
    }
    .pb-da-title-author {
      font-family: 'DM Sans', 'Segoe UI', sans-serif;
      font-size: 10pt;
      color: #8b7355;
      letter-spacing: 2px;
    }
    .pb-da-chapter {
      background: #0f0d0a;
    }
    .pb-da-ch-ornament {
      font-size: 11pt;
      color: #c4a46b;
      letter-spacing: 4px;
      margin: 16px 0;
    }
    .pb-da-ch-num {
      display: block;
      font-family: 'Space Grotesk', 'Segoe UI', sans-serif;
      font-size: 48pt;
      font-weight: 700;
      color: #c4a46b;
      line-height: 1;
      margin-bottom: 12px;
    }
    .pb-da-ch-title {
      font-family: var(--pb-body-font, 'Garamond', 'EB Garamond', 'Georgia', 'Times New Roman', serif);
      font-size: 20pt;
      font-weight: 400;
      color: #e8dcc8;
      line-height: 1.2;
      margin: 0 0 8px;
    }

    /* ── PRINT OVERRIDES ─────────────────────────────────── */
    @media print {
      .pb-page {
        box-shadow: none;
        margin: 0;
        page-break-after: always;
      }
    }
  
/* ===================================================
   CHILDREN'S BOOK ENGINE — cb-* classes
   =================================================== */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=Fredoka+One&family=Quicksand:wght@400;500;600;700&display=swap');

/* ── Base page ────────────────────────────────────── */
.cb-page {
  width: var(--cb-page-width, 8in);
  height: var(--cb-page-height, 10in);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* ── Illustration placeholder ─────────────────────── */
.cb-illus-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  min-height: 100px;
  box-sizing: border-box;
}
.cb-illus-icon { font-size: 2.2rem; margin-bottom: 6px; opacity: 0.55; }
.cb-illus-label {
  font-family: 'Nunito', sans-serif;
  font-size: 11px; font-weight: 600;
  color: rgba(0,0,0,0.38);
  text-align: center; padding: 0 12px;
}

/* ── Shared title page ────────────────────────────── */
.cb-title-main {
  font-size: 36px; font-weight: 800;
  margin: 0 0 10px; line-height: 1.15;
  letter-spacing: -0.5px;
}
.cb-title-author {
  font-size: 16px; font-weight: 600; margin: 0;
  letter-spacing: 0.4px;
}

/* ── Picture Book: Title ──────────────────────────── */
.cb-title-pb {
  padding: 0.45in;
}
.cb-pb-title-illus {
  flex: 1; min-height: 60%;
}
.cb-pb-title-illus .cb-illus-placeholder { border-radius: 16px; }
.cb-pb-title-info {
  padding: 20px 0 8px; text-align: center;
}

/* ── Picture Book: Full-bleed spread ─────────────── */
.cb-layout-fullbleed { padding: 0; position: relative; }
.cb-fullbleed-illus {
  position: absolute; inset: 0;
}
.cb-fullbleed-illus .cb-illus-placeholder { border-radius: 0; height: 100%; }
.cb-fullbleed-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 18px 28px 24px; border-radius: 0;
}
.cb-spread-text {
  font-weight: 600; text-align: center;
}

/* ── Picture Book: Split layout ──────────────────── */
.cb-layout-split { flex-direction: row; padding: 0; }
.cb-split-image { width: 55%; flex-shrink: 0; padding: 0.35in; }
.cb-split-image .cb-illus-placeholder { border-radius: 14px; }
.cb-split-text {
  flex: 1; display: flex;
  align-items: center; padding: 0.5in 0.4in;
}

/* ── Picture Book: Stacked layout ────────────────── */
.cb-layout-stacked { padding: 0.35in; gap: 20px; }
.cb-stacked-image { flex: 1; min-height: 55%; }
.cb-stacked-image .cb-illus-placeholder { border-radius: 14px; }
.cb-stacked-text { padding: 6px 8px 12px; text-align: center; }

/* ── Early Reader: Title ──────────────────────────── */
.cb-title-er { padding: 0.4in; gap: 16px; }
.cb-er-title-illus { flex: 1; min-height: 55%; }
.cb-er-title-illus .cb-illus-placeholder { border-radius: 14px; }
.cb-er-title-info { text-align: center; padding: 8px 0 12px; }

/* ── Early Reader: Spread ────────────────────────── */
.cb-er-spread { padding: 0.4in; gap: 18px; }
.cb-er-illus { flex: 1; min-height: 48%; }
.cb-er-illus .cb-illus-placeholder { border-radius: 14px; }
.cb-er-text-block { padding: 4px 6px 10px; }
.cb-er-para { margin: 0 0 10px; font-weight: 500; }

/* ── Early Reader: End page ──────────────────────── */
.cb-er-end-illus { flex: 1; min-height: 55%; padding: 0.4in 0.4in 0; }
.cb-er-end-illus .cb-illus-placeholder { border-radius: 14px; }

/* ── Chapter Book: Title ─────────────────────────── */
.cb-title-chapter { padding: 0; }
.cb-cht-accent-bar { height: 10px; width: 100%; }
.cb-cht-title-body { padding: 0.4in; text-align: center; }
.cb-cht-title-illus { flex: 1; padding: 0 0.4in 0.4in; }
.cb-cht-title-illus .cb-illus-placeholder { border-radius: 14px; }

/* ── Chapter Book: Chapter opener ────────────────── */
.cb-chapter-page { padding: 0; }
.cb-chapter-header { padding: 28px 0.5in 24px; text-align: center; }
.cb-chapter-num {
  font-size: 11px; text-transform: uppercase;
  letter-spacing: 3px; color: rgba(255,255,255,0.72);
  font-weight: 700; margin-bottom: 6px;
}
.cb-chapter-title {
  font-size: 26px; margin: 0;
  line-height: 1.2; color: white;
  letter-spacing: -0.5px;
}
.cb-chapter-illus { flex: 1; padding: 0.35in; }
.cb-chapter-illus .cb-illus-placeholder { border-radius: 14px; }

/* ── Chapter Book: Prose page ────────────────────── */
.cb-prose-page { padding: 0.5in; }
.cb-prose-content { height: 100%; overflow: hidden; }
.cb-prose-para { margin: 0 0 14px; text-indent: 1.5em; }
.cb-first-para { text-indent: 0; }
.cb-first-para::first-letter {
  font-size: 2.6em; font-weight: 800;
  float: left; line-height: 0.82;
  margin: 4px 6px 0 0;
}

/* ── End page ────────────────────────────────────── */
.cb-end-page {
  align-items: center; justify-content: center;
  padding: 0.5in; gap: 20px; text-align: center;
}
.cb-end-inner { text-align: center; }
.cb-end-ornament {
  font-size: 18px; letter-spacing: 8px;
  opacity: 0.38; margin-bottom: 10px;
}
.cb-end-title { font-size: 30px; font-weight: 800; margin: 0 0 8px; }
.cb-end-badge {
  display: inline-block;
  padding: 10px 28px; border-radius: 100px;
  font-size: 20px; font-weight: 800;
  letter-spacing: 1px; margin: 0;
}

/* ── Preview scaling (screen view) ───────────────── */
@media screen {
  .cb-page {
    box-shadow: 0 4px 24px rgba(0,0,0,0.12);
    margin: 0 auto;
  }
}

/* ── Print settings for cb pages ─────────────────── */
@media print {
  .cb-page {
    page-break-after: always;
    break-after: page;
    box-shadow: none;
    margin: 0;
  }
  .cb-page:last-child {
    page-break-after: avoid;
    break-after: avoid;
  }
}
