/* Scoped additions reuse the SEO flow's line icons, number layout and rules. */
.listing-review .flow-item { position: relative; }
.listing-review .listing-phrase { display: inline-block; }
.listing-review .flow-item-body { grid-column: 2; min-width: 0; }
.listing-review .seo-step-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.listing-review .seo-step-meta .flow-item-num { position: absolute; left: 0; top: 56px; }
.listing-review .seo-step-meta .flow-item-step { margin: 0; }
.listing-review .seo-flow-icon { display: block; width: 28px; height: 28px; flex-shrink: 0; color: #5a5a60; }
.listing-review .flow-sec h2,
.listing-review .flow-sec h3,
.listing-review .flow-sec h4,
.listing-review .flow-item-step,
.listing-review .flow-item-tag { letter-spacing: 0 !important; }
.listing-review .flow-item-title { font-size: 36px !important; line-height: 1.5 !important; }
.listing-review .flow-head .sec-h2 { font-size: 48px !important; line-height: 1.45 !important; }
.listing-review .flow-item-desc + .flow-item-desc { margin-top: 20px; }
.listing-review .flow-item-tag { display: block; line-height: 1.9; max-width: 560px; }
.listing-review .flow-item-tag::before { display: none; }
.listing-review .seo-flow-diagram { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid #e8e8e8; }
.listing-review .seo-flow-diagram figcaption { font-size: 16px; font-weight: 700; margin-bottom: 20px; }
.listing-review .seo-flow-diagram ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; gap: 24px; }
.listing-review .seo-flow-diagram li { position: relative; border-top: 1px solid #9b9ba0; padding: 16px 0; font-size: 14px; line-height: 1.8; }
.listing-review .seo-flow-diagram li svg { display: block; width: 32px; height: 32px; margin-bottom: 12px; }
.listing-review .seo-flow-diagram li:not(:last-child)::after { content: '\2192'; position: absolute; top: 20px; right: -20px; color: #9b9ba0; }
.listing-review .seo-flow-diagram p,
.listing-review .flow-sec .listing-note { font-size: 14px; line-height: 1.9; color: #5a5a60; margin-top: 20px; max-width: 760px; }
.listing-review .listing-learning { display: flex; align-items: center; gap: 12px; border-top: 1px solid #9b9ba0; border-bottom: 1px solid #e8e8e8; padding: 16px 0; font-size: 14px; line-height: 1.8; }
.listing-review .listing-learning svg { width: 24px; height: 24px; flex-shrink: 0; color: #5a5a60; }
.listing-review .listing-case { padding: 72px 0 0; }
.listing-review .listing-case h3,
.listing-review .listing-assets h3 { font-size: 32px; line-height: 1.6; margin: 20px 0 24px; }
.listing-review .listing-case p,
.listing-review .listing-assets p,
.listing-review .listing-strategy p { font-size: 16px; line-height: 1.95; color: #5a5a60; }
.listing-review .listing-case-intro { max-width: 760px; }
.listing-review .listing-role-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #d4d4d7; border-bottom: 1px solid #d4d4d7; margin: 32px 0; }
.listing-review .listing-role { padding: 32px 40px 32px 0; }
.listing-review .listing-role + .listing-role { padding-left: 40px; padding-right: 0; border-left: 1px solid #d4d4d7; }
.listing-review .listing-role svg { width: 32px; height: 32px; display: block; margin-bottom: 16px; color: #5a5a60; }
.listing-review .listing-role-label { font-size: 11px; color: #5a5a60; font-weight: 700; }
.listing-review .listing-role h4 { font-size: 22px; line-height: 1.6; margin: 12px 0 20px; }
.listing-review .listing-case-summary { max-width: 760px; }
.listing-review .listing-strategy { padding: 32px 0; margin-top: 48px; }
.listing-review .listing-strategy h3 { font-size: 22px; line-height: 1.6; margin-bottom: 16px; }
.listing-review .listing-strategy p { max-width: 760px; }
.listing-review .listing-strategy-link { display: inline-block; margin-top: 24px; color: #28282d; font-size: 16px; line-height: 1.8; font-weight: 700; text-decoration: underline; text-underline-offset: 6px; }
.listing-review .listing-strategy-link::after { content: '\2192'; margin-left: 16px; }
.listing-review .listing-strategy-link:focus-visible { outline: 2px solid #28282d; outline-offset: 6px; }
.listing-review #listing-strategy .btn-plan { display: inline-flex; max-width: 100%; min-height: 48px; height: auto; padding: 12px 24px; margin-top: 24px; font-size: 14px; letter-spacing: 0; text-decoration: none; }
.listing-review #listing-strategy .btn-plan::after { content: none; }
.listing-review #listing-strategy .btn-plan:hover { color: #fff; }
.listing-review .listing-assets { padding-top: 64px; margin-top: 64px; border-top: 1px solid #d4d4d7; }
.listing-review .listing-assets p { max-width: 760px; }
.listing-review .listing-assets p + p { margin-top: 20px; }
.listing-review #listing-design { position: relative; isolation: isolate; margin-top: 72px; padding: 64px 0; }
.listing-review #listing-design::before { content: ''; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #f5f5f5; }
.listing-review #listing-design .listing-case-label { display: block; font-size: 18px; line-height: 1.6; font-weight: 700; color: #5a5a60; letter-spacing: 0; }
.listing-review #listing-case-title { font-size: 44px; line-height: 1.4; margin: 12px 0 32px; }
.listing-review #listing-design .listing-case-subtitle { font-size: 26px; line-height: 1.6; margin: 0 0 24px; }
.listing-review #listing-design .listing-role h5 { font-size: 22px; font-weight: 700; line-height: 1.6; letter-spacing: 0; margin: 12px 0 20px; }
.listing-review #listing-design > .listing-strategy-link { margin-top: 28px; }
.listing-review #listing-design p strong { font-weight: 700; }
@media (max-width: 1000px) {
  .listing-review .flow-item { grid-template-columns: 1fr; }
  .listing-review .flow-item-body { grid-column: 1; border-left: 0; padding-left: 0; }
  .listing-review .seo-step-meta .flow-item-num { position: static; font-size: 32px; padding: 0; letter-spacing: 0; }
  .listing-review .seo-flow-icon { width: 24px; height: 24px; }
  .listing-review .flow-item-title { font-size: 30px !important; }
  .listing-review .flow-head .sec-h2 { font-size: 36px !important; }
}
@media (max-width: 600px) {
  .listing-review #listing-design { margin-top: 48px; padding: 40px 0; }
  .listing-review #listing-case-title { font-size: 32px; margin-bottom: 24px; }
  .listing-review #listing-design .listing-case-subtitle { font-size: 22px; }
  .listing-review .flow-head .sec-h2 { font-size: 28px !important; }
  .listing-review .flow-item-title { font-size: 26px !important; }
  .listing-review .seo-flow-diagram ol { grid-template-columns: 1fr; gap: 20px; }
  .listing-review .seo-flow-diagram li { display: flex; align-items: center; gap: 16px; padding: 12px 0; font-size: 16px; }
  .listing-review .seo-flow-diagram li svg { flex-shrink: 0; margin: 0; }
  .listing-review .seo-flow-diagram li:not(:last-child)::after { content: '\2193'; top: auto; bottom: -25px; right: auto; left: 10px; }
  .listing-review .listing-role-columns { grid-template-columns: 1fr; }
  .listing-review .listing-role,
  .listing-review .listing-role + .listing-role { padding: 28px 0; border-left: 0; }
  .listing-review .listing-role + .listing-role { border-top: 1px solid #d4d4d7; }
  .listing-review .listing-case h3,
  .listing-review .listing-assets h3 { font-size: 26px; }
  .listing-review .listing-case { padding-top: 48px; }
  .listing-review .listing-strategy { padding: 8px 0; }
  .listing-review .listing-assets { margin-top: 48px; padding-top: 48px; }
}
