@import url('https://fonts.cdnfonts.com/css/sporting-grotesque');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

video.banner-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

html,
body {
    overflow-x: clip;
    max-width: 100%;
}

html {
    scroll-behavior: auto !important;
}

ul.dropdown-menu.show {
    background: #081354;
}

html.scrolled {
    scroll-behavior: smooth !important;
}

.partnerslogo01 h3 {
    font-size: 17px;
    background: linear-gradient(45deg, #193c6a, #01a06ae3);
    color: #fff;
    padding: 9px;
    margin: -10px -10px 30px;
    font-weight: 500;
    font-family: 'Space Grotesk';
}

.tp-hero-area:before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(0, 8, 22, 0.68) 0%, rgba(2, 30, 55, 0.58) 60%, rgba(0, 0, 10, 0.72) 100%);
    z-index: 1;
    pointer-events: none;
}

.tp-text-it-slider-item span img {
    width: 19px;
}

.tp-header-logo a img {
    width: 103px !important;
}



section#bannercont {
    position: fixed;
    bottom: 0px;
    width: 100%;
    z-index: 99;
}

div#countdown ul li {
    list-style: none;
    background: #002f50a6;
    padding: 16px;
    text-align: center;
    color: white;
    border-radius: 67px;
    width: 87px;
    height: 87px;
    margin: 8px;
}

.bhra {
    padding: 0px;
}

span#days {
    font-size: 32px;
    font-weight: 600;
}

span#hours {
    font-size: 32px;
    font-weight: 600;
}

span#seconds {
    font-size: 32px;
    font-weight: 600;
}

span#minutes {
    font-size: 32px;
    font-weight: 600;
}

.tp-hero-it-content.mb-40 img.hero-logo {
    width: 420px;
    display: block;
}

.tp-hero-it-content.mb-40 h4 {
    background: #063b539e;
    width: 59%;
    padding: 11px;
    text-align: center;
    margin: auto;
    border-radius: 16px;
    color: white;
    font-size: 20px;
    margin: 25px 0;
}

.tp-hero-it-subtitle {
    display: inline-block;
    font-size: 22px;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    margin: 14px 0 4px 0;
    position: relative;
    padding-bottom: 10px;
}


.concurrent_event {
    padding: 80px 0;
    background: linear-gradient(45deg, #193c6a, #108faa) center top / cover no-repeat fixed;
    position: relative;
    z-index: 1;
}

.concurrent_event::before {
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    position: absolute;
    background-repeat: repeat;
    background-position: left top;
    background-size: 256.00px auto;
    background-image: url(https://framerusercontent.com/images/6mcf62RlDfRfU61Yg5vb2pefpi4.png);
    opacity: 0.09;
}

.con_logo {
    width: 350px;
}


.concurrent_event h4 {
    color: #fff;
}

.col_content p {
    color: #fff;
    font-family: 'Inter';
}

.col_content h2 {
    color: #ffffff;
}


.gt-btn {
    position: relative;
    z-index: 2;
    overflow: hidden;
    vertical-align: middle;
    display: inline-block;
    border: none;
    text-transform: uppercase;
    text-align: center;
    margin: 8px;
    background: linear-gradient(45deg, #064733, #2eeeb5);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 18px 30px;
    cursor: pointer;
    border-radius: 8px;
    width: fit-content;
}

.about_countdown {
    margin: 0 0 10px;
}

.about_countdown hr {
    margin: 5px 0;
}

.about_countdown h3 {
    color: #009f69;
    font-size: 40px;
    font-weight: 700;
    font-family: "Special Gothic Condensed One", sans-serif;
}

.about_wrapper p {
    font-family: "National Park", sans-serif;
    font-size: 16px;
    color: #000;
    line-height: 30px;
    padding-right: 120px;
}

.main-contents h2 {
    font-size: 23px;
    color: white;
    padding-top: 0px;
    font-weight: 400;
    margin-bottom: 42px;
}

a.registerbtn {
    background: linear-gradient(45deg, #193c6a, #01a06a8a);
    padding: 10px 20px;
    border-radius: 42px;
    border: 2px solid white;
    color: white;
    font-weight: 400;
    font-size: 18px;
}

/* Hero CTA Buttons */
.hero-cta-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 24px;
}

a.hero-btn {
    display: inline-block;
    padding: 5px 17px;
    border-radius: 42px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    letter-spacing: 0.3px;
}

/* Primary – PHARMA wordmark gradient (cyan-blue → teal-green) */
a.hero-btn-primary {
    background: linear-gradient(90deg, #2bbde6 0%, #2ec1a8 100%);
    color: #fff;
    border: 2px solid #2bbde6;
}

a.hero-btn-primary:hover {
    background: linear-gradient(90deg, #21a8cf 0%, #22a48d 100%);
    border-color: #21a8cf;
    color: #fff;
}

/* Secondary – solid dark blue */
a.hero-btn-secondary {
    background: #193c6a;
    color: #fff;
    border: 2px solid #193c6a;
}

a.hero-btn-secondary:hover {
    background: #122d52;
    border-color: #122d52;
    color: #fff;
}

/* Outline – transparent with white border */
a.hero-btn-outline {
    background: transparent;
    color: #fff;
    border: 2px solid #fff;
}

a.hero-btn-outline:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

a.downloadbtn {
    background: linear-gradient(45deg, #193c6a, #01a06a8a);
    color: white;
    padding: 11px 35px;
    border-radius: 42px;
    font-weight: 400;
    font-size: 18px;
    border: 2px solid white;
}

.main-contents {
    z-index: 2;
    position: relative;
    top: -100px;
}

div#countdown ul {
    display: flex;
}


.statsWrap {
    position: relative;
    padding: 2.792vw 0px;
}

.statsWrapV3 {
    position: relative;
    padding-bottom: 3.49vw
}

.statsInnerv3 {
    position: relative;
    border-radius: 40px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.statsInnerv3:before {
    background: #000 url(../images/ribbenbg.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 10%;
    left: 0;
    border-radius: 20px;
    bottom: 0;
    width: 100%;
    height: 80%;
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}

.statsInnerv3:after {
    background: url(https://www.futureblockchainsummit.com/contents/Theme-2025/images/bg-pattern02.jpg);
    backdrop-filter: blur(12px);
    position: absolute;
    content: '';
    width: 100%;
    top: 10%;
    background-size: cover;
    left: 0;
    border-radius: 20px;
    bottom: 0;
    width: 100%;
    height: 80%;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}

section#summithighlights .auto-container {
    width: 1244px;
    margin: auto;
}

.statscol {
    width: 25%;
    padding: 0
}

.statsItemv3 {
    padding: 4.99vw .9vw;
    vertical-align: top;
    margin: auto 0;
    text-align: center;
    position: relative;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    z-index: 99;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-right: 0;
    height: 100%;
    width: 100%;
    -moz-transition: .5s;
    -ms-transition: .5s;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.statscol .statsItemv3:before {
    background-image: none;
    background-color: #2755fe;
}

.statscol .statsItemv3:before {
    /*  background-image: url(https://www.futureblockchainsummit.com/contents/Theme-2025/images/bg-pattern02.jpg);*/
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background: linear-gradient(127deg, rgb(41 232 240) 0%, rgb(112 10 244) 50%, rgb(41 232 240) 100%);
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 0;
    width: 100%;
    z-index: -1;
    border-radius: 20px;
    -o-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
    -webkit-transition: all .2s ease-in-out 0s;
    -moz-transition: all .2s ease-in-out 0s;
    -o-moz-transition: all .2s ease-in-out 0s;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    -ms-transition: all .2s ease-in-out 0s;
}

h2.tp-text-common-black-1.tp-ff-inter.fw-600.fs-70.text-uppercase.mb-0 {
    font-family: "Cairo", sans-serif;
    color: #ffffff;
    font-size: 53px;
    font-weight: 700;
}

.tp-ff-inter {
    font-family: var(--tp-ff-inter);
    color: #fffefe;
}

.statsItemv3:after {
    content: "";
    height: 50%;
    width: 1px;
    position: absolute;
    right: 0;
    top: 27%;
    background: #59c8f2;
    margin: auto;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.statscol:last-child .statsItemv3:after {
    display: none
}

.statscol:hover .statsItemv3:before {
    bottom: 0;
    height: 100%
}

.statsItemv3:hover {
    color: #000;
    position: relative
}

.statsItemv3:hover h4,
.statsItemv3:hover p {
    color: #000
}

.statsItemv3 h4 {
    font-size: 3.410vw;
    color: #fff;
    line-height: 5.825vw;
    text-align: center
}

.statsItemv3 p {
    color: #fff;
    font-size: 1.635vw;
    font-weight: 400 !important;
    line-height: 1.848vw;
    text-align: center;
    margin: 0
}

.typed-cursor {
    font-weight: 100;
    font-size: 28px;
    color: #1c4070;
    animation: blink 0.3s infinite;
}

span.typed-text {
    color: #1c4070;
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.wrap-highlights h2 {
    font-size: 40px;
    font-family: 'Cairo';
    text-transform: uppercase;
}

.partnerslogo01 {
    position: relative;
    padding: 10px;
    display: flex;
    -webkit-box-align: center;
    flex-direction: column;
    background: #FFFFFF !important;
    box-shadow: rgb(0 0 0 / 10%) 0px 3px 8px;
    -webkit-border-radius: 0.625rem;
    border-radius: 0.625rem;
    min-height: 185px;
    text-align: center;
    overflow: hidden;
}

.wrap-media h2 {
    font-size: 28px;
    font-family: 'Cairo';
    text-align: center;
}

.ForMobileLogo_as {
    margin: 20px 0;
}

.partnerslogo01 figure {
    text-align: center;
    margin: 0 auto;
    width: 250px;
    height: auto;
    padding: 0;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.partnerslogo01 figure img {
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
}

.attend_inner-n {
    background: #fff;
    margin: 0 0 5px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    text-align: center;
    position: relative;
    box-shadow: rgb(0 0 0 / 15%) 0px 5px 15px;
    min-height: 126px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#initialContent,
#extraContent2 {
    padding: 0 30px;
}

.register_home {
    padding: 20px 30px;
    min-height: 600px;
    background-color: rgb(243 245 252);
}

.register_home h2 {
    color: #000000;
    text-align: left;
    font-family: 'Cairo';
    font-size: 30px;
    line-height: 42px;
    margin: 0 0 10px;
    font-weight: 800;
    font-size: 29px;
    font-family: 'Cairo';
}

.exhibitors_profile {
    /* background: url('../images/pharma_bg_1.webp'); */
    background-size: cover;
    background-attachment: fixed;
    padding: 60px 0;
}


.register_form input[type=text]::placeholder {
    color: #000;
    padding-left: 5px !important;
    font-size: 16px;
}

.register_form select {
    height: 52px;
    width: 100%;
    border: 0;
    border-radius: 4px;
}

.exhibitor_left {
    padding: 0 30px;
}

.register_submit {
    background: #fff;
    padding: 10px 40px;
    margin: 13px 0;
    display: block;
    border-radius: 32px;
    border: 1px solid #1a516d;
    font-weight: 800;
    font-size: 20px;
}


.attend_inner-n::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #02377d;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 1;
}

.attend_inner-n:hover::before {
    opacity: 1;
}

.attend_inner-n img,
.attend_inner-n p {
    position: relative;
    z-index: 2;
}

.attend_inner-n img {
    width: 35px;
    transition: transform 0.5s ease;
}

.attend_inner-n:hover img {
    transform: rotate(360deg);
    filter: brightness(0) invert(1);

}

.attend_inner-n:hover p {
    color: #fff;
}

.wrap-exbitorsprofile {
    text-align: center;
}

.toggleBtn2 img {
    width: 28px;
    padding-left: 10px;
}

.toggleBtn2 img {
    width: 28px;
    padding-left: 10px;
}

.wrap-exbitorsprofile h2 {
    color: #000000;
    text-align: left;
    line-height: 42px;
    margin: 0 0 10px;
    font-weight: 800;
    font-size: 29px;
    font-family: 'Cairo';
    padding: 0 30px;
}

button#toggleBtn2 {
    background: linear-gradient(45deg, #193c6a, #01a06ae3);
    padding: 9px 45px;
    border: none;
    border-radius: 41px;
    font-weight: 300;
}

.toggleBtn2 {
    background: linear-gradient(45deg, #193c6a, #01a06ae3);
    padding: 9px 45px;
    border: none;
    border-radius: 41px;
    font-weight: 300;
}

.toggleBtn2 {
    background: linear-gradient(45deg, #193c6a, #01a06ae3);
    padding: 9px 45px;
    border: none;
    border-radius: 41px;
    font-weight: 300;
}


.attend_inner-n p {
    font-size: 13px;
    color: #000000;
    text-align: center;
    padding: 10px 8px 0;
    line-height: 19px;
    font-weight: 600;
    font-family: 'Inter';

}

.attend_inner p {
    font-size: 14px;
    color: #000000;
    text-align: center;
    padding: 10px 8px;
    line-height: 22px;
    min-height: 108px;
    font-weight: 400;
}


.attend_inner {
    background: #fff;
    margin: 0 0 40px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset;
}

a.underline-black {
    color: white;
    font-size: 18px;
    font-weight: 600;
    font-family: 'Inter';
    text-decoration: none;
}

a.underline-black:hover {
    text-decoration: none;
}

.speakername-desig,
.inst-name {
    color: white;
    line-height: 18px;
    font-size: 14px;
    font-weight: 300;
    margin: 0;
}

.city {
    color: #01a06a;
    margin: 0;
    line-height: 18px;
    font-size: 14px;
    font-weight: 300;
}

.wrap-speakes-title h2 {
    font-size: 40px;
    font-family: 'Cairo';
    text-transform: uppercase;
    color: #f1f1f1;
    text-align: center;
    padding: 48px;
}

.wrap-speakes-title h2 span {
    color: #00e5cc;
}

section#speakers .tp-team-it-content {
    padding: 11px 9px 10px 14px;
    line-height: 8px;
}

h3.speakername {
    line-height: 14px;
}

#speakers {
    padding-bottom: 44px;
    background-position: left;
    background-color: #03093b;
    background-image: url(https://www.worldfintechsummit.com/1st-edition/fintech-assets/img/past__speaker_bg.png);
    background-size: contain;
    border-top: 1px solid #2ce3ac;
}

#speakers .col-lg-3 {
    width: 20%;
}

video.videosabout {
    border-radius: 29px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}

.wrap-whyattend h2 {
    font-size: 40px;
    font-family: 'Cairo';
    text-transform: uppercase;
    text-align: center;
    padding-bottom: 33px;
}

section#whyattend p.tp-service-cst-item-border.tp-ff-dm.fs-18.lh-140-per.tp-text-common-black-1 {
    color: black;
    font-size: 15px;
}

section#whyattend a.underline-black {
    color: #141414;
    font-size: 26px;
    font-weight: 400;
    font-family: 'Cairo';
    font-weight: 600;
}

a.moreless-button {
    background: linear-gradient(45deg, #193c6a, #01a06ae3);
    padding: 7px 20px;
    border-radius: 26px;
    color: white;
    text-transform: uppercase;
}

.tp-about-it-content.mb-40 p {
    font-family: "National Park", sans-serif;
    font-size: 15px;
    color: #000;
    line-height: 28px;
}

.tp-about-area .capsule {
    position: absolute;
    width: 180px;
    right: 0;
    bottom: 0;
    /* opacity: 0.5; */
}

/* About Us — Image Collage */
.about-collage {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(6, 45px);
    gap: 12px;
    width: 100%;
    padding: 10px 0;
}

.about-collage-item {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 12px 30px -12px rgba(6, 71, 51, 0.35);
    transform: translateZ(0);
    transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.about-collage-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.about-collage-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -10px rgba(6, 71, 51, 0.45);
}

.about-collage-item:hover img {
    transform: scale(1.08);
}

.about-collage-item--1 {
    grid-column: 1 / span 2;
    grid-row: 1 / span 4;
}

.about-collage-item--2 {
    grid-column: 3 / span 4;
    grid-row: 1 / span 3;
}

.about-collage-item--3 {
    grid-column: 1 / span 2;
    grid-row: 5 / span 2;
}

.about-collage-item--4 {
    grid-column: 3 / span 2;
    grid-row: 4 / span 3;
}

.about-collage-item--5 {
    grid-column: 5 / span 2;
    grid-row: 4 / span 3;
}

/* End About Us — Image Collage */


.gradient-border {
    --borderWidth: 4px;
    background: white;
    position: relative;
    border-radius: 39px;
    padding-bottom: 33px;
}

.gradient-border:after {
    content: '';
    position: absolute;
    top: calc(-1 * var(--borderWidth));
    left: calc(-1 * var(--borderWidth));
    height: calc(100% + var(--borderWidth) * 2);
    width: calc(100% + var(--borderWidth) * 2);
    background: linear-gradient(60deg, #f79533, #02377d, #01a06a, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
    border-radius: calc(11 * var(--borderWidth));
    z-index: -1;
    animation: animatedgradient 3s ease alternate infinite;
    background-size: 300% 300%;

}



@keyframes animatedgradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.button-unique {
    width: 16%;
    --main-size: 23px;
    --color-text: #ffffff;
    --color-background: #01203f;
    --color-background-hover: #01a06ae3;
    --color-outline: #ffffff;
    --color-shadow: #00000040;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border: none;
    border-radius: calc(var(--main-size) * 100);
    padding: 0.33em 0 0.33em 0.66em;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: var(--main-size);
    color: var(--color-text);
    background: var(--color-background);
    box-shadow: 0 0 0.2em 0 var(--color-background);
    transition: 1s;
    border: 1px solid #4CAF50;
}

.button-unique:active {
    transform: scale(0.95);
}

.button-unique:hover {
    outline: 0.1em solid transparent;
    outline-offset: 0.2em;
    box-shadow: 0 0 1em 0 var(--color-background);
    animation:
        ripple 1s linear infinite,
        colorize 1s infinite;
    transition: 0.5s;
}

.button-unique span {
    margin-right: 0.3em;
    transition: 0.5s;
}

.button-unique:hover span {
    text-shadow: 5px 5px 5px var(--color-shadow);
}

.button-unique:active span {
    text-shadow: none;
}

.button-unique svg {
    height: 0.8em;
    fill: var(--color-text);
    margin-right: -0.16em;
    position: relative;
    transition: 0.5s;
}

.button-unique:hover svg {
    margin-right: 0.66em;
    transition: 0.5s;
    filter: drop-shadow(5px 5px 2.5px var(--color-shadow));
}

.button-unique:active svg {
    filter: none;
}

.button-unique svg polygon:nth-child(1) {
    transition: 0.4s;
    transform: translateX(-60%);
}

.button-unique svg polygon:nth-child(2) {
    transition: 0.5s;
    transform: translateX(-30%);
}

.button-unique:hover svg polygon:nth-child(1) {
    transform: translateX(0%);
    animation: opacity 1s infinite 0.6s;
}

.button-unique:hover svg polygon:nth-child(2) {
    transform: translateX(0%);
    animation: opacity 1s infinite 0.4s;
}

.button-unique:hover svg polygon:nth-child(3) {
    animation: opacity 1s infinite 0.2s;
}

@keyframes opacity {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes colorize {
    0% {
        background: var(--color-background);
    }

    50% {
        background: var(--color-background-hover);
    }

    100% {
        background: var(--color-background);
    }
}

@keyframes ripple {
    0% {
        outline: 0em solid transparent;
        outline-offset: -0.1em;
    }

    50% {
        outline: 0.2em solid var(--color-outline);
        outline-offset: 0.2em;
    }

    100% {
        outline: 0.4em solid transparent;
        outline-offset: 0.4em;
    }
}

/*masonary social buzz css start*/

.pr-masonry-gallery-section {
    padding: 60px 20px;
    overflow: hidden;
    position: relative;
}

.pr-masonry-title-wrapper {
    text-align: center;
    margin-bottom: 40px;
}

.pr-masonry-title-wrapper h1 {
    font-size: 2.5rem;
    line-height: 1.2;
    color: #fff;
}

.pr-masonry-container {
    overflow: hidden;
}

.pr-masonry-grid {
    display: flex;
    gap: 20px;
    height: 700px;
    position: relative;
}

.pr-masonry-grid-column {
    display: flex;
    flex-direction: column;
    gap: 15px;
    /* animation */
    animation: scrollUp 20s linear infinite;
}

.pr-masonry-grid-column img {
    width: 100%;
    display: block;
    border-radius: 8px;
    border: 1px solid #01a06aad;
    padding: 5px;
}

@keyframes scrollUp {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-100%);
    }
}

/* Pause animation on hover */
.pr-masonry-grid-column:hover {
    animation-play-state: paused;
}

section#socialbuzz {
    background: #010a3e;
    /* padding: 78px; */
}

/*masonary social buzz end css*/
a.ublogtext {
    font-size: 20px;
    font-weight: 500;
}

h2#order_one {
    border-bottom: 2px solid #010934;
    border-radius: 21px;
    padding: 0px 14px;
}

.tp-footer-wd-social.tp-footer-md-social.d-flex.mb-40 a img {
    width: 20px;
}

/* ATTEND */
#attend {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1vw;
    background-color: #010a3e;
    padding: 3vw 0 3vw;
}

.attend-container {
    width: 80%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1vw;
}

.attend-head {

    margin-bottom: 27px;
}

#attend .title {
    text-align: start;
}

.attend-descr {
    font-family: 'source sans 3';
    color: #fff;
    font-size: 1.25vw;
    font-weight: 300;
    z-index: 1;
}

.attend-descr span {
    font-size: 2.5vw;
    color: #c8ce12;
    font-family: 'monument extended';
}

.attend-descr sup {
    font-size: 1.2vw;
}



.grid-gradient {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
    /*  background: radial-gradient(circle, #03010a00 0%, #03010a 70%);
*/
}

.grid-box {
    position: relative;
    width: calc(100% / 6);
    height: calc(100% / 6);
    z-index: 1;
}

.grid-box:after {
    content: '';
    position: absolute;
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, #dddddd64, #dddddd64);
    right: 0;
}

.grid-box:before {
    content: "";
    position: absolute;
    height: 1px;
    width: 100%;
    background-color: #dddddd64;
    bottom: 0;
}

.attend-boxes {
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    gap: 1vw;
    justify-content: center;
}

.attend-box {
    position: relative;
    width: 11.5vw;
    height: 11.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 1vw;
    gap: 1vw;
    background-color: rgba(255, 255, 255, 0.074);
    padding: 4px;
    box-shadow: 0px 0px 5px #c8ce1200, 0 0 10px #dd247730;
    transition: all ease .4s;
}

.att-patch {
    position: absolute;
    width: 11.85vw;
    height: 11.85vw;
    border-radius: 1vw;
    background-color: #03010a;
}

.attend-box svg {
    fill: #fff;
    width: 3vw;
    z-index: 1;
    transition: all ease .4s;
}

.attend-des {
    font-family: 'source sans 3';
    width: 70%;
    color: #fff;
    font-size: 1vw;
    line-height: 1.4vw;
    z-index: 1;
    text-align: center;
}

#attend .title {
    color: #fff;
    font-size: 42px;
    text-transform: uppercase;
    z-index: 3;
}

.chat-left {
    position: relative;
    width: 49%;
    height: 36vw;
    padding: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1vw;
    overflow: hidden;
}

.chat-heading {
    position: absolute;
    top: 1vw;
    left: 1vw;
    z-index: 5;
    color: #fff;
    font-family: 'nord book';
    text-align: start;
}

.chat-heading:after {
    width: 70%;
    content: '';
    position: absolute;
    height: 2px;
    background-color: #3ad59f9d;
    bottom: -2px;
    left: 0;
}

.who-job {
    font-family: 'source sans 3';
    color: #fff;
    font-size: 1.1vw;
}

.chart-down {
    position: relative;
    width: 100%;
    height: 10vw;
    background: linear-gradient(to right, #c8ce12, #3ad59f);
    border-radius: 1vw;
    padding: 2px;
    z-index: 1;
}

.down-inbox {
    width: 100%;
    height: 100%;
    background-color: #09011a;
    border-radius: 1vw;
    display: flex;
    justify-content: space-around;
}

.chat-left::before {
    position: absolute;
    width: 150%;
    height: 150%;
    content: '';
    display: block;
    background: linear-gradient(to right, #c8ce12, #3ad59f);
    z-index: 0;
    animation: 3s linear infinite rotate;
}

.attend-box {
    background: linear-gradient(to right, #3ad59f, #c8ce12);
}

.attend-box:hover svg {
    fill: #3ad59f;
    filter: drop-shadow(1px 1px 1px #03010a);
    transform: rotateY(180deg);
}

@keyframes rotate {
    0% {
        rotate: 0deg;
    }

    100% {
        rotate: 360deg;
    }
}

.chart-inbox {
    width: 100%;
    height: 100%;
    /* border: 2px solid rgba(255, 255, 255, 0.252); */
    border-radius: 1vw;
    background-color: #010a3e;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#chartdiv {
    width: 100%;
    height: 370px;
    font-family: 'neuropolitical';
}

.chart-name span {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 2px;
    margin-right: 8px;
    margin-top: 4px;
    /* color: white; */
}

.chart-name p {
    color: white;
}

.chart-details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 1vw 0;
}

.chart-name {
    display: flex;
    color: #fff;
    font-size: 1vw;
    font-family: 'source sans 3';
    padding: 0.5vw 1vw;
}

.chart-name span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.who-job {
    width: 100%;
    height: 100%;
    border-radius: 1vw;
    padding-top: 85px;
    backdrop-filter: blur(30px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 13;
    position: relative;
    background-color: #010a3e;
    z-index: 2;
}

.who-job p {
    position: relative;
    width: 90%;
    color: white;
    text-align: center;
    padding: .2vw 0;
    /* border: 1px solid #ffffff55; */
}

.who-job p:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -0.5vw;
    left: 0;
    background: linear-gradient(to right, #c8ce1200, #c8ce12, #3ad59f, #3ad59f00);
}

#piechart {
    width: 100%;
    height: 100%;
    max-width: 900px;
    max-height: 500px;
    margin: 0 auto;
}

div#why-atend1 {
    background: linear-gradient(45deg, #193c6a40, #fffffff0);
    background-size: cover;
    background-position: center;
    border-radius: 22px;
    padding: 42px 35px 9px 27px;
}

.tp-text-ai-slider-content.text-center.tp-bg-common-angry img {
    width: 26%;
}

.tp-text-ai-slider-content.text-center.tp-bg-common-angry img {
    width: 100%;
    border-radius: 31px;
}

h4.tp-service-sa-item-title.mb-20 a {
    color: white;
    font-size: 31px;
    line-height: 31px;
}

div#why-atend1 .tp-text-common-black {
    color: #ffffff;
}

/* 3D Gradient Button */
.gradient-button {
    position: relative;
    padding: 9px 21px;
    font-size: 16px;
    font-weight: 600;
    color: white;
    background: linear-gradient(145deg, #01c07a, #01a06a, #018a5a);
    border: none;
    z-index: 9999;
    cursor: pointer;
    border-radius: 50px;
    overflow: hidden;
    margin: 0 2px;
    box-shadow:
        0 4px 6px rgba(1, 160, 106, 0.3),
        0 8px 20px rgba(1, 160, 106, 0.2),
        inset 0 2px 0 rgba(255, 255, 255, 0.25),
        inset 0 -2px 0 rgba(0, 0, 0, 0.15);
    transform: translateY(0) perspective(600px) rotateX(0deg);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.gradient-button:hover {
    transform: translateY(-3px) perspective(600px) rotateX(3deg);
    box-shadow:
        0 8px 15px rgba(1, 160, 106, 0.4),
        0 15px 35px rgba(1, 160, 106, 0.25),
        inset 0 2px 0 rgba(255, 255, 255, 0.3),
        inset 0 -2px 0 rgba(0, 0, 0, 0.15);
    background: linear-gradient(145deg, #02d488, #01b074, #01a06a);
}

.gradient-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
    z-index: 1;
    transform: skewX(-20deg);
    transition: left 0.6s ease;
}

.gradient-button:hover::before {
    left: 120%;
}

.gradient-text {
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.5px;
    position: relative;
    z-index: 2;
}

.gradient-button::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 10%;
    width: 80%;
    height: 8px;
    background: rgba(1, 120, 80, 0.5);
    border-radius: 50%;
    filter: blur(6px);
    z-index: -1;
    transition: all 0.3s ease;
}

.gradient-button:hover::after {
    bottom: -6px;
    filter: blur(10px);
    background: rgba(1, 120, 80, 0.4);
}

.gradient-button:active {
    transform: translateY(1px) perspective(600px) rotateX(0deg);
    box-shadow:
        0 2px 4px rgba(1, 160, 106, 0.3),
        0 4px 10px rgba(1, 160, 106, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.15),
        inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

@keyframes hue-rotating {
    to {
        filter: hue-rotate(360deg);
    }
}

.tp-footer-copyright p {
    color: white;
    text-align: center;
    font-size: 12px;
}



/* Swiper item styles */
section#why-exbit .sectorCol {
    display: flex;
    align-items: center;
    justify-content: center
}

#why-exbit .sectorItem {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
    border-radius: 12px;
    padding: 18px;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    box-shadow: 0 6px 20px rgba(2, 6, 23, 0.6);
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.03);
}

section#why-exbit .sectorIcon {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    background: rgba(255, 255, 255, 0.03)
}

section#why-exbit .sectorIcon img {
    max-width: 48px;
    max-height: 48px
}

section#why-exbit .sectorItem h4 {
    font-size: 14px;
    margin: 0;
    color: #fff
}

section#why-exbit .swiper-wrapper {
    padding: 12px 24px
}

/* CTA */
section#why-exbit .cta {
    text-align: center;
    margin-top: 28px
}

section#why-exbit .btn {
    display: inline-block;
    padding: 12px 22px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff
}

section#summithighlights .w-100.justify-content-center {
    display: flex;
}

.bg-bluemobile {
    background: url(https://indiapharmaexpo.com/assets/images/ribbenbg.webp);
    border-radius: 34px;
}

.bg-bluemobile .tp-ff-inter {
    font-family: var(--tp-ff-inter);
    color: #fff;
}

.bg-bluemobile .statsItemv3:after {
    display: none;
}

.tp-offcanvas.opened {
    opacity: 1;
    visibility: visible;
    right: 0;
    z-index: 999999;
}

section#southestasia {
    display: none;
}


/* why expo section  start here */
.medical-section h2 {
    font-size: 40px;
    font-family: 'Cairo';
    text-transform: uppercase;
    color: #000;
    text-align: center;
    padding: 0 0 18px;
}

.medical-subtitle {
    font-family: 'Inter', 'Cairo', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    color: #4a5663;
    text-align: center;
    max-width: 820px;
    margin: 0 auto 48px;
    padding: 0 16px;
}

@media (max-width: 767.98px) {
    .medical-subtitle {
        font-size: 14px;
        margin: 0 auto 32px;
        line-height: 1.6;
    }
}

.why_img {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 200px;
}

#extraContent2 {
    display: none;
}



.medical-section h2 span {
    color: #2d726b;
}

.medical-section {
    background: linear-gradient(to bottom, #f0f4ff 0%, #e8ecf8 50%, #ffffff 100%);
    font-family: 'Inter', sans-serif;
    padding: 60px 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
}

.medical-section::before {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    background: rgba(180, 190, 240, 0.18);
    pointer-events: none;
}

.medical-section::after {
    content: '';
    position: absolute;
    bottom: -80px;
    right: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(180, 190, 240, 0.13);
    pointer-events: none;
}

/* ── Left / Right Feature Cards ── */
.feature-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    min-height: 132px;
    margin-bottom: 40px;
    opacity: 0;
    transform: translateX(-30px);
    animation: slideInLeft 0.7s ease forwards;
}

.feature-item:last-child {
    margin-bottom: 0;
}

.feature-item.right-item {
    flex-direction: row-reverse;
    text-align: right;
    transform: translateX(30px);
    animation: slideInRight 0.7s ease forwards;
}

.feature-item:nth-child(1) {
    animation-delay: 0.2s;
}

.feature-item:nth-child(2) {
    animation-delay: 0.4s;
}

.feature-item.right-item:nth-child(1) {
    animation-delay: 0.2s;
}

.feature-item.right-item:nth-child(2) {
    animation-delay: 0.4s;
}

.feature-icon-wrap {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(45deg, #193c6a, #01a06ae3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 8px 24px rgba(91, 124, 247, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-icon-wrap:hover {
    transform: scale(1.1) rotate(-5deg);
    box-shadow: 0 12px 32px rgba(91, 124, 247, 0.45);
}

.feature-icon-wrap svg {
    width: 26px;
    height: 26px;
    /* fill: #fff; */
    color: #ffffff;
}

.feature-text h5 {
    font-size: 21px;
    font-weight: 700;
    color: #1a1d3a;
    margin-bottom: 8px;
    font-family: 'Cairo';
}

.feature-text p {
    font-size: 14px;
    font-weight: 400;
    color: #000000d4;
    line-height: 21px;
    margin: 0;
    font-family: inter;
}

/* ── Center Circle ── */
.medical-section .col-md-2 {
    align-self: stretch;
    align-items: center;
}

.circle-wrap {
    position: relative;
    width: 320px;
    height: 320px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: fadeIn 0.8s ease forwards 0.1s;
}

/* Outer rotating ring with text paths */
.ring-outer {
    position: absolute;
    inset: 0;
    animation: rotateSlow 18s linear infinite;
}

/* Middle decorative ring */
.ring-middle {
    position: absolute;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    border: 2px solid rgba(100, 130, 220, 0.25);
    animation: rotateSlow 12s linear infinite reverse;
}

/* Inner glow ring */
.ring-inner {
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(150, 170, 255, 0.35) 0%, rgba(120, 140, 240, 0.15) 60%, transparent 100%);
    animation: pulse 3s ease-in-out infinite;
}

/* Center logo button */
.center-logo {
    position: relative;
    z-index: 10;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: linear-gradient(45deg, #193c6a, #01a06ae3);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 12px rgba(91, 124, 247, 0.12), 0 0 0 24px rgb(161 192 225), 0 16px 48px rgb(24 141 118);
    animation: logoFloat 4s ease-in-out infinite;
}

.center-logo svg {
    width: 54px;
    height: 54px;
    fill: #fff;
}

/* Dot connectors on outer ring */
.dot-connector {
    position: absolute;
    width: 12px;
    height: 12px;
    background: #1b9177;
    border-radius: 50%;
    box-shadow: 0 0 8px rgb(81 147 165);
}

/* Positioned dots at 4 cardinal sides of the outer ring (r=195) */
.dot-top {
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.dot-right {
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.dot-bottom {
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.dot-left {
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
}

/* ── Animations ── */
@keyframes rotateSlow {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.8;
    }

    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

@keyframes logoFloat {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@media (max-width: 991px) {
    .circle-wrap {
        width: 320px;
        height: 320px;
    }

    .ring-middle {
        width: 240px;
        height: 240px;
    }

    .ring-inner {
        width: 160px;
        height: 160px;
    }

    .center-logo {
        width: 90px;
        height: 90px;
    }

    .center-logo svg {
        width: 40px;
        height: 40px;
    }

    .feature-item,
    .feature-item.right-item {
        flex-direction: row;
        text-align: left;
        min-height: 0;
        margin-bottom: 32px;
    }
}


/* end here */

/* Responsive */
@media (max-width:768px) {
    a.registerbtn {
        padding: 12px 10px;
        font-size: 13px;
    }

    #about {
        padding: 20px !important;
    }

    #about {
        padding: 15px;
    }

    .exhibitor_left {
        padding: 0;
    }

    .medical-section {
        padding: 48px 0;
    }

    .circle-wrap {
        width: 280px;
        height: 280px;
        margin-bottom: 40px;
    }


    .wrap-highlights h2 {
        padding-bottom: 16px;
        padding-top: 20px;
    }

    h2.tp-text-common-black-1.tp-ff-inter.fw-600.fs-70.text-uppercase.mb-0 {
        font-size: 41px !important;
    }

    .bg-bluemobile .tp-ff-inter {
        font-family: var(--tp-ff-inter);
        color: #fff;
        font-size: 15px;
    }

    section#summithighlights {
        display: none;
    }

    section#southestasia {
        display: block !important;
        padding: 18px;
    }

    section#why-exbit .sectorItem {
        width: auto;
        padding: 12px
    }

    section#why-exbit .heading h2 {
        font-size: 22px
    }

    .tp-hero-it-content.mb-40 img.hero-logo {
        width: 100%;
    }

    .tp-header-logo a img {
        width: 60px !important;
    }

    .tp-header-right.d-flex.align-items-center.justify-content-end a {
        display: none;
    }

    .tp-footer-md-bigtitle {
        font-size: 40px;
        line-height: 0.8;
    }

    .loc span img {
        width: 22px;
        margin-right: 12px;
    }

    a.downloadbtn {
        padding: 14px !important;
        margin-bottom: 27p !important;
        width: 65% !important;
        text-align: center;
        margin: auto !important;
        margin-top: 24px !important;
        display: inline-flex !important;
    }

    ul.navbar-nav.me-auto.mb-2.mb-lg-0 li a {
        color: rgb(0, 0, 0);
    }

    button.navbar-toggler {
        background: white;
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none {
        background: #fff !important;
    }

    section#faq {
        background: #f5f5f5;
        padding: 36px 9px 7px 9px !important;
    }

    ul.dropdown-menu.show {
        background: #fff;
    }

    .loc {
        margin-bottom: 13px;
        height: 120px !important;
    }

    .tp-ff-inter {
        font-family: var(--tp-ff-inter);
        color: #000000;
    }

    .tp-team-it-item {
        height: auto;
    }

    .tp-blog-area.pt-110.p-relative.pb-120 {
        padding-top: 10px;
        padding-bottom: 1px;
    }

    .tp-btn-switch-animation .btn-text {
        color: white;
    }

    section#summithighlights .w-100.justify-content-center {
        display: block;
    }

    .main-contents h2 {
        font-size: 18px;
        line-height: 29px;
    }

    .tp-hero-it-content.mb-40 h4 {
        background: #063b539e;
        width: 100%;
    }

    .chart-details {
        display: flex;
    }

    section#speakers .col-lg-3 {
        width: 100%;
    }

    .chat-left {
        position: relative;
        width: 100%;
        height: 100%;
    }

    #attend .title {
        font-size: 28px;
    }

    .button-unique {
        width: 70%;
    }

    button.button-unique {
        text-align: center;
        margin: auto;
    }

    .wrap-highlights {
        width: 100% !important;
    }

    .float-sm {
        display: none;
    }

    section.grid-concept-sec.PTB-80 {
        padding: 29px 14px 21px 8px !important;
    }

    section#summit-highlights .grid-item.inner-flex h2 {
        font-size: 52px;
        color: white;
    }

    .statscol .statsItemv3:before {
        display: none;
    }

    form#test input {
        width: 100% !important;
    }

    .wrap-media h2 {
        font-size: 30px;
        padding-bottom: 0px;

    }

    span#days {
        font-size: 27px;
    }

    span#hours {
        font-size: 27px;
    }

    span#minutes {
        font-size: 27px;
    }

    span#seconds {
        font-size: 27px;
    }

    div#countdown ul li {
        width: 86px;
        height: 86px;
        text-align: center;
        font-size: 12px;
    }
}

.crowdImg {
    position: relative;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 50vh;
    z-index: -1;
    text-align: center;
    margin-top: -7vw;
}

.crowdImg:before {
    position: absolute;
    top: -80%;
    left: 0;
    width: 400%;
    height: 200%;
    content: '';
    background-image: radial-gradient(#010a3e, #010a3e73, #010a3e);
    z-index: 9;
}

.loc span img {
    width: 18px;
    margin-right: 7px;
}

.crowdImg:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.4);
    background-image: url(../images/bgwrapper.webp);
    content: '';
    background-size: cover;
    background-repeat: no-repeat;
}

#why-exbit {
    position: relative;
    text-align: center;
    padding-top: 33px;
    overflow: hidden;
    background: url(https://digitalnativessummit.com/assets/img/profile2.webp);
    background-size: cover;
    padding: 60px 0 300px 0;
}

section#why-exbit h2 {
    color: white;
    padding-bottom: 35px;
}

section#faq {
    background: #f5f5f5;
    padding: 52px 11px 7px 9px;
}

.wrap-fqa {
    text-align: center;
    padding-bottom: 32px;
}

.wrap-fqa h2 {
    color: black;
}

.wrapbnera {
    background: linear-gradient(45deg, #00285c, #7bb97d);
    text-align: center;
    padding: 12px;
    border-right: 2px solid #ffffff78;
    border-radius: 10px;
}

.whyattends p {
    font-size: 16px;
    color: black;
    line-height: 20px;
    font-family: 'DM Sans';
    padding-top: 20px;
}

.whyattends h3 {
    font-size: 23px;
    padding-bottom: 20px;
}

.whyattends img {
    border-radius: 22px;
}

/* Floating Social Media Bar Style Starts Here */
.fl-fl.float-tw {
    margin-bottom: 24px;
}

.fl-fl.float-gp {
    margin-bottom: 24px;
}

.wrapbnera {
    background: linear-gradient(45deg, #193c6a, #022048);
    text-align: center;
    padding: 12px;

}

.wrapbnera span img {
    width: 26px;
}

span.wrpdet {
    display: flex;
}

.wrapbnera p {
    color: white;
    margin-top: 6px;
    margin-bottom: 0px;
    font-size: 23px;
    font-weight: 500;
    font-family: 'Kanit';
}

span.aprils {
    color: white;
    font-size: 15px;
}

.wrapbnera p span img {
    width: 40px;
    margin-bottom: 28px;
}

.fl-fl.float-fb {
    margin-bottom: 24px;
}

.wrapbnera p span {
    color: white;
    font-size: 45px;
    font-weight: 600;
    font-family: 'Kanit';
    line-height: 0px;
}

.float-sm {
    position: fixed;
    bottom: 72px;
    z-index: 99999;
}

.float-sm img {
    width: 25px;
    height: 25px;
}

.wrapbnera h3 {
    color: white;
    font-size: 24px;
    padding-bottom: 14px;
    font-family: 'Cairo';
}

.wrapbnera.clcikhere p {
    margin-bottom: 28px;
}

.wrapbnera a {
    background: #002f50;
    padding: 10px 43px;
    border-radius: 14px;
    border: 1px solid #01a06a8a;
    font-size: 18px;
}

.fl-fl.float-tw a {
    background: linear-gradient(45deg, #193c6a, #01a06ae0);
    padding: 12px 9px;
    border-radius: 35px;
}

.fl-fl.float-gp a {
    background: linear-gradient(45deg, #193c6a, #01a06ae0);
    padding: 12px 9px;
    border-radius: 35px;
}

.fl-fl.float-fb a {
    background: linear-gradient(45deg, #193c6a, #01a06ae0);
    padding: 12px 9px;
    border-radius: 35px;
}

.fl-fl.float-rs a {
    background: linear-gradient(45deg, #193c6a, #01a06ae0);
    padding: 12px 9px;
    border-radius: 35px;
}

.grid-concept-sec {
    background: #010a3e;
}

.tp-hero-it-counter .subtitle {
    color: #ffffff;
    line-height: 6px;
}

.grid-concept-sec .padd-change {
    padding: 5px;
}

.grid-concept-sec .grid-content.item1 {
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
}

.grid-concept-sec .grid-content .grid-item.inner-flex {
    display: flex;
    justify-content: space-between;
}

.grid-concept-sec .grid-content.item1 .grid-item .fit-img {
    width: 225px;
    height: 300px;
}

.grid-concept-sec .grid-content.item1 .grid-item .fit-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grid-concept-sec .grid-content.item1 .grid-item-two .fit-img {
    width: 100%;
    height: 420px;
}

.grid-concept-sec .grid-content.item1 .grid-item-two {
    margin-top: 10px;
}

.grid-concept-sec .grid-content.item1 .grid-item-two.btm-change {
    margin-bottom: 10px;
    margin-top: 0px !important;
}

.grid-concept-sec .grid-content.item1 .grid-item-two .fit-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#about {
    padding: 60px;
    position: relative;
}

#assoction {
    padding: 50px 0 0;
}

section#MediaPartners {
    padding-top: 40px;
}

.grid-concept-sec .grid-content.item1 .grid-item .cont {
    background: linear-gradient(45deg, #009f69, #0b336f);
    width: 200px;
    height: 300px;
    padding: 10px 10px;
    margin: 0px 0px 0px 10px;
    text-align: center;
    display: inline-grid;
    align-items: center;
}

.grid-concept-sec .grid-content.item1 .grid-item .cont img {
    width: 45px;
    height: 45px;
    margin: 13px 0px 18px;
    object-fit: contain;
}

.grid-concept-sec .grid-content.item1 .grid-item .cont p {
    font-size: 15px;
    color: var(--color-white);
    font-weight: 400;
    font-family: var(--font-Inter);
}

.grid-concept-sec .grid-content.item1 .grid-item .cont h6 {
    color: var(--color-green);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    font-family: var(--font-Inter);
}

.grid-concept-sec .grid-content.item1 .grid-item .cont .lead-cmpy {
    font-size: 10px;
    margin: 0px;
    text-transform: uppercase;
    font-family: var(--font-Inter);
}

h1.mosttitle {
    font-size: 40px;
    font-family: 'Cairo';
    text-transform: uppercase;
    margin-bottom: 7px;
    color: white;
    text-align: center;
}

section.grid-concept-sec.PTB-80 {
    padding: 49px;
}

section.grid-concept-sec.PTB-80 .Section-title {
    padding-bottom: 34px;
}

.grid-item.inner-flex h2 {
    font-size: 52px;
}

section#speakerdesign {
    background: linear-gradient(45deg, #193c6a, #022048);
    height: 300px;
    text-align: center;
    position: relative;
}

section#commonbanners {
    background: url(../images/commonbannerforus.webp);
    height: 300px;
    text-align: center;
    position: relative;
}

.tp-blog-content a {
    color: black;
}

.wrap-speakerbanner {
    position: absolute;
    bottom: 27px;
    text-align: center;
    display: block;
    justify-content: center;
    align-items: center;
    text-align: center;
    display: block;
}

.wrap-speakerbanner h2 {
    color: white;
    text-align: center;
    font-size: 45px;
}

.wrap-sptitle {
    text-align: center;
}

.wrap-sptitle h2 {
    color: #000306;
    font-family: 'Kanit';
    font-weight: 500;
    padding-bottom: 24px;
}

section#convernor {
    padding-top: 32px;
}

.tp-blog-area.pt-110.p-relative.pb-120 h2.tp-text-revel-anim.fix.tp-text-common-black-1.fs-60.fs-xl-50.fs-lg-44.fs-xs-38.tp-ff-inter.tp-text-common-black-1.mb-30 {
    color: black;
}

.tp-footer-md-widget p {
    color: #ffffff !important;
}

.tp-footer-md-widget ul li {
    color: #fff !important;
    /* opacity: 0.8; */
}

.whatsapp-button {
    position: fixed;
    bottom: 20px;
    left: 20px;
    color: white;
    font-size: 30px;
    /* padding: 15px; */
    border-radius: 50%;
    text-align: center;
    /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); */
    z-index: 1000;
    animation: pulse 2s infinite;
}

.whatsapp-button img {
    width: 60px;
    height: 60px;
}

/* Event Report side button — fixed at right edge, vertical text */
.event-report-side-btn {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 1000;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 8px;
    background: linear-gradient(135deg, #010a3e 0%, #1f2a8a 100%);
    color: #ffffff !important;
    font-family: 'Cairo', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-decoration: none;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    transform: translateY(-50%);
    transition: background 0.25s ease, right 0.25s ease, box-shadow 0.25s ease;
}

.event-report-side-btn .erb-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.event-report-side-btn .erb-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-transform: uppercase;
    white-space: nowrap;
    line-height: 1;
}

.event-report-side-btn:hover,
.event-report-side-btn:focus {
    background: linear-gradient(135deg, #1f2a8a 0%, #010a3e 100%);
    color: #ffffff !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
    text-decoration: none;
}

@media (max-width: 575px) {
    .event-report-side-btn {
        font-size: 11px;
        padding: 10px 6px;
    }
    .event-report-side-btn .erb-icon svg {
        width: 16px;
        height: 16px;
    }
}

.whatsapp-community-button {
    position: fixed;
    bottom: 20px;
    left: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #25D366;
    color: #fff;
    padding: 8px 16px 8px 8px;
    border-radius: 50px;
    text-decoration: none;
    z-index: 1000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    animation: pulse 2s infinite;
    transition: transform 0.3s ease;
}

.whatsapp-community-button:hover {
    transform: scale(1.05);
    color: #fff;
    text-decoration: none;
}

.whatsapp-community-button img {
    width: 40px;
    height: 40px;
}

.whatsapp-community-button span {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.button11 {
    background-color: #002f50 !important;
    -webkit-border-radius: 10px;
    border-radius: 34px;
    border: none;
    color: #FFFFFF;
    cursor: pointer;
    display: inline-block;
    font-family: 'Inter';
    font-size: 18px;
    padding: 9px 23px;
    text-align: center;
    text-decoration: none;
    -webkit-animation: glowing 1500ms infinite;
    -moz-animation: glowing 1500ms infinite;
    -o-animation: glowing 1500ms infinite;
    animation: glowing 1500ms infinite;
}

@-webkit-keyframes glowing {
    0% {
        background-color: #4bb390e0;
        -webkit-box-shadow: 0 0 3px #049e6a;
    }

    50% {
        background-color: #4bb390e0;
        -webkit-box-shadow: 0 0 40px #FF0000;
    }

    100% {
        background-color: #4bb390e0;
        -webkit-box-shadow: 0 0 3px #B20000;
    }
}

@-moz-keyframes glowing {
    0% {
        background-color: #4bb390e0;
        -moz-box-shadow: 0 0 3px #049e6a;
    }

    50% {
        background-color: #4bb390e0;
        -moz-box-shadow: 0 0 40px #FF0000;
    }

    100% {
        background-color: #4bb390e0;
        -moz-box-shadow: 0 0 3px #B20000;
    }
}

@-o-keyframes glowing {
    0% {
        background-color: #4bb390e0;
        box-shadow: 0 0 3px #049e6a;
    }

    50% {
        background-color: #4bb390e0;
        box-shadow: 0 0 40px #FF0000;
    }

    100% {
        background-color: #4bb390e0;
        box-shadow: 0 0 3px #B20000;
    }
}

@keyframes glowing {
    0% {
        background-color: #4bb390e0;
        box-shadow: 0 0 3px #049e6a;
    }

    50% {
        background-color: #4bb390e0;
        box-shadow: 0 0 40px #FF0000;
    }

    100% {
        background-color: #4bb390e0;
        box-shadow: 0 0 3px #B20000;
    }
}

.sidenav1 {
    position: fixed;
    top: 50%;
    right: 0%;
    transform: translate(0%, -50%);
    width: 102px;
    text-align: center;
    padding: 1px;
    z-index: 3;
}

section.sidenav1 ul li {
    list-style: none;
    border-radius: 18px;
    background: linear-gradient(45deg, #193c6a, #08d691c9);
    margin-bottom: 6px;
    width: 100%;
    padding: 7px;
}

ul.sidenav_ul1 li span {
    display: block;
    color: white;
    font-size: 12px;
}

ul.sidenav_ul1 li a img {
    width: 36%;
    margin-bottom: 9px;
    margin-top: 10px;
}

ul.sidenav_ul1 li span {
    display: block;
    color: white;
    font-size: 14px;
    line-height: 18px;
}

/*section.sidenav {
    display: none;
}*/
.loc h3 {
    font-size: 16px;
    font-weight: 400;
    font-family: 'Poppins';
    color: #000000;
    background: white;
    padding: 10px;
}

.loc {
    background: #012146;
    padding: 0;
    text-align: center;
    height: 128px;
    backdrop-filter: blur(4px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    background-color: rgb(255 255 255 / 0%);
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.wrap-contactsec {
    position: relative;
}

.programm_top {
    display: flex;
    align-items: center;
    justify-content: center;
}

.programmer_title {
    text-transform: uppercase;
    text-align: center;
    font-weight: 800;
    position: relative;
    padding: 0 0 22px;
    margin: 0 auto 40px;
    color: #fff;
    font-size: 44px;
    letter-spacing: 3px;
    background: linear-gradient(90deg, #f6d784 0%, #e6b84a 45%, #33d594 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    width: fit-content;
}

.programmer_title::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, #e6b84a 30%, #33d594 70%, transparent);
}

.programmer_title::after {
    content: "\2605";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    color: #e6b84a;
    font-size: 14px;
    -webkit-text-fill-color: #e6b84a;
    background: #0f1428;
    padding: 0 10px;
    line-height: 1;
}

@media (max-width: 575.98px) {
    .programmer_title {
        font-size: 30px;
        letter-spacing: 2px;
    }
}

.program_txt h6 {
    color: #33d594;
    font-weight: 700;
    font-size: 18px;
}

.program_txt h3 {
    color: #fff;
    font-size: 24px;
    margin: 0;
    line-height: 1.4;
}

.program_txt p {
    color: #fff;
    margin: 0 0 10px;
    line-height: 1.4;
    font-weight: 300;
}

/* ===== Chief Guest Card ===== */
.cg-row {
    margin-bottom: 40px;
}

.cg-card {
    position: relative;
    display: flex;
    align-items: stretch;
    border-radius: 14px;
    background: #0f1428;
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    min-height: 240px;
}

.cg-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #e6b84a, #33d594);
}

.cg-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

.cg-img-wrap {
    flex: 0 0 42%;
    max-width: 42%;
    background: #0a0e1c;
    overflow: hidden;
}

.cg-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cg-content {
    flex: 1;
    padding: 26px 26px 26px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.cg-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #e6b84a;
    margin-bottom: 12px;
}

.cg-name {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 5px;
    color: #fff;
    line-height: 1.3;
}

.cg-role {
    color: #c9cfda;
    margin: 0 0 12px;
    font-weight: 300;
    line-height: 1.2;
    font-size: 15px;
}

.cg-role em {
    color: #f6d784;
    font-style: normal;
    font-weight: 500;
    font-size: 17px;
    line-height: 30px;
}

.cg-org {
    color: #33d594;
    font-weight: 400;
    font-size: 17px;
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 991.98px) {
    .cg-card {
        min-height: 200px;
    }

    .cg-img-wrap {
        flex: 0 0 40%;
        max-width: 40%;
    }

    .cg-content {
        padding: 18px 18px 18px 16px;
    }

    .cg-name {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .cg-role {
        font-size: 13px;
        line-height: 1.45;
    }

    .cg-org {
        font-size: 13px;
    }

    .cg-tag {
        font-size: 10px;
        letter-spacing: 1.5px;
        margin-bottom: 8px;
    }
}

@media (max-width: 420px) {
    .cg-card {
        min-height: 180px;
    }

    .cg-name {
        font-size: 15px;
    }

    .cg-role {
        font-size: 11px;
    }

    .cg-org {
        font-size: 11px;
    }

    .cg-content {
        padding: 14px 12px 14px 12px;
    }
}

.loc h4 {
    color: white;
    font-size: 20px;
    font-family: sans-serif;
    font-weight: 400;
}

.loc p {
    color: white;
    margin: 10px 0;
}

.wrap-contas h2 {
    color: white;
    font-family: 'Familjen Grotesk';
}

.conference_bnr {
    position: relative;
    z-index: 3;
}

@media (min-width: 768px) {
    .conference_bnr {
        padding: 60px 0;
    }
}

.conference_bnr::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: linear-gradient(to top, #000000, transparent, transparent, transparent); */
    z-index: 2;
}

/* ═══════════════════════════════════════════════════════════
   Why NextGen Pharma Summit — White / Collage layout
   ═══════════════════════════════════════════════════════════ */
.pharma_about {
    background: #ffffff;
    padding: 90px 0;
    position: relative;
    overflow: hidden;
}

.pharma_about::before {
    content: none;
}

.pharma_about .container {
    border-radius: 0;
    padding: 0 15px;
    box-shadow: none;
    position: relative;
    z-index: 1;
}

/* ── Heading ── */
.pharma_about h2 {
    color: #061a3a;
    font-size: 38px;
    font-weight: 800;
    text-align: left;
    margin-bottom: 18px;
    letter-spacing: 0.3px;
    position: relative;
    padding-bottom: 16px;
    line-height: 1.2;
    visibility: visible;
    animation-duration: 600ms;
    animation-delay: 150ms;
    animation-name: fadeInUp;
}

.pharma_about h2 .accent {
    color: #1ec5b4;
    font-weight: 800;
    background: none;
    -webkit-text-fill-color: #1ec5b4;
    -webkit-background-clip: border-box;
    background-clip: border-box;
}

.pharma_about h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, #1ec5b4, #5fe9d8);
    border-radius: 2px;
}

/* ── Intro paragraphs ── */
.pharma_about > .container > .row > .col-lg-6 > p {
    color: #3a4a5e;
    font-family: 'Inter';
    text-align: left;
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 12px;
}

.pharma_about p span {
    color: #1ec5b4;
    font-weight: 700;
    letter-spacing: 0.03em;
}

/* ═══════════════════════════════════════════════════════════
   LEFT — Framed hero photo
   ═══════════════════════════════════════════════════════════ */
.pharma_about_collage {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 4;
    max-width: 560px;
    margin: 0 auto;
    padding: 0 28px 28px 0;
}

/* Teal accent frame — offset behind the photo */
.collage-frame {
    position: absolute;
    top: 28px;
    left: 28px;
    right: 0;
    bottom: 0;
    border: 3px solid #1ec5b4;
    border-radius: 16px;
    z-index: 0;
    transition: transform 0.5s ease;
}

.collage-img {
    position: absolute;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 22px 50px rgba(6, 26, 58, 0.22);
    transition: transform 0.5s ease, box-shadow 0.5s ease;
    z-index: 2;
    border: 6px solid #ffffff;
}

.collage-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Main hero photo */
.collage-img--main {
    top: 0;
    left: 0;
    right: 28px;
    bottom: 28px;
}

/* Top-right small inset — perches on the upper corner of the main photo */
.collage-img--inset-tr {
    top: -22px;
    right: 0;
    width: 38%;
    aspect-ratio: 4 / 3;
    border-width: 5px;
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(6, 26, 58, 0.28);
    z-index: 3;
}

/* Bottom-right small inset — overlaps the lower corner */
.collage-img--inset-br {
    right: -22px;
    bottom: 4px;
    width: 42%;
    aspect-ratio: 4 / 3;
    border-width: 5px;
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(6, 26, 58, 0.28);
    z-index: 4;
}

.pharma_about_collage:hover .collage-img--main {
    transform: translate(-4px, -4px);
    box-shadow: 0 30px 60px rgba(6, 26, 58, 0.28);
}

.pharma_about_collage:hover .collage-img--inset-tr {
    transform: translate(-3px, -3px);
}

.pharma_about_collage:hover .collage-img--inset-br {
    transform: translate(-3px, 3px);
}

.pharma_about_collage:hover .collage-frame {
    transform: translate(4px, 4px);
}

/* Subtle decorative dot grid behind the collage */
.collage-dots {
    position: absolute;
    bottom: -4px;
    left: -22px;
    width: 130px;
    height: 130px;
    background-image: radial-gradient(rgba(30, 197, 180, 0.5) 1.6px, transparent 1.6px);
    background-size: 14px 14px;
    z-index: 0;
}

/* Floating stat badge — bottom-left of the photo */
.collage-badge {
    position: absolute;
    left: -14px;
    bottom: 16%;
    background: linear-gradient(135deg, #061a3a 0%, #0a2342 100%);
    color: #ffffff;
    padding: 14px 18px;
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(6, 26, 58, 0.28);
    z-index: 4;
    display: flex;
    flex-direction: column;
    border-left: 4px solid #1ec5b4;
    min-width: 130px;
}

.collage-badge-num {
    font-size: 26px;
    font-weight: 800;
    color: #1ec5b4;
    line-height: 1;
    letter-spacing: -0.01em;
}

.collage-badge-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 4px;
    color: #cdd9e6;
}

/* ═══════════════════════════════════════════════════════════
   RIGHT — Numbered reason list
   ═══════════════════════════════════════════════════════════ */
.pharma_reasons {
    list-style: none;
    padding: 0;
    margin: 22px 0 0;
    counter-reset: reason;
}

.pharma_about_inner {
    counter-increment: reason;
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #e7ecf2;
    border-left: 3px solid #1ec5b4;
    box-shadow: 0 4px 14px rgba(6, 26, 58, 0.05);
    padding: 14px 18px 14px 16px;
    border-radius: 10px;
    margin: 0 0 12px;
    min-height: auto;
    position: relative;
    overflow: hidden;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}

/* Number badge — appears before the icon */
.pharma_about_inner::before {
    content: counter(reason, decimal-leading-zero);
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(30, 197, 180, 0.12);
    color: #1ec5b4;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 14px;
    transition: background 0.35s ease, color 0.35s ease;
}

.pharma_about_inner:hover {
    transform: translateX(4px);
    border-color: rgba(30, 197, 180, 0.55);
    border-left-color: #1ec5b4;
    background: #f6fdfb;
    box-shadow: 0 10px 24px rgba(30, 197, 180, 0.18);
}

.pharma_about_inner:hover::before {
    background: #1ec5b4;
    color: #ffffff;
}

/* Icon */
.pharma_about_inner img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    margin: 0 14px 0 0;
    flex: 0 0 auto;
}

/* Label */
.pharma_about_inner p {
    text-align: left !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.4;
    color: #061a3a !important;
    font-weight: 500;
    flex: 1 1 auto;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
    .pharma_about {
        padding: 60px 0;
    }

    .pharma_about_collage {
        margin-bottom: 50px;
        max-width: 460px;
    }

    .pharma_about h2 {
        text-align: center;
        font-size: 30px;
    }

    .pharma_about h2::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .pharma_about > .container > .row > .col-lg-6 > p {
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .pharma_about {
        padding: 45px 0 55px;
    }

    .pharma_about_collage {
        max-width: 380px;
    }

    .pharma_about h2 {
        font-size: 24px;
    }

    .collage-badge {
        left: -8px;
        padding: 10px 14px;
        min-width: 110px;
    }

    .collage-badge-num {
        font-size: 22px;
    }

    .pharma_about_inner {
        padding: 12px 14px 12px 12px;
    }

    .pharma_about_inner::before {
        width: 32px;
        height: 32px;
        font-size: 12px;
        margin-right: 10px;
    }

    .pharma_about_inner img {
        width: 30px;
        height: 30px;
        margin-right: 10px;
    }

    .pharma_about_inner p {
        font-size: 13px !important;
    }
}


.conferen_stat-section {
    padding: 60px 0;
    position: relative;
    background: #fff;
}

.conferen_stat-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 40% at 50% 0%, rgba(201, 168, 76, 0.12) 0%, transparent 70%),
        radial-gradient(ellipse 40% 30% at 50% 100%, rgba(201, 168, 76, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════
   DARK CAROUSEL VARIANT — Dynamic Stats Cloud
   ═══════════════════════════════════════════════════════════ */
.conferen_stat-section--dark {
    background: #061a3a url('../../images/three_bg.JPG') center/cover no-repeat fixed;
    padding: 70px 0 80px;
    overflow: hidden;
}

.conferen_stat-section--dark::before {
    background:
        radial-gradient(1000px 520px at 10% 6%, rgba(30, 197, 180, 0.28) 0%, transparent 60%),
        radial-gradient(900px 480px at 92% 94%, rgba(20, 184, 176, 0.20) 0%, transparent 60%),
        linear-gradient(180deg, rgba(5, 24, 42, 0.92) 0%, rgba(7, 31, 51, 0.95) 55%, rgba(4, 16, 30, 0.94) 100%);
    pointer-events: none;
}

.conferen_stat-section--dark .container {
    position: relative;
    z-index: 1;
}

.conferen_stat-section--dark .section-title {
    color: #ffffff;
    font-size: 36px;
    margin-bottom: 8px;
}

.conferen_stat-section--dark .section-title span {
    color: #1ec5b4;
}

.conferen_stat-section--dark .gold-divider {
    background: #1ec5b4;
    margin: 12px auto 36px;
}

/* Owl carousel container */
.conferen_stat-carousel {
    position: relative;
}

/* ── Each stat tile — image with text overlay ── */
.conferen_stat-section--dark .conferen_stat {
    height: 280px;
    border-radius: 16px;
    border: 1px solid rgba(30, 197, 180, 0.28);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease, background-size 0.6s ease;
}

/* Bottom-to-top dark gradient so text at the bottom is readable */
.conferen_stat-section--dark .conferen_stat::before {
    background: linear-gradient(to top,
            rgba(4, 18, 43, 0.95) 0%,
            rgba(6, 26, 58, 0.78) 30%,
            rgba(6, 26, 58, 0.35) 60%,
            transparent 90%);
}

.conferen_stat-section--dark .conferen_stat:hover {
    transform: translateY(-6px);
    border-color: rgba(30, 197, 180, 0.85);
    box-shadow:
        0 28px 56px rgba(0, 0, 0, 0.5),
        0 0 24px rgba(20, 184, 176, 0.35);
    background-size: 110%;
}

.conferen_stat-section--dark .conferen_stat:hover::before {
    background: linear-gradient(to top,
            rgba(4, 18, 43, 0.95) 0%,
            rgba(6, 26, 58, 0.75) 35%,
            rgba(30, 197, 180, 0.15) 90%,
            transparent 100%);
}

/* ── Text container — sits over the dark gradient, no panel/blur ── */
.conferen_stat-section--dark .conferen_stat .stat-content {
    inset: 0;
    position: absolute;
    padding: 22px 22px 24px;
    background: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    z-index: 3;
}

/* Hide the 01–07 corner tag */
.conferen_stat-section--dark .conferen_stat .stat-tag {
    display: none;
}

/* Stat number — clean white, sits over the dark gradient */
.conferen_stat-section--dark .conferen_stat .stat-number,
.conferen_stat-section--dark .conferen_stat:hover .stat-number {
    color: #ffffff;
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.conferen_stat-section--dark .stat-plus {
    color: #1ec5b4;
}

/* Label — clean white text over the dark gradient */
.conferen_stat-section--dark .conferen_stat .stat-label {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.01em;
}

/* Owl nav arrows — teal pill */
.conferen_stat-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: -50px;
    right: -50px;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 5;
}

.conferen_stat-carousel .owl-prev,
.conferen_stat-carousel .owl-next {
    pointer-events: auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(6, 26, 58, 0.85) !important;
    color: #1ec5b4 !important;
    border: 1.5px solid rgba(30, 197, 180, 0.55) !important;
    font-size: 22px !important;
    line-height: 40px !important;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.conferen_stat-carousel .owl-prev:hover,
.conferen_stat-carousel .owl-next:hover {
    background: #1ec5b4 !important;
    color: #061a3a !important;
    border-color: #1ec5b4 !important;
    transform: scale(1.05);
}

@media (max-width: 991.98px) {
    .conferen_stat-carousel .owl-nav {
        left: -10px;
        right: -10px;
    }
}

@media (max-width: 575.98px) {
    .conferen_stat-section--dark {
        padding: 50px 0 60px;
    }

    .conferen_stat-section--dark .section-title {
        font-size: 28px;
    }

    .conferen_stat-section--dark .conferen_stat {
        height: 210px;
    }
}

.section-title {
    font-size: 40px;
    font-weight: 900;
    color: #000000;
    line-height: 1.1;
}

.section-title span {
    color: #0a2a5e;
}

/* ── conferen_stat: background applied directly on the card div inside col ── */
.conferen_stat {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    overflow: hidden;
    height: 240px;
    cursor: default;
    transition: background-size 0.5s ease, transform 0.4s ease, box-shadow 0.4s ease;
}

.conferen_stat:hover {
    transform: translateY(-6px);
    background-size: 110%;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6), 0 0 0 1px var(--gold);
}

/* Dark + gold gradient overlay */
.conferen_stat::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(201, 168, 76, 0.15) 0%, rgb(6 6 14 / 82%) 60%, rgb(6 6 14 / 90%) 100%);
    transition: background 0.4s ease;
    z-index: 0;
}

.conferen_stat:hover::before {
    background: linear-gradient(160deg,
            rgba(201, 168, 76, 0.28) 0%,
            rgba(6, 6, 14, 0.82) 60%,
            rgba(6, 6, 14, 0.95) 100%);
}


:root {
    --gold: #C9A84C;
    --golddim: rgba(201, 168, 76, 0.12);
    --dark: #07090d;
    --dark2: #0d1117;
    --cream: #f0ebe0;
    --muted: rgba(240, 235, 224, 0.45);
    --left-w: 38%;
}




/* ══════════════════════════════════════
       WRAPPER — full viewport, two columns
    ══════════════════════════════════════ */
.pf-wrapper {
    display: flex;
    align-items: flex-start;
    min-height: 100vh;
    position: relative;
    background: #07090d;
}

/* ══════════════════════════════════════
       LEFT PANEL — sticky section heading
    ══════════════════════════════════════ */
.pf-left {
    width: var(--left-w);
    position: sticky;
    top: 0;
    height: 100vh;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 60px 48px 48px 6vw;
    overflow: hidden;
    z-index: 2;
    box-shadow: rgb(9 191 130) 0px 10px 30px -12px inset, rgb(10 206 140) 0px 18px 36px -18px inset;
}

/* Animated gold gradient noise on left */
.pf-left::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 120% 80% at 0% 50%, rgba(201, 168, 76, 0.07) 0%, transparent 60%),
        radial-gradient(ellipse 60% 60% at 100% 100%, rgba(201, 168, 76, 0.04) 0%, transparent 50%);
    pointer-events: none;
}

/* Thin vertical gold border right edge */
.pf-left::after {
    content: '';
    position: absolute;
    right: 0;
    top: 8%;
    bottom: 8%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(201, 168, 76, 0.3) 30%, rgba(201, 168, 76, 0.3) 70%, transparent);
}

.pf-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.68rem;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 20px;
}

.pf-eyebrow::before {
    content: '';
    display: block;
    width: 24px;
    height: 1px;
    background: var(--gold);
    opacity: 0.7;
}

.pf-heading {
    font-family: Inter;
    font-size: 60px;
    line-height: 70px;
    letter-spacing: 0.02em;
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.pf-heading span {
    color: #168458;
}

.pf-heading em {
    font-style: normal;
    color: var(--gold);
    display: block;
}

.pf-subtext {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1rem;
    color: var(--muted);
    line-height: 1.6;
    margin-top: 24px;
    max-width: 260px;
    position: relative;
    z-index: 1;
}

/* Progress indicator on left */
.pf-progress {
    position: relative;
    z-index: 1;
    margin-top: auto;
}

.pf-progress-track {
    width: 100%;
    height: 1px;
    background: rgba(201, 168, 76, 0.15);
    position: relative;
    margin-bottom: 16px;
}

.pf-progress-fill {
    height: 100%;
    background: var(--gold);
    width: 16.66%;
    transition: width 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}

.pf-progress-label {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.pf-prog-current {
    font-size: 75px;
    color: #168458;
    line-height: 1;
    font-weight: bold;
}

.pf-prog-total {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    color: var(--muted);
}

/* Dot nav */
.pf-dots {
    display: flex;
    gap: 8px;
    margin-top: 20px;
}

.pf-dot {
    width: 20px;
    height: 3px;
    background: rgba(201, 168, 76, 0.2);
    border-radius: 2px;
    cursor: pointer;
    transition: background 0.3s ease, width 0.3s ease;
}

.pf-dot.active {
    background: var(--gold);
    width: 36px;
}

/* CTA button on left */
.btn-left-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #168458;
    color: #ffffff;
    font-size: 18px;
    text-decoration: none;
    font-weight: 800;
    padding: 14px 28px;
    margin-top: 28px;
    position: relative;
    overflow: hidden;
    transition: color 0.3s ease;
    width: fit-content;
}

.btn-left-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s ease;
}

.btn-left-cta:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.btn-left-cta span {
    position: relative;
    z-index: 1;
}

/* ══════════════════════════════════════
       RIGHT PANEL — scrolling features
    ══════════════════════════════════════ */
.pf-right {
    flex: 1;
    position: relative;
}

/* ── Each feature panel ── */
.feat-panel {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 80px 6vw 80px 5vw;
    position: relative;
    overflow: hidden;
}

/* Alternating subtle divider */
.feat-panel+.feat-panel {
    border-top: 1px solid rgba(201, 168, 76, 0.08);
}

/* Background image behind right panel */
.feat-panel-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.07;
    transition: opacity 0.6s ease;
    filter: grayscale(40%);
}

/* Active panel highlight (driven by JS) */
.feat-panel.in-view .feat-panel-bg {
    opacity: 0.1;
}

.feat-panel.in-view {
    background: rgba(201, 168, 76, 0.025);
}

/* ── Inner layout: text + image side by side ── */
.feat-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    width: 100%;
    position: relative;
    z-index: 1;
}

/* ── Text side ── */
.feat-text-col {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.feat-num-big {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 7rem;
    line-height: 0.8;
    color: rgba(201, 168, 76, 0.1);
    margin-bottom: -16px;
    letter-spacing: -0.02em;
    user-select: none;
}

.feat-icon-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.feat-emoji {
    font-size: 1.8rem;
    line-height: 1;
    filter: drop-shadow(0 0 12px rgba(201, 168, 76, 0.4));
}

.feat-tag {
    font-size: 0.65rem;
    letter-spacing: 0.38em;
    text-transform: uppercase;
    color: var(--gold);
    padding: 4px 10px;
    border: 1px solid rgba(201, 168, 76, 0.3);
}

.feat-title {
    font-size: 38px;
    line-height: 0.95;
    color: var(--cream);
    margin-bottom: 18px;
    letter-spacing: 0.02em;
}

.feat-rule {
    width: 40px;
    height: 2px;
    background: var(--gold);
    margin-bottom: 18px;
    transition: width 0.4s ease;
}

.feat-panel.in-view .feat-rule {
    width: 64px;
}

.feat-desc {
    font-weight: 300;
    color: #fff;
    line-height: 1.75;
    max-width: 340px;
    transition: color 0.4s ease;
    line-height: 26px;
    font-family: 'Inter';
    font-size: 16px;
}

.feat-panel.in-view .feat-desc {
    color: #fff;
}

/* ── Image side ── */
.feat-img-col {
    position: relative;
}

.feat-img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/5;
    max-height: 420px;
}

/* Gold border frame offset */
.feat-img-wrap::before {
    content: '';
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: 10px;
    left: 10px;
    border: 1px solid rgba(201, 168, 76, 0.25);
    z-index: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
    opacity: 0;
}

.feat-panel.in-view .feat-img-wrap::before {
    opacity: 1;
}

.feat-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(25%) brightness(0.85);
    transition: filter 0.6s ease, transform 0.6s ease;
    position: relative;
    z-index: 1;
    transform: scale(1.04);
}

.feat-panel.in-view .feat-img-wrap img {
    filter: grayscale(0%) brightness(0.9);
    transform: scale(1);
}

/* Gold overlay tint on image */
.feat-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.12) 0%, transparent 60%);
    z-index: 2;
    pointer-events: none;
}

/* Image caption */
.feat-img-caption {
    position: absolute;
    bottom: -28px;
    left: 0;
    font-size: 0.65rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(201, 168, 76, 0.5);
}

/* ── Scroll-in animations ── */
.feat-text-col,
.feat-img-col {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.feat-img-col {
    transition-delay: 0.12s;
}

.feat-panel.in-view .feat-text-col,
.feat-panel.in-view .feat-img-col {
    opacity: 1;
    transform: translateY(0);
}

/* Why Attend — retheme to summit page theme (teal #1ec5b4 on navy) */
.pf-wrapper {
    --gold: #1ec5b4;
    --golddim: rgba(30, 197, 180, 0.12);
    background: #061a3a;
}

.pf-left {
    box-shadow:
        rgba(30, 197, 180, 0.55) 0px 10px 30px -12px inset,
        rgba(95, 233, 216, 0.55) 0px 18px 36px -18px inset;
}

.pf-left::before {
    background:
        radial-gradient(ellipse 120% 80% at 0% 50%, rgba(30, 197, 180, 0.10) 0%, transparent 60%),
        radial-gradient(ellipse 60% 60% at 100% 100%, rgba(30, 197, 180, 0.06) 0%, transparent 50%);
}

.pf-left::after {
    background: linear-gradient(to bottom, transparent, rgba(30, 197, 180, 0.35) 30%, rgba(30, 197, 180, 0.35) 70%, transparent);
}

.pf-heading span {
    color: #1ec5b4;
}

.pf-prog-current {
    color: #1ec5b4;
}

.pf-progress-track {
    background: rgba(30, 197, 180, 0.18);
}

.pf-dot {
    background: rgba(30, 197, 180, 0.25);
}

.btn-left-cta {
    background: #1ec5b4;
    color: #061a3a;
}

.feat-panel + .feat-panel {
    border-top: 1px solid rgba(30, 197, 180, 0.10);
}

.feat-panel.in-view {
    background: rgba(30, 197, 180, 0.03);
}

.feat-num-big {
    color: rgba(30, 197, 180, 0.14);
}

.feat-emoji {
    filter: drop-shadow(0 0 12px rgba(30, 197, 180, 0.45));
}

.feat-tag {
    border: 1px solid rgba(30, 197, 180, 0.35);
}

.feat-img-wrap::before {
    border: 1px solid rgba(30, 197, 180, 0.3);
}

.feat-img-wrap::after {
    background: linear-gradient(135deg, rgba(30, 197, 180, 0.14) 0%, transparent 60%);
}

.feat-img-caption {
    color: rgba(30, 197, 180, 0.55);
}

/* ══════════════════════════════════════
       MOBILE
    ══════════════════════════════════════ */
@media (max-width: 900px) {
    .pf-wrapper {
        flex-direction: column;
    }

    .programm_top {
        flex-direction: column;
    }

    .pf-left {
        width: 100%;
        position: relative;
        height: auto;
        min-height: unset;
        padding: 60px 6vw 40px;
        flex-direction: column;
    }

    .pf-left::after {
        display: none;
    }

    .pf-progress {
        margin-top: 32px;
    }

    .feat-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .feat-img-col {
        order: -1;
    }

    .feat-img-wrap {
        aspect-ratio: 16/9;
        max-height: 260px;
    }

    .feat-panel {
        padding: 60px 6vw;
        min-height: unset;
    }
}



.conference_exp_container {
    font-family: 'Inter', sans-serif;
    color: #1e293b;
}

.conference_exp_section {
    position: relative;
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    overflow: hidden;
}

.conference_exp_ambient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(0, 94, 184, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(0, 163, 163, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 40% 20%, rgba(0, 166, 81, 0.03) 0%, transparent 50%);
    opacity: 0;
    animation: conference_exp_fade 1.5s ease-out forwards;
    pointer-events: none;
}

@keyframes conference_exp_fade {
    to {
        opacity: 1;
    }
}

.conference_exp_molecule {
    position: absolute;
    width: 40px;
    height: 40px;
    pointer-events: none;
    opacity: 0;
    animation: conference_exp_float 25s infinite linear;
}

.conference_exp_molecule::before {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    background: #005eb8;
    border-radius: 50%;
    opacity: 0.2;
    box-shadow:
        20px 0 0 rgba(0, 163, 163, 0.2),
        10px 20px 0 rgba(0, 166, 81, 0.2);
}

.conference_exp_molecule::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background: rgba(0, 94, 184, 0.15);
    top: 5px;
    left: 6px;
    transform: rotate(30deg);
    box-shadow:
        0 20px 0 rgba(0, 163, 163, 0.15),
        10px 10px 0 rgba(0, 166, 81, 0.15);
}

@keyframes conference_exp_float {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }

    5% {
        opacity: 0.6;
    }

    95% {
        opacity: 0.6;
    }

    100% {
        transform: translateY(-100vh) rotate(360deg);
        opacity: 0;
    }
}

.conference_exp_header {
    text-align: center;
    margin-bottom: 30px;
    position: relative;
    z-index: 2;
}

.conference_exp_title {
    font-size: 43px;
    font-weight: 700;
    color: #168458;
    margin-bottom: 20px;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.conference_exp_title.conference_exp_active {
    opacity: 1;
    transform: translateY(0);
}

.conference_exp_subtitle {
    color: #64748b;
    font-size: 1.2rem;
    max-width: 700px;
    margin: 0 auto;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}

.conference_exp_subtitle.conference_exp_active {
    opacity: 1;
    transform: translateY(0);
}

.conference_exp_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 30px;
    position: relative;
    z-index: 2;
    padding: 0 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.conference_exp_card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    transform-style: preserve-3d;
    transform: perspective(1000px) rotateX(10deg) translateY(50px);
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
    cursor: pointer;
}

.conference_exp_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.conference_exp_card:hover::before {
    transform: scaleX(1);
}

.conference_exp_card::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.7s;
}

.conference_exp_card:hover::after {
    left: 100%;
}

.conference_exp_card.conference_exp_active {
    transform: perspective(1000px) rotateX(0deg) translateY(0);
    opacity: 1;
}

.conference_exp_card:hover {
    transform: perspective(1000px) rotateX(0deg) translateY(-8px) scale(1.01);
    box-shadow: 0 20px 40px -10px rgba(0, 51, 102, 0.15), 0 10px 20px -5px rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 94, 184, 0.2);
}

.conference_exp_card_forecast::before {
    background: #005eb8;
}

.conference_exp_card_insight::before {
    background: #00a3a3;
}

.conference_exp_card_partner::before {
    background: #e87722;
}

.conference_exp_card_award::before {
    background: #00a651;
}

.conference_exp_card_deal::before {
    background: #5e2e91;
}

.conference_exp_iconbox {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 24px;
    position: relative;
    transition: all 0.3s ease;
    background: rgba(0, 94, 184, 0.08);
    color: #005eb8;
}

.conference_exp_card:hover .conference_exp_iconbox {
    transform: scale(1.1);
    border-radius: 50%;
}

.conference_exp_card_forecast .conference_exp_iconbox {
    background: rgba(0, 94, 184, 0.08);
    color: #005eb8;
}

.conference_exp_card_insight .conference_exp_iconbox {
    background: rgba(0, 163, 163, 0.08);
    color: #00a3a3;
}

.conference_exp_card_partner .conference_exp_iconbox {
    background: rgba(232, 119, 34, 0.08);
    color: #e87722;
}

.conference_exp_card_award .conference_exp_iconbox {
    background: rgba(0, 166, 81, 0.08);
    color: #00a651;
}

.conference_exp_card_deal .conference_exp_iconbox {
    background: rgba(94, 46, 145, 0.08);
    color: #5e2e91;
}

.conference_exp_heading {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #000000;
    font-family: 'Inter';
}

.conference_exp_description {
    color: #000000;
    line-height: 1.7;
    font-size: 15px;
    margin-bottom: 24px;
    font-weight: 400;
    font-family: 'Inter';
}

.conference_exp_metrics {
    display: flex;
    gap: 24px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #e2e8f0;
}

.conference_exp_metric {
    display: flex;
    flex-direction: column;
}

.conference_exp_number {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #003366;
    line-height: 1;
}

.conference_exp_label {
    font-size: 0.75rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 4px;
    font-weight: 500;
}

.conference_exp_progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: #005eb8;
    z-index: 9999;
    width: 0%;
    transition: width 0.1s;
}

.conference_exp_action {
    text-align: center;
    margin-top: 100px;
    position: relative;
    z-index: 2;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.conference_exp_action.conference_exp_active {
    opacity: 1;
    transform: translateY(0);
}

.conference_exp_btn {
    background: #005eb8;
    border: none;
    padding: 16px 40px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 8px;
    color: white;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 94, 184, 0.2), 0 2px 4px -1px rgba(0, 94, 184, 0.1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.conference_exp_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.7s;
}

.conference_exp_btn:hover::before {
    left: 100%;
}

.conference_exp_btn:hover {
    background: #003366;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(0, 51, 102, 0.3);
}

.conference_exp_orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(0, 94, 184, 0.1);
    pointer-events: none;
    animation: conference_exp_pulse 10s ease-in-out infinite;
}

.conference_exp_orbit_lg {
    width: 600px;
    height: 600px;
    top: -300px;
    right: -300px;
    animation-delay: 0s;
}

.conference_exp_orbit_sm {
    width: 400px;
    height: 400px;
    bottom: -200px;
    left: -200px;
    animation-delay: 5s;
}

@keyframes conference_exp_pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.5;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.3;
    }
}

.conference_exp_counter {
    display: inline-block;
    font-variant-numeric: tabular-nums;
}

.conference_exp_mesh {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        linear-gradient(rgba(0, 94, 184, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 184, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
    opacity: 0.5;
}

/* ═══════════════════════════════════════
       SECTION — full-bleed BG
    ═══════════════════════════════════════ */
.speakers-section {
    position: relative;
    padding: 50px 0 60px;
    overflow: hidden;
    min-height: auto;
    display: block;
    background: url(https://www.worldfintechsummit.com/assets/images/bgg.webp);
    background-size: cover;
    background-attachment: fixed;
}

.speakers-section .container.mt-4 {
    margin-top: 0.75rem !important;
}

.speakers-inner h2 {
    margin-bottom: 18px;
}

/* 5 speaker cards per row on large screens (1/5 = 20%) */
@media (min-width: 992px) {
    .col-lg-2-4 {
        flex: 0 0 auto;
        width: 20%;
        max-width: 20%;
    }
}

/* 5 speaker cards per row on large screens — override col-lg-3 inside speakers section only */
@media (min-width: 992px) {
    .speakers-section .col-lg-3 {
        flex: 0 0 auto;
        width: 20%;
        max-width: 20%;
    }

    .speakers-section .spk-img-zone {
        height: 220px;
    }

    .speakers-section .spk-content-zone {
        padding: 12px 12px 14px;
        min-height: 120px;
    }

    .speakers-section .spk-name {
        font-size: 15px;
        line-height: 1.3;
    }

    .speakers-section .spk-role,
    .speakers-section .spk-company {
        font-size: 12px;
        line-height: 1.35;
    }
}

.speakers-inner h2 {
    font-size: 45px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 30px;
    text-align: center;
}

/* Past Speakers heading — match hero font, no underline / star */
.speakers-section .programmer_title {
    font-family: 'National Park', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 2.4px;
    font-size: clamp(28px, 3.4vw, 42px);
    padding-bottom: 0 !important;
}

.speakers-section .programmer_title::before,
.speakers-section .programmer_title::after {
    content: none !important;
    display: none !important;
}

.speakers-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    /* Brand overlay — dark navy with green + gold radial glows */
    background:
        radial-gradient(1000px 520px at 10% 6%, rgba(1, 168, 111, 0.22) 0%, transparent 60%),
        radial-gradient(900px 480px at 92% 94%, rgba(245, 185, 66, 0.16) 0%, transparent 60%),
        linear-gradient(180deg, rgba(5, 24, 42, 0.92) 0%, rgba(7, 31, 51, 0.95) 55%, rgba(4, 16, 30, 0.94) 100%);
    pointer-events: none;
}

.speakers-section::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    /* Subtle white grid mesh (matches eh-section / contact) */
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    pointer-events: none;
}

.speakers-inner {
    position: relative;
    z-index: 2;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 48px;
    width: 100%;
}

/* ═══════════════════════════════════════
       HEADER
    ═══════════════════════════════════════ */
.spk-header {
    text-align: center;
    margin-bottom: 60px;
}

.spk-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 0.68rem;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    color: #1eaa72;
    margin-bottom: 16px;
}

.spk-eyebrow-line {
    display: block;
    width: 36px;
    height: 1px;
    background: #1eaa72;
    opacity: 0.6;
}

.spk-title {
    font-family: 'Cinzel', serif;
    font-size: clamp(2rem, 4.5vw, 3.6rem);
    font-weight: 700;
    color: #f0f5f2;
    line-height: 1.05;
    letter-spacing: 0.04em;
}

.spk-title span {
    color: #1eaa72;
}

.spk-subtitle {
    margin-top: 14px;
    font-size: 0.95rem;
    font-weight: 300;
    font-style: italic;
    color: rgba(240, 245, 242, 0.55);
    letter-spacing: 0.05em;
}

/* ═══════════════════════════════════════
       SPEAKER CARD — 70% image / 30% content
    ═══════════════════════════════════════ */
.spk-card {
    margin: 10px 12px 40px;
    position: relative;
    outline: none;
    background: linear-gradient(to bottom, transparent 0%, rgba(8, 18, 13, 0.4) 40%, rgba(8, 18, 13, 0.88) 80%, rgba(8, 18, 13, 0.96) 100%);
}

.spk-card-inner {
    /* background: rgba(8, 18, 13, 0.93); */
    /* border: 1px solid rgba(22, 132, 88, 0.45); */
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.spk-card:hover .spk-card-inner {
    transform: translateY(-8px);
    border-color: #168458;
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.6), 0 0 24px rgba(22, 132, 88, 0.2), 0 0 0 1px rgba(22, 132, 88, 0.15);
}

/* Top accent bar */
.spk-card-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    /* background: linear-gradient(90deg, transparent, #168458, #1eaa72, #168458, transparent); */
    transform: scaleX(0);
    transition: transform 0.5s ease;
    z-index: 5;
}

.spk-card:hover .spk-card-inner::before {
    transform: scaleX(1);
}

/* ── IMAGE ZONE — 70% of card height ── */
.spk-img-zone {
    position: relative;
    flex: 0 0 auto;
    height: 320px;
    overflow: hidden;
}

.spk-img-zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    filter: grayscale(15%) brightness(0.88);
    transition: transform 0.6s ease, filter 0.5s ease;
}

.spk-card:hover .spk-img-zone img {
    transform: scale(1.06);
    filter: grayscale(0%) brightness(0.95);
}

/* Green gradient overlay on bottom of image — bleeds into content */
.spk-img-zone::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 55%;
    /* background: linear-gradient(to bottom,
            transparent 0%,
            rgba(8, 18, 13, 0.4) 40%,
            rgba(8, 18, 13, 0.88) 80%,
            rgba(8, 18, 13, 0.96) 100%); */
    z-index: 2;
}

/* Green tint shimmer on hover */
.spk-img-zone::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(22, 132, 88, 0.12) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 3;
}

.spk-card:hover .spk-img-zone::before {
    opacity: 1;
}

/* Floating company badge on image (top-right) */
.spk-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(22, 132, 88, 0.85);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(22, 132, 88, 0.5);
    padding: 5px 10px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    z-index: 4;
    max-width: 140px;
    text-align: center;
    line-height: 1.3;
}

/* ── CONTENT ZONE — 30% of card ── */
.spk-content-zone {
    flex: 0 0 auto;
    padding: 18px 20px 22px;
    position: relative;
    /* background: rgba(8, 18, 13, 0.93); */
    /* border-top: 1px solid rgba(22, 132, 88, 0.45); */
    transition: border-color 0.4s ease;
    min-height: 165px;
}

.spk-card:hover .spk-content-zone {
    border-color: #168458;
}

/* Name */
.spk-name {
    font-family: 'Inter';
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.3;
    margin-bottom: 8px;
    transition: color 0.3s ease;
}

.spk-card:hover .spk-name {
    color: #fff;
}

/* Green rule */
.spk-rule {
    width: 28px;
    height: 2px;
    background: #168458;
    margin-bottom: 8px;
    transition: width 0.4s ease;
}

.spk-card:hover .spk-rule {
    width: 48px;
}

.spk-role {
    font-size: 11px;
    font-weight: 400;
    color: #33d594;
    line-height: 1.45;
    margin-bottom: 4px;
    letter-spacing: 0.02em;
}

.spk-company {
    font-size: 12px;
    font-weight: 300;
    color: rgb(255 255 255);
    line-height: 1.4;
}

/* ═══════════════════════════════════════
       OWL NAV — custom square green arrows
    ═══════════════════════════════════════ */
.owl-dots {
    display: none;
}

.owl-nav {
    position: absolute;
    top: 50%;
    left: -22px;
    right: -22px;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 10;
}

.owl-prev,
.owl-next {
    pointer-events: all;
    width: 48px;
    height: 48px;
    background: rgba(8, 18, 13, 0.9) !important;
    border: 1px solid rgba(22, 132, 88, 0.45) !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease, border-color 0.3s ease !important;
    cursor: pointer;
}

.owl-prev:hover,
.owl-next:hover {
    background: #168458 !important;
    border-color: #168458 !important;
}

.owl-prev span,
.owl-next span {
    display: none;
}

.owl-prev::after,
.owl-next::after {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.owl-prev::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23168458' stroke-width='2'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
}

.owl-next::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23168458' stroke-width='2'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
}

.owl-prev:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffffff' stroke-width='2'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
}

.owl-next:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffffff' stroke-width='2'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
}

/* ═══════════════════════════════════════
       CAROUSEL WRAP + COUNTER
    ═══════════════════════════════════════ */
.carousel-wrap {
    position: relative;
    padding: 0 12px;
}

.spk-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 44px;
}

.spk-counter-track {
    width: 180px;
    height: 1px;
    background: rgba(22, 132, 88, 0.15);
    position: relative;
    overflow: hidden;
}

.spk-counter-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: #168458;
    transition: width 0.45s ease;
}

.spk-counter-label {
    font-family: 'Cinzel', serif;
    font-size: 0.82rem;
    letter-spacing: 0.1em;
    color: rgba(240, 245, 242, 0.55);
    min-width: 48px;
}

.spk-counter-label.current {
    color: #1eaa72;
    text-align: right;
    font-size: 1.1rem;
}

@media (max-width: 900px) {
    .speakers-inner {
        padding: 0 24px;
    }

    .spk-img-zone {
        height: 260px;
    }

    .owl-nav {
        left: -10px;
        right: -10px;
    }
}



@media (max-width: 991px) {
    .about-collage {
        grid-template-rows: repeat(6, 70px);
        margin-bottom: 30px;
    }
}

@media (max-width: 575px) {
    .about-collage {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(4, 80px);
        gap: 8px;
    }

    .about-collage-item--1 {
        grid-column: 1 / span 4;
        grid-row: 1 / span 2;
    }

    .about-collage-item--2 {
        grid-column: 1 / span 2;
        grid-row: 3 / span 1;
    }

    .about-collage-item--3 {
        grid-column: 3 / span 2;
        grid-row: 3 / span 1;
    }

    .about-collage-item--4 {
        grid-column: 1 / span 2;
        grid-row: 4 / span 1;
    }

    .about-collage-item--5 {
        grid-column: 3 / span 2;
        grid-row: 4 / span 1;
    }
}

@media (max-width: 768px) {
    .spk-img-zone {
        height: auto;
    }

    .filter-group {
        flex: 100px !important;
        width: 100%;
    }

    .btn-filter {
        font-size: 13px;
    }

    .tp-about-area .capsule {
        opacity: 0.2;
    }

    .conference_exp_grid {
        grid-template-columns: 1fr;
        padding: 0 15px;
    }

    .conference_exp_card {
        transform: perspective(1000px) rotateY(10deg) translateX(-30px);
    }

    .conference_exp_card.conference_exp_active {
        transform: perspective(1000px) rotateY(0deg) translateX(0);
    }

    .conference_exp_section {
        padding: 80px 0;
    }
}

/* Gold shimmer bar at bottom */
.conferen_stat::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #158458, transparent);
    transform: scaleX(0);
    transition: transform 0.4s ease;
    z-index: 1;
}

.conferen_stat:hover::after {
    transform: scaleX(1);
}

/* Content */
.conferen_stat .stat-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px 26px;
    z-index: 2;
}

.conferen_stat .stat-number {
    font-family: 'Inter';
    font-size: 39px;
    font-weight: 900;
    line-height: 1;
    color: #fff;
    transition: color 0.3s ease;
}

.conferen_stat:hover .stat-number {
    color: var(--gold-light);
}

.stat-plus {
    color: var(--gold);
    font-size: 0.65em;
    vertical-align: super;
}

.conferen_stat .stat-label {
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    margin-top: 6px;
    transition: color 0.3s ease;
}

.conferen_stat:hover .stat-label {
    color: #fff;
}

/* Corner tag */
.conferen_stat .stat-tag {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(201, 168, 76, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    letter-spacing: 0.05em;
    color: var(--gold);
    opacity: 0;
    transform: scale(0.7);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 2;
}

.conferen_stat:hover .stat-tag {
    opacity: 1;
    transform: scale(1);
}

/* ── Divider ── */
.gold-divider {
    width: 60px;
    height: 2px;
    background: var(--gold);
    margin: 0 auto 50px;
}

/* ── Unique background image per conferen_stat ── */
.conferen_stat-1 {
    background-image: url('../../images/summit_image.jpg');
}

.conferen_stat-2 {
    background-image: url('../images/informative-sessions.webp');
}

.conferen_stat-3 {
    background-image: url('../../images/350.JPG');
}

.conferen_stat-4 {
      background-image: url('../../images/glimpses/19.jpg');
}

.conferen_stat-5 {
    background-image: url('../../images/knowledge-pav.jpg');
}

.conferen_stat-6 {
     background-image: url('../../images/2027.webp');
}

.conferen_stat-7 {
    background-image: url('../../images/three_bg.JPG');
}





#contact {
    background: url(../images/bg-contactbg1.png);
    background-size: cover;
    background-position: center;
    padding: 60px 0;
}

.wrap-contas {
    text-align: center;
    padding-top: 33px;
    padding-bottom: 23px;
}

.wrap-contas h2 {
    color: white;
}

header {
    position: relative;
    background: white;
    z-index: 9999;
}

a.header-style-twelev__call.text-decoration-none img {
    background: #193c6a;
    padding: 6px;
    width: 33px;
    border-radius: 50px;
    position: absolute;
    left: 0px;
    top: 8px;
}

.tp-header-btn.d-none.d-sm-inline-block {
    display: inline-flex !important;
}

a.header-style-twelev__call.text-decoration-none {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    padding-left: 50px;
    margin-left: 14px;
    color: white;
}

.blink {
    /* width: 10%; */
    font-size: 16px;
    color: black;
    animation: blink 1s linear infinite;
    height: 21px;
    /* padding: 15px; */
    text-align: center;
    /* line-height: 50px; */
}

span.header-style-twelev__call__number {
    color: black;
}


@keyframes blink {
    0% {
        opacity: 0;
    }

    50% {
        opacity: .5;
    }

    100% {
        opacity: 1;
    }
}

.cont-grid {
    width: 100%;
    background: linear-gradient(45deg, #009f69, #0b336f);
    padding: 10px 10px;
    margin: 0px 0px 0px 10px;
    text-align: center;
    display: inline-grid;
    align-items: center;
    height: 192px;
}

.cont-grid img {
    width: 45px;
    height: 45px;
    margin: 13px 0px 18px;
    object-fit: contain;
}

#speakers .tp-team-it-content {
    line-height: 8px;
    background: #01203F;
    padding: 10px;
    border-radius: 0 0 3px 3px;
    min-height: 175px;
}

#speakers .tp-team-it-content h4 img {
    width: 70px;
    filter: brightness(0) invert(1);
}

.speciallog {
    width: 19% !important;
}

.modal-content {
    text-align: center;
    padding: 19px;
    background: #042045;
    border-radius: 15px;
    border: 1px dashed white;
}

.off_percent {
    font-family: "Philosopher", sans-serif;
    font-size: 50px;
    font-weight: 300;
    color: white;
}

.off_modal p {
    font-size: 17px;
    color: #fff;
    line-height: 26px;
}

.off_modal h3 {
    text-transform: uppercase;
    font-weight: 700;
    margin: 20px 0 7px;
    font-size: 16px;
    color: #fffbf3;
    font-family: 'Poppins';
}

button.btn-offer.px-4.py-2 {
    background: #01a06a;
    color: white;
    border-radius: 19px;
    border: 2px solid white;
}

.close-icon {
    position: absolute;
    top: 0rem;
    right: 0rem;
    font-size: 19px;
    color: #000;
    cursor: pointer;
    background: #ffffffe3;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    line-height: 20px;
    font-weight: 800;
}

.countdown-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 30px;
    background: #ffffff;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    margin: 0 0.25rem;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    min-width: 90px;
    font-weight: 700;
    color: #53904e;
    font-family: 'Cairo';
}

.countdown-label {
    font-size: 14px;
}

body.modal-open {
    overflow: auto !important;
}

img.clander {
    width: 31px !important;
    padding-right: 3px;
}

.awrdsbanner img {
    width: 450px;
    margin: 0 0 30px;
}

video#awardsvideos {
    position: absolute;
    overflow: hidden;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: 100%;
    object-fit: cover;
    /* transform: translateX(-50%) translateY(-50%); */
    z-index: -10;
    top: 0px;
}







/* AGENDA PAGE CSS */
.agenda-section {
    background: linear-gradient(135deg, #021B3A, #012147);
    padding: 80px 0;
    text-align: center;
    color: white;
}

.agenda-title {
    font-size: 64px;
    font-weight: 700;
    color: #1ED760;
    margin-bottom: 30px;
}

.agenda-btn-download {
    background: #1ED760;
    border: none;
    padding: 12px 28px;
    font-weight: 600;
    border-radius: 6px;
    margin-bottom: 40px;
}

.agenda-btn-download:hover {
    background: #18c653;
}

.agenda-tabs .nav-link {
    background: #e9ecef85;
    color: #555;
    font-weight: 500;
    border-radius: 8px;
    margin: 0 10px;
    padding: 12px 24px;
}

.agenda-tabs .nav-link.active {
    background: white;
    color: black;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.agenda-card {
    background: white;
    color: #333;
    border-radius: 10px;
    padding: 20px;
    margin-top: 30px;
    text-align: left;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

.agenda-time {
    font-weight: 600;
    color: #1ED760;
}

.agenda-card {
    /* background-color: #2AD36D; */
    border-radius: 8px;
    padding: 5px;
    margin-bottom: 1.5rem;
    background: linear-gradient(to right, #01a06a, transparent);
}

.agenda-time {
    font-weight: bold;
    color: #fff;
    margin-bottom: 5px;
    margin-left: 18px;
    text-transform: uppercase;
}

.agenda-inner {
    background-color: white;
    border-radius: 6px;
    padding: 1rem;
}

.agenda-inner p,
.agenda-inner ul li {
    font-size: 15px;
    line-height: 1.6;
    color: #242424;
    list-style: circle;
    font-family: 'Inter';
    font-weight: 400;
}

.agenda-inner .agenda-title,
.agenda-inner ul {
    margin-bottom: 0px;
}

.agenda-inner ul {
    padding-left: 20px;
}

/* END HERE */


.awards_about .award_image {
    text-align: center;
}

.awards_about .award_image img {
    width: 100%;
    max-width: 460px;
    height: auto;
    min-height: 520px;
    object-fit: contain;
}

@media (max-width: 991px) {
    .awards_about .award_image img {
        min-height: 420px;
        max-width: 380px;
    }
}

@media (max-width: 575px) {
    .awards_about .award_image img {
        min-height: 320px;
        max-width: 300px;
    }
}

.awrdsbanner {
    text-align: center;
    padding: 75px 59px 40px 72px;
}

.bannner-awards {
    padding: 180px 0 120px;
}

.bannner-awards .wrap-awrdstrp {
    margin-top: 30px;
}

@media (max-width: 991px) {
    .bannner-awards {
        padding: 140px 0 90px;
    }

    .awrdsbanner {
        padding: 40px 20px 30px;
    }
}

@media (max-width: 575px) {
    .bannner-awards {
        padding: 110px 0 70px;
    }

    .awrdsbanner {
        padding: 20px 10px 20px;
    }
}

.past_partner {
    /* background-image: url(https://cdn.prod.website-files.com/672b5da…/6739ac0…_Section%20Bg.png); */
    padding: 60px 0;
    background-color: #0d0b3e;
}

.past_partner h2 {
    color: white;
    padding-bottom: 35px;
    text-align: center;
    font-size: 40px;
}



.past_partner .item img {
    max-width: 150px;

}

.past_partner .item {
    background: #fff;
    text-align: center;
    padding: 10px;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px, rgba(17, 17, 26, 0.1) 0px 8px 24px, rgba(17, 17, 26, 0.1) 0px 16px 48px;
    min-height: 113px;
    display: flex;
    border-radius: 5px;
    align-items: center;
    justify-content: center;
}

.logo-track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation: slideLTR 25s linear infinite;
    padding: 24px;
    border-radius: 20px;
}

.logo-track img {
    height: auto;
    width: 220px;
    object-fit: contain;
    transition: 0.3s ease;
    background: #fff;
    padding: 10px;
    border-radius: 20px;
}

.logo-track img:hover {
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* LEFT → RIGHT */
@keyframes slideLTR {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

.logo-slider {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.logo-track {
    display: flex;
    align-items: center;
    gap: 60px;
    width: calc(200%);
    /* KEY FIX */
    animation: marquee 25s linear infinite;
}

.logo-track img {
    height: 150px;
    flex-shrink: 0;
    object-fit: contain;
}

/* SEAMLESS CONTINUOUS SCROLL */
@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

#mainvideos {
    text-align: center;
    padding: 60px 0;
}

@media (max-width: 991px) {
    #mainvideos {
        padding: 140px 0 90px;
    }
}

@media (max-width: 575px) {
    #mainvideos {
        padding: 110px 0 70px;
    }
}

.cut a {
    background: #e1c66c;
    color: black;
}

.tp-header-btn.cut {
    margin-top: 41px;
}

.evaluation_framework {
    background: #f8f9fb;
    padding: 72px 0 80px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    border-top: 1px solid #e4e8ef;
}

/* ── Header ── */
.ef-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #0f6b8a;
    margin-bottom: 14px;
}

.ef-tag::before {
    content: '';
    width: 18px;
    height: 1.5px;
    background: #0f6b8a;
}

.ef-heading {
    font-family: 'Fraunces', serif;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 600;
    color: #0d1f2d;
    line-height: 1.15;
    margin-bottom: 0;
}

.ef-heading em {
    font-style: italic;
    font-weight: 300;
    color: #0f6b8a;
}

/* ── Divider ── */
.ef-divider {
    width: 32px;
    height: 2px;
    background: #0f6b8a;
    margin: 22px 0 32px;
}

/* ── Step row ── */
.ef-step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid #e4e8ef;
    transition: background 0.2s;
}

.ef-step:first-child {
    border-top: 1px solid #e4e8ef;
}

.ef-step-num {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid #c8d8e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 600;
    color: #0f6b8a;
    margin-top: 1px;
}

.ef-step-title {
    font-weight: 600;
    margin-bottom: 2px;
    font-family: "National Park", sans-serif;
    font-size: 16px;
    color: #000;
    line-height: 28px;
}

.ef-step-desc {
    font-size: 16px;
    font-weight: 300;
    color: #000000;
    margin: 0;
    line-height: 1.6;
}

.nomination_process {
    background: url('https://pharma.eletsonline.com/leadership/assets/images/chandi-bg-blue.webp');
    background-position: center;
    background-attachment: fixed;
    padding: 76px 0 84px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    border-top: 1px solid #e4e8ef;
    overflow: hidden;
    position: relative;
    background-size: cover;
}


/* subtle background cross-hatch */
.nomination_process::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, black, transparent);
    pointer-events: none;
    width: 100%;
    height: 100%;
}

/* ── Header ── */
.np-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.67rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #0f6b8a;
    margin-bottom: 12px;
}

.np-tag::before {
    content: '';
    width: 18px;
    height: 1.5px;
    background: #0f6b8a;
    display: block;
}

.np-heading {
    font-family: 'Space Grotesk';
    font-size: 40px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.15;
    margin-bottom: 10px;
}

.np-heading em {
    font-style: italic;
    font-weight: 300;
    color: #0f6b8a;
}

.np-sub {
    font-size: 16px;
    font-weight: 300;
    color: #ffffff;
    margin-bottom: 0;
}

.np-divider {
    width: 32px;
    height: 2px;
    background: #0f6b8a;
    margin: 20px 0 0;
}

/* ══════════════════════════════════════
       INFOGRAPHIC FLOW
    ══════════════════════════════════════ */
.np-flow {
    margin-top: 56px;
    position: relative;
}

/* horizontal connector line (desktop) */
.np-connector {
    position: absolute;
    top: 36px;
    left: calc(16.666% + 36px);
    right: calc(16.666% + 36px);
    height: 1.5px;
    background: linear-gradient(90deg, #c8dce6, #0f6b8a 50%, #c8dce6);
    z-index: 0;
}

/* dashed sections between nodes */
.np-connector::before,
.np-connector::after {
    content: '';
    position: absolute;
    top: -1px;
    width: 30%;
    height: 3px;
    background: repeating-linear-gradient(90deg, #0f6b8a 0, #0f6b8a 6px, transparent 6px, transparent 14px);
}

.np-connector::before {
    left: 0;
}

.np-connector::after {
    right: 0;
}

/* ── Step card ── */
.np-step {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 12px;
    opacity: 0;
    animation: npFade 0.55s ease forwards;
}

.np-step:nth-child(2) {
    animation-delay: 0.12s;
}

.np-step:nth-child(3) {
    animation-delay: 0.24s;
}

.np-step:nth-child(4) {
    animation-delay: 0.36s;
}

/* circle node */
.np-node {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #c8dce6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 24px;
    position: relative;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
    flex-shrink: 0;
    margin-top: -21px;
}

.np-step:hover .np-node {
    border-color: #0f6b8a;
    box-shadow: 0 0 0 6px rgba(15, 107, 138, 0.08);
    transform: translateY(-3px);
}

/* active fill on hover */
.np-node::after {
    content: '';
    position: absolute;
    inset: 6px;
    border-radius: 50%;
    background: rgba(15, 107, 138, 0);
    transition: background 0.25s;
}

.np-step:hover .np-node::after {
    background: rgba(15, 107, 138, 0.06);
}

.np-node svg {
    width: 26px;
    height: 26px;
    stroke: #0f6b8a;
    fill: none;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    position: relative;
    z-index: 1;
}

.np-step-label {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 8px;
    font-family: 'Space Grotesk';
}

.np-step-title {
    font-family: 'Inter';
    font-size: 19px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.3;
    margin: 30px 0 0;
}

.np-step-desc {
    font-size: 16px;
    font-weight: 300;
    color: #f9f9f9;
    line-height: 1.7;
    max-width: 220px;
    font-family: 'Space Grotesk';
}

/* arrow between steps (mobile) */
.np-arrow-mobile {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 6px 0;
}

.np-arrow-mobile svg {
    width: 18px;
    height: 18px;
    stroke: #0f6b8a;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .np-connector {
        display: none;
    }

    .np-step {
        flex-direction: row;
        text-align: left;
        align-items: flex-start;
        padding: 0;
        gap: 18px;
    }

    .np-node {
        width: 56px;
        height: 56px;
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .np-node svg {
        width: 20px;
        height: 20px;
    }

    .np-step-desc {
        max-width: 100%;
    }

    .np-arrow-mobile {
        display: flex;
        padding-left: 28px;
    }

    .np-flow {
        margin-top: 36px;
    }

    .np-flow .row {
        gap: 0;
    }

    .np-flow .col-md-4 {
        padding-bottom: 0;
    }
}

/* ── Keyframes ── */
@keyframes npFade {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Section label ── */
.ef-section-label {
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #a0b0be;
    margin-bottom: 16px;
    margin-top: 40px;
}

/* ── Criteria pills ── */
.ef-criteria-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ef-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px 8px 10px;
    background: #fff;
    border: 1px solid #dde4ed;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 500;
    color: #1e3a4f;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
    cursor: default;
}

.ef-pill:hover {
    border-color: #0f6b8a;
    box-shadow: 0 2px 12px rgba(15, 107, 138, 0.10);
    transform: translateY(-1px);
}

.ef-pill-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0f6b8a;
    flex-shrink: 0;
}

/* ── Footer note ── */
.ef-note {
    margin-top: 32px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #dde4ed;
    border-left: 3px solid #0f6b8a;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ef-note svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    stroke: #0f6b8a;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ef-note p {
    font-size: 0.80rem;
    font-weight: 400;
    color: #6b7e8f;
    margin: 0;
    line-height: 1.6;
}

.ef-note strong {
    color: #0d1f2d;
    font-weight: 600;
}

/* ── Fade-in ── */
.ef-fade {
    opacity: 0;
    transform: translateY(12px);
    animation: efIn 0.5s ease forwards;
}

.ef-fade:nth-child(1) {
    animation-delay: 0.05s;
}

.ef-fade:nth-child(2) {
    animation-delay: 0.12s;
}

.ef-fade:nth-child(3) {
    animation-delay: 0.19s;
}

.ef-fade:nth-child(4) {
    animation-delay: 0.26s;
}

.ef-fade:nth-child(5) {
    animation-delay: 0.33s;
}

.ef-fade:nth-child(6) {
    animation-delay: 0.40s;
}

@keyframes efIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wrap-awsd .accordion {
    background: linear-gradient(45deg, #01a06a, #030416);
    font-family: 'Kanit';
    cursor: pointer;
    padding: 18px;
    color: white;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 20px;
    transition: 0.4s;
    border-radius: 18px;
}

.wrap-awsd {
    margin-bottom: 24px;
}

.wrap-awsd .active,
.accordion:hover {
    background-color: #ccc;
}

.wrap-awsd .accordion:after {
    content: '\002B';
    color: #777;
    font-weight: bold;
    float: right;
    margin-left: 5px;
}

.wrap-awsd .active:after {
    content: "\2212";
}

.wrap-awsd .panel {
    padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

section#categorylist {
    background: #000010;
    padding: 59px;
}

.wap-awrtte h2 {
    color: white;
    text-align: center;
    font-size: 31px;
    padding-bottom: 35px;
}

/* ===== Solid Dark Nav ===== */

/* Nav floats over hero — no body offset on desktop */
body {
    padding-top: 0;
}

/* On mobile/tablet (<1200px), push content below the fixed mobile nav so it doesn't overlap the hero */
@media (max-width: 1199.98px) {
    body {
        padding-top: 66px;
    }
}

/* Base nav — solid dark navy */
.glassmorphism-header {
    background: rgba(1, 60, 138, 0.95) !important;
    border-bottom: 2px solid rgba(1, 160, 106, 0.40);
    box-shadow: 0 2px 24px rgba(0, 0, 0, 0.50);
    transition: all 0.3s ease;
}

.glassmorphism-header .tp-header-it-bg {
    background: transparent !important;
    padding: 6px 24px 6px 28px;
}

/* Nav links */
.glassmorphism-header .tp-main-menu-it>nav>ul>li>a {
    color: rgba(255, 255, 255, 0.90);
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.4px;
    transition: color 0.25s ease;
    position: relative;
    padding-bottom: 6px;
}

/* Underline on hover */
.glassmorphism-header .tp-main-menu-it>nav>ul>li>a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: #01a06a;
    transition: width 0.3s ease, left 0.3s ease;
    border-radius: 2px;
}

.glassmorphism-header .tp-main-menu-it>nav>ul>li>a:hover::after,
.glassmorphism-header .tp-main-menu-it>nav>ul>li.active>a::after {
    width: 80%;
    left: 10%;
}

.glassmorphism-header .tp-main-menu-it>nav>ul>li>a:hover {
    color: #01a06a;
}

/* Logo */
.glassmorphism-header .tp-header-logo img {
    filter: brightness(1.1);
    transition: opacity 0.3s ease;
}

.glassmorphism-header .tp-header-logo img:hover {
    opacity: 0.80;
}

/* Dropdown */
.glassmorphism-header .tp-submenu.submenu {
    background: #013c8a !important;
    border: 1px solid rgba(1, 160, 106, 0.25);
    border-radius: 8px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
    overflow: hidden;
}

.glassmorphism-header .tp-submenu.submenu li a {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 14px;
    transition: all 0.25s ease;
    padding: 10px 20px;
}

.glassmorphism-header .tp-submenu.submenu li a:hover {
    color: #01a06a !important;
    background: rgba(1, 160, 106, 0.10) !important;
    padding-left: 26px;
}

/* Sticky state — same solid style, slightly more opaque */
.header-sticky.glassmorphism-header {
    background: rgb(1, 60, 138) !important;
    border-bottom: 2px solid rgba(1, 160, 106, 0.50);
    box-shadow: 0 4px 28px rgba(0, 0, 0, 0.60);
}

/* Mobile nav */
@media (max-width: 1199px) {
    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none {
        background: #013c8a !important;
        border-bottom: 2px solid rgba(1, 160, 106, 0.35);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .nav-link,
    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .navbar-nav a {
        color: rgba(255, 255, 255, 0.88) !important;
        font-size: 15px;
        padding: 10px 16px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .nav-link:hover {
        color: #01a06a !important;
        background: rgba(1, 160, 106, 0.08);
        border-radius: 6px;
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .navbar-toggler {
        border-color: rgba(1, 160, 106, 0.60);
        background: rgba(1, 160, 106, 0.10);
        padding: 6px 10px;
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .navbar-toggler:focus {
        box-shadow: 0 0 0 3px rgba(1, 160, 106, 0.30);
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .navbar-toggler-icon {
        filter: none;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2301a06a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .dropdown-menu {
        background: #013c8a !important;
        border: 1px solid rgba(1, 160, 106, 0.20);
        border-radius: 8px;
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .dropdown-item {
        color: rgba(255, 255, 255, 0.80) !important;
    }

    nav.navbar.navbar-expand-xl.navbar-light.bg-mob-nav.d-xl-none .dropdown-item:hover {
        background: rgba(1, 160, 106, 0.12) !important;
        color: #01a06a !important;
    }
}

/* Mobile nav — slide-in offcanvas sidebar */
.mobile-nav-offcanvas {
    background: #013c8a !important;
    color: #fff;
    width: 320px !important;
    max-width: 85vw;
    border-left: 2px solid rgba(1, 160, 106, 0.35);
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.5);
    font-family: 'Inter', sans-serif;
}

.mobile-nav-offcanvas .nav-link,
.mobile-nav-offcanvas .navbar-nav a,
.mobile-nav-offcanvas .dropdown-item {
    font-family: 'Inter', sans-serif;
}

.mobile-nav-offcanvas .offcanvas-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 18px 22px;
    background: linear-gradient(180deg, rgba(1, 160, 106, 0.10) 0%, rgba(5, 14, 32, 0) 100%);
}

.mobile-nav-offcanvas .btn-close {
    width: 36px;
    height: 36px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
    opacity: 1;
    filter: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.mobile-nav-offcanvas .btn-close:hover,
.mobile-nav-offcanvas .btn-close:focus {
    background-color: rgba(1, 168, 111, 0.28);
    border-color: rgba(46, 238, 181, 0.55);
    transform: rotate(90deg);
    box-shadow: 0 4px 14px rgba(1, 168, 111, 0.32);
    outline: none;
}

.mobile-nav-offcanvas .offcanvas-body {
    padding: 12px 16px 32px;
}

.mobile-nav-offcanvas .navbar-nav {
    width: 100%;
    flex-direction: column;
}

.mobile-nav-offcanvas .nav-link,
.mobile-nav-offcanvas .navbar-nav a {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 15px;
    font-weight: 500;
    padding: 12px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 0;
    transition: background 0.2s ease, color 0.2s ease, padding 0.2s ease;
}

.mobile-nav-offcanvas .nav-link:hover,
.mobile-nav-offcanvas .nav-link:focus {
    color: #01a06a !important;
    background: rgba(1, 160, 106, 0.10);
    padding-left: 22px !important;
}

.mobile-nav-offcanvas .dropdown-menu {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(1, 160, 106, 0.20);
    border-radius: 8px;
    margin: 4px 0 8px;
    padding: 6px;
    width: 100%;
    position: static !important;
    transform: none !important;
}

.mobile-nav-offcanvas .dropdown-item {
    color: rgba(255, 255, 255, 0.80) !important;
    padding: 9px 14px !important;
    border-radius: 6px;
    border-bottom: none !important;
}

.mobile-nav-offcanvas .dropdown-item:hover,
.mobile-nav-offcanvas .dropdown-item:focus {
    background: rgba(1, 160, 106, 0.18) !important;
    color: #2eeeb5 !important;
}

.offcanvas-backdrop.show {
    opacity: 0.6;
}

/* ===== 3D Hero Redesign ===== */

/* ---- Hero: full-bleed glass panel (40px inset on all sides) ---- */

/* Hero area must be the positioning context and have a min-height */
.tp-hero-area {
    position: relative !important;
    min-height: 100vh;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Flatten container / row so they don't clip the absolute card */
.tp-hero-area .container {
    max-width: 100% !important;
    padding: 0 !important;
    position: static !important;
    width: 100% !important;
}

.tp-hero-area .row.main-contents {
    position: static !important;
    top: auto !important;
    margin: 0 !important;
}

.tp-hero-area .col-xxl-12,
.tp-hero-area .col-xl-12,
.tp-hero-area .col-lg-12 {
    padding: 0 !important;
}

/* Hero content — sits on top of the video overlay, no glass card */
.tp-hero-it-content.mb-40 {
    position: absolute !important;
    top: 40px !important;
    left: 40px !important;
    right: 40px !important;
    bottom: 40px !important;
    width: auto !important;
    min-width: unset !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    padding: 60px 80px !important;
    z-index: 2;
    background: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0;
}

/* Logo — entrance + subtle hover lift */
.tp-hero-it-content.mb-40 img.hero-logo {
    filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.55)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.40));
    transition: filter 0.4s ease, transform 0.4s ease;
    animation: hero-fade-down 0.7s ease both 0.1s;
}

.tp-hero-it-content.mb-40:hover img.hero-logo {
    filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.60)) drop-shadow(0 3px 8px rgba(1, 160, 106, 0.30));
    transform: translateY(-3px);
}

/* Buttons entrance */
.hero-cta-btns {
    animation: hero-fade-up 0.7s ease both 0.85s;
}

/* Subtitle — container: gentle float */
.tp-hero-it-subtitle {
    display: block;
    font-family: 'National Park', sans-serif;
    font-size: 28px;
    font-weight: 600;
    text-transform: uppercase;
    margin: 14px 0 0 0;
    animation: hero-float 4s ease-in-out 1.5s infinite;
}

/* Background only on the highlighted portion */
.subtitle-hl {
    display: inline;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 2px;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 4px 10px;
    border-radius: 6px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

@keyframes hero-float {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-7px);
    }
}

/* Entrance animations */
@keyframes hero-fade-up {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes hero-fade-down {
    from {
        opacity: 0;
        transform: translateY(-22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 3D CTA buttons – raised slab with press physics */
a.hero-btn {
    position: relative;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

a.hero-btn-primary {
    background: linear-gradient(90deg, #2bbde6 0%, #2ec1a8 100%);
    border: none;
    box-shadow: 0 6px 0 #1a7d8a, 0 8px 22px rgba(43, 189, 230, 0.52), inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

a.hero-btn-primary:hover {
    background: linear-gradient(90deg, #21a8cf 0%, #22a48d 100%);
    transform: translateY(-4px);
    box-shadow:
        0 10px 0 #145e6a,
        0 14px 30px rgba(43, 189, 230, 0.62),
        inset 0 1px 0 rgba(255, 255, 255, 0.26);
    color: #fff;
}

a.hero-btn-primary:active {
    transform: translateY(4px);
    box-shadow:
        0 2px 0 #145e6a,
        0 4px 10px rgba(43, 189, 230, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

a.hero-btn-secondary {
    background: linear-gradient(180deg, #6464f4 0%, #013c8a 55%, #122d52 100%);
    border: none;
    box-shadow:
        0 6px 0 #0a1d35,
        0 8px 22px rgba(25, 60, 106, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

a.hero-btn-secondary:hover {
    background: linear-gradient(180deg, #3060a8 0%, #1e4878 55%, #193c6a 100%);
    transform: translateY(-4px);
    box-shadow:
        0 10px 0 #0a1d35,
        0 14px 30px rgba(25, 60, 106, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    color: #fff;
}

a.hero-btn-secondary:active {
    transform: translateY(4px);
    box-shadow:
        0 2px 0 #0a1d35,
        0 4px 10px rgba(25, 60, 106, 0.38);
}

a.hero-btn-outline {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.06) 100%);
    border: 1px solid rgba(255, 255, 255, 0.60);
    border-top-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow:
        0 6px 0 rgba(0, 0, 0, 0.38),
        0 8px 22px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

a.hero-btn-outline:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.14) 100%);
    transform: translateY(-4px);
    box-shadow:
        0 10px 0 rgba(0, 0, 0, 0.38),
        0 14px 30px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
    color: #fff;
}

a.hero-btn-outline:active {
    transform: translateY(4px);
    box-shadow:
        0 2px 0 rgba(0, 0, 0, 0.38),
        0 4px 10px rgba(0, 0, 0, 0.25);
}

@media (max-width: 768px) {
    .tp-hero-area {
        min-height: 100vh;
    }

    .tp-hero-it-content.mb-40 {
        top: 16px !important;
        left: 16px !important;
        right: 16px !important;
        bottom: 16px !important;
        padding: 32px 24px !important;
        border-radius: 16px;
    }

    .tp-hero-it-subtitle {
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.5;
    }

    .subtitle-hl {
        font-size: 18px;
        letter-spacing: 1.2px;
        padding: 2px 6px;
        line-height: 1.7;
        background: rgba(255, 255, 255, 0.12);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        border-radius: 4px;
    }
}

/* ── Hero title: word-by-word reveal ───────────────────────────────── */
.hero-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(22px);
    background: linear-gradient(100deg,
            rgba(255, 255, 255, 0.88) 0%,
            rgba(255, 255, 255, 0.88) 30%,
            rgba(160, 245, 215, 1) 44%,
            rgba(255, 255, 255, 1) 50%,
            rgba(160, 245, 215, 1) 56%,
            rgba(255, 255, 255, 0.88) 70%,
            rgba(255, 255, 255, 0.88) 100%);
    background-size: 300% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation:
        hero-word-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both,
        hero-text-shine 5s linear 1.5s infinite;
}

@keyframes hero-word-in {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Highlighted words — same entrance, no 3D transform */
.subtitle-hl .hero-word {
    animation:
        hero-word-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both,
        hero-text-shine 5s linear 1.5s infinite;
}

@keyframes hero-text-shine {
    0% {
        background-position: 200% center;
    }

    100% {
        background-position: -100% center;
    }
}

/* ── Hero date / location — two separate rows ──────────────────────── */
.hero-date-location {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 5px 0;
}

.hero-date-item,
.hero-location-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.4px;
    line-height: 1.4;
}

.hero-date-item {
    animation: hero-fade-up 0.7s ease both 0.65s;
}

.hero-location-item {
    animation: hero-fade-up 0.7s ease both 0.80s;
}

.hero-date-item i,
.hero-location-item i {
    font-size: 15px;
    color: #02c47f;
    flex-shrink: 0;
}

/* ── Responsive tweaks ─────────────────────────────────────────────── */
@media (max-width: 768px) {

    .hero-date-item,
    .hero-location-item {
        font-size: 13px;
    }
}

/* ══════════════════════════════════════════════
   HERO COUNTDOWN — bottom right glass card
══════════════════════════════════════════════ */
.hero-countdown {
    position: absolute;
    right: 40px;
    bottom: 40px;
    z-index: 3;
    padding: 18px 22px 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(25, 60, 106, 0.42) 0%, rgba(2, 196, 127, 0.18) 100%);
    backdrop-filter: blur(16px) saturate(140%);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-top-color: rgba(255, 255, 255, 0.42);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    color: #fff;
    max-width: 520px;
    animation:
        hero-fade-up 0.8s ease both 1s,
        hcd-card-breath 5s ease-in-out 1.9s infinite;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    will-change: transform, box-shadow;
}

.hero-countdown:hover {
    transform: translateY(-3px);
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.24),
        0 0 36px 4px rgba(43, 189, 230, 0.22);
}

@keyframes hcd-card-breath {

    0%,
    100% {
        box-shadow:
            0 14px 38px rgba(0, 0, 0, 0.34),
            inset 0 1px 0 rgba(255, 255, 255, 0.18),
            0 0 0 0 rgba(43, 189, 230, 0);
    }

    50% {
        box-shadow:
            0 14px 38px rgba(0, 0, 0, 0.34),
            inset 0 1px 0 rgba(255, 255, 255, 0.18),
            0 0 30px 3px rgba(43, 189, 230, 0.20);
    }
}

.hero-countdown-grid {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 8px;
}

.hcd-unit {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    padding: 8px 8px 7px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    perspective: 600px;
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.hcd-unit::before {
    display: none;
}

.hero-countdown:hover .hcd-unit {
    transform: translateY(-2px);
}

.hero-countdown:hover .hcd-unit::before {
    animation: none;
}

@keyframes hcd-sheen {
    0% {
        left: -120%;
    }

    100% {
        left: 160%;
    }
}

.hcd-num {
    display: inline-block;
    font-family: 'Special Gothic Condensed One', 'National Park', sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    letter-spacing: 1.4px;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
    transform-origin: 50% 50%;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform, opacity;
}

.hcd-num.is-flip-out {
    animation: hcd-flip-out 0.22s cubic-bezier(0.55, 0.05, 0.68, 0.19) forwards;
}

.hcd-num.is-flip-in {
    animation: hcd-flip-in 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes hcd-flip-out {
    0% {
        transform: rotateX(0deg);
        opacity: 1;
    }

    100% {
        transform: rotateX(-90deg);
        opacity: 0.25;
    }
}

@keyframes hcd-flip-in {
    0% {
        transform: rotateX(90deg);
        opacity: 0.25;
    }

    60% {
        transform: rotateX(-14deg);
        opacity: 1;
    }

    100% {
        transform: rotateX(0deg);
        opacity: 1;
    }
}

.hcd-lbl {
    font-family: 'National Park', sans-serif;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.82);
}

.hcd-sep {
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.45);
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    padding-bottom: 18px;
    animation: hcd-sep-blink 1s ease-in-out infinite;
}

@keyframes hcd-sep-blink {

    0%,
    100% {
        opacity: 1;
        transform: scaleY(1);
    }

    50% {
        opacity: 0.35;
        transform: scaleY(0.7);
    }
}

@media (prefers-reduced-motion: reduce) {

    .hero-countdown,
    .hcd-num.is-flip-out,
    .hcd-num.is-flip-in,
    .hcd-sep,
    .hcd-unit::before {
        animation: none !important;
    }

    .hero-countdown {
        transition: none;
    }
}

.hero-countdown-sub {
    font-family: 'National Park', sans-serif;
    font-size: 12.5px;
    font-style: italic;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.88);
    margin: 12px 0 0 0;
    line-height: 1.45;
    text-align: center;
    letter-spacing: 0.3px;
}

@media (max-width: 1199px) {
    .hero-countdown {
        right: 24px;
        bottom: 24px;
        padding: 14px 16px 12px;
    }

    .hcd-unit {
        min-width: 58px;
        padding: 7px 6px 6px;
    }

    .hcd-num {
        font-size: 26px;
    }

    .hcd-lbl {
        font-size: 9px;
        letter-spacing: 1.3px;
    }

    .hero-countdown-sub {
        font-size: 11.5px;
    }
}

@media (max-width: 768px) {
    .hero-countdown {
        position: absolute;
        left: 16px;
        right: 16px;
        bottom: 16px;
        top: auto;
        max-width: none;
        margin: 0;
        padding: 10px 12px 9px;
    }

    .hero-countdown-grid {
        gap: 4px;
    }

    .hcd-unit {
        min-width: 0;
        flex: 1;
        padding: 5px 4px;
    }

    .hcd-num {
        font-size: 18px;
        letter-spacing: 0.6px;
    }

    .hcd-lbl {
        font-size: 8px;
        letter-spacing: 0.8px;
        margin-top: 3px;
    }

    .hcd-sep {
        font-size: 14px;
        padding-bottom: 14px;
    }

    .hero-countdown-sub {
        font-size: 10.5px;
        margin-top: 7px;
    }
}

@media (max-width: 575.98px) {
    .hero-countdown-sub {
        display: none;
    }

    .hero-countdown {
        padding: 8px 10px;
    }

    .hcd-num {
        font-size: 16px;
    }
}

/* ══════════════════════════════════════════════
   KEY NUMBERS STRIP
══════════════════════════════════════════════ */
.key-numbers-strip {
    background: linear-gradient(45deg, #193c6a, #2ec5e5) center top / cover no-repeat fixed;
    padding: 0;
    position: relative;
    z-index: 1;
}

.key-numbers-strip:before {
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    position: absolute;
    background-repeat: repeat;
    background-position: left top;
    background-size: 256.00px auto;
    background-image: url(https://framerusercontent.com/images/6mcf62RlDfRfU61Yg5vb2pefpi4.png);
    opacity: 0.09;
}

.key-numbers-inner {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: nowrap;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Individual stat card ── */
.kn-item {
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: left;
    padding: 24px 20px;
    gap: 16px;
    position: relative;
    transition: transform 0.25s ease, background 0.25s ease;
    cursor: default;
}

.kn-item:not(.kn-last)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: rgba(255, 255, 255, 0.25);
}

.kn-item:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.06);
    border-radius: 12px;
}

/* ── Icon circle ── */
.kn-icon {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 2px solid rgba(255, 255, 255, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    transition: background 0.25s, box-shadow 0.25s, transform 0.25s;
}

.kn-item:hover .kn-icon {
    background: rgba(255, 255, 255, 0.30);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.18);
    transform: scale(1.08);
}

/* ── Number row ── */
.kn-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.kn-number-row {
    display: flex;
    align-items: baseline;
    gap: 2px;
    line-height: 1;
}

.kn-num {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 33px;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: 1px;
    line-height: 1;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.kn-plus {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 30px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1;
}

.kn-body p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: rgb(255 255 255 / 91%);
    font-family: "National Park", sans-serif;
}

/* ── Mobile ── */
@media (max-width: 768px) {
    .key-numbers-inner {
        flex-wrap: wrap;
    }

    .kn-item {
        width: 33.33%;
        flex: none;
        padding: 20px 12px;
        border-right: none;
    }

    .kn-item::after {
        display: none;
    }

    .kn-icon {
        width: 46px;
        height: 46px;
        font-size: 18px;
    }

    .kn-num {
        font-size: 32px;
    }

    .kn-plus {
        font-size: 22px;
    }

    .kn-body p {
        font-size: 9px;
        letter-spacing: 1.5px;
    }
}

@media (max-width: 480px) {
    .kn-item {
        width: 50%;
    }
}


/* ========================================
   Event Highlights Section
   ======================================== */

.eh-section {
    background: linear-gradient(160deg, #0a1e3d 0%, #081354 55%, #0b1e40 100%);
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}

/* Ambient navy glow — top left */
.eh-section::before {
    content: '';
    position: absolute;
    top: -180px;
    left: -180px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(25, 60, 106, 0.60) 0%, transparent 70%);
    pointer-events: none;
}

/* Ambient green glow — bottom right */
.eh-section::after {
    content: '';
    position: absolute;
    bottom: -180px;
    right: -180px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(1, 160, 106, 0.16) 0%, transparent 70%);
    pointer-events: none;
}

.eh-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 1;
}

/* ── Header ── */
.eh-header {
    text-align: center;
    margin-bottom: 52px;
}

.eh-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #01c07a;
    background: rgba(1, 192, 122, 0.08);
    border: 1px solid rgba(1, 192, 122, 0.30);
    padding: 7px 20px;
    border-radius: 50px;
    margin-bottom: 22px;
}

.eh-eyebrow::before,
.eh-eyebrow::after {
    content: '—';
    opacity: 0.5;
    font-size: 10px;
}

.eh-headline {
    font-family: 'Cairo', sans-serif;
    font-size: clamp(28px, 3.8vw, 50px);
    font-weight: 900;
    color: #ffffff;
    white-space: nowrap;
    line-height: 1.1;
    letter-spacing: 0.5px;
    margin: 0;
}

.eh-headline em {
    font-style: normal;
    background: linear-gradient(135deg, #01c07a 0%, #00e896 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Grid ── */
.eh-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

/* ── Card shell ── */
.eh-card {
    position: relative;
    padding: 0;
    border-radius: 18px;
    overflow: hidden;
    cursor: default;
    background: #0d1f4a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
    /* entrance animation start state */
    opacity: 0;
    transform: translateY(36px);
    transition: transform 0.38s ease, box-shadow 0.38s ease, border-color 0.38s ease;
}

.eh-card:hover {
    transform: translateY(-6px);
    border-color: rgba(1, 192, 122, 0.40);
    box-shadow:
        0 20px 56px rgba(1, 160, 106, 0.22),
        0 6px 20px rgba(0, 0, 0, 0.30);
}

/* Entrance animation */
.eh-card.eh-visible {
    animation: ehCardIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes ehCardIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Image area ── */
.eh-card-img {
    position: relative;
    height: 100px;
    overflow: hidden;
    flex-shrink: 0;
}

.eh-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
}

.eh-card:hover .eh-card-img img {
    transform: scale(1.06);
}

/* Dark gradient fade from image into card body */
.eh-card-img::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 110px;
    background: linear-gradient(to bottom, transparent 0%, #0d1f4a 100%);
    pointer-events: none;
}

/* Category tag — top left of image */
.eh-card-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    font-family: 'National Park', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #ffffff;
    background: rgba(1, 160, 106, 0.85);
    backdrop-filter: blur(6px);
    padding: 5px 12px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

/* Number watermark — top right of image */
.eh-card::before {
    content: attr(data-num);
    position: absolute;
    top: 12px;
    right: 16px;
    z-index: 2;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 36px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.22);
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

/* ── Card body ── */
.eh-card-body {
    padding: 20px 22px 26px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* ── Icon badge ── */
.eh-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(1, 192, 122, 0.22) 0%, rgba(1, 160, 106, 0.12) 100%);
    border: 1px solid rgba(1, 192, 122, 0.38);
    font-size: 16px;
    color: #01c07a;
    margin-bottom: 14px;
    flex-shrink: 0;
}

/* ── Card title ── */
.eh-card-title {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 19px;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: 0.4px;
    margin: 0 0 8px 0;
    line-height: 1.25;
}

/* Green accent line under title */
.eh-card-title::after {
    content: '';
    display: block;
    width: 28px;
    height: 2px;
    background: linear-gradient(90deg, #01c07a, transparent);
    margin-top: 8px;
}

/* ── Card description ── */
.eh-card-desc {
    font-family: 'National Park', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.52);
    line-height: 1.78;
    margin: 0;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .eh-headline {
        white-space: normal;
    }

    .eh-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .eh-container {
        padding: 0 20px;
    }

    .eh-header {
        margin-bottom: 36px;
    }

    .eh-headline {
        white-space: normal;
        font-size: clamp(22px, 6vw, 34px);
    }

    .eh-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .eh-card-img {
        height: 95px;
    }
}

/* Event highlights redesign */
.eh-section {
    background:
        linear-gradient(180deg, #ffffff 0%, #f2f8f5 58%, #eaf4f1 100%);
    padding: 88px 0 96px;
    position: relative;
    overflow: hidden;
}

.eh-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(6, 37, 62, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(6, 37, 62, 0.05) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 78%, transparent 100%);
    pointer-events: none;
}

.eh-section::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: auto;
    width: auto;
    height: 6px;
    background: linear-gradient(90deg, #0b2e4a 0%, #01a86f 42%, #f5b942 72%, #0b2e4a 100%);
    pointer-events: none;
}

.eh-container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 36px;
    position: relative;
    z-index: 1;
}

.eh-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 42px;
    align-items: end;
    text-align: left;
    margin-bottom: 42px;
}

.eh-eyebrow {
    gap: 0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    color: #04734f;
    background: #e5f6ef;
    border: 1px solid rgba(1, 160, 106, 0.22);
    padding: 9px 16px;
    border-radius: 999px;
    margin-bottom: 18px;
}

.eh-eyebrow::before,
.eh-eyebrow::after {
    content: none;
}

.eh-headline {
    font-size: clamp(34px, 5vw, 70px);
    color: #08243b;
    white-space: normal;
    line-height: 0.98;
    letter-spacing: 0;
    max-width: 820px;
}

.eh-headline em {
    color: #01a86f;
    background: none;
    -webkit-text-fill-color: currentColor;
}

.eh-intro {
    font-family: 'National Park', sans-serif;
    font-size: 16px;
    line-height: 1.75;
    color: #4c5c66;
    max-width: 760px;
    margin: 18px 0 0;
}

.eh-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: #08243b;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 22px 48px rgba(8, 36, 59, 0.16);
    overflow: hidden;
}

.eh-metrics span {
    display: flex;
    min-height: 116px;
    padding: 18px 16px;
    flex-direction: column;
    justify-content: center;
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.68);
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.eh-metrics span:first-child {
    border-left: 0;
}

.eh-metrics strong {
    display: block;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 44px;
    line-height: 1;
    letter-spacing: 0;
    color: #ffffff;
    margin-bottom: 8px;
}

.eh-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 18px;
}

.eh-card {
    grid-column: span 3;
    min-height: 100%;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(8, 36, 59, 0.10);
    box-shadow: 0 14px 34px rgba(8, 36, 59, 0.08);
    transform: translateY(32px);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.eh-card:nth-child(1),
.eh-card:nth-child(2) {
    grid-column: span 6;
}

.eh-card:hover {
    transform: translateY(-5px);
    border-color: rgba(1, 160, 106, 0.35);
    box-shadow: 0 24px 48px rgba(8, 36, 59, 0.14);
}

.eh-card-img {
    height: 110px;
    background: #dce8e5;
}

.eh-card:nth-child(1) .eh-card-img,
.eh-card:nth-child(2) .eh-card-img {
    height: 130px;
}

.eh-card-img img {
    filter: saturate(1.04) contrast(1.03);
}

.eh-card:hover .eh-card-img img {
    transform: scale(1.045);
}

.eh-card-img::after {
    inset: auto 0 0;
    height: 52%;
    background: linear-gradient(to bottom, transparent 0%, rgba(8, 36, 59, 0.72) 100%);
}

.eh-card-tag {
    top: auto;
    left: 16px;
    bottom: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    background: rgba(8, 36, 59, 0.72);
    backdrop-filter: blur(8px);
    padding: 8px 12px;
    border-radius: 999px;
}

.eh-card::before {
    top: 16px;
    right: 16px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    font-size: 24px;
    color: #08243b;
    background: #ffffff;
    border: 1px solid rgba(8, 36, 59, 0.10);
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(8, 36, 59, 0.18);
}

.eh-card-body {
    padding: 24px 24px 28px;
}

.eh-card-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e5f6ef;
    border: 1px solid rgba(1, 160, 106, 0.22);
    font-size: 15px;
    color: #01a86f;
    margin-bottom: 15px;
}

.eh-card-title {
    font-size: 25px;
    color: #08243b;
    letter-spacing: 0;
    margin: 0 0 12px 0;
    line-height: 1.12;
}

.eh-card-title::after {
    width: 42px;
    height: 3px;
    background: linear-gradient(90deg, #01a86f 0%, #f5b942 100%);
    margin-top: 11px;
}

.eh-card-desc {
    font-size: 14px;
    color: #5a6770;
    line-height: 1.75;
}

@media (max-width: 1180px) {
    .eh-header {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .eh-metrics {
        max-width: 620px;
    }

    .eh-card,
    .eh-card:nth-child(1),
    .eh-card:nth-child(2) {
        grid-column: span 6;
    }
}

@media (max-width: 760px) {
    .eh-section {
        padding: 64px 0 72px;
    }

    .eh-container {
        padding: 0 20px;
    }

    .eh-header {
        margin-bottom: 30px;
    }

    .eh-headline {
        font-size: clamp(34px, 12vw, 48px);
    }

    .eh-intro {
        font-size: 14px;
    }

    .eh-metrics {
        grid-template-columns: 1fr;
    }

    .eh-metrics span {
        min-height: 86px;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .eh-metrics span:first-child {
        border-top: 0;
    }

    .eh-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .eh-card,
    .eh-card:nth-child(1),
    .eh-card:nth-child(2) {
        grid-column: auto;
    }

    .eh-card-img,
    .eh-card:nth-child(1) .eh-card-img,
    .eh-card:nth-child(2) .eh-card-img {
        height: 190px;
    }

    .eh-card-body {
        padding: 22px 20px 24px;
    }
}

/* Event highlights alternate design */
.eh-section {
    background: #081f2e;
    padding: 86px 0 92px;
}

.eh-section::before {
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 84%, transparent 100%);
}

.eh-section::after {
    top: 0;
    bottom: auto;
    height: 6px;
    background: linear-gradient(90deg, #01a86f 0%, #f5b942 50%, #ffffff 100%);
}

.eh-container {
    max-width: 1343px !important;
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 1399.98px) {
    .eh-container {
        max-width: 1140px !important;
    }
}

@media (max-width: 1199.98px) {
    .eh-container {
        max-width: 960px !important;
    }
}

@media (max-width: 991.98px) {
    .eh-container {
        max-width: 720px !important;
    }
}

@media (max-width: 767.98px) {
    .eh-container {
        max-width: 540px !important;
    }
}

@media (max-width: 575.98px) {
    .eh-container {
        max-width: 100% !important;
    }
}

.eh-header {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.6fr);
    gap: 54px;
    align-items: center;
    margin-bottom: 44px;
    text-align: left;
}

.eh-eyebrow {
    color: #9ee8c8;
    background: rgba(1, 168, 111, 0.14);
    border-color: rgba(158, 232, 200, 0.22);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.eh-headline {
    font-family: 'Cairo', sans-serif;
    font-size: 30px;
    color: #ffffff;
    max-width: none;
    white-space: normal;
    line-height: 1.15;
}

.eh-headline em {
    font-family: 'Sporting Grotesque', 'Inter', sans-serif;
    color: #f5b942;
}

/* Two-column split: sticky text left, stacked cards right */
.eh-split {
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
    gap: 64px;
    align-items: start;
}

.eh-split>.eh-header {
    position: sticky;
    top: 110px;
    display: block;
    grid-template-columns: none;
    max-width: none;
    margin: 0;
    padding: 0 20px;
    align-self: start;
    text-align: left;
}

.eh-split>.eh-header>div {
    max-width: none;
    width: 100%;
}

.eh-split>.eh-header .eh-eyebrow {
    white-space: nowrap;
}

.eh-split>.eh-header .eh-intro {
    max-width: none;
}

.eh-split>.eh-grid {
    max-width: none;
    margin: 0;
    padding-top: 0;
}

@media (max-width: 991px) {
    .eh-split {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .eh-split>.eh-header {
        position: static;
        top: auto;
    }
}

.eh-intro {
    color: rgba(255, 255, 255, 0.68);
    max-width: 620px;
}

.eh-metrics {
    position: relative;
    grid-template-columns: 1fr;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: none;
}

.eh-metrics::before {
    content: '';
    position: absolute;
    top: 22px;
    bottom: 22px;
    left: 35px;
    width: 1px;
    background: rgba(158, 232, 200, 0.28);
}

.eh-metrics span {
    min-height: auto;
    padding: 18px 22px 18px 68px;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.72);
    position: relative;
}

.eh-metrics span:first-child {
    border-top: 0;
}

.eh-metrics span::before {
    content: '';
    position: absolute;
    left: 29px;
    top: 50%;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #f5b942;
    box-shadow: 0 0 0 6px rgba(245, 185, 66, 0.12);
    transform: translateY(-50%);
}

.eh-metrics strong {
    font-size: 30px;
    color: #ffffff;
    margin-bottom: 5px;
}

.eh-grid {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: none;
    margin: 0;
    perspective: none;
    isolation: auto;
}

.eh-card,
.eh-card:nth-child(1),
.eh-card:nth-child(2) {
    grid-column: auto;
}

.eh-card {
    display: grid;
    grid-template-columns: minmax(260px, 38%) minmax(0, 1fr);
    min-height: 280px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
    overflow: hidden;
    opacity: 0;
    transform: translateY(34px);
    transform-origin: center;
    z-index: auto;
    transition: transform 0.42s ease, box-shadow 0.42s ease, border-color 0.42s ease, opacity 0.42s ease;
}

.eh-card:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 38%);
}

.eh-card:hover {
    border-color: rgba(245, 185, 66, 0.5);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
    transform: translateY(-6px);
    z-index: auto;
}

.eh-card.eh-visible {
    animation: ehCardIn 0.68s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.eh-card.eh-visible:hover {
    animation: none;
    opacity: 1;
    transform: translateY(-6px);
}

.eh-card-img,
.eh-card:nth-child(1) .eh-card-img,
.eh-card:nth-child(2) .eh-card-img {
    height: 100%;
    min-height: 280px;
}

.eh-card:nth-child(even) .eh-card-img {
    grid-column: 2;
    grid-row: 1;
}

.eh-card-img::after {
    inset: 0;
    height: auto;
    background: linear-gradient(180deg, rgba(8, 31, 46, 0.08) 0%, rgba(8, 31, 46, 0.54) 100%);
}

.eh-card-tag {
    left: 18px;
    bottom: 18px;
    background: rgba(1, 168, 111, 0.92);
    color: #ffffff;
}

.eh-card::before {
    top: 24px;
    right: auto;
    left: calc(38% + 24px);
    width: auto;
    height: auto;
    display: block;
    color: rgba(8, 31, 46, 0.09);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 96px;
    line-height: 0.8;
}

.eh-card:nth-child(even)::before {
    left: 24px;
}

.eh-card-body {
    position: relative;
    justify-content: center;
    padding: 46px 54px 42px;
}

.eh-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #081f2e;
    border-color: #081f2e;
    color: #f5b942;
    margin-bottom: 18px;
}

.eh-card-title {
    font-size: clamp(28px, 3.2vw, 42px);
    color: #081f2e;
    max-width: 520px;
}

.eh-card-title::after {
    width: 68px;
    height: 4px;
    background: linear-gradient(90deg, #01a86f 0%, #f5b942 100%);
}

.eh-card-desc {
    max-width: 660px;
    font-size: 15px;
    color: #43525b;
}

@media (max-width: 1040px) {
    .eh-header {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .eh-metrics {
        max-width: 100%;
        grid-template-columns: repeat(3, 1fr);
    }

    .eh-metrics::before {
        display: none;
    }

    .eh-metrics span {
        padding: 18px 18px 18px 46px;
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.10);
    }

    .eh-metrics span:first-child {
        border-left: 0;
    }

    .eh-metrics span::before {
        left: 18px;
    }
}

@media (max-width: 760px) {
    .eh-section {
        padding: 64px 0 72px;
    }

    .eh-container {
        padding: 0 20px;
    }

    .eh-metrics {
        grid-template-columns: 1fr;
    }

    .eh-metrics span,
    .eh-metrics span:first-child {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.10);
    }

    .eh-metrics span:first-child {
        border-top: 0;
    }

    .eh-grid {
        display: flex;
        flex-direction: column;
        min-height: auto;
        gap: 16px;
        perspective: none;
    }

    .eh-card,
    .eh-card:nth-child(even) {
        grid-template-columns: 1fr;
        min-height: auto;
        transform: none;
        z-index: auto;
    }

    .eh-grid:hover .eh-card,
    .eh-card:hover {
        transform: none;
    }

    .eh-card:nth-child(even) .eh-card-img {
        grid-column: auto;
        grid-row: auto;
    }

    .eh-card-img,
    .eh-card:nth-child(1) .eh-card-img,
    .eh-card:nth-child(2) .eh-card-img {
        height: 205px;
        min-height: 205px;
    }

    .eh-card::before,
    .eh-card:nth-child(even)::before {
        top: 236px;
        left: auto;
        right: 18px;
        font-size: 54px;
    }

    .eh-card-body {
        padding: 26px 22px 28px;
    }

    .eh-card-title {
        font-size: 30px;
    }
}

/* Event highlights stacked story cards */
.eh-section {
    background:
        linear-gradient(180deg, rgba(5, 10, 22, 0.72) 0%, rgba(5, 10, 22, 0.62) 50%, rgba(5, 10, 22, 0.78) 100%),
        url('https://html.xpressbuddy.com/aivora/assets/img/bg/hero_bg02.jpg') center center / cover no-repeat;
    padding: 86px 0 118px;
}

.eh-section::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: 150px 150px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 88%, transparent 100%);
}

.eh-section>.eh-container {
    position: relative;
    z-index: 2;
}

.eh-header {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.eh-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 920px;
    margin: 0 auto;
    padding-top: 18px;
}

.eh-card {
    position: relative;
    min-height: 380px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 42%);
    background: linear-gradient(120deg, #10213a 0%, #0c3650 48%, #01a86f 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
}

.eh-card+.eh-card {
    margin-top: -118px;
}

.eh-card:nth-child(1) {
    z-index: 1;
}

.eh-card:nth-child(2) {
    z-index: 2;
}

.eh-card:nth-child(3) {
    z-index: 3;
}

.eh-card:nth-child(4) {
    z-index: 4;
}

.eh-card:nth-child(5) {
    z-index: 5;
}

.eh-card:nth-child(6) {
    z-index: 6;
}

.eh-card:nth-child(even) {
    grid-template-columns: minmax(360px, 42%) minmax(0, 1fr);
    background: linear-gradient(120deg, #01a86f 0%, #0c3650 52%, #10213a 100%);
}

.eh-card:hover,
.eh-card.eh-visible:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
}

.eh-card:hover .eh-card-img img,
.eh-card.eh-visible:hover .eh-card-img img {
    transform: none;
}

/* Lock cards fully opaque & untransformed — stacked stickies must never ghost through */
.eh-card,
.eh-card.eh-visible {
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
}

/* Unify every card: identical column ratio, identical image framing, identical text */
.eh-card,
.eh-card:nth-child(even) {
    grid-template-columns: 40% minmax(0, 1fr) !important;
    background-color: #0c1a2e !important;
    background-image: url('https://html.xpressbuddy.com/aivora/assets/img/bg/comparison-bg.png') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 100% auto !important;
    border: none !important;
    border-radius: 0 !important;
}

.eh-card-img,
.eh-card:nth-child(1) .eh-card-img,
.eh-card:nth-child(2) .eh-card-img,
.eh-card:nth-child(even) .eh-card-img {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 48px 0 48px 48px !important;
    min-height: 320px !important;
    height: auto !important;
}

.eh-card-body,
.eh-card:nth-child(even) .eh-card-body {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 48px 56px 48px 40px !important;
}

.eh-card-title {
    font-size: 22px !important;
    line-height: 1.25 !important;
}

.eh-card-desc {
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.eh-card-icon {
    display: none !important;
}

/* Lock the section to only two font families: DM Sans for body text, Sporting Grotesque for headings */
.eh-section,
.eh-section *,
.eh-section *::before,
.eh-section *::after {
    font-family: 'DM Sans', sans-serif !important;
}

.eh-section .eh-headline,
.eh-section .eh-headline em,
.eh-section .eh-headline .eh-char {
    font-family: 'Cairo', sans-serif !important;
}

.eh-section .eh-card-title {
    font-family: 'Sporting Grotesque', 'DM Sans', sans-serif !important;
}

/* Headline loading-style char-by-char cascade reveal */
.eh-headline em {
    display: inline-block;
    white-space: nowrap;
    font-style: normal;
}

/* Word wrapper — keeps each word's chars together so line-breaks only happen at spaces.
   Prevents mid-word breaks like "Possibilit / ies" caused by per-char inline-blocks. */
.eh-headline .eh-word {
    display: inline-block;
    white-space: nowrap;
}

.eh-headline .eh-char {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em) rotateX(-70deg);
    transform-origin: 0 100%;
    will-change: opacity, transform;
    filter: blur(4px);
}

.eh-headline.eh-typed .eh-char {
    animation: ehCharIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(var(--i, 0) * 32ms);
}

@keyframes ehCharIn {
    0% {
        opacity: 0;
        transform: translateY(0.6em) rotateX(-70deg);
        filter: blur(4px);
    }

    60% {
        opacity: 1;
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform: translateY(0) rotateX(0);
        filter: blur(0);
    }
}

.eh-card-body {
    padding: 58px 60px 56px;
}

.eh-card-img,
.eh-card:nth-child(1) .eh-card-img,
.eh-card:nth-child(2) .eh-card-img {
    position: relative;
    height: auto;
    min-height: 380px;
    margin: 58px 58px 58px 0;
    border-radius: 8px;
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}

.eh-card-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.eh-card:nth-child(even) .eh-card-img {
    grid-column: 1;
    grid-row: 1;
    margin: 58px 0 58px 58px;
}

.eh-card:nth-child(even) .eh-card-body {
    grid-column: 2;
    grid-row: 1;
}

.eh-card-img::after {
    background: linear-gradient(180deg, transparent 0%, rgba(8, 15, 29, 0.34) 100%);
}

.eh-card::before {
    left: auto;
    right: 34px;
    top: 26px;
    color: rgba(255, 255, 255, 0.07) !important;
    font-size: 72px;
}

.eh-card:nth-child(even)::before {
    left: auto;
    right: 34px;
}

.eh-card-icon {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.22);
    color: #f5b942;
}

.eh-card-title {
    font-family: 'Sporting Grotesque', 'Inter', sans-serif;
    color: #ffffff;
    font-size: 22px;
    line-height: 1.25;
    max-width: 600px;
}

.eh-card-desc {
    color: rgba(255, 255, 255, 0.82);
    font-size: 16px;
    max-width: 640px;
}

@media (max-width: 1040px) {

    .eh-card,
    .eh-card:nth-child(even) {
        grid-template-columns: 1fr;
    }

    .eh-card-img,
    .eh-card:nth-child(1) .eh-card-img,
    .eh-card:nth-child(2) .eh-card-img,
    .eh-card:nth-child(even) .eh-card-img {
        grid-column: auto;
        grid-row: auto;
        min-height: 260px;
        margin: 0;
        border-radius: 0;
    }

    .eh-card:nth-child(even) .eh-card-body {
        grid-column: auto;
        grid-row: auto;
    }

    .eh-card-body {
        padding: 38px 34px 42px;
    }
}

@media (max-width: 760px) {
    .eh-section {
        padding: 64px 0 78px;
    }

    .eh-grid {
        padding-top: 0;
    }

    .eh-card {
        min-height: auto;
        border-radius: 10px;
    }

    .eh-card+.eh-card {
        margin-top: -54px;
    }

    .eh-card-img,
    .eh-card:nth-child(1) .eh-card-img,
    .eh-card:nth-child(2) .eh-card-img,
    .eh-card:nth-child(even) .eh-card-img {
        height: 190px;
        min-height: 190px;
    }

    .eh-card-body {
        padding: 28px 22px 32px;
    }

    .eh-card-title {
        font-size: 32px;
    }

    .eh-card-desc {
        font-size: 14px;
    }

    .eh-card::before,
    .eh-card:nth-child(even)::before {
        top: 206px;
        right: 18px;
        font-size: 46px;
    }
}

/* Scroll-driven stacking for event cards */
.eh-section {
    scroll-margin-top: 90px;
    overflow: visible;
}

.eh-grid {
    align-items: stretch;
    gap: 0;
}

.eh-card {
    position: sticky;
    top: calc(92px + (var(--stack-step, 0) * 12px));
    margin-top: 76px;
    will-change: transform;
}

.eh-card:first-child {
    margin-top: 0;
}

.eh-card+.eh-card {
    margin-top: 76px;
}

.eh-card:nth-child(1) {
    --stack-step: 0;
}

.eh-card:nth-child(2) {
    --stack-step: 1;
}

.eh-card:nth-child(3) {
    --stack-step: 2;
}

.eh-card:nth-child(4) {
    --stack-step: 3;
}

.eh-card:nth-child(5) {
    --stack-step: 4;
}

.eh-card:nth-child(6) {
    --stack-step: 5;
}

.eh-card.eh-visible {
    animation-duration: 0.78s;
}

@media (max-width: 1040px) {
    .eh-card {
        top: calc(82px + (var(--stack-step, 0) * 8px));
        margin-top: 48px;
    }

    .eh-card+.eh-card {
        margin-top: 48px;
    }
}

@media (max-width: 760px) {
    .eh-card {
        position: relative;
        top: auto;
        margin-top: 18px;
    }

    .eh-card:first-child {
        margin-top: 0;
    }

    .eh-card+.eh-card {
        margin-top: 18px;
    }
}

/* ========================================
   Highlight Video Section
   ======================================== */

.hv-section {
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    isolation: isolate;
    background: radial-gradient(900px 600px at 12% 18%, rgba(0, 180, 220, 0.18) 0%, transparent 60%), radial-gradient(820px 620px at 88% 82%, rgba(10, 42, 94, 0.55) 0%, transparent 65%), radial-gradient(640px 520px at 78% 14%, rgba(11, 108, 176, 0.16) 0%, transparent 65%), linear-gradient(135deg, #5f60e7 0%, #051536 45%, #02091c 100%);
}

.hv-section,
.hv-section *,
.hv-section *::before,
.hv-section *::after {
    font-family: 'DM Sans', sans-serif;
}

.hv-section .hv-headline {
    font-family: 'Sporting Grotesque', 'DM Sans', sans-serif;
}

.hv-container {
    max-width: 1343px;
    margin: 0 auto;
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    text-align: center;
    position: relative;
    z-index: 1;
}

@media (max-width: 1399.98px) {
    .hv-container {
        max-width: 1140px;
    }
}

@media (max-width: 1199.98px) {
    .hv-container {
        max-width: 960px;
    }
}

@media (max-width: 991.98px) {
    .hv-container {
        max-width: 720px;
    }
}

@media (max-width: 767.98px) {
    .hv-container {
        max-width: 540px;
    }
}

@media (max-width: 575.98px) {
    .hv-container {
        max-width: 100%;
    }
}

.hv-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #9ee8c8;
    background: rgba(1, 168, 111, 0.14);
    border: 1px solid rgba(158, 232, 200, 0.22);
    padding: 8px 18px;
    border-radius: 999px;
    margin-bottom: 22px;
}

.hv-headline {
    font-size: 40px;
    font-family: 'Cairo' !important;
    text-transform: uppercase;
    margin: 0 auto 30px;
    margin-top: 0px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: #fff;
    text-align: center;
}

.hv-subtext {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.72);
    max-width: 720px;
    margin: 0 auto;
}

.hv-frame {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    background-image: url('../../images/vdo_frame.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    z-index: 1;
}

/* ═══════════════════════════════════════════════
   Polaroid collage — photos around centered video
═══════════════════════════════════════════════ */
.hv-collage {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 14px;
    width: 100%;
    margin: 10px auto 0;
    padding: 28px 24px 32px;
    border-radius: 24px;
    background:
        radial-gradient(ellipse 55% 50% at 50% 45%, rgba(120, 25, 38, 0.45) 0%, rgba(30, 6, 12, 0.92) 70%),
        linear-gradient(180deg, #15050a 0%, #07020c 100%);
    box-shadow: inset 0 0 80px rgba(0, 0, 0, 0.65);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    /* Container drives cell aspect — 4×4 cells of ~4:3 each → container ratio ~16:11 */
    aspect-ratio: 16 / 11;
}

/* Centre video occupies the 2x2 block in the middle */
.hv-collage>.hv-frame {
    grid-column: 2 / span 2;
    grid-row: 2 / span 2;
}

/* ── Abstract animated background — floating blurred orbs + grid mesh ── */
.hv-collage::before {
    content: '';
    position: absolute;
    inset: -20%;
    background:
        radial-gradient(circle 320px at 12% 20%, rgba(245, 86, 130, 0.28) 0%, transparent 60%),
        radial-gradient(circle 280px at 88% 18%, rgba(86, 138, 245, 0.22) 0%, transparent 60%),
        radial-gradient(circle 360px at 18% 82%, rgba(245, 185, 66, 0.18) 0%, transparent 60%),
        radial-gradient(circle 300px at 82% 78%, rgba(120, 245, 198, 0.18) 0%, transparent 60%),
        radial-gradient(circle 240px at 50% 50%, rgba(255, 90, 120, 0.16) 0%, transparent 60%);
    filter: blur(40px);
    animation: hvOrbDrift 18s ease-in-out infinite alternate;
    pointer-events: none;
    z-index: -1;
}

.hv-collage::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 60px 60px,
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 60px 60px;
    mask-image: radial-gradient(ellipse at center, #000 35%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at center, #000 35%, transparent 80%);
    opacity: 0.5;
    animation: hvMeshShift 30s linear infinite;
    pointer-events: none;
    z-index: -1;
}

@keyframes hvOrbDrift {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(2%, -2%, 0) scale(1.06);
    }

    100% {
        transform: translate3d(-1.5%, 2%, 0) scale(1.02);
    }
}

@keyframes hvMeshShift {
    from {
        background-position: 0 0, 0 0;
    }

    to {
        background-position: 60px 60px, 60px 60px;
    }
}

.hv-collage>* {
    position: relative;
    z-index: 1;
    min-height: 0;
    min-width: 0;
}

/* Photo tile — uniform cell shaped by the parent grid */
.hv-photo {
    position: relative;
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
    background: transparent;
    border: none;
    /* aspect-ratio removed — the grid cell defines the box; img fills it */
    box-shadow:
        0 18px 36px -10px rgba(0, 0, 0, 0.75),
        0 6px 16px -4px rgba(0, 0, 0, 0.55);
    transition: box-shadow 0.35s ease;
}

.hv-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.hv-photo:hover {
    z-index: 5;
    box-shadow:
        0 28px 56px -10px rgba(0, 0, 0, 0.85),
        0 10px 24px -4px rgba(0, 0, 0, 0.6);
}

.hv-photo:hover img {
    transform: scale(1.04);
}

/* Stat overlay — full dark overlay over the whole image + big centered number */
.hv-photo--stat::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(8, 36, 59, 0.78) 0%, rgba(4, 16, 30, 0.88) 100%);
    z-index: 1;
    pointer-events: none;
}

.hv-photo-stat {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    margin: 0;
    padding: 12px;
    pointer-events: none;
}

.hv-photo-stat-num {
    font-family: 'Cairo', sans-serif;
    font-size: clamp(40px, 5vw, 76px);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -1.5px;
    /* Logo-theme gradient — royal blue → cyan, matching the capsule + globe + bottom ribbon */
    background: linear-gradient(135deg, #1e88ff 0%, #2bbde6 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    text-shadow: 0 4px 22px rgba(0, 0, 0, 0.55);
}

.hv-photo-stat-lbl {
    font-family: 'Cairo', sans-serif;
    font-size: clamp(11px, 0.95vw, 14px);
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* Disable the image hover zoom on stat cards so the overlay stays clean */
.hv-photo--stat:hover img {
    transform: none;
}

@media (prefers-reduced-motion: reduce) {

    .hv-collage::before,
    .hv-collage::after {
        animation: none !important;
    }
}

/* Center video frame — clean tile, fills its 2x2 grid block */
.hv-collage .hv-frame {
    margin: 0;
    aspect-ratio: auto;
    background: #050a16;
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow:
        0 30px 60px -10px rgba(0, 0, 0, 0.85),
        0 12px 28px -6px rgba(0, 0, 0, 0.65),
        0 0 0 1px rgba(255, 255, 255, 0.04);
    transform: none;
    width: 100%;
    height: 100%;
}

.hv-collage .hv-video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0;
}

/* ── Tablet — keep 4×4 but loosen padding & aspect ── */
@media (max-width: 991.98px) {
    .hv-collage {
        gap: 12px;
        padding: 22px 16px 26px;
        aspect-ratio: 16 / 13;
    }

    .hv-photo-stat-num {
        font-size: clamp(32px, 5vw, 56px);
    }

    .hv-photo-stat-lbl {
        font-size: 10.5px;
        letter-spacing: 1.6px;
    }
}

/* ── Mobile — collapse to 2-col grid, video spans full width across 2 rows ── */
@media (max-width: 575.98px) {
    .hv-collage {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        grid-auto-rows: 1fr;
        aspect-ratio: auto;
        gap: 10px;
        padding: 16px 10px 20px;
        border-radius: 16px;
    }

    .hv-collage>.hv-frame {
        grid-column: 1 / span 2;
        grid-row: auto;
        aspect-ratio: 16 / 9;
    }

    .hv-photo {
        aspect-ratio: 4 / 3;
    }

    .hv-photo-stat-num {
        font-size: clamp(28px, 8vw, 42px);
    }

    .hv-photo-stat-lbl {
        font-size: 10px;
        letter-spacing: 1.2px;
    }
}

/* Marquee — full-width strip scrolling below the monitor */
.hv-marquee {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 40px 0 0;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    opacity: 0.55;
}

.hv-marquee-track {
    display: flex;
    gap: 36px;
    align-items: center;
    width: max-content;
    white-space: nowrap;
    animation: hvMarquee 38s linear infinite;
    will-change: transform;
}

.hv-marquee-track>span {
    font-family: 'Sporting Grotesque', sans-serif;
    font-size: clamp(34px, 4vw, 64px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1px;
    flex-shrink: 0;
    background: linear-gradient(52deg, #2c32fe 0%, #00a4af 49%, #00ff97 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.hv-marquee-track .hv-marquee-dot {
    font-size: clamp(22px, 2.2vw, 36px);
    background: linear-gradient(52deg, #2c32fe 0%, #00a4af 49%, #00ff97 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

@keyframes hvMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.hv-cta {
    position: relative;
    z-index: 1;
}

.hv-video {
    position: absolute;
    /* Inner screen of vdo_frame.png monitor */
    top: 19%;
    left: 10.5%;
    right: 10.5%;
    bottom: 4%;
    background: #050a16;
    overflow: hidden;
    cursor: pointer;
    border-radius: 6px;
}

.hv-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transition: transform 0.6s ease, filter 0.4s ease;
}

.hv-video:hover .hv-poster {
    transform: scale(1.04);
    filter: brightness(0.82);
}

.hv-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 84px;
    height: 84px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: #0c1a2e;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
    transition: transform 0.3s ease, background 0.3s ease;
}

.hv-play::before {
    content: '';
    position: absolute;
    inset: -14px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.6);
    animation: hvPulse 2s ease-out infinite;
}

.hv-play svg {
    margin-left: 4px;
}

.hv-video:hover .hv-play {
    transform: translate(-50%, -50%) scale(1.08);
    background: #ffffff;
}

@keyframes hvPulse {
    0% {
        transform: scale(0.95);
        opacity: 0.75;
    }

    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}

.hv-duration {
    position: absolute;
    bottom: 18px;
    left: 18px;
    background: rgba(0, 0, 0, 0.55);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.6px;
    padding: 6px 12px;
    border-radius: 6px;
    backdrop-filter: blur(6px);
}

.hv-video.hv-playing .hv-duration {
    display: none;
}

.hv-video iframe,
.hv-video video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    background: #050a16;
}

.hv-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 32px;
    background: #f5b942;
    color: #0c1a2e;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-decoration: none;
    border-radius: 999px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.hv-cta:hover {
    transform: translateY(-2px);
    background: #ffc965;
    color: #0c1a2e;
    box-shadow: 0 14px 32px rgba(245, 185, 66, 0.32);
}

.hv-cta .hv-arrow {
    font-size: 18px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.hv-cta:hover .hv-arrow {
    transform: translateX(4px);
}

@media (max-width: 767.98px) {
    .hv-section {
        padding: 60px 0 72px;
    }

    .hv-play {
        width: 64px;
        height: 64px;
    }

    .hv-play svg {
        width: 26px;
        height: 26px;
    }

    .hv-subtext {
        margin-bottom: 32px;
        font-size: 15px;
    }

    .hv-cta {
        margin-top: 32px;
        padding: 12px 24px;
    }

    .col_content h2 {
        font-size: 26px
    }

    .concurrent_event .con_logo {
        width: 180px;
        max-width: 60%;
        margin: 0 auto 24px;
    }

    .concurrent_event .col-lg-5 {
        text-align: center;
    }
}

/* ========================================
   Key Themes / Summit Tracks Section — Premium
   ======================================== */

.kt-section {
    position: relative;
    padding: 60px 0;
    background: #fff;
    overflow: hidden;
    isolation: isolate;
}

.kt-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(8, 26, 46, 0.055) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    z-index: -1;
    opacity: 0.7;
    pointer-events: none;
}

.kt-bg-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    z-index: -1;
}

.kt-bg-orb-1 {
    top: -120px;
    left: -120px;
    width: 420px;
    height: 420px;
    background: rgba(1, 168, 111, 0.16);
}

.kt-bg-orb-2 {
    bottom: -160px;
    right: -160px;
    width: 480px;
    height: 480px;
    background: rgba(11, 108, 176, 0.12);
}

.kt-section,
.kt-section *,
.kt-section *::before,
.kt-section *::after {
    font-family: 'DM Sans', sans-serif;
}

.kt-section .kt-headline,
.kt-section .kt-headline-accent,
.kt-section .kt-headline .kt-char {
    font-family: 'Cairo', sans-serif !important;
}

.kt-section .kt-track-title,
.kt-section .kt-cta {
    font-family: 'Sporting Grotesque', 'DM Sans', sans-serif;
}

/* Headline char-by-char loading-style reveal */
.kt-headline .kt-word {
    display: inline-block;
    white-space: nowrap;
}

.kt-headline .kt-char {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.6em) rotateX(-70deg);
    transform-origin: 0 100%;
    will-change: opacity, transform;
    filter: blur(4px);
}

.kt-headline.kt-typed .kt-char {
    animation: ktCharIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(var(--i, 0) * 32ms);
}

@keyframes ktCharIn {
    0% {
        opacity: 0;
        transform: translateY(0.6em) rotateX(-70deg);
        filter: blur(4px);
    }

    60% {
        opacity: 1;
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform: translateY(0) rotateX(0);
        filter: blur(0);
    }
}

.kt-headline .kt-headline-accent .kt-char {
    background: transparent;
    -webkit-text-fill-color: #2bbde6;
    color: #2bbde6;
}

.kt-container {
    max-width: 1343px;
    margin: 0 auto;
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    position: relative;
}

@media (max-width: 1399.98px) {
    .kt-container {
        max-width: 1140px;
    }
}

@media (max-width: 1199.98px) {
    .kt-container {
        max-width: 960px;
    }
}

@media (max-width: 991.98px) {
    .kt-container {
        max-width: 720px;
    }
}

@media (max-width: 767.98px) {
    .kt-container {
        max-width: 540px;
    }
}

@media (max-width: 575.98px) {
    .kt-container {
        max-width: 100%;
    }
}

/* ── Header ── */
.kt-header {
    text-align: center;
    max-width: none;
    margin: 0 auto 30px;
}

.kt-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #04734f;
    background: linear-gradient(135deg, rgba(1, 168, 111, 0.10) 0%, rgba(1, 168, 111, 0.04) 100%);
    border: 1px solid rgba(1, 168, 111, 0.24);
    padding: 9px 20px 9px 14px;
    border-radius: 999px;
    margin-bottom: 26px;
    box-shadow: 0 6px 18px rgba(1, 168, 111, 0.08);
}

.kt-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a86f 0%, #00d49a 100%);
    box-shadow: 0 0 0 3px rgba(1, 168, 111, 0.16);
    flex-shrink: 0;
}

.kt-headline {
    font-size: 40px !important;
    font-family: 'Cairo', sans-serif !important;
    text-transform: uppercase !important;
    margin: 0 0 30px !important;
    margin-top: 0px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    color: #0c1a2e !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.kt-headline-accent {
    display: inline;
    white-space: nowrap;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
    color: #2bbde6 !important;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
}

.kt-headline-sub {
    margin: 10px auto 0;
    max-width: 700px;
    font-size: 16px;
    line-height: 1.65;
    color: #5a6a78;
}

/* ── Tracks grid ── */
.kt-tracks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    align-items: start;
}

.kt-track {
    --kt-accent: #01ff97;
    --kt-accent-soft: rgba(1, 255, 151, 0.12);
    --kt-accent-glow: rgba(1, 255, 151, 0.22);
    --kt-spot-color: rgba(1, 255, 151, 0.18);
    --mx: 50%;
    --my: 50%;
    position: relative;
    background: url('https://html.xpressbuddy.com/aivora/assets/img/bg/comparison-bg.png') center center / cover no-repeat;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    padding: 0;
    min-height: 360px;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 18px 50px rgba(8, 15, 29, 0.18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.4s ease;
}

.kt-track:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 28px 70px rgba(1, 168, 111, 0.18);
}

/* ── Track header band ── */
.kt-track-head {
    position: relative;
    z-index: 1;
    padding: 22px 26px;
    text-align: center;
    background: rgba(255, 255, 255, 0.025);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(2px);
}

.kt-track-title {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
    margin: 0;
    letter-spacing: -0.2px;
}

/* ── Track list ── */
.kt-track-list {
    list-style: none;
    padding: 28px 30px 30px;
    margin: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
    flex-grow: 1;
}

.kt-track-list li {
    position: relative;
    padding-left: 26px;
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.55;
    color: #fff;
    transition: color 0.25s ease, transform 0.25s ease,
        max-height 0.45s ease, margin-top 0.4s ease, opacity 0.35s ease;
}

.kt-track-list li:first-child {
    margin-top: 0;
}

/* Collapse items beyond the 4th; reveal on hover/focus */
.kt-track-list li:nth-child(n+5) {
    max-height: 0;
    margin-top: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

@media (hover: hover) {
    .kt-track:hover .kt-track-list li:nth-child(n+5),
    .kt-track:focus-within .kt-track-list li:nth-child(n+5) {
        max-height: 90px;
        margin-top: 16px;
        opacity: 1;
        pointer-events: auto;
    }
}

@media (hover: none) {
    .kt-track-list li:nth-child(n+5) {
        max-height: none;
        margin-top: 16px;
        opacity: 1;
        pointer-events: auto;
    }
}

.kt-track-list li::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 4px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--kt-accent);
    box-shadow: 0 0 0 4px var(--kt-accent-soft);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.kt-track-list li:hover {
    color: #ffffff;
    transform: translateX(3px);
}

.kt-track-list li:hover::before {
    transform: scale(1.15);
    box-shadow: 0 0 0 6px var(--kt-accent-soft);
}

/* ── CTA ── */
.kt-cta-wrap {
    text-align: center;
    margin-top: 72px;
    position: relative;
}

.kt-cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 16px 28px 16px 22px;
    background: linear-gradient(135deg, #0c1a2e 0%, #1a2a4a 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-decoration: none;
    border-radius: 999px;
    box-shadow: 0 14px 36px rgba(8, 26, 46, 0.22);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.3s ease,
        background 0.4s ease;
    position: relative;
    overflow: hidden;
}

.kt-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #01a86f 0%, #00d49a 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.kt-cta>* {
    position: relative;
    z-index: 1;
}

.kt-cta:hover {
    transform: translateY(-3px);
    color: #ffffff;
    box-shadow: 0 22px 50px rgba(1, 168, 111, 0.30);
}

.kt-cta:hover::before {
    opacity: 1;
}

.kt-cta-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.10);
    color: #ffffff;
    flex-shrink: 0;
    transition: background 0.3s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.kt-cta:hover .kt-cta-icon {
    background: rgba(255, 255, 255, 0.22);
    transform: translateY(2px);
}

.kt-cta-divider {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, 0.22);
    margin: 0 2px;
}

.kt-cta .kt-arrow {
    font-size: 18px;
    line-height: 1;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.kt-cta:hover .kt-arrow {
    transform: translateX(4px);
}

.kt-cta-note {
    display: block;
    margin-top: 14px;
    font-size: 12.5px;
    letter-spacing: 0.4px;
    color: #6b7884;
}

/* ── Responsive ── */
@media (max-width: 1199.98px) {
    .kt-tracks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .kt-section {
        padding: 72px 0 88px;
    }

    .kt-header {
        margin-bottom: 48px;
    }

    .kt-headline-sub {
        font-size: 15px;
        margin-top: 18px;
    }

    .kt-tracks {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .kt-track {
        border-radius: 16px;
        min-height: 300px;
    }

    .kt-track-head {
        padding: 18px 22px;
    }

    .kt-track-title {
        font-size: 17px;
    }

    .kt-track-list {
        padding: 22px 24px 26px;
    }

    .kt-track-list li {
        font-size: 13.5px;
    }

    .kt-cta-wrap {
        margin-top: 44px;
    }

    .kt-cta {
        padding: 14px 24px 14px 18px;
        font-size: 13px;
    }

    .kt-cta-icon {
        width: 26px;
        height: 26px;
    }

    .kt-bg-orb-1,
    .kt-bg-orb-2 {
        display: none;
    }
}

/* ========================================
   Sponsors & Partners Section
   ======================================== */

/* ══════════════════════════════════════════════════════════
   Visitor Profiles Section
   ══════════════════════════════════════════════════════════ */
.vp-section {
    position: relative;
    padding: 60px 0;
    background: #f6f9fb;
    overflow: hidden;
    isolation: isolate;
}

.vp-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(8, 26, 46, 0.055) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    z-index: -1;
    opacity: 0.7;
    pointer-events: none;
}

.vp-bg-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    z-index: -1;
}

.vp-bg-orb-1 {
    top: -120px;
    left: -120px;
    width: 420px;
    height: 420px;
    background: rgba(1, 168, 111, 0.14);
}

.vp-bg-orb-2 {
    bottom: -160px;
    right: -160px;
    width: 480px;
    height: 480px;
    background: rgba(11, 108, 176, 0.12);
}

.vp-section,
.vp-section *,
.vp-section *::before,
.vp-section *::after {
    font-family: 'DM Sans', sans-serif;
}

.vp-section .vp-headline,
.vp-section .vp-headline-accent {
    font-family: 'Cairo', sans-serif !important;
}

.vp-section .vp-card-title {
    font-family: 'Sporting Grotesque', 'DM Sans', sans-serif;
}

.vp-container {
    max-width: 1343px;
    margin: 0 auto;
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    position: relative;
}

@media (max-width: 1399.98px) {
    .vp-container {
        max-width: 1140px;
    }
}

@media (max-width: 1199.98px) {
    .vp-container {
        max-width: 960px;
    }
}

@media (max-width: 991.98px) {
    .vp-container {
        max-width: 720px;
    }
}

@media (max-width: 767.98px) {
    .vp-container {
        max-width: 540px;
    }
}

@media (max-width: 575.98px) {
    .vp-container {
        max-width: 100%;
    }
}

/* ── Header ── */
.vp-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 44px;
}

.vp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #04734f;
    background: linear-gradient(135deg, rgba(1, 168, 111, 0.10) 0%, rgba(1, 168, 111, 0.04) 100%);
    border: 1px solid rgba(1, 168, 111, 0.24);
    padding: 9px 20px 9px 14px;
    border-radius: 999px;
    margin-bottom: 22px;
    box-shadow: 0 6px 18px rgba(1, 168, 111, 0.08);
}

.vp-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a86f 0%, #00d49a 100%);
    box-shadow: 0 0 0 3px rgba(1, 168, 111, 0.16);
    flex-shrink: 0;
}

.vp-headline {
    font-size: 40px !important;
    font-family: 'Cairo', sans-serif !important;
    text-transform: uppercase !important;
    margin: 0 0 18px !important;
    margin-top: 0px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    color: #0c1a2e !important;
    text-align: center !important;
}

.vp-headline-accent {
    color: #2bbde6 !important;
    -webkit-text-fill-color: #2bbde6 !important;
}

.vp-headline-sub {
    margin: 10px auto 0;
    max-width: 700px;
    font-size: 16px;
    line-height: 1.65;
    color: #5a6a78;
}

/* ── Accordion ── */
.vp-accordion {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.vp-acc-item {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(8, 26, 46, 0.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(8, 15, 29, 0.05);
    transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.vp-acc-item:hover {
    border-color: rgba(1, 168, 111, 0.24);
}

.vp-acc-item:has(.collapse.show) {
    border-color: rgba(1, 168, 111, 0.30);
    box-shadow: 0 18px 44px rgba(1, 168, 111, 0.12);
}

.vp-acc-header {
    margin: 0;
}

.vp-acc-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 18px 20px;
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    color: #0c1a2e;
    transition: background 0.3s ease;
}

.vp-acc-btn:hover {
    background: rgba(1, 168, 111, 0.03);
}

.vp-acc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    font-size: 18px;
    color: #04734f;
    background: linear-gradient(135deg, rgba(1, 168, 111, 0.12) 0%, rgba(43, 189, 230, 0.10) 100%);
    border: 1px solid rgba(1, 168, 111, 0.18);
    transition: color 0.35s ease, background 0.35s ease, transform 0.4s ease;
}

.vp-acc-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.vp-acc-btn:not(.collapsed) .vp-acc-icon {
    color: #ffffff;
    background: linear-gradient(135deg, #01a86f 0%, #2bbde6 100%);
    transform: scale(1.04);
}

.vp-acc-label {
    flex-grow: 1;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.2px;
    font-family: 'Inter', sans-serif !important;
}

.vp-acc-toggle {
    position: relative;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.vp-acc-toggle::before,
.vp-acc-toggle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: #01a86f;
    border-radius: 2px;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease, background 0.3s ease;
}

.vp-acc-toggle::before {
    width: 14px;
    height: 2px;
}

.vp-acc-toggle::after {
    width: 2px;
    height: 14px;
}

.vp-acc-btn:not(.collapsed) .vp-acc-toggle {
    transform: rotate(135deg);
}

.vp-acc-btn:not(.collapsed) .vp-acc-toggle::before,
.vp-acc-btn:not(.collapsed) .vp-acc-toggle::after {
    background: #2bbde6;
}

.vp-acc-body {
    padding: 2px 22px 22px 22px;
}

.vp-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vp-card-list li {
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.5;
    color: #4a5a68;
    transition: color 0.25s ease;
}

.vp-card-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a86f 0%, #2bbde6 100%);
}

.vp-card-list li:hover {
    color: #0c1a2e;
}

@media (max-width: 991.98px) {
    .vp-accordion {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .vp-section {
        padding: 44px 0;
    }

    .vp-headline {
        font-size: 30px !important;
    }

    .vp-headline-sub {
        font-size: 15px;
    }

    .vp-accordion {
        grid-template-columns: minmax(0, 1fr);
    }

    .vp-acc-btn {
        gap: 12px;
        padding: 16px 18px;
    }

    .vp-acc-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .vp-acc-body {
        padding: 2px 18px 20px 18px;
    }
}

.sp-section {
    position: relative;
    padding: 0;
    background: #0a1428;
    overflow: hidden;
    isolation: isolate;
}

.sp-bg-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: -2;
    pointer-events: none;
}

.sp-bg-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgb(8 15 29 / 24%) 0%, rgba(8, 15, 29, 0.68) 50%, rgb(8 15 29 / 41%) 100%), url(../../images/video_overlay.png) center center / cover no-repeat;
    z-index: -1;
    pointer-events: none;
}

.sp-section,
.sp-section *,
.sp-section *::before,
.sp-section *::after {
    font-family: 'DM Sans', sans-serif;
}

.sp-section .sp-headline,
.sp-section .sp-headline-accent {
    font-family: 'Cairo', sans-serif !important;
}

.sp-section .sp-tier-name,
.sp-section .sp-cta {
    font-family: 'Sporting Grotesque', 'DM Sans', sans-serif;
}

.sp-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    position: relative;
}

.sp-layout {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
}

.sp-media {
    position: relative;
    overflow: hidden;
    align-self: stretch;
}

.sp-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
}

.sp-content {
    display: flex;
    flex-direction: column;
    padding: 100px 60px 110px 60px;
    position: relative;
    isolation: isolate;
}

.sp-content::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(8, 15, 29, 0.78) 0%, rgba(8, 15, 29, 0.55) 50%, rgba(10, 20, 40, 0.72) 100%),
        url(../../images/video_overlay.png) center center / cover no-repeat;
    z-index: -1;
    pointer-events: none;
}

@media (max-width: 1199.98px) {
    .sp-content {
        padding: 90px 40px 100px 40px;
    }
}

.sp-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 64px;
}

.sp-content .sp-header {
    text-align: left;
    margin: 0 0 32px;
    max-width: none;
}

.sp-content .sp-headline {
    text-align: left;
    margin: 0 0 16px;
}

.sp-content .sp-subtext {
    margin: 14px 0 0;
    max-width: none;
}

.sp-content .sp-tiers {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.sp-content .sp-tier {
    min-height: 100px;
    padding: 20px 14px;
}

.sp-content .sp-tier-name {
    font-family: 'National Park', 'DM Sans', sans-serif;
    font-size: 19px;
    letter-spacing: 0.3px;
    font-weight: 500;
}

.sp-content .sp-cta-wrap {
    text-align: left;
    margin-top: 36px;
}

@media (max-width: 991.98px) {
    .sp-layout {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .sp-media img {
        min-height: 320px;
        max-height: 380px;
    }

    .sp-content {
        padding: 64px 24px 80px 24px;
        max-width: 100%;
        margin: 0 auto;
    }

    .sp-content .sp-header,
    .sp-content .sp-headline,
    .sp-content .sp-cta-wrap {
        text-align: center;
    }

    .sp-content .sp-subtext {
        margin-left: auto;
        margin-right: auto;
    }

    .sp-content .sp-tiers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 767.98px) {
    .sp-content {
        padding: 56px 20px 70px 20px;
    }

    .sp-media img {
        min-height: 240px;
        max-height: 300px;
    }

    .sp-content .sp-tiers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .sp-content .sp-tier {
        min-height: 84px;
        padding: 14px 10px;
    }

    .sp-content .sp-tier-name {
        font-size: 13px;
        letter-spacing: 0.2px;
    }
}

@media (max-width: 460px) {
    .sp-content {
        padding: 48px 16px 60px 16px;
    }

    .sp-content .sp-tiers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .sp-content .sp-tier {
        min-height: 76px;
        padding: 12px 8px;
    }

    .sp-content .sp-tier-name {
        font-size: 12px;
        letter-spacing: 0.15px;
    }

    .sp-content .sp-cta-wrap {
        margin-top: 28px;
    }
}

.sp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #9ee8c8;
    background: linear-gradient(135deg, rgba(1, 168, 111, 0.18) 0%, rgba(1, 168, 111, 0.08) 100%);
    border: 1px solid rgba(158, 232, 200, 0.30);
    padding: 9px 20px 9px 14px;
    border-radius: 999px;
    margin-bottom: 22px;
    backdrop-filter: blur(6px);
}

.sp-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a86f 0%, #00d49a 100%);
    box-shadow: 0 0 0 3px rgba(1, 168, 111, 0.16);
    flex-shrink: 0;
}

.sp-headline {
    font-size: 40px !important;
    font-family: 'Cairo', sans-serif !important;
    text-transform: uppercase !important;
    margin: 0 auto 30px !important;
    margin-top: 0 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    color: #fff !important;
    white-space: nowrap !important;
    text-align: left !important;
}

.sp-headline-accent {
    display: inline;
    white-space: nowrap;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
    color: #2bbde6 !important;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
}

.sp-subtext {
    margin: 18px auto 0;
    max-width: 620px;
    font-size: 15px;
    line-height: 1.65;
    color: #ffffff;
}

.sp-tiers {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.sp-tier {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 110px;
    padding: 22px 18px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 14px;
    backdrop-filter: blur(8px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 4px 10px rgba(0, 0, 0, 0.18),
        0 18px 40px rgba(0, 0, 0, 0.38),
        0 30px 80px rgba(0, 0, 0, 0.30);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.4s ease;
}

.sp-tier:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(1, 230, 144, 0.40);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 8px 18px rgba(0, 0, 0, 0.24),
        0 28px 56px rgba(1, 168, 111, 0.26),
        0 44px 100px rgba(1, 168, 111, 0.18);
}

.sp-tier-label {
    display: block;
    width: 100%;
    text-align: center;
}

.sp-tier-label::before,
.sp-tier-label::after {
    content: none;
}

.sp-tier-name {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #ffffff;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    backdrop-filter: none;
    box-shadow: none;
    white-space: normal;
    line-height: 1.3;
}

/* ─── Per-tier metallic theming ───
   Each tier gets a tinted background, matching border, gradient text and hover glow. */

/* Shared metallic text base — animated shimmer on hover */
.sp-tier-name {
    background-size: 200% 100%;
    background-position: 0% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    transition: background-position 1.2s ease, filter 0.3s ease;
}

.sp-tier:hover .sp-tier-name {
    background-position: 100% 50%;
}

/* Subtle top-edge highlight on metallic tiers */
.sp-tier-title::before,
.sp-tier-platinum::before,
.sp-tier-gold::before,
.sp-tier-silver::before {
    content: "";
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, currentColor, transparent);
    opacity: 0.6;
    pointer-events: none;
}

.sp-tier {
    position: relative;
}

/* TITLE — emerald premium */
.sp-tier-title {
    color: rgba(1, 230, 144, 0.85);
    border-color: rgba(1, 230, 144, 0.40);
    background: linear-gradient(135deg, rgba(1, 168, 111, 0.22) 0%, rgba(1, 168, 111, 0.05) 100%);
}

.sp-tier-title:hover {
    border-color: rgba(1, 230, 144, 0.75);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.14) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 28px 56px rgba(1, 168, 111, 0.34),
        0 44px 100px rgba(1, 168, 111, 0.22);
}

.sp-tier-title .sp-tier-name {
    background-image: linear-gradient(110deg, #b6f0d6 0%, #01e690 35%, #ffffff 50%, #01e690 65%, #b6f0d6 100%);
}

/* PLATINUM — cool silvery-blue */
.sp-tier-platinum {
    color: rgba(220, 232, 250, 0.85);
    border-color: rgba(198, 212, 225, 0.45);
    background: linear-gradient(135deg, rgba(198, 212, 225, 0.18) 0%, rgba(140, 165, 200, 0.04) 100%);
}

.sp-tier-platinum:hover {
    border-color: rgba(220, 232, 250, 0.85);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 28px 56px rgba(198, 212, 225, 0.32),
        0 44px 100px rgba(198, 212, 225, 0.20);
}

.sp-tier-platinum .sp-tier-name {
    background-image: linear-gradient(110deg, #f4f7fb 0%, #c6d4e1 35%, #ffffff 50%, #c6d4e1 65%, #f4f7fb 100%);
}

/* GOLD — warm amber */
.sp-tier-gold {
    color: rgba(255, 215, 100, 0.9);
    border-color: rgba(255, 200, 53, 0.55);
    background: linear-gradient(135deg, rgba(255, 200, 53, 0.22) 0%, rgba(184, 134, 11, 0.06) 100%);
}

.sp-tier-gold:hover {
    border-color: rgba(255, 215, 100, 0.9);
    box-shadow:
        0 1px 0 rgba(255, 244, 163, 0.22) inset,
        0 -1px 0 rgba(0, 0, 0, 0.22) inset,
        0 28px 56px rgba(255, 200, 53, 0.38),
        0 44px 100px rgba(255, 175, 30, 0.26);
}

.sp-tier-gold .sp-tier-name {
    background-image: linear-gradient(110deg, #fff4a3 0%, #ffc835 30%, #ffffff 50%, #ffc835 70%, #b8860b 100%);
    filter: drop-shadow(0 0 6px rgba(255, 200, 53, 0.18));
}

/* SILVER — cool silver/grey */
.sp-tier-silver {
    color: rgba(232, 232, 232, 0.9);
    border-color: rgba(220, 220, 220, 0.48);
    background: linear-gradient(135deg, rgba(220, 220, 220, 0.20) 0%, rgba(140, 140, 140, 0.05) 100%);
}

.sp-tier-silver:hover {
    border-color: rgba(245, 245, 245, 0.85);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.20) inset,
        0 -1px 0 rgba(0, 0, 0, 0.22) inset,
        0 28px 56px rgba(220, 220, 220, 0.32),
        0 44px 100px rgba(220, 220, 220, 0.20);
}

.sp-tier-silver .sp-tier-name {
    background-image: linear-gradient(110deg, #ffffff 0%, #c0c0c0 30%, #f8f8f8 50%, #c0c0c0 70%, #909090 100%);
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.12));
}

/* KNOWLEDGE — cyan/blue */
.sp-tier-knowledge {
    border-color: rgba(43, 189, 230, 0.42);
    background: linear-gradient(135deg, rgba(43, 189, 230, 0.18) 0%, rgba(21, 112, 154, 0.05) 100%);
}

.sp-tier-knowledge:hover {
    border-color: rgba(43, 189, 230, 0.75);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 28px 56px rgba(43, 189, 230, 0.32),
        0 44px 100px rgba(43, 189, 230, 0.20);
}

.sp-tier-knowledge .sp-tier-name {
    background-image: linear-gradient(110deg, #cdeefa 0%, #2bbde6 50%, #cdeefa 100%);
}

/* OUTREACH — violet */
.sp-tier-outreach {
    border-color: rgba(156, 109, 255, 0.45);
    background: linear-gradient(135deg, rgba(156, 109, 255, 0.18) 0%, rgba(90, 45, 176, 0.05) 100%);
}

.sp-tier-outreach:hover {
    border-color: rgba(180, 138, 255, 0.78);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 28px 56px rgba(156, 109, 255, 0.32),
        0 44px 100px rgba(156, 109, 255, 0.20);
}

.sp-tier-outreach .sp-tier-name {
    background-image: linear-gradient(110deg, #e8d6ff 0%, #b489ff 50%, #e8d6ff 100%);
}

/* SUPPORTING — teal/mint */
.sp-tier-supporting {
    border-color: rgba(46, 193, 168, 0.45);
    background: linear-gradient(135deg, rgba(46, 193, 168, 0.18) 0%, rgba(19, 142, 122, 0.05) 100%);
}

.sp-tier-supporting:hover {
    border-color: rgba(46, 193, 168, 0.78);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 28px 56px rgba(46, 193, 168, 0.32),
        0 44px 100px rgba(46, 193, 168, 0.20);
}

.sp-tier-supporting .sp-tier-name {
    background-image: linear-gradient(110deg, #c3f5e7 0%, #2ec1a8 50%, #c3f5e7 100%);
}

/* MEDIA — warm coral/orange */
.sp-tier-media {
    border-color: rgba(255, 122, 92, 0.48);
    background: linear-gradient(135deg, rgba(255, 122, 92, 0.18) 0%, rgba(212, 66, 31, 0.05) 100%);
}

.sp-tier-media:hover {
    border-color: rgba(255, 158, 122, 0.8);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 -1px 0 rgba(0, 0, 0, 0.20) inset,
        0 28px 56px rgba(255, 122, 92, 0.32),
        0 44px 100px rgba(255, 122, 92, 0.20);
}

.sp-tier-media .sp-tier-name {
    background-image: linear-gradient(110deg, #ffd7c8 0%, #ff7a5c 50%, #ffd7c8 100%);
}

.sp-tier-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    width: 100%;
}

.sp-logo {
    flex: 0 0 auto;
    width: 180px;
    height: 96px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 12px;
    color: #6b7884;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(6px);
    filter: grayscale(0.35) opacity(0.88);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.4s ease,
        filter 0.4s ease,
        border-color 0.3s ease,
        color 0.3s ease,
        background 0.3s ease;
}

.sp-logo:hover {
    transform: translateY(-4px);
    background: #ffffff;
    filter: grayscale(0) opacity(1);
    border-color: rgba(1, 230, 144, 0.45);
    box-shadow: 0 18px 40px rgba(1, 168, 111, 0.28);
    color: #0c1a2e;
}

.sp-logo span {
    pointer-events: none;
}

.sp-logo-xl {
    width: 320px;
    height: 140px;
    font-size: 18px;
}

.sp-logo-lg {
    width: 240px;
    height: 120px;
    font-size: 15px;
}

.sp-logo-sm {
    width: 150px;
    height: 84px;
    font-size: 12px;
}

.sp-tier-title .sp-logo-xl {
    background: linear-gradient(180deg, #ffffff 0%, #fafdfb 100%);
    border-color: rgba(1, 230, 144, 0.45);
    box-shadow: 0 14px 40px rgba(1, 168, 111, 0.30);
}

.sp-tier-title .sp-logo-xl:hover {
    border-color: rgba(1, 230, 144, 0.7);
    box-shadow: 0 28px 70px rgba(1, 168, 111, 0.42);
}

.sp-cta-wrap {
    text-align: center;
    margin-top: 72px;
}

.sp-cta {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 8px 8px 8px 34px;
    background: linear-gradient(90deg, #0b7b53 0%, #066140 40%, #086149 75%, #01c989 100%);
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18) inset,
        0 0 0 1px rgba(1, 230, 144, 0.10),
        0 14px 36px rgba(0, 0, 0, 0.45),
        0 22px 60px rgba(1, 168, 111, 0.28);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.4s ease,
        background-position 0.4s ease;
    position: relative;
    overflow: hidden;
    background-size: 180% 100%;
    background-position: 0% 50%;
}

.sp-cta:hover {
    transform: translateY(-3px);
    color: #ffffff;
    background-position: 30% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22) inset,
        0 0 0 1px rgba(1, 230, 144, 0.22),
        0 18px 44px rgba(0, 0, 0, 0.45),
        0 30px 80px rgba(1, 168, 111, 0.40);
}

.sp-cta-label {
    position: relative;
    z-index: 1;
    white-space: nowrap;
}

.sp-cta-icon {
    position: relative;
    z-index: 1;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #06241a 0%, #050b16 100%);
    color: #ffffff;
    box-shadow:
        0 0 0 1px rgba(1, 230, 144, 0.45),
        0 0 18px rgba(1, 230, 144, 0.45),
        0 0 36px rgba(1, 230, 144, 0.22) inset;
    flex-shrink: 0;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.sp-cta:hover .sp-cta-icon {
    box-shadow:
        0 0 0 1px rgba(1, 230, 144, 0.70),
        0 0 26px rgba(1, 230, 144, 0.65),
        0 0 40px rgba(1, 230, 144, 0.30) inset;
}

/* Diagonal slide-arrow effect */
.sp-cta-arrow {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: 20px;
    height: 20px;
}

.sp-cta-arrow svg {
    grid-column: 1;
    grid-row: 1;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.sp-cta-arrow svg:nth-child(1) {
    transform: translate(0, 0);
}

.sp-cta-arrow svg:nth-child(2) {
    transform: translate(-110%, 110%);
}

.sp-cta:hover .sp-cta-arrow svg:nth-child(1) {
    transform: translate(110%, -110%);
}

.sp-cta:hover .sp-cta-arrow svg:nth-child(2) {
    transform: translate(0, 0);
}

@media (max-width: 1199.98px) {
    .sp-tiers {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .sp-section {
        padding: 64px 0 80px;
    }

    .sp-header {
        margin-bottom: 44px;
    }

    .sp-headline {
        font-size: 34px !important;
        white-space: normal !important;
        line-height: 1.15 !important;
        margin-bottom: 18px !important;
    }

    .sp-subtext {
        font-size: 14px;
    }

    .sp-tiers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .sp-tier {
        min-height: 92px;
        padding: 18px 14px;
    }

    .sp-tier-name {
        font-size: 13.5px;
    }

    .sp-cta-wrap {
        margin-top: 48px;
    }

    .sp-cta {
        padding: 13px 26px;
        font-size: 13px;
    }
}

@media (max-width: 460px) {
    .sp-headline {
        font-size: 28px !important;
    }

    .sp-tiers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

@media (max-width: 360px) {
    .sp-headline {
        font-size: 24px !important;
    }
}

/* ── Past Partners carousel ── */
.sp-past {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.sp-past-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    padding: 6px 16px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(6px);
    margin-bottom: 8px;
}

.sp-carousel {
    width: 100%;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    pointer-events: none;
}

.sp-carousel-track {
    display: flex;
    gap: 18px;
    width: max-content;
    animation: spCarousel 38s linear infinite;
    will-change: transform;
    pointer-events: auto;
}

.sp-carousel-reverse .sp-carousel-track {
    animation-direction: reverse;
    animation-duration: 44s;
}

.sp-carousel:hover .sp-carousel-track {
    animation-play-state: paused;
}

.sp-pp {
    flex: 0 0 auto;
    width: 180px;
    height: 84px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-decoration: none;
    backdrop-filter: blur(6px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 8px 22px rgba(0, 0, 0, 0.30);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.sp-pp:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border-color: rgba(1, 230, 144, 0.42);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 18px 36px rgba(1, 168, 111, 0.22);
}

.sp-pp span {
    pointer-events: none;
}

@keyframes spCarousel {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (max-width: 767.98px) {
    .sp-pp {
        width: 140px;
        height: 72px;
        font-size: 12.5px;
    }

    .sp-past {
        gap: 14px;
    }

    .sp-carousel-track {
        gap: 14px;
    }

    .medical-section h2 {
        font-size: 24px;
        padding: 0 0 30px;
    }
}

/* ========================================
   Navigation primary CTA — gradient pill with pixelated diagonal arrow
   ======================================== */

.nav-cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 4px 4px 4px 16px;
    background: linear-gradient(90deg, #0070fa 0%, #0fbcc0 40%, #ef7b2ed1 75%, #ef7b2eb3 100%);
    background-size: 180% 100%;
    background-position: 0% 50%;
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.9px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16) inset,
        0 0 0 1px rgba(1, 230, 144, 0.10),
        0 8px 22px rgba(0, 0, 0, 0.32),
        0 14px 38px rgba(1, 168, 111, 0.22);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.4s ease,
        background-position 0.4s ease;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.nav-cta:hover,
.nav-cta:focus {
    transform: translateY(-2px);
    color: #ffffff;
    background-position: 30% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22) inset,
        0 0 0 1px rgba(1, 230, 144, 0.22),
        0 12px 28px rgba(0, 0, 0, 0.36),
        0 22px 56px rgba(1, 168, 111, 0.34);
}

.nav-cta-label {
    position: relative;
    z-index: 1;
}

.nav-cta-icon {
    position: relative;
    z-index: 1;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #06241a 0%, #050b16 100%);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgb(239 123 45), 0 0 14px rgba(1, 230, 144, 0.45), 0 0 28px rgba(1, 230, 144, 0.22) inset;
    flex-shrink: 0;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.nav-cta:hover .nav-cta-icon {
    box-shadow:
        0 0 0 1px rgba(1, 230, 144, 0.70),
        0 0 20px rgba(1, 230, 144, 0.65),
        0 0 32px rgba(1, 230, 144, 0.30) inset;
}

.nav-cta-arrow {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: 18px;
    height: 18px;
}

.nav-cta-arrow svg {
    grid-column: 1;
    grid-row: 1;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.nav-cta-arrow svg:nth-child(1) {
    transform: translate(0, 0);
}

.nav-cta-arrow svg:nth-child(2) {
    transform: translate(-110%, 110%);
}

.nav-cta:hover .nav-cta-arrow svg:nth-child(1) {
    transform: translate(110%, -110%);
}

.nav-cta:hover .nav-cta-arrow svg:nth-child(2) {
    transform: translate(0, 0);
}

/* ========================================
   Past Partners — carousel marquee
   (replaces old static grid in #assoction.partner_wrapper)
   ======================================== */

#assoction.pw-carousel-section,
.pw-carousel-section {
    padding: 60px 0;
}

.pw-carousel-section .container {
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
}

.pw-carousel-section .wrap-media {
    text-align: center;
    margin-bottom: 48px;
    padding: 0 16px;
}

.pw-carousel-section .wrap-media h2 {
    margin: 0;
    font-size: clamp(24px, 2.6vw, 36px);
    line-height: 1.2;
    letter-spacing: -0.4px;
}

@media (max-width: 991.98px) {

    #assoction.pw-carousel-section,
    .pw-carousel-section {
        padding: 72px 0 80px;
    }

    .pw-carousel-section .wrap-media {
        margin-bottom: 36px;
    }
}

@media (max-width: 575.98px) {

    div#about h2 {
        font-size: 30px;
    }

    #assoction.pw-carousel-section,
    .pw-carousel-section {
        padding: 56px 0 64px;
    }

    .pw-carousel-section .wrap-media {
        margin-bottom: 28px;
    }
}

.pw-marquee {
    width: 100%;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.pw-track {
    display: flex;
    align-items: center;
    gap: 28px;
    width: max-content;
    animation: pwMarquee 80s linear infinite;
    will-change: transform;
}

.pw-track-rev {
    animation: pwMarqueeRev 80s linear infinite;
}

.pw-marquee:hover .pw-track {
    animation-play-state: paused;
}

.pw-item {
    flex: 0 0 auto;
    width: 200px;
    height: 140px;
    background: #ffffff;
    border: 1px solid rgba(8, 26, 46, 0.08);
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(8, 26, 46, 0.06);
    padding: 14px 20px;
    box-sizing: border-box;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s ease,
        border-color 0.3s ease;
}

.pw-item img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

.pw-item:hover {
    transform: translateY(-4px);
    border-color: rgba(1, 168, 111, 0.32);
    box-shadow: 0 18px 36px rgba(1, 168, 111, 0.14);
}

@keyframes pwMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes pwMarqueeRev {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

@media (max-width: 767.98px) {
    .pw-item {
        width: 156px;
        height: 110px;
        padding: 12px 16px;
    }

    .pw-track {
        gap: 18px;
    }
}

/* ========================================
   Mobile responsiveness — consolidated fixes
   Covers gaps across .nav-cta, .hv-section,
   .kt-section, .sp-section, .pw-carousel-section,
   and .eh-section sticky stack.
   ======================================== */

/* ---- Tablet (<= 991.98px) ---- */
@media (max-width: 991.98px) {
    .nav-cta {
        padding: 5px 5px 5px 18px;
        gap: 10px;
        font-size: 11.5px;
        letter-spacing: 0.6px;
    }

    .nav-cta-arrow {
        width: 26px;
        height: 26px;
    }

    .nav-cta-arrow svg {
        width: 12px;
        height: 12px;
    }

    .hv-marquee {
        bottom: 140px;
    }

    .hv-marquee .hv-marquee-track {
        gap: 36px;
    }

    .pw-item {
        width: 178px;
        height: 124px;
    }

    .pw-track {
        gap: 22px;
        animation-duration: 42s;
    }
}

/* ---- Mobile (<= 767.98px) ---- */
@media (max-width: 767.98px) {
    .nav-cta {
        padding: 5px 5px 5px 16px;
        gap: 8px;
        font-size: 11px;
    }

    .nav-cta-arrow {
        width: 24px;
        height: 24px;
    }

    .nav-cta-arrow svg {
        width: 11px;
        height: 11px;
    }

    .hv-section .hv-section-head {
        padding: 0 16px;
    }

    .hv-marquee {
        bottom: 90px;
    }

    .hv-marquee .hv-marquee-item {
        font-size: 13px;
        gap: 8px;
    }

    .hv-marquee .hv-marquee-item svg,
    .hv-marquee .hv-marquee-item img {
        width: 16px;
        height: 16px;
    }

    .hv-marquee .hv-marquee-track {
        gap: 26px;
    }

    /* Three Days. One Ecosystem — collapse sticky stack safely */
    .eh-section .eh-card {
        position: relative !important;
        top: auto !important;
    }

    .eh-section .eh-card+.eh-card {
        margin-top: 18px;
    }

    .kt-section {
        padding: 56px 0 64px;
    }

    .kt-section .kt-head {
        padding: 0 12px;
        margin-bottom: 36px;
    }

    .kt-track-card {
        padding: 22px 18px;
    }

    .sp-section {
        padding: 56px 0 64px;
    }

    .sp-section .sp-head {
        padding: 0 12px;
        margin-bottom: 36px;
    }

    .sp-section .sp-head .sp-sub {
        font-size: 13px;
    }

    .sp-tiers {
        gap: 12px;
    }

    .pw-carousel-section .wrap-media {
        padding: 0 12px;
    }

    .pw-track {
        animation-duration: 38s;
    }
}

/* ---- Small Mobile (<= 575.98px) ---- */
@media (max-width: 575.98px) {
    .nav-cta {
        padding: 4px 4px 4px 14px;
        gap: 8px;
        font-size: 10.5px;
        letter-spacing: 0.5px;
    }

    .nav-cta-arrow {
        width: 22px;
        height: 22px;
    }

    .nav-cta-arrow svg {
        width: 10px;
        height: 10px;
    }

    .hv-marquee {
        bottom: 70px;
    }

    .hv-marquee .hv-marquee-item {
        font-size: 12px;
    }

    .hv-marquee .hv-marquee-track {
        gap: 20px;
    }

    .kt-section {
        padding: 48px 0 56px;
    }

    .kt-section .kt-head {
        margin-bottom: 28px;
    }

    .kt-track-card {
        padding: 20px 16px;
    }

    .kt-track-card .kt-track-head {
        padding: 14px 16px;
    }

    .sp-section {
        padding: 48px 0 56px;
    }

    .sp-section .sp-head {
        margin-bottom: 28px;
    }

    .sp-tier {
        min-height: 84px;
        padding: 14px 12px;
    }

    .sp-tier .sp-tier-name {
        font-size: 13px;
        line-height: 1.25;
    }

    .pw-carousel-section .wrap-media {
        margin-bottom: 24px;
    }

    .pw-item {
        width: 140px;
        height: 96px;
        padding: 10px 14px;
        border-radius: 10px;
    }

    .pw-track {
        gap: 14px;
        animation-duration: 32s;
    }
}

/* ---- Reduce video-background performance load on small screens ---- */
@media (max-width: 767.98px) {

    .sp-section .sp-video,
    .hv-section .hv-bg-video {
        transform: scale(1.05);
    }
}

/* ---- Hard viewport clamp on mobile — prevents horizontal scroll/overflow ---- */
/* NOTE: use overflow-x: clip (not hidden) so sticky positioning still works */
@media (max-width: 991.98px) {

    html,
    body {
        overflow-x: clip;
        max-width: 100vw;
    }

    section,
    header,
    footer,
    main,
    .container,
    .container-fluid,
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm {
        max-width: 100%;
    }

    .row {
        margin-left: 0;
        margin-right: 0;
    }

    img,
    video,
    iframe,
    svg {
        max-width: 100%;
        height: auto;
    }

    .hv-section,
    .kt-section,
    .sp-section,
    .pw-carousel-section,
    #assoction.pw-carousel-section {
        overflow-x: clip;
    }

    /* .eh-section intentionally NOT clamped here — its mobile rule scopes overflow only on .eh-grid (the slider) */
}

/* ========================================
   Three Days / Ecosystem — MOBILE SLIDER ONLY
   Image already on top of each .eh-card, body below.
   On mobile, flip .eh-grid into a horizontal
   scroll-snap slider. Desktop is untouched.
   ======================================== */
@media (max-width: 767.98px) {
    .eh-section .eh-split {
        display: block;
    }

    .eh-section .eh-split>.eh-header {
        padding: 0 16px;
        margin-bottom: 22px;
    }

    .eh-section .eh-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 6px 16px 22px !important;
        margin: 0 -16px !important;
        scroll-padding-left: 16px;
        scrollbar-width: none;
        max-width: none !important;
        min-height: 0 !important;
        perspective: none !important;
        align-items: flex-start !important;
    }

    .eh-section .eh-grid::-webkit-scrollbar {
        display: none;
    }

    .eh-section .eh-card,
    .eh-section .eh-card:nth-child(1),
    .eh-section .eh-card:nth-child(2),
    .eh-section .eh-card:nth-child(even) {
        position: relative !important;
        top: auto !important;
        margin: 0 !important;
        flex: 0 0 86% !important;
        max-width: 86% !important;
        height: 420px !important;
        min-height: 420px !important;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        display: block !important;
        grid-template-columns: none !important;
        overflow: hidden;
        border-radius: 18px;
    }

    /* Image fills the entire card as background */
    .eh-section .eh-card .eh-card-img,
    .eh-section .eh-card:nth-child(1) .eh-card-img,
    .eh-section .eh-card:nth-child(2) .eh-card-img,
    .eh-section .eh-card:nth-child(even) .eh-card-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        z-index: 0;
        background: #08243b;
        overflow: hidden;
    }

    .eh-section .eh-card .eh-card-img img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block;
    }

    /* Dark gradient over image so text on top stays legible */
    .eh-section .eh-card .eh-card-img::after {
        content: '' !important;
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg,
                rgba(5, 24, 42, 0.20) 0%,
                rgba(5, 24, 42, 0.55) 55%,
                rgba(5, 24, 42, 0.92) 100%) !important;
        height: auto !important;
        z-index: 1;
        pointer-events: none;
    }

    /* Body overlaid at the bottom of the card */
    .eh-section .eh-card .eh-card-body {
        position: absolute !important;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 18px 20px 22px !important;
        width: 100%;
        gap: 6px;
        z-index: 2;
        justify-content: flex-end !important;
        align-items: flex-start !important;
        flex: 0 0 auto !important;
        color: #fff;
    }

    .eh-section .eh-card .eh-card-icon {
        width: 30px;
        height: 30px;
        font-size: 14px;
        margin-bottom: 6px;
        background: linear-gradient(135deg, rgba(2, 196, 127, 0.95), rgba(43, 189, 230, 0.95));
        color: #fff;
        border-color: rgba(255, 255, 255, 0.25);
    }

    .eh-section .eh-card::before,
    .eh-section .eh-card:nth-child(even)::before {
        left: auto;
        right: 14px;
        top: 12px;
        font-size: 52px;
        color: rgba(255, 255, 255, 0.18);
        z-index: 2;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    }

    .eh-section .eh-card .eh-card-tag {
        position: absolute;
        top: 14px;
        left: 14px;
        bottom: auto;
        font-size: 10px;
        padding: 5px 10px;
        letter-spacing: 1px;
        background: rgba(2, 196, 127, 0.92);
        color: #fff;
        z-index: 2;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
    }

    .eh-section .eh-card .eh-card-title {
        font-size: 19px;
        max-width: none;
        margin-bottom: 6px;
        color: #fff !important;
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
    }

    .eh-section .eh-card .eh-card-title::after {
        width: 36px;
        height: 2px;
        margin: 6px 0 0;
        background: linear-gradient(90deg, #01e690 0%, #f5b942 100%);
    }

    .eh-section .eh-card .eh-card-desc {
        font-size: 12.5px;
        max-width: none;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.86) !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    }
}

/* ---- Dots pagination for the .eh-section mobile slider ---- */
.eh-dots {
    display: none;
}

@media (max-width: 767.98px) {
    .eh-section .eh-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin: 18px 16px 0;
        padding: 0;
        list-style: none;
    }

    .eh-section .eh-dots .eh-dot {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.28);
        border: 0;
        padding: 0;
        cursor: pointer;
        transition: width 0.32s cubic-bezier(0.22, 1, 0.36, 1),
            background 0.32s ease,
            transform 0.32s ease;
        flex: 0 0 auto;
    }

    .eh-section .eh-dots .eh-dot.is-active {
        width: 26px;
        background: linear-gradient(90deg, #01a86f 0%, #f5b942 100%);
    }

    .eh-section .eh-dots .eh-dot:focus-visible {
        outline: 2px solid rgba(245, 185, 66, 0.6);
        outline-offset: 3px;
    }
}

/* ========================================
   Highlight Video — MOBILE FIX
   Stop the monitor frame overlapping the heading copy
   and stop the marquee bleeding into the CTA.
   ======================================== */
@media (max-width: 767.98px) {
    .hv-section .hv-frame {
        margin-top: 24px !important;
    }

    .hv-section .hv-marquee {
        display: none !important;
    }

    .hv-section .hv-cta {
        margin-top: 18px !important;
        position: relative;
        z-index: 5;
    }

    .hv-section .hv-subtext {
        margin-bottom: 0 !important;
    }
}

/* ========================================
   Key Themes headline — MOBILE FIX
   Break before the gradient pill so it sits on
   its own line below the regular heading text.
   ======================================== */
@media (max-width: 767.98px) {
    .kt-section .kt-headline {
        white-space: normal !important;
        font-size: 32px !important;
        line-height: 1.1 !important;
        letter-spacing: -0.02em;
        padding: 0 12px;
        text-align: center;
    }

    .kt-section .kt-headline-accent {
        display: inline;
        margin-top: 0;
        padding: 0;
        font-size: inherit;
        line-height: inherit;
        border-radius: 0;
        white-space: normal;
    }

    .kt-section .kt-headline-accent::before {
        content: none;
    }
}

@media (max-width: 420px) {
    .kt-section .kt-headline {
        font-size: 32px !important;
        padding: 0 8px;
    }

    .kt-section .kt-headline-accent {
        padding: 0;
        border-radius: 0;
    }
}

@media (max-width: 360px) {
    .kt-section .kt-headline {
        font-size: 32px !important;
    }
}

/* ========================================
   Hero CTA buttons — pixelated-arrow icon
   (same arrow design as navbar .nav-cta, but
    each button keeps its existing gradient colors)
   ======================================== */
a.hero-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    overflow: hidden;
}

.hero-btn-label {
    position: relative;
    z-index: 1;
}

.hero-btn-icon {
    position: relative;
    z-index: 1;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    flex-shrink: 0;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

a.hero-btn-primary .hero-btn-icon {
    background: linear-gradient(180deg, #c67f7e 0%, #ed7b32 55%, #ed7b32 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.40),
        0 0 14px rgba(2, 216, 138, 0.55),
        0 0 28px rgba(2, 216, 138, 0.22) inset;
}

a.hero-btn-primary:hover .hero-btn-icon {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.65),
        0 0 20px rgba(2, 216, 138, 0.70),
        0 0 32px rgba(2, 216, 138, 0.30) inset;
}

a.hero-btn-secondary .hero-btn-icon {
    background: radial-gradient(circle at 30% 30%, #122d52 0%, #060d1a 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.40),
        0 0 14px rgba(48, 96, 168, 0.55),
        0 0 28px rgba(48, 96, 168, 0.22) inset;
}

a.hero-btn-secondary:hover .hero-btn-icon {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.65),
        0 0 20px rgba(48, 96, 168, 0.70),
        0 0 32px rgba(48, 96, 168, 0.30) inset;
}

a.hero-btn-outline .hero-btn-icon {
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.06) 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.55),
        0 0 12px rgba(255, 255, 255, 0.28),
        0 0 24px rgba(255, 255, 255, 0.10) inset;
}

a.hero-btn-outline:hover .hero-btn-icon {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.75),
        0 0 18px rgba(255, 255, 255, 0.40),
        0 0 30px rgba(255, 255, 255, 0.16) inset;
}

.hero-btn-arrow {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: 18px;
    height: 18px;
}

.hero-btn-arrow svg {
    grid-column: 1;
    grid-row: 1;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-btn-arrow svg:nth-child(1) {
    transform: translate(0, 0);
}

.hero-btn-arrow svg:nth-child(2) {
    transform: translate(-110%, 110%);
}

a.hero-btn:hover .hero-btn-arrow svg:nth-child(1) {
    transform: translate(110%, -110%);
}

a.hero-btn:hover .hero-btn-arrow svg:nth-child(2) {
    transform: translate(0, 0);
}

@media (max-width: 767.98px) {

    /* One button per row on mobile (stacked), narrower than full width */
    .hero-cta-btns {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        /* Clear the absolutely-positioned countdown card pinned to bottom */
        margin-bottom: 140px;
    }

    a.hero-btn {
        width: auto;
        max-width: 260px;
        justify-content: space-between;
    }
}

@media (max-width: 575.98px) {
    .hero-cta-btns {
        /* Sub-text hides at this breakpoint so the countdown is shorter */
        margin-bottom: 110px;
    }
}

@media (max-width: 374.98px) {
    .hero-cta-btns {
        margin-bottom: 95px;
    }
}

/* Medium devices (1200–1399px) — push hero content below navbar so the logo
   stops touching the top header band, and shrink the logo so its upward
   capsule cap clears the navbar. Keep buttons in view. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .tp-hero-area .tp-hero-it-content.mb-40 {
        top: 100px !important;
        bottom: 40px !important;
        padding: 20px 60px !important;
        justify-content: center !important;
    }

    .tp-hero-area .tp-hero-it-content.mb-40 img.hero-logo {
        width: 420px;
        max-width: 100%;
    }

    .tp-hero-area .hero-cta-btns {
        margin-top: 18px;
    }
}

/* Event highlights bento mosaic layout - dark mode */
.eh-section#event-highlights {
    position: relative;
    overflow: hidden !important;
    padding: 60px 0 !important;
    background:
        /* Dark gradient overlay on top of the photo so the white text stays readable */
        linear-gradient(180deg, rgba(5, 24, 42, 0.82) 0%, rgba(7, 31, 51, 0.78) 55%, rgba(4, 16, 30, 0.88) 100%),
        url('../../images/three_bg.JPG') center / cover no-repeat,
        linear-gradient(180deg, #05182a 0%, #071f33 55%, #04101e 100%) !important;
    background-attachment: scroll, fixed, scroll !important;
}

.eh-section#event-highlights::before {
    content: none;
}

.eh-section#event-highlights::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 5px;
    background: linear-gradient(90deg, #08243b 0%, #01a86f 50%, #f5b942 100%);
    pointer-events: none;
}

.eh-section#event-highlights .eh-container {
    max-width: 1280px !important;
    padding: 0 36px !important;
    position: relative;
    z-index: 1;
}

.eh-section#event-highlights .eh-split {
    display: block !important;
}

.eh-section#event-highlights .eh-header {
    position: relative !important;
    top: auto !important;
    display: block !important;
    max-width: 920px !important;
    margin: 0 auto 56px !important;
    padding: 0 !important;
    text-align: center !important;
    grid-template-columns: none !important;
}

.eh-section#event-highlights .eh-header>div {
    max-width: none !important;
    width: 100% !important;
}

.eh-section#event-highlights .eh-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 18px !important;
    color: #bdf4da !important;
    background: rgba(1, 168, 111, 0.14) !important;
    border: 1px solid rgba(158, 232, 200, 0.26) !important;
    letter-spacing: 3px !important;
    font-weight: 800 !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
}

.eh-section#event-highlights .eh-headline {
    max-width: none !important;
    margin: 0 auto 30px !important;
    color: #ffffff !important;
    font-size: 40px !important;
    font-family: 'Cairo' !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.eh-section#event-highlights .eh-headline em,
.eh-section#event-highlights .eh-headline em .eh-char {
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    color: #2bbde6 !important;
}

.eh-section#event-highlights .eh-intro {
    max-width: 640px !important;
    margin: 16px auto 0 !important;
    color: rgba(255, 255, 255, 0.70) !important;
    font-size: 15px !important;
    text-align: center !important;
}

/* ── CAROUSEL — full-bleed, edge to edge ── */
.eh-section#event-highlights .eh-carousel {
    position: relative;
    /* break out of the constrained container to span the viewport */
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0 0 56px;
}

.eh-section#event-highlights .eh-swiper {
    position: relative;
    overflow: hidden;
    padding: 6px 0 12px;
    margin: 0;
}

/* Black fade masks on left and right edges */
.eh-section#event-highlights .eh-swiper::before,
.eh-section#event-highlights .eh-swiper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: clamp(80px, 10vw, 200px);
    z-index: 5;
    pointer-events: none;
}

.eh-section#event-highlights .eh-swiper::before {
    left: 0;
    background: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0) 100%);
}

.eh-section#event-highlights .eh-swiper::after {
    right: 0;
    background: linear-gradient(270deg, #000 0%, rgba(0, 0, 0, 0) 100%);
}

.eh-section#event-highlights .eh-grid {
    position: relative;
    display: flex !important;
    flex-direction: row !important;
    grid-template-columns: none !important;
    grid-auto-rows: auto !important;
    gap: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    min-height: 0 !important;
    perspective: none !important;
    align-items: stretch !important;
}

.eh-section#event-highlights .eh-grid::before {
    content: none;
}

/* Slide / card — full-image overlay layout */
.eh-section#event-highlights .eh-card,
.eh-section#event-highlights .eh-card:nth-child(1),
.eh-section#event-highlights .eh-card:nth-child(2),
.eh-section#event-highlights .eh-card:nth-child(even) {
    position: relative !important;
    top: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 0 !important;
    height: auto !important;
    min-height: 360px !important;
    aspect-ratio: 4 / 5;
    /* margin-right is set by Swiper from spaceBetween — don't override it */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #08243b !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34) !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: transform 0.38s ease, box-shadow 0.38s ease, border-color 0.38s ease !important;
    z-index: 2 !important;
    isolation: isolate;
}

.eh-section#event-highlights .eh-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(245, 185, 66, 0.50) !important;
    box-shadow: 0 30px 64px rgba(0, 0, 0, 0.48) !important;
}

/* Swiper height-matching */
.eh-section#event-highlights .eh-swiper .swiper-wrapper {
    align-items: stretch;
}

.eh-section#event-highlights .eh-card.swiper-slide {
    height: auto !important;
}

/* ── Image — full-bleed, fills the entire card ── */
.eh-section#event-highlights .eh-card-img,
.eh-section#event-highlights .eh-card:nth-child(1) .eh-card-img,
.eh-section#event-highlights .eh-card:nth-child(2) .eh-card-img,
.eh-section#event-highlights .eh-card:nth-child(even) .eh-card-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
    z-index: 0;
}

.eh-section#event-highlights .eh-card-img img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
    transition: transform 0.65s ease !important;
}

.eh-section#event-highlights .eh-card:hover .eh-card-img img {
    transform: scale(1.06) !important;
}

/* Strong bottom-to-top gradient to legibilise overlay text */
.eh-section#event-highlights .eh-card-img::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    background:
        linear-gradient(180deg, rgba(8, 36, 59, 0.15) 0%, rgba(8, 36, 59, 0.05) 40%, rgba(5, 24, 42, 0.85) 78%, rgba(4, 16, 30, 0.96) 100%) !important;
    pointer-events: none;
    z-index: 1;
}

/* Category tag pills and number badges are hidden in this layout */
.eh-section#event-highlights .eh-card-tag,
.eh-section#event-highlights .eh-card::before {
    display: none !important;
    content: none !important;
}

/* ── Body — anchored to bottom over the image ── */
.eh-section#event-highlights .eh-card-body,
.eh-section#event-highlights .eh-card:nth-child(even) .eh-card-body {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    flex: none !important;
    display: block !important;
    padding: 22px 22px 24px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    z-index: 2 !important;
}

.eh-section#event-highlights .eh-card-icon {
    display: none !important;
}

.eh-section#event-highlights .eh-card-title,
.eh-section#event-highlights .eh-card:nth-child(1) .eh-card-title,
.eh-section#event-highlights .eh-card:nth-child(3) .eh-card-title {
    max-width: none !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    line-height: 1.22 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Hide the underline by default — it appears with the description on hover */
.eh-section#event-highlights .eh-card-title::after,
.eh-section#event-highlights .eh-card:nth-child(1) .eh-card-title::after {
    display: block !important;
    width: 38px !important;
    height: 3px !important;
    margin-top: 10px !important;
    background: linear-gradient(90deg, #01a86f 0%, #f5b942 100%) !important;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.4s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Description — hidden by default, revealed on hover */
.eh-section#event-highlights .eh-card-desc,
.eh-section#event-highlights .eh-card:nth-child(1) .eh-card-desc {
    max-width: none !important;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(8px);
    transition: opacity 0.4s ease, max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), margin-top 0.45s ease !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
}

/* Hover state — reveal underline + description */
.eh-section#event-highlights .eh-card:hover .eh-card-title,
.eh-section#event-highlights .eh-card:focus-within .eh-card-title {
    transform: translateY(-2px);
}

.eh-section#event-highlights .eh-card:hover .eh-card-title::after,
.eh-section#event-highlights .eh-card:focus-within .eh-card-title::after {
    opacity: 1;
    transform: translateY(0);
}

.eh-section#event-highlights .eh-card:hover .eh-card-desc,
.eh-section#event-highlights .eh-card:focus-within .eh-card-desc {
    opacity: 1;
    max-height: 160px;
    transform: translateY(0);
    margin-top: 12px !important;
}

/* ── Navigation arrows ── */
.eh-section#event-highlights .eh-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    cursor: pointer;
    z-index: 10;
    backdrop-filter: blur(8px);
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.eh-section#event-highlights .eh-nav:hover {
    background: #f5b942;
    border-color: #f5b942;
    color: #08243b;
    transform: translateY(-50%) scale(1.06);
}

.eh-section#event-highlights .eh-nav-prev {
    left: 24px;
}

.eh-section#event-highlights .eh-nav-next {
    right: 24px;
}

.eh-section#event-highlights .eh-nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* ── Pagination dots ── */
.eh-section#event-highlights .eh-swiper-pagination {
    position: absolute;
    bottom: -42px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    z-index: 5;
}

.eh-section#event-highlights .eh-swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    opacity: 1;
    transition: width 0.3s ease, background 0.3s ease;
}

.eh-section#event-highlights .eh-swiper-pagination .swiper-pagination-bullet-active {
    width: 28px;
    background: #f5b942;
}

.eh-section#event-highlights .eh-dots {
    display: none !important;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
    .eh-section#event-highlights .eh-nav-prev {
        left: 14px;
    }

    .eh-section#event-highlights .eh-nav-next {
        right: 14px;
    }
}

@media (max-width: 767.98px) {
    .eh-section#event-highlights {
        padding: 62px 0 70px !important;
    }

    .eh-section#event-highlights .eh-container {
        padding: 0 18px !important;
    }

    .eh-section#event-highlights .eh-header {
        margin-bottom: 32px !important;
        text-align: center !important;
    }

    .eh-section#event-highlights .eh-headline {
        font-size: 28px !important;
        white-space: normal !important;
        line-height: 1.2 !important;
    }

    .eh-section#event-highlights .eh-intro {
        font-size: 14px !important;
    }

    .eh-section#event-highlights .eh-carousel {
        padding-bottom: 48px;
    }

    .eh-section#event-highlights .eh-nav {
        display: none;
    }

    .eh-section#event-highlights .eh-card,
    .eh-section#event-highlights .eh-card:nth-child(1),
    .eh-section#event-highlights .eh-card:nth-child(2),
    .eh-section#event-highlights .eh-card:nth-child(even) {
        min-height: 340px !important;
    }

    .eh-section#event-highlights .eh-card-body,
    .eh-section#event-highlights .eh-card:nth-child(even) .eh-card-body {
        padding: 20px 18px 22px !important;
    }

    .eh-section#event-highlights .eh-card-title,
    .eh-section#event-highlights .eh-card:nth-child(1) .eh-card-title,
    .eh-section#event-highlights .eh-card:nth-child(3) .eh-card-title {
        font-size: 19px !important;
    }
}


/* ========================================
   Exhibitors Profile — redesigned
   ======================================== */

section#exhibitors.ep-section {
    position: relative;
    padding: 50px 0 !important;
    background: #ffffff !important;
    background-attachment: initial !important;
    overflow: hidden;
}

section#exhibitors.ep-section::before {
    content: none;
}

section#exhibitors.ep-section .ep-container {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 36px;
    z-index: 1;
}

section#exhibitors.ep-section .ep-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 48px;
}

section#exhibitors.ep-section .ep-eyebrow {
    display: inline-flex;
    align-items: center;
    color: #0a4a87;
    background: rgba(11, 108, 176, 0.10);
    border: 1px solid rgba(11, 108, 176, 0.26);
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    padding: 8px 18px;
    border-radius: 999px;
    margin-bottom: 18px;
    text-transform: uppercase;
}

section#exhibitors.ep-section .ep-headline {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: clamp(28px, 3.6vw, 46px);
    font-weight: 900;
    color: #08243b;
    line-height: 1.04;
    letter-spacing: 0;
    margin: 0;
    text-align: center;
}

section#exhibitors.ep-section .ep-headline em {
    font-style: normal;
    color: #0b6cb0;
    background: linear-gradient(135deg, #00b4dc 0%, #0a2a5e 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

section#exhibitors.ep-section .ep-intro {
    font-family: 'National Park', sans-serif;
    font-size: 15px;
    color: #4c5c66;
    line-height: 1.7;
    max-width: 640px;
    margin: 16px auto 0;
}

/* Grid */
section#exhibitors.ep-section .ep-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
}

section#exhibitors.ep-section #extraContent2.ep-grid-extra {
    display: none;
    margin-top: 16px;
}

/* Card */
section#exhibitors.ep-section .ep-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 22px 16px 20px;
    background: #ffffff;
    border: 1px solid rgba(8, 36, 59, 0.08);
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(8, 36, 59, 0.06);
    cursor: default;
    overflow: hidden;
    /* entrance reveal: hidden until .ep-visible is added by the observer.
       Using transitions (not animation) so :hover transforms don't fight the
       animation's `forwards` state and cause the entrance to re-trigger. */
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        background 0.35s ease;
}

section#exhibitors.ep-section .ep-card.ep-visible {
    opacity: 1;
    transform: translateY(0);
}

section#exhibitors.ep-section .ep-card::before {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 3px;
    background: linear-gradient(90deg, #00b4dc 0%, #f5b942 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

section#exhibitors.ep-section .ep-card.ep-visible:hover {
    transform: translateY(-4px);
    border-color: rgba(11, 108, 176, 0.40);
    box-shadow: 0 18px 38px rgba(8, 36, 59, 0.12);
}

section#exhibitors.ep-section .ep-card:hover::before {
    transform: scaleX(1);
}

/* Icon badge */
section#exhibitors.ep-section .ep-card-icon {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(0, 180, 220, 0.14) 0%, rgba(245, 185, 66, 0.10) 100%);
    border: 1px solid rgba(11, 108, 176, 0.22);
    margin-bottom: 14px;
    transition: background 0.35s ease, border-color 0.35s ease, transform 0.5s ease;
}

section#exhibitors.ep-section .ep-card:hover .ep-card-icon {
    background: linear-gradient(135deg, #08243b 0%, #0a2a45 100%);
    border-color: #08243b;
    transform: rotate(6deg);
}

section#exhibitors.ep-section .ep-card-icon img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    transition: filter 0.35s ease, transform 0.5s ease;
}

section#exhibitors.ep-section .ep-card:hover .ep-card-icon img {
    filter: brightness(0) saturate(100%) invert(74%) sepia(58%) saturate(560%) hue-rotate(355deg) brightness(102%) contrast(96%);
}

/* Label */
section#exhibitors.ep-section .ep-card-label {
    display: block;
    font-family: 'National Park', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    color: #08243b;
    line-height: 1.4;
    letter-spacing: 0.1px;
    transition: color 0.35s ease;
}

/* CTA button */
section#exhibitors.ep-section .ep-cta-wrap {
    margin-top: 40px;
    text-align: center;
}

section#exhibitors.ep-section .ep-toggle.toggleBtn2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px !important;
    background: linear-gradient(135deg, #08243b 0%, #0a2a45 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(245, 185, 66, 0.40) !important;
    border-radius: 999px !important;
    font-family: 'National Park', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
    box-shadow: 0 8px 20px rgba(8, 36, 59, 0.18);
}

section#exhibitors.ep-section .ep-toggle.toggleBtn2:hover {
    transform: translateY(-2px);
    border-color: #f5b942 !important;
    background: linear-gradient(135deg, #0a2a45 0%, #08243b 100%) !important;
    box-shadow: 0 18px 36px rgba(8, 36, 59, 0.28);
}

section#exhibitors.ep-section .ep-toggle.toggleBtn2 svg {
    color: #f5b942;
}

/* Responsive */
@media (max-width: 1180px) {
    section#exhibitors.ep-section .ep-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    section#exhibitors.ep-section {
        padding: 62px 0 70px !important;
    }

    section#exhibitors.ep-section .ep-container {
        padding: 0 18px;
    }

    section#exhibitors.ep-section .ep-header {
        margin-bottom: 32px;
    }

    section#exhibitors.ep-section .ep-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    section#exhibitors.ep-section .ep-card {
        padding: 18px 12px 16px;
    }

    section#exhibitors.ep-section .ep-card-icon {
        width: 52px;
        height: 52px;
    }

    section#exhibitors.ep-section .ep-card-icon img {
        width: 28px;
        height: 28px;
    }

    section#exhibitors.ep-section .ep-card-label {
        font-size: 11.5px;
    }
}

@media (max-width: 460px) {
    section#exhibitors.ep-section .ep-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ========================================
   Contact Us — redesigned
   ======================================== */

section#contact.cu-section {
    position: relative;
    padding: 72px 0 72px !important;
    margin-bottom: 0 !important;
    background:
        radial-gradient(700px 320px at 10% 0%, rgba(43, 189, 230, 0.08) 0%, transparent 60%),
        radial-gradient(700px 320px at 92% 96%, rgba(15, 188, 192, 0.06) 0%, transparent 60%),
        #ffffff !important;
    background-size: auto !important;
    background-position: initial !important;
    overflow: hidden;
}

section#contact.cu-section::before {
    content: none;
}

section#contact.cu-section::after {
    content: none;
}

section#contact.cu-section .cu-container {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 36px;
    z-index: 1;
}

section#contact.cu-section .cu-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 24px;
}

section#contact.cu-section .cu-eyebrow {
    display: inline-flex;
    align-items: center;
    color: #0070fa;
    background: rgba(43, 189, 230, 0.10);
    border: 1px solid rgba(43, 189, 230, 0.30);
    font-family: 'DM Sans', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 10px;
    text-transform: uppercase;
}

section#contact.cu-section .cu-headline {
    font-family: 'Cairo', sans-serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    color: #0c1a2e !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    text-transform: uppercase !important;
    margin: 0 auto 10px !important;
    margin-top: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

section#contact.cu-section .cu-headline em {
    font-style: normal;
    color: #2bbde6;
}

section#contact.cu-section .cu-intro {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: rgba(10, 30, 61, 0.65);
    line-height: 1.6;
    margin: 4px auto 0;
}

/* Grid */
section#contact.cu-section .cu-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    max-width: 1100px;
    margin: 0 auto;
}

/* Phone card sits alone on top row, centered, same width as the 3 email cards below */
section#contact.cu-section .cu-grid .cu-card-phone {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 24px) / 3);
}

/* Card — compact horizontal layout */
section#contact.cu-section .cu-card {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas:
        "icon title"
        "icon email";
    column-gap: 14px;
    row-gap: 2px;
    align-items: center;
    min-height: 120px;
    padding: 24px 22px;
    background: #ffffff;
    border: 1px solid rgba(10, 30, 61, 0.08);
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(10, 30, 61, 0.04);
    backdrop-filter: none;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

section#contact.cu-section .cu-card-icon {
    grid-area: icon;
    align-self: center;
}

section#contact.cu-section .cu-card-title {
    grid-area: title;
    min-width: 0;
    align-self: end;
}

section#contact.cu-section .cu-card-email {
    grid-area: email;
    min-width: 0;
    align-self: start;
    overflow-wrap: anywhere;
}

section#contact.cu-section .cu-card::before {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 3px;
    background: linear-gradient(90deg, #0070fa 0%, #2bbde6 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 2;
}

section#contact.cu-section .cu-card:hover {
    transform: translateY(-3px);
    border-color: rgba(43, 189, 230, 0.40);
    box-shadow: 0 12px 28px rgba(10, 30, 61, 0.08);
    background: #ffffff;
}

section#contact.cu-section .cu-card:hover::before {
    transform: scaleX(1);
}

/* Icon */
section#contact.cu-section .cu-card-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(43, 189, 230, 0.10);
    border: 1px solid rgba(43, 189, 230, 0.25);
    color: #0070fa;
    margin: 0;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.35s ease;
}

section#contact.cu-section .cu-card-icon svg {
    width: 18px;
    height: 18px;
}

section#contact.cu-section .cu-card:hover .cu-card-icon {
    background: linear-gradient(135deg, #0070fa 0%, #2bbde6 100%);
    border-color: transparent;
    color: #ffffff;
    transform: rotate(-6deg);
}

/* Tag pill */
section#contact.cu-section .cu-card-tag {
    display: inline-flex;
    align-items: center;
    font-family: 'DM Sans', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #0070fa;
    background: rgba(43, 189, 230, 0.10);
    border: 1px solid rgba(43, 189, 230, 0.22);
    padding: 5px 11px;
    border-radius: 999px;
    margin-bottom: 12px;
}

/* Title */
section#contact.cu-section .cu-card-title {
    font-family: 'Cairo', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #0c1a2e;
    line-height: 1.2;
    letter-spacing: 0.4px;
    margin: 0 0 2px;
    text-transform: uppercase;
}

/* Email */
section#contact.cu-section .cu-card-email {
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: rgba(10, 30, 61, 0.65);
    word-break: break-word;
    letter-spacing: 0;
    transition: color 0.25s ease;
}

section#contact.cu-section .cu-card:hover .cu-card-email {
    color: #0070fa;
}

/* Arrow */
section#contact.cu-section .cu-card-arrow {
    position: absolute;
    top: 24px;
    right: 24px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(43, 189, 230, 0.10);
    border: 1px solid rgba(43, 189, 230, 0.22);
    color: #0070fa;
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), background 0.38s ease, color 0.38s ease, border-color 0.38s ease;
}

section#contact.cu-section .cu-card:hover .cu-card-arrow {
    transform: translate(4px, -4px);
    background: linear-gradient(135deg, #0070fa 0%, #2bbde6 100%);
    color: #ffffff;
    border-color: transparent;
}

/* Suppress old #contact styles within this scope */
section#contact.cu-section .wrap-contactsec,
section#contact.cu-section .wrap-contas,
section#contact.cu-section .loc {
    all: revert;
}

/* Responsive */
@media (max-width: 991px) {
    section#contact.cu-section .cu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    section#contact.cu-section .cu-grid .cu-card-phone {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc(50% - 5px);
    }
}

@media (max-width: 560px) {
    section#contact.cu-section .cu-grid {
        grid-template-columns: 1fr;
    }

    section#contact.cu-section .cu-grid .cu-card-phone {
        grid-column: 1;
        width: auto;
    }
}

@media (max-width: 760px) {
    section#contact.cu-section {
        padding: 32px 0 36px !important;
    }

    section#contact.cu-section .cu-container {
        padding: 0 18px;
    }

    section#contact.cu-section .cu-header {
        margin-bottom: 20px;
    }

    section#contact.cu-section .cu-card {
        padding: 14px 16px;
    }
}

/* ========================================
   .nav-cta — section-themed color variants
   Same shape, structure, hover swipe as navbar CTA;
   only background gradient + icon halo + glow shadow change.
   ======================================== */

/* Cyan / teal — Hero "Book Your Space" */
.nav-cta--cyan {
    background: linear-gradient(90deg, #2bbde6 0%, #2ec1a8 100%);
    background-size: 180% 100%;
    background-position: 0% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18) inset,
        0 0 0 1px rgba(46, 193, 168, 0.20),
        0 8px 22px rgba(0, 0, 0, 0.32),
        0 14px 38px rgba(43, 189, 230, 0.34);
}

.nav-cta--cyan:hover,
.nav-cta--cyan:focus {
    background-position: 30% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.24) inset,
        0 0 0 1px rgba(46, 193, 168, 0.32),
        0 12px 28px rgba(0, 0, 0, 0.36),
        0 22px 56px rgba(43, 189, 230, 0.48);
}

.nav-cta--cyan .nav-cta-icon {
    background: radial-gradient(circle at 30% 30%, #0c2a2e 0%, #061018 100%);
    box-shadow: 0 0 0 1px rgb(46 193 168), 0 0 14px rgba(46, 193, 168, 0.45), 0 0 28px rgba(43, 189, 230, 0.22) inset;
}

.nav-cta--cyan:hover .nav-cta-icon {
    box-shadow:
        0 0 0 1px rgba(46, 193, 168, 0.80),
        0 0 20px rgba(46, 193, 168, 0.65),
        0 0 32px rgba(43, 189, 230, 0.30) inset;
}

/* Navy / purple — Hero "Register as Visitor" */
.nav-cta--navy {
    background: linear-gradient(180deg, #6464f4 0%, #013c8a 55%, #122d52 100%);
    background-size: 100% 180%;
    background-position: 50% 0%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16) inset,
        0 0 0 1px rgba(100, 100, 244, 0.22),
        0 8px 22px rgba(0, 0, 0, 0.40),
        0 14px 38px rgba(25, 60, 106, 0.42);
}

.nav-cta--navy:hover,
.nav-cta--navy:focus {
    background-position: 50% 30%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22) inset,
        0 0 0 1px rgba(100, 100, 244, 0.36),
        0 12px 28px rgba(0, 0, 0, 0.46),
        0 22px 56px rgba(25, 60, 106, 0.58);
}

.nav-cta--navy .nav-cta-icon {
    background: radial-gradient(circle at 30% 30%, #1a1a4a 0%, #050b16 100%);
    box-shadow: 0 0 0 1px rgb(100 100 244), 0 0 14px rgba(100, 100, 244, 0.45), 0 0 28px rgba(100, 100, 244, 0.22) inset;
}

.nav-cta--navy:hover .nav-cta-icon {
    box-shadow:
        0 0 0 1px rgba(100, 100, 244, 0.80),
        0 0 20px rgba(100, 100, 244, 0.65),
        0 0 32px rgba(100, 100, 244, 0.30) inset;
}

.tp-main-menu ul li a.menu-book-cta,
.mobile-nav-offcanvas .nav-link.menu-book-cta,
.navbar a.menu-book-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 10px 20px;
    min-height: 38px;
    border-radius: 999px;
    background: linear-gradient(180deg, #6464f4 0%, #013c8a 55%, #122d52 100%);
    background-size: 100% 180%;
    background-position: 50% 0%;
    color: #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.8px;
    line-height: 1.1;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid rgba(100, 100, 244, 0.28);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16) inset,
        0 8px 22px rgba(0, 0, 0, 0.34),
        0 14px 34px rgba(25, 60, 106, 0.36);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.3s ease,
        background-position 0.3s ease;
    white-space: nowrap;
}

.tp-main-menu ul li a.menu-book-cta .nav-cta-label,
.mobile-nav-offcanvas .nav-link.menu-book-cta .nav-cta-label,
.navbar a.menu-book-cta .nav-cta-label {
    color: #ffffff !important;
}

.tp-main-menu ul li a.menu-book-cta,
.tp-main-menu ul li a.menu-book-cta:hover,
.tp-main-menu ul li a.menu-book-cta:focus,
.tp-main-menu ul li a.menu-book-cta:active,
.tp-main-menu ul li a.menu-book-cta:visited,
.mobile-nav-offcanvas .nav-link.menu-book-cta,
.mobile-nav-offcanvas .nav-link.menu-book-cta:hover,
.mobile-nav-offcanvas .nav-link.menu-book-cta:focus,
.mobile-nav-offcanvas .nav-link.menu-book-cta:active,
.mobile-nav-offcanvas .nav-link.menu-book-cta:visited,
.navbar a.menu-book-cta,
.navbar a.menu-book-cta:hover,
.navbar a.menu-book-cta:focus,
.navbar a.menu-book-cta:active,
.navbar a.menu-book-cta:visited {
    color: #ffffff !important;
}

.glassmorphism-header .tp-header-right.gap-4 {
    gap: 10px !important;
}

.glassmorphism-header .tp-main-menu nav > ul > li {
    margin-left: 10px;
    margin-right: 10px;
}

.glassmorphism-header .tp-main-menu nav > ul > li:has(.menu-book-cta) {
    margin-left: 4px;
    margin-right: 0;
}

.tp-main-menu ul li a.menu-book-cta:hover,
.tp-main-menu ul li a.menu-book-cta:focus,
.mobile-nav-offcanvas .nav-link.menu-book-cta:hover,
.mobile-nav-offcanvas .nav-link.menu-book-cta:focus,
.navbar a.menu-book-cta:hover,
.navbar a.menu-book-cta:focus {
    transform: translateY(-2px);
    background-position: 50% 30%;
    color: #ffffff;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22) inset,
        0 12px 28px rgba(0, 0, 0, 0.40),
        0 18px 44px rgba(25, 60, 106, 0.50);
}

.mobile-nav-offcanvas .nav-link.menu-book-cta,
.navbar a.menu-book-cta {
    width: fit-content;
    margin-top: 6px;
}

.menu-book-cta .nav-cta-icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #06241a 0%, #050b16 100%);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgb(239 123 45), 0 0 14px rgba(1, 230, 144, 0.45), 0 0 28px rgba(1, 230, 144, 0.22) inset;
}

.menu-book-cta:hover .nav-cta-icon,
.menu-book-cta:focus .nav-cta-icon {
    box-shadow:
        0 0 0 1px rgba(1, 230, 144, 0.70),
        0 0 20px rgba(1, 230, 144, 0.65),
        0 0 32px rgba(1, 230, 144, 0.30) inset;
}

.menu-book-cta .nav-cta-arrow,
.menu-book-cta .nav-cta-arrow svg {
    width: 18px !important;
    height: 18px !important;
}

.menu-book-cta .nav-cta-arrow svg {
    grid-column: 1;
    grid-row: 1;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.menu-book-cta .nav-cta-arrow svg:nth-child(1) {
    transform: translate(0, 0);
}

.menu-book-cta .nav-cta-arrow svg:nth-child(2) {
    transform: translate(-110%, 110%);
}

.menu-book-cta:hover .nav-cta-arrow svg:nth-child(1),
.menu-book-cta:focus .nav-cta-arrow svg:nth-child(1) {
    transform: translate(110%, -110%);
}

.menu-book-cta:hover .nav-cta-arrow svg:nth-child(2),
.menu-book-cta:focus .nav-cta-arrow svg:nth-child(2) {
    transform: translate(0, 0);
}

.glassmorphism-header .tp-main-menu-it > nav > ul > li > a.menu-book-cta::after {
    display: none;
}

.menu-book-cta .menu-book-cta-arrow {
    position: relative;
    display: inline-grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    width: 18px;
    height: 18px;
    margin-left: 8px;
    vertical-align: middle;
    line-height: 0;
    flex-shrink: 0;
}

.menu-book-cta .menu-book-cta-arrow svg {
    width: 18px;
    height: 18px;
    display: block;
}

.menu-book-cta .menu-book-cta-arrow svg {
    grid-column: 1;
    grid-row: 1;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.menu-book-cta .menu-book-cta-arrow svg:nth-child(1) {
    transform: translate(0, 0);
}

.menu-book-cta .menu-book-cta-arrow svg:nth-child(2) {
    transform: translate(-110%, 110%);
}

.menu-book-cta:hover .menu-book-cta-arrow svg:nth-child(1),
.menu-book-cta:focus .menu-book-cta-arrow svg:nth-child(1) {
    transform: translate(110%, -110%);
}

.menu-book-cta:hover .menu-book-cta-arrow svg:nth-child(2),
.menu-book-cta:focus .menu-book-cta-arrow svg:nth-child(2) {
    transform: translate(0, 0);
}

/* Glass / outline — Hero "Download Brochure" */
.nav-cta--glass {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.06) 100%);
    border: 1px solid rgba(255, 255, 255, 0.60);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.30) inset,
        0 8px 22px rgba(0, 0, 0, 0.32),
        0 14px 38px rgba(0, 0, 0, 0.22);
}

.nav-cta--glass:hover,
.nav-cta--glass:focus {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.14) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.40) inset,
        0 12px 28px rgba(0, 0, 0, 0.40),
        0 22px 56px rgba(0, 0, 0, 0.32);
}

.nav-cta--glass .nav-cta-icon {
    background: radial-gradient(circle at 30% 30%, #050b16 0%, #000 100%);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.70), 0 0 14px rgba(255, 255, 255, 0.35), 0 0 28px rgba(255, 255, 255, 0.18) inset;
}

.nav-cta--glass:hover .nav-cta-icon {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.90),
        0 0 20px rgba(255, 255, 255, 0.55),
        0 0 32px rgba(255, 255, 255, 0.30) inset;
}

/* Green variant — re-styled to match the default nav-cta gradient */
.nav-cta--green {
    background: linear-gradient(90deg, #0070fa 0%, #0fbcc0 40%, #ef7b2ed1 75%, #ef7b2eb3 100%);
    background-size: 180% 100%;
    background-position: 0% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16) inset,
        0 0 0 1px rgba(1, 230, 144, 0.10),
        0 8px 22px rgba(0, 0, 0, 0.32),
        0 14px 38px rgba(1, 168, 111, 0.22);
}

.nav-cta--green:hover,
.nav-cta--green:focus {
    background-position: 30% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.22) inset,
        0 0 0 1px rgba(1, 230, 144, 0.22),
        0 12px 28px rgba(0, 0, 0, 0.36),
        0 22px 56px rgba(1, 168, 111, 0.34);
}

/* Teal — Why Attend "Explore More" */
.nav-cta--teal {
    background: linear-gradient(45deg, #064733 0%, #2eeeb5 100%);
    background-size: 180% 180%;
    background-position: 0% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18) inset,
        0 0 0 1px rgba(46, 238, 181, 0.20),
        0 8px 22px rgba(0, 0, 0, 0.32),
        0 14px 38px rgba(6, 71, 51, 0.40);
}

.nav-cta--teal:hover,
.nav-cta--teal:focus {
    background-position: 30% 50%;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.24) inset,
        0 0 0 1px rgba(46, 238, 181, 0.36),
        0 12px 28px rgba(0, 0, 0, 0.40),
        0 22px 56px rgba(6, 71, 51, 0.55);
}

.nav-cta--teal .nav-cta-icon {
    background: radial-gradient(circle at 30% 30%, #062a1f 0%, #021410 100%);
    box-shadow: 0 0 0 1px rgb(46 238 181), 0 0 14px rgba(46, 238, 181, 0.45), 0 0 28px rgba(46, 238, 181, 0.22) inset;
}

.nav-cta--teal:hover .nav-cta-icon {
    box-shadow:
        0 0 0 1px rgba(46, 238, 181, 0.80),
        0 0 20px rgba(46, 238, 181, 0.65),
        0 0 32px rgba(46, 238, 181, 0.30) inset;
}

/* ══════════════════════════════════════════════
   TESTIMONIALS / SOCIAL PROOF
   Same dark background recipe as .speakers-section
══════════════════════════════════════════════ */
.testimonials-section {
    position: relative;
    padding: 90px 0 100px;
    overflow: hidden;
    background: url(https://www.worldfintechsummit.com/assets/images/bgg.webp);
    background-size: cover;
    background-attachment: fixed;
}

.testimonials-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(1000px 520px at 10% 6%, rgba(1, 168, 111, 0.22) 0%, transparent 60%),
        radial-gradient(900px 480px at 92% 94%, rgba(245, 185, 66, 0.16) 0%, transparent 60%),
        linear-gradient(180deg, rgba(5, 24, 42, 0.92) 0%, rgba(7, 31, 51, 0.95) 55%, rgba(4, 16, 30, 0.94) 100%);
    pointer-events: none;
}

.testimonials-section::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
    pointer-events: none;
}

.testimonials-inner {
    position: relative;
    z-index: 2;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 48px;
    width: 100%;
}

.testimonials-section .testi-head {
    text-align: center;
}

.testi-eyebrow {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1eaa72;
    margin-bottom: 14px;
    font-weight: 900;
    text-align: center;
}

.testi-headline {
    font-size: 40px !important;
    font-family: 'Cairo', sans-serif !important;
    text-transform: uppercase !important;
    margin: 0 auto 30px !important;
    margin-top: 0 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    color: #fff !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.testi-headline span {
    display: inline;
    white-space: nowrap;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
    color: #2bbde6 !important;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
}

.testi-subtitle {
    color: rgba(255, 255, 255, 0.72);
    font-size: 16px;
    max-width: 620px;
    margin: 0 auto;
    line-height: 1.55;
    text-align: center;
}

/* ─────────────────────────────────────────────
   Testimonials — Light card carousel with arrows
───────────────────────────────────────────── */

/* Abstract decorative shapes floating in the section background */
.testimonials-section .testi-abstract {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.testimonials-section .testi-abstract::before,
.testimonials-section .testi-abstract::after,
.testimonials-section .testi-abstract .ta-blob,
.testimonials-section .testi-abstract .ta-mark,
.testimonials-section .testi-abstract .ta-dots {
    position: absolute;
    pointer-events: none;
}

/* Giant ghosted quotation mark, top-left corner */
.testimonials-section .testi-abstract .ta-mark {
    top: 4%;
    left: 4%;
    width: 220px;
    height: 220px;
    color: rgba(43, 189, 230, 0.10);
    transform: rotate(-8deg);
}

/* Floating gradient orb — top right */
.testimonials-section .testi-abstract::before {
    content: '';
    top: -120px;
    right: -120px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(43, 189, 230, 0.18) 0%, transparent 70%);
    filter: blur(6px);
}

/* Floating gradient orb — bottom left */
.testimonials-section .testi-abstract::after {
    content: '';
    bottom: -160px;
    left: -100px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(30, 170, 114, 0.16) 0%, transparent 70%);
    filter: blur(8px);
}

/* Smaller drifting blob — mid right */
.testimonials-section .testi-abstract .ta-blob {
    top: 50%;
    right: 6%;
    width: 140px;
    height: 140px;
    border-radius: 46% 54% 38% 62% / 52% 44% 56% 48%;
    background: linear-gradient(135deg, rgba(43, 189, 230, 0.10), rgba(245, 185, 66, 0.08));
    transform: translateY(-50%);
    animation: tafloat 11s ease-in-out infinite alternate;
}

/* Dot pattern grid — bottom right corner */
.testimonials-section .testi-abstract .ta-dots {
    bottom: 8%;
    right: 4%;
    width: 110px;
    height: 110px;
    background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1.5px, transparent 1.5px);
    background-size: 14px 14px;
    opacity: 0.65;
    transform: rotate(6deg);
}

/* Thin diagonal accent line — top right under the orb */
.testimonials-section .testi-abstract .ta-line {
    position: absolute;
    top: 18%;
    right: 14%;
    width: 90px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(43, 189, 230, 0.55) 50%, transparent 100%);
    transform: rotate(-32deg);
    pointer-events: none;
}

@keyframes tafloat {
    0% {
        transform: translateY(-50%) translateX(0) rotate(0deg);
    }
    100% {
        transform: translateY(-58%) translateX(-12px) rotate(8deg);
    }
}

.testi-carousel {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    padding: 0 70px;
    z-index: 2;
}

.testi-arrow {
    position: absolute;
    top: calc(50% - 14px);
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.testi-arrow:hover {
    background: linear-gradient(135deg, #2bbde6, #1eaa72);
    border-color: transparent;
    color: #ffffff;
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 10px 26px rgba(43, 189, 230, 0.30);
}

.testi-arrow-prev { left: 0; }
.testi-arrow-next { right: 0; }

.testi-stage {
    position: relative;
    min-height: 420px;
    padding-top: 48px;
}

.testi-card-v2 {
    position: absolute;
    top: 48px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffff;
    border-radius: 22px;
    padding: 32px 36px 28px;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform-origin: center bottom;
    transform: translateY(0) scale(0.88);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.55s ease,
        visibility 0s linear 0.55s;
    pointer-events: none;
    overflow: hidden;
}

/* Active — on top, fully visible */
.testi-card-v2[data-offset="0"] {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1) rotate(0deg);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.32);
    z-index: 4;
    pointer-events: auto;
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.55s ease,
        visibility 0s;
}

/* Behind 1 — tilted slightly left */
.testi-card-v2[data-offset="1"] {
    opacity: 1;
    visibility: visible;
    transform: translateY(-18px) translateX(-14px) scale(0.95) rotate(-3deg);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
    z-index: 3;
    pointer-events: none;
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.55s ease,
        visibility 0s;
}

/* Behind 2 — tilted slightly right */
.testi-card-v2[data-offset="2"] {
    opacity: 1;
    visibility: visible;
    transform: translateY(-34px) translateX(14px) scale(0.90) rotate(3deg);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    z-index: 2;
    pointer-events: none;
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.55s ease,
        visibility 0s;
}

/* Exiting card — slides off to the right and fades */
.testi-card-v2[data-offset="-1"] {
    opacity: 0;
    visibility: visible;
    transform: translateX(140%) translateY(0) scale(0.95) rotate(8deg);
    z-index: 5;
    pointer-events: none;
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0.55s;
}

/* Hide everything else behind the stack */
.testi-card-v2[data-offset="hidden"] {
    opacity: 0;
    visibility: hidden;
}

/* Content inside the peeking cards stays muted-readable */
.testi-card-v2[data-offset="1"] .testi-card-quote,
.testi-card-v2[data-offset="1"] .testi-card-foot,
.testi-card-v2[data-offset="2"] .testi-card-quote,
.testi-card-v2[data-offset="2"] .testi-card-foot {
    opacity: 0;
}

.testi-card-v2 .testi-card-quote,
.testi-card-v2 .testi-card-foot {
    transition: opacity 0.35s ease;
}

.testi-card-mark {
    width: 30px;
    height: 30px;
    color: #2bbde6;
    margin-bottom: 14px;
    flex-shrink: 0;
}

.testi-card-quote {
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #1a2536;
    margin: 0 0 22px;
    letter-spacing: 0.05px;
    font-weight: 400;
    flex: 1;
}

.testi-card-foot {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 16px;
    border-top: 1px solid rgba(10, 30, 61, 0.08);
}

.testi-card-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #2bbde6 0%, #1eaa72 100%);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(10, 30, 61, 0.12);
}

.testi-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

.testi-card-avatar.testi-avatar--initials {
    font-family: 'National Park', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #ffffff;
    text-transform: uppercase;
    background: linear-gradient(135deg, #2bbde6 0%, #1eaa72 100%);
}

.testi-card-meta {
    min-width: 0;
    line-height: 1.3;
}

.testi-card-name {
    font-family: 'Cairo', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #0c1a2e;
    letter-spacing: 0.2px;
    margin-bottom: 2px;
}

.testi-card-role {
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    color: rgba(10, 30, 61, 0.62);
}

.testi-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
}

.testi-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    transition: width 0.3s ease, background 0.3s ease;
}

.testi-dot.is-active {
    width: 24px;
    border-radius: 4px;
    background: linear-gradient(90deg, #2bbde6, #1eaa72);
}

@media (max-width: 575.98px) {
    .testi-carousel {
        padding: 0 14px;
    }

    .testi-arrow {
        width: 36px;
        height: 36px;
        top: auto;
        bottom: -56px;
        transform: none;
    }

    .testi-arrow-prev { left: calc(50% - 50px); }
    .testi-arrow-next { right: calc(50% - 50px); }

    .testi-arrow:hover {
        transform: scale(1.06);
    }

    .testi-card-v2 {
        padding: 24px 22px 22px;
        top: 36px;
    }

    .testi-card-quote {
        font-size: 14.5px;
    }

    .testi-stage {
        min-height: 480px;
        padding-top: 36px;
    }

    .testi-dots {
        margin-top: 70px;
    }
}

.testi-role-tag {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(2, 196, 127, 0.95), rgba(43, 189, 230, 0.95));
    color: #fff;
    margin-bottom: 22px;
    box-shadow: 0 4px 14px rgba(2, 196, 127, 0.32);
}

.testi-quote-icon {
    width: 46px;
    height: 46px;
    color: rgba(46, 197, 229, 0.55);
    margin: 0 auto 14px;
    display: block;
}

.testi-quote {
    font-family: inherit;
    font-size: 15px;
    line-height: 22px;
    color: rgba(255, 255, 255, 0.94);
    margin: 0 auto 32px;
    max-width: 720px;
    font-style: normal;
    letter-spacing: 0.2px;
    font-weight: 400;
}

.testi-person {
    display: inline-block;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    text-align: center;
}

.testi-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(46, 197, 229, 0.55);
    background: linear-gradient(135deg, #193c6a, #1eaa72);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.testi-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.testi-avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'National Park', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
    text-transform: uppercase;
    background: linear-gradient(135deg, #193c6a 0%, #1eaa72 100%);
}

.testi-meta {
    min-width: 0;
    line-height: 1.3;
}

.testi-name {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.2px;
    margin-bottom: 3px;
}

.testi-role {
    font-size: 12.5px;
    color: rgba(46, 197, 229, 0.95);
    font-weight: 500;
    letter-spacing: 0.3px;
}

.testi-org {
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.62);
    margin-top: 2px;
}

.testi-swiper-pagination {
    bottom: 14px !important;
    text-align: center;
}

.testi-swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.35);
    opacity: 1;
    margin: 0 4px !important;
    transition: all 0.3s ease;
}

.testi-swiper-pagination .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 4px;
    background: linear-gradient(90deg, #2bbde6, #1eaa72);
}

.testi-nav {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.testi-nav:hover {
    background: linear-gradient(135deg, #2bbde6, #1eaa72);
    border-color: transparent;
    transform: scale(1.08);
    box-shadow: 0 8px 22px rgba(43, 189, 230, 0.32);
}

/* ══════════════════════════════════════════════
   SCROLL PROGRESS CAPSULE (home page back-to-top)
══════════════════════════════════════════════ */
.scroll-capsule {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999;
    width: 38px;
    height: 70px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: rgba(8, 24, 42, 0.72);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    color: #fff;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.10);
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    transition: opacity 0.35s ease, transform 0.35s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.scroll-capsule.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.scroll-capsule:hover {
    border-color: rgba(46, 197, 229, 0.55);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.42), 0 0 28px rgba(43, 189, 230, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.scroll-capsule .sc-fill {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0%;
    background: linear-gradient(180deg, #2bbde6 0%, #1eaa72 60%, #02c47f 100%);
    box-shadow: 0 0 14px rgba(43, 189, 230, 0.45) inset;
    transition: height 240ms cubic-bezier(0.4, 0, 0.2, 1);
    will-change: height;
    overflow: visible;
}

.scroll-capsule .sc-wave {
    position: absolute;
    left: -50%;
    top: -7px;
    width: 200%;
    height: 12px;
    pointer-events: none;
    will-change: transform;
}

.scroll-capsule .sc-wave-back {
    fill: rgba(43, 189, 230, 0.78);
    animation: sc-wave-back 3.4s linear infinite;
    opacity: 0.9;
}

.scroll-capsule .sc-wave-front {
    fill: rgba(2, 196, 127, 0.92);
    animation: sc-wave-front 2.2s linear infinite;
    top: -5px;
}

@keyframes sc-wave-back {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(25%);
    }
}

@keyframes sc-wave-front {
    0% {
        transform: translateX(25%);
    }

    100% {
        transform: translateX(0);
    }
}

/* Subtle highlight on the surface */
.scroll-capsule .sc-fill::after {
    content: "";
    position: absolute;
    top: -1px;
    left: 8%;
    right: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
    z-index: 2;
    pointer-events: none;
}


.scroll-capsule .sc-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    height: 100%;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.scroll-capsule .sc-pct {
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    text-align: center;
    line-height: 1;
}

.scroll-capsule .sc-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.scroll-capsule:hover .sc-arrow {
    transform: translateY(-3px);
}

@media (max-width: 575.98px) {
    .scroll-capsule {
        right: 14px;
        bottom: 14px;
        width: 34px;
        height: 60px;
    }

    .scroll-capsule .sc-pct {
        font-size: 9px;
    }

    .scroll-capsule .sc-arrow svg {
        width: 11px;
        height: 11px;
    }
}

@media (max-width: 992px) {
    .testimonials-inner {
        padding: 0 24px;
    }

    .testi-headline {
        font-size: 34px !important;
        white-space: normal !important;
        line-height: 1.15 !important;
        margin-bottom: 22px !important;
    }
}

@media (max-width: 575.98px) {
    .testimonials-section {
        padding: 60px 0 70px;
    }

    .testimonials-inner {
        padding: 0 14px;
    }

    .testi-headline {
        font-size: 28px !important;
        white-space: normal !important;
        line-height: 1.15 !important;
        margin-bottom: 18px !important;
    }

    .testi-eyebrow {
        font-size: 13px;
        margin-bottom: 10px;
        font-weight: 900;
        letter-spacing: 0.1em;
    }

    .testi-feature-quote {
        font-size: 15px;
    }

    .testi-pill {
        padding: 10px 12px;
        grid-template-columns: 44px minmax(0, 1fr) auto;
        column-gap: 12px;
    }

    .testi-pill-avatar {
        width: 44px;
        height: 44px;
    }

    .testi-pill-name {
        font-size: 13px;
    }

    .testi-pill-role {
        font-size: 11px;
    }
}

@media (max-width: 360px) {
    .testi-headline {
        font-size: 24px !important;
    }
}

/* ─────────────────────────────────────────────
   About page — matches IPE site theme
   (navy + green palette, eh-section card style,
   Special Gothic Condensed headlines, eyebrow pills)
───────────────────────────────────────────── */

/* ── Shared section header ── */
.ab-header {
    text-align: center;
    margin-bottom: 52px;
}

.ab-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #01c07a;
    background: rgba(1, 192, 122, 0.08);
    border: 1px solid rgba(1, 192, 122, 0.30);
    padding: 7px 20px;
    border-radius: 50px;
    margin-bottom: 22px;
}

.ab-eyebrow::before,
.ab-eyebrow::after {
    content: '—';
    opacity: 0.5;
    font-size: 10px;
}

.ab-headline {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: clamp(28px, 3.8vw, 50px);
    font-weight: 900;
    color: #0a1e3d;
    line-height: 1.1;
    letter-spacing: 0.5px;
    margin: 0 0 14px;
}

.ab-headline em {
    font-style: normal;
    background: linear-gradient(135deg, #01a06a 0%, #00c87a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ab-subline {
    font-family: 'National Park', sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #4a5a72;
    max-width: 760px;
    margin: 0 auto;
}

/* On dark sections */
.ab-dark .ab-headline {
    color: #ffffff;
}

.ab-dark .ab-subline {
    color: rgba(255, 255, 255, 0.72);
}

/* ─────────────────────────────────────────────
   2.1 About India Pharma Expo  (LIGHT)
───────────────────────────────────────────── */
section#about-intro {
    padding: 80px 0 70px;
    background: #f6f9ff;
    position: relative;
    overflow: hidden;
}

section#about-intro::before {
    content: '';
    position: absolute;
    top: -160px;
    right: -160px;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(1, 160, 106, 0.10) 0%, transparent 70%);
    pointer-events: none;
}

.ab-intro-wrap {
    background: #ffffff;
    border-radius: 22px;
    padding: 50px 50px 30px;
    box-shadow: 0 10px 40px rgba(10, 30, 61, 0.08);
    border: 1px solid rgba(10, 30, 61, 0.05);
    position: relative;
    z-index: 1;
}

.ab-intro-wrap p {
    font-family: 'National Park', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #2b3a52;
    margin-bottom: 20px;
}

.ab-feature-heading {
    margin-top: 30px;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ab-feature-heading::before {
    content: '';
    width: 36px;
    height: 3px;
    background: linear-gradient(90deg, #01a06a, #00c87a);
    border-radius: 2px;
}

.ab-feature-heading h4 {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 24px;
    letter-spacing: 0.5px;
    color: #0a1e3d;
    text-transform: uppercase;
    margin: 0;
}

.ab-features-block {
    margin-top: 56px;
    position: relative;
    z-index: 1;
}

.ab-features-block .ab-feature-heading {
    margin-top: 0;
    margin-bottom: 28px;
    justify-content: center;
}

.ab-features-block .ab-feature-heading h4 {
    text-align: center;
}

.ab-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 48px;
    row-gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ab-feature-grid li {
    position: relative;
    padding: 18px 4px 18px 40px;
    font-family: 'National Park', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #2b3a52;
    border-bottom: 1px solid rgba(10, 30, 61, 0.08);
    transition: color 0.3s ease, padding-left 0.3s ease;
}

.ab-feature-grid li:hover {
    color: #0a1e3d;
    padding-left: 44px;
}

.ab-feature-grid li::before {
    content: '\f00c';
    font-family: 'Font Awesome 7 Free', 'Font Awesome 6 Free', 'Font Awesome 5 Free', 'FontAwesome';
    font-weight: 900;
    position: absolute;
    top: 20px;
    left: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a06a, #00c87a);
    color: #ffffff;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(1, 160, 106, 0.25);
}

/* ─────────────────────────────────────────────
   2.2 About Elets Technomedia  (DARK NAVY)
───────────────────────────────────────────── */
section#about-elets {
    padding: 80px 0;
    background: linear-gradient(160deg, #0a1e3d 0%, #081354 55%, #0b1e40 100%);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

section#about-elets::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background-repeat: repeat;
    background-position: left top;
    background-size: 256px auto;
    background-image: url(https://framerusercontent.com/images/6mcf62RlDfRfU61Yg5vb2pefpi4.png);
    opacity: 0.09;
    pointer-events: none;
}

section#about-elets::after {
    content: '';
    position: absolute;
    bottom: -180px;
    right: -180px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(1, 160, 106, 0.16) 0%, transparent 70%);
    pointer-events: none;
}

.ab-elets-wrap {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    position: relative;
    z-index: 1;
}

.ab-elets-wrap p {
    font-family: 'National Park', sans-serif;
    font-size: 16px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 20px;
}

.ab-elets-wrap p:last-child {
    margin-bottom: 0;
}

.ab-elets-tag {
    display: inline-block;
    margin-bottom: 24px;
    padding: 6px 16px;
    background: rgba(1, 192, 122, 0.10);
    border: 1px solid rgba(1, 192, 122, 0.30);
    border-radius: 30px;
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #01c07a;
}

.ab-elets-vision {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.ab-elets-vision-title {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #00e896;
    margin: 0 0 14px;
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ab-elets-vision-title::before {
    content: '';
    width: 30px;
    height: 3px;
    background: linear-gradient(90deg, #01a06a, #00c87a);
    border-radius: 2px;
}

.ab-elets-vision p {
    font-family: 'National Park', sans-serif;
    font-size: 16px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.90);
    margin: 0;
}

.ab-elets-vision .ab-highlight {
    background: linear-gradient(135deg, #01c07a 0%, #00e896 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 500;
}

/* ─────────────────────────────────────────────
   2.3 Vision  (LIGHT with green stripe accent + bg image)
───────────────────────────────────────────── */
section#about-vision {
    padding: 90px 0;
    background:
        linear-gradient(160deg, rgba(246, 249, 255, 0.94) 0%, rgba(246, 249, 255, 0.85) 100%),
        url('../images/pharma_bg_1.webp') center/cover no-repeat fixed;
    position: relative;
    overflow: hidden;
}

.ab-vision-card {
    background: #ffffff;
    border-radius: 22px;
    padding: 70px 60px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(10, 30, 61, 0.10);
    border: 1px solid rgba(10, 30, 61, 0.05);
    position: relative;
    overflow: hidden;
}

.ab-vision-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #0a1e3d 0%, #01a06a 50%, #00c87a 100%);
}

.ab-vision-card .ab-quote-icon {
    font-size: 38px;
    color: #01a06a;
    margin-bottom: 18px;
    opacity: 0.4;
}

.ab-vision-card p {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: clamp(22px, 2.6vw, 32px);
    line-height: 1.45;
    color: #0a1e3d;
    font-weight: 400;
    max-width: 1000px;
    margin: 0 auto;
    letter-spacing: 0.3px;
}

.ab-vision-card p .ab-highlight {
    background: linear-gradient(135deg, #01a06a 0%, #00c87a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ─────────────────────────────────────────────
   2.4 Past Edition Highlights  (DARK NAVY + stat cards)
───────────────────────────────────────────── */
section#about-highlights {
    padding: 80px 0;
    background: linear-gradient(160deg, #0a1e3d 0%, #081354 55%, #0b1e40 100%);
    position: relative;
    overflow: hidden;
}

section#about-highlights::before {
    content: '';
    position: absolute;
    top: -180px;
    right: -180px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(1, 160, 106, 0.16) 0%, transparent 70%);
    pointer-events: none;
}

.ab-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    position: relative;
    z-index: 1;
}

.ab-stat-card {
    background: #0d1f4a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 34px 26px;
    text-align: center;
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.35);
    position: relative;
    overflow: hidden;
    transition: transform 0.38s ease, border-color 0.38s ease, box-shadow 0.38s ease;
}

.ab-stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #01a06a, #00c87a);
}

.ab-stat-card:hover {
    transform: translateY(-6px);
    border-color: rgba(1, 192, 122, 0.40);
    box-shadow:
        0 20px 56px rgba(1, 160, 106, 0.22),
        0 6px 20px rgba(0, 0, 0, 0.30);
}

.ab-stat-num {
    display: block;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, #01c07a 0%, #00e896 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 14px;
}

.ab-stat-num .plus {
    font-size: 36px;
    vertical-align: top;
    line-height: 1.4;
}

.ab-stat-label {
    display: block;
    font-family: 'National Park', sans-serif;
    font-size: 13.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.78);
    letter-spacing: 0.3px;
}

.ab-chief-guest {
    margin-top: 36px;
    background: #0d1f4a;
    border: 1px solid rgba(1, 192, 122, 0.30);
    border-radius: 16px;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0;
    flex-direction: row;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.ab-chief-guest .ab-cg-photo {
    flex: 0 0 230px;
    min-height: 200px;
    background: #0a1e3d;
    position: relative;
    overflow: hidden;
}

.ab-chief-guest .ab-cg-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-chief-guest .ab-cg-body {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 28px 32px;
}

.ab-chief-guest .ab-cg-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a06a, #00c87a);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 22px;
    box-shadow: 0 6px 18px rgba(1, 160, 106, 0.30);
}

.ab-chief-guest .ab-cg-text {
    color: rgba(255, 255, 255, 0.88);
    font-family: 'National Park', sans-serif;
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}

.ab-chief-guest .ab-cg-text strong {
    display: block;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 14px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #01c07a;
    margin-bottom: 4px;
    font-weight: 400;
}

.ab-gallery-placeholder {
    margin-top: 30px;
    background: rgba(255, 255, 255, 0.03);
    border: 2px dashed rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 50px 30px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.ab-gallery-placeholder i {
    font-size: 38px;
    color: #01c07a;
    margin-bottom: 14px;
    display: block;
}

.ab-gallery-placeholder p {
    margin: 0;
    font-family: 'National Park', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.65);
    letter-spacing: 0.3px;
}

/* ─────────────────────────────────────────────
   2.5 Organising Committee  (LIGHT placeholder)
───────────────────────────────────────────── */
section#about-committee {
    padding: 80px 0;
    background: #f6f9ff;
    position: relative;
}

.ab-committee-card {
    background: #ffffff;
    border-radius: 22px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(10, 30, 61, 0.08);
    border: 1px solid rgba(10, 30, 61, 0.05);
    position: relative;
    overflow: hidden;
}

.ab-committee-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #0a1e3d 0%, #01a06a 100%);
}

.ab-committee-card .ab-cm-icon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0a1e3d, #193c6a);
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #01c07a;
    font-size: 36px;
    box-shadow: 0 10px 24px rgba(10, 30, 61, 0.25);
}

.ab-committee-card h4 {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 28px;
    color: #0a1e3d;
    letter-spacing: 0.5px;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.ab-committee-card .ab-cm-desc {
    font-family: 'National Park', sans-serif;
    font-size: 15.5px;
    line-height: 1.7;
    color: #4a5a72;
    max-width: 720px;
    margin: 0 auto 28px;
}

.ab-committee-format {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: #f6f9ff;
    border: 1px solid rgba(10, 30, 61, 0.08);
    color: #0a1e3d;
    padding: 14px 26px;
    border-radius: 50px;
    font-family: 'National Park', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.ab-committee-format .ab-fmt-dot {
    color: #01a06a;
}

/* ─────────────────────────────────────────────
   2.6 Venue  (DARK NAVY card + map)
───────────────────────────────────────────── */
section#about-venue {
    padding: 80px 0 90px;
    background: linear-gradient(160deg, #0a1e3d 0%, #081354 55%, #0b1e40 100%);
    position: relative;
    overflow: hidden;
}

section#about-venue::before {
    content: '';
    position: absolute;
    top: -180px;
    left: -180px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(25, 60, 106, 0.55) 0%, transparent 70%);
    pointer-events: none;
}

.ab-venue-wrap {
    background: #0d1f4a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.40);
    position: relative;
    z-index: 1;
}

.ab-venue-body {
    padding: 50px;
}

.ab-venue-body>p:first-child {
    font-family: 'National Park', sans-serif;
    font-size: 16px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 24px;
}

.ab-venue-address {
    background: rgba(1, 192, 122, 0.08);
    border-left: 4px solid #01c07a;
    padding: 18px 22px;
    border-radius: 8px;
    margin-bottom: 32px;
    font-family: 'National Park', sans-serif;
    font-size: 14.5px;
    color: rgba(255, 255, 255, 0.90);
    line-height: 1.65;
}

.ab-venue-address strong {
    color: #01c07a;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 12px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
    font-weight: 400;
}

.ab-venue-section-title {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 22px;
    color: #ffffff;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ab-venue-section-title::before {
    content: '';
    width: 30px;
    height: 3px;
    background: linear-gradient(90deg, #01a06a, #00c87a);
    border-radius: 2px;
}

.ab-venue-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 0;
    margin: 0 0 32px;
    list-style: none;
}

.ab-venue-features li {
    position: relative;
    padding: 14px 16px 14px 48px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    font-family: 'National Park', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
    transition: all 0.3s ease;
}

.ab-venue-features li:hover {
    border-color: rgba(1, 192, 122, 0.40);
    background: rgba(1, 192, 122, 0.06);
}

.ab-venue-features li::before {
    content: '\f00c';
    font-family: 'Font Awesome 7 Free', 'Font Awesome 6 Free', 'Font Awesome 5 Free', 'FontAwesome';
    font-weight: 900;
    position: absolute;
    top: 14px;
    left: 14px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a06a, #00c87a);
    color: #ffffff;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ab-hyd-block {
    margin-top: 14px;
    padding: 30px 32px;
    background: linear-gradient(135deg, rgba(1, 160, 106, 0.12) 0%, rgba(1, 192, 122, 0.04) 100%);
    border: 1px solid rgba(1, 192, 122, 0.25);
    border-radius: 14px;
}

.ab-hyd-block h4 {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 22px;
    color: #00e896;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.ab-hyd-block p {
    font-family: 'National Park', sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.ab-venue-map {
    width: 100%;
    height: 420px;
    border: 0;
    display: block;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* ─────────────────────────────────────────────
   Image collage (used in About IPE)
───────────────────────────────────────────── */
.ab-collage {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    grid-template-rows: 220px 220px;
    gap: 14px;
    position: relative;
}

.ab-collage figure {
    margin: 0;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 14px 40px rgba(10, 30, 61, 0.18);
    border: 1px solid rgba(10, 30, 61, 0.06);
}

.ab-collage figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.65s ease;
}

.ab-collage figure:hover img {
    transform: scale(1.06);
}

.ab-collage .ab-col-large {
    grid-row: span 2;
}

.ab-collage-badge {
    position: absolute;
    left: -10px;
    bottom: -10px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border-radius: 18px;
    padding: 14px 20px;
    box-shadow: 0 18px 40px rgba(10, 30, 61, 0.18);
    z-index: 3;
}

.ab-collage-badge .num {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 34px;
    line-height: 1;
    background: linear-gradient(135deg, #01a06a 0%, #00c87a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ab-collage-badge .txt {
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #0a1e3d;
    line-height: 1.3;
    max-width: 130px;
}

.ab-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 50px;
    align-items: start;
}

.ab-intro-grid .ab-intro-wrap {
    padding: 40px 40px 28px;
}

/* ─────────────────────────────────────────────
   About Elets — image side
───────────────────────────────────────────── */
.ab-elets-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 40px;
    align-items: stretch;
}

.ab-elets-grid .ab-elets-wrap {
    padding: 0;
}

.ab-elets-visual {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    min-height: 460px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.40);
    border: 1px solid rgba(255, 255, 255, 0.10);
}

.ab-elets-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s ease;
}

.ab-elets-visual:hover img {
    transform: scale(1.05);
}

.ab-elets-visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 30, 61, 0) 40%, rgba(10, 30, 61, 0.78) 100%);
    pointer-events: none;
}

/* ── Card variant (right column showing highlights timeline, not image) ── */
.ab-elets-visual--card {
    background: transparent;
    border: 0;
    min-height: 0;
    padding: 0;
    box-shadow: none;
    border-radius: 0;
}

.ab-elets-visual--card::after {
    display: none;
}

.ab-elets-highlights {
    position: relative;
    z-index: 1;
}

.ab-elets-highlights-title {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: 0.5px;
    color: #ffffff;
    text-transform: uppercase;
    margin: 0 0 30px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ab-elets-highlights-title::before {
    content: '';
    width: 36px;
    height: 3px;
    flex-shrink: 0;
    background: linear-gradient(90deg, #193c6a, #2ec5e5);
    border-radius: 2px;
}

.ab-elets-highlights-title span {
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #2ec5e5;
    text-transform: uppercase;
    margin-left: 6px;
}

/* ── Timeline list ── */
.ab-elets-timeline {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}

.ab-elets-timeline::before {
    content: '';
    position: absolute;
    left: 23px;
    top: 28px;
    bottom: 28px;
    width: 2px;
    background: linear-gradient(180deg,
            rgba(46, 197, 229, 0.60) 0%,
            rgba(46, 197, 229, 0.18) 100%);
    z-index: 0;
}

.ab-elets-timeline li {
    position: relative;
    padding: 0 0 26px 66px;
    min-height: 60px;
    border: 0;
    opacity: 0;
    transform: translateX(-24px);
}

.ab-elets-timeline.is-visible li {
    animation: ab-tl-rise 0.65s cubic-bezier(0.22, 0.65, 0.30, 1) forwards;
}

.ab-elets-timeline.is-visible li:nth-child(1) {
    animation-delay: 0.00s;
}

.ab-elets-timeline.is-visible li:nth-child(2) {
    animation-delay: 0.12s;
}

.ab-elets-timeline.is-visible li:nth-child(3) {
    animation-delay: 0.24s;
}

.ab-elets-timeline.is-visible li:nth-child(4) {
    animation-delay: 0.36s;
}

.ab-elets-timeline.is-visible li:nth-child(5) {
    animation-delay: 0.48s;
}

.ab-elets-timeline.is-visible li:nth-child(6) {
    animation-delay: 0.60s;
}

.ab-elets-timeline.is-visible li:nth-child(7) {
    animation-delay: 0.72s;
}

@keyframes ab-tl-rise {
    0% {
        opacity: 0;
        transform: translateX(-24px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (prefers-reduced-motion: reduce) {

    .ab-elets-timeline li,
    .ab-elets-timeline.is-visible li {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.ab-elets-timeline li:last-child {
    padding-bottom: 0;
}

.ab-elets-timeline .th-icon {
    position: absolute;
    left: 0;
    top: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #193c6a, #2ec5e5);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: none;
    border: 3px solid #0a1e3d;
    z-index: 2;
    transition: transform 0.35s ease;
}

.ab-elets-timeline li:hover .th-icon {
    transform: scale(1.08);
}

.ab-elets-timeline .th-body {
    padding-top: 4px;
}

.ab-elets-timeline .th-body strong {
    display: block;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.15;
    color: #ffffff;
    letter-spacing: 0.3px;
    margin: 0 0 4px;
    text-transform: uppercase;
    background: none;
    -webkit-text-fill-color: initial;
}

.ab-elets-timeline .th-num {
    background: linear-gradient(135deg, #2ec5e5 0%, #7ee0f2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-right: 6px;
}

.ab-elets-timeline .th-body>span {
    display: block;
    font-family: 'National Park', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
}

.ab-elets-caption {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 24px;
    z-index: 2;
    color: #ffffff;
}

.ab-elets-caption .ab-elets-cap-tag {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 30px;
    background: rgba(1, 192, 122, 0.20);
    border: 1px solid rgba(1, 192, 122, 0.50);
    color: #00e896;
    font-family: 'National Park', sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.ab-elets-caption h5 {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 22px;
    color: #ffffff;
    letter-spacing: 0.5px;
    margin: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.ab-elets-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.ab-elets-stats>div {
    text-align: center;
}

.ab-elets-stats .num {
    display: block;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 34px;
    line-height: 1;
    background: linear-gradient(135deg, #01c07a 0%, #00e896 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 6px;
}

.ab-elets-stats .lbl {
    font-family: 'National Park', sans-serif;
    font-size: 11.5px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.70);
}

/* ─────────────────────────────────────────────
   Highlights — photo gallery
───────────────────────────────────────────── */
.ab-photo-gallery {
    margin-top: 36px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 200px 200px;
    gap: 14px;
    position: relative;
    z-index: 1;
}

.ab-photo-gallery figure {
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.ab-photo-gallery figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s ease;
}

.ab-photo-gallery figure::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 30, 61, 0) 55%, rgba(10, 30, 61, 0.82) 100%);
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.ab-photo-gallery figure:hover img {
    transform: scale(1.08);
}

.ab-photo-gallery .ab-ph-label {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    z-index: 2;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 1.25;
}

.ab-photo-gallery .ab-ph-wide {
    grid-column: span 2;
}

.ab-photo-gallery .ab-ph-tall {
    grid-row: span 2;
}

/* ─────────────────────────────────────────────
   Venue — visual hero + body
───────────────────────────────────────────── */
.ab-venue-hero {
    position: relative;
    min-height: 320px;
    background:
        linear-gradient(180deg, rgba(10, 30, 61, 0.35) 0%, rgba(10, 30, 61, 0.85) 100%),
        url('../images/conference-bnr-v1.webp') center/cover no-repeat;
    padding: 60px 50px 36px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.ab-venue-hero .ab-venue-tag {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(1, 192, 122, 0.18);
    border: 1px solid rgba(1, 192, 122, 0.45);
    border-radius: 30px;
    font-family: 'National Park', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #00e896;
    margin-bottom: 14px;
    width: fit-content;
}

.ab-venue-hero h3 {
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: clamp(28px, 3.4vw, 44px);
    color: #ffffff;
    letter-spacing: 0.5px;
    margin: 0;
    text-transform: uppercase;
    line-height: 1.1;
}

.ab-venue-hero h3 span {
    background: linear-gradient(135deg, #01c07a 0%, #00e896 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ─────────────────────────────────────────────
   About page — Responsive
───────────────────────────────────────────── */
@media (max-width: 1199px) {

    .ab-intro-grid,
    .ab-elets-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .ab-elets-visual {
        min-height: 360px;
    }

    .ab-elets-visual--card {
        min-height: 0;
        padding: 0;
    }
}

@media (max-width: 991px) {
    .ab-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ab-feature-grid,
    .ab-venue-features {
        grid-template-columns: 1fr;
    }

    .ab-feature-grid {
        column-gap: 0;
    }

    .ab-intro-wrap,
    .ab-venue-body {
        padding: 36px 28px;
    }

    .ab-vision-card {
        padding: 50px 28px;
    }

    .ab-committee-card {
        padding: 44px 26px;
    }

    .ab-photo-gallery {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 200px 200px 200px 200px;
    }

    .ab-photo-gallery .ab-ph-wide,
    .ab-photo-gallery .ab-ph-tall {
        grid-column: span 1;
        grid-row: span 1;
    }

    .ab-collage {
        grid-template-rows: 180px 180px;
    }

    .ab-elets-stats {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 575px) {

    section#about-intro,
    section#about-elets,
    section#about-vision,
    section#about-highlights,
    section#about-committee,
    section#about-venue {
        padding: 56px 0;
    }

    .ab-stat-grid {
        grid-template-columns: 1fr;
    }

    .ab-chief-guest {
        flex-direction: column;
    }

    .ab-chief-guest .ab-cg-photo {
        flex: 0 0 200px;
        width: 100%;
    }

    .ab-chief-guest .ab-cg-body {
        flex-direction: column;
        text-align: center;
        padding: 24px;
    }

    .ab-venue-map {
        height: 320px;
    }

    .ab-header {
        margin-bottom: 36px;
    }

    .ab-photo-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(6, 180px);
    }

    .ab-venue-hero {
        padding: 40px 28px 28px;
        min-height: 240px;
    }

    .ab-elets-stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }

    .ab-elets-stats .num {
        font-size: 26px;
    }
}

/* ─────────────────────────────────────────────
   About-us — Hero "Creative-agency" style section
   (huge headline + pill accent + circular collage)
───────────────────────────────────────────── */
.ab-hero2 {
    position: relative;
    padding: 100px 0 90px;
    background: #ffffff;
    overflow: hidden;
}

.ab-hero2::before {
    content: '';
    position: absolute;
    top: 90px;
    left: 56%;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #00e896;
    box-shadow: 0 0 0 6px rgba(0, 232, 150, 0.18);
    pointer-events: none;
}

.ab-hero2::after {
    content: '';
    position: absolute;
    top: 130px;
    left: 52%;
    width: 110px;
    height: 110px;
    background:
        radial-gradient(circle at center, transparent 38%, rgba(10, 30, 61, 0.18) 38.5%, rgba(10, 30, 61, 0.18) 41%, transparent 41.5%),
        radial-gradient(circle at center, transparent 24%, rgba(10, 30, 61, 0.12) 24.5%, rgba(10, 30, 61, 0.12) 27%, transparent 27.5%);
    transform: rotate(20deg);
    pointer-events: none;
    opacity: 0.6;
}

.ab-hero2-row {
    position: relative;
    z-index: 1;
}

.ab-hero2-eyebrow {
    display: inline-block;
    font-family: 'National Park', serif;
    font-style: italic;
    font-size: 22px;
    font-weight: 500;
    color: #1c4070;
    letter-spacing: 0.3px;
    margin-bottom: 18px;
}

.ab-hero2-headline {
    font-family: 'Cairo', sans-serif;
    font-size: 40px;
    font-weight: 700;
    color: #030303;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 30px;
    text-transform: uppercase;
}

.ab-hero2-headline>span {
    display: block;
}

/* ── Loading reveal animation (page-load cascade) ── */
@keyframes ab-hero2-rise {
    0% {
        opacity: 0;
        transform: translateY(36px);
        filter: blur(6px);
    }

    60% {
        filter: blur(0);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

.ab-hero2-text .ab-hero2-eyebrow,
.ab-hero2-text .ab-hero2-headline>span,
.ab-hero2-text .ab-hero2-sub,
.ab-hero2-text .ab-hero2-footer {
    opacity: 0;
    animation: ab-hero2-rise 0.85s cubic-bezier(0.22, 0.65, 0.30, 1) forwards;
    will-change: transform, opacity, filter;
}

.ab-hero2-text .ab-hero2-eyebrow {
    animation-delay: 0.10s;
}

.ab-hero2-text .ab-hero2-headline>span:nth-child(1) {
    animation-delay: 0.30s;
}

.ab-hero2-text .ab-hero2-headline>span:nth-child(2) {
    animation-delay: 0.55s;
}

.ab-hero2-text .ab-hero2-sub {
    animation-delay: 0.90s;
}

.ab-hero2-text .ab-hero2-footer {
    animation-delay: 1.10s;
}

@media (prefers-reduced-motion: reduce) {

    .ab-hero2-text .ab-hero2-eyebrow,
    .ab-hero2-text .ab-hero2-headline>span,
    .ab-hero2-text .ab-hero2-sub,
    .ab-hero2-text .ab-hero2-footer {
        opacity: 1;
        animation: none;
    }
}

.ab-hero2-line-pill {
    position: relative;
    padding-left: 72px;
}

.ab-hero2-line-pill::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%) rotate(-14deg);
    width: 58px;
    height: 22px;
    background:
        linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.55) 50%, transparent 65%) -120% 0 / 220% 100% no-repeat,
        linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 48%) 0 0 / 100% 100% no-repeat,
        linear-gradient(90deg, #0a1e3d 0%, #0a1e3d 50%, #01c07a 50%, #00e896 100%) 0 0 / 100% 100% no-repeat;
    border-radius: 30px;
    box-shadow:
        0 6px 14px rgba(10, 30, 61, 0.22),
        inset 0 1px 2px rgba(255, 255, 255, 0.22),
        inset 0 -2px 3px rgba(0, 0, 0, 0.10);
    animation:
        ab-capsule-bob 4s ease-in-out infinite,
        ab-capsule-shine 3.6s ease-in-out infinite;
    transform-origin: center center;
}

.ab-hero2-line-pill::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%) rotate(-14deg);
    width: 58px;
    height: 22px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    pointer-events: none;
    animation: ab-capsule-bob 4s ease-in-out infinite;
    transform-origin: center center;
}

@keyframes ab-capsule-bob {

    0%,
    100% {
        transform: translateY(-50%) rotate(-14deg);
    }

    50% {
        transform: translateY(-58%) rotate(-6deg);
    }
}

@keyframes ab-capsule-shine {
    0% {
        background-position: -120% 0, 0 0, 0 0;
    }

    55%,
    100% {
        background-position: 220% 0, 0 0, 0 0;
    }
}

.ab-hero2-line-pill:hover::before {
    animation:
        ab-capsule-spin 0.9s cubic-bezier(0.4, 0, 0.2, 1) 1,
        ab-capsule-shine 3.6s ease-in-out infinite;
}

.ab-hero2-line-pill:hover::after {
    animation: ab-capsule-spin 0.9s cubic-bezier(0.4, 0, 0.2, 1) 1;
}

@keyframes ab-capsule-spin {
    0% {
        transform: translateY(-50%) rotate(-14deg);
    }

    100% {
        transform: translateY(-50%) rotate(346deg);
    }
}

@media (prefers-reduced-motion: reduce) {

    .ab-hero2-line-pill::before,
    .ab-hero2-line-pill::after {
        animation: none;
    }
}

.ab-hero2-sub {
    max-width: 540px;
    margin-bottom: 42px;
}

.ab-hero2-sub h4 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 16px;
    letter-spacing: -0.02em;
    text-transform: none;
    color: #030303;
    margin: 0 0 14px;
    font-weight: 700;
    line-height: 1.5;
}

.ab-hero2-sub p {
    font-family: 'National Park', sans-serif;
    font-size: 15px;
    line-height: 28px;
    color: #000000;
    margin: 0;
}

.ab-hero2-footer {
    display: flex;
    align-items: center;
    gap: 56px;
    padding-top: 32px;
    border-top: 1px solid rgba(10, 30, 61, 0.08);
    flex-wrap: wrap;
}

.ab-hero2-rating-tag {
    display: block;
    font-family: 'National Park', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: #6b7d96;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.ab-hero2-rating-stars {
    display: flex;
    gap: 4px;
    color: #f5b400;
    font-size: 14px;
    margin-bottom: 6px;
}

.ab-hero2-rating-label {
    font-family: 'National Park', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #030303;
    letter-spacing: 0.3px;
}

.ab-hero2-trust {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ab-hero2-avatars {
    display: flex;
    align-items: center;
}

.ab-hero2-avatars img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 3px solid #ffffff;
    margin-left: -14px;
    object-fit: cover;
    box-shadow: 0 4px 10px rgba(10, 30, 61, 0.12);
}

.ab-hero2-avatars img:first-child {
    margin-left: 0;
}

.ab-hero2-avatar-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 46px;
    padding: 0 14px;
    border-radius: 26px;
    background: #0a1e3d;
    color: #ffffff;
    font-family: 'Special Gothic Condensed One', sans-serif;
    font-size: 14px;
    letter-spacing: 0.5px;
    margin-left: -14px;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(10, 30, 61, 0.18);
}

.ab-hero2-trust-text strong {
    display: block;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 15px;
    color: #030303;
    letter-spacing: -0.02em;
    text-transform: none;
    font-weight: 700;
}

.ab-hero2-trust-text span {
    font-family: 'National Park', sans-serif;
    font-size: 13px;
    color: #030303;
}

/* ── Right: curved image collage ── */
.ab-hero2-visual {
    position: relative;
    min-height: 560px;
}

.ab-hero2-collage {
    position: relative;
    width: 100%;
    height: 560px;
}

.ab-hero2-collage::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 540px;
    height: 540px;
    max-width: 100%;
    border: 1.5px dashed rgba(10, 30, 61, 0.18);
    border-radius: 50%;
    pointer-events: none;
}

.ab-hero2-collage::after {
    content: '';
    position: absolute;
    bottom: -20px;
    right: 0;
    width: 60px;
    height: 60px;
    background:
        radial-gradient(circle, #01c07a 28%, transparent 30%) center/16px 16px repeat;
    opacity: 0.55;
    pointer-events: none;
}

.ab-hero2-img {
    position: absolute;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(10, 30, 61, 0.22);
    transition: transform 0.5s ease;
}

.ab-hero2-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s ease;
}

.ab-hero2-img:hover {
    transform: translateY(-4px);
}

.ab-hero2-img:hover img {
    transform: scale(1.06);
}

.ab-hero2-img--1 {
    top: 24px;
    left: 0;
    width: 50%;
    height: 44%;
}

.ab-hero2-img--2 {
    top: 24px;
    right: 0;
    width: 44%;
    height: 44%;
}

.ab-hero2-img--3 {
    bottom: 30px;
    left: 14%;
    width: 70%;
    height: 38%;
}

/* ── Responsive ── */
@media (max-width: 991px) {
    .ab-hero2 {
        padding: 70px 0 70px;
    }

    .ab-hero2-row {
        row-gap: 50px;
    }

    .ab-hero2::before,
    .ab-hero2::after {
        display: none;
    }

    .ab-hero2-visual {
        min-height: 460px;
    }

    .ab-hero2-collage {
        height: 460px;
    }

    .ab-hero2-collage::before {
        width: 440px;
        height: 440px;
    }
}

@media (max-width: 575px) {
    .ab-hero2 {
        padding: 50px 0 50px;
    }

    .ab-hero2-headline {
        font-size: 30px;
        margin-bottom: 24px;
    }

    .ab-hero2-line-pill {
        padding-left: 60px;
    }

    .ab-hero2-line-pill::before,
    .ab-hero2-line-pill::after {
        width: 48px;
        height: 18px;
    }

    .ab-hero2-eyebrow {
        font-size: 18px;
    }

    .ab-hero2-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .ab-hero2-visual {
        min-height: 380px;
    }

    .ab-hero2-collage {
        height: 380px;
    }

    .ab-hero2-collage::before {
        width: 340px;
        height: 340px;
    }

    .ab-hero2-img--1,
    .ab-hero2-img--2 {
        height: 36%;
    }

    .ab-hero2-img--3 {
        height: 32%;
    }
}

/* ─────────────────────────────────────────────
   About-us — left-scrolling photo marquee
───────────────────────────────────────────── */
.ab-marquee {
    position: relative;
    padding: 64px 0;
    background: #f6f9ff;
    overflow: hidden;
}

.ab-marquee::before,
.ab-marquee::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 140px;
    z-index: 2;
    pointer-events: none;
}

.ab-marquee::before {
    left: 0;
    background: linear-gradient(90deg, #f6f9ff 0%, rgba(246, 249, 255, 0) 100%);
}

.ab-marquee::after {
    right: 0;
    background: linear-gradient(-90deg, #f6f9ff 0%, rgba(246, 249, 255, 0) 100%);
}

.ab-marquee-track {
    display: flex;
    width: max-content;
    gap: 22px;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

.ab-marquee-list {
    display: flex;
    gap: 22px;
    flex-shrink: 0;
}

.ab-marquee-list img {
    width: 380px;
    height: 260px;
    object-fit: cover;
    display: block;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(10, 30, 61, 0.12);
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.ab-marquee-list img:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 18px 40px rgba(10, 30, 61, 0.20);
}

@media (max-width: 991px) {
    .ab-marquee {
        padding: 50px 0;
    }

    .ab-marquee-list img {
        width: 280px;
        height: 190px;
    }
}

@media (max-width: 575px) {
    .ab-marquee {
        padding: 40px 0;
    }

    .ab-marquee-list img {
        width: 220px;
        height: 150px;
        border-radius: 12px;
    }

    .ab-marquee::before,
    .ab-marquee::after {
        width: 60px;
    }
}

/* ─────────────────────────────────────────────
   About page — flatten inner card boxes on mobile
───────────────────────────────────────────── */
@media (max-width: 767px) {

    /* Contact cards — strip card chrome */
    section#contact.cu-section .cu-card {
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        backdrop-filter: none;
        padding: 18px 0;
        min-height: 0;
    }

    section#contact.cu-section .cu-card::before {
        display: none;
    }

    section#contact.cu-section .cu-card:hover {
        transform: none;
        background: transparent;
        box-shadow: none;
        border-color: transparent;
    }

    section#contact.cu-section .cu-grid>.cu-card+.cu-card {
        border-top: 1px solid rgba(10, 30, 61, 0.08);
    }

    /* Hero image collage tiles — drop shadow + corner radius */
    .ab-hero2-img {
        box-shadow: none;
        border-radius: 10px;
    }

    /* Marquee tiles — strip lift shadow */
    .ab-marquee-list img {
        box-shadow: none;
    }

    /* Trust avatar stack — drop the white ring + shadow */
    .ab-hero2-avatars img,
    .ab-hero2-avatar-badge {
        box-shadow: none;
    }
}

/* ─────────────────────────────────────────────
   Hero CTA arrows — larger arrow + icon circle
───────────────────────────────────────────── */
.hero-cta-btns .nav-cta {
    padding: 2px 8px 2px 17px;
    gap: 16px;
}

.hero-cta-btns .nav-cta-icon {
    width: 42px;
    height: 42px;
}

.hero-cta-btns .nav-cta-arrow {
    width: 24px;
    height: 24px;
}

.hero-cta-btns .nav-cta-arrow svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 575px) {
    .hero-cta-btns .nav-cta {
        padding: 7px 7px 7px 22px;
        gap: 12px;
    }

    .hero-cta-btns .nav-cta-icon {
        width: 36px;
        height: 36px;
    }

    .hero-cta-btns .nav-cta-arrow,
    .hero-cta-btns .nav-cta-arrow svg {
        width: 20px;
        height: 20px;
    }
}

/* ========================================
   FOOTER — Minimal centered
   ======================================== */
.mn-footer {
    background: #0a121d;
    padding: 50px 24px 32px;
    color: rgba(255, 255, 255, 0.75);
    font-family: 'DM Sans', sans-serif;
    position: relative;
    overflow: hidden;
}

.mn-footer::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(600px 320px at 50% 0%, rgba(43, 189, 230, 0.10) 0%, transparent 60%);
    pointer-events: none;
}

.mn-footer-inner {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
}

.mn-footer-logo img {
    width: 140px;
    height: auto;
    display: block;
}

.mn-footer-tagline {
    margin: 0;
    max-width: 520px;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.62);
    letter-spacing: 0.01em;
    font-family: 'National Park';
}

.mn-footer-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 4px;
}

.mn-footer-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 22px;
    border-radius: 999px;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
    min-height: 40px;
    white-space: nowrap;
}

.mn-footer-cta-btn i {
    font-size: 11px;
    transition: transform 0.25s ease;
}

.mn-footer-cta-btn:hover {
    transform: translateY(-2px);
}

.mn-footer-cta-btn:hover i {
    transform: translateX(3px);
}

.mn-footer-cta-btn--primary {
    background: linear-gradient(135deg, #01a06a 0%, #01c07a 55%, #00d68a 100%);
    color: #ffffff;
    border: 1px solid rgba(1, 192, 122, 0.45);
    box-shadow: 0 8px 22px rgba(1, 192, 122, 0.28), 0 1px 0 rgba(255, 255, 255, 0.18) inset;
}
.mn-footer-cta-btn--primary:hover {
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(1, 192, 122, 0.40), 0 1px 0 rgba(255, 255, 255, 0.22) inset;
}

.mn-footer-cta-btn--ghost {
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(6px);
}
.mn-footer-cta-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(1, 192, 122, 0.55);
    color: #00d68a;
}

.mn-footer-social {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.mn-footer-social a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.10);
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.mn-footer-social a:hover {
    background: rgba(43, 189, 230, 0.15);
    border-color: #2bbde6;
    transform: translateY(-2px);
}

.mn-footer-social a img {
    width: 15px;
    height: 15px;
    filter: brightness(0) invert(1);
    opacity: 0.85;
    transition: opacity 0.25s ease;
}

.mn-footer-social a:hover img {
    opacity: 1;
}

.mn-footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
}

.mn-footer-nav a {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    transition: color 0.25s ease;
}

.mn-footer-nav a:hover {
    color: #2bbde6;
}

.mn-footer-dot {
    color: rgba(255, 255, 255, 0.25);
    user-select: none;
}

.mn-footer-divider {
    width: 100%;
    max-width: 480px;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.12) 50%, transparent 100%);
    margin: 8px 0;
}

.mn-footer-copy {
    margin: 0;
    font-size: 12px;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.48);
}

@media (max-width: 575.98px) {
    .mn-footer {
        padding: 48px 20px 28px;
    }

    .mn-footer-inner {
        gap: 18px;
    }

    .mn-footer-logo img {
        width: 120px;
    }

    .mn-footer-nav {
        font-size: 12px;
        gap: 8px;
    }

    .mn-footer-copy {
        font-size: 11px;
    }
}

/* ════════════════════════════════════════════════════════════════
   GLIMPSES — Past editions marquee strip (home page, above Contact)
   ════════════════════════════════════════════════════════════════ */
.glimpses-section {
    position: relative;
    padding: 80px 0;
    background: #fff;
    overflow: hidden;
    isolation: isolate;
}

.glimpses-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(8, 26, 46, 0.05) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
    z-index: -1;
    opacity: 0.7;
    pointer-events: none;
}

.glimpses-container {
    max-width: 1343px;
    margin: 0 auto;
    padding: 0 calc(var(--bs-gutter-x, 1.5rem) * 0.5);
}

.glimpses-header {
    text-align: center;
    margin-bottom: 44px;
}

.glimpses-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #04734f;
    background: linear-gradient(135deg, rgba(1, 168, 111, 0.10) 0%, rgba(1, 168, 111, 0.04) 100%);
    border: 1px solid rgba(1, 168, 111, 0.24);
    padding: 9px 20px 9px 14px;
    border-radius: 999px;
    margin-bottom: 22px;
    box-shadow: 0 6px 18px rgba(1, 168, 111, 0.08);
}

.glimpses-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01a86f 0%, #00d49a 100%);
    box-shadow: 0 0 0 3px rgba(1, 168, 111, 0.16);
    flex-shrink: 0;
}

.glimpses-headline {
    font-family: 'Cairo', sans-serif;
    font-size: 40px;
    font-weight: 700;
    text-transform: uppercase;
    color: #0c1a2e;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 14px;
}

.glimpses-headline em {
    font-style: normal;
    color: #2bbde6;
}

.glimpses-intro {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #5a6a78;
    max-width: 640px;
    margin: 0 auto;
}

/* ── Marquee rows ── */
.glimpses-marquee {
    position: relative;
    overflow: hidden;
    padding: 10px 0;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.glimpses-marquee + .glimpses-marquee {
    margin-top: 18px;
}

.glimpses-track {
    display: flex;
    gap: 18px;
    width: max-content;
    will-change: transform;
}

.glimpses-row-ltr .glimpses-track {
    animation: glimpses-slide-ltr 70s linear infinite;
}

.glimpses-row-rtl .glimpses-track {
    animation: glimpses-slide-rtl 70s linear infinite;
}

.glimpses-marquee:hover .glimpses-track {
    animation-play-state: paused;
}

@keyframes glimpses-slide-ltr {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

@keyframes glimpses-slide-rtl {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.glimpses-card {
    flex: 0 0 auto;
    width: 280px;
    height: 180px;
    border-radius: 14px;
    overflow: hidden;
    background: #e9eef5;
    box-shadow: 0 10px 24px rgba(8, 26, 46, 0.10);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.glimpses-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(8, 26, 46, 0.18);
}

.glimpses-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (prefers-reduced-motion: reduce) {
    .glimpses-row-ltr .glimpses-track,
    .glimpses-row-rtl .glimpses-track {
        animation: none;
    }
}

/* Responsive */
@media (max-width: 1199.98px) {
    .glimpses-card { width: 240px; height: 160px; }
}

@media (max-width: 767.98px) {
    .glimpses-section { padding: 60px 0; }
    .glimpses-headline { font-size: 26px; }
    .glimpses-intro { font-size: 14px; }
    .glimpses-card { width: 180px; height: 120px; border-radius: 10px; }
    .glimpses-track { gap: 12px; }
    .glimpses-row-ltr .glimpses-track,
    .glimpses-row-rtl .glimpses-track {
        animation-duration: 50s;
    }
}


/* ========================================
   Book a Space page (book-a-space.html)
   ======================================== */
:root {
    --bas-navy: #013c8a;
    --bas-navy-deep: #012660;
    --bas-accent: #01a06a;
    --bas-ink: #0e1a2b;
    --bas-muted: #38465a;
    --bas-line: #dde6f7;
    --bas-tint: #f6f9ff;
    --bas-tint-deep: #eaf1ff;
}

/* ===== Hero — two-column, register.html visual treatment in navy ===== */
.bas-hero {
    position: relative;
    padding: 50px 0 40px;
    background:
        radial-gradient(1100px 520px at 12% 0%, rgba(1, 60, 138, .14), transparent 60%),
        radial-gradient(900px 460px at 100% 100%, rgba(1, 60, 138, .14), transparent 65%),
        linear-gradient(180deg, var(--bas-tint) 0%, var(--bas-tint-deep) 100%);
    overflow: hidden;
}

.bas-hero::before,
.bas-hero::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    filter: blur(2px);
    opacity: .35;
    z-index: 0;
    pointer-events: none;
}

.bas-hero::before {
    width: 320px;
    height: 120px;
    left: -60px;
    top: 60px;
    background: linear-gradient(90deg, var(--bas-navy) 0 50%, #ffffff 50% 100%);
    transform: rotate(-18deg);
    box-shadow: 0 30px 60px rgba(1, 60, 138, .25);
}

.bas-hero::after {
    width: 260px;
    height: 96px;
    right: -40px;
    bottom: 40px;
    background: linear-gradient(90deg, var(--bas-navy-deep) 0 50%, #ffffff 50% 100%);
    transform: rotate(22deg);
    box-shadow: 0 30px 60px rgba(1, 38, 96, .25);
}

.bas-hero-inner {
    position: relative;
    z-index: 2;
}

.bas-capsule-deco {
    position: absolute;
    pointer-events: none;
    opacity: .85;
    z-index: 1;
}

.bas-capsule-deco.cd-tr {
    right: -30px;
    top: 70px;
    width: 140px;
    transform: rotate(28deg);
    filter: drop-shadow(0 18px 24px rgba(1, 60, 138, .22));
}

.bas-capsule-deco.cd-bl {
    left: -20px;
    bottom: 40px;
    width: 110px;
    transform: rotate(-22deg);
    filter: drop-shadow(0 18px 24px rgba(1, 60, 138, .22));
}

@media (max-width: 991px) {
    .bas-capsule-deco { display: none; }
}

/* Left column */
.bas-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--bas-navy);
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    letter-spacing: .14em;
    font-size: 12px;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
    border: 1px solid rgba(1, 60, 138, .18);
    margin-bottom: 22px;
}

.bas-eyebrow .dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--bas-navy);
    box-shadow: 0 0 0 4px rgba(1, 60, 138, .18);
}

.bas-title {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.12;
    color: var(--bas-ink);
    letter-spacing: -.02em;
    margin: 0 0 18px;
}

.bas-title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--bas-navy), var(--bas-navy-deep));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.bas-tagline {
    font-family: 'Cairo', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--bas-navy);
    margin: 0 0 14px;
}

.bas-sub {
    font-family: 'Cairo', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    color: var(--bas-muted);
    max-width: 560px;
    margin: 0 0 14px;
}

.bas-sub:last-of-type {
    margin-bottom: 22px;
}

.bas-meta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 20px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid var(--bas-line);
    box-shadow: 0 10px 26px rgba(1, 60, 138, .08);
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    color: var(--bas-ink);
    font-size: 15px;
}

.bas-meta .bas-meta-sep {
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: var(--bas-navy);
    opacity: .55;
}

.bas-meta .bas-meta-icon {
    width: 18px;
    height: 18px;
    color: var(--bas-navy);
    flex: 0 0 18px;
}

/* Form card — right column */
.bas-form-card {
    position: relative;
    background: #ffffff;
    border-radius: 24px;
    padding: 22px;
    box-shadow:
        0 40px 80px rgba(1, 60, 138, .12),
        0 8px 24px rgba(14, 26, 43, .06);
    border: 1px solid var(--bas-line);
    overflow: hidden;
}

.bas-form-card::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1.5px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(1, 60, 138, .55), rgba(1, 38, 96, .55));
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.bas-iframe-wrap {
    border-radius: 16px;
    overflow: hidden;
    background: #f4f8ff;
    border: 1px solid var(--bas-line);
}

.bas-iframe-wrap iframe {
    display: block;
    width: 100%;
    border: none;
    background: #ffffff;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
    .bas-hero {
        padding: 40px 0 35px;
    }

    .bas-form-card {
        margin-top: 36px;
    }
}

@media (max-width: 575px) {
    .bas-title {
        font-size: 30px;
    }

    .bas-tagline {
        font-size: 16px;
    }

    .bas-sub {
        font-size: 15px;
    }

    .bas-meta {
        font-size: 14px;
        padding: 10px 16px;
    }
}

/* ===== Registration form (Zoho HTML form) ===== */
.bas-form-card #form {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0;
}

.bas-form-card #form > * {
    margin: 0;
    width: 100%;
    flex: 0 0 100%;
}

.bas-form-card #form input[type="hidden"] {
    display: none;
}

.bas-form-card #form h2 {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.2;
    color: var(--bas-navy-deep);
    margin: 0 0 4px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--bas-line);
}

.bas-form-card #form p {
    display: none;
}

.bas-form-card #form label {
    display: none;
}

.bas-form-card #form label:has(em) {
    display: block;
    font-family: 'Cairo', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: var(--bas-ink);
    margin: 4px 0 -6px;
    letter-spacing: .01em;
}

.bas-form-card #form label em {
    color: #e23434;
    font-style: normal;
    margin-left: 2px;
}

.bas-form-card #form input[type="text"],
.bas-form-card #form input[type="email"],
.bas-form-card #form input[type="tel"],
.bas-form-card #form select,
.bas-form-card #form textarea {
    width: 100%;
    font-family: 'Cairo', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--bas-ink);
    background: #f7faff;
    border: 1.5px solid var(--bas-line);
    border-radius: 12px;
    padding: 12px 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.bas-form-card #form input::placeholder,
.bas-form-card #form textarea::placeholder {
    color: #8a96ad;
    opacity: 1;
}

.bas-form-card #form input:focus,
.bas-form-card #form select:focus,
.bas-form-card #form textarea:focus {
    border-color: var(--bas-navy);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(1, 60, 138, .12);
}

.bas-form-card #form select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23013c8a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 18px 18px;
    padding-right: 40px;
    cursor: pointer;
}

.bas-form-card #form textarea {
    min-height: 110px;
    resize: vertical;
    font-family: 'Cairo', sans-serif;
}

/* Side-by-side groupings */
.bas-form-card #form input[name="Name_First"],
.bas-form-card #form input[name="Name_Last"] {
    width: calc(50% - 7px);
    flex: 0 0 calc(50% - 7px);
}

.bas-form-card #form input[name="PhoneNumber_countrycodeval"] {
    width: calc(35% - 7px);
    flex: 0 0 calc(35% - 7px);
}

.bas-form-card #form input[name="PhoneNumber_countrycode"] {
    width: calc(65% - 7px);
    flex: 0 0 calc(65% - 7px);
}

/* Submit button */
.bas-form-card #form button[type="submit"] {
    width: 100%;
    margin-top: 6px;
    padding: 14px 22px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--bas-navy) 0%, var(--bas-navy-deep) 100%);
    color: #ffffff;
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(1, 60, 138, .28);
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
    position: relative;
}

.bas-form-card #form button[type="submit"] em {
    font-style: normal;
}

.bas-form-card #form button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 38px rgba(1, 60, 138, .35);
}

.bas-form-card #form button[type="submit"]:active {
    transform: translateY(0);
}

.bas-form-message {
    display: none;
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    font-family: 'Cairo', sans-serif;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 700;
}

.bas-form-message.is-visible {
    display: block;
}

.bas-form-message-success {
    color: #075f43;
    background: #e8fff5;
    border: 1px solid rgba(1, 160, 106, .28);
}

.bas-form-message-error {
    color: #9d1f1f;
    background: #fff1f1;
    border: 1px solid rgba(226, 52, 52, .28);
}

.bas-form-card #form button[type="submit"]:disabled,
.bas-form-card #form button[type="submit"].is-loading {
    opacity: .75;
    cursor: not-allowed;
    transform: none;
}

.bas-form-card #form button[type="submit"].is-loading em {
    visibility: hidden;
}

.bas-form-card #form button[type="submit"].is-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2.5px solid rgba(255, 255, 255, .35);
    border-top-color: #ffffff;
    animation: bas-spin .8s linear infinite;
}

@keyframes bas-spin {
    to { transform: rotate(360deg); }
}

.bas-form-card #form input.bas-invalid,
.bas-form-card #form select.bas-invalid,
.bas-form-card #form textarea.bas-invalid {
    border-color: #e23434;
    background: #fff4f4;
    box-shadow: 0 0 0 4px rgba(226, 52, 52, .12);
}

@media (max-width: 480px) {
    .bas-form-card #form input[name="Name_First"],
    .bas-form-card #form input[name="Name_Last"],
    .bas-form-card #form input[name="PhoneNumber_countrycodeval"],
    .bas-form-card #form input[name="PhoneNumber_countrycode"] {
        width: 100%;
        flex: 0 0 100%;
    }
}

/* ===== On-page alert (success / error toast) ===== */
.bas-alert {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translate(-50%, -24px);
    z-index: 9999;
    max-width: calc(100vw - 32px);
    min-width: 280px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px 14px 16px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid var(--bas-line);
    box-shadow: 0 24px 50px rgba(14, 26, 43, .18);
    font-family: 'Cairo', sans-serif;
    font-size: 14.5px;
    line-height: 1.45;
    color: var(--bas-ink);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease, transform .35s cubic-bezier(.2, .8, .2, 1);
}

.bas-alert.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
}

.bas-alert-ico {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}

.bas-alert-msg {
    flex: 1 1 auto;
    padding-top: 3px;
    font-weight: 600;
    max-width: 420px;
}

.bas-alert-close {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: none;
    background: transparent;
    color: var(--bas-muted);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.bas-alert-close:hover {
    background: #eef2fa;
    color: var(--bas-ink);
}

.bas-alert-success {
    border-color: rgba(1, 160, 106, .35);
}

.bas-alert-success .bas-alert-ico {
    background: linear-gradient(135deg, #01a06a, #00c87a);
    box-shadow: 0 6px 14px rgba(1, 160, 106, .35);
}

.bas-alert-error {
    border-color: rgba(226, 52, 52, .35);
}

.bas-alert-error .bas-alert-ico {
    background: linear-gradient(135deg, #d92626, #ff5252);
    box-shadow: 0 6px 14px rgba(226, 52, 52, .35);
}

/* ===== Page banner — taller hero on Book a Space ===== */
.bas-page section#commonbanners {
    height: 300px;
    background:
        linear-gradient(180deg, rgba(1, 38, 96, .55) 0%, rgba(1, 38, 96, .75) 100%),
        url(../../images/glimpses/15.jpg) center center / cover no-repeat;
    background-color: #012660;
}

.bas-page section#commonbanners .wrap-speakerbanner {
    bottom: 60px;
}

.bas-page section#commonbanners .wrap-speakerbanner h2 {
    font-size: 40px;
    line-height: 1.05;
    letter-spacing: -.01em;
    text-shadow: 0 4px 18px rgba(0, 0, 0, .35);
}

@media (max-width: 991px) {
    .bas-page section#commonbanners {
        height: 360px;
    }

    .bas-page section#commonbanners .wrap-speakerbanner {
        bottom: 40px;
    }

    .bas-page section#commonbanners .wrap-speakerbanner h2 {
        font-size: 42px;
    }
}

@media (max-width: 575px) {
    .bas-page section#commonbanners {
        height: 280px;
    }

    .bas-page section#commonbanners .wrap-speakerbanner h2 {
        font-size: 34px;
    }
}

/* ===== Why Exhibit section — Swiper slider ===== */
.bas-why {
    position: relative;
    padding: 100px 0 110px;
    background:
        linear-gradient(180deg, rgba(1, 22, 56, .88) 0%, rgba(1, 38, 96, .92) 100%),
        url(../../images/glimpses/2.jpg) center center / cover no-repeat fixed;
    background-color: #012660;
    overflow: hidden;
}

.bas-why::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(700px 420px at 0% 0%, rgba(255, 255, 255, .04), transparent 65%),
        radial-gradient(700px 420px at 100% 100%, rgba(255, 255, 255, .04), transparent 65%);
    pointer-events: none;
}

.bas-why > .container {
    position: relative;
    z-index: 1;
}

.bas-why-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 48px;
}

.bas-why-head .bas-eyebrow {
    margin-bottom: 18px;
    background: rgba(255, 255, 255, .14);
    color: #ffffff;
    border-color: rgba(255, 255, 255, .25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.bas-why-head .bas-eyebrow .dot {
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .2);
}

.bas-why-title {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.12;
    color: #ffffff;
    letter-spacing: -.02em;
    margin: 0;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .25);
}

.bas-why-title em {
    font-style: normal;
    background: linear-gradient(90deg, #ffffff, #cfe0ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.bas-why-slider-wrap {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 56px;
}

.bas-why-slider {
    overflow: hidden;
    padding-bottom: 6px;
}

.bas-why-slide {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(0, 0, 0, .25);
    aspect-ratio: 4 / 5;
    isolation: isolate;
    transition: transform .25s ease, box-shadow .25s ease;
}

.swiper-slide.bas-why-slide {
    height: auto;
}

.bas-why-slide:hover {
    transform: translateY(-4px);
    box-shadow: 0 32px 64px rgba(0, 0, 0, .35);
}

.bas-why-slide-media {
    position: absolute;
    inset: 0;
    margin: 0;
    overflow: hidden;
    background: var(--bas-tint-deep);
    z-index: 0;
}

.bas-why-slide-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}

.bas-why-slide:hover .bas-why-slide-media img {
    transform: scale(1.06);
}

.bas-why-slide-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
        rgba(1, 22, 56, .92) 0%,
        rgba(1, 38, 96, .65) 30%,
        rgba(1, 60, 138, .12) 65%,
        rgba(1, 60, 138, 0) 100%);
    pointer-events: none;
}

.bas-why-slide-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 22px 22px 22px;
    z-index: 1;
}

/* Headings-only mode — hide body copy and lists in the slide cards */
.bas-why-slide-body p,
.bas-why-slide-body .bas-why-slide-list {
    display: none;
}

.bas-why-slide-body .bas-why-slide-title {
    margin-bottom: 0;
}

.swiper-wrapper {
    align-items: stretch;
}

.bas-why-slide-num {
    display: none;
}

.bas-why-slide-title {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    color: #ffffff;
    margin: 0 0 14px;
    letter-spacing: -.005em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .4);
}

.bas-why-slide p {
    font-family: 'Cairo', sans-serif;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--bas-muted);
    margin: 0 0 12px;
}

.bas-why-slide p:last-child {
    margin-bottom: 0;
}

.bas-why-slide p strong {
    color: var(--bas-navy-deep);
    font-weight: 700;
}

.bas-why-slide-list {
    list-style: none;
    padding: 0;
    margin: 4px 0 12px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px 0;
}

.bas-why-slide-list li {
    position: relative;
    font-family: 'Cairo', sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--bas-ink);
    padding-left: 16px;
    line-height: 1.45;
}

.bas-why-slide-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bas-navy);
}

/* Navigation buttons */
.bas-why-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .25);
    transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.bas-why-nav:hover {
    background: #ffffff;
    color: var(--bas-navy-deep);
    border-color: #ffffff;
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .35);
}

.bas-why-nav--prev { left: 0; }
.bas-why-nav--next { right: 0; }

.bas-why-nav.swiper-button-disabled {
    opacity: .4;
    cursor: not-allowed;
}

/* Pagination */
.bas-why-pagination {
    text-align: center;
    margin-top: 28px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.bas-why-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .35);
    opacity: 1;
    margin: 0 4px !important;
    transition: all 0.3s ease;
}

.bas-why-pagination .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 4px;
    background: linear-gradient(90deg, #2bbde6, #1eaa72);
}

@media (max-width: 991px) {
    .bas-why {
        padding: 70px 0 80px;
    }

    .bas-why-title {
        font-size: 30px;
    }

    .bas-why-head {
        margin-bottom: 36px;
    }

    .bas-why-slider-wrap {
        padding: 0;
    }

    .bas-why-nav {
        display: none;
    }

    .bas-why-pagination {
        margin-top: 22px;
    }

    .bas-why-slide-body {
        padding: 24px 20px 26px;
    }

    .bas-why-slide-title {
        font-size: 19px;
    }
}

/* ===== Who Will You Meet section ===== */
.bas-meet {
    position: relative;
    padding: 90px 0 100px;
    background:
        radial-gradient(900px 420px at 0% 0%, rgba(1, 60, 138, .06), transparent 65%),
        linear-gradient(180deg, #f6f9ff 0%, #ffffff 100%);
    overflow: hidden;
}

.bas-meet-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 56px;
}

.bas-meet-head .bas-eyebrow {
    margin-bottom: 18px;
}

.bas-meet-title {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.12;
    color: var(--bas-ink);
    letter-spacing: -.02em;
    margin: 0 0 12px;
}

.bas-meet-title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--bas-navy), var(--bas-navy-deep));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.bas-meet-tagline {
    font-family: 'Cairo', sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--bas-navy);
    margin: 0 0 10px;
    letter-spacing: -.005em;
}

.bas-meet-intro {
    font-family: 'Cairo', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--bas-muted);
    margin: 0;
}

.bas-meet-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.bas-meet-tile {
    background: #ffffff;
    border: 1px solid var(--bas-line);
    border-radius: 18px;
    padding: 26px 22px;
    text-align: center;
    box-shadow: 0 12px 28px rgba(1, 60, 138, .06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.bas-meet-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 44px rgba(1, 60, 138, .15);
    border-color: rgba(1, 60, 138, .25);
}

.bas-meet-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(1, 60, 138, .08), rgba(1, 38, 96, .14));
    color: var(--bas-navy);
    border: 1px solid rgba(1, 60, 138, .14);
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.bas-meet-tile:hover .bas-meet-icon {
    background: linear-gradient(135deg, var(--bas-navy), var(--bas-navy-deep));
    color: #ffffff;
    border-color: var(--bas-navy-deep);
}

.bas-meet-label {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.35;
    color: var(--bas-ink);
    margin: 0;
    letter-spacing: -.005em;
}

@media (max-width: 1199px) {
    .bas-meet-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .bas-meet {
        padding: 70px 0 80px;
    }

    .bas-meet-title {
        font-size: 30px;
    }

    .bas-meet-head {
        margin-bottom: 40px;
    }

    .bas-meet-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .bas-meet-tile {
        padding: 22px 16px;
        gap: 12px;
    }

    .bas-meet-icon {
        width: 48px;
        height: 48px;
    }

    .bas-meet-label {
        font-size: 14px;
    }
}

@media (max-width: 380px) {
    .bas-meet-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== More Than an Exhibition (3 platforms) ===== */
.bas-ecosystem {
    position: relative;
    padding: 100px 0 110px;
    background:
        radial-gradient(900px 420px at 100% 0%, rgba(1, 60, 138, .06), transparent 65%),
        radial-gradient(700px 360px at 0% 100%, rgba(1, 160, 106, .05), transparent 70%),
        #ffffff;
    overflow: hidden;
}

.bas-ecosystem-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 56px;
}

.bas-ecosystem-head .bas-eyebrow {
    margin-bottom: 18px;
}

.bas-ecosystem-title {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.12;
    color: var(--bas-ink);
    letter-spacing: -.02em;
    margin: 0 0 12px;
}

.bas-ecosystem-title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--bas-navy), var(--bas-navy-deep));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.bas-ecosystem-tagline {
    font-family: 'Cairo', sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--bas-navy);
    margin: 0;
    letter-spacing: -.005em;
}

.bas-ecosystem-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.bas-eco-card {
    background: #ffffff;
    border: 1px solid var(--bas-line);
    border-radius: 22px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 18px 44px rgba(1, 60, 138, .08);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.bas-eco-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(1, 60, 138, .16);
    border-color: rgba(1, 60, 138, .25);
}

.bas-eco-card-media {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--bas-tint-deep);
}

.bas-eco-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}

.bas-eco-card:hover .bas-eco-card-media img {
    transform: scale(1.06);
}

.bas-eco-card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1, 38, 96, 0) 60%, rgba(1, 38, 96, .35) 100%);
    pointer-events: none;
}

.bas-eco-card-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    height: 30px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--bas-navy-deep);
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .15);
}

.bas-eco-card-body {
    padding: 26px 26px 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.bas-eco-card-title {
    font-family: 'Cairo', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.25;
    color: var(--bas-ink);
    margin: 0 0 12px;
    letter-spacing: -.01em;
}

.bas-eco-card-desc {
    font-family: 'Cairo', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--bas-muted);
    margin: 0;
}

.bas-ecosystem-footer {
    margin-top: 48px;
    padding: 26px 36px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--bas-navy), var(--bas-navy-deep));
    box-shadow: 0 22px 48px rgba(1, 60, 138, .25);
    text-align: center;
}

.bas-ecosystem-footer p {
    margin: 0;
    font-family: 'Cairo', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.55;
    color: #ffffff;
    letter-spacing: -.005em;
}

@media (max-width: 991px) {
    .bas-ecosystem {
        padding: 70px 0 80px;
    }

    .bas-ecosystem-title {
        font-size: 30px;
    }

    .bas-ecosystem-head {
        margin-bottom: 40px;
    }

    .bas-ecosystem-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .bas-ecosystem-footer {
        margin-top: 32px;
        padding: 22px 24px;
    }

    .bas-ecosystem-footer p {
        font-size: 15px;
    }
}


/* ===== Moved from index.html inline <style> blocks ===== */

/* --- Sidebar button / sector / speaker cards --- */
      .col-6.col-sm-4.col-md-4.col-lg-4.ForMobileLogo_as {
         margin-bottom: 20px;
      }

      .sectorIcon {
         font-size: 40px;
         color: #ffffff;
         margin-bottom: 15px;
      }

      .sectorItem {
         text-align: center;
         padding: 20px;
         background: #fff;
         border-radius: 12px;
         box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
      }

      .sectorItem h4 {
         font-size: 18px;
         font-weight: 600;
      }

      .spk-card {
         margin: 20px 0;
      }

      .spk-role {
         font-size: 11px;
      }

      .spk-company {
         font-size: 13px;
      }

      .spk-content-zone {
         min-height: 159px;
      }

      #why-exbit .sectorItem {
         margin: 35px 0;
      }

      /* SIDEBAR BUTTON */
      .button_side {
         padding: 7px 15px;
         border: none;
         border-radius: 5px;
         font-weight: bold;
         letter-spacing: normal;
         text-transform: uppercase;
         cursor: pointer;
         color: #049c69;
         transition: all 1000ms;
         font-size: 15px;
         position: relative;
         overflow: hidden;
         outline: 2px solid #049c69;
         position: fixed;
         z-index: 11111111;
         transform: rotate(90deg);
         top: 60%;
         left: -41px;
         right: auto;
         background: #fff;
      }

      .button_side:hover {
         color: #ffffff;
         outline: 2px solid #049c69;
         box-shadow: 4px 5px 17px -4px #049c69;
      }

      .button_side::before {
         content: "";
         position: absolute;
         left: -50px;
         top: 0;
         width: 0;
         height: 100%;
         background-color: #049c69;
         z-index: -1;
         transition: width 1000ms;
      }

      .button_side:hover::before {
         width: 250%;
      }



      /* END HERE */

/* --- Testimonial logo avatar --- */
                     /* Company-logo avatar variant - show full logo, don't crop */
                     .testi-card-avatar.testi-avatar--logo {
                        width: 72px;
                        height: 72px;
                        border-radius: 14px;
                        background: #ffffff;
                        border: 1px solid rgba(10, 30, 61, 0.08);
                        padding: 6px;
                        box-shadow: 0 4px 12px rgba(10, 30, 61, 0.10);
                     }

                     .testi-card-avatar.testi-avatar--logo img {
                        object-fit: contain !important;
                        object-position: center center !important;
                        width: 100%;
                        height: 100%;
                     }

/* --- Social buzz section --- */
                     .social-buzz-section {
                        position: relative;
                        padding: 90px 0 100px;
                        background: linear-gradient(180deg, #f5f8ff 0%, #eef3fb 100%);
                        overflow: hidden;
                     }

                     .social-buzz-section::before,
                     .social-buzz-section::after {
                        content: "";
                        position: absolute;
                        border-radius: 50%;
                        filter: blur(80px);
                        opacity: .35;
                        pointer-events: none;
                     }

                     .social-buzz-section::before {
                        top: -120px;
                        left: -80px;
                        width: 360px;
                        height: 360px;
                        background: radial-gradient(circle, #c5d6ff 0%, transparent 70%);
                     }

                     .social-buzz-section::after {
                        bottom: -140px;
                        right: -100px;
                        width: 400px;
                        height: 400px;
                        background: radial-gradient(circle, #ffd6e8 0%, transparent 70%);
                     }

                     .sb-head {
                        text-align: center;
                        margin-bottom: 50px;
                        position: relative;
                        z-index: 2;
                     }

                     .sb-eyebrow {
                        display: inline-flex;
                        align-items: center;
                        gap: 8px;
                        padding: 8px 18px;
                        border-radius: 999px;
                        background: #fff;
                        color: #0a1e3d;
                        font-size: 13px;
                        font-weight: 600;
                        letter-spacing: .08em;
                        text-transform: uppercase;
                        box-shadow: 0 6px 20px rgba(10, 30, 61, 0.08);
                        margin-bottom: 16px;
                     }

                     .sb-eyebrow svg {
                        width: 16px;
                        height: 16px;
                     }

                     .sb-headline {
                        font-size: clamp(28px, 3.2vw, 42px);
                        font-weight: 800;
                        color: #0a1e3d;
                        margin: 0 0 12px;
                        line-height: 1.15;
                     }

                     .sb-headline span {
                        background: linear-gradient(90deg, #e1306c 0%, #f56040 50%, #fd1d1d 100%);
                        -webkit-background-clip: text;
                        background-clip: text;
                        -webkit-text-fill-color: transparent;
                     }

                     .sb-sub {
                        color: #4a5b75;
                        font-size: 15px;
                        max-width: 640px;
                        margin: 0 auto;
                     }

                     .sb-fullbleed {
                        width: 100vw;
                        max-width: 100vw;
                        margin-left: calc(50% - 50vw);
                        margin-right: calc(50% - 50vw);
                        padding-left: 0;
                        padding-right: 0;
                     }

                     .sb-marquee-wrap {
                        position: relative;
                        z-index: 2;
                        overflow: hidden;
                     }

                     .sb-nav-arrow {
                        position: absolute;
                        top: 50%;
                        transform: translateY(-50%);
                        width: 48px;
                        height: 48px;
                        border-radius: 50%;
                        border: 1px solid rgba(255, 255, 255, 0.25);
                        background: rgba(8, 14, 28, 0.55);
                        color: #ffffff;
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        cursor: pointer;
                        z-index: 5;
                        backdrop-filter: blur(8px);
                        -webkit-backdrop-filter: blur(8px);
                        transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
                        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
                     }

                     .sb-nav-arrow:hover {
                        background: linear-gradient(135deg, #2bbde6, #1eaa72);
                        border-color: transparent;
                        transform: translateY(-50%) scale(1.06);
                        box-shadow: 0 10px 26px rgba(43, 189, 230, 0.30);
                     }

                     .sb-nav-prev { left: 16px; }
                     .sb-nav-next { right: 16px; }

                     @media (max-width: 640px) {
                        .sb-nav-arrow { width: 40px; height: 40px; }
                        .sb-nav-prev { left: 8px; }
                        .sb-nav-next { right: 8px; }
                     }

                     .sb-marquee {
                        display: flex;
                        gap: 24px;
                        width: max-content;
                        animation: sb-scroll 90s linear infinite;
                     }

                     .sb-marquee:hover {
                        animation-play-state: paused;
                     }

                     .sb-marquee+.sb-marquee {
                        margin-top: 24px;
                        animation: sb-scroll-rev 90s linear infinite;
                     }

                     .sb-card {
                        flex: 0 0 auto;
                        width: 300px;
                        height: 460px;
                        border-radius: 18px;
                        overflow: hidden;
                        background: #fff;
                        box-shadow: 0 10px 30px rgba(10, 30, 61, 0.12);
                        transition: transform .4s ease, box-shadow .4s ease;
                        position: relative;
                        cursor: pointer;
                     }


                     .sb-card:hover {
                        transform: translateY(-6px) scale(1.02);
                        box-shadow: 0 20px 40px rgba(10, 30, 61, 0.2);
                     }


                     .sb-card img {
                        width: 100%;
                        height: 100%;
                        object-fit: contain;
                        display: block;
                        background: #fff;
                     }

                     /* Lightbox */
                     .sb-lightbox {
                        position: fixed;
                        inset: 0;
                        background: rgba(8, 14, 28, 0.92);
                        backdrop-filter: blur(8px);
                        -webkit-backdrop-filter: blur(8px);
                        display: none;
                        align-items: center;
                        justify-content: center;
                        z-index: 9999;
                        padding: 0;
                        opacity: 0;
                        transition: opacity .25s ease;
                     }

                     .sb-lightbox.is-open {
                        display: flex;
                        opacity: 1;
                     }

                     .sb-lightbox-img {
                        max-width: 95vw;
                        max-height: 95vh;
                        width: auto;
                        height: auto;
                        border-radius: 14px;
                        box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
                        transform: scale(.92);
                        transition: transform .3s cubic-bezier(.2, .9, .3, 1.2);
                        object-fit: contain;
                     }

                     .sb-lightbox.is-open .sb-lightbox-img {
                        transform: scale(1);
                     }

                     .sb-lightbox-close {
                        position: absolute;
                        top: 22px;
                        right: 22px;
                        width: 44px;
                        height: 44px;
                        border-radius: 50%;
                        background: rgba(0, 0, 0, 0.55);
                        border: 1px solid rgba(255, 255, 255, 0.35);
                        color: #fff;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        cursor: pointer;
                        z-index: 10;
                        transition: background .2s ease, transform .2s ease;
                     }

                     .sb-lightbox-close:hover {
                        background: rgba(0, 0, 0, 0.75);
                        transform: rotate(90deg);
                     }

                     .sb-lightbox-nav {
                        position: absolute;
                        top: 50%;
                        transform: translateY(-50%);
                        width: 48px;
                        height: 48px;
                        border-radius: 50%;
                        background: rgba(0, 0, 0, 0.55);
                        border: 1px solid rgba(255, 255, 255, 0.35);
                        color: #fff;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        cursor: pointer;
                        z-index: 10;
                        transition: background .2s ease;
                     }

                     .sb-lightbox-nav:hover {
                        background: rgba(0, 0, 0, 0.75);
                     }

                     .sb-lightbox-prev {
                        left: 24px;
                     }

                     .sb-lightbox-next {
                        right: 24px;
                     }

                     @media (max-width: 640px) {
                        .sb-lightbox-img {
                           max-width: 88vw;
                        }
                        .sb-lightbox-nav {
                           width: 40px;
                           height: 40px;
                        }
                        .sb-lightbox-prev {
                           left: 6px;
                        }

                        .sb-lightbox-next {
                           right: 6px;
                        }

                        .sb-lightbox-close {
                           top: 12px;
                           right: 12px;
                           width: 38px;
                           height: 38px;
                        }
                     }

                     @keyframes sb-scroll {
                        0% {
                           transform: translateX(0);
                        }

                        100% {
                           transform: translateX(-50%);
                        }
                     }

                     @keyframes sb-scroll-rev {
                        0% {
                           transform: translateX(-50%);
                        }

                        100% {
                           transform: translateX(0);
                        }
                     }

                     @media (max-width: 768px) {
                        .social-buzz-section {
                           padding: 60px 0 70px;
                        }

                        .sb-card {
                           width: 220px;
                           height: 380px;
                        }

                        .sb-marquee {
                           gap: 16px;
                           animation-duration: 70s;
                        }

                        .sb-marquee+.sb-marquee {
                           animation-duration: 70s;
                        }

                     }

                     @media (prefers-reduced-motion: reduce) {
                        .sb-marquee {
                           animation: none;
                        }

                        .sb-marquee+.sb-marquee {
                           animation: none;
                        }
                     }

/* --- Venue section --- */
                  .venue-section {
                     position: relative;
                     padding: 92px 0;
                     background: #071426;
                     overflow: hidden;
                     isolation: isolate;
                  }

                  .venue-section::after {
                     content: "";
                     position: absolute;
                     inset: -28px;
                     z-index: 0;
                     background: url('./images/hitex.jpg') center / cover no-repeat;
                     animation: venueBgFloat 20s ease-in-out infinite alternate;
                     transform: scale(1.05) translate3d(0, 0, 0);
                     transform-origin: center;
                     will-change: transform;
                     pointer-events: none;
                  }

                  .venue-section::before {
                     content: "";
                     position: absolute;
                     inset: 0;
                     z-index: 1;
                     background:
                        linear-gradient(100deg, rgba(5, 16, 31, .92) 0%, rgba(5, 16, 31, .78) 48%, rgba(5, 16, 31, .58) 100%),
                        linear-gradient(180deg, rgba(43, 189, 230, .16), rgba(0, 112, 250, .08));
                     pointer-events: none;
                  }

                  @keyframes venueBgFloat {
                     0% {
                        transform: scale(1.05) translate3d(-10px, -8px, 0);
                     }

                     50% {
                        transform: scale(1.1) translate3d(12px, 6px, 0);
                     }

                     100% {
                        transform: scale(1.07) translate3d(-4px, 12px, 0);
                     }
                  }

                  .venue-section .venue-container {
                     position: relative;
                     z-index: 2;
                     width: min(1180px, calc(100% - 48px));
                     margin: 0 auto;
                  }

                  .venue-section .venue-header {
                     max-width: 760px;
                     margin: 0 0 34px;
                  }

                  .venue-section .venue-eyebrow {
                     display: inline-flex;
                     align-items: center;
                     color: #ffffff;
                     background: rgba(255, 255, 255, .13);
                     border: 1px solid rgba(255, 255, 255, .22);
                     font-family: 'DM Sans', sans-serif;
                     font-size: 11px;
                     font-weight: 800;
                     letter-spacing: 2px;
                     padding: 6px 13px;
                     border-radius: 999px;
                     margin-bottom: 14px;
                     text-transform: uppercase;
                  }

                  .venue-section .venue-headline {
                     font-family: 'Cairo', sans-serif;
                     font-size: clamp(30px, 4vw, 48px);
                     font-weight: 800;
                     color: #ffffff;
                     line-height: 1.08;
                     letter-spacing: 0;
                     text-transform: uppercase;
                     margin: 0 0 12px;
                     text-shadow: 0 16px 34px rgba(0, 0, 0, .28);
                  }

                  .venue-section .venue-headline em {
                     font-style: normal;
                     color: #31c2e9;
                  }

                  .venue-section .venue-intro {
                     font-family: 'DM Sans', sans-serif;
                     font-size: 16px;
                     color: rgba(255, 255, 255, .84);
                     line-height: 1.65;
                     margin: 0;
                     max-width: 650px;
                  }

                  .venue-section .venue-grid {
                     display: grid;
                     grid-template-columns: minmax(340px, 480px) minmax(0, 1fr);
                     gap: 28px;
                     align-items: stretch;
                  }

                  .venue-section .venue-info,
                  .venue-section .venue-visual {
                     min-width: 0;
                     border-radius: 8px;
                     box-shadow: 0 24px 60px rgba(0, 0, 0, .32);
                  }

                  .venue-section .venue-info {
                     background: rgba(255, 255, 255, .97);
                     border: 1px solid rgba(255, 255, 255, .54);
                     padding: 32px;
                     display: flex;
                     flex-direction: column;
                  }

                  .venue-section .venue-name {
                     font-family: 'Cairo', sans-serif;
                     font-size: 27px;
                     font-weight: 800;
                     color: #0c1a2e;
                     letter-spacing: 0;
                     margin: 0 0 6px;
                     line-height: 1.2;
                  }

                  .venue-section .venue-city {
                     font-family: 'DM Sans', sans-serif;
                     font-size: 13px;
                     font-weight: 800;
                     color: #0070fa;
                     letter-spacing: 1.4px;
                     text-transform: uppercase;
                     margin: 0 0 22px;
                  }

                  .venue-section .venue-meta {
                     display: grid;
                     gap: 15px;
                     margin: 0 0 24px;
                  }

                  .venue-section .venue-meta-item {
                     display: grid;
                     grid-template-columns: 40px minmax(0, 1fr);
                     align-items: flex-start;
                     gap: 12px;
                     font-family: 'DM Sans', sans-serif;
                     font-size: 14.5px;
                     color: #243349;
                     line-height: 1.5;
                  }

                  .venue-section .venue-meta-ic {
                     width: 40px;
                     height: 40px;
                     border-radius: 8px;
                     display: inline-flex;
                     align-items: center;
                     justify-content: center;
                     background: #e8f5ff;
                     color: #0070fa;
                  }

                  .venue-section .venue-meta-ic svg {
                     width: 18px;
                     height: 18px;
                     display: block;
                  }

                  .venue-section .venue-meta-item b {
                     display: block;
                     font-weight: 800;
                     color: #0c1a2e;
                     margin-bottom: 2px;
                  }

                  .venue-section .venue-cta {
                     display: inline-flex;
                     align-items: center;
                     justify-content: center;
                     gap: 10px;
                     align-self: flex-start;
                     margin-top: auto;
                     min-height: 48px;
                     padding: 12px 22px;
                     background: linear-gradient(135deg, #25b5df, #0070fa);
                     color: #ffffff;
                     font-family: 'DM Sans', sans-serif;
                     font-size: 13px;
                     font-weight: 800;
                     text-transform: uppercase;
                     letter-spacing: 1.2px;
                     border-radius: 999px;
                     text-decoration: none;
                     box-shadow: 0 10px 24px rgba(0, 112, 250, .24);
                     transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
                     white-space: nowrap;
                  }

                  .venue-section .venue-cta:hover {
                     transform: translateY(-2px);
                     box-shadow: 0 16px 32px rgba(0, 112, 250, .32);
                     filter: brightness(1.05);
                     color: #ffffff;
                  }

                  .venue-section .venue-cta svg {
                     width: 15px;
                     height: 15px;
                     flex: 0 0 auto;
                  }

                  .venue-section .venue-visual {
                     position: relative;
                     overflow: hidden;
                     margin: 0;
                     background: #0c1a2e;
                     min-height: 390px;
                  }

                  .venue-section .venue-visual img {
                     width: 100%;
                     height: 100%;
                     min-height: 390px;
                     object-fit: cover;
                     display: block;
                  }

                  .venue-section .venue-photo-label {
                     position: absolute;
                     left: 18px;
                     bottom: 18px;
                     display: inline-flex;
                     align-items: center;
                     gap: 10px;
                     max-width: calc(100% - 36px);
                     padding: 12px 15px;
                     border-radius: 8px;
                     background: rgba(255, 255, 255, .94);
                     color: #0c1a2e;
                     font-family: 'DM Sans', sans-serif;
                     font-size: 14px;
                     font-weight: 800;
                     line-height: 1.25;
                     box-shadow: 0 16px 36px rgba(0, 0, 0, .22);
                  }

                  .venue-section .venue-photo-label svg {
                     width: 18px;
                     height: 18px;
                     flex: 0 0 auto;
                     color: #0070fa;
                  }

                  @media (max-width: 991px) {
                     .venue-section {
                        padding: 72px 0;
                     }

                     .venue-section .venue-grid {
                        grid-template-columns: minmax(0, 1fr);
                     }

                     .venue-section .venue-visual,
                     .venue-section .venue-visual img {
                        min-height: 320px;
                     }
                  }

                  @media (max-width: 575px) {
                     .venue-section {
                        padding: 58px 0;
                     }

                     .venue-section .venue-container {
                        width: min(100% - 30px, 1180px);
                     }

                     .venue-section .venue-header {
                        margin-bottom: 24px;
                     }

                     .venue-section .venue-info {
                        padding: 24px 20px;
                     }

                     .venue-section .venue-name {
                        font-size: 23px;
                     }

                     .venue-section .venue-meta-item {
                        grid-template-columns: 36px minmax(0, 1fr);
                        font-size: 14px;
                     }

                     .venue-section .venue-meta-ic {
                        width: 36px;
                        height: 36px;
                     }

                     .venue-section .venue-cta {
                        width: 100%;
                     }

                     .venue-section .venue-visual,
                     .venue-section .venue-visual img {
                        min-height: 250px;
                     }
                  }

                  @media (prefers-reduced-motion: reduce) {
                     .venue-section::after {
                        animation: none;
                        transform: scale(1.05);
                     }
                  }
