/**
 * Shared layout CSS for service/solution CPT pages (scoped under .svc-body-wrap).
 */
.svc-body-wrap, .cdb-page-content{
  --primary: #38a838;
  --primary-dark: #2d8a2d;
  --primary-light: #7dd87d;
  --primary-glow: rgba(56,168,56,0.12);
  --accent-blue: #2563eb;
  --accent-purple: #7c3aed;
  --accent-orange: #ea580c;
  --navy: #0f172a;
  --navy-light: #1e293b;
  --gray-50: #f8fafc;
  --gray-100: #f1f5f9;
  --gray-200: #e2e8f0;
  --gray-300: #cbd5e1;
  --gray-400: #94a3b8;
  --gray-500: #64748b;
  --gray-600: #475569;
  --gray-700: #334155;
  --gray-800: #1e293b;
  --white: #fff;
  --max-width: 1200px;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --radius: 12px;
  --radius-lg: 16px;
  font-family: var(--font);
  color: var(--gray-700);
  line-height: 1.65;
}
.svc-body-wrap img, .cdb-page-content img { max-width: 100%; height: auto; }
.svc-body-wrap a, .cdb-page-content a { color: var(--primary); text-decoration: none; }
.svc-body-wrap ul, .cdb-page-content ul { list-style: none; }

