    :root {
      --primary: #f47b20;
      --ink: #263d4a;
      --muted: #657681;
      --soft: #fff3e8;
      --deep: #334b42;
      --line: #e8edf0;
    }
.quicksand {
  font-family: "Quicksand", sans-serif;
  font-optical-sizing: auto;
   font-style: normal;
   font-weight: 400;
}

    body {
     font-family: "Quicksand", sans-serif;
      color: var(--ink);
      background: #fff;
      font-weight: 400;
    }

    a { text-decoration: none; }

   .eye-hero {
    position: relative;

    width: 100%;
    min-height: 780px;

    background-image: url("../images/eye-donation-banner.jpg");

    background-size: cover;

    /*
       Similar positioning to your screenshot.
       Adjust this if your actual image composition
       is different.
    */
    background-position: center center;

    background-repeat: no-repeat;

    overflow: visible;
}


/* =====================================================
   DARK / BLUE OVERLAY
===================================================== */

.eye-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 40, 75, 0.30) 0%,
            rgba(0, 50, 90, 0.22) 45%,
            rgba(0, 35, 70, 0.48) 100%
        );

    z-index: 1;
}


/* =====================================================
   HERO INNER
===================================================== */

.eye-hero-inner {
    position: relative;

    width: 100%;
    max-width: 1400px;

    min-height: 780px;

    margin: 0 auto;

    padding: 45px 70px;

    z-index: 2;
}


/* =====================================================
   LOGO
===================================================== */

.eye-logo {
    position: absolute;

    top: 45px;
    left: 70px;

    z-index: 5;
}

.eye-logo img {
    display: block;

    width: auto;
    max-width: 180px;
    max-height: 95px;

    object-fit: contain;
}


/* =====================================================
   HERO CONTENT
===================================================== */

.eye-hero-content {
    position: absolute;

    top: 50%;

    right: 7%;

    transform: translateY(-48%);

    width: 48%;
    max-width: 610px;
}


/* =====================================================
   SMALL TITLE
===================================================== */

.eye-small-title {
    display: inline-block;

    margin-bottom: 18px;

    padding: 7px 15px;

    border-radius: 30px;

    background: rgba(255, 255, 255, 0.15);

    border: 1px solid rgba(255, 255, 255, 0.35);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2px;
}


/* =====================================================
   HEADING
===================================================== */

.eye-hero-content h1 {
    margin-bottom: 25px;

    color: #ffffff;

    font-size: clamp(44px, 4.3vw, 48px);

    font-weight: 700;

    line-height: 1.08;

    letter-spacing: -1.5px;
}

.eye-hero-content h1 span {
    display: block;
}


/* =====================================================
   INTRO
===================================================== */

.eye-intro {
    max-width: 590px;

    margin-bottom: 14px;

    color: #ffffff;

    font-size: 18px;

    font-weight: 600;

    line-height: 1.5;
}


/* =====================================================
   DESCRIPTION
===================================================== */

.eye-description {
    max-width: 570px;

    margin-bottom: 28px;

    color: rgba(255, 255, 255, 0.92);

    font-size: 16px;

    font-weight: 500;

    line-height: 1.6;
}


/* =====================================================
   CTA
===================================================== */

.eye-cta {
    display: inline-flex;

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

    gap: 12px;

    min-height: 58px;

    padding: 0 25px;

    border-radius: 9px;

    background: #004d90;

    color: #ffffff;

    font-size: 15px;

    font-weight: 700;

    letter-spacing: 0.5px;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.18);

    transition:
        all 0.3s ease;
}

.eye-cta:hover {
    background: #0062b5;

    transform: translateY(-3px);

    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.25);
}

.eye-cta > i:first-child {
    font-size: 17px;
}

.eye-arrow {
    margin-left: 5px;

    font-size: 13px;

    transition: transform 0.3s ease;
}

.eye-cta:hover .eye-arrow {
    transform: translateX(5px);
}


/* =====================================================
   NOTE
===================================================== */

.eye-note {
    margin-top: 17px;

    color: rgba(255, 255, 255, 0.82);

    font-size: 13px;

    line-height: 1.5;
}

.eye-note strong {
    color: #ffffff;
}


/* =====================================================
   BENEFICIARY CARD
===================================================== */

.eye-beneficiary {
    position: absolute;

    left: 70px;

    bottom: 90px;

    display: flex;

    align-items: center;

    gap: 14px;

    padding: 14px 22px 14px 14px;

    background: #ffffff;

    border-radius: 12px;

    color: #004d90;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.18);

    z-index: 5;
}


/* Beneficiary icon */

.beneficiary-icon {
    display: flex;

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

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #004d90;

    color: #ffffff;

    font-size: 19px;
}


.eye-beneficiary h3 {
    margin-bottom: 3px;

    font-size: 16px;

    font-weight: 700;

    color: #004d90;
}

.eye-beneficiary p {
    font-size: 12px;

    font-weight: 500;

    color: #555555;
}


/* =====================================================
   SLIDER ARROWS
===================================================== */

.eye-slider-arrow {
    position: absolute;

    top: 52%;

    width: 42px;
    height: 42px;

    display: flex;

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

    border: 0;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.08);

    color: #ffffff;

    font-size: 17px;

    cursor: pointer;

    z-index: 5;

    transition: all 0.3s ease;
}

.eye-slider-arrow:hover {
    background: rgba(255, 255, 255, 0.25);
}

.eye-prev {
    left: 25px;
}

.eye-next {
    right: 25px;
}


/* =====================================================
   FEATURE CARDS CONTAINER
===================================================== */

.eye-features {
    position: absolute;

    left: 50%;

    bottom: -65px;

    transform: translateX(-50%);

    width: calc(100% - 140px);

    max-width: 1320px;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

    z-index: 10;
}


/* =====================================================
   FEATURE CARD
===================================================== */

.eye-feature-card {
    min-height: 125px;

    display: flex;

    align-items: center;

    gap: 18px;

    padding: 22px;

    background: #ffffff;

    border-radius: 14px;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.12);

    color: #004d90;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.eye-feature-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.16);
}


/* =====================================================
   FEATURE ICON
===================================================== */

.feature-icon {
    display: flex;

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

    width: 62px;
    height: 62px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #004d90;

    color: #ffffff;

    font-size: 22px;
}


/* =====================================================
   FEATURE CONTENT
===================================================== */

.feature-content h3 {
    margin-bottom: 5px;

    color: #004d90;

    font-size: 16px;

    font-weight: 700;

    line-height: 1.3;
}

.feature-content p {
    color: #6c7480;

    font-size: 12px;

    font-weight: 500;

    line-height: 1.5;
}


/* =====================================================
   NEXT SECTION
===================================================== */

.pledge-section {
    min-height: 400px;

    padding-top: 150px;

    background: #f5f8fb;

    color: #004d90;

    text-align: center;
}

.pledge-container {
    max-width: 900px;

    margin: auto;

    padding: 40px 25px;
}

.pledge-container span {
    font-size: 13px;

    font-weight: 700;

    letter-spacing: 2px;
}

.pledge-container h2 {
    margin-top: 15px;

    font-size: 42px;

    line-height: 1.2;
}

.pledge-container strong {
    color: #004d90;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1100px) {

    .eye-hero-inner {
        padding-left: 40px;
        padding-right: 40px;
    }

    .eye-logo {
        left: 40px;
    }

    .eye-hero-content {
        right: 5%;

        width: 52%;
    }

    .eye-beneficiary {
        left: 40px;
    }

    .eye-features {
        width: calc(100% - 80px);
    }

    .eye-hero-content h1 {
        font-size: 50px;
    }
}


/* =====================================================
   TABLET / SMALL LAPTOP
===================================================== */

@media (max-width: 900px) {

    .eye-hero {
        min-height: 850px;
    }

    .eye-hero-inner {
        min-height: 850px;
    }

    .eye-hero-content {
        top: 47%;

        right: 5%;

        width: 55%;
    }

    .eye-features {
        bottom: -80px;

        grid-template-columns: 1fr;

        max-width: 600px;
    }

    .eye-feature-card {
        min-height: 95px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .eye-hero {

        min-height: 850px;

        /*
           On mobile we make the background
           slightly darker for text readability.
        */

        background-position: 62% center;
    }


    .eye-overlay {

        background:
            linear-gradient(
                180deg,
                rgba(0, 35, 70, 0.48) 0%,
                rgba(0, 45, 80, 0.62) 45%,
                rgba(0, 35, 70, 0.78) 100%
            );
    }


    .eye-hero-inner {

        min-height: 850px;

        padding: 25px 20px;
    }


    /* Logo */

    .eye-logo {

        top: 25px;
        left: 20px;
    }

    .eye-logo img {

        max-width: 140px;
        max-height: 70px;
    }


    /* Content */

    .eye-hero-content {

        top: 135px;

        left: 20px;
        right: 20px;

        width: auto;

        transform: none;
    }


    .eye-small-title {

        margin-bottom: 15px;

        padding: 6px 12px;

        font-size: 10px;

        letter-spacing: 1.5px;
    }


    .eye-hero-content h1 {

        margin-bottom: 20px;

        font-size: 38px;

        line-height: 1.1;

        letter-spacing: -0.5px;
    }


    .eye-intro {

        font-size: 16px;

        line-height: 1.5;
    }


    .eye-description {

        font-size: 14px;

        line-height: 1.6;

        margin-bottom: 24px;
    }


    /* CTA */

    .eye-cta {

        min-height: 55px;

        padding: 0 20px;

        font-size: 13px;
    }


    .eye-note {

        font-size: 12px;
    }


    /* Beneficiary */

    .eye-beneficiary {

        left: 20px;
        right: 20px;

        bottom: 100px;

        padding: 12px 16px;

        gap: 12px;
    }

    .beneficiary-icon {

        width: 44px;
        height: 44px;

        font-size: 16px;
    }


    .eye-beneficiary h3 {

        font-size: 14px;
    }


    .eye-beneficiary p {

        font-size: 11px;
    }


    /* Hide arrows on mobile */

    .eye-slider-arrow {

        display: none;
    }


    /* Feature cards */

    .eye-features {

        width: calc(100% - 40px);

        bottom: auto;

        top: calc(100% - 30px);

        gap: 12px;
    }


    .eye-feature-card {

        min-height: 90px;

        padding: 16px;

        border-radius: 12px;

        gap: 14px;
    }


    .feature-icon {

        width: 50px;
        height: 50px;

        font-size: 18px;
    }


    .feature-content h3 {

        font-size: 14px;
    }


    .feature-content p {

        font-size: 11px;
    }


    /* Next section */

    .pledge-section {

        padding-top: 250px;

        min-height: 550px;
    }

    .pledge-container h2 {

        font-size: 30px;
    }

}


/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media (max-width: 400px) {

    .eye-hero {

        min-height: 900px;
    }

    .eye-hero-inner {

        min-height: 900px;
    }

    .eye-hero-content {

        top: 125px;
    }

    .eye-hero-content h1 {

        font-size: 34px;
    }

    .eye-intro {

        font-size: 15px;
    }

    .eye-beneficiary {

        bottom: 105px;
    }

}

/* =====================================================
   LEGACY / EYE DONATION SECTION
===================================================== */

.legacy-section {
    position: relative;

    padding: 120px 30px 130px;

    background: #f5f9fc;

    color: #004d90;

    overflow: hidden;
}


/* =====================================================
   CONTAINER
===================================================== */

.legacy-container {
    position: relative;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    z-index: 2;
}


/* =====================================================
   DECORATIVE CIRCLES
===================================================== */

.legacy-circle {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}

.legacy-circle-one {
    width: 420px;
    height: 420px;

    top: -220px;
    right: -150px;

    background: rgba(0, 77, 144, 0.035);
}

.legacy-circle-two {
    width: 280px;
    height: 280px;

    bottom: -150px;
    left: -120px;

    border: 1px solid rgba(0, 77, 144, 0.06);
}


/* =====================================================
   SECTION HEADING
===================================================== */

.legacy-heading {
    max-width: 850px;

    margin: 0 auto 65px;

    text-align: center;
}


/* Small label */

.legacy-label {
    display: inline-block;

    margin-bottom: 18px;

    padding: 8px 17px;

    border-radius: 50px;

    background: rgba(0, 77, 144, 0.07);

    color: #004d90;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;
}


/* Heading */

.legacy-heading h2 {
    margin: 0;

    font-size: clamp(40px, 5vw, 62px);

    font-weight: 700;

    line-height: 1.08;

    letter-spacing: -1.5px;

    color: #004d90;
}

.legacy-heading h2 span {
    display: block;

    color: #263f57;
}


/* Heading line */

.legacy-line {
    width: 65px;
    height: 4px;

    margin: 25px auto 0;

    border-radius: 20px;

    background: #004d90;
}


/* =====================================================
   MAIN CONTENT
===================================================== */

.legacy-content {
    display: grid;

    grid-template-columns: 0.8fr 1.2fr;

    gap: 75px;

    align-items: start;
}


/* =====================================================
   LEFT INTRO
===================================================== */

.legacy-intro {
    position: relative;

    padding: 45px 35px 40px;

    background: #ffffff;

    border-radius: 20px;

    box-shadow:
        0 15px 45px rgba(0, 45, 80, 0.08);

    overflow: hidden;
}


/* Decorative blue side */

.legacy-intro::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 5px;
    height: 100%;

    background: #004d90;
}


