<style>
.ci-accordion {
     display: flex;
     flex-direction: column;
}
 .ci-category__header {
     width: 100vw;
     height: 175px;
     margin-left: calc(50% - 50vw);
     padding: 1.1rem 0;
     background: var(--category-color);
     color: var(--white);
     border: none;
     cursor: pointer;
     text-align: left;
     font-family: inherit;
}
 .ci-category__header:focus-visible {
     outline: 3px solid var(--ink);
     outline-offset: -3px;
}
 .ci-category__header-inner {
     padding: 0 var(--wrap);
     display: flex;
     align-items: center;
     gap: 1rem;
}
 .ci-category__heading {
     flex: 1;
     min-width: 0;
}
 .ci-category__title {
     font-family: var(--font-display);
     font-size: var(--fs-category-title);
     font-weight: 700;
     margin: 0.75rem 0;
     color: #ffffff !important;
}
 .ci-category__desc {
     display: block;
     font-size: var(--fs-category-desc);
     margin-top: .55rem;
     color: rgba(255,255,255,.9);
     max-width: 120ch;
}
 .ci-category__header-inner:after {
     content: "";
     background: var(--white);
     width: 1.75rem;
     height: 1.75rem;
     flex-shrink: 0;
     display: block;
     transition: transform var(--transition, .25s ease);
     -webkit-mask: url(https://www.drake.edu/icons/caret-down.svg) 50%/contain no-repeat;
     mask: url(https://www.drake.edu/icons/caret-down.svg) 50%/contain no-repeat;
}
 .ci-category__header[aria-expanded="true"] .ci-category__header-inner:after {
     transform: rotate(180deg);
}
 .ci-category__panel {
     width: 100vw;
     margin-left: calc(50% - 50vw);
     background: color-mix(in srgb, var(--category-color) 8%, white);
     display: grid;
     grid-template-rows: 0fr;
     transition: grid-template-rows .3s ease;
}
 .ci-category__panel[data-open="true"] {
     grid-template-rows: 1fr;
}
 .ci-category__panel-inner {
     overflow: hidden;
}
 .ci-category__panel-content {
     padding: 0 var(--wrap);
}
 .ci-category__panel-pad {
     padding: 1.5rem;
}
 @media (prefers-reduced-motion: reduce) {
     .ci-category__panel, .ci-category__header-inner:after {
         transition: none;
    }
}
/* =========== CAROUSEL ============= */
 .stat-carousel {
     position: relative;
}
 .stat-carousel__track {
     display: flex;
     gap: 1.25rem;
     overflow-x: auto;
     scroll-snap-type: x mandatory;
     scroll-behavior: smooth;
     padding: .25rem .25rem 1rem;
     scrollbar-width: thin;
}
 .stat-carousel__track > * {
     scroll-snap-align: start;
     flex: 0 0 420px;
}
 .stat-carousel__arrow {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     width: 40px;
     height: 40px;
     border-radius: 50%;
     border: 1px solid #e2e4e8;
     background: var(--white);
     box-shadow: var(--shadow);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     z-index: 2;
     color: var(--ink);
}
 .stat-carousel__arrow svg {
     width: 18px;
     height: 18px;
}
 .stat-carousel__arrow--prev {
     left: -8px;
}
 .stat-carousel__arrow--next {
     right: -8px;
}
 .stat-carousel__arrow:disabled {
     opacity: .3;
     cursor: default;
}
 .stat-carousel__arrow:focus-visible {
     outline: 3px solid var(--ink);
     outline-offset: 2px;
}
/* =========== BASE CARD ============= */
 .stat-card {
     position: relative;
     background: var(--white);
     border: 1px solid #e9eaed;
     border-radius: var(--radius-lg);
     box-shadow: var(--shadow);
     padding: 1rem 1.5rem 1.5rem;
     display: flex;
     flex-direction: column;
     gap: .5rem;
     height: 520px;
     overflow: hidden;
}
 .stat-card__eyebrow {
     text-transform: uppercase;
     letter-spacing: .04em;
     font-size: var(--fs-eyebrow);
     font-weight: 700;
     font-family: proxima-nova,sans-serif;
     color: #000000;
}
 .stat-card__top {
     text-align: left;
}
 .stat-card__objective {
     font-size: var(--fs-objective);
     line-height: 1.2;
     color: var(--ink-soft);
     margin: .2rem 0 0;
     display:-webkit-box;
     -webkit-line-clamp:2;
     -webkit-box-orient: vertical;
     overflow:hidden;
}
/* Metric block: the large centered visual (number, donut, or statement */
 .stat-card__metric {
     flex: 1;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     text-align: center;
}
/* Card Label sits after the metric block */
 .stat-card__label {
     font-size: var(--fs-label);
     color: var(--ink-soft);
     text-align: left;
     margin: 0;
     line-height: 1.35;
     padding-bottom:20px;
     display:-webkit-box;
     -webkit-line-clamp:4;
     -webkit-box-orient: vertical;
     overflow:hidden;
}
/* Optional expand ("+") trigger, top-right corner of any card. */
 .stat-card__expand {
     position: absolute;
     top: .65rem;
     right: .65rem;
     width: 26px;
     height: 26px;
     border-radius: 50%;
     border: 1px solid #e2e4e8;
     background: var(--white);
     color: var(--ink-soft);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     z-index: 2;
}
 .stat-card__expand svg {
     width: 14px;
     height: 14px;
}
 .stat-card__expand:hover {
     background: var(--surface);
     color: var(--ink);
}
 .stat-card__expand:focus-visible {
     outline: 3px solid var(--ink);
     outline-offset: 2px;
}
/* Additional info modal */
 .stat-card__more[hidden] {
     display: none;
}
 .stat-card__more {
     font-size: var(--fs-objective);
     line-height: 1.55;
     color: var(--ink);
     text-align: left;
     margin-top: .75rem;
     padding-top: .75rem;
     border-top: 1px solid #eceef1;
}

/* =========== STATEMENT only card ============= */
 .stat-card--statement .stat-card__top {
     position: absolute;
     left: 1.5rem;
     right: 3rem;
}
 .stat-card--statement .stat-card__metric {
     height: 100%;
}
 .stat-card--statement .stat-card__cta {
     position: absolute;
     left: 1.5rem;
     bottom: 1.5rem;
     margin-top: 0;
}
 .stat-card--statement .stat-card__highlight {
     font-family: var(--font-display);
     font-size: var(--fs-statement);
     line-height: 1.4;
     color: var(--ink);
     margin: 0;
     text-align: left;
     padding: 20px;
}
/* =========== Stat Number Card ============= */
 .stat-card--number .stat-card__value {
     font-family: proxima-nova,sans-serif;
     font-size: var(--fs-hero);
     font-weight: 700;
     line-height: 1;
     color: var(--category-color);
     margin: 0;
}
/* =========== Donut Card ============= */
 .donut-wrap {
     position: relative;
     width: 235px;
     height: 235px;
}
 .donut-wrap svg {
     width: 100%;
     height: 100%;
     transform: rotate(-90deg);
}
 .donut-track {
     fill: none;
     stroke: var(--surface);
     stroke-width: 12;
}
 .donut-fill {
     fill: none;
     stroke: var(--category-color);
     stroke-width: 12;
     stroke-linecap: round;
     stroke-dasharray: 0 999;
     transition: stroke-dasharray 1.1s cubic-bezier(.4,0,.2,1);
}
 .donut-center {
     position: absolute;
     inset: 0;
     display: flex;
     align-items: center;
     justify-content: center;
}
 .donut-center__value {
     font-family: proxima-nova,sans-serif;
     font-size: var(--fs-donut-value);
     font-weight: 700;
     color: var(--category-color);
}
/* =========== PHOTO Card ============= */
 .stat-card--photo {
     padding: 1rem 1.5rem 1.5rem;
}
 .stat-card--photo .stat-card__metric {
     margin: .75rem -1.5rem -1.5rem;
     padding: 0;
     position: relative;
     align-items: stretch;
     justify-content: flex-end;
}
 .stat-card--photo .stat-card__photo-img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center;
     z-index: 0;
}
 .stat-card--photo .photo-scrim {
     position: absolute;
     inset: 0;
     z-index: 0;
     background: linear-gradient(0deg, rgba(0,10,20,.85) 0%, rgba(0,10,20,.2) 60%, rgba(0,10,20,0) 100%);
}
 .stat-card--photo .photo-content {
     position: relative;
     z-index: 1;
     padding: 1.25rem;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: .6rem;
}
 .stat-card--photo .photo-heading {
     font-family: var(--font-display);
     font-size: 1.35rem;
     line-height: 1.35;
     color: var(--white);
     text-align: left;
     margin: 0;
}
 .stat-card--photo .stat-card__cta {
     margin-top: 0;
     align-self: flex-start;
}
/* =========== Photo card Link Styling fix ============= */

 .stat-card--photo .photo-content a.link-underline {
     color: var(--white);
     --underline: var(--white);
}
 .stat-card--photo .photo-content a.link-underline.link-arrow, .stat-card--photo .photo-content a.link-underline.link-arrow:hover {
     box-shadow: 0 .125rem var(--white);
}
 .stat-card--photo .photo-content a.link-underline.link-arrow:hover {
     box-shadow: 0 .25rem var(--white);
}

/* =========== Media Tags ============= */
 @media (max-width: 640px) {
     .ci-category__header {
         height: auto;
     }
     .ci-category__desc {
         padding-bottom: 15px;
     }
     
     .stat-card {
         height: auto;
         min-height: 450px;
    }
     .ci-category__header-inner {
         flex-wrap: wrap;
         row-gap: .5rem;
    }
     .ci-category__heading {
         flex: 1 1 100%;
    }
     .ci-category__header-inner:after {
         margin: 0 auto;
    }
     .stat-carousel {
         display: grid;
         grid-template-columns: 1fr 1fr;
         grid-template-areas: "track track" "prev next";
         row-gap: .75rem;
    }
     .stat-carousel__track {
         grid-area: track;
    }
     .stat-carousel__arrow {
         position: static;
         transform: none;
    }
     .stat-carousel__arrow--prev {
         grid-area: prev;
         justify-self: end;
         margin-right: .5rem;
    }
     .stat-carousel__arrow--next {
         grid-area: next;
         justify-self: start;
         margin-left: .5rem;
    }
     .stat-carousel__track:has(> :only-child) {
         justify-content: center;
    }
}

 @media (max-width: 420px) {
     .stat-carousel__track > * {
         flex: 0 0 calc(100% - 2rem);
    }
}

 .stat-modal-inner {
     width: 100%;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: var(--gap-sm, 1.5rem);
     overflow: auto;
     box-sizing: border-box;
}
 #statModalContent {
     width: 100%;
     max-width: 600px;
}
 #statModalContent .stat-card {
     height: auto;
     min-height: 420px;
     box-shadow: 0 20px 60px rgba(0,0,0,.25);
     padding: 2.25rem;
     gap: 0.75rem;
}
 #statModalContent .stat-card__expand {
     display: none;
}
 #statModalContent .stat-card__eyebrow {
     font-size: .8rem;
}
 #statModalContent .stat-card__objective {
     font-size: 1.05rem;
}
 #statModalContent .stat-card__value {
     font-size: 5.5rem;
}
 #statModalContent .stat-card__label {
     font-size: 1.05rem;
}
 #statModalContent .stat-card__highlight {
     font-size: 1.6rem;
}
 #statModalContent .stat-card__more {
     font-size: 1rem;
     margin-top: 1.25rem;
     padding-top: 1.25rem;
}
 #statModalContent .stat-card__cta {
     font-size: 1rem;
     padding: .6rem 1.2rem;
     margin-top: .75rem;
}
 #statModalContent .donut-wrap {
     width: 200px;
     height: 200px;
}
 #statModalContent .donut-center__value {
     font-size: 3rem;
}
 #statModalContent .stat-card--photo .stat-card__metric {
     min-height: 320px;
     margin: .75rem -2.25rem 0;
}
 #statModalContent .photo-heading {
     font-size: 1.3rem;
}
 #statModalContent .photo-heading--relocated {
     color: var(--ink);
     text-align: left;
     margin-top: 1.25rem;
}
 #statModalContent .stat-card__cta--relocated {
     margin-top: 1rem;
     align-self: flex-start;
}
 </style>