.solutions-hero {
   color: var(--white);
}

.solutions-hero-media,
.solutions-hero-media img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
}

.solutions-hero-media img {
   object-fit: cover;
   object-position: center;
}

.solutions-hero-overlay {
   position: absolute;
   inset: 0;
   background:
      linear-gradient(90deg, rgba(4, 12, 24, 0.96) 0%, rgba(6, 19, 36, 0.82) 46%, rgba(8, 23, 42, 0.28) 100%),
      linear-gradient(0deg, rgba(4, 12, 24, 0.92) 0%, transparent 55%);
}

.solutions-hero-grid,
.solutions-cta-grid {
   position: absolute;
   inset: 0;
   opacity: 0.08;
   background-image:
      linear-gradient(rgba(255, 255, 255, 0.5) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, 0.5) 1px, transparent 1px);
   background-size: 64px 64px;
   mask-image: linear-gradient(to bottom, transparent 0%, #000 35%, #000 100%);
}

.solutions-hero-content {
   position: relative;
   z-index: 2;
}

.solutions-eyebrow {
   margin-bottom: 18px;
   color: var(--accent-cyan);
   font-size: 0.78rem;
   font-weight: 800;
   letter-spacing: 0.2em;
   text-transform: uppercase;
}

.solutions-cta-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 14px;
}

.solutions-challenges {
   background: var(--white);
}

.solutions-section-intro {
   margin: 0;
   padding-left: 24px;
   border-left: 3px solid var(--blue-500);
   color: var(--text-secondary);
   line-height: 1.85;
}

.challenge-card {
   position: relative;
   height: 100%;
   min-height: 286px;
   padding: 30px;
   overflow: hidden;
   border: 1px solid var(--gray-200);
   border-radius: var(--radius-md);
   background: var(--white);
   transition: transform var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth);
}

.challenge-card:hover {
   transform: translateY(-7px);
   border-color: var(--blue-200);
   box-shadow: var(--shadow-lg);
}

.challenge-number {
   position: absolute;
   top: 22px;
   right: 24px;
   color: var(--gray-200);
   font-size: 2.8rem;
   font-weight: 900;
   line-height: 1;
}

.challenge-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 52px;
   height: 52px;
   margin-bottom: 24px;
   border-radius: var(--radius-sm);
   color: var(--white);
   background: var(--gradient-primary);
   box-shadow: var(--shadow-blue);
   font-size: 1.35rem;
}

.challenge-card h3 {
   margin-bottom: 13px;
   color: var(--blue-800);
   font-size: 1.08rem;
   font-weight: 750;
   line-height: 1.45;
}

.challenge-card p {
   margin: 0;
   color: var(--text-secondary);
   font-size: 0.91rem;
   line-height: 1.75;
}

.solutions-list {
   background: var(--gray-50);
}

.solution-card {
   height: 100%;
   overflow: hidden;
   border: 1px solid var(--gray-200);
   border-radius: var(--radius-md);
   background: var(--white);
   transition: transform var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth);
}

.solution-card:hover {
   transform: translateY(-9px);
   border-color: var(--blue-200);
   box-shadow: var(--shadow-xl);
}

.solution-card-link {
   display: flex;
   flex-direction: column;
   height: 100%;
   color: inherit;
   text-decoration: none;
}

.solution-card-link:focus-visible {
   outline: 3px solid var(--accent-cyan);
   outline-offset: -3px;
}

.solution-card-media {
   position: relative;
   height: 250px;
   overflow: hidden;
   background: var(--gray-100);
}

.solution-card-media::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, transparent 45%, rgba(5, 15, 29, 0.7) 100%);
}

.solution-card-media picture,
.solution-card-media img {
   display: block;
   width: 100%;
   height: 100%;
}

