/* Strategy page specific styles */
.hero--strategy {
  color: #e9eef9;
  padding: var(--space-11) 0 var(--space-9);
}
.hero--strategy .hero-inner { display: grid; gap: var(--space-8); grid-template-columns: 1.1fr 1fr; align-items: center; }
.hero--strategy .lead { max-width: 60ch; }
.hero--strategy .hero-cta { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.hero--strategy .hero-media { border: 1px solid rgba(255,255,255,0.25); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }

@media (max-width: 900px) {
  .hero--strategy .hero-inner { grid-template-columns: 1fr; }
}

/* Two-column layout: sticky table of contents + content */
.layout { display: grid; grid-template-columns: 280px 1fr; gap: var(--space-8); margin-top: var(--space-9); }
@media (max-width: 1100px) { .layout { grid-template-columns: 1fr; } }

.toc { position: sticky; top: 88px; align-self: start; }
.toc nav { background: var(--color-surface); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-5); }
.toc ol { margin: 0; padding-left: 1.25rem; display: grid; gap: 8px; }
.toc a { display: inline-block; padding: 2px 4px; border-radius: var(--radius-sm); }
.toc a.is-active { background: color-mix(in srgb, var(--color-primary) 10%, #fff); color: var(--color-primary-700); text-decoration: none; }

/* Figures inside sections */
.section-figure { margin-top: var(--space-3); }
.section-figure img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); border: 1px solid var(--gray-200); }
.section-figure figcaption { font-size: var(--fs-sm); color: var(--gray-700); margin-top: var(--space-2); }

/* SWOT accents */
.swot { border-left: 6px solid var(--gray-300); }
.swot--strengths { border-left-color: var(--color-success); }
.swot--weaknesses { border-left-color: var(--color-danger); }
.swot--opportunities { border-left-color: var(--color-accent); }
.swot--threats { border-left-color: var(--color-primary); }

/* Timeline */
.timeline { list-style: none; padding-left: 0; margin: 0; position: relative; }
.timeline > li { position: relative; padding-left: 1.75rem; margin-bottom: var(--space-6); }
.timeline > li::before { content: ""; position: absolute; left: 0.5rem; top: 0.3rem; width: 10px; height: 10px; background: var(--color-accent); border-radius: 50%; box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 30%, #fff); }
.timeline > li::after { content: ""; position: absolute; left: 0.84rem; top: 1.6rem; bottom: -0.5rem; width: 2px; background: var(--gray-300); }
.timeline > li:last-child::after { display: none; }
.timeline h3 { margin-bottom: var(--space-2); }

/* Minor helpers */
.content > section { scroll-margin-top: 96px; }
