:root {
    --font-plus-jakarta-sans: sans-serif;
    /* Fallback */
    --font-urbanist: sans-serif;
    /* Fallback */
    --font-poppins: sans-serif;
    /* Fallback */
    --primary: #638ACB;
    --secondary: #F8F9FA;
    --tertiary: #E0E0E0;
    --btype: #B6B9BA;
    --dark: #131D20;
    --light-gray: #667085;
    --white: #ffffff;
    --black: #000000;
    --red: #FF0000;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-plus-jakarta-sans);
}

/* text-4xl md:text-5xl font-semibold */
.heading-one {
    font-size: 36px;
    /* ~text-4xl */
    font-weight: 600;
    line-height: 1.15;
    margin: 0;
}

@media (min-width: 768px) {
    .heading-one {
        font-size: 48px;
        /* ~text-5xl */
    }
}

/* font-sans */
.heading-one--sans {
    font-family: var(--font-plus-jakarta-sans);
}

/* font-poppins */
.heading-one--poppins {
    font-family: var(--font-poppins);
}

/* text-3xl md:text-4xl font-semibold */
.heading-two {
    font-size: 30px;
    /* ~text-3xl */
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .heading-two {
        font-size: 36px;
        /* ~text-4xl */
    }
}

/* font-sans */
.heading-two--sans {
    font-family: var(--font-plus-jakarta-sans);
}

/* font-poppins */
.heading-two--poppins {
    font-family: var(--font-poppins);
}

/* replaces max-w-[1350px] container */

.wrapper {
    width: 100%;
    max-width: 1350px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
}

/* Optional: slightly larger padding on bigger screens */
@media (min-width: 768px) {
    .wrapper {
        padding-left: 24px;
        padding-right: 24px;
    }
}

/* base: font-sans font-light transition-all uppercase text-xs px-6 py-3 rounded-lg inline-block */
.simpleBtn {
    font-family: var(--font-plus-jakarta-sans);
    font-weight: 300;
    text-transform: uppercase;
    font-size: 12px;

    padding: 12px 24px;
    border-radius: 8px;

    display: inline-block;
    text-decoration: none;

    transition: all 0.2s ease;
}

/* PRIMARY
bg-primary border border-primary text-white
hover:text-dark hover:bg-secondary hover:border-btype
*/
.simpleBtn--primary {
    background: var(--primary);
    border: 1px solid var(--primary);
    color: var(--white);
}

.simpleBtn--primary:hover {
    background: var(--secondary);
    border-color: var(--btype);
    color: var(--dark);
}

/* SECONDARY
bg-secondary border border-btype text-dark
hover:bg-primary hover:text-secondary
*/
.simpleBtn--secondary {
    background: var(--secondary);
    border: 1px solid var(--btype);
    color: var(--dark);
}

.simpleBtn--secondary:hover {
    background: var(--primary);
    color: var(--secondary);
}

/* WHITE
bg-white text-black
hover:bg-dark hover:text-secondary
*/
.simpleBtn--white {
    background: var(--white);
    border: 1px solid transparent;
    color: var(--black);
}

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

li.norm-li {
    opacity: 0;
    /* Start hidden */
    transition: opacity 0.3s ease, transform 0.3s ease;
    /* Smooth transition */
}

.banner-reuse {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.banner-reuse__content {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
}

.banner-reuse__left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
}

.banner-reuse__trusted {
    display: inline-block;
    width: fit-content;
    padding: 0 1rem;
    border: 1px solid #b6b9ba;
    border-radius: 0.75rem;
    color: #131d20;
    background-color: #f8f9fa;
}

.banner-reuse__heading {
    margin-bottom: 0.75rem;
    color: #638acb;
    font-size: 2.25rem;
    line-height: 1.2;
    font-weight: 600;
}

.banner-reuse__paragraph {
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
    font-weight: 300;
}

.banner-reuse__buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
}

.banner-reuse__contact {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0;
}

.banner-reuse__contact-item {
    display: flex;
    gap: 0.75rem;
    font-size: 0.875rem;
    font-weight: 300;
    color: inherit;
    text-decoration: none;
}

.banner-reuse__icon {
    color: #638acb;
}

.banner-reuse__divider {
    width: 2px;
    height: 100%;
    min-height: 1.2rem;
    background-color: #638acb;
}
@media (max-width: 745px) {
    .banner-reuse__divider {
        display: none;
    }
}
.banner-reuse__right {
    flex-shrink: 0;
}

.banner-reuse__video-once-wrap {
    padding-top: 0;
    padding-bottom: 0;
}

.banner-reuse__video {
    width: 100%;
    height: 100%;
}

.banner-reuse__video-poster {
    position: relative;
}

.banner-reuse__image {
    width: 100%;
    height: auto;
}

.banner-reuse__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 12;
}

.banner-reuse__play-icon {
    position: relative;
    z-index: 100;
    cursor: pointer;
}

.banner-reuse__waves {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
}

.banner-reuse__wave {
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 9999px;
    background: rgba(0, 0, 0, 0.1);
    opacity: 0;
    animation: banner-reuse-waves 3s ease-in-out infinite;
}

@keyframes banner-reuse-waves {
    0% {
        transform: scale(0.2);
        opacity: 0;
        background: rgba(0, 0, 0, 0.1);
    }

    50% {
        opacity: 0.9;
        background: rgba(0, 0, 0, 0.2);
    }

    100% {
        transform: scale(0.9);
        opacity: 0;
        background: rgba(0, 0, 0, 0.3);
    }
}

@media (min-width: 768px) {
    .banner-reuse__heading {
        font-size: 3rem;
    }

    .banner-reuse__buttons {
        gap: 2.25rem;
    }

    .banner-reuse__contact {
        flex-direction: row;
    }
}

