.o3-service-hero { background:var(--o3-pale); padding:44px 0 0; border-bottom:1px solid var(--o3-line); }
.o3-service-hero h1 { font-size:clamp(42px,4.1vw,62px); line-height:1.07; letter-spacing:-1.8px; max-width:850px; margin:0 0 23px; }
.o3-service-hero h1 span { color:var(--o3-blue); }
.o3-service-lead { max-width:700px; font-size:18px; line-height:1.8; margin:0 0 26px; }
.o3-service-hero-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:70px; align-items:center; padding:25px 0 38px; }
.o3-breadcrumb { display:flex; gap:14px; align-items:center; flex-wrap:wrap; font-size:12px; color:var(--o3-muted); margin-bottom:20px; }
.o3-breadcrumb .o3-text-link { font-size:12px; }
.o3-breadcrumb .o3-text-link span { display:none; }
.o3-result-card { background:#fff; border:1px solid var(--o3-line); border-radius:12px; padding:30px; }
.o3-result-card h2 { font-size:29px; line-height:1.15; margin:0 0 16px; }
.o3-result-card p:not(.o3-eyebrow) { font-size:15px; line-height:1.8; }
.o3-result-platforms { font-size:12px; color:var(--o3-blue); border-top:1px solid var(--o3-line); padding-top:18px; margin-top:22px; }
.o3-section-nav { display:flex; flex-wrap:wrap; gap:14px 30px; padding:24px 0; margin-top:34px; border-top:1px solid var(--o3-line); }
.o3-section-nav a { font-size:13px; color:var(--o3-muted); padding:6px 0; }
.o3-section-nav a:hover { color:var(--o3-blue); text-decoration:underline !important; text-underline-offset:5px; }
.o3-service-index { font-size:11px; text-transform:uppercase; letter-spacing:1.2px; color:var(--o3-blue); margin-bottom:24px; }
.o3-card-title-link { color:inherit; }
.o3-card-title-link:hover { color:var(--o3-blue); }
.o3-scope-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.o3-scope-grid h3 { font-size:28px; margin:0 0 21px; }
.o3-scope-grid p { font-size:15px; line-height:1.85; }
.o3-delivery-list { margin:0; padding:0; list-style:none; }
.o3-delivery-list li { position:relative; padding:0 0 0 23px; margin:0 0 16px; font-size:14px; line-height:1.8; color:var(--o3-muted); }
.o3-delivery-list li:before { content:'✓'; color:var(--o3-blue); position:absolute; left:0; }
.o3-deliverables-panel { background:#fff; padding:28px; border:1px solid var(--o3-line); border-radius:10px; }
.o3-acceptance { background:#f9fafc; border-block:1px solid var(--o3-line); }
.o3-acceptance h2 { font-size:36px; margin-bottom:18px; }
.o3-acceptance h3 { margin-top:0; }
.o3-faq-layout { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; }
.o3-faq details { border-bottom:1px solid var(--o3-line); }
.o3-faq summary { padding:19px 28px 19px 0; font-size:16px; font-weight:500; cursor:pointer; color:var(--o3-ink); list-style-position:inside; }
.o3-faq summary:hover { color:var(--o3-blue); }
.o3-faq summary:focus-visible { outline:3px solid var(--o3-blue); outline-offset:4px; }
.o3-faq p { font-size:14px; line-height:1.85; margin:0 0 22px; }
.o3-related-links { display:flex; gap:22px 45px; flex-wrap:wrap; }
.o3-supporting-card { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:34px 0; border-top:1px solid var(--o3-line); }
.o3-supporting-card h3 { font-size:29px; line-height:1.25; }
.o3-supporting-card h4 { font-size:12px; color:var(--o3-blue); text-transform:uppercase; letter-spacing:1px; margin:0 0 9px; }
.o3-supporting-card p { font-size:14px; line-height:1.85; }
.o3-supporting-card .o3-example-text { margin-top:19px; }
.o3-supporting-card .o3-text-link { margin:8px 20px 0 0; }
.o3-services-page .o3-engagement .o3-delivery-list li:before { content:'✓'; }
@media(max-width:980px) {
  .o3-service-hero-grid { gap:30px; grid-template-columns:1.2fr 1fr; }
  .o3-scope-grid, .o3-supporting-card { gap:30px; }
  .o3-faq-layout { gap:35px; }
  .o3-result-card { padding:22px; }
  .o3-section-nav { gap:10px 20px; }
  .o3-services-page .o3-service-card .o3-text-link { font-size:13px; }
}
@media(max-width:700px) {
  .o3-service-hero { padding-top:30px; }
  .o3-service-hero h1 { font-size:43px; letter-spacing:-1.2px; }
  .o3-service-lead { font-size:16px; }
  .o3-service-hero-grid, .o3-scope-grid, .o3-supporting-card, .o3-faq-layout { grid-template-columns:1fr; gap:26px; }
  .o3-service-hero-grid { padding-top:10px; padding-bottom:0; }
  .o3-section-nav { margin-top:28px; padding-block:18px; }
  .o3-result-card h2 { font-size:28px; }
  .o3-acceptance h2 { font-size:32px; }
  .o3-supporting-card h3 { font-size:27px; }
  .o3-supporting-card { padding-block:28px; }
  .o3-faq summary { font-size:15px; }
}
@media(max-width:360px) { .o3-service-hero h1 { font-size:37px; } }