/* Quote */

.legacy-quote {
    position: absolute;

    top: -20px;
    right: 25px;

    font-family: Georgia, serif;

    font-size: 150px;

    line-height: 1;

    color: rgba(0, 77, 144, 0.06);
}


/* Intro paragraphs */

.legacy-intro p {
    position: relative;

    margin-bottom: 15px;

    font-size: 20px;

    line-height: 1.45;

    font-weight: 500;

    color: #53687a;
}

.legacy-intro p:last-child {
    margin-bottom: 0;
}

.legacy-intro strong {
    color: #004d90;

    font-weight: 700;
}


/* =====================================================
   RIGHT MESSAGE
===================================================== */

.legacy-message {
    padding-top: 5px;
}


/* Main highlighted message */

.legacy-main-text {
    margin-bottom: 22px;

    font-size: 26px;

    line-height: 1.45;

    font-weight: 500;

    color: #263f57;
}

.legacy-main-text strong {
    color: #004d90;

    font-weight: 700;
}


/* Description */

.legacy-description {
    max-width: 720px;

    margin-bottom: 35px;

    color: #617487;

    font-size: 16px;

    line-height: 1.75;

    font-weight: 500;
}


/* =====================================================
   IMPACT GRID
===================================================== */

.legacy-impact-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 15px;

    margin-bottom: 30px;
}


/* =====================================================
   IMPACT CARD
===================================================== */

.legacy-impact-card {
    min-height: 185px;

    padding: 22px 18px;

    background: #ffffff;

    border: 1px solid rgba(0, 77, 144, 0.06);

    border-radius: 15px;

    box-shadow:
        0 8px 25px rgba(0, 45, 80, 0.055);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.legacy-impact-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 15px 35px rgba(0, 45, 80, 0.11);
}


/* Icon */

.impact-icon {
    display: flex;

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

    width: 48px;
    height: 48px;

    margin-bottom: 17px;

    border-radius: 50%;

    background: #004d90;

    color: #ffffff;

    font-size: 17px;
}


/* Card heading */

.legacy-impact-card h3 {
    margin-bottom: 7px;

    color: #004d90;

    font-size: 15px;

    font-weight: 700;

    line-height: 1.3;
}


/* Card text */

.legacy-impact-card p {
    color: #748494;

    font-size: 12px;

    line-height: 1.55;

    font-weight: 500;
}


/* =====================================================
   FINAL MESSAGE
===================================================== */

.legacy-final {
    display: flex;

    align-items: center;

    gap: 18px;

    padding: 20px 24px;

    border-radius: 15px;

    background: #004d90;

    box-shadow:
        0 12px 30px rgba(0, 77, 144, 0.18);

    color: #ffffff;
}


/* Final icon */

.legacy-final-icon {
    display: flex;

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

    width: 50px;
    height: 50px;

    flex-shrink: 0;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    font-size: 19px;
}


/* Small text */

.legacy-final span {
    display: block;

    margin-bottom: 4px;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.7px;

    color: rgba(255, 255, 255, 0.7);
}


/* Final heading */

.legacy-final h3 {
    font-size: 19px;

    line-height: 1.4;

    font-weight: 500;
}

