/* Service landing only: shared agency chrome stays in site.css. */
.service-page { background:#fff; }
.service-page .service-width { width:100%;max-width:1280px;padding:0 40px;margin:0 auto; }
.service-page .service-section { padding:88px 0;scroll-margin-top:100px; }
.service-page .service-section h2 { max-width:840px;font-size:clamp(36px,4.5vw,56px);line-height:1.06;letter-spacing:-.035em;font-weight:600;margin:0 0 28px; }
.service-page .service-section h3 { font-size:25px;line-height:1.15;letter-spacing:-.025em;font-weight:600;margin:30px 0 14px; }
.service-page .service-section p { max-width:780px;font-size:17px;line-height:1.75;color:#555;margin:18px 0; }
.service-page .service-section p:first-child { margin-top:0; }
.service-page .eyebrow { display:block;font-size:12px!important;line-height:1.5!important;font-weight:500;letter-spacing:.09em;margin-bottom:24px!important; }
.service-page .service-hero { background:#191919;color:#fff;padding:138px 0 80px; }
.service-page .service-breadcrumb { display:inline-flex;gap:12px;color:#bcbcbc;font-size:12px;text-decoration:none;margin-bottom:42px; }
.service-page .service-breadcrumb a { color:inherit;text-decoration:none; }
.service-page .service-breadcrumb:hover { color:white; }
.service-page .service-hero .eyebrow { color:#bcbcbc; }
.service-page .service-hero h1 { max-width:1080px;font:600 clamp(48px,6.4vw,84px)/1.03 'Inter Tight',sans-serif;letter-spacing:-.045em;margin-bottom:30px;text-wrap:balance; }
.service-page .service-hero p { color:#c5c5c5; }
.service-page .service-hero p.lead { max-width:850px;font-size:20px;line-height:1.65; }
.service-page .service-actions { display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px; }
.service-page .service-action { display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--blue);color:white;border:1px solid transparent;border-radius:6px;padding:18px 24px;cursor:pointer;font:500 15px/1.4 'Inter',sans-serif;text-align:left;transition:background .18s; }
.service-page .service-action:hover { background:#1645b5; }
.service-page .service-action span { font-size:23px;line-height:1; }
.service-page .service-secondary { display:inline-flex;gap:16px;align-items:center;color:white;text-decoration:none;font-size:14px;padding:12px 0;border-bottom:1px solid #777; }
.service-page .service-secondary:hover { border-color:white; }
.service-page .service-text-link { display:inline-block;color:var(--blue);font-size:15px;font-weight:500;text-decoration:none;border-bottom:1px solid #a8bbef;padding:3px 0; }
.service-page .service-text-link:hover { border-color:var(--blue); }
.service-page .content-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:38px 0; }
.service-page .content-grid>div { border-top:2px solid var(--blue);padding-top:4px; }
.service-page .content-grid h3 { margin:20px 0 14px; }
.service-page .content-grid p { font-size:16px;margin:0; }
.service-page .service-choice { background:#f5f5f5; }
.service-page .table { margin:34px 0; }
.service-page table { border-collapse:collapse;width:100%;font-size:16px;line-height:1.65;text-align:left; }
.service-page th { font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#555;padding:0 24px 16px 0; }
.service-page td { padding:24px 36px 24px 0;border-top:1px solid #d6d6d6;width:50%;vertical-align:top; }
.service-page td:last-child { padding-right:0;font-weight:500; }
.service-page .service-capability-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 24px; }
.service-page .service-capability { background:#f5f5f5;padding:28px; }
.service-page .service-index { color:var(--blue);font-size:12px; }
.service-page .service-capability h3 { margin-top:28px; }
.service-page .service-capability p { font-size:15px;line-height:1.7; }
.service-page .service-section .example-note,.service-page .service-section .project-status,.service-page figcaption { color:#666;font-size:13px;line-height:1.65; }
.service-page .service-ims { background:#191919;color:white; }
.service-page .service-ims p { color:#c5c5c5; }
.service-page .service-ims .eyebrow { color:#ffbd2e; }
.service-page .service-ims figure { margin:36px 0 24px; }
.service-page .service-ims img { display:block;width:100%;height:auto;border-radius:8px;background:white; }
.service-page figcaption { margin-top:14px;max-width:850px; }
.service-page .service-ims figcaption,.service-page .service-ims .project-status { color:#bcbcbc; }
.service-page .service-ims .service-text-link { color:white;border-color:#777; }
.service-page .service-ims .service-text-link:hover { border-color:white; }
.service-page .process-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 56px;counter-reset:service-step;list-style:none;margin:36px 0 0;padding:0; }
.service-page .process-list li { border-top:1px solid #ddd;padding-top:24px;counter-increment:service-step; }
.service-page .process-list li:before { content:'0' counter(service-step);font-size:12px;color:var(--blue); }
.service-page .process-list h3 { margin-top:18px; }
.service-page .process-list p { font-size:16px; }
.service-page .service-cost { background:#f5f5f5; }
.service-page .service-cost ul { max-width:780px;list-style:none;margin:24px 0; }
.service-page .service-cost li { padding:16px 0;border-top:1px solid #ddd;font-size:16px;line-height:1.7;color:#555; }
.service-page .service-cost strong { color:#191919;font-weight:500; }
.service-page .service-faq { max-width:920px;border-top:1px solid #ddd;padding:0; }
.service-page .service-faq:last-child { border-bottom:1px solid #ddd; }
.service-page .service-faq summary { display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:24px 0;font:500 24px/1.25 'Inter Tight',sans-serif;letter-spacing:-.02em; }
.service-page .service-faq summary::-webkit-details-marker { display:none; }
.service-page .service-faq summary span { color:var(--blue);font:400 25px/1 'Inter',sans-serif; }
.service-page .service-faq[open] summary span { transform:rotate(45deg); }
.service-page .service-faq p { margin:0 0 26px;max-width:780px;font-size:16px; }
.service-page .service-contact { background:var(--blue);color:white; }
.service-page .service-contact h2 { max-width:900px;font-size:clamp(44px,5.4vw,72px); }
.service-page .service-contact .eyebrow,.service-page .service-contact p { color:white; }
.service-page .service-contact .service-action { margin:18px 0 0;background:white;color:#191919; }
.service-page .service-contact .service-action:hover { background:#ffbd2e; }
.service-page .service-contact .microcopy { font-size:13px;margin-top:16px; }
.service-page .service-action:focus-visible,.service-page summary:focus-visible,.service-page a:focus-visible { outline:3px solid #ffbd2e;outline-offset:5px; }
@media(max-width:900px) {
 .service-page .service-capability-grid { grid-template-columns:1fr;gap:16px; }
 .service-page .service-capability { padding:28px; }
 .service-page .service-capability h3 { margin-top:18px; }
}
@media(max-width:768px) {
 .service-page .service-width { padding:0 24px; }
 .service-page .service-section { padding:56px 0;scroll-margin-top:85px; }
 .service-page .service-hero { padding:110px 0 56px; }
 .service-page .service-breadcrumb { margin-bottom:30px; }
 .service-page .service-hero h1 { font-size:clamp(42px,10vw,65px); }
 .service-page .service-hero p.lead { font-size:18px; }
 .service-page .service-section h2 { font-size:38px; }
 .service-page .service-section h3 { font-size:25px; }
 .service-page .service-section p { font-size:16px; }
 .service-page .service-actions { gap:18px;margin-top:26px;align-items:flex-start;flex-direction:column; }
 .service-page .service-action { padding:17px 20px;font-size:14px;gap:20px;max-width:100%; }
 .service-page .content-grid { grid-template-columns:1fr;gap:26px;margin:30px 0; }
 .service-page .content-grid h3 { margin-top:16px; }
 .service-page .service-capability { padding:24px; }
 .service-page .service-capability p { font-size:15px; }
 .service-page thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
 .service-page table,.service-page tbody,.service-page tr,.service-page td { display:block;width:100%; }
 .service-page td { border-top:0;padding:18px 0 8px;font-size:15px; }
 .service-page tr { border-top:1px solid #d6d6d6;padding-bottom:18px; }
 .service-page td:last-child { padding:4px 0; }
 .service-page .process-list { grid-template-columns:1fr;gap:22px; }
 .service-page .service-faq summary { font-size:22px;padding:22px 0; }
 .service-page .service-contact h2 { font-size:43px; }
 .service-page .service-section .microcopy,.service-page .service-section .project-status,.service-page .service-section .example-note { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .service-page .service-action { transition:none; } }

/* The service journeys uses the existing inquiry UI with room to describe a process. */
.inquiry-service .inquiry-form-top[hidden] { display:none; }
.inquiry-service .inquiry-field textarea { height:150px;min-height:110px; }
@media(max-height:740px) and (min-width:901px) { .inquiry-service .inquiry-field textarea { height:100px;min-height:80px; } }
@media(max-width:900px) { .inquiry-service .inquiry-field textarea { height:130px;min-height:100px; } }

/* Automation case: same service grid, with a dark client-proof section. */
.automation-page .service-case { background:#191919;color:#fff; }
.automation-page .service-case p { color:#c5c5c5; }
.automation-page .service-case .eyebrow { color:#ffbd2e; }
.automation-page .service-case .process-list li { border-color:#555; }
.automation-page .service-case .process-list li:before { color:#ffbd2e; }
.automation-page .service-case figure { margin:36px 0 28px; }
.automation-page .service-case img { display:block;width:100%;height:auto;border-radius:8px; }
.automation-page .service-case figcaption,.automation-page .service-case .project-status { color:#bcbcbc; }
.automation-page .service-case .service-text-link { color:#fff;border-color:#777; }
