@import "tailwindcss";

:root {
    --font-moderate: "Moderate", sans-serif;
    --font-helvetica: "Helvetica_Now_Display", sans-serif;
    --primary: #00247D;
    --secondary: #CF142B;
    --tertiary: #F1F5FF;
    --white: white;
    --helvetica: "Helvetica_Now_Display", sans-serif;
    --waves: waves 1.5s ease-in-out infinite;
}



.btn {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;

    padding: 8px 28px;
    /* py-2 px-7 */
    border-radius: 9999px;
    /* rounded-full */
    font-size: 18px;
    /* text-lg */
    border: 1px solid transparent;

    transition: all 200ms ease;
    box-sizing: border-box;
    text-decoration: none;
}

/* PRIMARY */
.btn--primary {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

.btn--primary:hover {
    background: var(--white);
    color: var(--primary);
}

/* SECONDARY */
.btn--secondary {
    background: var(--secondary);
    border-color: var(--secondary);
    color: var(--white);
}

.btn--secondary:hover {
    background: var(--white);
    color: var(--secondary);
}

.video-slider .swiper .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    background-color: var(--color-tertiary);
    border: 1px solid var(--color-tertiary) !important;
    opacity: 1 !important;
    transition: all .3s ease-in;
}

.video-slider .swiper .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 26px;
    height: 26px;
    background-color: red;
    border: 1px solid red !important;
}

.video-slider .swiper .swiper-pagination {
    position: relative;
    align-items: center;
    display: flex;
    justify-content: center;
    inset: 0;
    bottom: 0;
    margin-top: 12px;
    height: 35px;
}

@media (max-width: 768px) {
    .swiper .swiper-pagination {
        margin-top: 8px;
    }
}

.container {
    max-width: 80rem;
    /* same as max-w-7xl (1280px) */
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    /* same as px-5 */
    padding-right: 20px;
    box-sizing: border-box;
}

.banner {
    padding-top: 80px;
    /* pt-20 */
    padding-bottom: 80px;
    /* pb-20 */
    background-image: url("https://www.sportsdentistryuk.com/about-us.png");
    background-size: cover;
    background-position: bottom;
}

/* lg:pb-32 */
@media (min-width: 1024px) {
    .banner {
        padding-bottom: 128px;
    }
}

.banner--tertiary {
    background-color: var(--tertiary);
}

.banner--white {
    background-color: var(--white);
}

.banner__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.banner__logo {
    width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* lg:w-1/2 */
@media (min-width: 1024px) {
    .banner__logo {
        width: 50%;
    }
}

.banner__heading {
    color: var(--white);
}

/* ============ Feedback Section ============ */
.feedback {
    padding: 40px 0;
    /* py-10 */
}

.feedback__header {
    text-align: center;
}

.feedback__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 8px 20px;
    border-radius: 9999px;
    border: 1px solid var(--primary);

    color: var(--primary);
    font-size: 20px;
    font-weight: 500;
}

.feedback__title {
    margin-top: 16px;
}

.feedback__slider {
    margin-top: 40px;
}

/* Card */
.feedback__card {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
    /* rounded-2xl */
    cursor: pointer;
    background: transparent;
    border: 0;
    padding: 0;
}

.feedback__card:focus {
    outline: none;
}

.feedback__thumbWrap {
    position: relative;
}

.feedback__thumb {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* Play button area */
.feedback__playWrap {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    align-items: center;
    justify-content: center;
}

.feedback__playIcon {
    width: 56px;
    height: 56px;
    position: relative;
    z-index: 20;
    transition: transform 200ms ease;
}

.feedback__card:hover .feedback__playIcon {
    transform: scale(1.05);
}

/* Waves */
.feedback__waves {
    position: absolute;
    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
}

.feedback__wave {
    position: absolute;
    left: 0;
    top: 0;

    width: 150px;
    height: 150px;
    border-radius: 9999px;
    background: rgba(99, 138, 203, 0.2);
    /* fallback */
    background: color-mix(in srgb, var(--primary) 20%, transparent);
    opacity: 0;

    z-index: 1;
    animation: feedback-waves 2.8s ease-out infinite;
}

.feedback__wave--2 {
    animation-delay: 0.9s;
}

.feedback__wave--3 {
    animation-delay: 1.8s;
}

@keyframes feedback-waves {
    0% {
        transform: scale(0.6);
        opacity: 0;
    }

    20% {
        opacity: 0.8;
    }

    100% {
        transform: scale(1.2);
        opacity: 0;
    }
}

/* Hover overlay */
.feedback__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 200ms ease;
}

.feedback__card:hover .feedback__overlay {
    background: rgba(0, 0, 0, 0.1);
}

.network {
    padding-top: 72px;
    /* approx py-18 */
    padding-bottom: 72px;
    background: var(--tertiary);
}

.network__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* lg:text-left (1024px+) */
@media (min-width: 1024px) {
    .network__inner {
        text-align: left;
    }
}

.network__para {
    margin-top: 20px;
    /* my-5 */
    margin-bottom: 20px;
    font-size: 20px;
    /* text-xl */
    color: var(--black);
}

.network__cta {
    display: block;
}

.posterOverlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.posterModal {
    background: var(--white);
    padding: 16px;
    margin: 16px;
    background: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* clickable close area like your original (image click closes) */
.posterCloseArea {
    border: 0;
    padding: 0;
    background: transparent;
    display: block;
    cursor: pointer;
}

.posterImage {
    max-width: 100%;
    width: 90%;
    height: auto;
    margin: 0 auto;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    /* similar to shadow-2xl */
}

@media (min-width: 768px) {
    .posterImage {
        width: 450px;
    }
}

.posterActions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

.popupRoot {
    position: fixed;
    inset: 0;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.popupBackdrop {
    position: absolute;
    inset: 0;
    border: 0;
    padding: 0;
    background: rgba(0, 0, 0, 0.7);
    cursor: pointer;
}

.popupCard {
    position: relative;
    z-index: 1000;
    width: 100%;
    max-width: 896px;
    /* ~ max-w-4xl */
    border-radius: 16px;
    /* ~ rounded-2xl */
    background: #000;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.popupClose {
    position: absolute;
    top: -12px;
    right: -12px;
    z-index: 1001;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 0;
    cursor: pointer;
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 200ms ease;
}

.popupClose:hover {
    background: rgba(255, 255, 255, 0.25);
}

.popupMedia {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    position: relative;
}

.popupVideo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.popupImage {
    object-fit: contain;
}

.siteFooter {
    position: relative;
    padding: 16px 0;
    background-image: url("https://www.sportsdentistryuk.com/footer-back.webp");
    background-size: cover;
    background-position: top;
}

@media (min-width: 1024px) {
    .siteFooter {
        padding: 40px 0;
    }
}

.footerInner {
    padding-top: 40px;
}

@media (min-width: 1024px) {
    .footerInner {
        padding-top: 96px;
    }
}

.footerGrid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
}

@media (min-width: 1024px) {
    .footerGrid {
        grid-template-columns: 1.15fr 0.9fr 1.1fr;
        gap: 40px;
    }
}

/* Logo */
.footerLogoCol {
    text-align: center;
}

@media (min-width: 1024px) {
    .footerLogoCol {
        text-align: left;
    }
}

.footerLogoWrap {
    display: flex;
    justify-content: center;
}

.footerLogo {
    width: 192px;
    /* ~ w-48 */
    height: auto;
}

/* Titles */
.footerTitle {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}

/* Quick Links */
.footerLinksCol {
    text-align: center;
}

@media (min-width: 1024px) {
    .footerLinksCol {
        text-align: left;
        padding-left: 56px;
        /* ~ lg:pl-14 */
        border-left: 2px solid #fff;
    }
}

.footerLinksList {
    margin: 12px 0 0;
    padding: 0 0 12px;
    list-style: none;
    display: grid;
    gap: 8px;
}

.footerLink {
    color: #fff;
    font-size: 18px;
    text-decoration: none;
}

.footerLink:hover {
    text-decoration: underline;
}

/* Contacts */

@media (min-width: 1024px) {
    .footerContactCol {
        text-align: left;
    }
}

.footerContacts {
    margin-top: 16px;
    display: grid;
    gap: 20px;
}

.footerContactRow {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.footerContactRow:hover .footerContactLine,
.footerContactRow:hover .footerContactTitle {
    text-decoration: underline;
}

.footerContactIcon {
    width: 24px;
    height: 24px;
}

.footerContactTitle {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

.footerContactLine {
    color: #fff;
    font-size: 18px;
    margin: 0;
}

/* Divider */
.footerDivider {
    margin: 20px 0;
    height: 2px;
    width: 100%;
    background: #fff;
}

@media (min-width: 1024px) {
    .footerDivider {
        margin: 0 0 40px;
    }
}

/* Bottom */
.footerBottom {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: center;
}

@media (min-width: 1024px) {
    .footerBottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        text-align: left;
    }
}

.footerCopy {
    color: #fff;
    font-size: 14px;
}

.footerCopy p {
    margin: 0;
}

.footerDentopia {
    color: #fff;
    text-decoration: underline;
}

.footerPolicyLink {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    transition: opacity 200ms ease;
}

.footerPolicyLink:hover {
    text-decoration: underline;
}

.aboutSection {
    background: var(--tertiary);
    padding: 40px 0;
}

.aboutHeading {
    text-align: center;
    color: var(--black);
    margin-bottom: 24px;
}

.aboutRow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 32px;
    align-items: center;
}

.aboutRow:last-child {
    margin-bottom: 0;
}

/* Desktop: two columns */
@media (min-width: 1024px) {
    .aboutRow {
        grid-template-columns: 1fr 1fr;
    }
}

/* Image column */
.aboutImageCol {
    width: 100%;
    height: 100%;
    display: flex;
    border-radius: 10px;
    border-color: var(--primary);
    border-style: solid;
    border-width: 0;
    overflow: hidden;
}

.aboutBorderLeft {
    border-left-width: 4px;
}

.aboutBorderRight {
    border-right-width: 4px;
}

.aboutImageWrap {
    width: 100%;
    height: 100%;
}

.aboutImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

/* Text column */
.aboutTextCol {
    width: 100%;
    height: 100%;
    display: flex;
}

.aboutTextWrap {
    width: 100%;
    background: var(--white);
    padding: 16px;
    border-radius: 16px;
    display: flex;
    align-items: center;
}

.aboutText {
    margin: 0;
    text-align: center;
    line-height: 1.6;
    color: var(--black);
}

/* text align left on md+ (same as your md:text-left) */
@media (min-width: 768px) {
    .aboutText {
        text-align: left;
    }
}

/* Order swap on desktop for alternating layout */
@media (min-width: 1024px) {
    .aboutOrder1 {
        order: 1;
    }

    .aboutOrder2 {
        order: 2;
    }
}

.historySection {
    padding: 40px 0;
    background: var(--tertiary);
    background-image: url("https://www.sportsdentistryuk.com/blue-bg.png");
    background-size: cover;
    background-position: bottom;
}

/* Header */
.historyHeader {
    text-align: center;
    padding-bottom: 32px;
}

.historyPill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
    border-radius: 999px;
    border: 1px solid var(--white);
    color: var(--white);
    font-size: 20px;
    font-weight: 500;
}