.solution-card-media img {
   object-fit: cover;
   transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

.solution-card:hover .solution-card-media img {
   transform: scale(1.065);
}

.solution-card-index {
   position: absolute;
   z-index: 2;
   right: 20px;
   bottom: 15px;
   color: rgba(255, 255, 255, 0.92);
   font-size: 2.25rem;
   font-weight: 850;
   line-height: 1;
}

.solution-card-body {
   display: flex;
   flex: 1;
   flex-direction: column;
   padding: 28px;
}

.solution-card-kicker {
   margin-bottom: 9px !important;
   color: var(--blue-500) !important;
   font-size: 0.73rem !important;
   font-weight: 800;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.solution-card-body h3 {
   margin-bottom: 14px;
   color: var(--blue-800);
   font-size: 1.35rem;
   font-weight: 780;
   line-height: 1.4;
}

.solution-card-body > p:not(.solution-card-kicker) {
   margin-bottom: 18px;
   color: var(--text-secondary);
   font-size: 0.92rem;
   line-height: 1.78;
}

.solution-card-body ul {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   padding: 0;
   margin: 0 0 24px;
   list-style: none;
}

.solution-card-body li {
   display: inline-flex;
   align-items: center;
   gap: 4px;
   padding: 7px 10px;
   border-radius: 999px;
   color: var(--blue-700);
   background: var(--blue-50);
   font-size: 0.76rem;
   font-weight: 650;
}

.solution-card-cta {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px;
   margin-top: auto;
   padding-top: 20px;
   border-top: 1px solid var(--gray-200);
   color: var(--blue-600);
   font-size: 0.87rem;
   font-weight: 750;
}

.solution-card-cta i {
   font-size: 1.05rem;
   transition: transform var(--transition-fast);
}

.solution-card:hover .solution-card-cta i {
   transform: translate(3px, -3px);
}

.solutions-decisions {
   position: relative;
   overflow: hidden;
   color: var(--white);
   background: var(--gradient-dark);
}

.solutions-decisions-glow {
   position: absolute;
   top: -220px;
   right: -160px;
   width: 620px;
   height: 620px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(0, 212, 255, 0.18), transparent 68%);
}

.solutions-decisions .section-label,
.solutions-decisions .label-icon {
   color: var(--accent-cyan);
}

.solutions-decisions .label-icon {
   background: rgba(0, 212, 255, 0.12);
}

.solutions-decisions .section-title {
   color: var(--white);
}

.solutions-decisions-intro {
   margin-bottom: 30px;
   color: rgba(255, 255, 255, 0.68);
   line-height: 1.85;
}

.decision-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
   padding: 0;
   margin: 0;
   list-style: none;
}

.decision-grid li {
   position: relative;
   display: grid;
   grid-template-columns: 44px 1fr;
   grid-template-rows: auto auto;
   gap: 3px 14px;
   min-height: 110px;
   padding: 22px;
   border: 1px solid rgba(255, 255, 255, 0.14);
   border-radius: var(--radius-sm);
   background: rgba(255, 255, 255, 0.055);
   backdrop-filter: blur(8px);
}

.decision-grid span {
   grid-row: 1 / 3;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 44px;
   height: 44px;
   border-radius: 50%;
   color: var(--accent-cyan);
   background: rgba(0, 212, 255, 0.12);
   font-size: 0.76rem;
   font-weight: 850;
}

.decision-grid strong {
   color: var(--white);
   font-size: 0.98rem;
}

.decision-grid small {
   color: rgba(255, 255, 255, 0.58);
   font-size: 0.79rem;
}

.solutions-process {
   background: var(--white);
}

.solutions-process-line {
   position: relative;
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 0;
   padding: 0;
   margin: 0 0 56px;
   list-style: none;
}

.solutions-process-line::before {
   content: "";
   position: absolute;
   top: 31px;
   left: 10%;
   right: 10%;
   height: 1px;
   background: var(--gray-200);
}

.solutions-process-line li {
   position: relative;
   z-index: 1;
   padding: 0 22px;
   text-align: center;
}

.solutions-process-line > li > i {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 64px;
   height: 64px;
   margin-bottom: 20px;
   border: 1px solid var(--blue-100);
   border-radius: 50%;
   color: var(--blue-600);
   background: var(--white);
   box-shadow: 0 0 0 8px var(--white);
   font-size: 1.35rem;
}