@media (min-width: 1024px) {
    .banner-reuse {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .banner-reuse__content {
        flex-direction: row;
        padding-top: 0;
    }

    .banner-reuse__left--fifty {
        width: calc(50% - 1.5rem);
    }

    .banner-reuse__left--sixty {
        width: calc(60% - 1.5rem);
    }

    .banner-reuse__right--fifty {
        width: calc(50% - 1.5rem);
    }

    .banner-reuse__right--forty {
        width: calc(40% - 1.5rem);
    }

    .banner-reuse__paragraph {
        margin-bottom: 1.5rem;
    }

    .banner-reuse__buttons {
        flex-direction: row;
        justify-content: flex-start;
        margin-bottom: 2rem;
    }

    .banner-reuse__contact {
        gap: 1rem;
        margin-top: 1rem;
    }

    .banner-reuse__video-once-wrap {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
}

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

.our-expertise__heading {
    text-align: center;
    margin-bottom: 32px;
    /* mb-8 */
}

.our-expertise__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

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

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

.our-expertise__card {
    position: relative;
}

.our-expertise__image {
    width: 100%;
    height: 100%;
    max-height: 350px;
    object-fit: cover;
    display: block;
}

.our-expertise__linkOverlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.our-expertise__titleWrap {
    position: absolute;
    left: 0;
    bottom: 12px;
    /* bottom-3 */
    width: 100%;
}

.our-expertise__title {
    text-align: center;
    font-size: 24px;
    /* text-2xl */
    color: #fff;
    margin: 0;
}

/* Wrapper spacing (py-5 lg:py-10) */
.smile-starts {
    padding: 20px 0;
}

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

/* Top section layout */
.smile-starts__top {
    display: flex;
    flex-direction: column;
    gap: 32px;
    /* gap-8 */
    padding-bottom: 32px;
    /* pb-8 */
    text-align: center;
}

@media (min-width: 768px) {
    .smile-starts__top {
        flex-direction: row;
        gap: 0;
        /* md:gap-0 */
        align-items: flex-start;
    }
}

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

.smile-starts__left {
    width: 100%;
}

@media (min-width: 768px) {
    .smile-starts__left {
        width: 50%;
        /* md:w-1/2 */
    }
}

/* Original code had md:w-full (effectively 100%) */
.smile-starts__right {
    width: 100%;
}

.smile-starts__title {
    color: var(--primary);
    /* text-primary */
}

/* br hidden on mobile, shown on md */
.smile-starts__br {
    display: none;
    /* hidden */
}

@media (min-width: 768px) {
    .smile-starts__br {
        display: block;
        /* md:block */
    }
}

.smile-starts__desc {
    font-size: 16px;
    /* text-base */
    font-weight: 300;
    /* font-light */
    margin: 0;
}

.smile-starts__cta {
    margin-top: 24px;
    /* mt-6 */
    display: flex;
    justify-content: center;
}

@media (min-width: 1024px) {
    .smile-starts__cta {
        justify-content: flex-start;
        /* lg:justify-start */
    }
}

/* Mobile combined image (block sm:hidden) */
.smile-starts__mobileImage {
    display: block;
}

@media (min-width: 640px) {
    .smile-starts__mobileImage {
        display: none;
        /* sm:hidden */
    }
}

/* Desktop grid (hidden sm:grid md:grid-cols-3 gap-4) */
.smile-starts__grid {
    display: none;
    /* hidden */
}

@media (min-width: 640px) {
    .smile-starts__grid {
        display: grid;
        /* sm:grid */
        grid-template-columns: 1fr;
        /* grid-cols-1 */
        gap: 16px;
        /* gap-4 */
    }
}

@media (min-width: 768px) {
    .smile-starts__grid {
        grid-template-columns: repeat(3, 1fr);
        /* md:grid-cols-3 */
    }
}

/* Column wrappers */
.smile-starts__colCenter {
    display: block;
}

@media (min-width: 768px) {
    .smile-starts__colCenter {
        display: flex;
        justify-content: center;
        /* md:justify-center */
    }
}

.smile-starts__colEnd {
    display: block;
}

@media (min-width: 768px) {
    .smile-starts__colEnd {
        display: flex;
        justify-content: flex-end;
        /* md:justify-end */
    }
}

/* Image styles (md:w-[95%] h-auto lg:h-[350px] lg:object-cover lg:object-top rounded-t-[20px]) */
.smile-starts__img {
    width: 100%;
    height: auto;
    /* h-auto */
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

@media (min-width: 768px) {
    .smile-starts__img {
        width: 95%;
        /* md:w-[95%] */
    }
}

@media (min-width: 1024px) {
    .smile-starts__img {
        height: 350px;
        /* lg:h-[350px] */
        object-fit: cover;
        /* lg:object-cover */
        object-position: top;
        /* lg:object-top */
    }
}

/* Section wrapper (py-10 + gradient background) */
.woa {
    padding: 40px 0;
    background: linear-gradient(270deg,
            #c4ced5 0.56%,
            #e5eff7 25.28%,
            #d4dfe6 67.67%,
            #d3dee5 69.51%,
            #c4ced5 85.93%,
            #e5eff7 100%);
}

/* Heading (text-center mb-6) */
.woa__heading {
    text-align: center;
    margin-bottom: 24px;
}

/* Mobile arrow row (flex justify-center pb-4 items-center gap-10) */
.woa__mobileArrows {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding-bottom: 16px;
}

/* hide mobile arrows on lg */
@media (min-width: 1024px) {
    .woa__mobileArrows {
        display: none;
    }
}

/* Main row (relative flex flex-row) */
.woa__row {
    position: relative;
    display: flex;
    flex-direction: row;
}

/* Arrow button base (shrink-0 self-center) */
.woa__arrowBtn {
    flex-shrink: 0;
    align-self: center;
    display: flex;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

/* Arrow image (w-8 h-auto) */
.woa__arrowImg {
    width: 32px;
    height: auto;
    display: block;
}

/* Desktop-only arrows (pt-10 hidden lg:flex) */
.woa__arrowBtn--desktop {
    display: none;
    padding-top: 40px;
}

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

/* Swiper */
.woa__swiper {
    width: 100%;
}

/* Slide content (text-center flex flex-col gap-4) */
.woa__slide {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Content text (text-lg leading-loose font-light) */
.woa__text {
    text-align: center;
    font-size: 18px;
    line-height: 2;
    /* leading-loose */
    font-weight: 300;
    /* light */
    margin: 0;
}

/* Name (font-normal text-base) */
.woa__name {
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}

/* section padding: py-5 lg:py-10 */
.services-section {
    padding: 20px 0;
}

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

/* outer row: flex justify-between flex-col lg:flex-row gap-6 */
.services-section__row {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 24px;
}

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

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

/* content column: lg:w-2/5 self-center flex flex-col gap-3 lg:gap-7 lg:items-start text-center lg:text-left */
.services-section__content {
    width: 100%;
    align-self: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: center;
}

@media (min-width: 1024px) {
    .services-section__content {
        width: 40%;
        gap: 28px;
        align-items: flex-start;
        text-align: left;
    }
}

/* HeadingTwo classes: text-center lg:text-left */
.services-section__heading {
    text-align: center;
}

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

/* h3: text-[20px] font-semibold */
.services-section__heading2 {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}

/* copy: font-light */
.services-section__copy {
    font-weight: 300;
}

/* buttons: flex flex-col justify-center items-center gap-3 w-full */
.services-section__buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
}

/* media column: w-full lg:w-2/4 relative pt-2 flex flex-col-reverse */
.services-section__media {
    width: 100%;
    position: relative;
    padding-top: 8px;
    display: flex;
    flex-direction: column-reverse;
}

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

/* image: w-full h-auto */
.services-section__image {
    width: 100%;
    height: auto;
    display: block;
}

/* small box: hidden lg:flex border w-46 lg:w-60 shadow-custom border-btype bg-white border-opacity-25 p-2 py-3 rounded-lg items-center gap-3 z-10 relative lg:absolute mt-4 lg:mt-0 */
.services-section__box {
    display: none;
    /* hidden */
}

@media (min-width: 1024px) {
    .services-section__box {
        display: flex;
        /* lg:flex */
        border: 1px solid rgba(0, 0, 0, 0.25);
        /* border + border-opacity-25 */
        background: #fff;
        /* bg-white */
        padding: 8px 8px;
        /* p-2 */
        padding-top: 12px;
        /* py-3 */
        padding-bottom: 12px;
        border-radius: 8px;
        /* rounded-lg */
        align-items: center;
        gap: 12px;
        /* gap-3 */
        z-index: 10;
        position: absolute;
        /* lg:absolute */
        margin-top: 0;
        /* lg:mt-0 */
        /* w-46 + lg:w-60 */
        width: 240px;
    }
}

/* NOTE: These two depend on your Tailwind theme:
   - shadow-custom
   - border-btype
   If you already have them in your global CSS, keep them.
   Otherwise define them here (examples below). */
.services-section__box {
    /* shadow-custom (example) */
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
    /* border-btype (example color) */
    border-color: rgba(0, 0, 0, 0.25);
}

/* position depending on rowReverse:
   rowReverse: lg:-right-40 lg:-top-5
   else: lg:-left-40 lg:-top-1 */
@media (min-width: 1024px) {
    .services-section__box--right {
        right: -160px;
        top: -20px;
    }

    .services-section__box--left {
        left: -160px;
        top: -4px;
    }
}

/* icon wrap: bg-primary text-white p-3 rounded-full */
.services-section__iconWrap {
    background: var(--primary);
    color: #fff;
    padding: 12px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* box heading: text-sm + (lg:text-sm OR lg:text-lg) + !leading-snug */
.services-section__boxHeading {
    font-size: 14px;
    /* text-sm */
    line-height: 1.25;
    /* leading-snug */
    margin: 0;
}

@media (min-width: 1024px) {
    .services-section__boxHeading--small {
        font-size: 14px;
        /* lg:text-sm */
    }

    .services-section__boxHeading--large {
        font-size: 18px;
        /* lg:text-lg */
    }
}

/* box copy: text-xs lg:text-sm */
.services-section__boxCopy {
    font-size: 12px;
    /* text-xs */
    margin: 0;
}

@media (min-width: 1024px) {
    .services-section__boxCopy {
        font-size: 14px;
        /* lg:text-sm */
    }
}

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

/* flex justify-between items-center gap-6 flex-col lg:flex-row-reverse */
.emergency__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-direction: column;
}

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

/* lg:w-2/5 flex flex-col gap-7 items-center text-center lg:text-left lg:items-start */
.emergency__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 28px;
    align-items: center;
    text-align: center;
}

@media (min-width: 1024px) {
    .emergency__content {
        width: 40%;
        align-items: flex-start;
        text-align: left;
    }
}

/* HeadingTwo: !text-4xl */
.emergency__heading {
    font-size: 36px;
    line-height: 1.1;
}

/* text-lg font-light */
.emergency__copy {
    font-size: 18px;
    font-weight: 300;
    margin: 0;
}

/* flex flex-row gap-4 justify-center lg:justify-start w-full */
.emergency__cta {
    display: flex;
    flex-direction: row;
    gap: 16px;
    justify-content: center;
    width: 100%;
}

@media (min-width: 1024px) {
    .emergency__cta {
        justify-content: flex-start;
    }
}

/* lg:w-2/4 relative pt-2 */
.emergency__media {
    width: 100%;
    position: relative;
    padding-top: 8px;
}

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

/* w-full h-auto */
.emergency__image {
    width: 100%;
    height: auto;
    display: block;
}

/* hidden border w-46 lg:w-56 shadow-custom border-btype bg-white border-opacity-25 p-2 py-3 rounded-lg lg:flex flex-row items-center gap-3 absolute z-10 -right-0 lg:-right-36 -top-0 lg:-top-1 */
.emergency__badge {
    display: none;
}

@media (min-width: 1024px) {
    .emergency__badge {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 12px;
        position: absolute;
        z-index: 10;

        right: 0;
        /* -right-0 */
        top: 0;
        /* -top-0 */

        width: 224px;
        /* lg:w-56 */
        background: #fff;
        padding: 8px;
        padding-top: 12px;
        padding-bottom: 12px;
        border-radius: 8px;

        border: 1px solid rgba(0, 0, 0, 0.25);
        /* border + border-opacity-25 */
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
        /* shadow-custom (approx) */
    }
}

/* lg:-right-36 lg:-top-1 */
@media (min-width: 1024px) {
    .emergency__badge {
        right: -144px;
        /* -right-36 */
        top: -4px;
        /* -top-1 */
    }
}

/* bg-primary text-white p-1 lg:p-3 rounded-full */
.emergency__badgeIcon {
    background: var(--primary);
    color: #fff;
    padding: 4px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 1024px) {
    .emergency__badgeIcon {
        padding: 12px;
    }
}

/* text-sm lg:text-sm */
.emergency__badgeText {
    font-size: 14px;
    margin: 0;
}

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

/* grid grid-cols-1 lg:grid-cols-2 gap-7 lg:gap-24 */
.git__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
}

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

/* flex flex-col gap-3 mb-4 text-center lg:text-left */
.git__intro {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
    text-align: center;
}

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

/* text-light-gray text-lg text-center lg:text-left */
.git__introText {
    font-size: 18px;
    color: var(--light-gray);
    text-align: center;
    margin: 0;
}

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

/* form container: flex flex-col gap-2 */
.git__form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* label: font-light */
.git__label {
    font-weight: 300;
}

/* inputs: px-4 font-light rounded-lg w-full h-[40px] mt-1 text-[#000] border-2 border-[#D0D5DD] */
.git__input {
    width: 100%;
    height: 40px;
    margin-top: 4px;
    padding: 0 16px;
    font-weight: 300;
    color: #000;
    border: 2px solid #d0d5dd;
    border-radius: 8px;
    outline: none;
    background: #fff;
}

/* textarea: px-4 font-light rounded-lg w-full h-[130px] mt-1 text-[#000] border-2 border-[#D0D5DD] */
.git__textarea {
    width: 100%;
    height: 130px;
    margin-top: 4px;
    padding: 12px 16px;
    font-weight: 300;
    color: #000;
    border: 2px solid #d0d5dd;
    border-radius: 8px;
    outline: none;
    background: #fff;
    resize: vertical;
}

/* errors: text-[#F44336] mt-2 text-sm */
.git__error {
    color: #f44336;
    margin-top: 8px;
    font-size: 14px;
}

/* privacy block: mb-6 */
.git__privacyBlock {
    margin-bottom: 24px;
}

/* privacy row: flex flex-row items-center gap-1 */
.git__privacyRow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

/* checkbox: w-[21px] h-[21px] */
.git__checkbox {
    width: 21px;
    height: 21px;
}

/* privacy text: text-light-gray text-sm font-light */
.git__privacyText {
    color: var(--light-gray);
    font-size: 14px;
    font-weight: 300;
    margin: 0;
}

/* link: hover:text-primary underline font-medium */
.git__privacyLink {
    text-decoration: underline;
    font-weight: 500;
    color: inherit;
}

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

/* submit wrap: flex justify-center lg:block */
.git__submitWrap {
    display: flex;
    justify-content: center;
}

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

/* submit button: text-xs uppercase px-6 py-3 rounded-lg inline-block bg-primary text-white */
.git__submit {
    font-size: 12px;
    text-transform: uppercase;
    padding: 12px 24px;
    border-radius: 8px;
    display: inline-block;
    background: var(--primary);
    color: #fff;
    border: none;
    cursor: pointer;
}

.git__submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* right image: w-full h-auto */
.git__image {
    width: 100%;
    height: auto;
    display: block;
}

/* overlay: fixed inset-0 backdrop-blur bg-black/50 flex items-center justify-center z-50 */
.git__overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
}

/* modal: mt-4 rounded-[10px] bg-primary shadow-lg z-50 w-[450px] */
.git__modal {
    margin-top: 16px;
    border-radius: 10px;
    background: var(--primary);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    z-index: 50;
    width: 450px;
    max-width: calc(100% - 32px);
}

/* modal top: py-5 px-6 text-[#fff] text-[14px] border-b-[1px] border-secondary/20 */
.git__modalTop {
    padding: 20px 24px;
    color: #fff;
    font-size: 14px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin: 0;
}

/* actions: my-3 flex items-center justify-end px-6 */
.git__modalActions {
    margin: 12px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 24px 12px;
}

/* close: text-white font-semibold text-[14px] cursor-pointer */
.git__modalClose {
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
}

/* Layout wrapper: flex flex-col lg:flex-row font-sans */
.our-practice__wrap {
    display: flex;
    flex-direction: column;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
        Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

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

/* Left block: flex font-light flex-col lg:w-2/5 px-4 ps-8 py-7 lg:py-20 lg:px-20 gap-4 bg-[#E2E8F0] */
.our-practice__left {
    display: flex;
    flex-direction: column;
    font-weight: 300;
    gap: 16px;
    background: #e2e8f0;

    /* px-4 + ps-8 (left padding overrides) */
    padding-top: 28px;
    /* py-7 */
    padding-bottom: 28px;
    padding-right: 16px;
    /* px-4 */
    padding-left: 32px;
    /* ps-8 */
}

@media (min-width: 1024px) {
    .our-practice__left {
        width: 40%;
        padding-top: 80px;
        /* lg:py-20 */
        padding-bottom: 80px;
        padding-left: 80px;
        /* lg:px-20 */
        padding-right: 80px;
    }
}

/* HeadingTwo classes="mb-3" */
.our-practice__title {
    margin-bottom: 12px;
}

/* Row links: flex flex-row items-center gap-2 */
.our-practice__row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: inherit;
    text-decoration: none;
}

/* Right map: relative lg:w-3/5 min-h-[300px] */
.our-practice__map {
    position: relative;
    min-height: 300px;
}

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

/* iframe: absolute top-0 left-0 h-full w-full */
.our-practice__iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

/* Opening hours section: pt-6 */
.our-practice__hoursSection {
    padding-top: 24px;
}

/* Title: text-center mb-6 */
.our-practice__hoursTitle {
    text-align: center;
    margin-bottom: 24px;
}

/* Hours grid: flex flex-wrap justify-center gap-4 */
.our-practice__hoursGrid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

/* Card: w-[150px] text-center */
.our-practice__hourCard {
    width: 150px;
    text-align: center;
}

/* Day label: px-4 py-4 relative font-medium */
.our-practice__day {
    position: relative;
    padding: 16px;
    font-weight: 500;
}

/* Open/closed styles */
.our-practice__day--open {
    background: var(--primary);
    color: #fff;
}

.our-practice__day--closed {
    background: #e2e8f0;
    color: #000;
}

/* Diamond: absolute left-1/2 -translate-x-1/2 -bottom-3 w-5 h-5 bg-white rotate-45 */
.our-practice__diamond {
    position: absolute;
    left: 50%;
    bottom: -12px;
    width: 20px;
    height: 20px;
    background: #fff;
    transform: translateX(-50%) rotate(45deg);
}

/* Time: py-3 text-xs tracking-wide */
.our-practice__time {
    padding: 12px 0;
    font-size: 12px;
    letter-spacing: 0.05em;
}

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

/* text-center pb-4 border-b border-[#D2D2D2] flex justify-center */
.footer__logoRow {
    text-align: center;
    padding-bottom: 16px;
    border-bottom: 1px solid #d2d2d2;
    display: flex;
    justify-content: center;
}

/* w-[170px] h-auto */
.footer__logo {
    width: 170px;
    height: auto;
    display: block;
}

/* pt-5 text-xs flex flex-col items-center gap-1 */
.footer__content {
    padding-top: 20px;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

/* text-center */
.footer__center {
    text-align: center;
    margin: 0;
}

/* decoration-none */
.footer__plainLink {
    text-decoration: none;
    color: inherit;
}

/* transition-all hover:text-primary hover:underline */
.footer__brandLink {
    transition: all 0.2s ease;
    color: inherit;
    text-decoration: none;
}

.footer__brandLink:hover {
    color: var(--primary);
    text-decoration: underline;
}

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

/* grid grid-cols-1 lg:grid-cols-2 gap-9 */
.denplan__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
}

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

/* flex flex-col gap-3 justify-center */
.denplan__content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
}

/* HeadingTwo classes="text-primary" */
.denplan__title {
    color: var(--primary);
}

/* text-lg font-light */
.denplan__text {
    font-size: 18px;
    font-weight: 300;
    margin: 0;
}

/* mb-3 lg:mb-6 */
.denplan__text--mb {
    margin-bottom: 12px;
}

@media (min-width: 1024px) {
    .denplan__text--mb {
        margin-bottom: 24px;
    }
}

/* ps-5 text-lg font-light list-disc marker:text-primary */
.denplan__list {
    padding-left: 20px;
    margin: 0;
    font-size: 18px;
    font-weight: 300;
    list-style: disc;
}

.denplan__list li::marker {
    color: var(--primary);
}

/* image (kept safe) */
.denplan__image {
    width: 100%;
    height: auto;
    display: block;
}

/* flex flex-col gap-8 mb-10 */
.fees {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 40px;
}

/* text-3xl font-bold mb-4 */
.fees__title {
    font-size: 30px;
    font-weight: 700;
    margin: 0 0 16px;
}

/* min-w-full border border-primary */
.fees__table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--primary);
}