.legacy-final h3 strong {
    font-weight: 700;

    color: #ffffff;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1000px) {

    .legacy-section {
        padding: 100px 25px 110px;
    }

    .legacy-content {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .legacy-intro {
        max-width: 650px;

        margin: 0 auto;

        width: 100%;
    }

    .legacy-message {
        max-width: 850px;

        margin: 0 auto;
    }

}


/* =====================================================
   TABLET / SMALL LAPTOP
===================================================== */

@media (max-width: 800px) {

    .legacy-impact-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .legacy-impact-card {
        min-height: 175px;

        padding: 18px 15px;
    }

    .legacy-main-text {
        font-size: 23px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

    .legacy-section {
        padding: 75px 18px 85px;
    }


    /* Heading */

    .legacy-heading {
        margin-bottom: 45px;
    }

    .legacy-label {
        margin-bottom: 14px;

        padding: 7px 13px;

        font-size: 9px;

        letter-spacing: 1.5px;
    }

    .legacy-heading h2 {
        font-size: 37px;

        letter-spacing: -0.8px;
    }

    .legacy-line {
        margin-top: 20px;

        width: 50px;

        height: 3px;
    }


    /* Intro */

    .legacy-intro {
        padding: 32px 25px;
    }

    .legacy-intro p {
        font-size: 18px;

        margin-bottom: 12px;
    }

    .legacy-quote {
        font-size: 110px;

        top: -10px;

        right: 15px;
    }


    /* Main text */

    .legacy-main-text {
        font-size: 21px;

        line-height: 1.5;
    }

    .legacy-description {
        font-size: 14px;

        line-height: 1.7;

        margin-bottom: 28px;
    }


    /* Impact cards */

    .legacy-impact-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .legacy-impact-card {
        min-height: auto;

        display: flex;

        align-items: center;

        gap: 15px;

        padding: 16px;
    }

    .impact-icon {
        width: 46px;
        height: 46px;

        flex-shrink: 0;

        margin-bottom: 0;
    }

    .legacy-impact-card h3 {
        margin-bottom: 4px;
    }


    /* Final */

    .legacy-final {
        align-items: flex-start;

        padding: 18px;

        gap: 13px;
    }

    .legacy-final-icon {
        width: 43px;
        height: 43px;

        font-size: 16px;
    }

    .legacy-final h3 {
        font-size: 16px;
    }

    .legacy-final span {
        font-size: 9px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 380px) {

    .legacy-section {
        padding-left: 15px;
        padding-right: 15px;
    }

    .legacy-heading h2 {
        font-size: 32px;
    }

    .legacy-intro p {
        font-size: 17px;
    }

    .legacy-main-text {
        font-size: 19px;
    }

}


/* =====================================================
   WHAT IS EYE DONATION — DEEP BLUE BAR
===================================================== */

.eye-info-bar {
    position: relative;

    width: 100%;

    padding: 75px 30px;

    background: #003b70;

    color: #ffffff;

    overflow: hidden;
}


/* Subtle background effect */

.eye-info-bar::before {
    content: "";

    position: absolute;

    width: 400px;
    height: 400px;

    top: -250px;
    right: -120px;

    border-radius: 50%;

    border: 1px solid rgba(255, 255, 255, 0.07);
}

.eye-info-bar::after {
    content: "";

    position: absolute;

    width: 250px;
    height: 250px;

    bottom: -180px;
    left: -80px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.025);
}


/* =====================================================
   CONTAINER
===================================================== */

.eye-info-container {

    position: relative;

    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 190px 1px 1fr;

    gap: 40px;

    align-items: center;
}


/* =====================================================
   LEFT LABEL
===================================================== */

.eye-info-label {

    text-align: right;

    color: rgba(255, 255, 255, 0.65);

    font-size: 12px;

    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 2px;
}

.eye-info-label strong {

    display: block;

    margin-top: 5px;

    color: #ffffff;

    font-size: 25px;

    line-height: 1.05;

    font-weight: 700;

    letter-spacing: 0;
}


/* =====================================================
   DIVIDER
===================================================== */

.eye-info-divider {

    width: 1px;

    height: 150px;

    background: rgba(255, 255, 255, 0.18);
}


/* =====================================================
   CONTENT
===================================================== */

.eye-info-content {

    max-width: 850px;
}


/* Heading */

.eye-info-content h2 {

    margin-bottom: 18px;

    color: #ffffff;

    font-size: 34px;

    font-weight: 500;

    line-height: 1.25;
}

.eye-info-content h2 span {

    font-weight: 700;
}


/* Paragraph */

.eye-info-content p {

    max-width: 820px;

    margin-bottom: 12px;

    color: rgba(255, 255, 255, 0.76);

    font-size: 15px;

    line-height: 1.7;

    font-weight: 500;
}


/* =====================================================
   HIGHLIGHT
===================================================== */

.eye-info-highlight {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-top: 12px;

    padding: 11px 18px;

    border-radius: 50px;

    background: rgba(255, 255, 255, 0.09);

    border: 1px solid rgba(255, 255, 255, 0.12);

    color: #ffffff;

    font-size: 14px;

    font-weight: 500;
}


/* Eye icon */

.eye-info-highlight i {

    display: flex;

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

    width: 30px;
    height: 30px;

    border-radius: 50%;

    background: #ffffff;

    color: #004d90;

    font-size: 12px;
}


/* Highlight strong */

.eye-info-highlight strong {

    font-weight: 700;

    color: #ffffff;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {

    .eye-info-bar {

        padding: 65px 30px;
    }

    .eye-info-container {

        grid-template-columns: 150px 1px 1fr;

        gap: 28px;
    }

    .eye-info-content h2 {

        font-size: 29px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 650px) {

    .eye-info-bar {

        padding: 55px 20px;
    }


    .eye-info-container {

        display: block;
    }


    /* Label */

    .eye-info-label {

        text-align: left;

        margin-bottom: 25px;
    }

    .eye-info-label span {

        font-size: 10px;
    }

    .eye-info-label strong {

        display: inline;

        margin-left: 6px;

        font-size: 22px;
    }


    /* Hide divider */

    .eye-info-divider {

        display: none;
    }


    /* Heading */

    .eye-info-content h2 {

        margin-bottom: 18px;

        font-size: 28px;

        line-height: 1.25;
    }


    /* Paragraph */

    .eye-info-content p {

        font-size: 14px;

        line-height: 1.7;
    }


    /* Highlight */

    .eye-info-highlight {

        display: flex;

        width: fit-content;

        max-width: 100%;

        margin-top: 18px;

        padding: 9px 14px;

        font-size: 13px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 400px) {

    .eye-info-bar {

        padding: 45px 18px;
    }

    .eye-info-content h2 {

        font-size: 25px;
    }

    .eye-info-highlight {

        font-size: 12px;
    }

}


/* =====================================================
   IMPACT SECTION
===================================================== */

.impact-section {
    position: relative;

    padding: 110px 30px 120px;

    background: #ffffff;

    color: #004d90;

    overflow: hidden;
}


/* =====================================================
   CONTAINER
===================================================== */

.impact-container {
    width: 100%;
    max-width: 1150px;

    margin: 0 auto;
}


/* =====================================================
   HEADER
===================================================== */

.impact-header {
    max-width: 800px;

    margin: 0 auto 65px;

    text-align: center;
}


/* Label */

.impact-label {
    display: inline-block;

    margin-bottom: 17px;

    padding: 8px 17px;

    border-radius: 50px;

    background: rgba(0, 77, 144, 0.07);

    color: #004d90;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;
}


/* Heading */

.impact-header h2 {
    margin-bottom: 20px;

    color: #004d90;

    font-size: clamp(40px, 5vw, 60px);

    font-weight: 700;

    line-height: 1.08;

    letter-spacing: -1.5px;
}

.impact-header h2 span {
    display: block;

    color: #263f57;
}


/* Description */

.impact-header p {
    max-width: 720px;

    margin: 0 auto;

    color: #64788b;

    font-size: 16px;

    line-height: 1.7;

    font-weight: 500;
}

.impact-header p strong {
    color: #004d90;

    font-weight: 700;
}


/* =====================================================
   VISUAL SECTION
===================================================== */

.impact-visual {
    position: relative;

    max-width: 900px;

    min-height: 270px;

    margin: 0 auto 65px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 85px;
}


/* =====================================================
   DONOR
===================================================== */

.impact-donor {
    position: relative;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-width: 150px;

    z-index: 3;
}


.donor-circle {
    display: flex;

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

    width: 125px;
    height: 125px;

    margin-bottom: 15px;

    border-radius: 50%;

    background: #004d90;

    color: #ffffff;

    font-size: 42px;

    box-shadow:
        0 15px 35px rgba(0, 77, 144, 0.22);

    border: 8px solid #eaf2f8;
}


.impact-donor > span {
    text-align: center;

    color: #004d90;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1.5px;

    line-height: 1.35;
}


/* =====================================================
   CONNECTOR
===================================================== */

.impact-connector {
    position: absolute;

    left: 38%;

    right: 38%;

    top: 50%;

    height: 110px;

    transform: translateY(-50%);

    z-index: 1;
}


/* Horizontal line */

.impact-connector::before {
    content: "";

    position: absolute;

    top: 50%;
    left: 0;

    width: 50%;

    height: 2px;

    background: #b8cddd;
}


/* Vertical split */

.impact-connector::after {
    content: "";

    position: absolute;

    top: 20px;
    right: 0;

    width: 2px;

    height: 70px;

    background: #b8cddd;

    transform: rotate(0deg);
}


/* =====================================================
   RECIPIENTS
===================================================== */

.impact-recipient {
    position: relative;

    width: 150px;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    z-index: 3;
}


/* Make second recipient slightly offset */

.impact-recipient:last-child {
    transform: translateY(75px);
}

.impact-recipient:nth-of-type(3) {
    transform: translateY(-75px);
}


/* Recipient circle */

.recipient-circle {
    display: flex;

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

    width: 90px;
    height: 90px;

    margin-bottom: 13px;

    border-radius: 50%;

    background: #f0f6fa;

    border: 3px solid #004d90;

    color: #004d90;

    font-size: 28px;

    box-shadow:
        0 10px 25px rgba(0, 77, 144, 0.10);
}


/* Recipient heading */

.impact-recipient h3 {
    color: #004d90;

    font-size: 14px;

    font-weight: 700;

    line-height: 1.3;
}

.impact-recipient h3 span {
    display: block;

    color: #263f57;
}


/* =====================================================
   BOTTOM AREA
===================================================== */

.impact-bottom {
    max-width: 1000px;

    margin: 0 auto;

    padding: 35px;

    border-radius: 20px;

    background: #f5f9fc;

    border: 1px solid rgba(0, 77, 144, 0.06);
}


/* Heading */

.impact-bottom > h3 {
    margin-bottom: 25px;

    text-align: center;

    color: #004d90;

    font-size: 20px;

    font-weight: 700;
}


/* =====================================================
   POINTS
===================================================== */

.impact-points {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 15px;
}


/* Point */

.impact-point {
    min-height: 150px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding: 18px 12px;

    text-align: center;

    background: #ffffff;

    border-radius: 14px;

    box-shadow:
        0 7px 22px rgba(0, 45, 80, 0.055);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.impact-point:hover {
    transform: translateY(-5px);

    box-shadow:
        0 14px 30px rgba(0, 45, 80, 0.11);
}


/* =====================================================
   POINT ICON
===================================================== */

.point-icon {
    display: flex;

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

    width: 48px;
    height: 48px;

    margin-bottom: 14px;

    border-radius: 50%;

    background: #004d90;

    color: #ffffff;

    font-size: 17px;
}


/* Point text */

.impact-point strong {
    color: #425d73;

    font-size: 12px;

    line-height: 1.45;

    font-weight: 600;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 950px) {

    .impact-section {
        padding: 90px 25px 100px;
    }


    .impact-visual {
        gap: 45px;
    }


    .impact-recipient {
        width: 125px;
    }


    .impact-points {
        grid-template-columns: repeat(3, 1fr);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 650px) {

    .impact-section {
        padding: 75px 18px 85px;
    }


    /* Header */

    .impact-header {
        margin-bottom: 45px;
    }


    .impact-label {
        font-size: 9px;

        letter-spacing: 1.5px;

        padding: 7px 13px;
    }


    .impact-header h2 {
        font-size: 36px;

        letter-spacing: -0.7px;
    }


    .impact-header p {
        font-size: 14px;

        line-height: 1.7;
    }


    /* Visual */

    .impact-visual {
        min-height: auto;

        display: grid;

        grid-template-columns: 1fr 1fr;

        grid-template-rows: auto auto;

        gap: 45px 25px;

        margin-bottom: 45px;
    }


    /* Donor occupies top */

    .impact-donor {
        grid-column: 1 / 3;

        grid-row: 1;
    }


    .donor-circle {
        width: 105px;
        height: 105px;

        font-size: 35px;
    }


    /* Recipients */

    .impact-recipient {
        width: auto;

        grid-row: 2;
    }


    .impact-recipient:nth-of-type(3),
    .impact-recipient:last-child {
        transform: none;
    }


    .recipient-circle {
        width: 75px;
        height: 75px;

        font-size: 23px;
    }


    /* Hide desktop connector */

    .impact-connector {
        display: none;
    }


    /* Mobile connector */

    .impact-visual::before {
        content: "";

        position: absolute;

        top: 125px;
        left: 50%;

        width: 1px;
        height: 45px;

        background: #b8cddd;
    }


    .impact-visual::after {
        content: "";

        position: absolute;

        top: 168px;
        left: 25%;

        width: 50%;

        height: 1px;

        background: #b8cddd;
    }


    /* Bottom */

    .impact-bottom {
        padding: 25px 15px;
    }


    .impact-bottom > h3 {
        margin-bottom: 20px;

        font-size: 18px;
    }


    .impact-points {
        grid-template-columns: 1fr;

        gap: 10px;
    }


    .impact-point {
        min-height: auto;

        flex-direction: row;

        justify-content: flex-start;

        text-align: left;

        padding: 14px;

        gap: 14px;
    }


    .point-icon {
        width: 44px;
        height: 44px;

        flex-shrink: 0;

        margin-bottom: 0;
    }


    .impact-point strong {
        font-size: 13px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 380px) {

    .impact-header h2 {
        font-size: 32px;
    }

    .impact-header p {
        font-size: 13px;
    }

    .donor-circle {
        width: 95px;
        height: 95px;
    }

}


/* =====================================================
   COMMON SECTION SETTINGS
===================================================== */

.section-label {
    display: inline-block;

    margin-bottom: 16px;

    padding: 8px 16px;

    border-radius: 50px;

    background: rgba(0, 77, 144, 0.07);

    color: #004d90;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;
}


/* =====================================================
   WHY PLEDGE
===================================================== */

.why-pledge-section {
    padding: 110px 30px;

    background: #ffffff;

    color: #004d90;
}

.why-pledge-container {
    max-width: 1150px;

    margin: auto;
}


/* Header */

.why-pledge-header {
    max-width: 760px;

    margin: 0 auto 60px;

    text-align: center;
}

.why-pledge-header h2 {
    margin-bottom: 20px;

    font-size: clamp(40px, 5vw, 60px);

    line-height: 1.08;

    letter-spacing: -1.5px;

    color: #004d90;
}

.why-pledge-header h2 span {
    display: block;

    color: #263f57;
}

.why-pledge-header p {
    color: #687b8d;

    font-size: 16px;

    line-height: 1.7;
}


/* =====================================================
   LIFE IMPACT GRID
===================================================== */

.life-impact-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;

    margin-bottom: 35px;
}


/* Card */

.life-impact-card {
    position: relative;

    min-height: 300px;

    padding: 30px 24px;

    background: #f5f9fc;

    border-radius: 18px;

    border: 1px solid rgba(0, 77, 144, 0.06);

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.life-impact-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 18px 40px rgba(0, 50, 90, 0.10);
}


/* Number */

.life-card-number {
    position: absolute;

    top: 18px;
    right: 20px;

    color: rgba(0, 77, 144, 0.08);

    font-size: 38px;

    font-weight: 700;
}


/* Icon */

.life-card-icon {
    display: flex;

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

    width: 58px;
    height: 58px;

    margin-bottom: 28px;

    border-radius: 50%;

    background: #004d90;

    color: #ffffff;

    font-size: 21px;
}


/* Heading */

.life-impact-card h3 {
    margin-bottom: 12px;

    color: #004d90;

    font-size: 20px;

    line-height: 1.3;

    font-weight: 700;
}


/* Text */

.life-impact-card p {
    color: #6b7e8f;

    font-size: 14px;

    line-height: 1.7;

    font-weight: 500;
}


/* =====================================================
   FOR YOU
===================================================== */

.for-you-box {
    display: flex;

    align-items: center;

    gap: 22px;

    padding: 28px 35px;

    border-radius: 18px;

    background: #004d90;

    color: #ffffff;

    box-shadow:
        0 15px 35px rgba(0, 77, 144, 0.18);
}

.for-you-eye {
    display: flex;

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

    width: 65px;
    height: 65px;

    flex-shrink: 0;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.13);

    font-size: 25px;
}

.for-you-content span {
    display: block;

    margin-bottom: 5px;

    color: rgba(255, 255, 255, 0.65);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;
}

.for-you-content h3 {
    color: #ffffff;

    font-size: 22px;

    line-height: 1.4;

    font-weight: 500;
}

.for-you-content strong {
    font-weight: 700;
}


/* =====================================================
   MYTHS SECTION
===================================================== */

.myths-section {
    padding: 110px 30px;

    background: #f5f9fc;

    color: #004d90;
}

.myths-container {
    max-width: 1000px;

    margin: auto;
}


/* Header */

.myths-header {
    max-width: 700px;

    margin: 0 auto 55px;

    text-align: center;
}

.myths-header h2 {
    margin-bottom: 20px;

    font-size: clamp(40px, 5vw, 58px);

    line-height: 1.08;

    color: #004d90;
}

.myths-header h2 span {
    display: block;

    color: #263f57;
}

.myths-header p {
    color: #687b8d;

    font-size: 15px;

    line-height: 1.7;
}


/* =====================================================
   MYTH CARD
===================================================== */

.myths-list {
    display: flex;

    flex-direction: column;

    gap: 18px;
}

.myth-card {
    padding: 25px;

    border-radius: 17px;

    background: #ffffff;

    box-shadow:
        0 8px 25px rgba(0, 45, 80, 0.055);
}


/* Question */

.myth-question,
.myth-answer {
    display: flex;

    align-items: flex-start;

    gap: 18px;
}


/* Answer */

.myth-answer {
    margin-top: 22px;

    padding-top: 20px;

    border-top: 1px solid #edf1f4;
}


/* Symbols */

.myth-symbol {
    display: flex;

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

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    border-radius: 50%;

    font-size: 17px;
}

.myth-no {
    background: #fff0f0;

    color: #d94a4a;
}

.myth-yes {
    background: #edf7f1;

    color: #258a58;
}


/* Small label */

.myth-question span,
.myth-answer span {
    display: block;

    margin-bottom: 5px;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: #8796a4;
}


/* Question heading */

.myth-question h3 {
    color: #374f63;

    font-size: 17px;

    line-height: 1.5;

    font-weight: 600;
}


/* Answer heading */

.myth-answer h3 {
    margin-bottom: 4px;

    color: #004d90;

    font-size: 16px;

    line-height: 1.45;

    font-weight: 700;
}

.myth-answer p {
    color: #6d7f90;

    font-size: 13px;

    line-height: 1.6;
}


/* =====================================================
   PLEDGE STEPS — DARK BLUE
===================================================== */

.pledge-steps-section {
    position: relative;

    padding: 105px 30px 90px;

    background: #003b70;

    color: #ffffff;

    overflow: hidden;
}


/* Decorative circles */

.pledge-steps-section::before {
    content: "";

    position: absolute;

    width: 450px;
    height: 450px;

    top: -280px;
    right: -150px;

    border-radius: 50%;

    border: 1px solid rgba(255, 255, 255, 0.07);
}

.pledge-steps-section::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    bottom: -210px;
    left: -120px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.025);
}


/* Container */

.pledge-steps-container {
    position: relative;

    z-index: 2;

    max-width: 1150px;

    margin: auto;
}


/* Header */

.pledge-steps-header {
    max-width: 820px;

    margin: 0 auto 45px;

    text-align: center;
}

.pledge-steps-header > span {
    display: inline-block;

    margin-bottom: 15px;

    color: rgba(255, 255, 255, 0.6);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;
}

.pledge-steps-header h2 {
    margin-bottom: 18px;

    font-size: clamp(38px, 5vw, 55px);

    line-height: 1.1;

    font-weight: 500;
}

.pledge-steps-header h2 strong {
    font-weight: 700;
}

.pledge-steps-header p {
    color: rgba(255, 255, 255, 0.72);

    font-size: 15px;

    line-height: 1.75;
}


/* =====================================================
   FAMILY MESSAGE
===================================================== */

.family-message {
    display: flex;

    align-items: center;

    gap: 20px;

    max-width: 800px;

    margin: 0 auto 55px;

    padding: 25px 30px;

    border-radius: 16px;

    background: rgba(255, 255, 255, 0.08);

    border: 1px solid rgba(255, 255, 255, 0.10);
}

.family-message-icon {
    display: flex;

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

    width: 60px;
    height: 60px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #ffffff;

    color: #004d90;

    font-size: 22px;
}

.family-message span {
    display: block;

    margin-bottom: 3px;

    color: rgba(255, 255, 255, 0.55);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;
}

.family-message h3 {
    margin-bottom: 4px;

    font-size: 22px;

    font-weight: 700;
}

.family-message p {
    color: rgba(255, 255, 255, 0.7);

    font-size: 13px;

    line-height: 1.5;
}


/* =====================================================
   STEPS
===================================================== */

.pledge-steps {
    position: relative;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;
}


/* Connecting line */

.pledge-steps::before {
    content: "";

    position: absolute;

    top: 34px;

    left: 10%;

    right: 10%;

    height: 1px;

    background: rgba(255, 255, 255, 0.18);

    z-index: 0;
}


/* Step */

.pledge-step {
    position: relative;

    padding: 25px 20px;

    text-align: center;

    z-index: 1;
}


/* Number */

.step-number {
    position: absolute;

    top: 8px;
    right: 10px;

    color: rgba(255, 255, 255, 0.12);

    font-size: 27px;

    font-weight: 700;
}


/* Icon */

.step-icon {
    position: relative;

    display: flex;

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

    width: 68px;
    height: 68px;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: #ffffff;

    color: #004d90;

    font-size: 21px;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.12);
}


/* Step heading */

.pledge-step h3 {
    margin-bottom: 8px;

    color: #ffffff;

    font-size: 15px;

    line-height: 1.4;

    font-weight: 700;
}


/* Step text */

.pledge-step p {
    color: rgba(255, 255, 255, 0.63);

    font-size: 12px;

    line-height: 1.6;
}


/* =====================================================
   FINAL LINE
===================================================== */

.pledge-final-line {
    display: flex;

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

    gap: 10px;

    margin-top: 45px;

    color: rgba(255, 255, 255, 0.7);

    font-size: 13px;

    text-align: center;
}

.pledge-final-line i {
    color: #ffffff;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 950px) {

    .life-impact-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pledge-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .pledge-steps::before {
        display: none;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

    /* General */

    .why-pledge-section,
    .myths-section {
        padding: 75px 18px;
    }


    /* Why pledge */

    .why-pledge-header,
    .myths-header {
        margin-bottom: 40px;
    }

    .why-pledge-header h2,
    .myths-header h2 {
        font-size: 36px;

        letter-spacing: -0.7px;
    }

    .why-pledge-header p,
    .myths-header p {
        font-size: 14px;
    }


    /* Cards */

    .life-impact-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .life-impact-card {
        min-height: auto;

        padding: 23px;

        display: grid;

        grid-template-columns: 55px 1fr;

        column-gap: 15px;

        align-items: center;
    }

    .life-card-icon {
        width: 52px;
        height: 52px;

        margin: 0;

        grid-row: 1 / 3;
    }

    .life-card-number {
        display: none;
    }

    .life-impact-card h3 {
        margin-bottom: 5px;

        font-size: 17px;
    }

    .life-impact-card p {
        font-size: 13px;
    }


    /* For you */

    .for-you-box {
        align-items: flex-start;

        gap: 14px;

        padding: 22px 18px;
    }

    .for-you-eye {
        width: 48px;
        height: 48px;

        font-size: 18px;
    }

    .for-you-content h3 {
        font-size: 17px;
    }


    /* Myths */

    .myth-card {
        padding: 18px;
    }

    .myth-question,
    .myth-answer {
        gap: 12px;
    }

    .myth-symbol {
        width: 38px;
        height: 38px;

        font-size: 14px;
    }

    .myth-question h3 {
        font-size: 14px;
    }

    .myth-answer h3 {
        font-size: 14px;
    }

    .myth-answer p {
        font-size: 12px;
    }


    /* Pledge steps */

    .pledge-steps-section {
        padding: 75px 18px 65px;
    }

    .pledge-steps-header {
        margin-bottom: 35px;
    }

    .pledge-steps-header h2 {
        font-size: 35px;
    }

    .pledge-steps-header p {
        font-size: 13px;
    }


    /* Family message */

    .family-message {
        align-items: flex-start;

        gap: 13px;

        padding: 20px;

        margin-bottom: 35px;
    }

    .family-message-icon {
        width: 48px;
        height: 48px;

        font-size: 17px;
    }

    .family-message h3 {
        font-size: 18px;
    }

    .family-message p {
        font-size: 12px;
    }


    /* Steps */

    .pledge-steps {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .pledge-step {
        display: grid;

        grid-template-columns: 55px 1fr;

        column-gap: 15px;

        padding: 17px;

        text-align: left;

        background: rgba(255, 255, 255, 0.055);

        border-radius: 12px;
    }

    .step-icon {
        width: 48px;
        height: 48px;

        margin: 0;

        grid-row: 1 / 3;

        font-size: 16px;
    }

    .step-number {
        display: none;
    }

    .pledge-step h3 {
        margin-bottom: 3px;

        font-size: 14px;
    }

    .pledge-step p {
        font-size: 11px;
    }

    .pledge-final-line {
        margin-top: 30px;

        font-size: 11px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 380px) {

    .why-pledge-header h2,
    .myths-header h2 {
        font-size: 32px;
    }

    .pledge-steps-header h2 {
        font-size: 31px;
    }

}

/* =====================================================
   PLEDGE SECTION
===================================================== */

.pledge-section {

    position: relative;

    width: 100%;

    padding: 85px 30px 70px;

    background: #004d90;

    color: #ffffff;

    overflow: hidden;
}


/* =====================================================
   BACKGROUND DECORATION
===================================================== */

.pledge-section::before {

    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -350px;
    right: -160px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,0.08);
}


.pledge-section::after {

    content: "";

    position: absolute;

    width: 350px;
    height: 350px;

    bottom: -270px;
    left: -170px;

    border-radius: 50%;

    background: rgba(255,255,255,0.025);
}


/* =====================================================
   CONTAINER
===================================================== */

.pledge-container {

    position: relative;

    width: 100%;

    max-width: 1150px;

    margin: 0 auto;

    z-index: 2;
}


/* =====================================================
   HEADER
===================================================== */

.pledge-header {

    max-width: 850px;

    margin: 0 auto 38px;

    text-align: center;
}


.pledge-eyebrow {

    display: inline-block;

    margin-bottom: 12px;

    color: rgba(255,255,255,0.58);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;
}


.pledge-header h2 {

    margin-bottom: 15px;

    color: #ffffff;

    font-size: clamp(38px, 5vw, 56px);

    line-height: 1.1;

    font-weight: 500;

    letter-spacing: -1px;
}


.pledge-header h2::after {

    content: "";

    display: block;

    width: 55px;

    height: 3px;

    margin: 18px auto 0;

    border-radius: 20px;

    background: rgba(255,255,255,0.7);
}


.pledge-header p {

    max-width: 790px;

    margin: 18px auto 0;

    color: rgba(255,255,255,0.70);

    font-size: 14px;

    line-height: 1.7;

    font-weight: 500;
}


/* =====================================================
   FAMILY MESSAGE
===================================================== */

.family-card {

    max-width: 800px;

    min-height: 105px;

    margin: 0 auto 42px;

    padding: 20px 28px;

    display: flex;

    align-items: center;

    gap: 20px;

    background: rgba(255,255,255,0.075);

    border: 1px solid rgba(255,255,255,0.13);

    border-radius: 16px;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.08);
}


/* Icon */

.family-icon {

    width: 58px;
    height: 58px;

    flex-shrink: 0;

    display: flex;

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

    border-radius: 50%;

    background: #ffffff;

    color: #004d90;

    font-size: 21px;
}


/* Text */

.family-text span {

    display: block;

    margin-bottom: 3px;

    color: rgba(255,255,255,0.52);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.7px;
}


.family-text h3 {

    margin-bottom: 3px;

    color: #ffffff;

    font-size: 21px;

    font-weight: 700;
}


.family-text p {

    color: rgba(255,255,255,0.68);

    font-size: 12px;

    line-height: 1.5;

    font-weight: 500;
}


/* =====================================================
   STEPS GRID
===================================================== */

.steps-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 16px;
}


/* =====================================================
   PLEDGE CARD
===================================================== */

.pledge-card {

    position: relative;

    min-height: 215px;

    padding: 22px;

    background: rgba(255,255,255,0.055);

    border: 1px solid rgba(255,255,255,0.11);

    border-radius: 16px;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}


.pledge-card:hover {

    transform: translateY(-6px);

    background: rgba(255,255,255,0.09);

    border-color: rgba(255,255,255,0.18);
}


/* =====================================================
   CARD TOP
===================================================== */

.card-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 25px;
}


/* Number */

.card-number {

    color: rgba(255,255,255,0.35);

    font-size: 23px;

    font-weight: 700;

    letter-spacing: 1px;
}


/* Icon */

.card-icon {

    width: 62px;
    height: 62px;

    display: flex;

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

    border-radius: 50%;

    background: #ffffff;

    color: #004d90;

    font-size: 19px;

    box-shadow:
        0 8px 20px rgba(0,0,0,0.12);

    transition:
        transform 0.3s ease;
}


.pledge-card:hover .card-icon {

    transform: scale(1.08);
}


/* =====================================================
   CARD CONTENT
===================================================== */

.card-content h3 {

    margin-bottom: 8px;

    color: #ffffff;

    font-size: 16px;

    line-height: 1.35;

    font-weight: 700;
}


.card-content p {

    color: rgba(255,255,255,0.62);

    font-size: 12px;

    line-height: 1.6;

    font-weight: 500;
}


/* =====================================================
   FINAL MESSAGE
===================================================== */

.pledge-bottom {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    margin-top: 38px;

    color: rgba(255,255,255,0.70);

    font-size: 12px;

    font-weight: 500;

    text-align: center;
}


.bottom-heart {

    display: flex;

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

    width: 25px;
    height: 25px;

    border-radius: 50%;

    background: rgba(255,255,255,0.10);

    color: #ffffff;

    font-size: 10px;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 950px) {

    .pledge-section {

        padding: 75px 25px 60px;
    }


    .steps-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 15px;
    }


    .pledge-card {

        min-height: 190px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 600px) {

    .pledge-section {

        padding: 65px 18px 50px;
    }


    /* Header */

    .pledge-header {

        margin-bottom: 30px;
    }


    .pledge-eyebrow {

        font-size: 9px;

        letter-spacing: 1.5px;
    }


    .pledge-header h2 {

        font-size: 34px;

        letter-spacing: -0.5px;
    }


    .pledge-header p {

        font-size: 13px;

        line-height: 1.7;
    }


    /* Family */

    .family-card {

        min-height: auto;

        padding: 18px;

        gap: 13px;

        margin-bottom: 25px;

        align-items: flex-start;
    }


    .family-icon {

        width: 48px;
        height: 48px;

        font-size: 17px;
    }


    .family-text span {

        font-size: 8px;
    }


    .family-text h3 {

        font-size: 18px;
    }


    .family-text p {

        font-size: 11px;

        line-height: 1.5;
    }


    /* Cards */

    .steps-grid {

        grid-template-columns: 1fr;

        gap: 10px;
    }


    .pledge-card {

        min-height: auto;

        padding: 17px;

        display: grid;

        grid-template-columns: 52px 1fr;

        column-gap: 15px;

        align-items: center;
    }


    .card-top {

        grid-row: 1 / 3;

        margin: 0;

        display: block;
    }


    .card-number {

        display: none;
    }


    .card-icon {

        width: 48px;
        height: 48px;

        font-size: 16px;

        box-shadow: none;
    }


    .card-content h3 {

        margin-bottom: 3px;

        font-size: 14px;
    }


    .card-content p {

        font-size: 11px;

        line-height: 1.5;
    }


    /* Bottom */

    .pledge-bottom {

        margin-top: 28px;

        font-size: 11px;

        line-height: 1.5;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 380px) {

    .pledge-header h2 {

        font-size: 31px;
    }


    .family-text h3 {

        font-size: 16px;
    }

}
/* =====================================================
   EYE DONATION PLEDGE FORM
===================================================== */

.eye-pledge-form-section {

    position: relative;

    width: 100%;

    padding: 100px 25px 110px;

    background: #f4f8fb;

    color: #263f57;

    overflow: hidden;
}


/* =====================================================
   BACKGROUND DECORATION
===================================================== */

.eye-pledge-form-section::before {

    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -330px;
    right: -180px;

    border-radius: 50%;

    border: 1px solid rgba(0,77,144,0.06);

    pointer-events: none;
}


.eye-pledge-form-section::after {

    content: "";

    position: absolute;

    width: 400px;
    height: 400px;

    bottom: -300px;
    left: -180px;

    border-radius: 50%;

    background: rgba(0,77,144,0.025);

    pointer-events: none;
}


/* =====================================================
   CONTAINER
===================================================== */

.eye-pledge-container {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 1100px;

    margin: 0 auto;
}


/* =====================================================
   HEADER
===================================================== */

.eye-pledge-header {

    max-width: 760px;

    margin: 0 auto 50px;

    text-align: center;
}


.eye-pledge-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 15px;

    padding: 8px 16px;

    border-radius: 50px;

    background: rgba(0,77,144,0.07);

    color: #004d90;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;
}


.eye-pledge-eyebrow i {

    font-size: 11px;
}


.eye-pledge-header h2 {

    margin-bottom: 16px;

    color: #004d90;

    font-size: clamp(40px, 5vw, 58px);

    line-height: 1.08;

    font-weight: 500;

    letter-spacing: -1.2px;
}


.eye-pledge-header h2 span {

    font-weight: 700;
}


.eye-pledge-header p {

    max-width: 650px;

    margin: 0 auto;

    color: #718395;

    font-size: 15px;

    line-height: 1.7;

    font-weight: 500;
}


/* =====================================================
   FORM CARD
===================================================== */

.eye-pledge-card {

    background: #ffffff;

    border-radius: 24px;

    overflow: hidden;

    box-shadow:
        0 25px 65px rgba(0,50,90,0.10),
        0 4px 15px rgba(0,50,90,0.04);
}


/* =====================================================
   TOP BAR
===================================================== */

.eye-pledge-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 20px 35px;

    background: #004d90;

    color: #ffffff;
}


