/* ============================================================
   SL25 Main Page — SC Design System
   Single consolidated SL25 landing page. Each section is an
   independently-placeable Sitefinity widget (Desktop + Mobile
   pair). Both render; CSS toggles at 768px via .sl25--desktop /
   .sl25--mobile (same convention as public-profile.css).
   BEM block prefix: sl25-<section>
   Figma: desktop 6jVr7YbefLWCQjcGuvD59L 853:2614
          mobile  Qkw1rAqYvxShVppu34QlEv 1413:11939
   ============================================================ */

.sl25 {
    /* SC Design System tokens (exact Figma variable values) */
    --sl25-blue-10: #151c32;   /* desktop hero bg          */
    --sl25-blue-9:  #1c2542;   /* mobile hero bg, stat card */
    --sl25-blue-4:  #909eca;   /* stat label (desktop)      */
    --sl25-blue-3:  #b5bedb;   /* meta text                 */
    --sl25-blue-2:  #c8cee4;   /* body text on dark         */
    --sl25-teal:    #2fb8a9;   /* secondary / eyebrow       */
    --sl25-primary: #465da6;   /* brand 600 / primary btn   */
    --sl25-brand-50:#ebf1ff;   /* stat number               */
    --sl25-gray-700:#414651;   /* secondary btn text        */
    --sl25-gray-300:#d5d7da;   /* secondary btn border      */
    --sl25-white:   #ffffff;
    --sl25-shadow-xs: 0 1px 2px 0 rgba(10, 13, 18, .05);
    --sl25-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    font-family: var(--sl25-font);
    box-sizing: border-box;
}
.sl25 *,
.sl25 *::before,
.sl25 *::after { box-sizing: border-box; }

/* ---- Desktop / Mobile visibility toggle (768px) ---- */
.sl25--desktop { display: block; }
.sl25--mobile  { display: none; }
@media (max-width: 768px) {
    .sl25--desktop { display: none !important; }
    .sl25--mobile  { display: block; }
}

/* shared reset for links/buttons inside SL25 sections */
.sl25 a { text-decoration: none; }

/* ============================================================
   HERO  (desktop node 853:2617 — includes stats + info-session)
   ============================================================ */
.sl25-hero {
    background: var(--sl25-blue-10);
    padding: 92px 112px;
}
.sl25-hero__wrap {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}
.sl25-hero__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 48px;
}
.sl25-hero__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 618px;
    flex: 0 0 618px;
}
.sl25-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
}
.sl25-hero__eyebrow svg { width: 28px; height: 28px; display: block; color: var(--sl25-teal); }
.sl25-hero__eyebrow span {
    color: var(--sl25-teal);
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
}
.sl25-hero__title {
    margin: 0;
    color: var(--sl25-white);
    font-size: 48px;
    font-weight: 600;
    line-height: 60px;
    letter-spacing: -0.96px;
}
.sl25-hero__subtitle {
    margin: 0;
    color: var(--sl25-blue-2);
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
}
.sl25-hero__actions { display: flex; gap: 20px; }
.sl25-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    box-shadow: var(--sl25-shadow-xs);
    border: 1px solid transparent;
    cursor: pointer;
    white-space: nowrap;
}
.sl25-btn--primary { background: var(--sl25-primary); border-color: var(--sl25-primary); color: var(--sl25-white); }
.sl25-btn--primary:hover { background: #3b4f8e; }
.sl25-btn--secondary { background: var(--sl25-white); border-color: var(--sl25-gray-300); color: var(--sl25-gray-700); }
.sl25-btn--secondary:hover { background: #f7f7f8; }
.sl25-hero__deadline {
    margin: 0;
    color: var(--sl25-blue-3);
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}
.sl25-hero__media {
    flex: 0 0 479px;
    width: 479px;
    height: 284px;
}
.sl25-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.sl25-hero__learn {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--sl25-blue-2);
}
.sl25-hero__learn-text { font-size: 20px; font-weight: 500; line-height: 30px; }
.sl25-hero__learn-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sl25-blue-2); display: inline-block; }
.sl25-hero__learn-link { color: var(--sl25-blue-2); font-size: 20px; font-weight: 700; line-height: 30px; text-decoration: underline; }
.sl25-hero__stats {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 48px;
    width: 100%;
    padding: 32px 0;
    background: var(--sl25-blue-9);
    border: 1px solid var(--sl25-primary);
    border-radius: 8px;
}
.sl25-hero__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 216px;
}
.sl25-hero__stat-num {
    color: var(--sl25-brand-50);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-hero__stat-label {
    color: var(--sl25-blue-4);
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
}

/* ---- Hero · Mobile (node 1413:11942) ---- */
.sl25-hero--m {
    background: var(--sl25-blue-9);
    padding: 48px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.sl25-hero--m .sl25-hero__text {
    width: 100%;
    flex: none;
    align-items: flex-start;
    gap: 8px;
}
.sl25-hero--m .sl25-hero__eyebrow svg { width: 16px; height: 16px; }
.sl25-hero--m .sl25-hero__eyebrow span { font-size: 12px; line-height: 20px; }
.sl25-hero--m .sl25-hero__title { font-size: 30px; font-weight: 700; line-height: 38px; letter-spacing: 0; }
.sl25-hero--m .sl25-hero__subtitle { font-size: 14px; font-weight: 400; line-height: 22px; }
.sl25-hero--m .sl25-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    width: 100%;
}
.sl25-hero--m .sl25-btn {
    padding: 10px 16px;
    font-size: 14px;
    line-height: 20px;
}
.sl25-hero--m .sl25-hero__deadline { font-size: 12px; line-height: 20px; }
.sl25-hero--m .sl25-hero__media {
    flex: none;
    width: 100%;
    max-width: 352px;
    height: auto;
    aspect-ratio: 958 / 568;
}
.sl25-hero--m .sl25-hero__learn { width: 100%; }
.sl25-hero--m .sl25-hero__learn-text { font-size: 14px; line-height: 22px; }
.sl25-hero--m .sl25-hero__learn-link { font-size: 14px; line-height: 20px; }
.sl25-hero--m .sl25-hero__stats {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}
.sl25-hero--m .sl25-hero__stats::-webkit-scrollbar { display: none; }
.sl25-hero--m .sl25-hero__stat {
    flex: 0 0 272px;
    width: 272px;
    padding: 20px 0;
    background: var(--sl25-blue-9);
    border: 1px solid var(--sl25-primary);
    border-radius: 8px;
    scroll-snap-align: start;
}
.sl25-hero--m .sl25-hero__stat-num { font-size: 24px; line-height: 32px; letter-spacing: 0; }
.sl25-hero--m .sl25-hero__stat-label { color: var(--sl25-blue-2); font-size: 14px; font-weight: 400; line-height: 22px; }
.sl25-hero__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 0;
    width: 100%;
}
.sl25-hero__dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--sl25-blue-4);
    opacity: .4;
    display: inline-block;
}
.sl25-hero__dots i:first-child { opacity: 1; background: var(--sl25-white); }