.historyTitle {
    color: var(--white);
    margin-top: 20px;
}

.historyIntro {
    color: var(--white);
    font-size: 20px;
    margin-top: 20px;
    line-height: 1.7;
}

/* Timeline wrapper */
.historyTimelineWrap {
    position: relative;
}

/* Center vertical line (desktop only) */
.historyCenterLine {
    display: none;
    position: absolute;
    left: 50%;
    top: 0;
    width: 2px;
    height: 84%;
    background: var(--white);
    transform: translateX(-50%);
}

@media (min-width: 1024px) {
    .historyCenterLine {
        display: block;
    }
}

.historyEvents {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Each row */
.historyEventRow {
    position: relative;
    display: flex;
    padding-bottom: 80px;
}

@media (min-width: 1024px) {
    .historyEventRow {
        padding-bottom: 32px;
    }
}

.historyJustifyStart {
    justify-content: flex-start;
}

.historyJustifyEnd {
    justify-content: flex-end;
}

/* Right event pulls upward on desktop (your lg:-mt-32) */
@media (min-width: 1024px) {
    .historyRightOffset {
        margin-top: -128px;
    }
}

/* Center dot (desktop only) */
.historyCenterDotWrap {
    display: none;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: 10;
}

.historyCenterDot {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: var(--white);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
}

@media (min-width: 1024px) {
    .historyCenterDotWrap {
        display: block;
    }
}

/* Card */
.historyCard {
    width: 100%;
    background: var(--white);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
    position: relative;
    min-height: 280px;
}

@media (min-width: 768px) {
    .historyCard {
        width: 45%;
    }
}

/* Left / Right border accents */
.historyCardLeft {
    margin-right: auto;
    border-left: 4px solid var(--secondary);
}

.historyCardRight {
    margin-left: auto;
    border-right: 4px solid var(--secondary);
}

.historyCardText {
    color: var(--black);
    font-size: 18px;
    line-height: 1.7;
    padding-right: 16px;
}

/* Image thumbnail */
.historyCardImageWrap {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.18);
    margin-top: 16px;
}

/* Desktop: float thumbnail outside bottom */
@media (min-width: 1024px) {
    .historyCardImageWrap {
        position: absolute;
        bottom: -112px;
        width: 224px;
        margin-top: 0;
    }
}

.historyImagePosLeft {
    /* mobile default is normal */
}

.historyImagePosRight {
    /* mobile default is normal */
}

@media (min-width: 1024px) {
    .historyImagePosLeft {
        right: -16px;
    }

    .historyImagePosRight {
        left: -16px;
    }
}

.historyCardImage {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Footer text */
.historyFooter {
    text-align: center;
    margin-top: 24px;
}

@media (min-width: 1024px) {
    .historyFooter {
        margin-top: 80px;
    }
}

.historyFooterText {
    color: var(--white);
    font-size: 20px;
    line-height: 1.7;
}

/* Section */
.meet_team {
    padding: 60px 0;
    background: #ffffff;
}

/* Top heading area */
.meet_team__top {
    text-align: center;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-primary);
}

.meet_team__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    border-radius: 9999px;
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    font-size: 20px;
    font-weight: 500;
}

.meet_team__heading {
    margin-top: 20px;
}