.eye-pledge-top-left {

    display: flex;

    align-items: center;

    gap: 13px;
}


.eye-pledge-top-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 40px;
    height: 40px;

    flex-shrink: 0;

    border-radius: 50%;

    background: rgba(255,255,255,0.13);

    font-size: 14px;
}


.eye-pledge-top-left strong {

    display: block;

    margin-bottom: 2px;

    color: #ffffff;

    font-size: 14px;

    font-weight: 700;
}


.eye-pledge-top-left span {

    display: block;

    color: rgba(255,255,255,0.65);

    font-size: 10px;

    font-weight: 500;
}


.eye-pledge-secure {

    display: flex;

    align-items: center;

    gap: 7px;

    color: rgba(255,255,255,0.68);

    font-size: 10px;

    white-space: nowrap;
}


/* =====================================================
   FORM BODY
===================================================== */

.eye-pledge-body {

    padding: 45px;
}


/* =====================================================
   FORM SECTION
===================================================== */

.eye-form-section {

    margin-bottom: 45px;

    padding-bottom: 42px;

    border-bottom: 1px solid #edf1f4;
}


.eye-form-section:last-of-type {

    border-bottom: 0;

    padding-bottom: 0;
}


/* =====================================================
   SECTION HEADING
===================================================== */

.eye-form-heading {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 27px;
}