.solutions-process-step {
   position: absolute;
   top: -7px;
   left: calc(50% + 18px);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 25px;
   height: 25px;
   border-radius: 50%;
   color: var(--white);
   background: var(--blue-600);
   font-size: 0.62rem;
   font-weight: 800;
}

.solutions-process-line h3 {
   margin-bottom: 10px;
   color: var(--blue-800);
   font-size: 1.02rem;
   font-weight: 750;
}

.solutions-process-line p {
   margin: 0;
   color: var(--text-secondary);
   font-size: 0.82rem;
   line-height: 1.7;
}

.solutions-process-gallery {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}

.solutions-process-gallery figure {
   position: relative;
   height: 270px;
   margin: 0;
   overflow: hidden;
   border-radius: var(--radius-md);
   background: var(--gray-100);
}

.solutions-process-gallery picture,
.solutions-process-gallery img {
   display: block;
   width: 100%;
   height: 100%;
}

.solutions-process-gallery img {
   object-fit: cover;
}

.solutions-process-gallery figure::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, transparent 38%, rgba(5, 15, 29, 0.88) 100%);
}

.solutions-process-gallery figcaption {
   position: absolute;
   z-index: 2;
   left: 24px;
   right: 24px;
   bottom: 21px;
   color: var(--white);
   font-size: 1rem;
   font-weight: 750;
}

.solutions-process-gallery figcaption span {
   display: block;
   margin-bottom: 4px;
   color: var(--accent-cyan);
   font-size: 0.65rem;
   letter-spacing: 0.14em;
   text-transform: uppercase;
}

.solutions-proof {
   color: var(--white);
   background: #081426;
}

.solutions-video-frame {
   position: relative;
   margin: 0;
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: var(--radius-lg);
   background: #02070e;
   box-shadow: 0 26px 80px rgba(0, 0, 0, 0.35);
}

.solutions-video-frame video {
   display: block;
   width: 100%;
   aspect-ratio: 16 / 9;
   object-fit: cover;
}

.solutions-video-frame figcaption {
   display: flex;
   align-items: center;
   gap: 9px;
   padding: 15px 20px;
   color: rgba(255, 255, 255, 0.68);
   background: rgba(255, 255, 255, 0.04);
   font-size: 0.78rem;
}

.proof-live-dot {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: var(--accent-neon);
   box-shadow: 0 0 12px rgba(0, 255, 204, 0.8);
}

.solutions-proof .section-label,
.solutions-proof .label-icon {
   color: var(--accent-cyan);
}

.solutions-proof .label-icon {
   background: rgba(0, 212, 255, 0.12);
}

.solutions-proof .section-title {
   color: var(--white);
}

.solutions-proof-copy {
   margin-bottom: 26px;
   color: rgba(255, 255, 255, 0.68);
   line-height: 1.85;
}

.solutions-proof-list {
   display: grid;
   gap: 16px;
   padding: 0;
   margin: 0 0 30px;
   list-style: none;
}

.solutions-proof-list li {
   display: grid;
   grid-template-columns: 22px 1fr;
   gap: 11px;
   color: rgba(255, 255, 255, 0.7);
   font-size: 0.9rem;
   line-height: 1.65;
}

.solutions-proof-list i {
   margin-top: 3px;
   color: var(--accent-cyan);
}

.solutions-proof-list strong {
   display: block;
   color: var(--white);
}

.solutions-text-link {
   display: inline-flex;
   align-items: center;
   gap: 9px;
   color: var(--blue-500);
   font-size: 0.9rem;
   font-weight: 750;
   text-decoration: none;
}

.solutions-proof .solutions-text-link {
   color: var(--accent-cyan);
}

.solutions-text-link:hover,
.solutions-text-link:focus-visible {
   color: var(--accent-cyan);
}

.solutions-text-link i {
   transition: transform var(--transition-fast);
}

.solutions-text-link:hover i,
.solutions-text-link:focus-visible i {
   transform: translateX(4px);
}

