/* Extend the existing Portico palette and typography; keep task actions readable. */
.welcome-section { min-height: 560px; padding: 62px 24px; }
.welcome-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:24px; }
.welcome-secondary { font-weight:750; text-underline-offset:5px; }
.page-market .interior-hero { padding:38px 0 64px; }
.page-market .interior-hero h1 { font-size:clamp(2.8rem,5vw,4.5rem); }
.page-market .interior-hero .section-shell>p { color:#d5d6dc; max-width:70ch; }
.market-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:22px; }
.hero-action { display:inline-block; background:var(--lime); color:var(--ink); border-radius:8px; padding:12px 18px; font-weight:750; text-decoration:none; }
.hero-secondary { color:white; font-weight:700; text-underline-offset:5px; }
.division-picker { flex-wrap:wrap; }
.division-picker button { min-height:44px; }
.source-caption { color:var(--muted); font-size:.88rem; line-height:1.5; }
.source-caption a { text-underline-offset:3px; }
.source-caption:empty { display:none; }
.pending-action { max-width:100%; }
.pending-note { margin:0 0 12px; padding:10px 12px; border-left:3px solid var(--orange); background:var(--review-bg); color:#64420f; font-size:.88rem; line-height:1.5; }
.prep-footer { grid-template-columns:1fr; }
.prep-footer .task-link { max-width:none; width:fit-content; }
.prep-card { min-width:0; }
.prep-card a, .contact-email { overflow-wrap:anywhere; }
.training-section { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr); gap:40px; border-top:5px solid var(--teal); background:#f1faf9; padding:28px; margin-top:22px; margin-bottom:42px; scroll-margin-top:90px; }
.training-section h2 { font-size:2.4rem; margin:0 0 16px; }
.training-section p { max-width:68ch; }
.training-action { align-self:center; }
.training-action p { font-size:.9rem; color:var(--muted); }
.button-dark { display:inline-flex; background:var(--ink); color:white; padding:14px 20px; border:0; border-radius:8px; text-decoration:none; font-weight:750; }
.button-dark:hover { background:var(--teal-dark); }
.packet-planner .source-caption { margin-top:16px; font-size:.83rem; }
.onboarding-action { border-top:1px solid var(--line); padding-top:12px; margin-top:16px; }
.onboarding-action .task-link { display:inline-block; margin-top:6px; }
.evergreen-note { padding:16px 20px; border-left:4px solid var(--pink); background:#fff3f8; }
#onboarding-division { margin:24px 0; }
.upload-section { margin-top:24px; margin-bottom:60px; scroll-margin-top:92px; }
.upload-section>h2 { font-size:2.5rem; }
.upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.upload-card { border:1px solid var(--line); padding:24px; border-radius:12px; }
.upload-card h3 { font-size:1.5rem; margin-top:0; text-transform:capitalize; }
.earlier-checklist { margin-top:20px; padding:16px 20px; border:1px solid var(--line); border-radius:10px; }
.earlier-checklist summary { cursor:pointer; font-weight:750; }
.market-progress #checklist-scope { display:block; margin-bottom:20px; font-size:1rem; }
.progress-track { margin-top:12px; }
.reset-confirmation { padding-top:12px; border-top:1px solid var(--line); }
.reset-confirmation button { padding:8px 12px; margin:4px; border:1px solid var(--line); border-radius:6px; background:white; cursor:pointer; }
@media(max-width:680px) {
  .welcome-section { min-height:0; padding:48px 22px; }
  .welcome-section h1 { font-size:clamp(3rem,13vw,5rem); }
  .welcome-actions { flex-direction:column; }
  .training-section, .upload-grid { grid-template-columns:1fr; }
  .training-section { gap:12px; padding:22px; }
  .training-section h2 { font-size:2rem; }
  .division-picker { gap:8px; }
}
@media print {
  .training-section { display:block; border:1px solid #888; padding:12px; break-inside:avoid; }
  .pending-note { color:#222; background:white; }
  .earlier-checklist { display:none; }
  .source-caption { color:#444; }
}