.eye-form-number {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #eaf3f9;

    color: #004d90;

    font-size: 11px;

    font-weight: 700;
}


.eye-form-heading h3 {

    margin-bottom: 2px;

    color: #004d90;

    font-size: 21px;

    font-weight: 700;
}


.eye-form-heading p {

    color: #8a98a4;

    font-size: 11px;

    line-height: 1.4;

    font-weight: 500;
}


/* =====================================================
   FORM GRID
===================================================== */

.eye-form-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 21px 20px;
}


.eye-form-group {

    width: 100%;
}


.eye-form-full {

    grid-column: 1 / -1;
}


/* =====================================================
   LABEL
===================================================== */

.eye-form-label {

    display: block;

    margin-bottom: 8px;

    color: #334e63;

    font-size: 12px;

    font-weight: 700;
}


.eye-form-label span {

    color: #df5757;

    margin-left: 2px;
}


/* =====================================================
   INPUT WRAPPER
===================================================== */

.eye-input-wrap {

    position: relative;

    width: 100%;
}


.eye-input-wrap > i {

    position: absolute;

    top: 50%;
    left: 16px;

    transform: translateY(-50%);

    color: #8ea1b0;

    font-size: 13px;

    pointer-events: none;

    z-index: 2;
}


/* =====================================================
   INPUT
===================================================== */