/* Main layout */
.meet_team__main {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

@media (min-width: 1024px) {
    .meet_team__main {
        flex-direction: row;
        gap: 64px;
    }
}

/* Left slider column */
.meet_team__left {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

@media (min-width: 1024px) {
    .meet_team__left {
        width: 40%;
    }
}

.meet_team__sliderWrap {
    position: relative;
    width: 100%;
    max-width: 448px;
    /* ~max-w-md */
}

.meet_team__sliderBg {
    position: absolute;
    left: -24px;
    bottom: -24px;
    width: 100%;
    height: 100%;
    background: var(--color-primary);
    border-radius: 10px;
    z-index: -1;
}

.meet_team__swiper {
    width: 100%;
}

.meet_team__slide {
    display: flex;
    justify-content: center;
}

@media (min-width: 1024px) {
    .meet_team__slide {
        padding: 20px;
    }
}

.meet_team__imgWrap {
    width: 100%;
    position: relative;
}

.meet_team__imgBg {
    display: none;
}

@media (min-width: 1024px) {
    .meet_team__imgBg {
        display: block;
        position: absolute;
        left: -8px;
        bottom: -8px;
        width: 400px;
        height: 460px;
        background: var(--color-primary);
        border-radius: 16px;
    }
}

.meet_team__mainImg {
    position: relative;
    z-index: 20;
    object-fit: cover;
    object-position: top;
    width: 70%;
    height: auto;
    margin: 0 auto;
    border-radius: 8px;
    display: block;
}

@media (min-width: 1024px) {
    .meet_team__mainImg {
        width: 100%;
        height: 100%;
    }
}

/* Slider arrows */
.meet_team__nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding-top: 8px;
}

.meet_team__navBtn {
    width: 36px;
    height: 36px;
    background: var(--color-primary);
    border-radius: 9999px;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
    transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

@media (min-width: 1024px) {
    .meet_team__navBtn {
        width: 48px;
        height: 48px;
    }
}

.meet_team__navBtn:hover {
    background: var(--color-secondary);
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.18);
    transform: translateY(-1px);
}

.meet_team__navIcon {
    width: 16px;
    height: auto;
    display: block;
}

@media (min-width: 1024px) {
    .meet_team__navIcon {
        width: 24px;
    }
}

/* Right description column */
.meet_team__right {
    width: 100%;
    color: #000;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

@media (min-width: 1024px) {
    .meet_team__right {
        width: 60%;
    }
}

.meet_team__name {
    color: var(--color-primary);
    margin-bottom: 8px;
    text-align: center;
    font-size: 30px;
}

@media (min-width: 768px) {
    .meet_team__name {
        text-align: left;
    }
}

@media (min-width: 1024px) {
    .meet_team__name {
        font-size: 48px;
    }
}

.meet_team__role {
    color: var(--color-secondary);
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 12px;
    text-align: center;
}

@media (min-width: 768px) {
    .meet_team__role {
        text-align: left;
    }
}

.meet_team__desc {
    margin: 0;
    color: #000;
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}

@media (min-width: 768px) {
    .meet_team__desc {
        text-align: left;
    }
}

/* Thumbnails grid */
.meet_team__thumbsSection {
    margin-top: 48px;
}

.meet_team__thumbsGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

@media (min-width: 640px) {
    .meet_team__thumbsGrid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 768px) {
    .meet_team__thumbsGrid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (min-width: 1024px) {
    .meet_team__thumbsGrid {
        grid-template-columns: repeat(6, 1fr);
    }
}

.meet_team__thumbItem {
    cursor: pointer;
}

.meet_team__thumbBtn {
    position: relative;
    width: 100%;
    border-radius: 8px;
    border: 2px solid transparent;
    background: transparent;
    padding: 0;
    cursor: pointer;
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.meet_team__thumbBtn:hover {
    border-color: var(--color-primary);
    transform: scale(1.05);
    box-shadow: 0 14px 24px rgba(0, 0, 0, 0.16);
}

.meet_team__thumbBtn--active {
    border-color: var(--color-primary);
    transform: scale(1.05);
}

.meet_team__thumbImg {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 8px;
}

/* Names under thumbs */
.meet_team__thumbName {
    margin-top: 8px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    color: #4b5563;
    /* close to gray-700 */
    transition: color 0.25s ease;
}

.meet_team__thumbItem:hover .meet_team__thumbName {
    color: var(--color-primary);
}

.meet_team__thumbName--active {
    color: var(--color-primary);
}

/* Layout */
.contactForm {
    padding: 40px 0;
}

.contactFormInner {
    border-radius: 16px;
}

.contactGrid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 1024px) {
    .contactGrid {
        grid-template-columns: 1fr 350px;
    }
}

/* Cards */
.contactCard {
    background: var(--tertiary);
    border-radius: 16px;
    padding: 16px;
}

@media (min-width: 768px) {
    .contactCard {
        padding: 20px;
    }
}

.contactCardHeader {
    text-align: center;
}

.contactCardTitle {
    color: var(--primary);
    font-weight: 600;
    font-size: 20px;
}

.contactInfoTitle {
    color: var(--primary);
    font-weight: 600;
    font-size: 14px;
}

@media (min-width: 768px) {
    .contactInfoTitle {
        font-size: 16px;
    }
}

/* Form */
.contactFormForm {
    margin-top: 16px;
    display: grid;
    gap: 12px;
}

.contactTwoCol {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

@media (min-width: 768px) {
    .contactTwoCol {
        grid-template-columns: 1fr 1fr;
    }
}

.contactFieldGroup {
    display: grid;
    gap: 6px;
}

/* Inputs */
.contactInput {
    width: 100%;
    border-radius: 8px;
    border: 1px solid var(--primary);
    background: var(--white);
    padding: 10px 12px;
    font-size: 18px;
    color: var(--black);
    outline: none;
}

.contactTextarea {
    width: 100%;
    resize: none;
    border-radius: 8px;
    border: 1px solid var(--primary);
    background: var(--white);
    padding: 10px 12px;
    font-size: 18px;
    color: var(--black);
    outline: none;
}

.contactInput:focus,
.contactTextarea:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}

/* Errors */
.contactError {
    margin-top: 4px;
    font-size: 12px;
    color: #dc2626;
}

/* Privacy */
.contactPrivacyRow {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.contactCheckbox {
    margin-top: 2px;
    height: 16px;
    width: 16px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.25);
}

.contactPrivacyText {
    font-size: 16px;
    color: var(--black);
    line-height: 1.25;
}

.contactLink {
    text-decoration: underline;
    color: var(--black);
}

/* Submit */
.contactSubmitBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--primary);
    border: 1px solid var(--primary);
    padding: 10px 20px;
    font-size: 18px;
    font-weight: 600;
    color: var(--white);
    cursor: pointer;
    transition: 150ms ease;
}

.contactSubmitBtn:hover {
    background: var(--white);
    color: var(--primary);
}

.contactSubmitBtn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Modal */
.contactModal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.contactModalBackdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.contactModalCard {
    position: relative;
    width: 100%;
    max-width: 448px;
    border-radius: 16px;
    background: var(--white);
    padding: 20px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.2);
}

