/* Service pages and navigation: scoped additions to the existing visual identity. */
.seo-service-catalog { padding:72px 0; background:#f3f7f7; border-top:1px solid #d6e2e3; border-bottom:1px solid #d6e2e3; }
.seo-section-intro { max-width:820px; margin-bottom:32px; }
.seo-eyebrow { color:#7b5b25; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; line-height:1.6; margin:0 0 16px; }
.seo-section-intro h2,.seo-onward h2 { color:#102c41; font:400 clamp(28px,3vw,36px)/1.22 Georgia,serif; margin:0 0 18px; letter-spacing:-.4px; }
.seo-section-intro p:not(.seo-eyebrow) { color:#405563; font-size:17px; line-height:1.8; }
.seo-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.seo-service-card { min-width:0; background:white; padding:30px; border:1px solid #d4dfe3; border-top:3px solid #24747b; display:flex; flex-direction:column; align-items:flex-start; }
.seo-card-number { color:#9a762e; font:400 22px/1.3 Georgia,serif; margin-bottom:22px; }
.seo-service-card h3 { font:400 24px/1.3 Georgia,serif; letter-spacing:-.2px; margin:0 0 16px; color:#102c41; }
.seo-service-card h3 a { color:inherit; text-decoration:none; }
.seo-service-card p { font-size:15px; line-height:1.8; color:#405563; margin:0 0 24px; }
.seo-text-link { color:#105d68; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:4px; line-height:1.65; }
.seo-service-card>.seo-text-link { margin-top:auto; }
.seo-support-title { font:400 25px/1.4 Georgia,serif; color:#102c41; margin:48px 0 22px; }
.seo-support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.seo-small-card { padding:24px 28px; border-top:1px solid #d4dfe3; }
.seo-small-card h3 { font-size:21px; }
.seo-breadcrumb { margin:0 0 36px; }
.seo-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px 14px; list-style:none; padding:0; margin:0; font-size:13px; color:#516674; }
.seo-breadcrumb li:not(:first-child)::before { content:'/'; color:#a98b55; margin-right:14px; }
.seo-breadcrumb a { color:#345568; text-underline-offset:3px; }
.seo-service-hero { padding:34px 0 64px; background:#fff; border-bottom:1px solid #d6e2e3; }
.seo-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); align-items:center; gap:56px; }
.seo-service-detail .seo-service-hero h1 { font:400 clamp(31px,3.4vw,45px)/1.18 Georgia,serif; color:#102c41; letter-spacing:-.7px; margin:0 0 25px; text-wrap:balance; }
.seo-service-intro { font-size:18px; line-height:1.85; color:#405563; max-width:70ch; margin:0 0 28px; }
.seo-service-detail .seo-service-hero a.button { display:inline-block; background:#e6c57f; color:#102c41; border:1px solid #e6c57f; padding:14px 20px; font-size:14px; font-weight:700; line-height:1.6; text-decoration:none; max-width:100%; }
.seo-service-detail .seo-service-hero a.button:hover { background:#d8b566; border-color:#d8b566; }
.seo-service-figure { margin:0; }
.seo-service-figure img { display:block; width:100%; height:auto; border-radius:2px; }
.seo-service-figure figcaption { font-size:12px; line-height:1.6; color:#61717b; padding-top:9px; }
.seo-detail-layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:70px; padding-top:62px; padding-bottom:72px; align-items:start; }
.seo-toc { position:sticky; top:25px; border-left:2px solid #d6e2e3; padding-left:22px; }
.seo-toc p { font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:#607582; margin:0 0 15px; }
.seo-toc ol { list-style:none; padding:0; margin:0; }
.seo-toc li { margin:0 0 14px; }
.seo-toc a { color:#224d61; font-size:14px; line-height:1.6; text-decoration:none; }
.seo-toc a:hover,.seo-toc a:focus { text-decoration:underline; }
.seo-detail-prose { max-width:790px; min-width:0; }
.seo-detail-section { margin:0 0 38px; scroll-margin-top:30px; }
.seo-detail-section h2,.seo-related h2 { font:400 29px/1.28 Georgia,serif; color:#102c41; margin:0 0 18px; letter-spacing:-.3px; }
.seo-detail-section p { color:#354e5f; font-size:17px; line-height:1.95; margin:0 0 18px; }
.seo-related { border-top:1px solid #d6e2e3; padding-top:30px; margin-top:45px; }
.seo-related p { color:#526674; font-size:15px; line-height:1.8; }
.seo-related ul { padding-left:20px; }
.seo-related li { margin:12px 0; line-height:1.7; }
.seo-related a { color:#105d68; text-underline-offset:4px; }
.seo-onward { background:#f3f7f7; padding:58px 0; border-top:1px solid #d6e2e3; }
.seo-onward>.wrap>p { margin-top:26px; }
.seo-footer-nav { background:#eaf1f2; border-top:1px solid #cfdbde; padding:30px 0; }
.seo-footer-nav p { margin:0 0 16px; font-size:13px; font-weight:700; letter-spacing:.06em; color:#345568; text-transform:uppercase; }
.seo-footer-nav ul { display:flex; flex-wrap:wrap; gap:10px 24px; list-style:none; padding:0; margin:0; }
.seo-footer-nav li { max-width:100%; }
.seo-footer-nav a { color:#26495c; font-size:13px; line-height:1.8; text-underline-offset:3px; }
.v5-site .seo-hub-title { font-size:clamp(30px,3.3vw,43px); line-height:1.18; }
.seo-service-deeper { margin-top:22px; }
.seo-worked-example { border-top:2px solid #c9d7db; padding-top:32px; margin-top:44px; scroll-margin-top:30px; }
.seo-worked-example h2 { font:400 28px/1.3 Georgia,serif; color:#102c41; margin:0 0 18px; }
.seo-worked-example>p { font-size:16px; line-height:1.9; color:#354e5f; }
.seo-table-scroll { max-width:100%; overflow-x:auto; margin:26px 0; border:1px solid #cedcdf; background:#fff; }
.seo-table-scroll table { border-collapse:collapse; width:100%; min-width:560px; table-layout:fixed; }
.seo-table-scroll caption { text-align:left; padding:14px 16px; color:#345568; font-size:13px; font-weight:600; background:#eef3f4; }
.seo-table-scroll th,.seo-table-scroll td { padding:15px 16px; border-top:1px solid #d6e2e3; vertical-align:top; text-align:left; font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
.seo-table-scroll thead th { background:#102c41; color:white; font-weight:600; }
.seo-table-scroll tbody th { color:#24495c; font-weight:600; }
.seo-table-scroll td { color:#354e5f; }
.seo-worked-example .seo-example-reference { font-size:13px; color:#566d7b; }
.seo-example-reference a { color:#105d68; text-underline-offset:3px; }
.seo-service-catalog :is(a,button):focus-visible,.seo-service-detail :is(a,button):focus-visible { outline:3px solid #9a762e; outline-offset:5px; }
@media(max-width:1000px) {
 .seo-service-grid { gap:16px; }
 .seo-service-card { padding:24px; }
 .seo-hero-grid { gap:30px; }
 .seo-detail-layout { grid-template-columns:190px minmax(0,1fr); gap:35px; }
}
@media(max-width:760px) {
 .seo-service-catalog { padding:44px 0; }
 .seo-service-grid,.seo-support-grid,.seo-hero-grid,.seo-detail-layout { grid-template-columns:1fr; }
 .seo-service-grid,.seo-support-grid { gap:16px; }
 .seo-service-hero { padding-bottom:38px; }
 .seo-hero-grid { gap:32px; }
 .seo-service-figure { max-width:620px; }
 .seo-detail-layout { gap:32px; padding-top:35px; padding-bottom:40px; }
 .seo-toc { position:static; }
 .seo-toc ol { display:flex; flex-wrap:wrap; gap:8px 18px; }
 .seo-toc li { margin:0; }
 .seo-detail-section h2 { font-size:25px; }
 .seo-detail-section p { font-size:16px; line-height:1.85; }
 .seo-onward { padding:40px 0; }
 .seo-breadcrumb { margin-bottom:26px; }
 .seo-breadcrumb ol { font-size:12px; }
 .seo-service-intro { font-size:17px; }
 .seo-service-card h3 { font-size:23px; }
}
