.template-page-narrow-content .wp-block-post-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 748px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.template-page-narrow-content .wp-block-post-content > .alignwide {
    max-width: 1440px;
    margin-left: calc((748px - 1440px) / 2) !important;
    margin-right: calc((748px - 1440px) / 2) !important;
}

.template-page-narrow-content .wp-block-post-content > .alignfull {
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Below 748px — content fills viewport, no breakout */
@media (max-width: 748px) {
    .template-page-narrow-content .wp-block-post-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        max-width: 100% !important;
    }

    .template-page-narrow-content .wp-block-post-content > .alignwide {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .template-page-narrow-content .wp-block-post-content > .alignfull {
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

/* Between 748px and 1440px — alignwide fills available space */
@media (min-width: 748px) and (max-width: 1440px) {
    .template-page-narrow-content .wp-block-post-content > .alignwide {
        max-width: calc(100vw - var(--scrollbar-width, 15px)) !important;
        margin-left: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
        margin-right: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    }
}



/* Events Block */
.wp-block-acf-carousel-card img {
    width: 100% !important;
}

.image-alt-caption {
    font-family: 'franklin-gothic-urw', 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    margin: 5px 0;
}


/* Intro & paragraph spacing */
.wp-block-post-content > * {
    margin-bottom: 40px;
}
.narrow-content-standard-block > h2.wp-block-heading {
    margin-bottom: 10px;
    max-width: 748px;
}
.narrow-content-standard-block > .wp-block-paragraph {
    font-size: 20px;
    line-height: 28px;
    max-width: 748px;
}

/* 01 - Hero Banner */
.wp-block-post-content > .wp-block-media-text.is-hero-banner {
    height: 80vh;
    max-height: 680px;
    overflow: hidden;
    align-content: flex-end;
    align-items: stretch;
    box-sizing: border-box;
    direction: ltr;
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-rows: 1fr; /* ← this is the fix */
}
.wp-block-post-content > .wp-block-media-text.is-hero-banner.alignfull {
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}
@media (max-width: 748px) {
    .wp-block-post-content > .wp-block-media-text.is-hero-banner.alignfull {
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}
.wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-media-text__media {
    overflow: hidden;
    min-height: 0;
    height: 100%;
}

.wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-media-text__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-media-text__content {
    align-content: flex-end;
    max-width: 720px;
    box-sizing: border-box;
    height: 100%;
    padding-left: 80px;
    padding-top: 40px;
    padding-bottom: 40px;
}
.wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-media-text__content h1 {
    font-size: 80px;
}
@media (max-width: 800px) {
    .wp-block-post-content > .wp-block-media-text.is-hero-banner {
        min-height: 480px;
    }
    .wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-media-text__content {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-media-text__content h1 {
        font-size: 48px;
    }
}
.wp-block-post-content > .wp-block-media-text.is-hero-banner,
.block-style-accent-colour-purple .wp-block-post-content > .wp-block-media-text.is-hero-banner,
.wp-block-post-content > .wp-block-media-text.is-hero-banner.purple-style {
    background-color: #422B73 !important;
    color: #FFF !important;
}
.block-style-accent-colour-red .wp-block-post-content > .wp-block-media-text.is-hero-banner,
.wp-block-post-content > .wp-block-media-text.is-hero-banner.red-style {
    background-color: #CF3E49 !important;
    color: #FFF !important;
}
.block-style-accent-colour-pink .wp-block-post-content > .wp-block-media-text.is-hero-banner,
.wp-block-post-content > .wp-block-media-text.is-hero-banner.pink-style {
    background-color: #CB2C8B !important;
    color: #FFF !important;
}
.block-style-accent-colour-orange .wp-block-post-content > .wp-block-media-text.is-hero-banner,
.wp-block-post-content > .wp-block-media-text.is-hero-banner.orange-style {
    background-color: #F0AE13 !important;
    color: #1A1A1A !important;
}

.wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-heading {
    color: #FFF !important;
}
.block-style-accent-colour-orange .wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-heading,
.wp-block-post-content > .wp-block-media-text.is-hero-banner.orange-style .wp-block-heading {
    color: #1A1A1A !important;
}
.wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-button__link {
    background-color: #FFF !important;
    border-color: #FFF !important;
}
.wp-block-post-content > .wp-block-media-text.is-hero-banner .wp-block-button__link:hover {
    background-color: #000 !important;
    border-color: #000 !important;
}

/* 02 - Sub-Navigation */
.is-sub-navigation .wp-block-navigation__container:only-child {
    flex-grow: 0;
    gap: 50px;
}
@media (max-width: 748px) {
    .is-sub-navigation .wp-block-navigation__container:only-child {
        background-color: transparent;
        padding: 0px;
        border: none;
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
}
.is-sub-navigation .wp-block-navigation__container:only-child .wp-block-navigation-item__content {
    background-color: transparent;
    padding: 0px;
    border: none;
}
.is-sub-navigation .wp-block-navigation__container:only-child .wp-block-navigation-item__content:hover {
    background-color: transparent;
    padding: 0px;
    border: none;
}
.is-sub-navigation .wp-block-navigation__container:only-child .wp-block-navigation-item__content span {
    font-family: 'franklin-gothic-urw', 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    color: #000;
    text-transform: capitalize;
    text-decoration: underline;
    font-weight: 500;
}
.is-sub-navigation .wp-block-navigation__container:only-child .wp-block-navigation-item__content span:hover {
    text-decoration: none;
    color: #CA2C8B;
}
.is-sub-navigation .wp-block-navigation__container:only-child .wp-block-navigation-item__content::after {
    content: ""; 
    display: inline-block;
    width: 14px; /* Adjust for overall icon size */
    height: 14px;
    margin-left: 6px;
    vertical-align: middle;
    
    /* This makes the arrow automatically match your text color */
    background-color: currentColor; 
    
    /* The modern arrow SVG applied as a mask */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19 12 12 19 5 12'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19 12 12 19 5 12'/%3E%3C/svg%3E");
    
    /* Ensure the mask scales perfectly inside the box */
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;

    /* Hide it by default but animate the entrance */
    opacity: 0; 
    transform: translateY(-3px); 
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
    
    color: #1A1A1B;
}
.is-sub-navigation .wp-block-navigation__container:only-child .wp-block-navigation-item__content:hover::after {
    opacity: 1;
    transform: translateY(0px); /* Nudges it down into place */
    color: #CA2C8B;
}

/* 03a - Intro */
.wp-block-post-content > .wp-block-paragraph.is-intro {
    font-family: 'franklin-gothic-urw', 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 140%;
    letter-spacing: 0%;
}
@media (max-width: 748px) {
    .wp-block-post-content > .wp-block-paragraph.is-intro {
        font-size: 22px;
    }
}
/* 03b - Body Copy */
.wp-block-post-content > .wp-block-paragraph.is-body-copy {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 1.0em;
}

/* 04 - Embedded Video Block */

/* 05 - Programme Highlights */
.is-programme-highlights > h2.wp-block-heading {
    margin-bottom: 10px;
    max-width: 748px;
}
.is-programme-highlights > .wp-block-paragraph {
    font-size: 20px;
    line-height: 28px;
    max-width: 748px;
}

/* 06 - Pull Quote */
.wp-block-pullquote.is-pull-quote {
    background-color: #422B73;
    color: #FFF;
    padding: 80px !important;

    max-width: none !important;
    margin-left: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    margin-right: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    padding-right: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    box-sizing: border-box;

}
.wp-block-pullquote.is-pull-quote blockquote p {
    font-family: "Mark Pro Bold";
    font-weight: 800;
    font-size: 48px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;

}
@media (max-width: 748px) {
    .wp-block-pullquote.is-pull-quote blockquote p {
        font-size: 40px;
    }
}
.wp-block-pullquote.is-pull-quote blockquote cite {
    font-family: 'franklin-gothic-urw', 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: 0px;
    text-align: center;
    font-style: normal;
}
@media (max-width: 748px) {
   .wp-block-pullquote.is-pull-quote {
        padding: 50px !important;
    }
}   
.wp-block-pullquote.is-pull-quote::before {
    width: 86px;
    height: 64px;
    display: inline-block;
    content: "";
    background-image: url('/wp-content/themes/vag-fse/assets/images/pullquote-icon-white.png');
    background-position: center top;
    background-repeat: no-repeat;
}
.block-style-accent-colour-orange .wp-block-pullquote.is-pull-quote::before {
    background-image: url('/wp-content/themes/vag-fse/assets/images/pullquote-icon-black.png');
}
.wp-block-pullquote.is-pull-quote,
.block-style-accent-colour-purple .wp-block-pullquote.is-pull-quote,
.wp-block-pullquote.is-pull-quote.purple-style {
    background-color: #422B73;
    color: #FFF;
}
.block-style-accent-colour-red .wp-block-pullquote.is-pull-quote,
.wp-block-pullquote.is-pull-quote.red-style {
    background-color: #CF3E49;
    color: #FFF;
}
.block-style-accent-colour-pink .wp-block-pullquote.is-pull-quote,
.wp-block-pullquote.is-pull-quote.pink-style {
    background-color: #CB2C8B;
    color: #FFF;
}
.block-style-accent-colour-orange .wp-block-pullquote.is-pull-quote,
.wp-block-pullquote.is-pull-quote.orange-style {
    background-color: #F0AE13;
    color: #1A1A1A;
}

/* 07a - Photos and videos */
.is-photos-and-videos .events-carousel-wrapper .splide__arrows {
    left: 210px;
    margin-left: 0px;
    top: -43px;
}
@media (min-width: 768px) {
    .is-photos-and-videos .events-carousel-wrapper .splide__arrows {
        left: 250px;
        margin-left: 0px;
        top: -48px;
    }
}
@media (max-width: 599px) {
    .is-photos-and-videos .events-carousel-wrapper {
        padding: 0px;
    }
}
.is-photos-and-videos .events-carousel-wrapper .wp-block-boldblocks-youtube-block {
    height: 50.625vw;
    width: calc(100vw - 40px);
    overflow: visible;
    margin-bottom: 60px;
}
.is-photos-and-videos .events-carousel-wrapper figure img {
    width: calc(100vw - 40px);
}
.is-photos-and-videos .events-carousel figure.wp-block-image {
    display: table;
}

.is-photos-and-videos .events-carousel figure.wp-block-image .image-alt-caption {
    display: table-caption;
    caption-side: bottom;
    /* plus whatever caption styling you want */
    margin-top: 0.5rem;
    font-size: 0.875rem;
}
@media (min-width: 600px) {
    .is-photos-and-videos .events-carousel-wrapper figure img {
        min-height: 450px !important;
        max-height: 450px;
        width: auto;
    }
    .is-photos-and-videos .events-carousel-wrapper .wp-block-boldblocks-youtube-block {
        height: 450px;
        width: 800px;
        overflow: visible;
    }
}

/* 07b - Gallery */

/* 08 - Featured Content CTA */
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta {
    max-width: none !important;
    margin-left: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    margin-right: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    padding-right: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    box-sizing: border-box;
}
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta,
.block-style-accent-colour-purple .wp-block-post-content > .wp-block-media-text.is-featured-content-cta,
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta.purple-style {
    background-color: #422B73 !important;
    color: #FFF !important;
}
.block-style-accent-colour-red .wp-block-post-content > .wp-block-media-text.is-featured-content-cta,
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta.red-style {
    background-color: #CF3E49 !important;
    color: #FFF !important;
}
.block-style-accent-colour-pink .wp-block-post-content > .wp-block-media-text.is-featured-content-cta,
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta.pink-style {
    background-color: #CB2C8B !important;
    color: #FFF !important;
}
.block-style-accent-colour-orange .wp-block-post-content > .wp-block-media-text.is-featured-content-cta,
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta.orange-style {
    background-color: #F0AE13 !important;
    color: #1A1A1A !important;
}

.wp-block-post-content > .wp-block-media-text.is-featured-content-cta .wp-block-heading {
    color: #FFF !important;
}
.block-style-accent-colour-orange .wp-block-post-content > .wp-block-media-text.is-featured-content-cta .wp-block-heading {
    color: #1A1A1A !important;
}
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta .wp-block-button__link {
    background-color: #FFF !important;
    border-color: #FFF !important;
}
.wp-block-post-content > .wp-block-media-text.is-featured-content-cta .wp-block-button__link:hover {
    background-color: #000 !important;
    border-color: #000 !important;
}

/* 08b - Media & Text */
@media (min-width: 600px) and (max-width: 1440px) {
    .wp-block-post-content > .wp-block-media-text.is-media-and-text {
        padding-right: 0px !important;
    }
}
@media (max-width: 599px) {
    .wp-block-post-content > .wp-block-media-text.is-media-and-text {

        display: flex;
        flex-direction: column;
    }
    .wp-block-post-content > .wp-block-media-text.is-media-and-text > .wp-block-media-text__content {
        order: 1;
        padding: 0px;
        margin-bottom: 40px;
    }
    .wp-block-post-content > .wp-block-media-text.is-media-and-text > .wp-block-media-text__media {
        order: 2;
    }
}
.wp-block-post-content > .wp-block-media-text.is-media-and-text {
    max-width: none !important;
    margin-left: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    margin-right: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    padding-right: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    box-sizing: border-box;
}
.wp-block-post-content > .wp-block-media-text.is-media-and-text,
.block-style-accent-colour-purple .wp-block-post-content > .wp-block-media-text.is-media-and-text,
.wp-block-post-content > .wp-block-media-text.is-media-and-text.purple-style {
    background-color: #422B73 !important;
    color: #FFF !important;
}
.block-style-accent-colour-red .wp-block-post-content > .wp-block-media-text.is-media-and-text,
.wp-block-post-content > .wp-block-media-text.is-media-and-text.red-style {
    background-color: #CF3E49 !important;
    color: #FFF !important;
}
.block-style-accent-colour-pink .wp-block-post-content > .wp-block-media-text.is-media-and-text,
.wp-block-post-content > .wp-block-media-text.is-media-and-text.pink-style {
    background-color: #CB2C8B !important;
    color: #FFF !important;
}
.block-style-accent-colour-orange .wp-block-post-content > .wp-block-media-text.is-media-and-text,
.wp-block-post-content > .wp-block-media-text.is-media-and-text.orange-style {
    background-color: #F0AE13 !important;
    color: #1A1A1A !important;
}

.wp-block-post-content > .wp-block-media-text.is-media-and-text .wp-block-heading {
    color: #FFF !important;
}
.block-style-accent-colour-orange .wp-block-post-content > .wp-block-media-text.is-media-and-text .wp-block-heading {
    color: #1A1A1A !important;
}
.wp-block-post-content > .wp-block-media-text.is-media-and-text .wp-block-button__link {
    background-color: #FFF !important;
    border-color: #FFF !important;
}
.wp-block-post-content > .wp-block-media-text.is-media-and-text .wp-block-button__link:hover {
    background-color: #000 !important;
    border-color: #000 !important;
}

/* 09 - Related Events */
.is-related-events .wp-block-acf-carousel-card .image {
    min-height: auto;
    max-height: none;
    object-fit: none;
}
.is-related-events .wp-block-acf-carousel-card .image {
    min-height: auto;
    max-height: none;
    object-fit: none;
}
.is-related-events .wp-block-acf-carousel-card {
    display: inline-block;
    max-width: 100%;
}

/* 10 - Timeline */
.wp-block-post-content > .is-timeline.alignwide {
    max-width: none !important;
    margin-left: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    margin-right: calc(50% - (100vw - var(--scrollbar-width, 15px)) / 2) !important;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    padding-right: max(calc((100vw - var(--scrollbar-width, 15px)) / 2 - 720px), 20px) !important;
    box-sizing: border-box;
}
.wp-block-post-content > .is-timeline > .wp-block-heading {
    color: #FFF !important;
    margin-bottom: 10px;
    max-width: 748px;
}
.block-style-accent-colour-orange .wp-block-post-content > .is-timeline > .wp-block-heading,
.wp-block-post-content > .is-timeline.orange-style > .wp-block-heading {
    color: #1A1A1A !important;
}
.wp-block-post-content > .is-timeline > .wp-block-paragraph {
    font-size: 20px;
    line-height: 28px;
    max-width: 748px;
    color: #FFF !important;
}
.block-style-accent-colour-orange .wp-block-post-content > .is-timeline.alignwide > .wp-block-paragraph,
.wp-block-post-content > .is-timeline.orange-style > .wp-block-paragraph {
    color: #1A1A1A !important;
}
.wp-block-post-content > .is-timeline.alignwide {
    padding-top: 50px;
    padding-bottom: 50px;
}
.wp-block-post-content > .is-timeline.alignwide,
.block-style-accent-colour-purple .wp-block-post-content > .is-timeline.alignwide,
.wp-block-post-content > .is-timeline.alignwide.purple-style {
    background-color: #422B73;
}
.block-style-accent-colour-red .wp-block-post-content > .is-timeline.alignwide,
.wp-block-post-content > .is-timeline.alignwide.red-style {
    background-color: #CF3E49;
}
.block-style-accent-colour-pink .wp-block-post-content > .is-timeline.alignwide,
.wp-block-post-content > .is-timeline.alignwide.pink-style {
    background-color: #CB2C8B;
}
.block-style-accent-colour-orange .wp-block-post-content > .is-timeline.alignwide,
.wp-block-post-content > .is-timeline.alignwide.orange-style {
    background-color: #F0AE13;
}
.cool-horizontal-timeline-body.ctlb-wrapper .timeline-content .story-time p {
    font-family: "Mark Pro Heavy", sans-serif;
    color: #FFF;
}
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:where(.icon-false,.icon-dot) .timeline-block-icon svg {
    fill: #1A1A1A;
}
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:before,
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:after {
    background: #1A1A1A;
}
.cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:where(.icon-false,.icon-dot) .timeline-block-icon {
    background: #1A1A1A;
}
.block-style-accent-colour-orange .cool-horizontal-timeline-body .timeline-content .story-time p,
.cool-horizontal-timeline-body .timeline-content .story-time span,
.cool-horizontal-timeline-body.design-1 .ctlb-nav-swiper-outer .ctlb_nav_date,
.cool-vertical-timeline-body .timeline-content .story-time p,
.orange-style .cool-horizontal-timeline-body .timeline-content .story-time p {
    color: #1A1A1A;
}
.cool-horizontal-timeline-body.ctlb-wrapper .swiper-button-next svg,
.cool-horizontal-timeline-body.ctlb-wrapper .swiper-button-prev svg {
    stroke: #FFF;
}
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .swiper-button-next svg,
.orange-style .cool-horizontal-timeline-body.ctlb-wrapper .swiper-button-next svg,
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .swiper-button-prev svg,
.orange-style .cool-horizontal-timeline-body.ctlb-wrapper .swiper-button-prev svg {
    stroke: #1A1A1A
}
.cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:where(.icon-false,.icon-dot) .timeline-block-icon svg {
    fill: #FFF;
}
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:where(.icon-false,.icon-dot) .timeline-block-icon svg,
.orange-style .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:where(.icon-false,.icon-dot) .timeline-block-icon svg {
    fill: #1A1A1A;
}
.cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:before,
.cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:after {
    background: #FFF;
}
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:before,
.orange-style .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:before,
.block-style-accent-colour-orange .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:after,
.orange-style .cool-horizontal-timeline-body.ctlb-wrapper .timeline-content:after {
    background: #1A1A1A;
}

/* 11 - Leadership Team */
.is-leadership-team > h2.wp-block-heading {
    margin-bottom: 10px;
    max-width: 748px;
}
.is-leadership-team > .wp-block-paragraph {
    font-size: 20px;
    line-height: 28px;
    max-width: 748px;
}

/* 12 - Advisory Group */
.is-advisory-group > h2.wp-block-heading {
    margin-bottom: 10px;
    max-width: 748px;
}
.is-advisory-group > .wp-block-paragraph {
    font-size: 20px;
    line-height: 28px;
    max-width: 748px;
}

/* 13 - Idea 50/50 */
.wp-block-group.is-idea-5050 {
    display: flex;
    align-items: stretch;
}

.wp-block-group.is-idea-5050 > .wp-block-heading {
    background-color: #422B73 !important;
    color: #FFF !important;
    padding: 60px 40px;
    flex: 0 0 40%;
    box-sizing: border-box;
    font-family: "Mark Pro Heavy", sans-serif !important;
}
.block-style-accent-colour-purple .wp-block-group.is-idea-5050 > .wp-block-heading,
.wp-block-group.is-idea-5050.purple-style > .wp-block-heading {
    background-color: #422B73 !important;
}
.block-style-accent-colour-red .wp-block-group.is-idea-5050 > .wp-block-heading,
.wp-block-group.is-idea-5050.red-style > .wp-block-heading {
    background-color: #CF3E49 !important;
}
.block-style-accent-colour-pink .wp-block-group.is-idea-5050 > .wp-block-heading,
.wp-block-group.is-idea-5050.pink-style > .wp-block-heading {
    background-color: #CB2C8B !important;
}
.block-style-accent-colour-orange .wp-block-group.is-idea-5050 > .wp-block-heading,
.wp-block-group.is-idea-5050.orange-style > .wp-block-heading {
    background-color: #F0AE13 !important;
    color: #1A1A1A !important;
}

.wp-block-group.is-idea-5050 > .wp-block-paragraph {
    padding: 40px;
    flex: 1 1 auto;
    box-sizing: border-box;

    /* Vertical centering */
    display: flex;
    align-items: center;
}

/* Stack below 640px */
@media (max-width: 640px) {
    .wp-block-group.is-idea-5050 {
        flex-direction: column;
        gap: 0px;
    }
    .wp-block-post-content > .alignwide.wp-block-group.is-idea-5050 {
        max-width: inherit !important;
        margin-left: -20px !important;
        margin-right: -20px !important;
    }

    .wp-block-group.is-idea-5050 > .wp-block-heading {
        flex: 0 0 100%;
        padding: 40px 100px 40px 24px;
        font-size: clamp(1.25rem, 5vw, 1.75rem) !important;
    }

    .wp-block-group.is-idea-5050 > .wp-block-paragraph {
        flex: 0 0 100%;
        padding: 24px;
        font-size: clamp(1rem, 4vw, 1.125rem) !important;
    }
}

/* 14 - Partners & Sponsors */
.partners-sponsors-block {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}
.partners-sponsors-block > .wp-block-group {
    display: flex;
    flex-shrink: 1;
    flex-direction: column;
    margin-block-start: 0;
    margin-bottom: 50px;
}
.partners-sponsors-block .wp-block-image {
    padding: 0 10px;
}
.partners-sponsors-block > .wp-block-group > .wp-block-heading {
    font-family: 'franklin-gothic-urw', 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    /*border-top: 1px solid #CDCDCD; */
    padding-top: 10px;
}
.partners-sponsors-block > .wp-block-group > .wp-block-group {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.partners-sponsors-block > .wp-block-group > .wp-block-group > * {
    flex: 1;
}

.partners-sponsors-block > .wp-block-group > .wp-block-group > figure {
    display: flex;
    justify-content: center;
}

/* ── Desktop: quantity-based proportional widths ── */
@media (min-width: 800px) {
    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(1):first-child
    ) { width: calc(25% - 15px); }

    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(2):first-child
    ) { width: calc(50% - 10px); }

    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(3):first-child
    ) { width: calc(75% - 5px); }

    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(4):first-child
    ) { width: 100%; }

    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(n+5):first-child
    ) { width: 100%; }
}

/* ── Tablet: only single-logo groups pair up, everything else is full width ── */
/*@media (min-width: 480px) and (max-width: 799px) {*/
@media (max-width: 799px) {

    .partners-sponsors-block .wp-block-image img {
        max-height: 40px;
        max-width: 190px;
    }

    .partners-sponsors-block > .wp-block-group > .wp-block-group > * {
        width: calc(50% - 10px);
    }
    .partners-sponsors-block > .wp-block-group > .wp-block-group > *:nth-last-child(1):first-child {
        width: 100%;
    }

    /* 1 child → 50% so two can sit side by side */
    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(1):first-child
    ) { width: calc(50% - 10px); }

    /* 2+ children → 100%, logos wrap at 50% each */
    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(n+2):first-child
    ) { width: 100%; }

    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(n+2):first-child
    ) > .wp-block-group {
        flex-wrap: wrap;
    }

    .partners-sponsors-block > .wp-block-group:has(
      > .wp-block-group > *:nth-last-child(n+2):first-child
    ) > .wp-block-group > * {
        width: calc(50% - 10px);
    }
}

