/* The Services section uses the existing navy, purple, and white brand palette. */
.service-page .service-audience { font-size:12px; color:#d5dbeb; margin-top:22px; }
.service-page .service-context { font-size:20px; line-height:1.85; color:#53647a; margin:0; }
.service-page .service-scope { margin:0; }
.service-overview-hero { padding:72px 0 76px; }
.service-overview-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:64px; align-items:center; }
.service-overview h1 { white-space:pre-line; font-size:clamp(38px,5vw,68px); }
.service-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; }
.service-hero-actions>a:last-child { font-size:14px; }
.service-compass { background:#ffffff08; border:1px solid #ffffff30; border-radius:16px; padding:30px; }
.service-compass>a { display:flex; gap:18px; align-items:center; text-decoration:none; border-top:1px solid #ffffff28; padding:24px 0; }
.service-compass>a:last-child { padding-bottom:0; }
.service-compass>a>span { color:#c3b9ff; font-size:13px; }
.service-compass>a>span:last-child { margin-left:auto; }
.service-compass strong { display:block; color:white; font-size:18px; line-height:1.4; }
.service-compass small { display:block; color:#cdd8e7; font-size:13px; margin-top:6px; }
.service-compass>a:hover strong { color:#c8c0ff; }
.service-audience-strip { border-bottom:1px solid #dce3ee; background:#f5f7fc; padding:23px 0; }
.service-audience-strip>div { display:flex; align-items:center; flex-wrap:wrap; gap:16px 30px; }
.service-audience-strip p { margin:0; font-weight:700; font-size:14px; }
.service-audience-strip a { font-size:13px; }
.service-directory-heading { display:flex; gap:30px; align-items:flex-end; justify-content:space-between; }
.service-search { width:360px; max-width:100%; }
.service-search label { display:block; font-size:13px; font-weight:700; margin-bottom:7px; }
.service-search input { box-sizing:border-box; width:100%; border:1px solid #a8b4ca; border-radius:8px; padding:14px 16px; font:inherit; font-size:14px; background:white; color:#18364c; }
.service-search input:focus-visible { outline:3px solid #aaa0e7; outline-offset:3px; }
.service-page .service-result-count { font-size:12px; color:#53647a; margin:14px 0; }
.service-category-links { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 46px; }
.service-category-links a { padding:9px 15px; border:1px solid #d3dbea; border-radius:6px; text-decoration:none; color:#18364c; font-size:13px; background:#f7f8fc; }
.service-category-links a:hover { border-color:#8171cb; background:#f0edfa; }
.service-category { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,2fr); gap:48px; border-top:1px solid #dce3ee; padding:40px 0; scroll-margin-top:30px; }
.service-category-number { color:#6357c6; font-size:12px; display:block; margin-bottom:12px; }
.service-category-intro h3 { font-size:25px; }
.service-category-intro p { font-size:14px; color:#53647a; }
.service-category-intro>a { display:inline-block; font-size:12px; margin-top:20px; }
.service-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-content:start; }
.service-directory-card { border:1px solid #e0e5ef; border-radius:10px; background:#fff; padding:23px; transition:border-color .15s,background .15s; }
.service-directory-card:hover { border-color:#aaa0d9; background:#faf9ff; }
.service-directory-card h4 { margin:0; font-size:17px; line-height:1.45; font-weight:650; }
.service-directory-card h4 a { text-decoration:none; color:#18364c; }
.service-directory-card h4 a:hover { color:#5146b7; text-decoration:underline; }
.service-directory-card h4 span { color:#6c5ab6; white-space:nowrap; }
.service-directory-card p { font-size:13px; color:#53647a; line-height:1.75; margin-top:10px; }
.service-page [hidden] { display:none!important; }
.service-no-results { background:#f5f3fc; border-radius:12px; padding:36px; }
.service-no-results .ai-button { margin-top:24px; }
.service-engagement-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.service-engagement-grid p { color:#53647a; }
.service-engagement-steps { list-style:none; padding:0; margin:0; }
.service-engagement-steps li { display:flex; gap:20px; border-bottom:1px solid #d3dbea; padding:20px 0; }
.service-engagement-steps li:first-child { padding-top:0; }
.service-engagement-steps li>span { color:#6357c6; font-size:12px; padding-top:5px; }
.service-engagement-steps li p { font-size:14px; margin-top:8px; }
.service-decision-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.service-decision-board>div { padding:18px; background:#eeeaf8; border-radius:4px 4px 14px 4px; }
.service-decision-board .ai-node { background:transparent; border:0; padding:0; }
.service-bridge { display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:28px; align-items:center; }
.service-bridge-core { display:grid; gap:12px; padding:20px; border-left:2px solid #a496d2; border-right:2px solid #a496d2; }
.service-feedback { border-top:2px solid #a496d2; padding-top:15px; margin-top:20px; font-size:12px; color:#5146b7; }
.service-boundary { display:grid; gap:16px; }
.service-protected { padding:20px; border:2px dashed #a496d2; border-radius:12px; display:grid; gap:12px; background:#efecf9; }
.service-protected .ai-step { margin:0; }
.service-collaboration { display:grid; gap:16px; }
.service-collaboration>.ai-node { text-align:center; }
.service-diagram-journey .ai-flow-index { border-radius:50%; background:#eeeaf8; text-align:center; padding-top:12px; }
@media(max-width:1100px) { .service-overview-grid { gap:30px; } .service-category { gap:28px; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); } }
@media(max-width:800px) { .service-overview-grid,.service-engagement-grid { grid-template-columns:1fr; gap:36px; } .service-overview-hero { padding:44px 0; } .service-category { grid-template-columns:1fr; gap:22px; } .service-category-intro>a { margin-top:10px; } .service-directory-heading { flex-direction:column; align-items:stretch; } .service-search { width:100%; } .service-decision-board { grid-template-columns:1fr 1fr; } .service-bridge { grid-template-columns:1fr; gap:18px; } .service-bridge-core { border:0; border-top:2px solid #a496d2; border-bottom:2px solid #a496d2; } }
@media(max-width:520px) { .service-link-grid { grid-template-columns:1fr; } .service-compass { padding:22px; } .service-decision-board { grid-template-columns:1fr; } .service-category-links { gap:8px; } .service-category-links a { padding:9px 11px; font-size:12px; } .service-audience-strip>div { flex-direction:column; align-items:flex-start; } .service-page .service-context { font-size:18px; } }
