.strategy-page { background: #f5f6f7; color: var(--color-text); }
.strategy-page [hidden] { display: none !important; }
.strategy-page .site-header { position: sticky; top: 0; transform: none; }
.strategy-page .header-inner { min-height: 76px; }
.strategy-language { display: flex; align-items: center; gap: 12px; font-size: .8rem; }
.strategy-main { padding-top: 58px; padding-bottom: 80px; }
.strategy-status:not(:empty) { border-left: 3px solid #0b5394; background: #fff; padding: 18px 24px; margin-bottom: 24px; }
.strategy-status.is-error { border-color: #9e3e30; }
.strategy-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 48px; padding: 24px 0 0; }
.strategy-eyebrow { font-size: .75rem; letter-spacing: .15em; font-weight: 600; color: #536779; }
.strategy-page h1 { font-family: "PT Serif", serif; font-weight: 400; font-size: clamp(2rem, 4.1vw, 3.8rem); line-height: 1.15; margin: 18px 0 26px; max-width: 850px; }
.strategy-lead { font-size: 1.15rem; line-height: 1.8; margin-bottom: 32px; }
.strategy-art { width: 100%; height: auto; background: #fff; border-bottom: 3px solid #2775a0; }
.strategy-disclosures { grid-column: 1 / -1; border-top: 1px solid #ccd5dd; padding-top: 24px; columns: 3; column-gap: 32px; font-size: .85rem; color: #536779; line-height: 1.7; }
.strategy-disclosures p { margin-top: 0; break-inside: avoid; }
.strategy-wizard { max-width: 850px; margin: 0 auto; background: #fff; padding: 42px 48px; border-top: 3px solid #072a44; }
.strategy-step-line { display: flex; justify-content: space-between; gap: 16px; font-size: .8rem; color: #536779; }
.strategy-wizard progress { width: 100%; height: 4px; border: none; accent-color: #0b5394; margin: 18px 0 32px; }
.strategy-wizard fieldset { margin: 0; padding: 0; border: none; min-width: 0; }
.strategy-wizard legend { font: 400 clamp(1.35rem, 2.3vw, 1.85rem)/1.4 "PT Serif", serif; padding: 0; margin-bottom: 24px; }
.strategy-choice { display: flex; align-items: flex-start; gap: 14px; border: 1px solid #d4dde4; padding: 16px 18px; margin-bottom: 10px; cursor: pointer; line-height: 1.5; }
.strategy-choice:has(input:checked) { background: #eef4f8; border-color: #0b5394; }
.strategy-choice input { flex: 0 0 auto; margin-top: 5px; accent-color: #0b5394; }
.strategy-page :focus-visible { outline: 3px solid #0b5394; outline-offset: 4px; }
.strategy-note { font-size: .78rem; line-height: 1.7; color: #536779; margin: 22px 0; }
#strategy-detail { margin-top: 24px; font-size: .85rem; }
#strategy-detail textarea { width: 100%; resize: vertical; border: 1px solid #ccd5dd; padding: 14px; font: inherit; margin-top: 10px; }
.strategy-actions { display: flex; justify-content: space-between; gap: 16px; margin-top: 28px; }
.strategy-pending { max-width: 760px; padding: 48px; background: #fff; border-top: 3px solid #0b5394; }
#strategy-pending-title { scroll-margin-top: 100px; }
#strategy-recovery-form { border-top: 1px solid var(--color-border); margin-top: 28px; padding-top: 28px; }
#strategy-recovery-form h2 { font-weight: 400; }
#strategy-recovery-form > p { margin: 16px 0; }
#strategy-recovery-email { width: 100%; padding: 14px; margin: 10px 0 20px; border: 1px solid var(--color-border); font: inherit; }
#strategy-recovery-status:not(:empty) { margin-top: 24px; line-height: 1.7; }
.strategy-page .btn { cursor: pointer; }
.strategy-page .btn-outline { background: transparent; }
.strategy-page .btn:disabled { opacity: .55; cursor: wait; }
.strategy-report-header { border-left: 5px solid #072a44; padding: 12px 32px 32px; margin-bottom: 48px; }
#strategy-result { padding: 0; }
#strategy-document { max-width: 960px; margin: 0 auto; }
.strategy-report-section { padding: 36px 40px; background: #fff; border-top: 1px solid #d4dde4; }
.strategy-report-section h2 { font: 400 clamp(1.4rem, 2.5vw, 2rem)/1.3 "PT Serif", serif; margin: 0 0 24px; }
.strategy-report-section h3 { font: 400 1.25rem "PT Serif", serif; }
.strategy-report-section dt { font-weight: 600; margin-top: 20px; }
.strategy-report-section dd { margin: 6px 0 0; line-height: 1.7; white-space: pre-line; }
.strategy-report-section li { margin-bottom: 18px; }
.strategy-report-section a { color: #0b5394; overflow-wrap: anywhere; }
.strategy-report-paragraph { padding: 4px 0 4px 18px; margin-bottom: 24px; border-left: 2px solid #ccd5dd; }
.strategy-report-paragraph[data-kind="evidence"] { border-color: #0b5394; }
.strategy-report-paragraph p { white-space: pre-line; line-height: 1.8; margin: 8px 0; }
.strategy-provenance { font-size: .7rem; letter-spacing: .04em; color: #536779; text-transform: uppercase; }
.strategy-invitation { background: #072a44; color: #fff; padding: 40px; margin: 48px auto 32px; max-width: 960px; }
.strategy-invitation h2 { font: 400 1.8rem "PT Serif", serif; color: #fff; }
.strategy-invitation p { line-height: 1.7; max-width: 760px; }
.strategy-invitation .btn { background: #fff; color: #072a44; border-color: #fff; }
#strategy-new { margin-top: 28px; }
@media (max-width: 760px) {
  .strategy-main { padding-top: 28px; }
  .strategy-intro { grid-template-columns: 1fr; gap: 24px; }
  .strategy-art { max-height: 250px; object-fit: cover; }
  .strategy-disclosures { columns: 1; }
  .strategy-wizard, .strategy-pending { padding: 24px 20px; }
  .strategy-report-section, .strategy-invitation { padding: 28px 20px; }
  .strategy-report-header { padding-left: 20px; }
  .strategy-language > span { display: none; }
  .strategy-page .brand { font-size: 1.25rem; }
  .strategy-page .header-cta { gap: 8px; }
  .strategy-page .header-inner { flex-direction: row; flex-wrap: nowrap; }
  .strategy-page .header-cta { width: auto; }
  .strategy-actions .btn { padding-left: 16px; padding-right: 16px; }
}