.svc-body-wrap .container, .cdb-page-content .container{max-width:var(--max-width);margin:0 auto;padding:0 24px}
@media(min-width:768px){.svc-body-wrap .container, .cdb-page-content .container{padding:0 40px}}
.svc-body-wrap .btn, .cdb-page-content .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;font-size:.92rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s;font-family:inherit}
.svc-body-wrap .btn-primary, .cdb-page-content .btn-primary{background:var(--primary);color:var(--white);box-shadow:0 4px 16px rgba(56,168,56,0.25)}
.svc-body-wrap .btn-primary:hover, .cdb-page-content .btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 24px rgba(56,168,56,0.35)}
.svc-body-wrap .btn-outline, .cdb-page-content .btn-outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,0.3)}
.svc-body-wrap .btn-outline:hover, .cdb-page-content .btn-outline:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.45)}
.svc-body-wrap .btn-sm, .cdb-page-content .btn-sm{padding:8px 18px;font-size:.82rem}
.svc-body-wrap .btn-lg, .cdb-page-content .btn-lg{padding:16px 36px;font-size:1rem}
.svc-body-wrap .hero, .cdb-page-content .hero{position:relative;min-height:88vh;background:var(--navy);display:flex;align-items:center;padding:140px 0 80px;overflow:hidden}
.svc-body-wrap .hero::before, .cdb-page-content .hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 60% at 20% 40%,rgba(56,168,56,0.08) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 85% 75%,rgba(37,99,235,0.06) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 75% 20%,rgba(56,168,56,0.05) 0%,transparent 50%);pointer-events:none}
.svc-body-wrap .hero::after, .cdb-page-content .hero::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:32px 32px;opacity:0.4;pointer-events:none}
.svc-body-wrap .hero-grid, .cdb-page-content .hero-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:center}
@media(min-width:1024px){.svc-body-wrap .hero-grid, .cdb-page-content .hero-grid{grid-template-columns:1.1fr 1fr;gap:72px}}
.svc-body-wrap .hero-badge, .cdb-page-content .hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;background:rgba(56,168,56,0.15);border:1px solid rgba(56,168,56,0.3);border-radius:999px;color:#86efac;font-size:.82rem;font-weight:600;margin-bottom:24px}
.svc-body-wrap .hero-badge::before, .cdb-page-content .hero-badge::before{content:'';width:7px;height:7px;background:var(--primary);border-radius:50%;box-shadow:0 0 8px var(--primary)}
.svc-body-wrap .hero h1, .cdb-page-content .hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;color:var(--white);line-height:1.1;letter-spacing:-0.03em;margin-bottom:20px}
.svc-body-wrap .hero h1 .accent, .cdb-page-content .hero h1 .accent{background:linear-gradient(135deg,#86efac,#38a838);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.svc-body-wrap .hero-desc, .cdb-page-content .hero-desc{font-size:1.05rem;color:#ffffff;max-width:540px;margin-bottom:32px;line-height:1.75}
.svc-body-wrap .hero-actions, .cdb-page-content .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}
.svc-body-wrap .hero-visual, .cdb-page-content .hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
.svc-body-wrap .hero-card, .cdb-page-content .hero-card{width:100%;max-width:420px;background:linear-gradient(145deg,rgba(56,168,56,0.1),rgba(56,168,56,0.02));border:1px solid rgba(56,168,56,0.2);border-radius:var(--radius-lg);padding:36px;text-align:center;backdrop-filter:blur(6px);position:relative}
.svc-body-wrap .hero-card-icon, .cdb-page-content .hero-card-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,rgba(56,168,56,0.2),rgba(56,168,56,0.05));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;border:1px solid rgba(56,168,56,0.15)}
.svc-body-wrap .hero-card h3, .cdb-page-content .hero-card h3{color:var(--white);font-size:1.1rem;font-weight:700;margin-bottom:16px}
.svc-body-wrap .hero-tags, .cdb-page-content .hero-tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.svc-body-wrap .hero-tag, .cdb-page-content .hero-tag{background:rgba(56,168,56,0.18);color:#86efac;padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid rgba(56,168,56,0.15)}
.svc-body-wrap .hero-floating, .cdb-page-content .hero-floating{position:absolute;padding:10px 16px;background:rgba(255,255,255,0.95);border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.82rem;font-weight:600;color:var(--gray-700);box-shadow:0 8px 24px rgba(0,0,0,0.1);display:flex;align-items:center;gap:8px;animation:float 5s ease-in-out infinite}
.svc-body-wrap .hero-floating:nth-child(2), .cdb-page-content .hero-floating:nth-child(2){top:8%;right:-12px;animation-delay:0s}
.svc-body-wrap .hero-floating:nth-child(3), .cdb-page-content .hero-floating:nth-child(3){top:38%;left:-16px;animation-delay:-1.7s}
.svc-body-wrap .hero-floating:nth-child(4), .cdb-page-content .hero-floating:nth-child(4){bottom:15%;right:-8px;animation-delay:-3.4s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.svc-body-wrap .fdot, .cdb-page-content .fdot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.svc-body-wrap .section, .cdb-page-content .section{padding:72px 0}
@media(min-width:768px){.svc-body-wrap .section, .cdb-page-content .section{padding:96px 0}}
.svc-body-wrap .section-alt, .cdb-page-content .section-alt{background:var(--gray-50)}
.svc-body-wrap .section-header, .cdb-page-content .section-header{text-align:center;margin-bottom:48px}
.svc-body-wrap .section-header h2, .cdb-page-content .section-header h2{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;color:var(--navy);letter-spacing:-0.02em;margin-bottom:14px}
.svc-body-wrap .section-header p, .cdb-page-content .section-header p{font-size:1.05rem;color:var(--gray-500);max-width:640px;margin:0 auto;line-height:1.7}
.svc-body-wrap .sec-label, .cdb-page-content .sec-label{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:rgba(56,168,56,0.1);color:var(--primary);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;margin-bottom:14px}
.svc-body-wrap .sec-label::before, .cdb-page-content .sec-label::before{content:'';width:6px;height:6px;background:var(--primary);border-radius:50%}
.svc-body-wrap .card-grid, .cdb-page-content .card-grid{display:grid;gap:20px}
.svc-body-wrap .g2, .cdb-page-content .g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.svc-body-wrap .g3, .cdb-page-content .g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
@media(min-width:640px){.svc-body-wrap .g2, .cdb-page-content .g2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.svc-body-wrap .g3, .cdb-page-content .g3{grid-template-columns:repeat(3,1fr)}}
.svc-body-wrap .card, .cdb-page-content .card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:32px;transition:all .3s ease}
.svc-body-wrap .card:hover, .cdb-page-content .card:hover{border-color:var(--gray-300);box-shadow:0 12px 40px rgba(0,0,0,0.08);transform:translateY(-3px)}
.svc-body-wrap .card-icon, .cdb-page-content .card-icon{width:52px;height:52px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.svc-body-wrap .card-icon svg, .cdb-page-content .card-icon svg{color:var(--white)}
.svc-body-wrap .card h3, .cdb-page-content .card h3{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:10px;letter-spacing:-.015em}
.svc-body-wrap .card p, .cdb-page-content .card p{font-size:.88rem;color:var(--gray-500);line-height:1.7;margin-bottom:14px}
.svc-body-wrap .card ul, .cdb-page-content .card ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.svc-body-wrap .card ul li, .cdb-page-content .card ul li{font-size:.82rem;color:var(--gray-500);display:flex;align-items:flex-start;gap:7px}
.svc-body-wrap .card ul li::before, .cdb-page-content .card ul li::before{content:'\2713';color:var(--primary);font-weight:700;flex-shrink:0;margin-top:1px}
.svc-body-wrap .pill, .cdb-page-content .pill{display:inline-block;padding:4px 12px;background:var(--gray-100);color:var(--gray-500);font-size:.78rem;font-weight:500;border-radius:999px;border:1px solid var(--gray-200);margin:3px}
.svc-body-wrap .pills, .cdb-page-content .pills{display:flex;flex-wrap:wrap;margin-top:14px}
.svc-body-wrap .split-grid, .cdb-page-content .split-grid{display:grid;gap:48px;align-items:start}
@media(min-width:768px){.svc-body-wrap .split-grid, .cdb-page-content .split-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:center}}
.svc-body-wrap .split-left h2, .cdb-page-content .split-left h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--navy);letter-spacing:-.025em;line-height:1.2;margin:10px 0 20px}
.svc-body-wrap .split-left p, .cdb-page-content .split-left p{font-size:.95rem;color:var(--gray-500);line-height:1.8;margin-bottom:16px}
.svc-body-wrap .feat-list, .cdb-page-content .feat-list{display:flex;flex-direction:column;gap:20px;margin-top:28px}
.svc-body-wrap .feat-item, .cdb-page-content .feat-item{display:flex;gap:12px;align-items:flex-start}
.svc-body-wrap .feat-icon, .cdb-page-content .feat-icon{width:40px;height:40px;background:rgba(56,168,56,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}
.svc-body-wrap .feat-icon svg, .cdb-page-content .feat-icon svg{color:var(--primary)}
.svc-body-wrap .feat-item h4, .cdb-page-content .feat-item h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.svc-body-wrap .feat-item p, .cdb-page-content .feat-item p{font-size:.85rem;color:var(--gray-500);line-height:1.65}
.svc-body-wrap .dark-panel, .cdb-page-content .dark-panel{background:linear-gradient(135deg,#0a1628,#0d2617);border-radius:20px;padding:40px;color:white;position:relative;overflow:hidden;min-height:460px;display:flex;flex-direction:column;justify-content:space-between}
.svc-body-wrap .dark-panel-label, .cdb-page-content .dark-panel-label{font-size:.72rem;color:rgba(56,168,56,.9);font-weight:700;letter-spacing:.1em;margin-bottom:20px}
.svc-body-wrap .dark-panel-grid, .cdb-page-content .dark-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.78rem;margin-bottom:24px}
.svc-body-wrap .dark-cell, .cdb-page-content .dark-cell{background:rgba(255,255,255,.05);border-radius:8px;padding:10px}
.svc-body-wrap .dark-cell-label, .cdb-page-content .dark-cell-label{color:rgba(255,255,255,.45);margin-bottom:4px;font-size:.72rem}
.svc-body-wrap .dark-cell-value, .cdb-page-content .dark-cell-value{color:#7dd87d;font-weight:600;font-size:.9rem}
.svc-body-wrap .dark-steps, .cdb-page-content .dark-steps{font-size:.8rem;color:rgba(255,255,255,.55);line-height:2}
.svc-body-wrap .dark-steps .check, .cdb-page-content .dark-steps .check{color:#7dd87d;margin-bottom:10px}
.svc-body-wrap .dark-footer, .cdb-page-content .dark-footer{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:rgba(255,255,255,.35)}
.svc-body-wrap .wf-grid, .cdb-page-content .wf-grid{display:grid;gap:24px}
@media(min-width:768px){.svc-body-wrap .wf-grid, .cdb-page-content .wf-grid{grid-template-columns:repeat(5,1fr)}}
@media(min-width:768px){.svc-body-wrap .wf-grid.wf-grid-4, .cdb-page-content .wf-grid.wf-grid-4{grid-template-columns:repeat(4,1fr)}}
.svc-body-wrap .wf-step, .cdb-page-content .wf-step{text-align:center;position:relative}
@media(min-width:768px){.svc-body-wrap .wf-step:not(:last-child)::after, .cdb-page-content .wf-step:not(:last-child)::after{content:'';position:absolute;top:30px;right:-16px;width:16px;height:2px;background:var(--gray-300)}}
.svc-body-wrap .wf-num, .cdb-page-content .wf-num{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;color:var(--white);margin:0 auto 18px;box-shadow:0 6px 20px rgba(0,0,0,0.12)}
.svc-body-wrap .wf-step h4, .cdb-page-content .wf-step h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.svc-body-wrap .wf-step p, .cdb-page-content .wf-step p{font-size:.85rem;color:var(--gray-500);line-height:1.65;text-align:center;margin-inline:auto;max-width:220px}
.svc-body-wrap .refs, .cdb-page-content .refs{background:var(--gray-50)}
.svc-body-wrap .ref-item, .cdb-page-content .ref-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--gray-200)}
.svc-body-wrap .ref-item:last-child, .cdb-page-content .ref-item:last-child{border-bottom:none}
.svc-body-wrap .ref-num, .cdb-page-content .ref-num{flex-shrink:0;width:30px;height:30px;background:rgba(56,168,56,0.1);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700}
.svc-body-wrap .ref-content, .cdb-page-content .ref-content{flex:1}
.svc-body-wrap .ref-content p, .cdb-page-content .ref-content p{font-size:.88rem;color:var(--gray-600);line-height:1.7;margin-bottom:4px}
.svc-body-wrap .ref-content a, .cdb-page-content .ref-content a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.svc-body-wrap .ref-content a:hover, .cdb-page-content .ref-content a:hover{color:var(--primary-dark)}
.svc-body-wrap .ref-content .journal, .cdb-page-content .ref-content .journal{font-size:.82rem;color:var(--gray-400)}
.svc-body-wrap .faq-list, .cdb-page-content .faq-list{max-width:800px;margin:0 auto}
.svc-body-wrap .faq-item, .cdb-page-content .faq-item{border-bottom:1px solid var(--gray-200)}
.svc-body-wrap .section-alt .faq-item, .cdb-page-content .section-alt .faq-item{border-color:rgba(0,0,0,.08)}
.svc-body-wrap .faq-q, .cdb-page-content .faq-q{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 0;font-size:1rem;font-weight:600;color:var(--navy);text-align:left;background:none;border:none;cursor:pointer;font-family:inherit}
.svc-body-wrap .faq-q:hover, .cdb-page-content .faq-q:hover{color:var(--primary)}
.svc-body-wrap .faq-icon, .cdb-page-content .faq-icon{width:26px;height:26px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--gray-400);transition:all .3s;flex-shrink:0}
.svc-body-wrap .faq-item.open .faq-icon, .cdb-page-content .faq-item.open .faq-icon{background:var(--primary);color:var(--white);transform:rotate(45deg)}
.svc-body-wrap .faq-a, .cdb-page-content .faq-a{max-height:0;overflow:hidden;transition:all .3s ease}
.svc-body-wrap .faq-item.open .faq-a, .cdb-page-content .faq-item.open .faq-a{max-height:300px;padding-bottom:18px}
.svc-body-wrap .faq-a p, .cdb-page-content .faq-a p{font-size:.92rem;color:var(--gray-500);line-height:1.7}
.svc-body-wrap .cta, .cdb-page-content .cta{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:20px;padding:56px 40px;text-align:center;color:var(--white)}
.svc-body-wrap .cta h2, .cdb-page-content .cta h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:14px;letter-spacing:-.025em}
.svc-body-wrap .cta p, .cdb-page-content .cta p{font-size:1rem;opacity:.85;max-width:520px;margin:0 auto 28px;line-height:1.7}
.svc-body-wrap .cta .btn-white, .cdb-page-content .cta .btn-white{background:var(--white);color:var(--primary-dark);font-weight:700;padding:12px 28px;border-radius:10px;border:none;font-size:.95rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}
.svc-body-wrap .cta .btn-white:hover, .cdb-page-content .cta .btn-white:hover{background:var(--gray-100);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.15)}

