/* Nyphron v6.3: presentation only. Loaded after the frozen site.css / bc.css.
   Selectors are restricted to BC pages and the root homepage picker.
   No element reordering, conditional routing, or print-output changes. */
@media screen {
  :is(.page-bc, .page-picker) { --polish-focus: #155f56; }
  :is(.page-bc, .page-picker) .card > :last-child { margin-bottom: 0; }
  :is(.page-bc, .page-picker) .page-hero { padding-bottom: 30px; }
  :is(.page-bc, .page-picker) .page-hero h1 { max-width: 24ch; }
  :is(.page-bc, .page-picker) .lead { max-width: 66ch; }
  :is(.page-bc, .page-picker) .track-picker { gap: 22px; }
  :is(.page-bc, .page-picker) .track-card { padding: 28px; min-width: 0; }
  :is(.page-bc, .page-picker) .track-card h2 { line-height: 1.25; margin: 0 0 14px; }
  :is(.page-bc, .page-picker) .track-card > p { line-height: 1.65; }
  :is(.page-bc, .page-picker) .track-card .track-deadline {
    padding-top: 14px; border-top: 1px solid var(--line); font-size: .9rem;
  }
  :is(.page-bc, .page-picker) .track-card .btn { align-self: stretch; text-align: center; }
  :is(.page-bc, .page-picker) .track-price span { display: block; margin-top: 4px; line-height: 1.5; }
  :is(.page-bc, .page-picker) .btn { line-height: 1.4; min-height: 44px; white-space: normal; }
  :is(.page-bc, .page-picker) :is(a, button, input, textarea, summary):focus-visible {
    outline: 3px solid var(--polish-focus); outline-offset: 3px; box-shadow: 0 0 0 2px #fff;
  }
  :is(.page-bc, .page-picker) .btn:hover { transform: none; }
  :is(.page-bc, .page-picker) .btn:active { box-shadow: inset 0 0 0 2px currentColor; }
  .page-bc button:disabled { cursor: wait; opacity: .72; }
  .page-bc :is(.field, .radio-row) { scroll-margin-top: 120px; }
  .page-bc .hint { display: block; margin-top: 8px; line-height: 1.6; }
  .page-bc .field + .field { margin-top: 22px; }
  .page-bc .fieldset-group legend { line-height: 1.5; padding: 0 6px; max-width: 100%; }
  .page-bc .radio-row label { line-height: 1.6; }
  .page-bc .quiz-progress { max-width: 100%; white-space: normal; line-height: 1.5; }
  .page-bc #quiz-box h2, .page-bc #router-box h2 { line-height: 1.25; }
  .page-bc :is(#q-prompt, #builder-error) { line-height: 1.6; }
  .page-bc .source-card { border-top: 3px solid #789185; }
  .page-bc .source-card li { margin-bottom: 10px; }
  .page-bc .bc-related { padding: 20px 0; border-top: 1px solid var(--line); margin-top: 28px; line-height: 1.9; }
  .page-bc .bc-related p { margin: 0; }
  .page-bc #bc-buy-area { scroll-margin-top: 120px; }
  .page-bc .tool-card { border-top: 4px solid var(--ink); }
  .page-bc .site-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .page-picker .steps li { color: #f3f6ef; }
  @media (max-width: 900px) {
    :is(.page-bc, .page-picker) .site-header .wrap { flex-wrap: wrap; }
    :is(.page-bc, .page-picker) .main-nav { min-width: 0; max-width: 100%; }
    :is(.page-bc, .page-picker) .main-nav ul { flex-wrap: wrap; }
  }
  @media (max-width: 600px) {
    :is(.page-bc, .page-picker) .page-hero { padding-top: 30px; padding-bottom: 20px; }
    :is(.page-bc, .page-picker) .page-hero h1 { font-size: 2rem; line-height: 1.14; margin-bottom: 18px; }
    .page-bc .hero { padding-top: 34px; padding-bottom: 30px; }
    .page-bc .hero h1 { font-size: 2.15rem; line-height: 1.14; }
    :is(.page-bc, .page-picker) .page-hero > p { line-height: 1.65; }
    :is(.page-bc, .page-picker) .track-picker { gap: 18px; }
    :is(.page-bc, .page-picker) .track-card { padding: 22px; }
    :is(.page-bc, .page-picker) .track-card h2 { font-size: 1.45rem; }
    :is(.page-bc, .page-picker) .track-card .badge { letter-spacing: .08em; }
    :is(.page-bc, .page-picker) .cta-row { gap: 12px; align-items: stretch; }
    .page-bc :is(#quiz-box, #router-box, #gate) .cta-row .btn { flex: 1 1 140px; }
    .page-bc .page-hero + .card { margin-top: 8px; }
    .page-bc .card:has(#quiz-box), .page-bc .card:has(#router-box),
    .page-bc.page-build #gate > .card { padding: 22px 18px; }
    .page-bc #quiz-box h2, .page-bc #router-box h2 { font-size: 1.5rem; margin-top: 18px; }
    .page-bc .quiz-q .radio-row label { padding: 13px 12px; font-size: .95rem; }
    .page-bc .fieldset-group { padding: 14px 10px; }
    .page-bc .fieldset-group legend { font-size: .92rem; }
    .page-bc .field label { font-size: .96rem; line-height: 1.55; }
    .page-bc .field :is(input, textarea, select) { font-size: 16px; padding: 13px 12px; }
    .page-bc .field textarea { min-height: 140px; line-height: 1.6; }
    .page-bc .hint, .page-bc .fine-print { line-height: 1.65; }
    .page-bc :is(.field, .radio-row, #bc-buy-area) { scroll-margin-top: 20px; }
    .page-bc .bc-guard { padding: 16px; margin: 20px 0; }
    .page-bc .source-card { padding: 22px 18px; }
  }
  @media (prefers-reduced-motion: reduce) {
    :is(.page-bc, .page-picker) .btn { transition: none; }
  }
}
