
/* P95B — Solutions pilot style refinement.
   Adds branded neon borders and animated CTA treatment for Solutions surfaces,
   and supports the SPI-specific Tally artwork. */
.solutions-main{position:relative;z-index:1;padding-bottom:72px}
.solutions-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.solutions-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:28px;align-items:center;padding:76px 0 44px}
.solutions-hero-copy h1{margin:8px 0 16px;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em}
.solutions-hero-copy>p{max-width:730px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.solutions-hero-actions,.solution-hero-cta,.solution-final-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.solutions-main .cta,.solutions-main .secondary{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:850;letter-spacing:-.01em;overflow:hidden;isolation:isolate;transition:transform .18s ease,box-shadow .18s ease}
.solutions-main .cta:hover,.solutions-main .secondary:hover{transform:translateY(-1px)}
.solutions-main .cta:focus-visible,.solutions-main .secondary:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
.solutions-main .cta{border:1px solid transparent;background:linear-gradient(110deg,var(--cyan),var(--purple),var(--pink),var(--cyan));background-size:230% 100%;color:#fff!important;box-shadow:0 12px 28px rgba(35,185,232,.18),0 10px 24px rgba(131,89,239,.18);animation:solutionButtonShift 6.8s linear infinite}
.solutions-main .cta::after{content:"";position:absolute;inset:1px;border-radius:11px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));pointer-events:none;mix-blend-mode:screen;opacity:.6}
.solutions-main .secondary{border:1px solid transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(110deg,var(--cyan),var(--purple),var(--pink),var(--cyan)) border-box;background-size:auto,230% 100%;color:var(--ink);box-shadow:0 8px 18px rgba(23,34,70,.06);animation:solutionSecondaryShift 7.2s linear infinite}
html[data-theme=dark] .solutions-main .secondary,body.dark .solutions-main .secondary{background:linear-gradient(#11182f,#11182f) padding-box,linear-gradient(110deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff) border-box;color:#eef2ff;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.solutions-art,.solution-featured,.solution-outcome,.solution-flow,.solution-preview-card,.solution-final{position:relative;isolation:isolate;overflow:visible}
.solutions-art,.solution-card,.solution-mini-card,.solution-flow,.solution-preview-card,.solution-final,.solution-outcome,.solution-faq details,.solutions-note{box-shadow:var(--shadow)}
.solutions-art,.solution-flow,.solution-preview-card,.solution-final,.solution-outcome,.solution-featured{border:1px solid color-mix(in srgb,var(--purple) 26%,var(--border))}
.solutions-art::before,.solution-featured::before,.solution-outcome::before,.solution-flow::before,.solution-preview-card::before,.solution-final::before{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:3px;background:linear-gradient(100deg,var(--cyan),var(--purple),var(--pink),var(--cyan));background-size:235% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.96;animation:solutionNeonBorder 8s linear infinite}
.solutions-art::after,.solution-featured::after,.solution-outcome::after,.solution-flow::after,.solution-preview-card::after,.solution-final::after{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;box-shadow:0 0 11px rgba(35,185,232,.16),0 0 18px rgba(131,89,239,.14),0 0 24px rgba(244,72,164,.12);opacity:.86}
html[data-theme=dark] .solutions-art::before,html[data-theme=dark] .solution-featured::before,html[data-theme=dark] .solution-outcome::before,html[data-theme=dark] .solution-flow::before,html[data-theme=dark] .solution-preview-card::before,html[data-theme=dark] .solution-final::before,
body.dark .solutions-art::before,body.dark .solution-featured::before,body.dark .solution-outcome::before,body.dark .solution-flow::before,body.dark .solution-preview-card::before,body.dark .solution-final::before{background:linear-gradient(100deg,#2ed8ff,#8c63ff,#ff4ca7,#2ed8ff);background-size:235% 100%}
html[data-theme=dark] .solutions-art::after,html[data-theme=dark] .solution-featured::after,html[data-theme=dark] .solution-outcome::after,html[data-theme=dark] .solution-flow::after,html[data-theme=dark] .solution-preview-card::after,html[data-theme=dark] .solution-final::after,
body.dark .solutions-art::after,body.dark .solution-featured::after,body.dark .solution-outcome::after,body.dark .solution-flow::after,body.dark .solution-preview-card::after,body.dark .solution-final::after{box-shadow:0 0 12px rgba(46,216,255,.18),0 0 20px rgba(140,99,255,.16),0 0 28px rgba(255,76,167,.14)}
.solutions-art{min-height:290px;border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--cyan) 6%,transparent),color-mix(in srgb,var(--purple) 10%,transparent),color-mix(in srgb,var(--pink) 6%,transparent)),var(--panel);display:grid;place-items:center;overflow:hidden}
.solutions-art:has(img)::after{z-index:0}
.solutions-art .solution-art-glow{position:absolute;inset:auto auto 8% 50%;width:250px;height:250px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(46,216,255,.22),rgba(140,99,255,.10) 46%,transparent 72%);filter:blur(12px)}
.solutions-art img{position:relative;z-index:1;width:min(220px,72%);height:auto;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(26,35,70,.18))}
.solutions-art--spi{min-height:340px}
.solutions-art--spi img{width:min(330px,84%);filter:drop-shadow(0 14px 28px rgba(46,216,255,.18))}
.solutions-art--pci img{width:min(340px,88%);filter:drop-shadow(0 16px 30px rgba(46,216,255,.16))}
.solutions-art--ppi img,.solutions-art--eei img,.solutions-art--cci img,.solutions-art--pei img,.solutions-art--ui img{width:min(340px,88%);filter:drop-shadow(0 16px 30px rgba(46,216,255,.16))}
.solutions-section{padding:34px 0}
.solutions-section-heading{max-width:800px;margin-bottom:22px}
.solutions-section-heading h2{font-size:clamp(28px,3.4vw,42px);margin:6px 0 10px;letter-spacing:-.035em}
.solutions-section-heading p{margin:0;color:var(--muted);line-height:1.65}
.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.solution-card{position:relative;isolation:isolate;overflow:visible;min-height:228px;padding:20px;border:1px solid color-mix(in srgb,var(--purple) 28%,var(--border));border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--cyan) 4%,transparent),color-mix(in srgb,var(--purple) 5%,transparent),color-mix(in srgb,var(--pink) 4%,transparent)),color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.28);display:flex;flex-direction:column}
.solution-card::before{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:3px;background:linear-gradient(100deg,var(--cyan),var(--purple),var(--pink),var(--cyan));background-size:235% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.98;animation:solutionNeonBorder 8s linear infinite}
.solution-card::after{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;box-shadow:0 0 13px rgba(35,185,232,.18),0 0 22px rgba(131,89,239,.16),0 0 30px rgba(244,72,164,.14);opacity:.92}
.solution-card>*{position:relative;z-index:1}
.solution-code{display:inline-flex;align-items:center;align-self:flex-start;min-height:24px;padding:0 9px;border:1px solid color-mix(in srgb,var(--purple) 30%,var(--border));border-radius:999px;color:var(--purple);font-size:10px;font-weight:900;letter-spacing:.09em}
.solution-card h2,.solution-card h3{margin:14px 0 8px;font-size:18px;line-height:1.18;letter-spacing:-.02em}
.solution-card p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.55}
.solution-card .solution-card-action{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--purple);font-size:12px;font-weight:850;text-decoration:none}
.solution-card .solution-card-action:hover{text-decoration:underline}
.solution-featured{border-color:color-mix(in srgb,var(--purple) 45%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--cyan) 4%,transparent),color-mix(in srgb,var(--purple) 7%,transparent),color-mix(in srgb,var(--pink) 4%,transparent)),var(--panel)}
.solution-featured .solution-code{border-color:color-mix(in srgb,var(--cyan) 42%,var(--border))}
.solutions-note{margin-top:18px;padding:13px 15px;border:1px solid var(--border);border-radius:13px;color:var(--muted);font-size:12px;line-height:1.55;background:color-mix(in srgb,var(--panel) 88%,transparent)}
.solution-breadcrumbs{padding-top:34px;color:var(--muted);font-size:12px}
.solution-breadcrumbs a{color:inherit}
.solution-page-hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:28px;align-items:center;padding:36px 0 44px}
.solution-page-hero h1{margin:8px 0 14px;font-size:clamp(38px,5vw,62px);line-height:1;letter-spacing:-.045em}
.solution-page-hero p{max-width:760px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.solution-problem-grid,.solution-cap-grid,.solution-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.solution-mini-card{padding:16px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.solution-mini-card strong{display:block;margin-bottom:6px;font-size:13px}
.solution-mini-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.52}
.solution-outcome{padding:22px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 4%,transparent),color-mix(in srgb,var(--purple) 6%,transparent),color-mix(in srgb,var(--pink) 4%,transparent)),var(--panel);font-size:17px;line-height:1.62}
.solution-outcome strong{color:var(--ink)}
.solution-flow{padding:17px;border-radius:17px;background:color-mix(in srgb,var(--panel) 90%,transparent)}
.solution-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.solution-flow-step{position:relative;padding:14px 12px;border:1px solid color-mix(in srgb,var(--purple) 22%,var(--border));border-radius:12px;background:var(--panel)}
.solution-flow-step:not(:last-child):after{content:"›";position:absolute;right:-9px;top:50%;z-index:2;width:17px;height:17px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid color-mix(in srgb,var(--purple) 30%,var(--border));border-radius:50%;background:var(--panel);color:var(--purple);font-weight:900}
.solution-flow-step span{display:inline-flex;margin-bottom:8px;color:var(--purple);font-size:10px;font-weight:900;letter-spacing:.08em}
.solution-flow-step strong{display:block;font-size:13px;line-height:1.3}
.solution-flow-step p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.solution-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;padding:0;margin:0;list-style:none}
.solution-checks li{position:relative;padding:11px 12px 11px 34px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,transparent);font-size:12px;line-height:1.45}
.solution-checks li:before{content:"✓";position:absolute;left:12px;top:10px;color:#17b87b;font-weight:950}
.solution-preview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 5%,transparent),transparent 42%,color-mix(in srgb,var(--purple) 5%,transparent)),var(--panel)}
.solution-preview-card h2{margin:4px 0 8px}
.solution-preview-card p{margin:0;color:var(--muted);line-height:1.6}
.solution-faq{display:grid;gap:9px}
.solution-faq details{border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--panel) 92%,transparent);overflow:hidden}
.solution-faq summary{cursor:pointer;padding:14px 16px;font-size:13px;font-weight:800}
.solution-faq details p{margin:0;padding:0 16px 15px;color:var(--muted);font-size:12px;line-height:1.6}
.solution-final{margin-top:20px;padding:28px;border-radius:20px;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 4%,transparent),color-mix(in srgb,var(--purple) 7%,transparent),color-mix(in srgb,var(--pink) 4%,transparent)),var(--panel)}
.solution-final h2{margin:0 0 8px;font-size:30px}
.solution-final p{max-width:650px;margin:0 auto 18px;color:var(--muted);line-height:1.6}
.solutions-pilot-label{display:inline-flex;margin-left:8px;padding:3px 7px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em;vertical-align:middle}
@keyframes solutionNeonBorder{0%{background-position:0% 50%}100%{background-position:235% 50%}}
@keyframes solutionButtonShift{0%{background-position:0% 50%}100%{background-position:230% 50%}}
@keyframes solutionSecondaryShift{0%{background-position:0 0,0% 50%}100%{background-position:0 0,230% 50%}}
@media(prefers-reduced-motion:reduce){.solutions-art::before,.solution-card::before,.solution-featured::before,.solution-outcome::before,.solution-flow::before,.solution-preview-card::before,.solution-final::before,.solutions-main .cta,.solutions-main .secondary{animation:none!important}}
@media(max-width:900px){
  .solutions-hero,.solution-page-hero{grid-template-columns:1fr}
  .solutions-art{min-height:235px}
  .solutions-art--spi{min-height:290px}
  .solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .solution-problem-grid,.solution-cap-grid,.solution-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .solutions-shell{width:min(100% - 24px,1180px)}
  .solutions-hero{padding:44px 0 28px}
  .solution-page-hero{padding:28px 0 34px}
  .solution-grid,.solution-problem-grid,.solution-cap-grid,.solution-audience-grid,.solution-checks{grid-template-columns:1fr}
  .solution-card{min-height:0}
  .solution-flow-grid{grid-template-columns:1fr}
  .solution-flow-step:not(:last-child):after{content:"↓";right:auto;left:18px;top:auto;bottom:-13px;transform:none;font-size:10px}
  .solution-preview-card{grid-template-columns:1fr}
  .solution-preview-card .cta,.solutions-main .cta,.solutions-main .secondary{width:100%;text-align:center;justify-content:center}
  .solutions-art--spi img{width:min(280px,84%)}
  .solutions-art--pci img,.solutions-art--ppi img,.solutions-art--eei img,.solutions-art--cci img,.solutions-art--pei img,.solutions-art--ui img{width:min(280px,84%)}
}