.svc-body-wrap .g4, .cdb-page-content .g4{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
@media (min-width: 1024px) {
.svc-body-wrap .g4, .cdb-page-content .g4{ grid-template-columns: repeat(4, 1fr); }
}
.svc-body-wrap .section-label, .cdb-page-content .section-label{
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 16px;
  background: rgba(56,168,56,0.1); color: var(--primary); font-size: .78rem;
  font-weight: 600; text-transform: uppercase; letter-spacing: .05em;
  border-radius: 999px; margin-bottom: 14px;
}
.svc-body-wrap .cta-actions, .cdb-page-content .cta-actions{ display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 8px; }
.svc-body-wrap .tech-list, .cdb-page-content .tech-list{ margin-top: 12px; }
.svc-body-wrap .tech-list ul, .cdb-page-content .tech-list ul{ display: flex; flex-direction: column; gap: 7px; }
.svc-body-wrap .tech-list .lbl, .cdb-page-content .tech-list .lbl{
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  color: var(--gray-400); margin-bottom: 8px; display: block;
}
.svc-body-wrap .tech-list li, .cdb-page-content .tech-list li{
  font-size: .82rem; color: var(--gray-500); display: flex; align-items: flex-start; gap: 7px; line-height: 1.6;
}
.svc-body-wrap .tech-list li::before, .cdb-page-content .tech-list li::before{ content: '\2713'; color: var(--primary); font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.svc-body-wrap .reveal, .cdb-page-content .reveal{ opacity: 0; transform: translateY(20px); transition: opacity .5s ease, transform .5s ease; }
.svc-body-wrap .reveal.in, .cdb-page-content .reveal.in{ opacity: 1; transform: translateY(0); }
.svc-body-wrap .text-center, .cdb-page-content .text-center{ text-align: center; }
@media (max-width: 768px) {
.svc-body-wrap .hero, .cdb-page-content .hero{ padding: 110px 0 60px; min-height: auto; }
.svc-body-wrap .cta, .cdb-page-content .cta{ padding: 40px 20px; }
}