/* ============================================================
   PARTNERS  (desktop node 853:2653 — Founding / Supporting)
   ============================================================ */
.sl25-partners {
    background: #ffffff;
    padding: 72px 112px;
}
.sl25-partners__wrap {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 48px;
}
.sl25-partners__row {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    overflow: hidden;
}
.sl25-partners__row--supporting {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px 0;
}
.sl25-partners__label {
    flex: 0 0 160px;
    width: 160px;
    color: #8c8c8c;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}
.sl25-partners__logos {
    display: flex;
    align-items: center;
    gap: 16px;
}
.sl25-partners__logos--founding { gap: 44px; flex-wrap: wrap; }
.sl25-partners__logos--supporting { padding: 20px 0; }
.sl25-partners__logos img { display: block; opacity: .7; }
.sl25-partners__logos--founding img { height: 48px; width: auto; }
.sl25-partners__logos--supporting img { height: 57px; width: auto; }

/* ---- Partners · Mobile (node 1413:12027) ---- */
.sl25-partners--m {
    background: #ffffff;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.sl25-partners--m .sl25-partners__row {
    position: relative;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}
.sl25-partners--m .sl25-partners__row::-webkit-scrollbar { display: none; }
.sl25-partners--m .sl25-partners__logos {
    padding-left: 124px;
    width: max-content;
}
.sl25-partners--m .sl25-partners__logos--founding img { height: 40px; }
.sl25-partners--m .sl25-partners__logos--supporting { padding: 0; }
.sl25-partners--m .sl25-partners__logos--supporting img { height: 57px; }
.sl25-partners--m .sl25-partners__label {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    flex: none;
    width: 120px;
    display: flex;
    align-items: center;
    padding-left: 16px;
    background: rgba(255, 255, 255, .85);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    font-size: 14px;
    line-height: 20px;
    z-index: 2;
}

/* ============================================================
   TAB NAV  (desktop node 855:3611 — sticky in-page anchors)
   ============================================================ */
.sl25-tabnav {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #ffffff;
    border-bottom: 1px solid #d9d9d9;
    display: flex;
    align-items: stretch;
    gap: 24px;
    padding: 0 112px;
    overflow-x: auto;
    scrollbar-width: none;
}
.sl25-tabnav::-webkit-scrollbar { display: none; }
.sl25-tabnav__item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
    color: #717680;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    white-space: nowrap;
    border-bottom: 1px solid #d9d9d9;
    margin-bottom: -1px;
    filter: drop-shadow(0 1px 1px rgba(10, 13, 18, .05));
}
.sl25-tabnav__item:hover { color: #465da6; }
.sl25-tabnav__item--active {
    color: #465da6;
    font-weight: 600;
    border-bottom: 2px solid #465da6;
}

/* ---- Tab Nav · Mobile (node 1413:12044) ---- */
.sl25-tabnav--m { padding: 0 16px; gap: 24px; }
.sl25-tabnav--m .sl25-tabnav__item {
    font-size: 14px;
    line-height: 20px;
}
.sl25-tabnav--m .sl25-tabnav__item--active { font-weight: 600; }

/* ============================================================
   WINNERS  (desktop node 1461:25715 — "Winning Solutions")
   ============================================================ */
.sl25-winners {
    background: #f6f9ff;
    border-bottom: 1px solid #d9d9d9;
    padding: 72px 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}
.sl25-winners__wrap {
    max-width: 1440px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}
.sl25-winners__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 24px;
}
.sl25-winners__head-left { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.sl25-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ebf1ff;
    color: #5e69a8;
    padding: 4px 12px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}