/* thead bg-primary text-white */
.fees__thead {
    background: var(--primary);
    color: #fff;
}

/* th: p-3 text-left font-semibold w-[85%] */
.fees__th {
    padding: 12px;
    font-weight: 600;
}

.fees__th--treatment {
    text-align: left;
    width: 85%;
}

.fees__th--price {
    text-align: right;
    width: 15%;
}

/* row: font-light + alternating bg */
.fees__row {
    font-weight: 300;
}

.fees__row--even {
    background: #f6f6f6;
}

.fees__row--odd {
    background: #efefef;
}

/* td: p-3 border border-[#b7b7b7] */
.fees__td {
    padding: 12px;
    border: 1px solid #b7b7b7;
}

.fees__td--treatment {
    width: 85%;
}

.fees__td--price {
    width: 15%;
    text-align: right;
}

/* para: mt-1 text-sm text-[#555] border-none */
.fees__para {
    margin-top: 4px;
    font-size: 14px;
    color: #555;
}

/* section: relative pb-10 */
.cb {
    position: relative;
    padding-bottom: 40px;
}

/* bg block: relative w-full h-[450px] lg:h-[600px] bg-primary */
.cb__bg {
    position: relative;
    width: 100%;
    height: 450px;
    background: var(--primary);
}

@media (min-width: 1024px) {
    .cb__bg {
        height: 600px;
    }
}

