/* Brief-specific overrides. Relies on /styles.css for font + color tokens. */

.brief-body { background: #fafaf9; }

.brief-article { padding: 3rem 0 5rem; }
.brief-container { max-width: 720px; margin: 0 auto; padding: 0 1.5rem; }

/* Masthead */
.brief-masthead { border-bottom: 2px solid var(--color-border); padding-bottom: 2rem; margin-bottom: 2.5rem; }
.brief-edition { font-size: 0.8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-accent); margin-bottom: 0.6rem; }
.brief-title { font-size: clamp(1.875rem, 4vw, 2.5rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.025em; color: var(--color-text); margin-bottom: 0.75rem; }
.brief-meta { font-size: 0.875rem; color: var(--color-text-muted); margin-bottom: 0.75rem; }
.brief-meta-sep { margin: 0 0.5rem; color: #c5c5c3; }
.brief-byline { font-size: 0.875rem; color: var(--color-text-muted); font-style: italic; margin-bottom: 1.25rem; line-height: 1.55; }
.brief-actions { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.brief-pdf-link { font-size: 0.875rem; color: var(--color-accent); font-weight: 600; text-decoration: none; border: 1.5px solid var(--color-accent); padding: 0.45rem 0.9rem; border-radius: 6px; }
.brief-pdf-link:hover { background: var(--color-accent); color: #fff; }
.brief-cta { font-size: 0.875rem; color: var(--color-accent); font-weight: 600; text-decoration: none; }
.brief-cta:hover { text-decoration: underline; }

/* Sections */
.brief-section { margin-bottom: 2.75rem; }
.brief-section h2 { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.015em; color: var(--color-text); margin-bottom: 0.875rem; border-bottom: 1px solid var(--color-border); padding-bottom: 0.4rem; }
.brief-section h3 { font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-accent); margin-bottom: 0.4rem; }
.brief-section p { font-size: 1rem; line-height: 1.75; color: var(--color-text); margin-bottom: 0.875rem; }

/* Executive summary */
.brief-summary .brief-lede { font-size: 1.0625rem; font-weight: 500; line-height: 1.7; color: var(--color-text); margin-bottom: 1.1rem; }
.brief-bullets { list-style: none; padding: 0; margin: 0; }
.brief-bullets li { padding: 0.75rem 0 0.75rem 1.5rem; position: relative; font-size: 0.9375rem; line-height: 1.65; color: var(--color-text); border-bottom: 1px solid #eee; }
.brief-bullets li:last-child { border-bottom: none; }
.brief-bullets li::before { content: "\2192"; position: absolute; left: 0; top: 0.85rem; color: var(--color-accent); font-weight: 700; }

/* Tables */
.brief-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; background: var(--color-surface); margin: 0.5rem 0 1rem; }
.brief-table th { text-align: left; font-weight: 600; color: var(--color-text-muted); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.625rem 0.75rem; border-bottom: 2px solid var(--color-border); }
.brief-table td { padding: 0.75rem; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.brief-table tbody tr:last-child td { border-bottom: none; }
.change-up { color: #b34d1d; font-weight: 600; }
.change-down { color: #16634a; font-weight: 600; }

/* Callouts (desk read) */
.brief-callout { background: #f2f5f9; border-left: 3px solid var(--color-accent); padding: 1rem 1.25rem; margin: 1rem 0 1.25rem; border-radius: 0 4px 4px 0; }
.brief-callout p { font-size: 0.9375rem; line-height: 1.7; margin-bottom: 0.7rem; }
.brief-callout p:last-child { margin-bottom: 0; }

/* Event list */
.brief-event-list { list-style: none; padding: 0; margin: 0.5rem 0 0.75rem; }
.brief-event-list li { padding: 0.4rem 0; font-size: 0.9375rem; line-height: 1.6; color: var(--color-text); border-bottom: 1px dashed var(--color-border); }
.brief-event-list li:last-child { border-bottom: none; }

/* Action list */
.brief-actions-section { background: #fff; border: 1px solid var(--color-border); border-radius: 8px; padding: 1.5rem 1.75rem; }
.brief-action-list { counter-reset: action; padding-left: 0; list-style: none; }
.brief-action-list li { counter-increment: action; padding: 0.7rem 0 0.7rem 2.25rem; position: relative; font-size: 0.9375rem; line-height: 1.65; border-bottom: 1px solid #eee; }
.brief-action-list li:last-child { border-bottom: none; }
.brief-action-list li::before { content: counter(action); position: absolute; left: 0; top: 0.75rem; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: var(--color-accent); color: #fff; font-weight: 700; font-size: 0.8125rem; display: flex; align-items: center; justify-content: center; }

/* Notes + methodology */
.brief-note { font-size: 0.8125rem; color: var(--color-text-muted); font-style: italic; }
.brief-methodology p { font-size: 0.875rem; color: var(--color-text-muted); line-height: 1.7; }
.brief-timestamp { font-size: 0.75rem; color: var(--color-text-muted); font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace; }
.brief-disclosure { font-size: 0.8125rem; color: var(--color-text-muted); border-top: 1px solid var(--color-border); padding-top: 0.875rem; margin-top: 0.875rem; }

/* Final CTA */
.brief-final-cta { text-align: center; padding: 2rem 1rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 8px; }
.brief-final-cta h2 { border: none; padding: 0; margin-bottom: 0.6rem; }
.brief-final-cta .btn { margin-top: 0.5rem; }

/* Print: make the brief PDF-friendly */
@media print {
  body { background: #fff; }
  .nav, .footer, .brief-pdf-link, .brief-cta, .brief-final-cta { display: none !important; }
  .brief-article { padding: 0; }
  .brief-container { max-width: 100%; padding: 0; }
  .brief-section { break-inside: avoid; page-break-inside: avoid; }
  .brief-callout { background: #f7f7f6 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a { color: var(--color-text) !important; text-decoration: none; }
}
