.ideas-page { max-width: var(--content-width); margin: 0 auto; padding: 0 24px; }
.ideas-intro { padding: 48px 0 80px; max-width: 820px; }
.ideas-intro h1 { max-width: none; font-size: 3rem; line-height: 1.12; margin: 12px 0 20px; text-align: left; text-wrap: balance; }
.ideas-intro > p { max-width: 70ch; }
.simulation-note { color: var(--muted); font-size: .875rem; border-left: 3px solid var(--accent); padding-left: 16px; margin-top: 32px; }
.idea-section { border-top: 1px solid var(--line); padding: 88px 0 96px; }
.idea-heading { max-width: 800px; margin-bottom: 40px; }
.idea-heading h2 { font-size: 2rem; line-height: 1.2; }
.idea-comparison { margin: 0; }
.comparison-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.comparison-panel { min-width: 0; }
.comparison-label { margin: 0 0 8px; font-weight: 700; }
.comparison-label span { font-size: .875rem; color: var(--muted); font-weight: 400; }
.comparison-photo { aspect-ratio: 3 / 4; overflow: hidden; }
.comparison-photo img { display: block; width: 200%; max-width: none; height: 100%; }
.comparison-photo.after img { transform: translateX(-50%); }
.idea-comparison figcaption { font-size: .875rem; color: var(--muted); margin: 12px 0 24px; }
.idea-description { margin-top: 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.idea-description p { margin-top: 0; }
.ideas-next { border-top: 1px solid var(--line); padding: 88px 0 104px; }
.ideas-next h2 { font-size: 2rem; }
.ideas-next p { max-width: 70ch; }
@media (max-width: 640px) {
 .ideas-page { padding: 0 18px; }
 .ideas-intro { padding: 32px 0 56px; }
 .idea-section { padding: 60px 0 64px; }
 .idea-heading { margin-bottom: 24px; }
 .idea-description { margin-top: 24px; }
 .ideas-next { padding: 60px 0 72px; }
 .ideas-intro h1 { font-size: 2.5rem; }
 .comparison-pair, .idea-description { grid-template-columns: 1fr; gap: 24px; }
 .idea-heading h2, .ideas-next h2 { font-size: 1.75rem; }
}
