.strategy-navigator { padding-block: 0 var(--al-section-block); }
.navigator-shell { display: grid; gap: var(--al-space-6); }
.navigator-privacy {
  padding: var(--al-space-4);
  border-inline-start: 4px solid var(--al-accent);
  border-radius: var(--al-radius-xs);
  background: var(--al-canvas-subtle);
  color: var(--al-text-secondary);
}
.navigator-progress { display: grid; gap: var(--al-space-2); }
.navigator-progress__track { block-size: 0.55rem; overflow: hidden; border-radius: var(--al-radius-pill); background: var(--al-canvas-subtle); }
.navigator-progress__bar { block-size: 100%; inline-size: var(--navigator-progress, 33.333%); border-radius: inherit; background: linear-gradient(90deg, var(--al-accent), var(--al-accent-bright)); transition: inline-size var(--al-duration-normal) var(--al-ease-standard); }
.navigator-progress p { margin: 0; color: var(--al-text-muted); font-size: var(--al-font-size-sm); }
.navigator-form { display: grid; gap: clamp(1.75rem, 4vw, 2.75rem); }
.navigator-step { display: grid; gap: var(--al-space-5); margin: 0; padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid var(--al-border); border-radius: var(--al-radius-lg); background: var(--al-surface); box-shadow: var(--al-shadow-sm); }
.navigator-step[hidden] { display: none; }
.navigator-step__header h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -0.045em; }
.navigator-step__header p { margin: var(--al-space-2) 0 0; color: var(--al-text-secondary); }
.navigator-field { display: block; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.navigator-field + .navigator-field { margin-block-start: clamp(1.5rem, 3vw, 2.25rem); }
.navigator-field legend { display: block; inline-size: 100%; margin: 0 0 var(--al-space-3); padding: 0; color: var(--al-text); font-weight: var(--al-weight-semibold); line-height: 1.35; }
.navigator-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--al-space-3); align-items: stretch; clear: both; }
.navigator-option { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--al-space-3); align-items: start; min-inline-size: 0; min-block-size: 5.5rem; block-size: auto; padding: var(--al-space-4); border: 1px solid var(--al-border); border-radius: var(--al-radius-md); background: var(--al-canvas); color: var(--al-text-secondary); cursor: pointer; overflow-wrap: anywhere; }
.navigator-option:hover { border-color: var(--al-border-strong); }
.navigator-option:has(input:checked) { border-color: var(--al-accent); background: color-mix(in srgb, var(--al-accent) 8%, var(--al-surface)); color: var(--al-text); }
.navigator-option input { margin-block-start: 0.18rem; accent-color: var(--al-accent); }
.navigator-option strong { display: block; color: var(--al-text); }
.navigator-option small { display: block; margin-block-start: 0.25rem; color: var(--al-text-muted); line-height: 1.45; }
.navigator-option > span { min-inline-size: 0; }
.navigator-actions { display: flex; flex-wrap: wrap; gap: var(--al-space-3); justify-content: space-between; }
.navigator-actions__group { display: flex; flex-wrap: wrap; gap: var(--al-space-3); }
.navigator-validation { min-block-size: 1.5rem; margin: 0; color: var(--al-danger); font-size: var(--al-font-size-sm); }
.navigator-results { display: grid; gap: var(--al-space-6); }
.navigator-results[hidden] { display: none; }
.navigator-summary { display: grid; gap: var(--al-space-4); padding: var(--al-space-5); border: 1px solid var(--al-border); border-radius: var(--al-radius-md); background: var(--al-canvas-subtle); }
.navigator-summary h2 { margin: 0; }
.navigator-summary dl { display: grid; grid-template-columns: minmax(9rem, 0.3fr) 1fr; gap: var(--al-space-2) var(--al-space-4); margin: 0; }
.navigator-summary dt { color: var(--al-text-muted); }
.navigator-summary dd { margin: 0; color: var(--al-text); font-weight: var(--al-weight-medium); }
.navigator-recommendations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--al-space-5); }
.navigator-result-card { display: flex; flex-direction: column; gap: var(--al-space-4); min-block-size: 100%; padding: var(--al-space-5); border: 1px solid var(--al-border); border-radius: var(--al-radius-md); background: var(--al-surface); box-shadow: var(--al-shadow-sm); }
.navigator-result-card h3 { margin: 0; font-size: var(--al-font-size-xl); letter-spacing: -0.035em; }
.navigator-result-card p { margin: 0; color: var(--al-text-secondary); }
.navigator-result-card__meta { display: flex; justify-content: space-between; gap: var(--al-space-3); color: var(--al-text-muted); font-size: var(--al-font-size-xs); text-transform: uppercase; }
.navigator-result-card__rationale { display: grid; gap: var(--al-space-2); margin: 0; padding-inline-start: 1.1rem; color: var(--al-text-secondary); }
.navigator-result-card__links { display: grid; gap: var(--al-space-2); margin-block-start: auto; padding-block-start: var(--al-space-3); border-block-start: 1px solid var(--al-border); }
.navigator-result-card__links a { color: var(--al-accent); }
.navigator-no-match { padding: var(--al-space-5); border: 1px dashed var(--al-border-strong); border-radius: var(--al-radius-md); background: var(--al-canvas-subtle); }
.navigator-fallback { padding: var(--al-space-6); border: 1px solid var(--al-border); border-radius: var(--al-radius-md); background: var(--al-surface); }
.navigator-fallback__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--al-space-3); }
.navigator-fallback a { padding: var(--al-space-4); border: 1px solid var(--al-border); border-radius: var(--al-radius-xs); color: var(--al-text); text-decoration: none; }
[data-strategy-navigator][data-enhanced="true"] .navigator-fallback { display: none; }
@media (max-width: 70rem) { .navigator-recommendations, .navigator-fallback__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 48rem) { .navigator-options, .navigator-recommendations, .navigator-fallback__grid { grid-template-columns: 1fr; } .navigator-summary dl { grid-template-columns: 1fr; } .navigator-actions { display: grid; } }
@media (prefers-reduced-motion: reduce) { .navigator-progress__bar { transition: none; } }
@media print { .route-header, .route-footer, .navigator-form, .navigator-progress, .navigator-results__actions, .navigator-fallback { display: none !important; } .navigator-results[hidden] { display: none !important; } .navigator-result-card { box-shadow: none; break-inside: avoid; } }
