/* Scoped editorial components for service and industry stories. */
.focus-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.focus-cards article { padding:32px; border:1px solid #d5e5e0; border-radius:20px; background:#F7F9F8; }
.focus-number { display:block; font-size:12px; font-weight:700; letter-spacing:.1em; color:#0D7377; margin-bottom:22px; }
.focus-cards h3 { font-size:23px; line-height:1.35; margin-bottom:16px; }
.focus-cards p { margin:0; }
.focus-split { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.focus-band { background:#0B3548; color:#fff; }
.focus-band .eyebrow { color:#bbd9d2; }
.focus-band h2,.focus-band h3 { color:#fff; }
.focus-band h2+p { margin-top:24px; color:#e0ece9; }
.focus-note { padding:32px; border:1px solid #ffffff30; border-radius:20px; background:#ffffff06; }
.focus-note h3 { font-size:21px; }
.focus-note ul { padding-left:20px; margin:22px 0 28px; }
.focus-note li { padding-left:6px; margin-bottom:12px; }
.focus-note li::marker { color:#EA8A3A; }
.service-foundation { background:#EDF4F2; background-image:linear-gradient(#0d737708 1px,transparent 1px),linear-gradient(90deg,#0d737708 1px,transparent 1px); background-size:48px 48px; }
.service-foundation .lead { margin:24px 0; }
.foundation-note { padding:36px; border:1px solid #c3dcd5; border-radius:20px; background:#fff; }
.foundation-note .focus-number { margin:0 0 16px; }
.foundation-note p+.focus-number { border-top:1px solid #d5e5e0; padding-top:24px; margin-top:24px; }
.home-people .large-copy { border-left:3px solid #EA8A3A; padding-left:22px; }
.home-people .text-link { border-bottom:1px solid #b8d2cb; padding-bottom:8px; }
@media(max-width:900px) { .focus-cards { grid-template-columns:1fr; } .focus-cards article { display:grid; grid-template-columns:40px 1fr; gap:0 16px; } .focus-cards .focus-number { grid-row:span 2; padding-top:5px; } .focus-cards p { grid-column:2; } }
@media(max-width:760px) { .focus-split { grid-template-columns:1fr; } .focus-note,.foundation-note { padding:26px; } .focus-cards article { padding:24px; } }
.service-questions .faq { max-width:none; }
.service-questions .faq details > div { max-width:850px; }
.service-local { padding:26px 0; background:#EDF4F2; border-top:1px solid #d5e5e0; }
.service-local p { margin:0; font-size:15px; }
.service-local a { text-decoration:underline; text-underline-offset:3px; }
