/* --- Solutions Page Accordion Styles --- */
#solutions-page .page-content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 1000px;
    padding: 2rem;
    box-sizing: border-box;
}

#solutions-page .page-header {
    text-align: center;
    margin-bottom: 2rem;
}

.solutions-accordion {
    width: 100%;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
    perspective: 1000px;
    transform-style: preserve-3d;
    border-radius: 8px;
}

/* --- Keyframe Animation Definition --- */
@keyframes drop-in {
  from {
    opacity: 0;
    transform: translateZ(-300px) translateY(-100px) rotateX(90deg);
  }
  to {
    opacity: 1;
    transform: translateZ(0) translateY(0) rotateX(0);
  }
}

.accordion-item {
    border-top: 1px solid #004a9e;
    transform-style: preserve-3d;
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateZ(-300px) translateY(-100px) rotateX(90deg);
    transition: transform 0.6s cubic-bezier(0.215, 0.610, 0.355, 1), opacity 0.5s ease;
}

/* We no longer need overflow: hidden on these items */
.accordion-item:first-child {
    border-top: none;
}

.solutions-accordion.animate-in .accordion-item {
    opacity: 1;
    transform: rotateX(0) translateY(0) translateZ(0);
}
.solutions-accordion.animate-in .accordion-item:nth-child(1) { transition-delay: 0.15s; }
.solutions-accordion.animate-in .accordion-item:nth-child(2) { transition-delay: 0.25s; }
.solutions-accordion.animate-in .accordion-item:nth-child(3) { transition-delay: 0.35s; }
.solutions-accordion.animate-in .accordion-item:nth-child(4) { transition-delay: 0.45s; }
.solutions-accordion.animate-in .accordion-item:nth-child(5) { transition-delay: 0.55s; }

.solutions-accordion.animation-finished .accordion-item {
    transition-delay: 0s !important;
}

.accordion-item:hover:not(.is-active) {
    z-index: 10;
    transform: translateZ(30px) scale(1.02);
}
.accordion-item.is-active {
    z-index: 5;
    transform: translateZ(5px);
}

/* --- Header and Body Styling (Unchanged) --- */
.accordion-header {
    background: #002868;
    padding: 18px 55px 18px 28px;
    width: 100%;
    border: 2px solid transparent;
    text-align: left;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 2.0rem;
    color: #ffffff;
    cursor: pointer;
    outline: none;
    position: relative;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
/* Apply radius directly to the headers and bodies */
.accordion-item:first-child .accordion-header { border-top-left-radius: 8px; border-top-right-radius: 8px; }
.accordion-item:last-child .accordion-header { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; }
.accordion-item:last-child .accordion-header.active { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

.accordion-header::after { content: '▼'; position: absolute; right: 28px; top: 50%; transform: translateY(-50%) rotate(0deg); transition: transform 0.3s ease; font-size: 0.9rem; color: #ffffff; }
.accordion-header.active::after { transform: translateY(-50%) rotate(180deg); }
.accordion-item:hover:not(.is-active) .accordion-header { border-color: #BF0A30; box-shadow: 0 0 30px #BF0A30; }
.accordion-header.active { border-color: #BF0A30; box-shadow: 0 0 20px #BF0A30, inset 0 0 10px rgba(0,0,0,0.5); }
.accordion-body { padding: 0 28px; background-color: #fff; max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out, padding 0.4s ease-out; }

/* Apply radius directly to the body of the last item */
.accordion-item:last-child .accordion-body { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; }

.accordion-body ul { list-style-type: none; padding: 22px 0; margin: 0; font-family: 'Oswald', sans-serif; font-size: 1.1rem; color: #333; line-height: 1.65; }
.accordion-body ul li { padding-left: 22px; position: relative; margin-bottom: 0.8rem; }
.accordion-body ul li::before { content: '»'; position: absolute; left: 0; color: #BF0A30; font-weight: bold; }