.sl25-winners__title {
    margin: 0;
    color: rgba(0, 0, 0, .88);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-winners__intro {
    margin: 0;
    width: 487px;
    color: #595959;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: right;
}
.sl25-winners__divider {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.sl25-winners__divider span {
    color: #000;
    opacity: .6;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
}
.sl25-winners__divider i { flex: 1 0 0; height: 1px; background: #d9d9d9; }
.sl25-winners__grid {
    display: flex;
    gap: 32px;
    width: 100%;
    padding-bottom: 20px;
}
.sl25-wincard {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sl25-wincard__photo {
    height: 208px;
    border-radius: 12px;
    overflow: hidden;
}
.sl25-wincard__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sl25-wincard__text { display: flex; flex-direction: column; gap: 8px; }
.sl25-wincard__name {
    margin: 0;
    color: #1c1c1c;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}
.sl25-wincard__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #f0f0f0;
    padding-top: 8px;
}
.sl25-wincard__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d9d9d9;
    flex: 0 0 32px;
    display: flex;
    align-items: center;
}
.sl25-wincard__avatar img { width: 100%; height: auto; display: block; }
.sl25-wincard__org { display: flex; flex-direction: column; font-size: 14px; line-height: 20px; }
.sl25-wincard__org b { font-weight: 400; color: #000; }
.sl25-wincard__org span { color: rgba(0, 0, 0, .45); }
.sl25-winners__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #465da6;
    border: 1px solid #465da6;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    box-shadow: var(--sl25-shadow-xs);
}
.sl25-winners__more:hover { background: #3b4f8e; }
.sl25-winners__more svg { width: 20px; height: 20px; }

/* ---- Winners · Mobile (node 1413:12045) ---- */
.sl25-winners--m {
    padding: 32px 16px;
    border-bottom: 0;
    gap: 24px;
}
.sl25-winners--m .sl25-winners__wrap { gap: 24px; }
.sl25-winners--m .sl25-winners__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.sl25-winners--m .sl25-badge { padding: 2px 8px; font-size: 12px; line-height: 18px; }
.sl25-winners--m .sl25-winners__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-winners--m .sl25-winners__intro { display: none; }
.sl25-winners--m .sl25-winners__divider span { font-size: 12px; line-height: 18px; }
.sl25-winners--m .sl25-winners__grid {
    gap: 20px;
    padding-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.sl25-winners--m .sl25-winners__grid::-webkit-scrollbar { display: none; }
.sl25-winners--m .sl25-wincard {
    flex: 0 0 258px;
    width: 258px;
    gap: 8px;
    filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .07));
    background: #fff;
    border-radius: 8px;
    padding-bottom: 10px;
    overflow: hidden;
}
.sl25-winners--m .sl25-wincard__photo { height: 132px; border-radius: 8px 8px 0 0; }
.sl25-winners--m .sl25-wincard__text { padding: 0 10px; }
.sl25-winners--m .sl25-wincard__name { font-size: 14px; line-height: 22px; }
.sl25-winners--m .sl25-wincard__meta { padding: 8px 10px 0; }
.sl25-winners--m .sl25-wincard__org { font-size: 12px; line-height: 1.5; }
.sl25-winners--m .sl25-wincard__org span { color: #595959; }
.sl25-winners--m .sl25-winners__more {
    width: 100%;
    padding: 10px 16px;
    font-size: 14px;
    line-height: 20px;
}

/* ============================================================
   WHY APPLY  (desktop node 853:2752 — Showcase/Engage/Network)
   ============================================================ */
.sl25-why {
    background: #f5f5f5;
    padding: 72px 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
}
.sl25-why__wrap {
    max-width: 1440px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
}
.sl25-why__head { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.sl25-why__title {
    margin: 0;
    color: rgba(0, 0, 0, .88);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-why__grid { display: flex; gap: 32px; align-items: stretch; width: 100%; }
.sl25-whycard {
    flex: 1 0 0;
    min-width: 0;
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 14px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    min-height: 444px;
}
.sl25-whycard::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -140px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(133, 174, 255, .28) 0%, rgba(150, 177, 255, 0) 70%);
    pointer-events: none;
}
.sl25-whycard__body {
    position: relative;
    z-index: 1;
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
}
.sl25-whycard__title {
    margin: 0;
    color: rgba(0, 0, 0, .88);
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: -0.72px;
}
.sl25-whycard__list { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.sl25-whycard__item { display: flex; gap: 8px; align-items: flex-start; }
.sl25-whycard__item svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--sl25-teal); margin-top: 3px; }
.sl25-whycard__item span,
.sl25-whycard__desc {
    color: #595959;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}
.sl25-whycard__desc { margin: 0; }
.sl25-whycard__img {
    position: relative;
    z-index: 1;
    width: 330px;
    max-width: 100%;
    height: 160px;
    border-radius: 12px;
    overflow: hidden;
    flex: 0 0 160px;
}
.sl25-whycard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Why Apply · Mobile (node 1413:12130) ---- */
.sl25-why--m {
    padding: 32px 16px;
    align-items: flex-start;
    gap: 20px;
}
.sl25-why--m .sl25-why__wrap { align-items: flex-start; gap: 20px; }
.sl25-why--m .sl25-why__head { align-items: flex-start; gap: 12px; }
.sl25-why--m .sl25-why__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-why--m .sl25-why__grid {
    gap: 16px;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}
.sl25-why--m .sl25-why__grid::-webkit-scrollbar { display: none; }
.sl25-why--m .sl25-whycard {
    flex: 0 0 336px;
    width: 336px;
    min-height: 0;
    padding: 20px 16px;
    gap: 20px;
}
.sl25-why--m .sl25-whycard__body { gap: 12px; min-height: 192px; }
.sl25-why--m .sl25-whycard__title { font-size: 16px; line-height: 24px; letter-spacing: 0; }
.sl25-why--m .sl25-whycard__item svg { width: 16px; height: 16px; flex-basis: 16px; margin-top: 2px; }
.sl25-why--m .sl25-whycard__item span,
.sl25-why--m .sl25-whycard__desc { font-size: 14px; line-height: 22px; }
.sl25-why--m .sl25-whycard__img {
    width: 100%;
    height: auto;
    aspect-ratio: 330 / 160;
    flex: none;
}
.sl25-why__dots {
    display: flex;
    align-items: center;
    gap: 6px;
    align-self: center;
}
.sl25-why__dots i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #c8cee4;
    display: inline-block;
}
.sl25-why__dots i:first-child { background: var(--sl25-primary); }

/* ============================================================
   ELIGIBILITY  (desktop node 853:2806 — "Which solutions qualify?")
   ============================================================ */
.sl25-elig {
    background: #fff;
    border-bottom: 1px solid #d9d9d9;
    padding: 72px 112px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 48px;
}
.sl25-elig__wrap {
    max-width: 1440px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 48px;
}
.sl25-elig__head { display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.sl25-elig__title {
    margin: 0;
    color: rgba(0, 0, 0, .88);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-elig__row {
    display: flex;
    gap: 56px;
    align-items: center;
    width: 100%;
}
.sl25-elig__left {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.sl25-elig__list { display: flex; flex-direction: column; gap: 32px; width: 100%; }
.sl25-elig__item { display: flex; gap: 8px; align-items: flex-start; }
.sl25-elig__item svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--sl25-teal); margin-top: 4px; }
.sl25-elig__item span,
.sl25-elig__note {
    color: #262626;
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
}
.sl25-elig__note { margin: 0; }
.sl25-elig__actions { display: flex; gap: 20px; align-items: center; }
.sl25-elig__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5e69a8;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}
.sl25-elig__link svg { width: 20px; height: 20px; }
.sl25-elig__panel {
    flex: 0 0 564px;
    width: 564px;
    border-radius: 12px;
    overflow: hidden;
}
.sl25-elig__panel img { width: 100%; height: auto; display: block; }

/* ---- Eligibility · Mobile (node 1413:12189) ---- */
.sl25-elig--m {
    padding: 32px 16px 48px;
    gap: 20px;
}
.sl25-elig--m .sl25-elig__wrap { gap: 20px; }
.sl25-elig--m .sl25-elig__head { gap: 12px; }
.sl25-elig--m .sl25-elig__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-elig--m .sl25-elig__row { flex-direction: column; gap: 20px; align-items: stretch; }
.sl25-elig--m .sl25-elig__left { gap: 24px; }
.sl25-elig--m .sl25-elig__list { gap: 16px; }
.sl25-elig--m .sl25-elig__item svg { width: 16px; height: 16px; flex-basis: 16px; margin-top: 2px; }
.sl25-elig--m .sl25-elig__item span,
.sl25-elig--m .sl25-elig__note { font-size: 14px; line-height: 22px; }
.sl25-elig--m .sl25-elig__actions { flex-direction: column; align-items: flex-start; gap: 24px; }
.sl25-elig--m .sl25-elig__link { font-size: 14px; line-height: 20px; }
.sl25-elig--m .sl25-elig__panel { flex: none; width: 100%; }

/* ============================================================
   TIMELINE  (desktop node 853:2847 — "From Application to Summit")
   ============================================================ */
.sl25-tl {
    background: var(--sl25-blue-10);
    border-bottom: 1px solid #c7cee4;
    padding: 72px 112px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
}
.sl25-tl__wrap { max-width: 1440px; width: 100%; display: flex; flex-direction: column; gap: 32px; }
.sl25-badge--blue { background: #eff8ff; color: #175cd3; }
.sl25-tl__title {
    margin: 0;
    color: #fff;
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-tl__cards { display: flex; gap: 32px; align-items: stretch; }
.sl25-tl__card {
    flex: 1 0 0;
    min-width: 0;
    position: relative;
    background: #f6f9ff;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 4px 4px rgba(10,13,18,.1), 0 2px 2px rgba(10,13,18,.06);
}
.sl25-tl__card::after {
    content: "";
    position: absolute;
    left: 24px;
    bottom: -6px;
    width: 0; height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 6px solid #f6f9ff;
}
.sl25-tl__card h3 {
    margin: 0 0 4px;
    color: var(--sl25-primary);
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
}
.sl25-tl__card p { margin: 0; color: #000; font-size: 16px; font-weight: 400; line-height: 24px; }
.sl25-tl__card a { color: #000; text-decoration: underline; }
.sl25-tl__rail { position: relative; display: flex; align-items: center; margin: 18px 0 14px; }
.sl25-tl__rail::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 4px;
    border-radius: 999px;
    background: var(--sl25-blue-4);
}
.sl25-tl__pin { flex: 1 0 0; display: flex; justify-content: center; }
.sl25-tl__dot {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--sl25-blue-4);
    box-shadow: 0 0 0 4px var(--sl25-blue-10);
    position: relative;
}
.sl25-tl__dates { display: flex; gap: 32px; }
.sl25-tl__date {
    flex: 1 0 0;
    text-align: center;
    color: var(--sl25-blue-4);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

/* ---- Timeline · Mobile (node 1413:12235) ---- */
.sl25-tl--m { padding: 48px 16px; gap: 24px; }
.sl25-tl--m .sl25-tl__wrap { gap: 12px; }
.sl25-tl--m .sl25-tl__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-tl--m .sl25-tl__track {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 31px;
    margin-top: 12px;
}
.sl25-tl--m .sl25-tl__track::before {
    content: "";
    position: absolute;
    left: 80px;
    top: 12px;
    bottom: 12px;
    width: 4px;
    border-radius: 999px;
    background: var(--sl25-blue-4);
}
.sl25-tl--m .sl25-tl__item { display: flex; gap: 16px; align-items: center; }
.sl25-tl--m .sl25-tl__lead { display: flex; gap: 16px; align-items: center; }
.sl25-tl--m .sl25-tl__date {
    flex: none;
    width: 52px;
    text-align: right;
    font-size: 14px;
    line-height: 22px;
}
.sl25-tl--m .sl25-tl__date b { display: block; font-weight: 600; }
.sl25-tl--m .sl25-tl__dot { z-index: 1; }
.sl25-tl--m .sl25-tl__card {
    flex: 1 0 0;
    box-shadow: 0 12px 8px rgba(10,13,18,.08), 0 4px 3px rgba(10,13,18,.03);
}
.sl25-tl--m .sl25-tl__card::after {
    left: -6px;
    top: 24px;
    bottom: auto;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 6px solid #f6f9ff;
    border-left: 0;
}
.sl25-tl--m .sl25-tl__card h3 { font-size: 14px; line-height: 20px; }
.sl25-tl--m .sl25-tl__card p { font-size: 14px; line-height: 20px; }

/* ============================================================
   JUDGING & CRITERIA  (desktop node 853:2980)
   ============================================================ */
.sl25-cr {
    background: #fff;
    border-bottom: 1px solid #d9d9d9;
    padding: 72px 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}
.sl25-cr__wrap { max-width: 1440px; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 48px; }
.sl25-cr__head { display: flex; flex-direction: column; align-items: center; gap: 32px; width: 100%; }
.sl25-cr__title {
    margin: 0;
    color: rgba(0,0,0,.88);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-cr__sub {
    margin: 0;
    max-width: 842px;
    text-align: center;
    color: #595959;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}
.sl25-cr__box {
    display: flex;
    gap: 48px;
    align-items: flex-start;
    width: 100%;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 40px;
}
.sl25-cr__compass {
    flex: 0 0 auto;
    background: #f6f9ff;
    height: 468px;
    display: flex;
    align-items: center;
    padding: 20px;
}
.sl25-cr__compass img { width: 380px; height: 380px; display: block; }
.sl25-cr__acc { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.sl25-cr__item { border-bottom: 1px solid #d9d9d9; padding-bottom: 16px; }
.sl25-cr__item:last-child { border-bottom: 0; }
.sl25-cr__item summary {
    list-style: none;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    cursor: pointer;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}
.sl25-cr__item summary::-webkit-details-marker { display: none; }
.sl25-cr__sign { position: relative; width: 20px; height: 20px; flex: 0 0 20px; }
.sl25-cr__sign::before,
.sl25-cr__sign::after {
    content: "";
    position: absolute;
    background: #000;
    border-radius: 1px;
    left: 50%;
    top: 50%;
}
.sl25-cr__sign::before { width: 12px; height: 1.5px; transform: translate(-50%,-50%); }
.sl25-cr__sign::after  { width: 1.5px; height: 12px; transform: translate(-50%,-50%); }
.sl25-cr__item[open] .sl25-cr__sign::after { display: none; }
.sl25-cr__item summary > span:first-child { flex: 1 0 0; }
.sl25-cr__desc {
    margin: 16px 0 0;
    color: #595959;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
}
.sl25-cr__videos { display: flex; gap: 32px; align-items: flex-start; width: 100%; }
.sl25-crvid { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.sl25-crvid__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1280 / 720;
    border-radius: 12px;
    overflow: hidden;
}
.sl25-crvid__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sl25-crvid__play {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%,-50%);
    width: 68px; height: 48px;
    border-radius: 12px;
    background: rgba(0,0,0,.5);
    display: flex;
    align-items: center;
    justify-content: center;
}
.sl25-crvid__play svg { width: 22px; height: 22px; color: #fff; }
.sl25-crvid__title {
    margin: 0;
    color: #1c1c1c;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}
.sl25-cr__dots { display: flex; gap: 8px; align-items: center; justify-content: center; padding: 8px 0; }
.sl25-cr__dots i { width: 8px; height: 8px; border-radius: 50%; background: #d9d9d9; display: inline-block; }
.sl25-cr__dots i:first-child { background: var(--sl25-primary); }

/* ---- Judging & Criteria · Mobile (node 1413:12262) ---- */
.sl25-cr--m { padding: 32px 16px; align-items: flex-start; gap: 20px; }
.sl25-cr--m .sl25-cr__wrap { align-items: flex-start; gap: 20px; }
.sl25-cr--m .sl25-cr__head { align-items: flex-start; gap: 12px; }
.sl25-cr--m .sl25-cr__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-cr--m .sl25-cr__sub { text-align: left; font-size: 14px; line-height: 20px; }
.sl25-cr--m .sl25-cr__box { flex-direction: column; gap: 20px; padding: 16px; }
.sl25-cr--m .sl25-cr__acc { width: 100%; gap: 20px; }
.sl25-cr--m .sl25-cr__item summary { font-size: 16px; line-height: 24px; }
.sl25-cr--m .sl25-cr__desc { font-size: 14px; line-height: 20px; }
.sl25-cr--m .sl25-cr__compass {
    width: 100%;
    height: auto;
    justify-content: center;
    margin-top: 8px;
    padding: 10px;
}
.sl25-cr--m .sl25-cr__compass img { width: 188px; height: 188px; }
.sl25-cr--m .sl25-cr__videos { width: 100%; }
.sl25-cr--m .sl25-crvid__title { font-size: 14px; line-height: 22px; }
.sl25-cr--m .sl25-cr__dots i { width: 5px; height: 5px; }

/* ============================================================
   GLOBAL EXPERT PANEL / JUDGES  (desktop node 853:2896)
   ============================================================ */
.sl25-jd {
    background: #fafafa;
    padding: 72px 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}
.sl25-jd__wrap { max-width: 1136px; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 48px; }
.sl25-jd__head { display: flex; flex-direction: column; align-items: center; gap: 32px; }
.sl25-jd__title {
    margin: 0;
    color: rgba(0,0,0,.88);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-jd__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    width: 1072px;
    max-width: 100%;
    justify-content: center;
}
.sl25-jdcard {
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 14px;
    box-shadow: 0 4px 14px 0 rgba(0,0,0,.07);
    overflow: hidden;
    padding-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sl25-jdcard__photo { background: #f6f9ff; }
.sl25-jdcard__photo img { width: 100%; height: auto; display: block; }
.sl25-jdcard__body { display: flex; flex-direction: column; gap: 6px; padding: 0 16px; }
.sl25-jdcard__name {
    margin: 0;
    color: rgba(0,0,0,.88);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}
.sl25-jdcard__role {
    margin: 0;
    color: #595959;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}
.sl25-jdcard__li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5e69a8;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}
.sl25-jdcard__li svg { width: 20px; height: 20px; }
.sl25-jd__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--sl25-gray-300);
    color: var(--sl25-gray-700);
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    box-shadow: var(--sl25-shadow-xs);
}
.sl25-jd__more:hover { background: #f7f7f8; }

/* ---- Judges · Mobile (node 1413:12346) ---- */
.sl25-jd--m { background: #f5f5f5; padding: 32px 16px; gap: 20px; }
.sl25-jd--m .sl25-jd__wrap { align-items: stretch; gap: 20px; }
.sl25-jd--m .sl25-jd__head { align-items: flex-start; gap: 12px; }
.sl25-jd--m .sl25-jd__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-jd--m .sl25-jd__grid {
    display: flex;
    grid-template-columns: none;
    gap: 16px;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}
.sl25-jd--m .sl25-jd__grid::-webkit-scrollbar { display: none; }
.sl25-jd--m .sl25-jdcard { flex: 0 0 240px; width: 240px; }
.sl25-jd--m .sl25-jdcard__name { font-size: 14px; line-height: 22px; }
.sl25-jd--m .sl25-jdcard__role { font-size: 12px; line-height: 20px; }
.sl25-jd--m .sl25-jdcard__li { font-size: 14px; line-height: 20px; }
.sl25-jd--m .sl25-jd__more { align-self: center; padding: 10px 16px; font-size: 14px; line-height: 20px; }

/* ============================================================
   STEWARDSHIP VALUES BAND  (desktop node 853:3022)
   ============================================================ */
.sl25-vb {
    background: #384a85;
    padding: 72px 112px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}
.sl25-vb__text { display: flex; flex-direction: column; gap: 32px; max-width: 693px; }
.sl25-vb__quote {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
}
.sl25-vb__caption { margin: 0; color: #c7cee4; font-size: 20px; font-weight: 400; line-height: 30px; }
.sl25-vb__caption a { color: #fff; text-decoration: underline; }
.sl25-vb__media {
    flex: 0 0 381px;
    width: 381px;
    border-radius: 8px;
    overflow: hidden;
}
.sl25-vb__media img { width: 100%; height: auto; display: block; }

/* ---- Values band · Mobile (node 1413:12304) ---- */
.sl25-vb--m {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 32px 20px;
}
.sl25-vb--m .sl25-vb__text { gap: 20px; max-width: 100%; }
.sl25-vb--m .sl25-vb__quote { font-size: 14px; line-height: 20px; }
.sl25-vb--m .sl25-vb__caption { font-size: 14px; line-height: 20px; }
.sl25-vb--m .sl25-vb__media { flex: none; width: 100%; max-width: 350px; }

/* ============================================================
   STEPS TO APPLY  (desktop node 1030:10554 — Application Process)
   ============================================================ */
.sl25-steps {
    background: #f6f9ff;
    padding: 72px 112px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
}
.sl25-steps__wrap { max-width: 1440px; width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.sl25-steps__title {
    margin: 0;
    color: rgba(0,0,0,.88);
    font-size: 36px;
    font-weight: 600;
    line-height: 44px;
    letter-spacing: -0.72px;
}
.sl25-steps__grid { display: flex; flex-wrap: wrap; gap: 20px; width: 100%; }
.sl25-step {
    position: relative;
    overflow: hidden;
    border: 1px solid #f0f0f0;
    border-radius: 14px;
    height: 258px;
    padding: 20px;
}
.sl25-step--1 { flex: 1 1 560px; background: linear-gradient(to bottom, #465da6 16%, #dadfed 123%); }
.sl25-step--2 { flex: 1 1 460px; background: linear-gradient(196.72deg, #ebf1ff 31%, #ffffff 76%); }
.sl25-step--3 { flex: 1 1 320px; background: linear-gradient(to bottom, #ebf1ff, #ffffff); }
.sl25-step--4 { flex: 1 1 320px; background: linear-gradient(211.76deg, #b5bedb 6%, #465da6 83%); }
.sl25-step__body { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 8px; }
.sl25-step__head { display: flex; gap: 8px; align-items: center; }
.sl25-step__num {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
}
.sl25-step--1 .sl25-step__num, .sl25-step--4 .sl25-step__num { background: #ebf1ff; color: #465da6; }
.sl25-step--2 .sl25-step__num, .sl25-step--3 .sl25-step__num { background: #465da6; color: #dadfed; }
.sl25-step__t { margin: 0; font-size: 20px; font-weight: 600; line-height: 28px; }
.sl25-step__d { margin: 0; font-size: 16px; font-weight: 400; line-height: 24px; }
.sl25-step__d a { text-decoration: underline; }
.sl25-step--1 .sl25-step__t, .sl25-step--1 .sl25-step__d, .sl25-step--1 .sl25-step__d a,
.sl25-step--4 .sl25-step__t, .sl25-step--4 .sl25-step__d, .sl25-step--4 .sl25-step__d a { color: #fff; }
.sl25-step--2 .sl25-step__t, .sl25-step--3 .sl25-step__t { color: rgba(0,0,0,.88); }
.sl25-step--2 .sl25-step__d, .sl25-step--3 .sl25-step__d { color: #595959; }
.sl25-step--2 .sl25-step__d a, .sl25-step--3 .sl25-step__d a { color: #595959; }
.sl25-step__art {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 1;
    max-width: 92%;
    height: auto;
    border-radius: 8px;
    pointer-events: none;
}
.sl25-step--2 .sl25-step__art { bottom: 8px; }
.sl25-step--3 .sl25-step__art { max-width: 70%; }

/* ---- Steps to Apply · Mobile (node 1413:12429) ---- */
.sl25-steps--m { background: #f6f9ff; padding: 32px 16px; gap: 20px; }
.sl25-steps--m .sl25-steps__wrap { gap: 12px; }
.sl25-steps--m .sl25-steps__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-steps--m .sl25-steps__grid {
    flex-wrap: nowrap;
    gap: 16px;
    overflow-x: auto;
    scrollbar-width: none;
    margin-top: 8px;
}
.sl25-steps--m .sl25-steps__grid::-webkit-scrollbar { display: none; }
.sl25-steps--m .sl25-step { flex: 0 0 336px; width: 336px; }
.sl25-steps--m .sl25-step__num { width: 20px; height: 20px; flex-basis: 20px; }
.sl25-steps--m .sl25-step__t { font-size: 16px; line-height: 24px; }
.sl25-steps--m .sl25-step__d { font-size: 14px; line-height: 22px; }
.sl25-steps__dots { display: flex; gap: 6px; align-self: center; }
.sl25-steps__dots i { width: 6px; height: 6px; border-radius: 50%; background: #c8cee4; }
.sl25-steps__dots i:first-child { background: var(--sl25-primary); }

/* ============================================================
   SL25 COVERAGE  (desktop node 853:3062 — Press + Podcast)
   ============================================================ */
.sl25-cov { background: #fff; padding: 72px 112px; display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.sl25-cov__wrap { max-width: 1440px; width: 100%; }
.sl25-cov__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 48px; }
.sl25-cov__head-l { display: flex; flex-direction: column; gap: 16px; }
.sl25-cov__title { margin: 0; color: rgba(0,0,0,.88); font-size: 36px; font-weight: 600; line-height: 44px; letter-spacing: -0.72px; }
.sl25-cov__intro { margin: 0; width: 416px; max-width: 100%; color: #595959; font-size: 16px; font-weight: 400; line-height: 30px; text-align: right; }
.sl25-cov__cols { display: flex; gap: 68px; margin-top: 32px; }
.sl25-cov__press { flex: 1 1 732px; min-width: 0; }
.sl25-cov__pod { flex: 0 0 416px; }
.sl25-cov__lbl { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; }
.sl25-cov__lbl span { color: #595959; font-size: 20px; font-weight: 600; line-height: 30px; white-space: nowrap; }
.sl25-cov__lbl i { flex: 1 0 0; height: 1px; background: #d9d9d9; }
.sl25-cov__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.sl25-covcard { display: flex; flex-direction: column; gap: 12px; }
.sl25-covcard__img { width: 100%; aspect-ratio: 346/208; border-radius: 12px; overflow: hidden; }
.sl25-covcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sl25-covcard__t { margin: 0; color: #1c1c1c; font-size: 16px; font-weight: 600; line-height: 24px; }
.sl25-covcard__m { display: flex; align-items: center; gap: 8px; color: #595959; font-size: 14px; line-height: 20px; }
.sl25-covcard__m i { width: 2px; height: 2px; border-radius: 50%; background: #595959; }
.sl25-pod { display: flex; flex-direction: column; gap: 32px; }
.sl25-podrow { display: flex; gap: 16px; align-items: flex-start; text-decoration: none; color: inherit; }
.sl25-podrow:hover .sl25-podrow__t { text-decoration: underline; }
.sl25-podrow__play { flex: 0 0 32px; width: 32px; height: 32px; color: var(--sl25-primary); }
.sl25-podrow__t { margin: 0 0 6px; color: #1c1c1c; font-size: 16px; font-weight: 600; line-height: 24px; }
.sl25-podrow__meta { display: flex; gap: 12px; align-items: center; color: #595959; font-size: 12px; line-height: 22px; }
.sl25-podrow__sp { margin: 6px 0 0; color: #595959; font-size: 14px; line-height: 22px; }
.sl25-cov__pager { display: flex; gap: 8px; justify-content: center; margin-top: 24px; }
.sl25-cov__pager button { width: 44px; height: 44px; border: 0; background: none; cursor: pointer; color: #595959; }
.sl25-cov__pager svg { width: 20px; height: 20px; }

/* VIDEOS (node 1044:1892 etc) */
.sl25-vid { background: #fff; padding: 0 112px 72px; display: flex; flex-direction: column; gap: 32px; }
.sl25-vid__wrap { max-width: 1440px; width: 100%; display: flex; flex-direction: column; gap: 32px; }
.sl25-vid__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.sl25-vidcard { display: flex; flex-direction: column; gap: 12px; }
.sl25-vidcard__media { position: relative; width: 100%; aspect-ratio: 592/333; border-radius: 12px; overflow: hidden; }
.sl25-vidcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sl25-vidcard__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 68px; height: 48px; border-radius: 12px; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; }
.sl25-vidcard__play svg { width: 22px; height: 22px; color: #fff; }
.sl25-vidcard__t { margin: 0; color: #1c1c1c; font-size: 20px; font-weight: 600; line-height: 28px; }
.sl25-vidcard__meta { display: flex; align-items: center; gap: 12px; color: #595959; font-size: 14px; line-height: 22px; }
.sl25-vidcard__meta i { width: 1px; height: 18px; background: #d9d9d9; }
.sl25-vid__more { align-self: center; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--sl25-gray-300); color: var(--sl25-gray-700); padding: 12px 20px; border-radius: 8px; font-size: 16px; font-weight: 600; line-height: 24px; box-shadow: var(--sl25-shadow-xs); }

/* WINNER FEATURES (node 853:3197) */
.sl25-wf { background: var(--sl25-blue-9); padding: 72px 0; display: flex; flex-direction: column; align-items: center; gap: 32px; overflow: hidden; }
.sl25-wf__head { display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; max-width: 658px; padding: 0 24px; }
.sl25-wf__title { margin: 0; color: #fff; font-size: 36px; font-weight: 600; line-height: 44px; letter-spacing: -0.72px; }
.sl25-wf__sub { margin: 0; color: var(--sl25-blue-2); font-size: 20px; font-weight: 400; line-height: 30px; }
.sl25-wf__track { display: flex; gap: 32px; width: 100%; padding: 0 112px; overflow-x: auto; scrollbar-width: none; }
.sl25-wf__track::-webkit-scrollbar { display: none; }
.sl25-wfcard { flex: 0 0 330px; width: 330px; display: flex; flex-direction: column; gap: 28px; text-decoration: none; }
.sl25-wfcard__img { position: relative; width: 100%; height: 218px; border-radius: 12px; overflow: hidden; }
.sl25-wfcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sl25-wfcard__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(0, 0, 0, 0.45); color: #fff; }
.sl25-wfcard__play svg { width: 22px; height: 22px; }
.sl25-wfcard__t { margin: 0; color: #fff; font-size: 16px; font-weight: 600; line-height: 24px; }
.sl25-wfcard:hover .sl25-wfcard__t { text-decoration: underline; }
.sl25-wfcard__d { margin: 6px 0 0; color: var(--sl25-blue-2); font-size: 14px; font-weight: 400; line-height: 22px; }

/* ---- Coverage/Videos/WinnerFeatures · Mobile ---- */
.sl25-cov--m { padding: 32px 16px; gap: 20px; }
.sl25-cov--m .sl25-cov__head { flex-direction: column; gap: 12px; }
.sl25-cov--m .sl25-cov__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-cov--m .sl25-cov__intro { width: 100%; text-align: left; font-size: 14px; line-height: 20px; }
.sl25-cov--m .sl25-cov__cols { flex-direction: column; gap: 32px; margin-top: 16px; }
.sl25-cov--m .sl25-cov__press, .sl25-cov--m .sl25-cov__pod { flex: none; width: 100%; }
.sl25-cov--m .sl25-cov__grid { grid-template-columns: 1fr; gap: 24px; }
.sl25-cov--m .sl25-cov__lbl span { font-size: 16px; line-height: 24px; }
.sl25-vid--m { padding: 0 16px 32px; gap: 20px; }
.sl25-vid--m .sl25-vid__grid { grid-template-columns: 1fr; gap: 24px; }
.sl25-vid--m .sl25-vidcard__t { font-size: 16px; line-height: 24px; }
.sl25-wf--m { padding: 32px 0; gap: 20px; }
.sl25-wf--m .sl25-wf__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-wf--m .sl25-wf__sub { font-size: 14px; line-height: 20px; }
.sl25-wf--m .sl25-wf__track { padding: 0 16px; gap: 16px; }
.sl25-wf--m .sl25-wfcard { flex-basis: 280px; width: 280px; }

/* ============================================================
   FAQ  (desktop node 853:3206)
   ============================================================ */
.sl25-faq { background: #fff; padding: 72px 288px; display: flex; flex-direction: column; gap: 44px; }
.sl25-faq__wrap { max-width: 864px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 44px; }
.sl25-faq__head { display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
.sl25-faq__title { margin: 0; color: rgba(0,0,0,.88); font-size: 36px; font-weight: 600; line-height: 44px; letter-spacing: -0.72px; }
.sl25-faq__sub { margin: 0; color: #8c8c8c; font-size: 20px; font-weight: 400; line-height: 30px; }
.sl25-faq__list { display: flex; flex-direction: column; gap: 24px; }
.sl25-faq__item { border-bottom: 1px solid #bfbfbf; padding-bottom: 16px; }
.sl25-faq__item summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    cursor: pointer;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}
.sl25-faq__item summary::-webkit-details-marker { display: none; }
.sl25-faq__sign { position: relative; width: 20px; height: 20px; flex: 0 0 20px; }
.sl25-faq__sign::before, .sl25-faq__sign::after { content: ""; position: absolute; background: #000; border-radius: 1px; left: 50%; top: 50%; }
.sl25-faq__sign::before { width: 12px; height: 1.5px; transform: translate(-50%,-50%); }
.sl25-faq__sign::after  { width: 1.5px; height: 12px; transform: translate(-50%,-50%); }
.sl25-faq__item[open] .sl25-faq__sign::after { display: none; }
.sl25-faq__a { margin: 16px 0 0; color: #595959; font-size: 20px; font-weight: 400; line-height: 30px; }
.sl25-faq__a a { color: #595959; text-decoration: underline; }
.sl25-faq--m { padding: 32px 16px; gap: 24px; }
.sl25-faq--m .sl25-faq__wrap { gap: 24px; }
.sl25-faq--m .sl25-faq__head { align-items: flex-start; text-align: left; gap: 12px; }
.sl25-faq--m .sl25-faq__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-faq--m .sl25-faq__sub { font-size: 14px; line-height: 22px; }
.sl25-faq--m .sl25-faq__item summary { font-size: 16px; line-height: 24px; }
.sl25-faq--m .sl25-faq__a { font-size: 14px; line-height: 22px; }

/* ============================================================
   GET IN TOUCH / CONTACT  (desktop node 853:3240)
   ============================================================ */
.sl25-ct { background: #f6f9ff; border-bottom: 1px solid #d9d9d9; padding: 72px 288px; display: flex; gap: 48px; align-items: flex-start; }
.sl25-ct__l { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.sl25-ct__title { margin: 0; color: rgba(0,0,0,.88); font-size: 36px; font-weight: 600; line-height: 44px; letter-spacing: -0.72px; }
.sl25-ct__desc { margin: 0; color: #000; opacity: .6; font-size: 20px; font-weight: 400; line-height: 30px; }
.sl25-ct__form { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.sl25-ct__input {
    width: 100%;
    background: #fff;
    border: 1px solid #d5d7da;
    border-radius: 8px;
    box-shadow: var(--sl25-shadow-xs);
    padding: 10px 14px;
    font-family: var(--sl25-font);
    font-size: 16px;
    line-height: 24px;
    color: #181d27;
}
.sl25-ct__input::placeholder { color: #717680; }
.sl25-ct__submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #465da6;
    border: 1px solid #465da6;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    box-shadow: var(--sl25-shadow-xs);
    cursor: pointer;
}
.sl25-ct__submit:hover { background: #3b4f8e; }
.sl25-ct__submit svg { width: 20px; height: 20px; }
.sl25-ct--m { flex-direction: column; gap: 24px; padding: 32px 16px; }
.sl25-ct--m .sl25-ct__l { gap: 12px; }
.sl25-ct--m .sl25-ct__title { font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 0; }
.sl25-ct--m .sl25-ct__desc { font-size: 14px; line-height: 22px; }
.sl25-ct--m .sl25-ct__form { gap: 20px; width: 100%; }

/* ============================================================
   FINAL CTA  (desktop node 1634:6903)
   ============================================================ */
.sl25-fcta {
    background: var(--sl25-blue-9);
    padding: 100px 80px;
    position: relative;
    overflow: hidden;
}
.sl25-fcta__inner { display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
.sl25-fcta__title { margin: 0; color: #fff; font-size: 48px; font-weight: 700; line-height: 1.2; letter-spacing: -1.44px; }
.sl25-fcta__sub { margin: 0; color: #bfbfbf; font-size: 18px; font-weight: 400; line-height: 1.5; letter-spacing: -0.54px; }
.sl25-fcta__actions { display: flex; gap: 24px; }
.sl25-fcta--m { padding: 32px 20px 48px; }
.sl25-fcta--m .sl25-fcta__title { font-size: 24px; line-height: 32px; letter-spacing: -0.72px; }
.sl25-fcta--m .sl25-fcta__sub { color: #d9d9d9; font-size: 14px; line-height: 22px; letter-spacing: 0; }
.sl25-fcta--m .sl25-fcta__inner { gap: 14px; max-width: 335px; margin: 0 auto; }
.sl25-fcta--m .sl25-fcta__actions { gap: 16px; width: 100%; }
.sl25-fcta--m .sl25-fcta__actions .sl25-btn { flex: 1 0 0; }
