.solution-system { color:var(--ga-ink,#111827); background:var(--ga-surface,#fff); font-family:var(--ga-font-sans,Inter,Arial,sans-serif); -webkit-font-smoothing:antialiased; }
.solution-system *,.solution-system *::before,.solution-system *::after { box-sizing:border-box; }
.solution-system a { color:inherit; }
.solution-container { width:min(calc(100% - 48px),1400px); margin-inline:auto; }
.solution-eyebrow { margin:0 0 20px; color:var(--ga-navy-700,#16336b); font:600 12px/1.2 var(--ga-font-sans,Inter,Arial,sans-serif); letter-spacing:.1em; text-transform:uppercase; }
.solution-hero { position:relative; isolation:isolate; overflow:hidden; padding:48px 0 clamp(72px,9vw,136px); color:#fff; background:linear-gradient(145deg,#071938 0%,var(--ga-navy-900,#0d2350) 58%,#173a78 100%); }
.solution-hero::before { position:absolute; z-index:-1; inset:-40% -10% auto auto; width:min(70vw,900px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(132,167,240,.2),transparent 66%); content:""; pointer-events:none; }
.solution-hero::after { position:absolute; z-index:-1; inset:0; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,#000,transparent 82%); content:""; pointer-events:none; }
.solution-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(72px,9vw,132px); color:rgba(255,255,255,.58); font-size:12px; }
.solution-breadcrumb a { text-decoration:none; }
.solution-breadcrumb a:hover { color:#fff; }
.solution-hero .solution-eyebrow { color:#adc0ea; }
.solution-hero__grid,.solution-section__grid,.solution-closing__grid { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); gap:clamp(48px,8vw,140px); }
.solution-hero h1 { max-width:13ch; margin:0; color:#fff; font:400 clamp(3rem,6.8vw,7rem)/.96 var(--ga-font-serif,Georgia,serif); letter-spacing:-.055em; text-wrap:balance; }
.solution-hero__aside { align-self:end; max-width:620px; padding-bottom:6px; }
.solution-hero__aside>p { margin:0; color:rgba(255,255,255,.78); font:400 clamp(1.2rem,2vw,1.65rem)/1.5 var(--ga-font-serif,Georgia,serif); }
.solution-button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:48px; padding:12px 18px; border:1px solid transparent; border-radius:var(--ga-radius-control,6px); font-size:14px; font-weight:600; text-decoration:none; transition:background .18s ease,color .18s ease; }
.solution-button--light { margin-top:34px; color:#fff!important; border-color:rgba(255,255,255,.34); background:rgba(255,255,255,.13); box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 35px rgba(1,12,35,.16); backdrop-filter:blur(16px) saturate(130%); }
.solution-button--light:hover { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.22); }
.solution-outcomes { border-bottom:1px solid var(--ga-border,#e5e7eb); background:#fff; }
.solution-outcomes__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.solution-outcome { min-height:150px; padding:34px 32px 30px 0; border-right:1px solid var(--ga-border,#e5e7eb); }
.solution-outcome+.solution-outcome { padding-left:32px; }
.solution-outcome:last-child { border-right:0; }
.solution-outcome strong { display:block; color:var(--ga-ink,#111827); font:400 clamp(2.1rem,4vw,3.8rem)/1 var(--ga-font-serif,Georgia,serif); letter-spacing:-.04em; }
.solution-outcome span { display:block; max-width:24ch; margin-top:14px; color:var(--ga-muted,#5d6675); font-size:13px; line-height:1.45; }
.solution-section { padding:var(--ga-section-space,clamp(4rem,7vw,6rem)) 0; border-bottom:1px solid var(--ga-border,#e5e7eb); }
.solution-section--quiet { background:var(--ga-surface-quiet,#f9fafb); }
.solution-section__heading { align-self:start; }
.solution-section__heading h2,.solution-closing h2 { max-width:12ch; margin:0; font:400 clamp(2.25rem,4.4vw,4.75rem)/1 var(--ga-font-serif,Georgia,serif); letter-spacing:-.05em; text-wrap:balance; }
.solution-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.solution-capability { display:grid; grid-template-columns:42px 1fr; align-content:start; gap:18px 14px; min-height:220px; padding:28px; border:1px solid var(--ga-border,#e5e7eb); border-radius:18px; background:linear-gradient(145deg,#fff,#f8faff); box-shadow:0 14px 40px rgba(13,35,80,.045); }
.solution-capability>span { color:var(--ga-muted,#5d6675); font-size:11px; letter-spacing:.08em; }
.solution-capability h3 { margin:0; color:var(--ga-ink,#111827); font-size:20px; font-weight:500; letter-spacing:-.02em; }
.solution-capability p { grid-column:2; max-width:58ch; margin:0; color:var(--ga-muted,#5d6675); font-size:15px; line-height:1.65; }
.solution-consultant-line { max-width:32ch; margin:28px 0 0; color:var(--ga-muted,#5d6675); font-size:14px; line-height:1.6; }
.solution-consultant-line a { color:var(--ga-navy-700,#16336b); font-weight:600; text-underline-offset:3px; }
.solution-roles { display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin:0; padding:0; border-top:1px solid var(--ga-border,#e5e7eb); list-style:none; }
.solution-roles li { padding:20px 20px 20px 0; border-bottom:1px solid var(--ga-border,#e5e7eb); color:#303845; font-size:15px; font-weight:500; }
.solution-roles li:nth-child(even) { padding-left:24px; border-left:1px solid var(--ga-border,#e5e7eb); }
.solution-narrative>.solution-container>.solution-eyebrow { margin-top:6px; }
.solution-prose { max-width:780px; }
.solution-prose h2 { margin:0 0 22px; padding-top:54px; color:var(--ga-ink,#111827); font:500 clamp(1.75rem,3vw,2.6rem)/1.12 var(--ga-font-sans,Inter,Arial,sans-serif); letter-spacing:-.035em; }
.solution-prose h2:first-child { padding-top:0; }
.solution-prose h3 { margin:38px 0 14px; font-size:21px; font-weight:550; letter-spacing:-.02em; }
.solution-prose p,.solution-prose li { color:#374151; font-size:17px; line-height:1.78; }
.solution-prose p { margin:0 0 20px; }
.solution-prose ul,.solution-prose ol { padding-left:22px; }
.solution-prose a { color:var(--ga-navy-700,#16336b); text-underline-offset:3px; }
.solution-prose blockquote { margin:32px 0; padding:20px 26px; border-left:2px solid var(--ga-navy-700,#16336b); background:var(--ga-surface-quiet,#f9fafb); }
.solution-faq { border-top:1px solid var(--ga-border,#e5e7eb); }
.solution-faq details { border-bottom:1px solid var(--ga-border,#e5e7eb); }
.solution-faq summary { display:flex; justify-content:space-between; gap:24px; padding:25px 0; color:var(--ga-ink,#111827); font-size:17px; font-weight:550; cursor:pointer; list-style:none; }
.solution-faq summary::-webkit-details-marker { display:none; }
.solution-faq summary>span:last-child { color:var(--ga-navy-700,#16336b); font-size:23px; font-weight:400; transition:transform .18s ease; }
.solution-faq details[open] summary>span:last-child { transform:rotate(45deg); }
.solution-faq details p { max-width:68ch; margin:0; padding:0 48px 26px 0; color:var(--ga-muted,#5d6675); font-size:15px; line-height:1.7; }
.solution-related { border-top:1px solid var(--ga-border,#e5e7eb); }
.solution-related>a { display:grid; grid-template-columns:52px 1fr auto; gap:26px; align-items:start; padding:28px 0; border-bottom:1px solid var(--ga-border,#e5e7eb); text-decoration:none; }
.solution-related>a:hover strong { color:var(--ga-navy-700,#16336b); }
.solution-related__index,.solution-related__category { color:var(--ga-muted,#5d6675); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.solution-related__body { display:grid; gap:9px; }
.solution-related__body strong { color:var(--ga-ink,#111827); font:400 clamp(1.35rem,2.4vw,2rem)/1.15 var(--ga-font-serif,Georgia,serif); letter-spacing:-.025em; transition:color .18s ease; }
.solution-related__body>span:last-child { max-width:64ch; color:var(--ga-muted,#5d6675); font-size:14px; line-height:1.55; }
.solution-related__arrow { color:var(--ga-navy-700,#16336b); font-size:20px; }
.solution-closing { padding:clamp(72px,9vw,128px) 0; color:#fff; background:var(--ga-navy-900,#0d2350); }
.solution-closing .solution-eyebrow { color:#adc0ea; }
.solution-closing h2 { max-width:15ch; color:#fff; }
.solution-closing p { max-width:58ch; margin:24px 0 0; color:rgba(255,255,255,.72); font-size:17px; line-height:1.65; }
.solution-system--ai .solution-hero { min-height:clamp(620px,76vh,820px); padding:32px 0 clamp(88px,10vw,144px); color:var(--ga-ink,#111827); background:#fbfcff; }
.solution-system--ai .solution-hero::before { inset:-32% auto auto 48%; width:min(76vw,1040px); background:radial-gradient(circle at 46% 42%,rgba(112,151,239,.22),rgba(205,222,255,.13) 31%,transparent 68%); filter:blur(2px); animation:solution-field-drift 13s ease-in-out infinite alternate; }
.solution-system--ai .solution-hero::after { opacity:.38; background-image:linear-gradient(rgba(24,53,108,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(24,53,108,.07) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse 72% 72% at 76% 34%,#000,transparent); }
.solution-system--ai .solution-breadcrumb { margin-bottom:clamp(84px,10vw,148px); color:#6b7586; }
.solution-system--ai .solution-breadcrumb a:hover { color:var(--ga-navy-700,#16336b); }
.solution-system--ai .solution-hero .solution-eyebrow { color:var(--ga-navy-700,#16336b); }
.solution-system--ai .solution-hero h1 { max-width:14ch; color:var(--ga-ink,#111827); font-family:var(--ga-font-sans,Inter,Arial,sans-serif); font-size:clamp(3.15rem,6.25vw,6.7rem); font-weight:430; line-height:.98; letter-spacing:-.065em; }
.solution-system--ai .solution-hero__aside { position:relative; max-width:660px; }
.solution-system--ai .solution-hero__aside>p { color:#465165; font-family:var(--ga-font-sans,Inter,Arial,sans-serif); font-size:clamp(1.08rem,1.65vw,1.4rem); line-height:1.58; letter-spacing:-.015em; }
.solution-system--ai .solution-button--light { color:#102a59!important; border-color:rgba(19,55,115,.18); background:rgba(255,255,255,.62); box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 12px 38px rgba(20,53,108,.11); backdrop-filter:blur(18px) saturate(145%); }
.solution-system--ai .solution-button--light:hover { border-color:rgba(19,55,115,.3); background:rgba(255,255,255,.88); }
.solution-infrastructure { position:relative; width:min(100%,520px); height:150px; margin-top:36px; overflow:hidden; color:#3f6fc4; opacity:.82; mask-image:linear-gradient(to bottom,#000 70%,transparent); }
.solution-infrastructure__glow { position:absolute; inset:28px 12% -60px; border-radius:50%; background:radial-gradient(ellipse,rgba(95,139,225,.16),transparent 70%); filter:blur(10px); }
.solution-infrastructure svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.solution-infrastructure__orbit { fill:none; stroke:url(#solution-orbit-line); stroke-width:1; }
.solution-infrastructure__orbit--two { opacity:.5; transform-origin:260px 108px; transform:rotate(16deg); }
.solution-infrastructure__arc { fill:none; stroke:currentColor; stroke-width:1.25; stroke-dasharray:3 7; opacity:.58; animation:solution-orbit-flow 12s linear infinite; }
.solution-infrastructure__arc--reverse { opacity:.3; animation-direction:reverse; animation-duration:16s; }
.solution-infrastructure__nodes circle { fill:#fff; stroke:currentColor; stroke-width:2; filter:drop-shadow(0 3px 8px rgba(37,85,171,.25)); }
.solution-infrastructure__pulse { fill:none; stroke:currentColor; stroke-width:1.5; transform-origin:260px 107px; animation:solution-node-pulse 2.8s ease-out infinite; }
@keyframes solution-field-drift { to { transform:translate3d(-6%,5%,0) scale(1.08); } }
@keyframes solution-orbit-flow { to { stroke-dashoffset:-100; } }
@keyframes solution-node-pulse { 0% { opacity:.7; transform:scale(.4); } 75%,100% { opacity:0; transform:scale(2.2); } }
@media (max-width:900px) {
  .solution-hero__grid,.solution-section__grid,.solution-closing__grid { grid-template-columns:1fr; gap:48px; }
  .solution-hero h1 { max-width:15ch; }
  .solution-hero__aside { max-width:700px; }
  .solution-outcomes__grid { grid-template-columns:repeat(2,1fr); }
  .solution-outcome:nth-child(2) { border-right:0; }
  .solution-outcome:nth-child(n+3) { border-top:1px solid var(--ga-border,#e5e7eb); }
  .solution-system--ai .solution-hero { min-height:auto; }
  .solution-system--ai .solution-breadcrumb { margin-bottom:72px; }
  .solution-infrastructure { max-width:600px; margin-top:24px; }
}
@media (max-width:600px) {
  .solution-container { width:min(calc(100% - 32px),1400px); }
  .solution-breadcrumb { margin-bottom:64px; }
  .solution-outcomes__grid { grid-template-columns:1fr; }
  .solution-outcome,.solution-outcome+.solution-outcome { min-height:0; padding:26px 0; border-top:0; border-right:0; border-bottom:1px solid var(--ga-border,#e5e7eb); }
  .solution-outcome:last-child { border-bottom:0; }
  .solution-capabilities { grid-template-columns:1fr; }
  .solution-capability { min-height:0; grid-template-columns:38px 1fr; gap:16px; padding:22px; }
  .solution-capability p { grid-column:2; }
  .solution-roles { grid-template-columns:1fr; }
  .solution-roles li:nth-child(even) { padding-left:0; border-left:0; }
  .solution-related>a { grid-template-columns:36px 1fr auto; gap:12px; }
  .solution-related__body>span:last-child { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .solution-system * { transition:none!important; }
  .solution-system--ai .solution-hero::before,.solution-infrastructure__arc,.solution-infrastructure__pulse { animation:none!important; }
}