/* card wrapper: grid grid-cols-1 md:grid-cols-2 gap-6 py-10 px-5 lg:p-10 rounded-lg shadow-md bg-white relative -mt-[400px] */
.cb__card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;

    padding: 40px 20px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);

    position: relative;
    margin-top: -400px;
}

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

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

/* top block: flex flex-col gap-4 mb-4 */
.cb__top {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
}

/* HeadingOne classes="!text-4xl" */
.cb__title {
    font-size: 36px;
    line-height: 1.1;
}

/* subtitle: text-lg text-light-gray */
.cb__subtitle {
    font-size: 18px;
    color: var(--light-gray);
    margin: 0;
}

/* form: flex flex-col gap-2 */
.cb__form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* group spacing to mimic original */
.cb__field {
    width: 100%;
}

/* label: font-light */
.cb__label {
    font-weight: 300;
}

/* input: px-4 font-light rounded-lg w-full h-[40px] mt-1 text-[#000] border-2 border-[#D0D5DD] */
.cb__input {
    width: 100%;
    height: 40px;
    margin-top: 4px;
    padding: 0 16px;
    font-weight: 300;
    color: #000;
    border: 2px solid #d0d5dd;
    border-radius: 8px;
    outline: none;
    background: #fff;
}

/* textarea: h-[130px] */
.cb__textarea {
    width: 100%;
    height: 130px;
    margin-top: 4px;
    padding: 12px 16px;
    font-weight: 300;
    color: #000;
    border: 2px solid #d0d5dd;
    border-radius: 8px;
    outline: none;
    background: #fff;
    resize: vertical;
}

/* error: text-[#F44336] mt-2 text-sm */
.cb__error {
    color: #f44336;
    margin-top: 8px;
    font-size: 14px;
}

/* privacy: w-full mb-6 */
.cb__privacy {
    width: 100%;
    margin-bottom: 24px;
}

/* privacy row: flex flex-row gap-1 */
.cb__privacyRow {
    display: flex;
    flex-direction: row;
    gap: 4px;
}

/* checkbox: w-[21px] h-[21px] */
.cb__checkbox {
    width: 21px;
    height: 21px;
}

/* privacy text: text-light-gray text-sm font-light */
.cb__privacyText {
    color: var(--light-gray);
    font-size: 14px;
    font-weight: 300;
    margin: 0;
}