.contactModalTop {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.contactModalTitle {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
}

.contactModalMsg {
    margin-top: 8px;
    font-size: 18px;
    color: var(--black);
}

.contactModalCloseBtn {
    border-radius: 999px;
    border: 1px solid var(--primary);
    padding: 6px 12px;
    font-size: 18px;
    font-weight: 700;
    color: var(--primary);
    background: transparent;
    cursor: pointer;
    transition: 150ms ease;
}

.contactModalCloseBtn:hover {
    background: var(--primary);
    color: var(--white);
}

/* Info side */
.contactInfoWrap {
    margin-top: 16px;
    display: grid;
    gap: 12px;
}

.contactInfoRow {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 12px;
    border: 1px solid var(--primary);
    padding: 10px 12px;
    background: transparent;
}

.contactInfoIconBox {
    height: 40px;
    width: 40px;
    border-radius: 8px;
    background: var(--primary);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.contactInfoText {
    line-height: 1.2;
}

.contactInfoLabel {
    font-size: 14px;
    font-weight: 700;
    color: var(--primary);
}

.contactInfoValue {
    font-size: 14px;
    color: var(--primary);
    text-decoration: none;
}

.contactMapWrap {
    overflow: hidden;
    border-radius: 16px;
}

.contactMap {
    width: 100%;
    height: 320px;
    border: 0;
    display: block;
}

.homeBanner {
    position: relative;
    height: auto;
    padding: 40px 0;
}

@media (min-width: 1024px) {
    .homeBanner {
        height: 80vh;
        padding: 0;
    }
}

.homeBanner__corner {
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    z-index: 20;
}

/* Background block (inset-y-0 left-0 right-4 sm:right-6 lg:right-10) */
.homeBanner__bgWrap {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 16px;
    z-index: 0;
}

@media (min-width: 640px) {
    .homeBanner__bgWrap {
        right: 24px;
    }
}

@media (min-width: 1024px) {
    .homeBanner__bgWrap {
        right: 40px;
    }
}

.homeBanner__bgInner {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 10px;
}

.homeBanner__bg {
    object-fit: cover;
    border-radius: 10px;
}

/* Container height */
.homeBanner__container {
    height: 100%;
    color: white;
}

/* Align content vertically */
.homeBanner__contentWrap {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    height: 100%;
}

/* Content */
.homeBanner__content {
    max-width: 672px;
    /* close to max-w-2xl */
    color: var(--white);
}

.homeBanner__pill {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 14px;
    color: var(--white);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.homeBanner__heading {
    margin: 20px 0;
}

.homeBanner__headingAccent {
    color: var(--secondary);
}

.homeBanner__para {
    margin-top: 16px;
    color: var(--white);
    font-size: 15px;
    line-height: 1.6;
}

@media (min-width: 1024px) {
    .homeBanner__para {
        font-size: 16px;
    }
}

.homeBanner__cta {
    margin-top: 24px;
    width: fit-content;
}

.bigVid {
    padding: 20px 0;
}

@media (min-width: 1024px) {
    .bigVid {
        padding: 40px 0;
    }
}

.bigVid__videoBtn {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: pointer;
    outline: none;
    background: transparent;
    border: 0;
    padding: 0;
}

.bigVid__videoInner {
    position: relative;
}

.bigVid__thumb {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

@media (min-width: 1024px) {
    .bigVid__thumb {
        width: 97%;
        margin: 0 auto;
    }
}

.bigVid__playWrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bigVid__playIcon {
    height: 56px;
    width: 56px;
    position: relative;
    z-index: 20;
    transition: transform 200ms ease;
}

.bigVid__videoBtn:hover .bigVid__playIcon {
    transform: scale(1.05);
}

/* Waves */
.bigVid__waves {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    transform: translate(-50%, -50%);
}

.bigVid__wave {
    position: absolute;
    left: 0;
    top: 0;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    opacity: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0);
    /* fallback */
    /* If you have a CSS var for primary, use it */
    background: color-mix(in srgb, var(--primary) 20%, transparent);
    animation: bigVidWaves 3s ease-out infinite;
}

.bigVid__wave--2 {
    animation-delay: 2s;
}

.bigVid__wave--3 {
    animation-delay: 2s;
}

@keyframes bigVidWaves {
    0% {
        transform: scale(0.2);
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 0;
    }
}

/* Slider spacing */
.bigVid__sliderWrap {
    margin-top: 24px;
}

.bigVid__speakerCard {
    width: 100%;
}

.bigVid__speakerImg {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.community {
    padding: 40px 0;
    background: var(--tertiary);
}

.community__grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

@media (min-width: 1024px) {
    .community__grid {
        flex-direction: row;
    }
}

.community__content {
    width: 100%;
    text-align: center;
}

@media (min-width: 1024px) {
    .community__content {
        width: 60%;
        text-align: left;
    }
}

.community__para {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.6;
    color: rgba(0, 0, 0, 0.7);
}

.community__highlight {
    margin-top: 24px;
    background: #d8e3ff;
    border-left: 4px solid var(--primary);
    padding: 12px 16px;
}

.community__highlightText {
    font-size: 18px;
    line-height: 1.6;
    color: rgba(0, 0, 0, 0.8);
}

.community__cta {
    margin-top: 24px;
    width: fit-content;
}

.community__imageWrap {
    width: 100%;
}

@media (min-width: 1024px) {
    .community__imageWrap {
        width: 40%;
    }
}

.community__image {
    width: 100%;
    height: auto;
    display: block;
}

.events {
    position: relative;
    padding-top: 40px;
    padding-bottom: 80px;
    background-image: url("https://www.sportsdentistryuk.com/blue-bg.png");
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: var(--tertiary);
}

.events__shadow {
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    z-index: 0;
}

.events__inner {
    position: relative;
    z-index: 1;
}

/* Top grid */
.events__topGrid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
}

@media (min-width: 1024px) {
    .events__topGrid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Video thumb button */
.events__videoBtn {
    position: relative;
    width: 100%;
    cursor: pointer;
    outline: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0 auto;
}

@media (min-width: 1024px) {
    .events__videoBtn {
        margin: 0;
    }
}

.events__thumbnail {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.events__playWrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.events__playIcon {
    height: 56px;
    width: 56px;
    position: relative;
    z-index: 2;
}

/* Waves (reuses your existing animate-waves idea) */
.events__waves {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    transform: translate(-50%, -50%);
}

.events__wave {
    position: absolute;
    left: 0;
    top: 0;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--primary) 20%, transparent);
    opacity: 0;
    z-index: 1;
    animation: eventsWaves 3s infinite;
}

.events__wave2 {
    animation-delay: 2s;
}

.events__wave3 {
    animation-delay: 2s;
}

@keyframes eventsWaves {
    0% {
        transform: scale(0.35);
        opacity: 0;
    }

    30% {
        opacity: 0.35;
    }

    100% {
        transform: scale(1.2);
        opacity: 0;
    }
}

/* Text block */
.events__text {
    color: #ffffff;
}

.events__title {
    font-size: 36px;
    line-height: 1.15;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 1);
    width: fit-content;
    margin: 0;
}

.events__para {
    font-size: 18px;
    line-height: 1.65;
    margin-top: 12px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 1);
}

.events__expectHeadingLg {
    margin-top: 24px;
    font-weight: 700;
    font-size: 24px;
    display: none;
}

@media (min-width: 1024px) {
    .events__expectHeadingLg {
        display: block;
    }
}

/* Cards */
.events__cardsGrid {
    margin-top: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 640px) {
    .events__cardsGrid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .events__cardsGrid {
        margin-top: 40px;
        grid-template-columns: repeat(5, 1fr);
    }
}

/* Mobile "What to expect" */
.events__expectHeadingSm {
    margin: 0;
    font-weight: 700;
    font-size: 24px;
    color: #fff;
    display: block;
}

@media (min-width: 1024px) {
    .events__expectHeadingSm {
        display: none;
    }
}

.events__card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    text-align: center;
    padding: 24px;
    border-radius: 12px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: background-color 200ms ease, box-shadow 200ms ease,
        border-color 200ms ease, transform 200ms ease;
}

@media (min-width: 1024px) {
    .events__card--offset {
        transform: translateY(40px);
    }
}

.events__card:hover {
    background: #ffffff;
    border-color: transparent;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.events__iconCircle {
    width: 56px;
    height: 56px;
    margin: 0 auto;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 200ms ease, border-color 200ms ease;
}

.events__card:hover .events__iconCircle {
    background: var(--secondary);
    border-color: var(--secondary);
}

.events__icon {
    display: block;
    transition: opacity 200ms ease;
}

.events__cardTitle {
    margin-top: 16px;
    margin-bottom: 0;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    white-space: pre-line;
    transition: color 200ms ease;
}

.events__cardDesc {
    margin-top: 12px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.8);
    transition: color 200ms ease;
}

.events__card:hover .events__cardTitle {
    color: var(--primary);
}

.events__card:hover .events__cardDesc {
    color: color-mix(in srgb, var(--primary) 80%, transparent);
}

.events__cardBar {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    transition: background-color 200ms ease;
}

.events__card:hover .events__cardBar {
    background: var(--secondary);
}

/* Bottom line */
.events__bottomText {
    margin: 20px auto 0;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    width: 100%;
}

@media (min-width: 1024px) {
    .events__bottomText {
        margin-top: 72px;
        width: 80%;
    }
}

.leader {
    padding-top: 40px;
    padding-bottom: 80px;
    background-color: var(--tertiary);
    background-image: url("https://www.sportsdentistryuk.com/blue-bg.png");
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
}

/* top pill */
.leader__pillRow {
    display: flex;
    justify-content: center;
}

.leader__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px;
    border-radius: 999px;
    border: 1px solid #ffffff;
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
}

/* heading */
.leader__heading {
    text-align: center;
    color: #ffffff;
    margin: 16px 0;
}

/* intro paragraph */
.leader__intro {
    text-align: center;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
    margin: 0;
}

.leader__introAccent {
    color: var(--secondary);
}

/* steps wrapper */
.leader__stepsWrap {
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.leader__stepsMax {
    width: 100%;
    max-width: 1024px;
    /* ~ max-w-5xl */
}

/* steps grid */
.leader__stepsGrid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
}

@media (min-width: 640px) {
    .leader__stepsGrid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .leader__stepsGrid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* single card */
.leader__stepCard {
    padding: 24px;
    min-height: 150px;
    /* approximate min-h-37.5 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;

    background: var(--tertiary);
    color: var(--primary);

    border-bottom: 1px solid rgba(0, 0, 0, 0);
    /* default, refined below */
    transition: background-color 200ms ease, color 200ms ease, transform 200ms ease,
        border-radius 200ms ease, box-shadow 200ms ease;
    cursor: pointer;

    /* bottom border for mobile/tablet like your original */
    border-bottom: 1px solid color-mix(in srgb, var(--primary) 50%, transparent);
}

/* every card except first: add left border on lg, remove bottom border on lg */
.leader__stepCard--notFirst {
    border-bottom: 1px solid color-mix(in srgb, var(--primary) 50%, transparent);
}

@media (min-width: 1024px) {
    .leader__stepCard {
        border-bottom: 0;
    }

    .leader__stepCard--notFirst {
        border-bottom: 0;
        border-left: 2px solid color-mix(in srgb, var(--primary) 50%, transparent);
    }
}

/* hover like your tailwind */
.leader__stepCard:hover {
    background: var(--secondary);
    color: #ffffff;
    transform: scale(1.1);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

/* step number */
.leader__stepNo {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--primary);
    transition: color 200ms ease;
}

.leader__stepCard:hover .leader__stepNo {
    color: #ffffff;
}

/* step title */
.leader__stepTitle {
    font-size: 14px;
    line-height: 1.65;
    font-weight: 600;
    color: #000000;
    margin: 0;
    transition: color 200ms ease;
}

.leader__stepCard:hover .leader__stepTitle {
    color: rgba(255, 255, 255, 0.95);
}

/* bottom text + CTA */
.leader__bottomText {
    margin: 40px 0;
    text-align: center;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.6;
}

.leader__ctaRow {
    display: flex;
    justify-content: center;
    margin: 16px 0;
}

.ourMission {
    padding: 40px 0;
    /* py-10 */
}

.ourMission__center {
    text-align: center;
}

.ourMission__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
    border-radius: 999px;
    border: 1px solid var(--primary);
    color: var(--primary);
    font-size: 20px;
    font-weight: 500;
}