.partners-sponsors-block > .wp-block-group > .wp-block-group > .wp-block-paragraph,
.partners-sponsors-vertical-block > .wp-block-group > .wp-block-group > .wp-block-paragraph {
    font-family: 'franklin-gothic-urw', 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 33.6px;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
}

.partners-sponsors-vertical-block > .wp-block-group {
    text-align: center;
    margin-bottom: 50px;
}
.partners-sponsors-vertical-block > .wp-block-group > .wp-block-heading {
    font-family: 'franklin-gothic-urw', 'Lucida Grande', 'Trebuchet MS', Helvetica, Arial, sans-serif-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    /* border-top: 1px solid #CDCDCD; */
    padding-top: 10px;
    display: inline-block;
}
.partners-sponsors-vertical-block > .wp-block-group > .wp-block-group > figure {
    max-width: 172px;
}
@media (max-width: 799px) {
    .partners-sponsors-vertical-block .wp-block-image img {
        padding: 0 10px;
        max-height: 40px;
        max-width: 190px;
    }
}


/* Back to top arrow */
#back-to-top {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 44px;
    height: 44px;
    background: #fff;
    border: 2px solid #222;
    cursor: pointer;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.2);
}

#back-to-top svg {
    width: 20px;
    height: 20px;
    stroke: #222;
    stroke-width: 2.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