/* link: hover:text-primary underline font-medium */
.cb__privacyLink {
    text-decoration: underline;
    font-weight: 500;
    color: inherit;
    transition: color 0.2s ease;
}

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

/* submit wrap: w-full flex justify-center */
.cb__submitWrap {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* submit button: text-xs uppercase px-6 py-3 rounded-lg inline-block bg-primary text-white */
.cb__submit {
    font-size: 12px;
    text-transform: uppercase;
    padding: 12px 24px;
    border-radius: 8px;
    display: inline-block;
    background: var(--primary);
    color: #fff;
    border: none;
    cursor: pointer;
}

.cb__submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* right image: w-full h-auto */
.cb__image {
    width: 100%;
    height: auto;
    display: block;
}

/* overlay: fixed inset-0 backdrop-blur bg-black/50 flex items-center justify-center z-50 */
.cb__overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
}

/* modal: mt-4 rounded-[10px] bg-primary shadow-lg z-50 w-[450px] */
.cb__modal {
    margin-top: 16px;
    border-radius: 10px;
    background: var(--primary);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    z-index: 50;
    width: 450px;
    max-width: calc(100% - 32px);
}

/* modal top: py-5 px-6 text-[#fff] text-[14px] border-b-[1px] border-secondary/20 */
.cb__modalTop {
    padding: 20px 24px;
    color: #fff;
    font-size: 14px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin: 0;
}

/* actions: my-3 flex items-center justify-end px-6 */
.cb__modalActions {
    margin: 12px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 24px 12px;
}

/* close: text-white font-semibold text-[14px] cursor-pointer */
.cb__modalClose {
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
}

/* section padding: py-10 + (lg:pt-44 OR lg:pt-24) + lg:pb-11 */
.all-details {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media (min-width: 1024px) {
    .all-details--padLarge {
        padding-top: 176px;
        /* pt-44 */
        padding-bottom: 44px;
        /* pb-11 */
    }

    .all-details--padSmall {
        padding-top: 96px;
        /* pt-24 */
        padding-bottom: 44px;
        /* pb-11 */
    }
}

/* card: bg-primary relative flex flex-col lg:flex-row lg:gap-0 gap-10 justify-between rounded-xl overflow-x-hidden */
.all-details__card {
    background: var(--primary);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: space-between;
    border-radius: 12px;
    overflow-x: hidden;
}

@media (min-width: 1024px) {
    .all-details__card {
        flex-direction: row;
        gap: 0;
    }
}

/* vector: lg:w-3/5 w-[120%] md:w-full -z-1 absolute right-0 h-full top-0 */
.all-details__vector {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 120%;
    z-index: -1;
}

@media (min-width: 768px) {
    .all-details__vector {
        width: 100%;
    }
}

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

/* content: lg:w-2/5 flex flex-col gap-4 text-white py-8 px-6 lg:py-10 lg:px-10 pb-0 lg:pb-8 */
.all-details__content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: #fff;

    padding-top: 32px;
    padding-bottom: 0;
    padding-left: 24px;
    padding-right: 24px;
}

@media (min-width: 1024px) {
    .all-details__content {
        width: 40%;
        padding-top: 40px;
        padding-bottom: 32px;
        padding-left: 40px;
        padding-right: 40px;
    }
}

/* paragraphs: leading-relaxed font-light */
.all-details__para {
    line-height: 1.625;
    /* relaxed */
    font-weight: 300;
    margin: 0;
}

/* cta: flex items-center justify-center lg:justify-start */
.all-details__cta {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 1024px) {
    .all-details__cta {
        justify-content: flex-start;
    }
}

/* media wrapper: conditional lg:w-[60%] or lg:w-[50%], relative */
.all-details__media {
    width: 100%;
    position: relative;
}

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

    .all-details__media--normal {
        width: 50%;
    }
}

/* images: w-full h-full object-cover + responsive show/hide */
.all-details__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* desktop: lg:block hidden */
.all-details__img--desktop {
    display: none;
}

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

/* mobile: block lg:hidden */
.all-details__img--mobile {
    display: block;
}

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

/* section: py-20 relative */
.cta {
    position: relative;
    padding: 80px 0;
}

/* bg image: w-full h-full object-cover absolute inset-0 */
.cta__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* content wrapper: relative flex flex-col gap-4 */
.cta__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* HeadingTwo classes="text-white text-center" */
.cta__heading {
    color: #fff;
    text-align: center;
}

/* p: text-lg font-light text-white text-center */
.cta__para {
    font-size: 18px;
    font-weight: 300;
    color: #fff;
    text-align: center;
    margin: 0;
}

/* lg:mt-7 flex justify-center */
.cta__ctaRow {
    display: flex;
    justify-content: center;
    margin-top: 0;
}

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

/* font-sans text-center font-semibold text-2xl text-white */
.cta__ctaText {
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
        Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    text-align: center;
    font-weight: 600;
    font-size: 24px;
    color: #fff;
}