.ourMission__heading {
    margin-top: 20px;
    /* mt-5 */
}

/* paragraph: mt-4 text-black text-lg w-full lg:w-[80%] mx-auto */
.ourMission__copy {
    margin-top: 16px;
    color: #000;
    font-size: 18px;
    line-height: 1.7;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1024px) {
    .ourMission__copy {
        width: 80%;
    }
}

.ourMission__cta {
    margin-top: 16px;
    display: flex;
    justify-content: center;
}

/* grid: mt-5 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 */
.ourMission__grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}

@media (min-width: 768px) {
    .ourMission__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ourMission__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* card wrapper: relative overflow-visible */
.ourMission__cardWrap {
    position: relative;
    overflow: visible;
}

/* decorative corner block: absolute -bottom-2 -right-2 w-28 h-28 bg-secondary rounded-2xl z-0 */
.ourMission__corner {
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 112px;
    height: 112px;
    background: var(--secondary);
    border-radius: 16px;
    z-index: 0;
}

/* main card: relative bg-white rounded-2xl shadow-[...] p-7 z-30 h-full */
.ourMission__card {
    position: relative;
    z-index: 30;
    height: 100%;
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

/* top row: flex gap-5 */
.ourMission__cardTop {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

/* icon box: w-14 h-14 rounded-xl bg-primary flex items-center justify-center */
.ourMission__iconBox {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

/* icon size: h-10 w-10 */
.ourMission__icon {
    width: 40px;
    height: 40px;
}

/* title: mt-4 text-xl font-bold text-black */
.ourMission__title {
    margin-top: 16px;
    font-size: 20px;
    font-weight: 700;
    color: #000;
}

/* desc: mt-3 text-black text-lg */
.ourMission__desc {
    margin-top: 12px;
    color: #000;
    font-size: 18px;
    line-height: 1.7;
}

.announcement {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
    /* py-20 */
    background-image: url("https://www.sportsdentistryuk.com/expert-bg.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.announcement__inner {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 16px;
    /* gap-4 */
    justify-content: center;
    align-items: center;
}

@media (min-width: 768px) {
    .announcement__inner {
        align-items: flex-start;
        /* md:items-start */
    }
}

.announcement__fade {
    width: 100%;
}

/* Heading: text-white capitalize text-center md:text-left + max-width rules */
.announcement__heading {
    color: #fff;
    text-transform: capitalize;
    text-align: center;
    width: 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    .announcement__heading {
        text-align: left;
        max-width: 50%;
    }
}

@media (min-width: 1280px) {
    .announcement__heading {
        max-width: 35%;
    }
}

/* Paragraph: text-white text-lg text-center md:text-left + max-width rules */
.announcement__text {
    color: #fff;
    font-size: 18px;
    /* text-lg */
    line-height: 1.7;
    text-align: center;
    width: 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    .announcement__text {
        text-align: left;
        max-width: 70%;
    }
}

@media (min-width: 1024px) {
    .announcement__text {
        max-width: 50%;
    }
}

/* Buttons wrapper: flex flex-col md:flex-row items-center gap-4 */
.announcement__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

@media (min-width: 768px) {
    .announcement__actions {
        flex-direction: row;
    }
}

/* Button overrides (since your Button already has its own variants) */
.announcement__btnPrimary:hover {
    background: transparent;
}

/* Ghost button: bg-transparent border-white */
.announcement__btnGhost {
    background: transparent;
    border-color: #fff;
}

/* Section spacing */
.benefits {
    padding: 40px 0;
    /* py-10 */
}

.benefits__title {
    text-align: center;
    margin-bottom: 40px;
    /* mb-10 */
}

/* Grid layout: 1 col, lg: 2 col */
.benefits__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    /* gap-8 */
}

@media (min-width: 1024px) {
    .benefits__grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Card wrapper: flex-col then md:flex-row, stretch */
.benefits__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    cursor: pointer;
}

@media (min-width: 768px) {
    .benefits__card {
        flex-direction: row;
    }
}

/* Icon circle wrapper */
.benefits__iconWrap {
    position: relative;
    z-index: 10;
    flex-shrink: 0;

    width: 40%;
    margin: 0 auto;

    aspect-ratio: 1 / 1;
    border-radius: 9999px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--primary, #0b4db8);
    transition: background-color 300ms ease;

    padding: 8px 0;
    /* py-2 */
}

@media (min-width: 768px) {
    .benefits__iconWrap {
        width: 120px;
        /* md:w-30 */
        margin: 0;
        /* md:mx-0 */
        padding: 0;
        /* md:py-0 */
    }
}

@media (min-width: 1024px) {
    .benefits__iconWrap {
        width: 144px;
        /* lg:w-36 */
    }
}

@media (min-width: 1280px) {
    .benefits__iconWrap {
        width: 120px;
        /* xl:w-30 */
    }
}

/* Icon ring */
.benefits__iconRing {
    width: 80px;
    /* w-20 */
    height: 80px;
    /* h-20 */
    border-radius: 9999px;
    border: 1px solid #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;
}

.benefits__iconImg {
    object-fit: contain;
}

/* Hover: primary -> secondary */
.benefits__card:hover .benefits__iconWrap {
    background: var(--secondary, #e11d48);
}

/* Content block */
.benefits__content {
    position: relative;
    overflow: hidden;

    background: #f3f3f3;

    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding-top: 56px;
    /* pt-14 */
    padding-right: 24px;
    /* pr-6 */
    padding-bottom: 16px;
    /* py-4 */
    padding-left: 0;

    margin-top: -40px;
    /* -mt-10 */
    border-radius: 0 0 16px 16px;
    /* rounded-b-2xl */

    transition: background-color 300ms ease;
}

@media (min-width: 768px) {
    .benefits__content {
        margin-top: 0;
        /* md:mt-0 */
        margin-left: -40px;
        /* md:-ml-10 */
        padding-top: 16px;
        /* md:pt-4 */
        padding-left: 56px;
        /* md:pl-14 */
        border-radius: 0 9999px 9999px 0;
        /* md:rounded-r-full */
    }
}

/* Decorative border spans */
.benefits__borderDesktop {
    display: none;
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;

    width: 30%;
    border-radius: 0 9999px 9999px 0;

    border: 6px solid var(--primary, #0b4db8);
    border-left: 0;

    transition: border-color 300ms ease;
}

@media (min-width: 768px) {
    .benefits__borderDesktop {
        display: block;
    }
}

.benefits__borderMobile {
    display: block;
    pointer-events: none;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    width: 100%;
    border-radius: 9999px;

    border: 4px solid var(--primary, #0b4db8);
    border-left: 0;

    transition: border-color 300ms ease;
}

@media (min-width: 768px) {
    .benefits__borderMobile {
        display: none;
    }
}

/* Hover border color */
.benefits__card:hover .benefits__borderDesktop,
.benefits__card:hover .benefits__borderMobile {
    border-color: var(--secondary, #e11d48);
}

.benefits__contentInner {
    position: relative;
    z-index: 10;
}

/* Text styles */
.benefits__cardTitle {
    font-size: 18px;
    /* text-lg */
    font-weight: 700;
    /* font-bold */
    color: #5e5e5e;
    margin-bottom: 4px;
    /* mb-1 */
    text-align: center;
}

.benefits__cardPara {
    font-size: 18px;
    /* text-lg */
    color: #5e5e5e;
    text-align: center;
}

@media (min-width: 768px) {

    .benefits__cardTitle,
    .benefits__cardPara {
        text-align: left;
        /* md:text-left */
    }
}

.memberSay {
    padding: 40px 0;
    /* py-10 */
    background: var(--primary);
    /* bg-primary */
}

.memberSay__inner {
    width: 100%;
}

.memberSay__imageWrap {
    width: 100%;
}

.memberSay__image {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    /* rounded-lg */
}

.memberSay__headingFade {
    margin-top: 16px;
    /* mt-4 */
}

.memberSay__title {
    text-align: center;
    color: #ffffff;
    margin-bottom: 16px;
    /* mb-4 */
}

.memberSay__paraWrapFade {
    border-bottom: 1px solid rgba(255, 255, 255, 1);
    /* border-b border-white */
    padding-bottom: 24px;
    /* pb-6 */
}

.memberSay__para {
    text-align: center;
    color: #ffffff;
    font-size: 20px;
    /* text-xl */
}

/* Section spacing (pt-8) */
.tvSection {
    padding-top: 32px;
}

/* Keep your existing .video-slider rules untouched.
   This wrapper just adds "relative mx-auto" behavior without Tailwind. */
.tvWrap {
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

/* Slide layout: "relative flex flex-col lg:flex-row items-end" */
.tvSlide {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

/* Left media: "relative z-10 w-full lg:w-[30%] overflow-hidden" */
.tvSlide__media {
    position: relative;
    z-index: 10;
    width: 100%;
    overflow: hidden;
}

.tvSlide__poster {
    width: 100%;
    height: auto;
    display: block;
}

/* Play button overlay: "absolute inset-0 flex items-center justify-center" */
.tvSlide__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: transparent;
    border: 0;
    padding: 0;
}

/* Right side: "w-full flex items-end lg:w-[70%]" */
.tvSlide__contentWrap {
    width: 100%;
    display: flex;
    align-items: flex-end;
}

/* Content card: "relative bg-font text-white px-0 shadow-xl" */
.tvSlide__content {
    position: relative;
    background: var(--font, #0b0b0b);
    /* uses your token if you have it */
    color: #ffffff;
    padding-left: 0;
    padding-right: 0;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    width: 100%;
}

/* HeadingTwo styling from Tailwind "text-left lg:ml-4" */
.tvSlide__title {
    text-align: left;
}

/* Para: "text-secondary text-2xl font-bold mb-3 text-start lg:ml-4" */
.tvSlide__para {
    color: var(--secondary, #d9b24c);
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
    text-align: left;
}

/* Quote box: "pl-8 p-4 bg-white text-black" */
.tvSlide__quoteBox {
    background: #ffffff;
    color: #000000;
    padding: 16px;
    padding-left: 32px;
}

.tvSlide__text {
    font-size: 16px;
    padding-top: 16px;
    margin: 0;
}

/* Counter: "absolute bottom-0 lg:bottom-8 left-0 select-none font-secondary" */
.tvCount {
    position: absolute;
    left: 0;
    bottom: 0;
    user-select: none;
    font-family: var(--font-secondary, inherit);
}

.tvCount__current {
    font-size: 30px;
    font-weight: 600;
    color: #ffffff;
}

.tvCount__total {
    font-size: 20px;
    opacity: 0.6;
    color: #ffffff;
}

/* Desktop arrows: "absolute left/right-0 bottom-18 ... hidden lg:block" */
.tvArrow {
    position: absolute;
    bottom: 72px;
    /* bottom-18 (4px * 18) */
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    border: 0;
    background: transparent;
    padding: 0;
    display: none;
}

.tvArrow--left {
    left: 0;
}

.tvArrow--right {
    right: 0;
}

/* Mobile nav: "flex justify-center gap-4 mt-6 block lg:hidden" */
.tvMobileNav {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
}

.tvMobileNav__btn {
    cursor: pointer;
    border: 0;
    background: transparent;
    padding: 0;
}

/* Responsive (matches lg breakpoint behavior) */
@media (min-width: 1024px) {
    .tvSlide {
        flex-direction: row;
        align-items: flex-end;
    }

    .tvSlide__media {
        width: 30%;
    }

    .tvSlide__contentWrap {
        width: 70%;
    }

    .tvCount {
        bottom: 32px;
        /* lg:bottom-8 */
    }

    .tvArrow {
        display: block;
    }

    .tvMobileNav {
        display: none;
    }

    /* lg:ml-4 */
    .tvSlide__title,
    .tvSlide__para {
        margin-left: 16px;
    }

    /* text-lg on large screens */
    .tvSlide__text {
        font-size: 18px;
    }
}

.vp {
    width: 100%;
}

.vp__btn {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: pointer;
    border: 0;
    padding: 0;
    background: transparent;
    outline: none;
}

.vp__inner {
    position: relative;
}

.vp__thumb {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    margin-left: auto;
    margin-right: auto;
}

.vp__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vp__play {
    height: 56px;
    width: 56px;
    position: relative;
    z-index: 20;
    transition: transform 200ms ease;
}

/* Hover scale (replaces group-hover:scale-105) */
.vp__btn:hover .vp__play {
    transform: scale(1.05);
}

.cb {
    padding: 40px 0;
}

.cb__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}

@media (min-width: 1024px) {
    .cb__grid {
        grid-template-columns: 1fr 360px;
        align-items: start;
    }
}

.cb__form {
    border: 1px solid #9ca3af;
    /* gray-400 */
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cb__row2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 640px) {
    .cb__row2 {
        grid-template-columns: 1fr 1fr;
    }
}

.cb__field {
    position: relative;
}

.cb__label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 700;
    color: #000;
}

.cb__labelRow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.cb__req {
    color: #dc2626;
    /* red-600 */
}

.cb__infoIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cb__input,
.cb__select {
    width: 100%;
    border: 1px solid #d1d5db;
    /* gray-300 */
    border-radius: 8px;
    background: #fff;
    padding: 10px 12px;
    font-size: 13px;
    outline: none;
}

.cb__input:focus,
.cb__select:focus {
    border-color: #6b7280;
}

.cb__tooltipWrap {
    position: relative;
}

.cb__tooltip {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    background: #454545;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    padding: 6px 8px;
    border-radius: 8px;
    z-index: 10;
    display: none;
    max-width: 320px;
}

.cb__tooltipArrow {
    position: absolute;
    left: 40px;
    bottom: calc(100% + 2px);
    width: 14px;
    height: 14px;
    background: #454545;
    transform: rotate(45deg);
    z-index: 9;
    display: none;
}

.cb__tooltip.is-open,
.cb__tooltipArrow.is-open {
    display: block;
}

.cb__continueBtn {
    width: 100%;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    border: none;

    /* mimic your colors */
    background: var(--midnight, #0b1220);
    color: var(--secondary, #9fb7ff);
    transition: color 160ms ease, opacity 160ms ease;
}

.cb__continueBtn:hover {
    color: var(--primary, #1f4fff);
}

.cb__continueBtn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.cb__paymentBox {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cb__payBtn {
    width: 100%;
    border-radius: 8px;
    padding: 14px 16px;
    font-size: 18px;
    cursor: pointer;
    border: none;

    background: var(--primary, #1f4fff);
    color: #fff;
    transition: background 180ms ease, opacity 180ms ease;
}

.cb__payBtn:hover {
    background: var(--secondary, #3b82f6);
}

.cb__payBtn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.cb__summary {
    border: 1px solid #e5e7eb;
    /* gray-200 */
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    height: fit-content;
}

.cb__summaryTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cb__summaryTitle {
    font-size: 13px;
    font-weight: 700;
    color: #000;
}

.cb__summaryTotal {
    background: #3b82f6;
    /* blue-500 */
    color: #fff;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
}

.cb__summaryLines {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13px;
    color: #374151;
    /* gray-700 */
}

.cb__line {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cb__lineValue {
    font-weight: 700;
    color: #111827;
    /* near black */
}

.cb__summaryNote {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f3f4f6;
    /* gray-100 */
    font-size: 12px;
    color: #6b7280;
    /* gray-500 */
}

.scientific_conference {
    padding: 60px 0;
    background-color: var(--tertiary);
    /* adjust to your design system */
}

.scientific_conference__inner {
    text-align: center;
}

.scientific_conference__highlight {
    background-color: var(--secondary);
    color: #ffffff;
    padding: 8px 12px;
    display: inline-block;
}

.scientific_conference__description {
    margin-top: 20px;
    font-size: 16px;
    color: rgba(0, 0, 0, 0.9);
}

.scientific_conference__button {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

.scientific_conference__btn {
    background-color: var(--primary);
    border: 1px solid var(--primary);
    transition: all 0.3s ease;
}

.scientific_conference__btn:hover {
    background-color: var(--secondary);
    border-color: var(--secondary);
    color: #ffffff;
}

.feedback_2024 {
    padding: 60px 0;
    background: #f3f3f3;
}

.feedback_2024__wrap {
    width: 100%;
}

/* Card */
.feedback_2024__card {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
    /* similar to rounded-2xl */
    cursor: pointer;
    border: 0;
    padding: 0;
    background: transparent;
}

.feedback_2024__card:focus {
    outline: none;
}

/* Media */
.feedback_2024__media {
    position: relative;
}

.feedback_2024__thumb {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Overlay hover */
.feedback_2024__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.25s ease;
}

.feedback_2024__card:hover .feedback_2024__overlay {
    background: rgba(0, 0, 0, 0.1);
}

/* Play button area */
.feedback_2024__playWrap {
    position: absolute;
    left: 50%;
    bottom: 56px;
    /* bottom-14 */
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.feedback_2024__playIcon {
    width: 56px;
    height: 56px;
    position: relative;
    z-index: 2;
    transition: transform 0.25s ease;
}

.feedback_2024__card:hover .feedback_2024__playIcon {
    transform: scale(1.05);
}

/* Waves */
.feedback_2024__waves {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.feedback_2024__wave {
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: rgba(var(--color-primary-rgb, 0, 0, 0), 0.2);
    opacity: 0;
    animation: feedbackWaves 3s infinite;
}

.feedback_2024__wave--2 {
    animation-delay: 1s;
}

.feedback_2024__wave--3 {
    animation-delay: 2s;
}

@keyframes feedbackWaves {
    0% {
        transform: scale(0.55);
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    100% {
        transform: scale(1.1);
        opacity: 0;
    }
}

/* Swiper pagination (moved from style jsx global) */
.feedback_2024__swiper .swiper-pagination {
    position: relative;
    margin-top: 36px;
}

.feedback_2024__swiper .swiper-pagination-bullet {
    width: 18px;
    height: 18px;
    border-radius: 9999px;
    background: #ffffff;
    border: 1px solid var(--color-primary);
    opacity: 1;
    margin: 0 6px !important;
    transition: transform 0.2s ease, background 0.2s ease;
}

.feedback_2024__swiper .swiper-pagination-bullet-active {
    background: var(--color-primary) !important;
    transform: scale(1.15);
}

.feedback_section_2 {
    padding: 60px 0;
    background: #f3f3f3;
}

.feedback_section_2__wrap {
    width: 100%;
}

.feedback_section_2__card {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
    cursor: pointer;
    border: 0;
    padding: 0;
    background: transparent;
}

.feedback_section_2__card:focus {
    outline: none;
}

.feedback_section_2__media {
    position: relative;
}

.feedback_section_2__thumb {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.feedback_section_2__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.25s ease;
}

.feedback_section_2__card:hover .feedback_section_2__overlay {
    background: rgba(0, 0, 0, 0.1);
}

.feedback_section_2__centerPlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feedback_section_2__playIcon {
    width: 56px;
    height: 56px;
    position: relative;
    z-index: 2;
    transition: transform 0.25s ease;
}

.feedback_section_2__card:hover .feedback_section_2__playIcon {
    transform: scale(1.05);
}

/* Waves */
.feedback_section_2__waves {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.feedback_section_2__wave {
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: rgba(var(--color-primary-rgb, 0, 0, 0), 0.2);
    opacity: 0;
    animation: feedback2Waves 3s infinite;
}

.feedback_section_2__wave--2 {
    animation-delay: 1s;
}

.feedback_section_2__wave--3 {
    animation-delay: 2s;
}

@keyframes feedback2Waves {
    0% {
        transform: scale(0.55);
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    100% {
        transform: scale(1.1);
        opacity: 0;
    }
}

/* Swiper pagination */
.feedback_section_2__swiper .swiper-pagination {
    position: relative;
    margin-top: 36px;
}

.feedback_section_2__swiper .swiper-pagination-bullet {
    width: 18px;
    height: 18px;
    border-radius: 9999px;
    background: #ffffff;
    border: 1px solid var(--color-primary);
    opacity: 1;
    margin: 0 6px !important;
    transition: transform 0.2s ease, background 0.2s ease;
}

.feedback_section_2__swiper .swiper-pagination-bullet-active {
    background: var(--color-primary) !important;
    transform: scale(1.15);
}

.scientificr_2 {
    padding: 60px 0;
}

.scientificr_2__ribbonWrap {
    position: relative;
    width: 100%;
    text-align: center;
    margin-bottom: 32px;
}

.scientificr_2__ribbon {
    position: relative;
    display: inline-block;
    background: var(--color-primary);
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    padding: 10px 24px;
    border-radius: 3px;
    width: 100%;
}

@media (min-width: 1024px) {
    .scientificr_2__ribbon {
        font-size: 20px;
    }
}

.scientificr_2__ribbonPointer {
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 16px;
    height: 16px;
    background: var(--color-primary);
    transform: translateX(-50%) rotate(45deg);
}

.scientificr_2__panel {
    background: #ffffff;
}

/* Rows */
.scientificr_2__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;
}

@media (min-width: 1024px) {
    .scientificr_2__row {
        grid-template-columns: 1fr 1fr;
    }
}

/* Text column */
.scientificr_2__textCol {
    width: 100%;
    background: var(--tertiary);
    padding: 24px;
    display: flex;
    align-items: center;
}

@media (min-width: 1024px) {
    .scientificr_2__textCol {
        padding: 32px;
    }
}

.scientificr_2__textInner {
    width: 100%;
}

.scientificr_2__desc {
    margin: 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.7;
}

@media (min-width: 1024px) {
    .scientificr_2__desc {
        text-align: left;
        font-size: 18px;
    }
}

/* Image column */
.scientificr_2__imageCol {
    width: 100%;
    height: 100%;
}

.scientificr_2__imageFade {
    width: 100%;
    height: 100%;
}

.scientificr_2__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Alternating order on desktop */
@media (min-width: 1024px) {
    .scientificr_2__orderText {
        order: 1;
    }

    .scientificr_2__orderImage {
        order: 2;
    }

    .scientificr_2__orderTextAlt {
        order: 2;
    }

    .scientificr_2__orderImageAlt {
        order: 1;
    }
}

/* Bottom paragraph */
.scientificr_2__bottom {
    width: 100%;
    padding: 24px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.scientificr_2__bottomText {
    margin: 0;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
}

@media (min-width: 1024px) {
    .scientificr_2__bottomText {
        font-size: 18px;
    }
}

.testimonial_section_2 {
    padding: 60px 0;
}

.testimonial_section_2__inner {
    text-align: center;
}

.testimonial_section_2__desc {
    width: 100%;
    margin: 14px auto 0;
    font-size: 18px;
    line-height: 1.7;
}

@media (min-width: 1024px) {
    .testimonial_section_2__desc {
        width: 70%;
    }
}

.testimonial_section_2__videos {
    margin-top: 18px;
}

.about_scientific {
    padding: 60px 0;
}

.about_scientific__content {
    width: 100%;
}

/* Each row */
.about_scientific__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
}

.about_scientific__row:last-child {
    margin-bottom: 0;
}

@media (min-width: 1024px) {
    .about_scientific__row {
        grid-template-columns: 1fr 1fr;
    }
}

/* Image column */
.about_scientific__imageCol {
    width: 100%;
    display: flex;
    height: 100%;
    border-radius: 8px;
}

.about_scientific__imageCol--even {
    border-left: 4px solid var(--color-primary);
}

.about_scientific__imageCol--odd {
    border-right: 4px solid var(--color-secondary);
}

.about_scientific__imageWrap {
    width: 100%;
    height: 100%;
}

.about_scientific__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 16px;
}

/* Text column */
.about_scientific__textCol {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    background: #ffffff;
    padding: 16px;
    border-radius: 16px;
}

.about_scientific__textInner {
    width: 100%;
}

.about_scientific__text {
    margin: 0;
    text-align: center;
    color: #111;
}

@media (min-width: 768px) {
    .about_scientific__text {
        text-align: left;
    }
}

/* Alternate order on desktop */
@media (min-width: 1024px) {
    .about_scientific__orderImageEven {
        order: 1;
    }

    .about_scientific__orderTextEven {
        order: 2;
    }

    .about_scientific__orderImageOdd {
        order: 2;
    }

    .about_scientific__orderTextOdd {
        order: 1;
    }
}

/* CTA block */
.about_scientific__cta {
    background: var(--tertiary);
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    justify-content: center;
}

.about_scientific__ctaText {
    margin: 0;
    color: #000;
}

.about_scientific__ctaButton {
    display: flex;
    justify-content: center;
}

/* Sticky header */
.header_2 {
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

/* bar background */
.header_2__bar {
    background: #ffffff;
}

/* main row */
.header_2__row {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
}

/* Logo */
.header_2__logoWrap {
    position: relative;
    flex-shrink: 0;
    z-index: 10;
}

.header_2__logoLink {
    display: flex;
    align-items: center;
}

.header_2__logoImg {
    padding: 8px;
}

/* Desktop Nav */
.header_2__nav {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header_2__navInner {
    display: none;
    align-items: center;
    gap: 8px;
}

@media (min-width: 1024px) {
    .header_2__navInner {
        display: flex;
    }
}

.header_2__link {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 9999px;
    font-size: 18px;
    font-weight: 500;
    white-space: nowrap;
    color: #000;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.header_2__link:hover {
    background: var(--color-primary);
    color: #fff;
}

.header_2__link--active {
    background: var(--color-primary);
    color: #fff;
}

/* Actions */
.header_2__actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Desktop CTA */
.header_2__ctaWrap {
    display: none;
}

@media (min-width: 1024px) {
    .header_2__ctaWrap {
        display: block;
    }
}

.header_2__cta {
    display: inline-block;
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: #fff;
    padding: 10px 24px;
    border-radius: 9999px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.header_2__cta:hover {
    background: #fff;
    color: var(--color-primary);
}

/* Burger */
.header_2__burgerWrap {
    display: block;
}

@media (min-width: 1024px) {
    .header_2__burgerWrap {
        display: none;
    }
}

.header_2__burger {
    width: 44px;
    height: 44px;
    border-radius: 9999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.header_2__burgerLines {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.header_2__line {
    width: 20px;
    height: 2px;
    background: var(--color-primary);
    display: block;
}

.header_2__srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Mobile overlay container */
.header_2__mobile {
    position: fixed;
    inset: 0;
    z-index: 9999;
    transition: opacity 0.2s ease;
}

.header_2__mobile--closed {
    pointer-events: none;
    opacity: 0;
}

.header_2__mobile--open {
    pointer-events: auto;
    opacity: 1;
}

/* Backdrop */
.header_2__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

/* Drawer */
.header_2__drawer {
    position: absolute;
    inset: 0;
    background: var(--color-primary);
    transform: translateX(100%);
    transition: transform 0.2s ease;
    display: flex;
    flex-direction: column;
}

.header_2__drawer--open {
    transform: translateX(0);
}

.header_2__drawer--closed {
    transform: translateX(100%);
}

/* Drawer top bar */
.header_2__drawerTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    padding: 20px;
}

.header_2__close {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

/* Drawer body */
.header_2__drawerBody {
    height: calc(100vh - 96px);
    display: flex;
    justify-content: center;
    padding-top: 40px;
}

.header_2__drawerInner {
    width: 100%;
    padding: 0 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;
}

.header_2__mobileLinks {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.header_2__mobileLink {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
}

.header_2__mobileCta {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--color-primary);
    padding: 12px 40px;
    border-radius: 9999px;
    font-weight: 600;
    text-decoration: none;
}

/* Socials */
.header_2__socials {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header_2__socialLink {
    width: 48px;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Sticky + shadow */
.header_1 {
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

/* Top strip */
.header_1__top {
    background: var(--color-primary);
}

.header_1__topRow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    padding: 8px 0;
}

.header_1__topText {
    margin: 0;
    color: #fff;
    font-size: 14px;
}

.header_1__topSocials {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header_1__topSocialLink {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Main bar background:
   Mobile = white
   Desktop = gradient like your Tailwind linear-gradient */
.header_1__main {
    background: #fff;
}

@media (min-width: 1024px) {
    .header_1__main {
        background: linear-gradient(to right,
                #ffffff 0%,
                #ffffff 38%,
                var(--color-secondary) 31%,
                var(--color-secondary) 100%);
    }
}

.header_1__mainRow {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    height: 86px;
}

/* Logo column */
.header_1__logoCol {
    position: relative;
    width: 260px;
    height: 100%;
    flex-shrink: 0;
    z-index: 10;
}

.header_1__logoLink {
    position: absolute;
    left: 0;
    display: flex;
    align-items: center;
    text-decoration: none;
}

@media (min-width: 1024px) {
    .header_1__logoLink {
        justify-content: center;
        width: 100%;
    }
}

.header_1__logoImg {
    padding: 10px;
    padding-bottom: 8px;
}

/* Right section */
.header_1__right {
    flex: 1;
    position: relative;
    height: 100%;
}

/* Arrow background layer (desktop only) */
.header_1__arrowBg {
    display: none;
    position: absolute;
    left: -40px;
    right: 0;
    top: 0;
    bottom: 0;
}

@media (min-width: 1024px) {
    .header_1__arrowBg {
        display: block;
    }
}

.header_1__arrowImg {
    object-fit: cover;
    object-position: left;
}

/* Right inner content */
.header_1__rightInner {
    position: relative;
    z-index: 10;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 24px;
}

/* Desktop nav */
.header_1__nav {
    display: none;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

@media (min-width: 1024px) {
    .header_1__nav {
        display: flex;
    }
}

.header_1__navLink {
    padding: 10px 16px;
    border-radius: 9999px;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    color: #fff;
    transition: background 0.2s ease, color 0.2s ease;
}

.header_1__navLink:hover {
    background: rgba(0, 0, 0, 0.15);
}

.header_1__navLink--active {
    background: var(--color-primary);
    color: #fff;
}

/* Desktop CTA */
.header_1__ctaWrap {
    display: none;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .header_1__ctaWrap {
        display: block;
    }
}

.header_1__cta {
    display: inline-block;
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: #fff;
    padding: 10px 24px;
    border-radius: 9999px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.header_1__cta:hover {
    background: #fff;
    color: var(--color-primary);
}

/* Burger (mobile only) */
.header_1__burgerWrap {
    display: flex;
    flex: 1;
    justify-content: flex-end;
    padding-right: 4px;
}

@media (min-width: 1024px) {
    .header_1__burgerWrap {
        display: none;
    }
}

.header_1__burger {
    width: 44px;
    height: 44px;
    border-radius: 9999px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.header_1__burgerLines {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.header_1__line {
    width: 20px;
    height: 2px;
    background: var(--color-primary);
}

/* sr-only */
.header_1__srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Mobile overlay */
.header_1__mobile {
    position: fixed;
    inset: 0;
    z-index: 9999;
    transition: opacity 0.2s ease;
}

.header_1__mobile--closed {
    pointer-events: none;
    opacity: 0;
}

.header_1__mobile--open {
    pointer-events: auto;
    opacity: 1;
}

.header_1__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

/* Drawer */
.header_1__drawer {
    position: absolute;
    inset: 0;
    background: var(--color-primary);
    transform: translateX(100%);
    transition: transform 0.2s ease;
    display: flex;
    flex-direction: column;
}

.header_1__drawer--open {
    transform: translateX(0);
}

.header_1__drawer--closed {
    transform: translateX(100%);
}

/* Drawer top */
.header_1__drawerTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    padding: 20px;
}

.header_1__close {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

/* Drawer body */
.header_1__drawerBody {
    height: calc(100vh - 96px);
    display: flex;
    justify-content: center;
    padding-top: 40px;
}

.header_1__drawerInner {
    width: 100%;
    padding: 0 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;
}

.header_1__mobileLinks {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.header_1__mobileLink {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
}

.header_1__mobileCta {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--color-primary);
    padding: 12px 40px;
    border-radius: 9999px;
    font-weight: 600;
    text-decoration: none;
}

.header_1__mobileSocials {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header_1__mobileSocialLink {
    width: 48px;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.home_community_network {
    padding: 60px 0;
    background: var(--tertiary);
}

.home_community_network__row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

@media (min-width: 1024px) {
    .home_community_network__row {
        flex-direction: row;
    }
}

/* Left */
.home_community_network__left {
    width: 100%;
    text-align: center;
}

@media (min-width: 1024px) {
    .home_community_network__left {
        width: 60%;
        text-align: left;
    }
}

.home_community_network__para {
    margin-top: 16px;
    color: rgba(0, 0, 0, 0.7);
    font-size: 18px;
    line-height: 1.75;
}

/* Note box */
.home_community_network__note {
    margin-top: 24px;
    background: #d8e3ff;
    border-left: 4px solid var(--color-primary);
    padding: 12px 16px;
}

.home_community_network__noteText {
    margin: 0;
    color: rgba(0, 0, 0, 0.8);
    font-size: 18px;
    line-height: 1.7;
}

/* CTA */
.home_community_network__cta {
    margin-top: 24px;
    width: fit-content;
}

/* Right */
.home_community_network__right {
    width: 100%;
}

@media (min-width: 1024px) {
    .home_community_network__right {
        width: 40%;
    }
}

.home_community_network__image {
    width: 100%;
    height: auto;
    display: block;
}