.seo-page .page-hero { padding-bottom: 44px; }
.seo-page .page-hero .intro { max-width: 680px; }
.seo-section { padding: 58px 0; }
.seo-section h2 { max-width: 760px; margin: 0; font-size: clamp(32px, 3.25vw, 52px); letter-spacing: -.055em; line-height: 1.08; }
.seo-section h3 { margin: 0; font-size: 22px; letter-spacing: -.04em; line-height: 1.2; }
.seo-section p { color: var(--ink-soft); font-size: 15px; line-height: 1.8; }
.seo-section .section-intro { max-width: 760px; }
.seo-section .section-intro > p { max-width: 650px; }
.seo-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 38px; }
.seo-columns article { padding: 27px; border: 1px solid var(--line); border-radius: var(--card-radius); background: var(--white); }
.seo-columns article p { margin-bottom: 0; font-size: 14px; }
.seo-steps { counter-reset: seo-step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 38px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.seo-steps li { counter-increment: seo-step; padding: 26px 24px 24px 0; border-bottom: 1px solid var(--line); }
.seo-steps li + li { padding-left: 24px; border-left: 1px solid var(--line); }
.seo-steps li::before { content: '0' counter(seo-step); color: #7770b4; font: 500 20px/1.2 Manrope, Arial, sans-serif; }
.seo-steps h3 { margin-top: 25px; font-size: 18px; }
.seo-steps p { margin-bottom: 0; font-size: 13px; }
.seo-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(36px, 7vw, 120px); align-items: start; }
.seo-faq .faq-list { margin-top: 0; }
.related-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 28px; }
.case-study-hero { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 100px); align-items: center; }
.case-study-hero .project-image { border-radius: var(--card-radius); overflow: hidden; }
.case-study-hero .project-image img { width: 100%; height: auto; }
.case-study-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 25px 0; border-block: 1px solid var(--line); }
.case-study-details dt { color: var(--muted); font-size: 12px; }
.case-study-details dd { margin: 5px 0 0; font-size: 14px; font-weight: 700; }
.case-study-outcome { padding: 36px; border-radius: var(--card-radius); background: var(--pale); }
.case-study-outcome h2 { font-size: 30px; }
@media (max-width: 850px) { .seo-columns, .seo-steps, .case-study-hero, .seo-faq { grid-template-columns: 1fr; } .seo-steps li, .seo-steps li + li { padding: 22px 0; border-left: 0; } .seo-section { padding: 42px 0; } .case-study-details { grid-template-columns: 1fr; } }