.eye-form-control {

    width: 100%;

    height: 52px;

    padding: 0 16px 0 44px;

    border: 1px solid #dce5eb;

    border-radius: 10px;

    outline: none;

    background: #ffffff;

    color: #263f57;

    font-family: "Quicksand", sans-serif;

    font-size: 13px;

    font-weight: 600;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


.eye-form-control::placeholder {

    color: #aab7c1;

    font-weight: 500;
}


.eye-form-control:hover {

    border-color: #b7cad8;
}


.eye-form-control:focus {

    border-color: #004d90;

    background: #ffffff;

    box-shadow:
        0 0 0 4px rgba(0,77,144,0.08);
}


/* =====================================================
   TEXTAREA
===================================================== */

.eye-textarea-wrap > i {

    top: 19px;

    transform: none;
}


textarea.eye-form-control {

    height: 105px;

    padding-top: 15px;

    padding-bottom: 15px;

    resize: vertical;

    line-height: 1.6;
}


/* =====================================================
   GENDER
===================================================== */

.eye-gender-options {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 10px;
}


.eye-gender-option {

    position: relative;
}


.eye-gender-option input {

    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.eye-gender-option label {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    min-height: 52px;

    padding: 10px;

    border: 1px solid #dce5eb;

    border-radius: 10px;

    color: #64798a;

    background: #ffffff;

    font-size: 11px;

    font-weight: 600;

    cursor: pointer;

    transition: all 0.25s ease;
}


.eye-gender-option label i {

    color: #8ba0af;

    font-size: 12px;
}


.eye-gender-option label:hover {

    border-color: #9eb6c8;

    color: #004d90;
}


.eye-gender-option input:checked + label {

    border-color: #004d90;

    background: #edf5fa;

    color: #004d90;

    box-shadow:
        inset 0 0 0 1px #004d90;
}


.eye-gender-option input:checked + label i {

    color: #004d90;
}


/* =====================================================
   MY PLEDGE
===================================================== */

.eye-pledge-declaration {

    padding-top: 2px;
}


/* =====================================================
   CONSENT LIST
===================================================== */

.eye-consent-list {

    display: flex;

    flex-direction: column;

    gap: 12px;
}


/* =====================================================
   CONSENT
===================================================== */

.eye-consent {

    position: relative;

    display: flex;

    align-items: flex-start;

    gap: 14px;

    padding: 17px 18px;

    border: 1px solid #e1e9ee;

    border-radius: 12px;

    background: #fbfdfe;

    cursor: pointer;

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


.eye-consent:hover {

    border-color: #b9ccda;

    background: #f8fbfd;
}


/* Hide native checkbox */

.eye-consent > input {

    position: absolute;

    opacity: 0;

    pointer-events: none;
}


/* =====================================================
   CUSTOM CHECKBOX
===================================================== */

.eye-checkmark {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 22px;
    height: 22px;

    flex-shrink: 0;

    margin-top: 1px;

    border: 2px solid #b8c8d3;

    border-radius: 6px;

    background: #ffffff;

    color: #ffffff;

    font-size: 11px;

    transition: all 0.2s ease;
}


.eye-checkmark i {

    opacity: 0;

    transform: scale(0.5);

    transition: all 0.2s ease;
}


/* Checked */

.eye-consent > input:checked + .eye-checkmark {

    border-color: #004d90;

    background: #004d90;
}


.eye-consent > input:checked + .eye-checkmark i {

    opacity: 1;

    transform: scale(1);
}


/* Consent text */

.eye-consent-text {

    color: #5d7181;

    font-size: 12px;

    line-height: 1.65;

    font-weight: 500;
}


/* Checked card */

.eye-consent:has(input:checked) {

    border-color: rgba(0,77,144,0.22);

    background: #f5f9fc;
}


/* =====================================================
   PRIVACY
===================================================== */

.eye-privacy-section {

    display: flex;

    align-items: flex-start;

    gap: 17px;

    margin-top: 5px;

    padding: 24px;

    border-radius: 15px;

    background: #f3f7fa;

    border: 1px solid #e4ebf0;
}


.eye-privacy-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #004d90;

    color: #ffffff;

    font-size: 15px;
}


.eye-privacy-content {

    flex: 1;
}


.eye-privacy-content h3 {

    margin-bottom: 12px;

    color: #004d90;

    font-size: 16px;

    font-weight: 700;
}


.eye-privacy-consent {

    padding: 0;

    border: 0;

    background: transparent;
}


.eye-privacy-consent:hover {

    border: 0;

    background: transparent;
}


.eye-privacy-consent:has(input:checked) {

    border: 0;

    background: transparent;
}


.eye-policy-links {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 12px;

    padding-left: 36px;
}


.eye-policy-links a {

    color: #004d90;

    font-size: 11px;

    font-weight: 700;

    text-decoration: none;
}


.eye-policy-links a:hover {

    text-decoration: underline;
}


.eye-policy-links span {

    color: #a6b2bb;

    font-size: 10px;
}


/* =====================================================
   SUBMIT
===================================================== */

.eye-submit-area {

    display: flex;

    flex-direction: column;

    align-items: center;

    padding-top: 35px;

    text-align: center;
}


/* Button */

.eye-pledge-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    min-width: 230px;

    min-height: 56px;

    padding: 13px 25px;

    border: 0;

    border-radius: 10px;

    background: #004d90;

    color: #ffffff;

    font-family: "Quicksand", sans-serif;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1px;

    cursor: pointer;

    box-shadow:
        0 10px 25px rgba(0,77,144,0.20);

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


.eye-pledge-button i {

    font-size: 12px;

    transition:
        transform 0.25s ease;
}


.eye-pledge-button:hover {

    transform: translateY(-3px);

    background: #003c70;

    box-shadow:
        0 14px 30px rgba(0,77,144,0.26);
}


.eye-pledge-button:hover i {

    transform: translateX(4px);
}


.eye-pledge-button:active {

    transform: translateY(0);
}


/* Note */

.eye-submit-note {

    display: flex;

    align-items: center;

    gap: 6px;

    margin-top: 14px;

    color: #8a99a5;

    font-size: 10px;

    line-height: 1.5;
}


.eye-submit-note i {

    color: #004d90;

    font-size: 9px;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {

    .eye-pledge-form-section {

        padding: 80px 22px 90px;
    }


    .eye-pledge-body {

        padding: 35px;
    }


    .eye-gender-options {

        grid-template-columns: repeat(2, 1fr);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 650px) {

    .eye-pledge-form-section {

        padding: 65px 15px 70px;
    }


    /* Header */

    .eye-pledge-header {

        margin-bottom: 30px;
    }


    .eye-pledge-eyebrow {

        padding: 7px 13px;

        font-size: 8px;

        letter-spacing: 1.5px;
    }


    .eye-pledge-header h2 {

        font-size: 36px;

        letter-spacing: -0.6px;
    }


    .eye-pledge-header p {

        font-size: 13px;

        line-height: 1.65;
    }


    /* Card */

    .eye-pledge-card {

        border-radius: 18px;
    }


    /* Top */

    .eye-pledge-top {

        align-items: flex-start;

        flex-direction: column;

        gap: 12px;

        padding: 18px 20px;
    }


    .eye-pledge-top-left span {

        font-size: 9px;
    }


    .eye-pledge-secure {

        padding-left: 53px;

        font-size: 9px;
    }


    /* Body */

    .eye-pledge-body {

        padding: 27px 18px;
    }


    /* Section */

    .eye-form-section {

        margin-bottom: 32px;

        padding-bottom: 32px;
    }


    .eye-form-heading {

        margin-bottom: 22px;
    }


    .eye-form-number {

        width: 34px;
        height: 34px;

        font-size: 10px;
    }


    .eye-form-heading h3 {

        font-size: 18px;
    }


    .eye-form-heading p {

        font-size: 10px;
    }


    /* Form grid */

    .eye-form-grid {

        grid-template-columns: 1fr;

        gap: 18px;
    }


    .eye-form-full {

        grid-column: auto;
    }


    /* Input */

    .eye-form-control {

        height: 52px;

        font-size: 13px;
    }


    textarea.eye-form-control {

        height: 110px;
    }


    /* Gender */

    .eye-gender-options {

        grid-template-columns: 1fr 1fr;

        gap: 8px;
    }


    .eye-gender-option label {

        min-height: 50px;

        font-size: 10px;
    }


    /* Consent */

    .eye-consent {

        padding: 14px;

        gap: 11px;
    }


    .eye-consent-text {

        font-size: 11px;

        line-height: 1.65;
    }


    .eye-checkmark {

        width: 21px;
        height: 21px;
    }


    /* Privacy */

    .eye-privacy-section {

        gap: 12px;

        padding: 18px 15px;
    }


    .eye-privacy-icon {

        width: 40px;
        height: 40px;

        font-size: 13px;
    }


    .eye-privacy-content h3 {

        font-size: 15px;
    }


    .eye-policy-links {

        padding-left: 32px;

        flex-wrap: wrap;
    }


    .eye-policy-links a {

        font-size: 10px;
    }


    /* Submit */

    .eye-submit-area {

        padding-top: 28px;
    }


    .eye-pledge-button {

        width: 100%;

        min-height: 55px;
    }


    .eye-submit-note {

        max-width: 300px;

        font-size: 9px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 380px) {

    .eye-pledge-form-section {

        padding-left: 10px;

        padding-right: 10px;
    }


    .eye-pledge-header h2 {

        font-size: 32px;
    }


    .eye-pledge-body {

        padding: 24px 14px;
    }


    .eye-gender-options {

        grid-template-columns: 1fr;
    }


    .eye-gender-option label {

        justify-content: flex-start;

        padding-left: 15px;
    }

}
/*=========================
Footer
=========================*/

.footer{

    background:#004d90;

    color:#fff;

    padding:50px 0 40px;

}

.footer-logo{

    display:flex;

    align-items:center;

    gap:20px;

}

.footer-logo img:first-child{

    height:90px;

}

.footer-logo img:last-child{

    height:75px;

}

.footer-about{

    color:rgba(255,255,255,.85);

    line-height:1.9;

    margin-top:20px;

}

.footer-title{

    color:#fff;

    font-size:18px;

    font-weight:700;

    margin-bottom:25px;

    position:relative;

}

.footer-title::after{

    content:"";

    width:60px;

    height:3px;

    background:#ff6633;

    position:absolute;

    left:0;

    bottom:-10px;

}

.footer-links{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li{

    margin-bottom:15px;

}

.footer-links a{

    color:rgba(255,255,255,.9);

    text-decoration:none;

    transition:.3s;

}

.footer-links a i{

    color:#ff6633;

    margin-right:10px;

}

.footer-links a:hover{

    color:#ff6633;

    padding-left:8px;

}

.footer-contact{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-contact li{

    display:flex;

    gap:15px;

    margin-bottom:20px;

    color:rgba(255,255,255,.9);

    line-height:1.8;

}

.footer-contact i{

    color:#ff6633;

    font-size:20px;

    margin-top:3px;

}

.footer-social{

    display:flex;

    gap:15px;

    margin-top:15px;

}

.footer-social a{

    width:48px;

    height:48px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    text-decoration:none;

    transition:.3s;

}

.footer-social a:hover{

    background:#ff6633;

    transform:translateY(-5px);

}

.copyright-bar{

    background:#596277;

    color:#fff;

    padding:18px 0;

    font-size:15px;

}

@media(max-width:991px){

.footer{

    text-align:center;

}

.footer-logo{

    justify-content:center;

}

.footer-title::after{

    left:50%;

    transform:translateX(-50%);

}

.footer-contact li{

    justify-content:center;

}

.footer-social{

    justify-content:center;

}

}

/*==========================
Feature Strip
==========================*/

.feature-strip{

    margin-top:-70px;
    position:relative;
    z-index:20;
   
    

}
.patient-story {
  background: #f6f8fb;
  padding-top: 180px !important;
  margin-top: -100px;
}
.feature-box{

    background:#fff;

    border-radius:18px;

    padding:28px 25px;

    display:flex;
    align-items:center;
    gap:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    height:100%;

    transition:.35s;

}

.feature-box:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.feature-icon{

    width:72px;
    height:72px;

    background:#ff6633;

    border-radius:50%;

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

    color:#fff;

    font-size:32px;

    flex-shrink:0;

}

.feature-content h5{

    margin:0;

    color:#4d566d;

    font-size:22px;

    font-weight:700;

    line-height:1.35;

}

.feature-content span{

    display:block;

    margin-top:5px;

    color:#777;

    font-size:16px;

    font-weight:500;

}

/* Tablet */

@media(max-width:991px){

.feature-strip{

    margin-top:-40px;

}

}

/* Mobile */

@media(max-width:767px){

.feature-strip{

    margin-top:30px;
    margin-bottom:40px;

}

.feature-box{

    padding:20px;

}

.feature-icon{

    width:60px;
    height:60px;

    font-size:26px;

}

.feature-content h5{

    font-size:18px;

}

.feature-content span{

    font-size:15px;

}

}


/* ===========================
   Large Desktop
=========================== */

@media (max-width:1400px){

    .hero-image{
        height:680px;
    }

    .hero-content h1{
        font-size:60px;
    }

    .hero-content p{
        font-size:20px;
    }

}

/* ===========================
   Laptop
=========================== */

@media (max-width:1200px){

    .hero-image{
        height:620px;
    }

    .hero-content h1{
        font-size:42px;
    }

    .hero-content p{
        font-size:18px;
    }

}

/* ===========================
   Tablet
=========================== */

@media (max-width:992px){

    .hero-image{
        height:650px;
    }

    .hero-logo{
        left:30px;
        top:30px;
    }

    .hero-logo img{
        width:95px;
    }

    .hero-content{
        text-align:center;
        padding:0 30px;
    }

    .hero-content h1{
        font-size:44px;
    }

    .hero-content p{
        font-size:18px;
    }

    .btn-donate{
        font-size:20px;
        padding:15px 30px;
    }

}






/* ===========================
   Mobile
=========================== */

@media (max-width:768px){

    .hero-image{
        height:700px;
    }

    .hero-overlay{
        background:rgba(0,0,0,.45);
    }

    .hero-logo{
        left:20px;
        top:20px;
    }

    .hero-logo img{
        width:80px;
    }

    .hero-content{
        position:absolute;
        padding:25px;
        align-items:flex-end;
        text-align:left;
    }

    .hero-content h1{
        font-size:36px;
        margin-bottom:20px;
    }

    .hero-content p{
        font-size:16px;
        line-height:1.6;
    }

    .btn-donate{
        width:100%;
        justify-content:center;
        font-size:18px;
        padding:14px;
    }

}

/* ===========================
   Small Mobile
=========================== */

@media (max-width:576px){

    .hero-image{
        height:620px;
    }

    .hero-content h1{
        font-size:30px;
    }

    .hero-content p{
        font-size:15px;
    }

    .btn-donate{
        font-size:17px;
    }

}
.impact-section{
    background:#fff;
}

.section-title{
    font-size:42px;
    font-weight:700;
    color:#4b566d;
    margin-bottom:5px;
}








.section-subtitle{
    color:#677188;
    font-size:27px;
    font-weight:500;
    margin-bottom:35px;
}

.impact-section p{
    font-size:18px;
    line-height:1.7;
    color:#222;
    font-weight: 500;
}

.year-box{
    margin-top:60px;
}

.year-box h2{
    color:#4b566d;
    font-size:42px;
    font-weight:700;
}

.year-box h5{
    color:#6c7428;
    font-size:24px;
    font-weight:500;
}

.year-box ul{
    margin-top:20px;
    padding-left:25px;
}

.year-box li{
    font-size:22px;
    margin-bottom:10px;
}

.impact-box{
    margin-top:70px;
}

.impact-box h2{
    color:#ff6633;
    font-size:42px;
    font-weight:700;
}

.impact-box h5{
    color:#677188;
    font-size:28px;
    font-weight:500;
}

.impact-image{
    width:100%;
    border-radius:18px;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.btn-donate{
    background:#ff6633;
    color:#fff;
    border-radius:12px;
    padding:16px 34px;
    font-size:22px;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:12px;
}

.btn-donate:hover{
    background:#ef5622;
    color:#fff;
}

.btn-donate i{
    font-size:20px;
}

/* ---------- Responsive ---------- */

@media(max-width:1200px){

.section-title{
    font-size:48px;
}

.section-subtitle{
    font-size:28px;
}

.year-box h2,
.impact-box h2{
    font-size:44px;
}

.impact-section p,
.year-box li{
    font-size:19px;
}

}

@media(max-width:992px){

.section-title{
    font-size:40px;
}

.section-subtitle{
    font-size:24px;
}

.year-box h2,
.impact-box h2{
    font-size:36px;
}

.year-box h5,
.impact-box h5{
    font-size:22px;
}

.impact-section p,
.year-box li{
    font-size:18px;
}

.impact-image{
    margin-top:20px;
}

}

@media(max-width:768px){

.impact-section{
    text-align:left;
}
.my-5 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.mt-5 {
  margin-top: 0px !important;
}
.impact-box{margin-top: 10px;}
.year-box ul{
    display:inline-block;
    text-align:left;
}

.section-title{
    font-size:26px;
}

.section-subtitle{
    font-size:20px;
}

.year-box h2,
.impact-box h2{
    font-size:20px;
}

.year-box h5,
.impact-box h5{
    font-size:18px;
}

.impact-section p,
.year-box li{
    font-size:16px;
}

.btn-donate{
    width:100%;
    justify-content:center;
}

}
.stats-section{
    background:#004d90;
    color:#fff;
    padding:80px 0;
}

.stat-box h2{
    font-size:72px;
    font-weight:700;
    margin-bottom:10px;
}

.stat-box p{
    font-size:32px;
    font-weight:500;
    margin-bottom:0;
    color:#fff;
}

.stats-section small{
    font-size:22px;
    color:rgba(255,255,255,.7);
}

/* Tablet */

@media(max-width:992px){

.stat-box h2{
    font-size:55px;
}

.stat-box p{
    font-size:24px;
}

}

/* Mobile */

@media(max-width:768px){

.stats-section{
    padding:60px 0;
}

.stat-box{
    margin-bottom:40px;
}

.stat-box h2{
    font-size:42px;
}

.stat-box p{
    font-size:22px;
}

.stats-section small{
    font-size:16px;
}

}
/*==============================
    Donation Section
==============================*/

.donation-section{
    background:#f6f8fb;
    padding:80px 0;
}

.donation-card{
    background:#fff;
    border-radius:20px;
    padding:45px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
}

.donation-title{
    font-size:42px;
    font-weight:700;
    color:#ff642f;
    margin-bottom:40px;
}

/*==============================
    Amount List
==============================*/

.amount-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.amount-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 22px;
    border:2px solid #ececec;
    border-radius:14px;
    cursor:pointer;
    transition:.3s;
    background:#fff;
}

.amount-item:hover{
    border-color:#ff642f;
    box-shadow:0 8px 25px rgba(255,100,47,.15);
}

.amount-item input{
    margin-right:15px;
    transform:scale(1.25);
    cursor:pointer;
}

.amount-item strong{
    font-size:20px;
    color:#222;
}

.amount-item span{
    font-size:16px;
    color:#666;
    text-align:right;
}

.amount-radio:checked{
    accent-color:#ff642f;
}

#otherAmountBox{
    margin-left:0px;
}

#otherAmountBox input{
    max-width:260px;
}

/*==============================
    Divider
==============================*/

hr{
    border-top:1px solid #ddd;
}

/*==============================
    Labels
==============================*/

.form-label{
    font-size:15px;
    font-weight:600;
    color:#333;
    margin-bottom:8px;
}

/*==============================
    Inputs
==============================*/

.form-control,
.form-select{

    height:42px;
    border-radius:10px;
    border:1px solid #d7d7d7;
    padding:12px 18px;
    font-size:15px;
    transition:.3s;

}

textarea.form-control{

    height:auto;
    min-height:110px;

}

.form-control:focus,
.form-select:focus{

    border-color:#ff642f;
    box-shadow:0 0 0 .2rem rgba(255,100,47,.15);

}

/*==============================
    Checkbox
==============================*/

.form-check{

    margin-top:20px;

}

.form-check-input{

    width:20px;
    height:20px;
    cursor:pointer;

}

.form-check-input:checked{

    background-color:#ff642f;
    border-color:#ff642f;

}

.form-check-label{

    margin-left:8px;
    font-size:15px;

}

/*==============================
    80G Fields
==============================*/

#certificateFields{

    margin-top:25px;
    padding:25px;
    border-radius:15px;
    background:#fafafa;
    border:1px solid #e6e6e6;
    animation:fadeIn .35s ease;

}

/*==============================
    Recaptcha
==============================*/



/*==============================
    Donate Button
==============================*/

.btn-donate{

    background:#ff642f;
    color:#fff;
    border:none;
    border-radius:12px;
    padding:15px 45px;
    font-size:18px;
    font-weight:600;
    transition:.3s;
    display:inline-flex;
    align-items:center;
    gap:12px;

}

.btn-donate:hover{

    background:#f4511e;
    color:#fff;
    transform:translateY(-2px);

}

.btn-donate i{

    font-size:20px;

}

/*==============================
    Animation
==============================*/

@keyframes fadeIn{

    from{

        opacity:0;
        transform:translateY(-10px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

/*==============================
    Responsive
==============================*/

@media(max-width:992px){

.donation-card{

    padding:35px;

}

.donation-title{

    font-size:34px;

}

.amount-item{

    flex-direction:column;
    align-items:flex-start;
    gap:10px;

}

.amount-item span{

    text-align:left;

}

}

@media(max-width:768px){

.donation-section{

    padding:50px 0;

}

.donation-card{

    padding:25px;

}

.donation-title{

    font-size:28px;

}

.amount-item{

    padding:15px;

}

.amount-item strong{

    font-size:18px;

}

.amount-item span{

    font-size:14px;

}

.form-control,
.form-select{

    height:48px;

}

.btn-donate{

    width:100%;
    justify-content:center;

}

#otherAmountBox{

    margin-left:0;

}

}

@media(max-width:576px){

.donation-title{

    font-size:24px;

}

.form-label{

    font-size:14px;

}

.form-check-label{

    font-size:14px;

}

.recaptcha-box{

    height:70px;

}

}
#backToTop{
    position:fixed;
    right:25px;
    bottom:25px;
    width:50px;
    height:50px;
    background:#ff6a35;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    text-decoration:none;
    box-shadow:0 8px 25px rgba(0,0,0,.15);
    opacity:0;
    visibility:hidden;
    transition:all .3s ease;
    z-index:9999;
}

#backToTop:hover{
    transform:translateY(-5px);
    color:#fff;
}

#backToTop.show{
    opacity:1;
    visibility:visible;
}
.why-donate{
    background:#fff;
    padding:80px 0;
}

.why-donate .section-title{
    font-size:42px;
    font-weight:700;
    color:#4d566d;
    margin-bottom:10px;
}

.why-box{
    text-align:center;
    padding:35px 25px;
    transition:.35s;
    border-radius:15px;
}

.why-box:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.why-icon{
    width:150px;
    height:150px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:90px;
    color:#111;
    margin-bottom:25px;
}

.why-box h4{
    color:#ff6633;
    font-size:28px;
    font-weight:600;
    line-height:1.4;
}

/* Tablet */

@media(max-width:992px){

.why-donate .section-title{
    font-size:42px;
}

.why-icon{
    width:120px;
    height:120px;
    font-size:70px;
}

.why-box h4{
    font-size:24px;
}

}

/* Mobile */

@media(max-width:768px){

.why-donate{
    padding:60px 0;
}

.why-donate .section-title{
    font-size:26px;
    text-align:center;
}

.why-box{
    padding:25px;background: #f2f2f2;
}

.why-icon{
    width:100px;
    height:100px;
    font-size:60px;margin-bottom: 10px;
}

.why-box h4{
    font-size:20px;
}

}
.faq-section{
    background:#f7f9fc;
}

.faq-title{
    font-size:42px;
    font-weight:700;
    color:#4d566d;
}

.custom-faq .accordion-item{

    border:1px solid #d8dde7;
    margin-bottom:22px;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;

}

.custom-faq .accordion-button{

    background:#fff;
    font-size:22px;
    font-weight:600;
    color:#111;
    padding:7px 15px;
    box-shadow:none;
    border-right:4px solid #111;
    transition:.3s;

}

.custom-faq .accordion-button:hover{

    background:#fff8f4;

}

.custom-faq .accordion-button:not(.collapsed){

    background:#fff;
    color:#ff6633;

}

.custom-faq .accordion-body{

    font-size:18px;
    line-height:1.8;
    color:#555;
    padding:0px 15px 15px 15px;

}

.custom-faq .accordion-button::after{

    background-image:none;

    content:"+";

    font-size:30px;
    font-weight:300;

    color:#4d566d;

    width:auto;
    height:auto;

    transform:none;

}

.custom-faq .accordion-button:not(.collapsed)::after{

    content:"−";
    color:#ff6633;

}

/* Tablet */

@media(max-width:992px){

.faq-title{

    font-size:42px;

}

.custom-faq .accordion-button{

    font-size:22px;

}

}

/* Mobile */

@media(max-width:768px){

 .faq-title {
    font-size: 26px;
    text-align: left;
    margin: 0px 0px 20px !important;
  }
.custom-faq .accordion-button{

    font-size:18px;
    padding:18px;

}

.custom-faq .accordion-body{

    font-size:16px;

}

}
.donate-cta-section{
    background:#596277;
    padding:90px 0;
    color:#fff;
}

.cta-title{
    font-size:42px;
    font-weight:700;
    color:#ff6a35;
    margin-bottom:35px;
}

.cta-text{
    font-size:25px;
    line-height:1.8;
    color:#fff;
    margin-bottom:18px;
    font-weight: 600;
}

.cta-heart{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:34px;
    font-weight:600;
    margin-top:28px;
}

.cta-heart i{
    color:#ff3d3d;
    font-size:30px;
}

.btn-donate{

    display:inline-flex;
    align-items:center;
    gap:12px;

    background:#ff6a35;
    color:#fff;

    padding:18px 38px;

    border-radius:12px;

    font-size:22px;
    font-weight:600;

    transition:.35s;

    text-decoration:none;
}

.btn-donate:hover{

    background:#f5421c;
    color:#fff;
    transform:translateY(-3px);

}

.btn-donate i{
    font-size:22px;
    color:#ff3131;
}

/* Tablet */

@media(max-width:992px){

.cta-title{
    font-size:46px;
}

.cta-text{
    font-size:24px;
}

.cta-heart{
    font-size:26px;
}

}

/* Mobile */

@media(max-width:768px){

 .donate-cta-section {
    padding: 30px 0;
    text-align: left;
  }
.mb-5 {
  margin-bottom: 20px !important;
}

.cta-title{
    font-size:26px;margin-bottom: 7px;
}

.cta-text{
    font-size:18px;
}

.cta-heart{
    justify-content:center;
    font-size:22px;
}

.btn-donate{
    width:100%;
    justify-content:center;
}

}
.partner-section{
    padding:80px 0;
    background:#fff;
}

.partner-section .section-title{
    font-size:42px;
    font-weight:700;
    color:#4d566d;
}

.partnerSwiper{
    padding:20px 5px;
}

.partner-logo{

    height:140px;
    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #ececec;
    border-radius:15px;

    background:#fff;

    transition:.35s;

}

.partner-logo:hover{

    transform:translateY(-6px);

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.partner-logo img{

    max-width:100%;
    max-height:100%;

    width:auto;
    height:auto;

   

    

}

.partner-logo:hover img{

    filter:none;
    opacity:1;

}

/* Responsive */

@media(max-width:768px){

.partner-section .section-title{

   font-size: 26px;
    text-align: left;
    margin: 0px !important;

}
.btn-donate {

  padding: 12px 38px;
 
  font-size: 18px;
 
}
.partner-logo{

    height:100px;

}

.partner-logo img{

    max-width:120px;
    max-height:55px;

}

}
.bgh{background: #f7f9fc;}
/*==============================
    Copyright
==============================*/

.copyright-bar{
    background:#000;
    color:rgba(255,255,255,.85);
    padding:18px 0;
    font-size:15px;
    border-top:1px solid rgba(255,255,255,.08);
}



.copyright-bar a:hover{
    color:#ffffff;
}

/* Mobile */

@media(max-width:768px){

.copyright-bar{
    text-align:center;
    padding:20px 0;
}

.copyright-bar .col-lg-6:last-child{
    margin-top:8px;
}

}
.thank-you-section{

    background:#fff;
    padding:80px 0;

}

.thank-title{

    font-size:58px;
    font-weight:700;
    color:#4d566d;
    margin-bottom:35px;

}

.thank-you-section p{

    font-size:22px;
    line-height:1.9;
    color:#222;
    margin-bottom:22px;

}

.share-title{

    color:#ff6633;
    font-size:44px;
    font-weight:700;
    margin-top:55px;
    margin-bottom:20px;

}

.share-text{

    font-size:22px;
    margin-bottom:35px;

}

.share-icons{

    display:flex;
    gap:20px;
    align-items:center;

}

.share-btn{

    width:70px;
    height:70px;

    border-radius:50%;

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

    color:#fff;

    font-size:34px;

    text-decoration:none;

    transition:.35s;

}

.share-btn:hover{

    transform:translateY(-5px) scale(1.08);

    color:#fff;

}

.whatsapp{

    background:#25D366;

}

.facebook{

    background:#1877F2;

}

.linkedin{

    background:#0A66C2;

}

/* Tablet */

@media(max-width:992px){

.thank-title{

    font-size:46px;

}

.share-title{

    font-size:34px;

}

.thank-you-section p{

    font-size:19px;

}

}

/* Mobile */

@media(max-width:768px){

.thank-you-section{

    text-align:left;

}

.thank-title{

    font-size:34px;

}

.share-title{

   font-size: 23px;
    margin: 0px 0px 10px;

}

.thank-you-section p{

    font-size: 15px;
    line-height: 23px;

}

.share-icons{

    justify-content:start;

}

.share-btn{

    width:40px;
    height:40px;
    font-size:18px;

}

}