.solutions-faq {
   background: var(--gray-50);
}

.solutions-faq-heading {
   position: sticky;
   top: 120px;
}

.solutions-faq-heading > p {
   color: var(--text-secondary);
   line-height: 1.8;
}

.solutions-faq-list {
   display: grid;
   gap: 12px;
}

.solutions-faq-list details {
   border: 1px solid var(--gray-200);
   border-radius: var(--radius-sm);
   background: var(--white);
   transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.solutions-faq-list details[open] {
   border-color: var(--blue-200);
   box-shadow: var(--shadow-md);
}

.solutions-faq-list summary {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   padding: 23px 24px;
   color: var(--blue-800);
   cursor: pointer;
   font-size: 0.98rem;
   font-weight: 750;
   list-style: none;
}

.solutions-faq-list summary::-webkit-details-marker {
   display: none;
}

.solutions-faq-list summary:focus-visible {
   outline: 3px solid var(--accent-cyan);
   outline-offset: -3px;
}

.solutions-faq-list summary i {
   flex: 0 0 auto;
   transition: transform var(--transition-fast);
}

.solutions-faq-list details[open] summary i {
   transform: rotate(45deg);
}

.solutions-faq-list details > div {
   padding: 0 24px 22px;
}

.solutions-faq-list details p {
   margin: 0;
   padding-top: 18px;
   border-top: 1px solid var(--gray-200);
   color: var(--text-secondary);
   font-size: 0.9rem;
   line-height: 1.8;
}

.solutions-cta {
   position: relative;
   overflow: hidden;
   padding: 86px 0;
   color: var(--white);
   background: linear-gradient(120deg, #0b2c52 0%, #0b4f88 56%, #087ca7 100%);
}

.solutions-cta-grid {
   opacity: 0.1;
   mask-image: none;
}

.solutions-cta h2 {
   margin-bottom: 20px;
   font-size: clamp(2rem, 4vw, 3.7rem);
   font-weight: 800;
   line-height: 1.2;
   letter-spacing: -0.025em;
}

.solutions-cta h2 + p {
   max-width: 720px;
   margin-bottom: 30px;
   color: rgba(255, 255, 255, 0.72);
   line-height: 1.8;
}

.solutions-cta-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-height: 54px;
   padding: 14px 24px;
   border: 1px solid transparent;
   border-radius: var(--radius-sm);
   font-size: 0.9rem;
   font-weight: 750;
   line-height: 1.4;
   text-decoration: none;
   transition: transform var(--transition-smooth), border-color var(--transition-smooth), background var(--transition-smooth), box-shadow var(--transition-smooth);
}

.solutions-cta-button:hover,
.solutions-cta-button:focus-visible {
   transform: translateY(-3px);
}

.solutions-cta-button-primary {
   color: var(--blue-900);
   background: linear-gradient(135deg, #ffffff 0%, #b9efff 100%);
   box-shadow: 0 14px 36px rgba(0, 212, 255, 0.2);
}

.solutions-cta-button-primary:hover,
.solutions-cta-button-primary:focus-visible {
   color: var(--blue-900);
   box-shadow: 0 18px 42px rgba(0, 212, 255, 0.3);
}

.solutions-cta-button-secondary {
   color: rgba(255, 255, 255, 0.92);
   border-color: rgba(255, 255, 255, 0.34);
   background: rgba(255, 255, 255, 0.08);
   backdrop-filter: blur(10px);
}

.solutions-cta-button-secondary:hover,
.solutions-cta-button-secondary:focus-visible {
   color: var(--white);
   border-color: rgba(0, 212, 255, 0.72);
   background: rgba(0, 212, 255, 0.14);
   box-shadow: 0 14px 34px rgba(0, 20, 45, 0.22);
}

.solutions-branch-box {
   padding: 28px;
   border: 1px solid rgba(255, 255, 255, 0.16);
   border-radius: var(--radius-md);
   background: rgba(4, 18, 35, 0.32);
   backdrop-filter: blur(12px);
}

.solutions-branch-box > p {
   margin-bottom: 18px;
   color: rgba(255, 255, 255, 0.55);
   font-size: 0.72rem;
   font-weight: 800;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.solutions-branch-box ul {
   display: grid;
   gap: 0;
   padding: 0;
   margin: 0;
   list-style: none;
}

.solutions-branch-box li {
   display: grid;
   grid-template-columns: 20px 1fr auto;
   align-items: center;
   gap: 10px;
   padding: 14px 0;
   border-top: 1px solid rgba(255, 255, 255, 0.12);
   font-size: 0.83rem;
}

.solutions-branch-box i {
   color: var(--accent-cyan);
}

.solutions-branch-box a {
   color: rgba(255, 255, 255, 0.65);
}

.solutions-branch-box a:hover,
.solutions-branch-box a:focus-visible {
   color: var(--white);
}

@media (max-width: 1199.98px) {
   .solution-card-media {
      height: 235px;
   }

   .solutions-process-line li {
      padding: 0 14px;
   }
}

@media (max-width: 991.98px) {
   .solutions-hero-overlay {
      background:
         linear-gradient(90deg, rgba(4, 12, 24, 0.94), rgba(4, 12, 24, 0.62)),
         linear-gradient(0deg, rgba(4, 12, 24, 0.94), transparent 70%);
   }

   .solutions-section-intro {
      padding-left: 0;
      border-left: 0;
   }

   .solutions-process-line {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 36px 0;
   }

   .solutions-process-line::before {
      display: none;
   }

   .solutions-faq-heading {
      position: static;
   }
}

@media (max-width: 767.98px) {
   .solutions-cta-actions > a {
      width: 100%;
      justify-content: center;
   }

   .challenge-card {
      min-height: 0;
   }

   .solution-card-media {
      height: 225px;
   }

   .decision-grid {
      grid-template-columns: 1fr;
   }

   .solutions-process-line {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .solutions-process-gallery {
      grid-template-columns: 1fr;
   }

   .solutions-process-gallery figure {
      height: 240px;
   }

   .solutions-cta {
      padding: 68px 0;
   }
}

@media (max-width: 575.98px) {
   .solutions-hero-media img {
      object-position: 57% center;
   }

   .solutions-hero-overlay {
      background: linear-gradient(180deg, rgba(4, 12, 24, 0.55) 0%, rgba(4, 12, 24, 0.93) 54%, rgba(4, 12, 24, 0.98) 100%);
   }

   .solutions-eyebrow {
      font-size: 0.69rem;
      letter-spacing: 0.13em;
   }

   .solution-card-body {
      padding: 23px;
   }

   .solution-card-media {
      height: 210px;
   }

   .decision-grid li {
      min-height: 100px;
      padding: 19px;
   }

   .solutions-process-line {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .solutions-process-line li {
      display: grid;
      grid-template-columns: 62px 1fr;
      grid-template-rows: auto auto;
      column-gap: 18px;
      padding: 0;
      text-align: left;
   }

   .solutions-process-line > li > i {
      grid-row: 1 / 3;
      width: 56px;
      height: 56px;
      margin: 0;
      box-shadow: none;
   }

   .solutions-process-step {
      top: -6px;
      left: 40px;
   }

   .solutions-process-line h3 {
      align-self: end;
      margin-bottom: 4px;
   }

   .solutions-process-line p {
      align-self: start;
   }

   .solutions-faq-list summary {
      padding: 20px;
      font-size: 0.92rem;
   }

   .solutions-faq-list details > div {
      padding: 0 20px 20px;
   }

   .solutions-branch-box li {
      grid-template-columns: 20px 1fr;
   }

   .solutions-branch-box a {
      grid-column: 2;
   }
}

@media (prefers-reduced-motion: reduce) {
   .challenge-card,
   .solution-card,
   .solution-card-media img,
   .solution-card-cta i,
   .solutions-text-link i,
   .solutions-faq-list summary i {
      transition: none;
   }
}
