/* Stage 1 feature compositions; approved reference pages remain unchanged. */
.ci-product-page--planning .ci-product-hero { padding-bottom: 32px; }
.ci-product-page--planning .ci-product-hero-grid--text { grid-template-columns: minmax(0, 900px); }
.ci-planning-showcase { padding-top: 0; padding-bottom: 56px; }
.ci-planning-image-label { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.ci-planning-image-label h2 { margin: 0; font-size: 18px; }
.ci-planning-image-label span { color: var(--ci-text-secondary); font-size: 12px; }
.ci-planning-showcase .ci-product-visual { width: 100%; margin: 0; }
.ci-planning-showcase img { width: 100%; height: auto; aspect-ratio: 2560 / 1125; object-fit: contain; }
.ci-requirements-model { margin: 0; padding: 28px; background: var(--ci-background-blue); border: 1px solid var(--ci-border); border-radius: var(--ci-radius-lg); }
.ci-requirements-model figcaption > strong { display: block; margin-top: 12px; color: var(--ci-slate); font-size: 18px; line-height: 1.5; }
.ci-requirements-model ol { margin: 24px 0 0; padding: 0; list-style: none; }
.ci-requirements-model li { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; padding-bottom: 22px; }
.ci-requirements-model li:not(:last-child)::before { content: ''; position: absolute; left: 15px; top: 32px; bottom: 0; width: 1px; background: var(--ci-slate); opacity: .25; }
.ci-requirement-number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ci-slate); color: var(--ci-white); font-size: 11px; }
.ci-requirements-model li h2 { margin: 1px 0 5px; font-size: 15px; line-height: 1.6; letter-spacing: 0; }
.ci-requirements-model li p { margin: 0; font-size: 12px; line-height: 1.7; }
.ci-requirements-model .ci-concept-note { margin: 0; padding-top: 16px; border-top: 1px solid var(--ci-border); font-size: 11px; line-height: 1.7; }
@media(max-width:600px) { .ci-planning-image-label { display: block; } .ci-planning-image-label span { display: block; margin-top: 8px; } .ci-requirements-model { padding: 22px; } }
@media(prefers-reduced-motion:reduce) { .ci-product-stage1 .ci-product-hero-copy,.ci-product-stage1 .ci-product-hero-visual { animation: none; } }