/* flex flex-row justify-center items-center */
.cta__btnRow {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

/* Section: py-10 px-4 bg-white */
.faq {
    padding: 40px 16px;
    background: var(--white);
}

/* Heading: text-center mb-10 text-primary */
.faq__heading {
    text-align: center;
    margin-bottom: 40px;
    color: var(--primary);
    font-size: 25px;
}

/* Grid: gap-6 lg:grid-cols-2 */
.faq__grid {
    display: grid;
    gap: 24px;
}

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

/* Item container */
.faq__item {
    border-radius: 12px;
    background: #E5EFFF;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

/* Active state */
.faq__item--active {
    border: 2px solid var(--primary);
}

/* Hover shadow */
.faq__item:hover {
    box-shadow: 6px 4px 14px 1px #dcdcdc;
}

/* Button */
.faq__button {
    width: 100%;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    gap: 16px;
    font-weight: 500;
    background: transparent;
    border: none;
    cursor: pointer;
}

/* Question */
.faq__question {
    font-size: 18px;
    color: #170F49;
    font-family: var(--font-plus-jakarta-sans);
}

/* Icon circle */
.faq__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    width: 36px;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    transition: transform 0.2s ease;
}

/* Rotate when open */
.faq__icon--rotate {
    transform: rotate(180deg);
}

/* Answer wrapper */
.faq__answerWrapper {
    padding: 0 24px 20px;
}

/* Answer text */
.faq__answer {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 300;
    color: #6F6C90;
    font-family: var(--font-urbanist);
    margin: 0;
}

/* section: font-poppins bg-primary py-10 text-white */
.howworks {
    font-family: var(--font-poppins);
    background: var(--primary);
    color: var(--white);
    padding: 40px 0;
}

/* top: flex flex-col gap-4 mb-8 */
.howworks__top {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
}

/* HeadingTwo classes="text-center" */
.howworks__heading {
    text-align: center;
}

/* para: text-center font-light */
.howworks__para {
    text-align: center;
    font-weight: 300;
    margin: 0;
}

/* grid: grid-cols-1 md:grid-cols-2 gap-3 */
.howworks__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

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

/* if steps === 4 -> lg:grid-cols-4 */
@media (min-width: 1024px) {
    .howworks__grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* if steps === 6 -> lg:grid-cols-3 */
@media (min-width: 1024px) {
    .howworks__grid--6 {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* if steps === 5 -> lg:grid-cols-5 */
@media (min-width: 1024px) {
    .howworks__grid--5 {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* card: bg-white rounded-lg py-6 px-8 flex flex-col gap-4 */
.howworks__card {
    background: var(--white);
    border-radius: 12px;
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* badge: bg-primary text-white rounded-lg mx-auto text-3xl font-semibold w-14 h-14 flex center */
.howworks__badge {
    background: var(--primary);
    color: var(--white);
    border-radius: 12px;
    margin: 0 auto;
    font-size: 30px;
    font-weight: 600;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* h3: text-[#2D2F31] text-xl font-semibold text-center */
.howworks__cardTitle {
    color: #2d2f31;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    margin: 0;
}

/* p: text-[#0B0631] text-sm text-center font-light */
.howworks__cardCopy {
    color: #0b0631;
    font-size: 14px;
    font-weight: 300;
    text-align: center;
    margin: 0;
}

/* bottom para: text-center font-light mt-8 */
.howworks__bottom {
    text-align: center;
    font-weight: 300;
    margin-top: 32px;
    margin-bottom: 0;
}

/* overlay: fixed inset-0 bg-black bg-opacity-70 flex center backdrop-blur z-[10000] */
.popupTeam {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

/* close button: absolute top-3 right-3 ... */
.popupTeam__closeBtn {
    position: absolute;
    top: 12px;
    right: 12px;

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

    width: 48px;
    height: 48px;

    border-radius: 999px;
    border: 4px solid rgba(255, 255, 255, 0.9);
    background: transparent;

    color: var(--white);
    cursor: pointer;
    z-index: 10000;

    outline: none;
}

/* panel: relative w-11/12 lg:max-w-[800px] max-h-[90%] overflow-y-auto bg-primary rounded-2xl overflow-hidden p-4 py-6 animate-scale-up */
.popupTeam__panel {
    position: relative;

    width: 91.6667%;
    max-width: 800px;

    max-height: 90vh;
    overflow-y: auto;

    background: var(--primary);
    border-radius: 16px;
    overflow: hidden;

    padding: 24px 16px;

    animation: popupTeamScaleUp 0.18s ease-out both;
}

@media (min-width: 1024px) {
    .popupTeam__panel {
        padding: 24px 16px;
    }
}

/* empty flex row justify-end mb-4 */
.popupTeam__topSpacer {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
}

/* bg image: absolute inset-0 w-full h-full object-left md:object-center object-cover */
.popupTeam__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}

@media (min-width: 768px) {
    .popupTeam__bg {
        object-position: center;
    }
}

/* content: flex relative text-white flex-col gap-2 md:gap-0 md:flex-row justify-between */
.popupTeam__content {
    position: relative;
    color: var(--white);

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    gap: 8px;
}

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

/* left: md:w-1/2 flex flex-col justify-evenly gap-4 */
.popupTeam__left {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: 16px;
}

@media (min-width: 768px) {
    .popupTeam__left {
        width: 50%;
    }
}

/* name: text-3xl */
.popupTeam__name {
    font-size: 30px;
    line-height: 1.2;
    margin: 0;
}

/* education: (you had className="lg" - keeping simple) */
.popupTeam__education {
    margin: 6px 0 0;
    font-weight: 300;
}

/* gdc link */
.popupTeam__gdc {
    display: inline-block;
    margin-top: 8px;
    color: var(--white);
    text-decoration: underline;
    cursor: pointer;
}

/* mobile image: md:hidden flex justify-center */
.popupTeam__mobileImageWrap {
    display: flex;
    justify-content: center;
}

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

.popupTeam__mobileImage {
    width: 90%;
    height: auto;
    border-radius: 12px;
    display: block;
}

/* copy */
.popupTeam__copy {
    margin: 0;
    font-weight: 300;
    line-height: 1.6;
}

/* right image: hidden md:block md:w-[40%] */
.popupTeam__right {
    display: none;
}

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

.popupTeam__desktopImage {
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
}

/* scale-up animation */
@keyframes popupTeamScaleUp {
    from {
        transform: scale(0.96);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* overlay: fixed inset-0 bg-black bg-opacity-70 flex center backdrop-blur z-[10000] */
.popupVideo {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

/* close button: absolute top-3 left-3 border-4 h-12 w-12 rounded-full ... */
.popupVideo__closeBtn {
    position: absolute;
    top: 12px;
    left: 12px;

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

    width: 48px;
    height: 48px;

    border-radius: 999px;
    border: 4px solid rgba(255, 255, 255, 0.9);
    background: transparent;

    color: var(--white);
    cursor: pointer;
    z-index: 10000;

    outline: none;
}

/* panel: relative w-11/12 max-w-4xl aspect-video bg-white rounded-lg overflow-hidden */
.popupVideo__panel {
    position: relative;
    width: 91.6667%;
    max-width: 896px;
    /* ~max-w-4xl */

    aspect-ratio: 16 / 9;

    background: var(--white);
    border-radius: 8px;
    overflow: hidden;
}

/* iframe: w-full h-full border-none */
.popupVideo__iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

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

/* flex flex-col-reverse lg:grid lg:grid-cols-2 gap-8 lg:gap-16 */
.tys__layout {
    display: flex;
    flex-direction: column-reverse;
    gap: 32px;
}

@media (min-width: 1024px) {
    .tys__layout {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 64px;
    }
}

/* image: w-full h-auto */
.tys__image {
    width: 100%;
    height: auto;
    display: block;
}

/* content: flex flex-col self-center gap-4 (and optional text center) */
.tys__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (min-width: 1024px) {
    .tys__content {
        align-self: center;
    }
}

/* when reverse branch: text-center lg:text-left */
.tys__content--center {
    text-align: center;
}

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

/* paragraph: text-lg font-light */
.tys__para {
    font-size: 18px;
    font-weight: 300;
    margin: 0;
    color: var(--black);
}

/* cta: lg:mt-7 flex justify-center lg:justify-start */
.tys__cta {
    display: flex;
    justify-content: center;
    margin-top: 0;
}

@media (min-width: 1024px) {
    .tys__cta {
        margin-top: 28px;
        justify-content: flex-start;
    }
}

/* section: py-5 lg:py-10 */
.textSection {
    padding: 20px 0;
}

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

/* inner: self-center gap-4 flex flex-col */
.textSection__inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: center;
}

/* heading: text-center */
.textSection__heading {
    text-align: center;
}

/* para: text-lg font-light */
.textSection__para {
    font-size: 18px;
    font-weight: 300;
    margin: 0;
    color: var(--black);
}

/* center align (used for main para) */
.textSection__para--center {
    text-align: center;
}

/* list: pl-8 list-disc text-lg font-light space-y-2 */
.textSection__list {
    padding-left: 32px;
    list-style: disc;
    font-size: 18px;
    font-weight: 300;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    /* space-y-2 */
    color: var(--black);
}

.textSection__listItem {
    margin: 0;
}

/* botPara: text-center md:text-left */
.textSection__botPara {
    text-align: center;
}

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

/* cta: lg:mt-7 flex justify-center */
.textSection__cta {
    display: flex;
    justify-content: center;
    margin-top: 0;
}

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

/* section: py-5 lg:py-10 */
.stso {
    padding: 20px 0;
}

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

/* top: mb-10 flex flex-col gap-5 */
.stso__top {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* heading: text-center */
.stso__heading {
    text-align: center;
}

/* intro: text-center font-light lg:w-[80%] mx-auto */
.stso__intro {
    text-align: center;
    font-weight: 300;
    margin: 0;
    color: var(--black);
    width: 100%;
}

@media (min-width: 1024px) {
    .stso__intro {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* slider row: relative flex flex-row gap-3 items-center mb-5 */
.stso__sliderRow {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    margin-bottom: 20px;
}

/* nav button: shrink-0 rounded-full p-2 bg-[#BBBBBB4D] bg-opacity-30 */
.stso__navBtn {
    flex-shrink: 0;
    border-radius: 999px;
    padding: 8px;

    /* #BBBBBB4D already includes alpha; this matches your Tailwind intent */
    background: #bbbbbb4d;

    border: none;
    cursor: pointer;
}

/* icon color: text-black */
.stso__navIcon {
    color: var(--black);
}

/* slide image: w-full h-auto */
.stso__image {
    width: 100%;
    height: auto;
    display: block;
}

/* bottom cta: flex justify-center */
.stso__cta {
    display: flex;
    justify-content: center;
}

/* section: py-5 lg:py-10 */
.services {
    padding: 20px 0;
}

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

/* row: flex justify-between flex-col lg:flex-row gap-6 */
.services__row {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 24px;
}

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

/* row reverse on lg */
@media (min-width: 1024px) {
    .services__row--reverse {
        flex-direction: row-reverse;
    }
}

/* left/content: lg:w-2/5 self-center flex flex-col gap-3 lg:gap-7 lg:items-start text-center lg:text-left */
.services__content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-self: center;
    text-align: center;
}

@media (min-width: 1024px) {
    .services__content {
        width: 40%;
        gap: 28px;
        align-items: flex-start;
        text-align: left;
    }
}

/* HeadingTwo classes="text-center lg:text-left" */
.services__heading {
    text-align: center;
}

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

/* h3: text-[20px] font-semibold */
.services__subHeading {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    color: var(--dark);
}

/* copy: font-light */
.services__copy {
    font-weight: 300;
    color: var(--dark);
}

/* buttons: flex flex-col justify-center items-center gap-3 w-full */
.services__buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
}

@media (min-width: 1024px) {
    .services__buttons {
        align-items: flex-start;
    }
}

/* media wrapper: w-full lg:w-2/4 relative pt-2 flex flex-col-reverse */
.services__media {
    width: 100%;
    position: relative;
    padding-top: 8px;
    display: flex;
    flex-direction: column-reverse;
}

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

/* image: w-full h-auto */
.services__image {
    width: 100%;
    height: auto;
    display: block;
}

/* floating box: hidden lg:flex border w-46 lg:w-60 shadow-custom border-btype bg-white border-opacity-25 p-2 py-3 rounded-lg items-center gap-3 z-10 relative lg:absolute mt-4 lg:mt-0 */
.services__floatingBox {
    display: none;
}

@media (min-width: 1024px) {
    .services__floatingBox {
        display: flex;
        align-items: center;
        gap: 12px;

        width: 240px;
        /* ~lg:w-60 */
        border: 1px solid rgba(182, 185, 186, 0.25);
        /* border-btype + border-opacity-25 */
        background: var(--white);

        padding: 12px 8px;
        border-radius: 8px;

        position: absolute;
        z-index: 10;

        /* shadow-custom (since Tailwind custom): best match */
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
        margin-top: 0;
    }
}

/* position variants:
rowReverse ? lg:-right-40 lg:-top-5 : lg:-left-40 lg:-top-1
-40 => 160px, -5 => 20px, -1 => 4px
*/
@media (min-width: 1024px) {
    .services__floatingBox--right {
        right: -160px;
        top: -20px;
    }

    .services__floatingBox--left {
        left: -160px;
        top: -4px;
    }
}

/* icon circle: bg-primary text-white p-3 rounded-full */
.services__iconCircle {
    background: var(--primary);
    color: var(--white);
    padding: 12px;
    border-radius: 999px;

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

    font-size: 22px;
    /* helps react-icons feel like tailwind */
}

/* box heading: text-sm or lg:text-lg + !leading-snug */
.services__boxHeading {
    margin: 0;
    line-height: 1.25;
    color: var(--dark);
}

.services__boxHeading--sm {
    font-size: 14px;
    /* text-sm */
}

.services__boxHeading--lg {
    font-size: 14px;
    /* base mobile */
}

@media (min-width: 1024px) {
    .services__boxHeading--lg {
        font-size: 18px;
        /* lg:text-lg */
    }
}

/* box copy: text-xs lg:text-sm */
.services__boxCopy {
    margin: 4px 0 0;
    font-size: 12px;
    /* text-xs */
    color: var(--light-gray);
}

@media (min-width: 1024px) {
    .services__boxCopy {
        font-size: 14px;
        /* lg:text-sm */
    }
}

.mtt {
    width: 100%;
}

/* group: py-6 */
.mtt__group {
    padding: 24px 0;
}

/* HeadingTwo: text-center mb-4 */
.mtt__title {
    text-align: center;
    margin-bottom: 16px;
}

/* grid wrapper: flex flex-row justify-center gap-y-3 flex-wrap */
.mtt__grid {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 12px;
    /* gap-y-3 */
}

/* card wrapper:
flex flex-col w-full md:w-1/2 lg:w-1/3 p-0 md:p-3
*/
.mtt__card {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
}

@media (min-width: 768px) {
    .mtt__card {
        width: 50%;
        padding: 12px;
    }
}

@media (min-width: 1024px) {
    .mtt__card {
        width: 33.3333%;
    }
}

/* image: w-full h-auto */
.mtt__img {
    width: 100%;
    height: auto;
    display: block;
}

/* content box: bg-primary grow flex flex-col gap-3 text-white px-4 py-7 */
.mtt__content {
    background: var(--primary);
    flex-grow: 1;

    display: flex;
    flex-direction: column;
    gap: 12px;

    color: var(--white);
    padding: 28px 16px;
}

/* name: text-2xl */
.mtt__name {
    font-size: 24px;
    margin: 0;
    font-weight: 600;
}

/* education: text-sm text-btype */
.mtt__education {
    font-size: 14px;
    color: var(--btype);
    margin: 0;
}

/* gdc: text-sm */
.mtt__gdc {
    font-size: 14px;
    margin: 0;
}

/* link: pointer */
.mtt__gdcLink {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

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

/* copy */
.mtt__copy {
    margin: 0;
    font-weight: 300;
    line-height: 1.6;
}

.newOne {
    width: 100%;
}

/* grid: grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-[1px] */
.newOne__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
}

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

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

/* card: hover:cursor-pointer relative group */
.newOne__card {
    position: relative;
    cursor: pointer;
}

/* image: w-full h-auto opacity-80 transition-opacity duration-500 group-hover:opacity-100 */
.newOne__img {
    width: 100%;
    height: auto;
    display: block;

    opacity: 0.8;
    transition: opacity 0.5s ease;
}

.newOne__card:hover .newOne__img {
    opacity: 1;
}

/* overlay:
absolute bg-primary bg-opacity-70 duration-500
group-hover:bg-white group-hover:bg-opacity-70
w-full px-3 py-3 bottom-0 left-0
*/
.newOne__overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;

    padding: 12px;

    background: var(--primary);
    opacity: 0.7;

    transition: background 0.5s ease, opacity 0.5s ease;
}

.newOne__card:hover .newOne__overlay {
    background: var(--white);
    opacity: 0.7;
}

/* name:
text-xl text-secondary duration-500 group-hover:text-primary
*/
.newOne__name {
    font-size: 20px;
    margin: 0;
    color: var(--secondary);
    transition: color 0.5s ease;
}

.newOne__card:hover .newOne__name {
    color: var(--primary);
}

/* category: default tailwind had no class, so keep readable */
.newOne__category {
    margin: 6px 0 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--white);
    transition: color 0.5s ease;
}

/* optional: when overlay turns white, make category readable */
.newOne__card:hover .newOne__category {
    color: var(--dark);
}

/* row: flex flex-col lg:flex-row gap-6 lg:gap-10 items-center justify-between py-10 */
.bsdsm__row {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    padding: 40px 0;
}

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

/* content: flex flex-col gap-4 w-full lg:w-[70%] */
.bsdsm__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

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

/* paragraph: text-lg font-light */
.bsdsm__para {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.75;
    margin: 0;
    color: var(--dark);
}

/* media: w-full lg:w-[30%] */
.bsdsm__media {
    width: 100%;
}

@media (min-width: 1024px) {
    .bsdsm__media {
        width: 30%;
    }
}

/* image: w-full h-auto */
.bsdsm__img {
    width: 100%;
    height: auto;
    display: block;
}

/* CTA wrapper: w-full flex justify-center items-center */
.bsdsm__cta {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

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

/* wrapper row:
flex flex-col gap-8 lg:gap-0 lg:flex-row justify-between
*/
.db__row {
    display: flex;
    flex-direction: column;
    gap: 32px;
    justify-content: space-between;
}

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

/* left: lg:w-2/5 */
.db__left {
    width: 100%;
}

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

/* left head: flex flex-col gap-4 mb-5 */
.db__leftHead {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

/* kicker: text-primary text-base */
.db__kicker {
    color: var(--primary);
    font-size: 16px;
    margin: 0;
}

/* image: w-full h-auto */
.db__img {
    width: 100%;
    height: auto;
    display: block;
}

/* right: lg:w-1/2 flex flex-col gap-5 self-center */
.db__right {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: center;
}

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

/* item:
bg-[#E5EFFF] rounded-lg shadow-md overflow-hidden h-fit
hover:shadow-[6px_4px_14px_1px_#dcdcdc] px-4 py-6 cursor-pointer
*/
.db__item {
    background: #e5efff;
    border-radius: 8px;
    overflow: hidden;
    height: fit-content;
    padding: 24px 16px;
    cursor: pointer;

    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
    transition: box-shadow 0.25s ease;
}

.db__item:hover {
    box-shadow: 6px 4px 14px 1px #dcdcdc;
}

/* button:
w-full text-left font-medium text-[#170F49] flex justify-between items-center
*/
.db__btn {
    width: 100%;
    border: none;
    background: transparent;
    padding: 0;

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

    text-align: left;
    font-weight: 500;
    color: #170f49;

    cursor: pointer;
}

/* left group: flex gap-3 items-center */
.db__btnLeft {
    display: flex;
    gap: 12px;
    align-items: center;
}

/* check icon:
bg-primary text-white flex items-center justify-center w-8 h-8 text-base rounded-full
*/
.db__check {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--primary);
    color: var(--white);

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

    font-size: 16px;
}

/* heading (h3) */
.db__heading {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #170f49;
}

/* chevron behavior:
open -> rotate-180
closed -> text-primary + hover shadow in tailwind (you had it on span)
*/
.db__chev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.db__chev--open {
    transform: rotate(180deg);
}

.db__chev--closed {
    transform: rotate(0deg);
    color: var(--primary);
}

.db__chev--closed:hover {
    box-shadow: 6px 4px 14px 1px #dcdcdc;
}

/* panel wrapper:
overflow-hidden transition-all duration-300 ease-in-out
open -> opacity-100 else opacity-0
*/
.db__panel {
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.db__panel--open {
    opacity: 1;
}

.db__panel--closed {
    opacity: 0;
}

/* copy:
text-[#6F6C90] text-sm font-light mt-2
*/
.db__copy {
    color: #6f6c90;
    font-size: 14px;
    font-weight: 300;
    margin-top: 8px;
    margin-bottom: 0;
    line-height: 1.7;
}

.rf {
    width: 100%;
}

/* title: text-center text-primary mb-6 */
.rf__title {
    text-align: center;
    color: var(--primary);
    margin-bottom: 24px;
}

.rf__inner {
    width: 100%;
}

.rf__formWrap {
    width: 100%;
}

/* Shared input styles from your tailwind */
.rf__input,
.rf__textarea,
.rf__fileInput {
    width: 100%;
    border: 2px solid #d0d5dd;
    border-radius: 8px;
    padding: 0 16px;
    font-weight: 300;
    color: var(--black);
    background: var(--white);
    box-sizing: border-box;
}

.rf__input {
    height: 40px;
}

.rf__input--mt1 {
    margin-top: 4px;
}

.rf__input--mt3 {
    margin-top: 12px;
}

.rf__my3 {
    margin: 12px 0;
}

/* grid: grid-cols-2 gap-3 */
.rf__grid2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

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

/* textarea heights */
.rf__textarea {
    padding-top: 10px;
    padding-bottom: 10px;
    resize: vertical;
}

.rf__textarea--mh,
.rf__textarea--details {
    height: 120px;
    margin-top: 4px;
}

/* errors: text-red text-sm mt-1 */
.rf__error {
    color: var(--red);
    font-size: 14px;
    margin-top: 4px;
}

.rf__error--mt1 {
    margin-top: 4px;
}

/* referral reasons block: space-y-4 pb-5 */
.rf__reasons {
    padding-bottom: 20px;
    margin-top: 16px;
}

/* label: block font-medium */
.rf__label {
    display: block;
    font-weight: 500;
    margin-bottom: 10px;
}

/* checks: flex flex-wrap gap-4 */
.rf__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

/* check row: flex items-center space-x-2 */
.rf__checkItem {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 300;
    color: var(--dark);
}

/* checkbox: w-4 h-4 ... */
.rf__check {
    width: 16px;
    height: 16px;
    border-radius: 6px;
    accent-color: var(--primary);
}

/* file section */
.rf__file {
    margin-top: 16px;
}

.rf__fileLabel {
    margin: 0 0 8px;
    color: var(--dark);
    font-weight: 300;
}

.rf__fileInput {
    height: 40px;
    padding: 6px 16px;
}

/* submit wrap: text-center mt-4 */
.rf__submitWrap {
    text-align: center;
    margin-top: 16px;
}

/* button (copied from your original tailwind button) */
.rf__submit {
    font-family: var(--font-plus-jakarta-sans);
    font-weight: 300;
    font-size: 18px;

    padding: 12px 24px;
    border-radius: 8px;
    display: inline-block;

    background: var(--primary);
    border: 1px solid var(--primary);
    color: var(--white);

    transition: all 0.2s ease;
    cursor: pointer;
}

.rf__submit:hover {
    background: var(--secondary);
    color: var(--dark);
    border-color: var(--btype);
}

.rf__submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* modal */
.rf__modalBackdrop {
    position: fixed;
    inset: 0;
    backdrop-filter: blur(6px);
    background: rgba(0, 0, 0, 0.5);

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

    z-index: 50;
}

.rf__modal {
    margin-top: 16px;
    border-radius: 10px;
    background: var(--primary);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    width: 450px;
    max-width: calc(100% - 32px);
    z-index: 50;
}

.rf__modalTitle {
    padding: 20px 24px;
    color: var(--white);
    font-size: 14px;
    border-bottom: 1px solid rgba(248, 249, 250, 0.2);
    margin: 0;
}

.rf__modalActions {
    margin: 12px 0;
    display: flex;
    justify-content: flex-end;
    padding: 0 24px 8px;
}

.rf__modalClose {
    background: transparent;
    border: none;
    color: var(--white);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}

.gallery {
    padding: 40px 0;
}

.gallery__titleWrap {
    display: grid;
    justify-content: center;
    gap: 16px;
}

.gallery__title {
    font-size: 28px;
    font-weight: 800;
    text-align: center;
    color: #000a2d;
    margin: 0 auto;
}

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

.gallery__content {
    margin-top: 40px;
}

.gallery__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.gallery__card {
    display: flex;
    justify-content: center;
    width: 50%;
    padding: 4px;
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .gallery__card {
        width: 33.3333%;
        padding: 12px;
    }
}

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

.gallery__btnWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.gallery__btn {
    font-family: var(--font-plus-jakarta-sans, sans-serif);
    font-size: 12px;
    padding: 12px 24px;
    border-radius: 8px;
    display: inline-block;

    background: var(--primary);
    color: var(--white);
    border: none;

    cursor: pointer;
    transition: all 0.2s ease;
}