/* Shared presentation for service content maintained in Admin > Custom Pages. */
.service-page .svc-card-heading { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; margin-bottom:14px; }
.service-page .svc-card-heading > .svc-heading-badge { display:grid; place-items:center; width:42px; height:42px; padding:0; margin:0; border:0; border-radius:12px; background:#fff1e8; color:#e95316; box-shadow:none; font-size:14px; }
.service-page .svc-card-heading > :is(h3,h4) { margin:0; font-size:19px; line-height:1.35; }
.service-page .svc-hero-extras { display:none; }
.service-page .svc-container { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.service-page .svc-section { padding-block:32px; }
.service-page .svc-section:nth-child(even) { background:#fafafa; }
.service-page .svc-split { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:40px; }
.service-page .svc-split > * { min-width:0; }
.service-page .svc-grid { display:flex; flex-wrap:wrap; gap:16px; margin-block:20px; }
.service-page .svc-grid > * { flex:1 1 calc((100% - 32px)/3); min-width:0; }
.service-page .svc-card { padding:20px; background:#fff; border:1px solid #e1e4e8; border-radius:18px; box-shadow:0 8px 24px #11111105; }
.service-page .svc-stack { display:grid; gap:16px; }
.service-page .svc-section-head { margin-bottom:28px; }
.service-page .svc-icon { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#fff1e8; color:#e95316; margin-bottom:16px; }
.service-page .svc-eyebrow { margin:0; }
.service-page .svc-card > span { display:block; line-height:1.6; }
.service-page .svc-label { color:#d94e00; font-size:12px; font-weight:600; }
.service-page .svc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-block:22px; }
.service-page :is(.svc-button,.svc-button-secondary) { display:inline-flex; align-items:center; justify-content:center; padding:13px 20px; min-height:48px; border-radius:12px; background:#ff6000; color:#fff; font-size:14px; font-weight:600; border:1px solid #ff6000; }
.service-page .svc-button-secondary { background:#fff; border-color:#e1e4e8; color:#111; }
.service-page .svc-decoration { display:none; }
.service-page .svc-image { width:100%; max-height:420px; object-fit:contain; border-radius:18px; margin-block:14px; }
.service-page .svc-cta { background:radial-gradient(ellipse at top right,#ffdfc7,transparent 60%),#fafafa; padding:40px; border:1px solid #f1e5dc; border-radius:22px; text-align:center; }
.service-page .svc-cta .svc-actions { justify-content:center; }
.service-page .svc-button:focus-visible,.service-page .svc-button-secondary:focus-visible { outline:2px solid #ff6000; outline-offset:4px; }
@media(max-width:1000px) { .service-page .svc-split { grid-template-columns:1fr; } .service-page .svc-grid > * { flex-basis:calc((100% - 16px)/2); } }
@media(max-width:580px) { .service-page .svc-grid > * { flex-basis:100%; } .service-page .svc-cta { padding:24px 18px; } }
@media(max-width:580px) { .service-page .svc-container { width:calc(100% - 40px); } .service-page .svc-section { padding-block:28px; } .service-page .svc-actions > a { width:100%; } }
.service-page { background:#fff; color:#111; overflow-wrap:anywhere; --aiax-text:#111; --aiax-text-soft:#5f6368; --aiax-accent:#ff6000; }
.service-page *, .service-page *::before,.service-page *::after { box-sizing:border-box; }
.service-page :is(.asp-container,.aiax-container,.container,.service-breadcrumb--fallback) { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.service-page .service-breadcrumb { display:flex; flex-wrap:wrap; gap:6px 8px; margin-bottom:24px; font-size:12px; line-height:1.6; color:#68707a; }
.service-page .service-breadcrumb--fallback { padding-top:24px; }
.service-page :is(h1,h2,h3,h4,strong) { color:#111; }
.service-page h1 { font-size:clamp(32px,3.7vw,52px); line-height:1.12; letter-spacing:-.04em; margin:14px 0 22px; }
.service-page h2 { font-size:clamp(26px,3vw,40px); line-height:1.2; letter-spacing:-.03em; margin:12px 0 20px; }
.service-page h3 { font-size:19px; line-height:1.35; margin:0 0 12px; }
.service-page :is(p,li) { color:#5f6368; line-height:1.7; font-size:15px; }
.service-page p { margin:0 0 18px; }
.service-page p:empty { display:none; }
.service-page img { max-width:100%; height:auto; display:block; }
.service-page :is(ul,ol) { padding-left:20px; margin-block:14px; }
.service-page ul { list-style:disc; }
.service-page :is(.asp-section,.aiax-section) { padding-block:32px; }
.service-page :is(.asp-section,.aiax-section):nth-of-type(even) { background:#fafafa; }
.service-page :is(.asp-hero-v2-section,.aiax-hero) { padding-block:30px 48px; background:radial-gradient(ellipse at top right,#ffede0,transparent 55%),linear-gradient(#e5e7eb44 1px,transparent 1px),linear-gradient(90deg,#e5e7eb44 1px,transparent 1px); background-size:auto,48px 48px,48px 48px; }
.service-page :is(.asp-hero-v2,.aiax-hero-grid,.aiax-showcase-grid) { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; }
.service-page :is(.asp-eyebrow,.aiax-eyebrow,.aiax-hero-badge,.asp-kicker,.svc-eyebrow) { display:inline-flex; align-items:center; gap:10px; color:#ff6000; font-size:11px; line-height:1.5; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.service-page :is(.asp-eyebrow,.aiax-eyebrow,.aiax-hero-badge,.asp-kicker,.svc-eyebrow)::before { content:''; display:block; width:24px; height:1px; flex:0 0 24px; background:currentColor; }
.service-page :is(.asp-eyebrow,.aiax-eyebrow,.aiax-hero-badge,.asp-kicker,.svc-eyebrow) > i { display:none; }
.service-page :is(.asp-accent,.aiax-accent-text) { color:#111; }
.service-page :is(.asp-btn,.aiax-btn,.asp-btn-secondary,.aiax-btn-alt) { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; padding:12px 20px; border-radius:12px; border:1px solid #e1e4e8; font-size:14px; font-weight:600; background:#fff; color:#111; }
.service-page :is(.asp-btn,.aiax-btn) { background:#ff6000; border-color:#ff6000; color:#fff; }
.service-page :is(.asp-hero-actions,.aiax-btn-row) { display:flex; flex-wrap:wrap; gap:12px; margin-block:22px; }
.service-page :is(.asp-hero-badges,.aiax-hero-chips,.asp-stage-chip-row) { display:flex; flex-wrap:wrap; gap:8px; margin-block:16px; }
.service-page :is(.asp-hero-micro,.aiax-hero-chip,.asp-stage-chip-row > span) { padding:6px 10px; border:1px solid #e1e4e8; border-radius:20px; font-size:11px; background:#fff; }
.service-page :is(.asp-hero-stage,.aiax-hero-media,.aiax-showcase-visual) { padding:20px; border:1px solid #e1e4e8; border-radius:22px; background:#f5f6f8; box-shadow:0 18px 46px #1111110d; overflow:hidden; }
.service-page :is(.aiax-hero-media,.aiax-showcase-visual) img { width:100%; border-radius:14px; object-fit:cover; max-height:480px; }
.service-page :is(.aiax-float,.aiax-divider) { display:none; }
.service-page .asp-stage-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:14px; }
.service-page :is(.asp-device-shell,.asp-stage-info-card,.asp-hero-mini-card,.aiax-metric) { padding:18px; border:1px solid #e1e4e8; border-radius:14px; background:#fff; }
.service-page :is(.asp-stage-info,.asp-device-screen) { display:grid; gap:12px; }
.service-page :is(.asp-device-primary,.asp-device-mini,.asp-device-list) { padding:14px; border-radius:10px; background:#fff4ed; }
.service-page :is(.asp-stage-info-card,.asp-device-primary,.asp-device-mini) :is(small,span) { display:block; font-size:11px; color:#68707a; margin-bottom:8px; }
.service-page :is(.asp-stage-info-card,.asp-device-primary,.asp-device-mini) strong { font-size:14px; line-height:1.5; }
.service-page :is(.asp-hero-mini-grid,.asp-device-mini-row,.aiax-hero-metrics) { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-top:18px; }
.service-page :is(.asp-hero-mini-card,.aiax-metric) :is(strong,span) { display:block; font-size:13px; line-height:1.6; }
.service-page :is(.asp-section-head,.aiax-section-head,.asp-brand-head) { margin-bottom:28px; }
.service-page :is(.asp-service-grid,.aiax-services-grid,.asp-highlights-grid,.asp-testimonial-grid,.aiax-steps-grid,.aiax-usecases-grid,.aiax-stack-grid,.asp-stack-wrap) { display:flex; flex-wrap:wrap; gap:16px; }
.service-page :is(.asp-service-grid,.aiax-services-grid,.asp-highlights-grid,.asp-testimonial-grid,.aiax-steps-grid,.aiax-usecases-grid,.aiax-stack-grid,.asp-stack-wrap) > * { flex:1 1 calc((100% - 32px)/3); min-width:0; }
.service-page :is(.asp-service-card,.aiax-service,.asp-highlight-card,.asp-testimonial-card,.aiax-step,.aiax-usecase,.aiax-stack-pill,.asp-stack-item) { padding:20px; border:1px solid #e1e4e8; border-radius:18px; background:#fff; box-shadow:0 8px 24px #11111105; }
.service-page :is(.asp-icon-badge,.aiax-icon,.aiax-step-num,.aiax-showcase-dot) { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#fff1e8; color:#e95316; margin-bottom:16px; }
.service-page .aiax-service-points { display:grid; gap:8px; font-size:13px; color:#525960; }
.service-page .aiax-service-points i { color:#e95316; margin-right:6px; }
.service-page .aiax-showcase-list-item { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; margin-top:18px; }
.service-page .aiax-usecase-media img { width:100%; aspect-ratio:5/3; object-fit:cover; border-radius:12px; margin-bottom:16px; }
.service-page .aiax-usecase-tag { font-size:11px; color:#d94e00; display:block; margin-bottom:10px; }
.service-page .aiax-stack-pill { font-weight:600; }
.service-page .aiax-stack-pill span { display:block; font-size:13px; color:#5f6368; font-weight:400; margin-top:8px; }
.service-page .asp-logo-strip { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:24px; }
.service-page .asp-logo-card { flex:0 1 155px; padding:12px; }
.service-page .asp-logo-card img { width:100%; max-height:60px; object-fit:contain; }
.service-page .asp-stars { color:#e95316; margin-bottom:14px; }
.service-page .asp-author { font-size:13px; font-weight:600; }
.service-page :is(.asp-cta,.aiax-cta-card) { padding:40px; border:1px solid #f1e5dc; border-radius:22px; background:radial-gradient(ellipse at top right,#ffdfc7,transparent 60%),#fafafa; text-align:center; }
.service-page .aiax-cta-card .aiax-btn-row { justify-content:center; }
.service-page .row { display:flex; flex-wrap:wrap; gap:20px; }
.service-page .row > [class*="col-"] { flex:1 1 280px; min-width:0; }
.service-page .category__item { padding:24px; border:1px solid #e1e4e8; border-radius:16px; margin-block:14px; }
.service-page table { display:block; max-width:100%; overflow-x:auto; }
@media(max-width:1000px) {
 .service-page :is(.asp-hero-v2,.aiax-hero-grid,.aiax-showcase-grid) { grid-template-columns:1fr; }
 .service-page :is(.asp-service-grid,.aiax-services-grid,.asp-highlights-grid,.asp-testimonial-grid,.aiax-steps-grid,.aiax-usecases-grid,.aiax-stack-grid,.asp-stack-wrap) > * { flex-basis:calc((100% - 16px)/2); }
}
@media(max-width:580px) {
 .service-page :is(.asp-container,.aiax-container,.container,.service-breadcrumb--fallback) { width:calc(100% - 40px); }
 .service-page :is(.asp-section,.aiax-section,.svc-section) { padding-block:24px; }
 .service-page :is(.asp-service-grid,.aiax-services-grid,.asp-highlights-grid,.asp-testimonial-grid,.aiax-steps-grid,.aiax-usecases-grid,.aiax-stack-grid,.asp-stack-wrap) > * { flex-basis:100%; }
 .service-page .asp-stage-grid { grid-template-columns:1fr; }
 .service-page :is(.asp-cta,.aiax-cta-card) { padding:24px 18px; }
 .service-page :is(.asp-btn,.aiax-btn,.asp-btn-secondary,.aiax-btn-alt) { width:100%; }
}
.service-page :is(.aiax-hero-chips,.aiax-hero-metrics) { display:none; }
.service-page :is(.aiax-service,.aiax-step,.asp-service-card):has(> :is(.aiax-icon,.aiax-step-num,.asp-icon-badge)) {
 display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px 12px; align-content:start; align-items:center;
}
.service-page :is(.aiax-service,.aiax-step,.asp-service-card) > :is(.aiax-icon,.aiax-step-num,.asp-icon-badge) { grid-column:1; grid-row:1; margin:0; align-self:start; }
.service-page :is(.aiax-service,.aiax-step,.asp-service-card):has(> :is(.aiax-icon,.aiax-step-num,.asp-icon-badge)) > h3 { grid-column:2; grid-row:1; margin:0; }
.service-page :is(.aiax-service,.aiax-step,.asp-service-card):has(> :is(.aiax-icon,.aiax-step-num,.asp-icon-badge)) > :not(h3,.aiax-icon,.aiax-step-num,.asp-icon-badge) { grid-column:1 / -1; margin:0; }
@media(min-width:1001px) {
 .service-page :is(.asp-service-grid,.asp-highlights-grid,.asp-stack-wrap,.aiax-services-grid,.aiax-usecases-grid,.aiax-stack-grid,.svc-grid):has(> :nth-child(4):last-child) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
 .service-page :is(.aiax-steps-grid,.svc-process-grid) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
}
.service-page .svc-service-hero { margin-top:0; background:radial-gradient(ellipse at top right,#ffede0,transparent 55%),linear-gradient(#e5e7eb44 1px,transparent 1px),linear-gradient(90deg,#e5e7eb44 1px,transparent 1px); background-size:auto,48px 48px,48px 48px; }
.service-page .svc-hero-picture { min-width:0; overflow:hidden; border:1px solid #e1e4e8; border-radius:20px; background:#f4f5f7; box-shadow:0 12px 32px #1111110a; }
.service-page .svc-hero-picture img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
/* Footer CMS templates use the same section and content treatment as AI Agent. */
.service-page .svc-page-shell { width:100%; max-width:none; margin:0; padding:0; }
.service-page .svc-copy-panel { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.service-page .svc-service-hero { padding-block:30px 48px; }
.service-page .svc-section .svc-grid { margin-bottom:0; }
.service-page .svc-detail-list { display:grid; grid-template-columns:1fr; gap:8px; margin:14px 0 0; }
.service-page .svc-detail-list > .svc-detail-point {
    display:block; position:relative; padding:0 0 0 18px; border:0;
    border-radius:0; box-shadow:none; background:transparent;
    color:#5f6368; font-size:13px; line-height:1.6;
}
.service-page .svc-detail-point::before { content:'\2713'; position:absolute; left:0; color:#ff6000; }
.service-page .svc-detail-point > span { display:block; }
.service-page .svc-detail-point > span:first-child { color:#111; font-weight:600; }
.service-page .svc-media-panel { padding:20px; border:1px solid #e1e4e8; border-radius:22px; background:#f5f6f8; box-shadow:0 18px 46px #1111110d; overflow:hidden; }
.service-page .svc-media-panel .svc-image { margin:0; width:100%; aspect-ratio:4/3; max-height:480px; object-fit:cover; border-radius:14px; }
.service-page .svc-card-title { display:block; color:#111; font-size:19px; font-weight:600; margin-bottom:10px; }
.service-page .svc-grid > .svc-grid-note { flex-basis:100%; padding:16px 20px; border-left:2px solid #ff6000; }
.service-page .svc-grid-note > span { display:none; }
.service-page .svc-grid-note p { margin:0; }
.service-page .svc-cta h2 { max-width:800px; margin-inline:auto; }
.service-page .svc-cta p { max-width:920px; margin-inline:auto; }
@media(max-width:580px) {
 .service-page .svc-service-hero { padding-block:24px; }
 .service-page .svc-media-panel { padding:12px; }
}
.service-page :is(.asp-service-card,.asp-highlight-card,.aiax-service,.aiax-step,.svc-card) { min-height:0; }
.service-page :is(.asp-service-card,.asp-highlight-card,.aiax-service,.aiax-step,.svc-card) > :last-child { margin-bottom:0; }
@media(min-width:581px) and (max-width:1000px) { .service-page .svc-process-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) { .service-page .svc-process-grid { display:grid; grid-template-columns:1fr; } }
