html { scroll-behavior: smooth; scroll-padding-top: 90px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #60a5fa; outline-offset: 4px; }
.hero { padding: 5rem 1rem; }
.hero .container { gap: 3rem; align-items: center; }
.hero-content { flex: 1.15; min-width: 0; }
.hero h1 { font-size: 3rem; font-weight: 700; line-height: 1.2; margin-bottom: 1.5rem; }
.hero p.seo-home-intro { max-width: 580px; color: #94a3b8; font-size: 1.125rem; line-height: 1.6; }
.hero-image { flex: 1; }
.hero-image img { margin: 0; width: 100%; height: 370px; object-position: 26% center; }
.hero-buttons .btn-primary, .hero-buttons .btn-secondary { padding: .75rem 2rem; font-size: 1rem; font-weight: 500; }
.seo-section-intro { line-height: 1.9; margin-bottom: 1.5rem; }
.seo-process-links { display: flex; gap: .75rem; flex-wrap: wrap; justify-content: center; margin: 0 auto 2rem; }
.seo-process-links a { font-size: .875rem; font-weight: 600; color: #2563eb; background: #eff6ff; border: 1px solid #dbeafe; padding: .6rem 1rem; border-radius: 6px; }
.seo-process-links a:hover { background: #dbeafe; }
.seo-process-links span { padding-left: .75rem; }
.seo-service-hero { position: relative; overflow: hidden; background: #0f172a; color: white; padding: 5rem 0; }
.seo-service-hero::before { content: ''; position: absolute; inset: 0; opacity: .1; pointer-events: none; background-image: linear-gradient(to right, white 1px, transparent 1px), linear-gradient(to bottom, white 1px, transparent 1px); background-size: 40px 40px; }
.seo-service-hero-inner { position: relative; max-width: 1280px; }
.seo-service-hero-copy { min-width: 0; }
.seo-service-hero h1 { font-size: 3rem; font-weight: 700; line-height: 1.2; margin-bottom: 1.5rem; }
.seo-service-hero h1 span { color: #3b82f6; }
.seo-lead { max-width: 820px; color: #cbd5e1; line-height: 1.6; font-size: 1.125rem; }
.seo-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.seo-button { display: inline-flex; justify-content: center; align-items: center; gap: 1.25rem; background: #2563eb; border: 1px solid #2563eb; color: white; border-radius: 8px; padding: .75rem 2rem; font-weight: 500; font-size: 1rem; }
.seo-button:hover { background: #1d4ed8; }
.seo-button-outline { background: transparent; border-color: #475569; }
.seo-button-outline:hover { background: #1e293b; }
.seo-service-layout { display: grid; grid-template-columns: 152px minmax(0, 1fr); gap: 2.5rem; max-width: 1480px; padding: 3.5rem 2rem 0; margin: 0 auto; align-items: start; }
.seo-service-content { min-width: 0; }
.seo-service-content > .container { padding-left: 0; padding-right: 0; }
.seo-section-nav { position: sticky; top: 96px; display: flex; flex-direction: column; gap: .375rem; padding: .5rem 0; border-left: 1px solid #e2e8f0; font-size: 1rem; color: #64748b; }
.seo-section-nav a { display: block; padding: .8rem 1.1rem; margin-left: -1px; border-left: 3px solid transparent; border-radius: 0 6px 6px 0; white-space: nowrap; }
.seo-section-nav a:hover { color: #2563eb; background: #f1f5f9; }
.seo-section-nav a[aria-current="location"] { color: #2563eb; border-left-color: #2563eb; background: #eff6ff; font-weight: 600; }
.seo-overview { max-width: 1200px; margin: 0 auto 3.5rem; }
.seo-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.5rem; }
.seo-heading-row h2, .seo-faq h2 { font-size: 1.75rem; line-height: 1.5; color: #0f172a; }
.seo-heading-row > p { color: #64748b; font-size: .875rem; }
.seo-process-summaries { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.seo-process-summary { border: 1px solid #e2e8f0; background: white; border-radius: .75rem; padding: 1.65rem; }
.seo-process-summary h3 { font-size: 1.25rem; color: #0f172a; margin-bottom: 1.5rem; }
.seo-process-summary dl { display: grid; gap: .85rem; margin-bottom: 1.5rem; }
.seo-process-summary dl > div { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; }
.seo-process-summary dt { color: #64748b; font-size: .8125rem; }
.seo-process-summary dd { text-align: right; color: #0f172a; font-size: .9375rem; }
.seo-process-summary dd span { color: #64748b; font-size: .75rem; }
.seo-text-link { color: #2563eb; font-size: .8125rem; font-weight: 600; }
.seo-text-link span { margin-left: .5rem; }
.seo-text-link:hover { text-decoration: underline; }
.seo-note { font-size: .8125rem; color: #64748b; margin-top: 1rem; }
.section-title { text-transform: none; letter-spacing: .01em; }
.seo-faq { max-width: 1232px; margin: 4rem auto; }
.seo-faq h2 { margin-bottom: 1.5rem; }
.seo-faq-list { border-top: 1px solid #cbd5e1; }
.seo-faq details { border-bottom: 1px solid #e2e8f0; padding: 1.25rem 0; }
.seo-faq summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; }
.seo-faq summary::-webkit-details-marker { display: none; }
.seo-faq summary::after { content: '+'; color: #2563eb; font-size: 1.25rem; font-weight: 400; }
.seo-faq details[open] summary::after { content: '−'; }
.seo-faq details p { color: #475569; font-size: .9375rem; line-height: 1.9; max-width: 1000px; padding-top: 1rem; }
@media(max-width: 900px) {
    html { scroll-padding-top: 144px; }
    .seo-service-layout { display: block; padding: 0 1rem; }
    .seo-section-nav { top: 64px; z-index: 40; flex-direction: row; gap: .25rem; margin: 0 -1rem 2.5rem; padding: .5rem 1rem; overflow-x: auto; background: #f8fafc; border-left: 0; border-bottom: 1px solid #e2e8f0; font-size: .875rem; }
    .seo-section-nav a { flex: 0 0 auto; border-left: 0; border-bottom: 2px solid transparent; border-radius: 4px 4px 0 0; padding: .75rem .7rem; margin-left: 0; }
    .seo-section-nav a[aria-current="location"] { border-bottom-color: #2563eb; }
    .seo-process-summary { padding: 1.15rem; }
    .seo-process-summary dl > div { display: block; }
    .seo-process-summary dd { text-align: left; margin-top: .25rem; }
}
@media(max-width: 768px) {
    .hero h1, .seo-service-hero h1 { font-size: 2rem; }
    .hero .container { gap: 2rem; }
    .hero-image img { height: 280px; }
    .seo-process-summaries { grid-template-columns: 1fr; }
    .seo-process-summary dl > div { display: flex; }
    .seo-process-summary dd { text-align: right; margin: 0; }
    .seo-heading-row { display: block; }
    .seo-heading-row > p { margin-top: .75rem; }
}
@media(max-width: 600px) {
    .hero { padding: 3rem 0; }
    .hero-buttons { gap: .75rem; }
    .section { padding: 3rem 1rem; }
    .section-title { font-size: 1.5rem; }
    .seo-process-links { gap: .5rem; }
    .seo-process-links a { padding: .5rem .65rem; font-size: .75rem; }
    .seo-process-links span { padding-left: .25rem; }
    .seo-service-hero { padding: 3.5rem 0; }
    .seo-actions { gap: .75rem; }
    .seo-heading-row h2, .seo-faq h2 { font-size: 1.4rem; }
    .seo-process-summary { padding: 1.5rem; }
    .seo-overview { margin-bottom: 2.5rem; }
    .seo-faq { margin-top: 2.5rem; margin-bottom: 2.5rem; }
    .seo-faq summary { font-size: .9375rem; }
}
