/* =========================================================
CANADA IMMIGRATION PAGE Brand Colors: Mary Blue : #112A80 Buttercup Yellow: #F5C518
========================================================= */

/* ===================================================== CANADA IMMIGRATION - BASE ===================================================== */
.canada-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.canada-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.canada-section {
    padding: 75px 0;
}

.canada-section-light {
    background: #f8faff;
}

/* ===================================================== TYPOGRAPHY ===================================================== */
.canada-page h1,
.canada-page h2,
.canada-page h3 {
    color: #112A80;
    margin-top: 0;
    font-weight: 700;
}

.canada-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.canada-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 25px;
}

.canada-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 12px;
}

.canada-page p {
    font-size: 16px;
    line-height: 1.9;
    margin: 0 0 20px;
    color: #444444;
    text-align: justify;
}

.canada-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ===================================================== SECTION HEADING ===================================================== */
.canada-heading {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.canada-heading h2 {
    margin-bottom: 15px;
}

.canada-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 10px;
    margin: 0 auto 22px;
}

.canada-heading p {
    text-align: center;
    margin-bottom: 0;
}

/* ===================================================== INTRODUCTION ===================================================== */
.canada-intro {
    padding: 80px 0;
    background: #ffffff;
}

.canada-intro-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
    border-radius: 0 12px 12px 0;
}

.canada-intro-box p:last-child {
    margin-bottom: 0;
}

/* ===================================================== PROGRAMS GRID ===================================================== */
.canada-programs {
    padding: 80px 0;
    background: #f8faff;
}

.canada-program-grid {
    display: grid;
    /*grid-template-columns: repeat(2, 1fr);*/
    gap: 25px;
}

.canada-program-card {
    position: relative;
    background: #ffffff;
    padding: 32px 32px 30px;
    border-radius: 12px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 6px 25px rgba(17, 42, 128, 0.06);
    transition: all 0.3s ease;
    overflow: hidden;
}

.canada-program-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.canada-program-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(17, 42, 128, 0.12);
}

.canada-program-card h3 {
    padding-left: 5px;
}

.canada-program-card p {
    margin-bottom: 0;
}

/* ===================================================== CUSTOM BULLET LIST ===================================================== */
.canada-bullet-list {
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.canada-bullet-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 14px;
    color: #444444;
    font-size: 16px;
    line-height: 1.8;
}

.canada-bullet-list li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 10px;
    width: 9px;
    height: 9px;
    background: #F5C518;
    border-radius: 50%;
}

.canada-bullet-list li::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 19px;
    width: 3px;
    height: calc(100% + 4px);
    background: rgba(245, 197, 24, 0.35);
}

.canada-bullet-list li:last-child::after {
    display: none;
}

/* ===================================================== WHY CHOOSE CANADA ===================================================== */
.canada-why {
    padding: 80px 0;
    background: #ffffff;
}

.canada-why-content {
    max-width: 1050px;
    margin: 0 auto;
}

.canada-why-box {
    background: #f8faff;
    padding: 40px 45px;
    border-radius: 12px;
    border-top: 4px solid #F5C518;
}

.canada-provinces {
    margin-top: 30px;
}

.canada-provinces-title {
    font-size: 20px;
    font-weight: 700;
    color: #112A80;
    margin-bottom: 20px;
}

.canada-province-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 25px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.canada-province-list li {
    position: relative;
    padding: 12px 15px 12px 35px;
    background: #ffffff;
    /*border: 1px solid rgba(17, 42, 128, 0.08);*/
    border-radius: 8px;
    color: #333333;
    font-size: 15px;
}

.canada-province-list li::before {
    content: "✓";
    position: absolute;
    left: 12px;
    top: 10px;
    color: #112A80;
    font-weight: 800;
}

/* ===================================================== FUTURE / CTA SECTION ===================================================== */
.canada-future {
    padding: 80px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.canada-future-content {
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.canada-future h2 {
    color: #ffffff;
    margin-bottom: 25px;
}

.canada-future .canada-heading-line {
    background: #F5C518;
}

.canada-future p {
    color: #ffffff;
    text-align: justify;
}

.canada-future strong {
    color: #F5C518;
}

.canada-confidence {
    display: inline-block;
    margin: 25px auto 15px;
    padding: 13px 28px;
    background: #F5C518;
    color: #112A80;
    border-radius: 50px;
    font-size: 17px;
    font-weight: 700;
}

.canada-brand {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.canada-brand-name {
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.canada-brand-tagline {
    display: block;
    color: #F5C518;
    font-size: 16px;
    font-style: italic;
}

/* ===================================================== RESPONSIVE ===================================================== */
@media (max-width: 991px) {

    .canada-section,
    .canada-intro,
    .canada-programs,
    .canada-why,
    .canada-future {
        padding: 60px 0;
    }

    .canada-page h1 {
        font-size: 38px;
    }

    .canada-page h2 {
        font-size: 30px;
    }

    .canada-intro-box {
        padding: 35px;
    }

    .canada-program-grid {
        grid-template-columns: 1fr;
    }

    .canada-why-box {
        padding: 35px;
    }
}

@media (max-width: 767px) {
    .canada-page .container {
        padding: 0 15px;
    }

    .canada-section,
    .canada-intro,
    .canada-programs,
    .canada-why,
    .canada-future {
        padding: 50px 0;
    }

    .canada-page h1 {
        font-size: 32px;
    }

    .canada-page h2 {
        font-size: 27px;
    }

    .canada-page h3 {
        font-size: 20px;
    }

    .canada-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .canada-heading {
        margin-bottom: 32px;
    }

    .canada-intro-box {
        padding: 25px 22px;
    }

    .canada-program-card {
        padding: 27px 25px;
    }

    .canada-why-box {
        padding: 28px 22px;
    }

    .canada-province-list {
        grid-template-columns: 1fr;
    }

    .canada-confidence {
        font-size: 15px;
        padding: 12px 22px;
    }
}

@media (max-width: 480px) {
    .canada-page h1 {
        font-size: 29px;
    }

    .canada-page h2 {
        font-size: 25px;
    }

    .canada-program-card {
        padding: 24px 20px;
    }

    .canada-intro-box {
        padding: 22px 18px;
    }

    .canada-why-box {
        padding: 25px 18px;
    }
}

/* ===================================================== VISA CATEGORIES SECTION ===================================================== */
.visa-categories-section-canada {
    <!-- padding: 90px 0; -->
    background: #ffffff;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.visa-categories-section-canada .section-title-canada {
    margin-bottom: 0;
}

.visa-categories-section-canada .section-title__tagline {
    color: #112A80 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}

.visa-categories-section-canada .section-title__border-box {
    width: 65px;
    height: 4px;
    background: #F5C518;
    border-radius: 10px;
    margin: 12px auto 20px;
}

.visa-categories-section-canada .section-title__title {
    color: #112A80;
    font-size: 38px;
    line-height: 1.3;
    font-weight: 700;
    margin: 0;
}


/* =========================================================
   VISA CARDS WRAPPER
========================================================= */

.visa-cards-wrapper {
    position: relative;
    margin-top: 50px;
}


/* =========================================================
   NORMAL GRID
   Used when 4 or fewer cards exist
========================================================= */

.visa-cards-grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -12px;
    margin-right: -12px;
    justify-content: center;
    align-items: center;
}


/* =========================================================
   SLIDER
   Used when MORE THAN 4 cards exist
========================================================= */

.visa-cards-grid.has-slider {
    display: flex;
    flex-wrap: nowrap;

    gap: 24px;

    margin: 0;

    overflow-x: auto;
    overflow-y: hidden;

    padding: 5px 4px 20px;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;

    -webkit-overflow-scrolling: touch;

    /*
     * Allows horizontal touch scrolling.
     */
    touch-action: pan-x;

    /*
     * Hide scrollbar.
     */
    scrollbar-width: none;
    -ms-overflow-style: none;

    cursor: grab;
}

.visa-cards-grid.has-slider::-webkit-scrollbar {
    display: none;
}

.visa-cards-grid.has-slider.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}


/* =========================================================
   CARD COLUMN
========================================================= */

.visa-card-column {
    margin-bottom: 30px;
}


/*
 * Normal layout:
 * 4 cards per row
 */

.visa-cards-grid:not(.has-slider) .visa-card-column {
    width: 25%;
    padding-left: 12px;
    padding-right: 12px;
}


/*
 * Slider desktop:
 * exactly 4 cards visible
 */

.visa-cards-grid.has-slider .visa-card-column {
    flex: 0 0 calc(25% - 18px);
    width: calc(25% - 18px);

    margin: 0;

    scroll-snap-align: start;
}


/* =========================================================
   VISA CARD
========================================================= */

.visa-category-card {
    height: 100%;
}

.visa-category-card__link {
    display: block;
    height: 100%;

    text-decoration: none;
    color: inherit;
}

.visa-category-card__inner {
    position: relative;

    height: 100%;
    min-height: 305px;

    padding: 30px 28px 28px;

    background: #ffffff;

    border: 1px solid rgba(17, 42, 128, 0.10);

    border-radius: 14px;

    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.07);

    overflow: hidden;

    display: flex;
    flex-direction: column;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* =========================================================
   YELLOW TOP ACCENT
========================================================= */

.visa-category-card__inner::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: #F5C518;

    transform: scaleX(0.25);
    transform-origin: left;

    transition: transform 0.35s ease;
}


/* =========================================================
   DECORATIVE YELLOW CIRCLE
========================================================= */

.visa-category-card__inner::after {
    content: "";

    position: absolute;

    width: 100px;
    height: 100px;

    right: -45px;
    bottom: -45px;

    border-radius: 50%;

    background: rgba(245, 197, 24, 0.10);

    transition: all 0.35s ease;
}


/* =========================================================
   CARD HOVER
========================================================= */

.visa-category-card__link:hover .visa-category-card__inner {
    transform: translateY(-7px);

    border-color: rgba(17, 42, 128, 0.18);

    box-shadow: 0 18px 45px rgba(17, 42, 128, 0.13);
}

.visa-category-card__link:hover .visa-category-card__inner::before {
    transform: scaleX(1);
}

.visa-category-card__link:hover .visa-category-card__inner::after {
    width: 150px;
    height: 150px;
}


/* =========================================================
   ICON
========================================================= */

.visa-category-card__icon {
    position: relative;
    z-index: 2;

    width: 64px;
    height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 22px;

    border-radius: 13px;

    background: #112A80;
    color: #F5C518;

    font-size: 27px;

    flex-shrink: 0;

    transition: all 0.35s ease;
}

.visa-category-card__link:hover .visa-category-card__icon {
    background: #F5C518;
    color: #112A80;

    transform: translateY(-3px);
}


/* =========================================================
   TITLE
========================================================= */

.visa-category-card__title {
    position: relative;
    z-index: 2;

    color: #112A80;

    font-size: 20px;
    line-height: 1.35;

    font-weight: 700;

    margin: 0 0 13px;

    min-height: 54px;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.visa-category-card__text {
    position: relative;
    z-index: 2;

    color: #555555;

    font-size: 15px;
    line-height: 1.7;

    margin: 0;

    /*
     * LEFT ALIGN IS IMPORTANT.
     * Justifying short card text creates
     * large gaps between words.
     */
    text-align: left;

    display: -webkit-box;

    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* =========================================================
   LEARN MORE
========================================================= */

.visa-category-card__arrow {
    position: relative;
    z-index: 2;

    margin-top: auto;
    padding-top: 16px;

    display: flex;
    align-items: center;

    gap: 7px;

    color: #F5C518;

    font-size: 16px;
    font-weight: 700;
}

.visa-category-card__arrow-text {
    color: #112A80;
}

.visa-category-card__arrow-icon {
    color: #F5C518;

    font-size: 18px;

    transition: transform 0.3s ease;
}

.visa-category-card__link:hover .visa-category-card__arrow-icon {
    transform: translateX(5px);
}


/* =========================================================
   SLIDER ARROWS
========================================================= */

.visa-slider-arrow {
    position: absolute;

    top: 50%;

    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: none;
    border-radius: 50%;

    /*
     * Mary Blue circle
     */
    background: #112A80;

    /*
     * Buttercup Yellow arrow
     */
    color: #F5C518;

    font-size: 24px;
    font-weight: 700;

    line-height: 1;

    cursor: pointer;

    z-index: 20;

    transform: translateY(-50%);

    box-shadow: 0 5px 18px rgba(17, 42, 128, 0.20);

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/*
 * Right arrow
 */

.visa-slider-arrow-right {
    right: -52px;
}


/*
 * Left arrow
 */

.visa-slider-arrow-left {
    left: -52px;
}


/*
 * Hover:
 * Buttercup Yellow circle
 * Mary Blue arrow
 */

.visa-slider-arrow:hover {
    background: #F5C518;
    color: #112A80;

    transform: translateY(-50%) scale(1.06);

    box-shadow: 0 8px 22px rgba(17, 42, 128, 0.20);
}


/*
 * Click
 */

.visa-slider-arrow:active {
    transform: translateY(-50%) scale(0.97);
}


/*
 * Remove browser focus border
 */

.visa-slider-arrow:focus {
    outline: none;
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1199px) {

    .visa-categories-section-canada {
        padding: 75px 0;
    }


    /*
     * Normal grid:
     * 2 cards
     */

    .visa-cards-grid:not(.has-slider) .visa-card-column {
        width: 50%;
    }


    /*
     * Slider:
     * 2 cards visible
     */

    .visa-cards-grid.has-slider .visa-card-column {
        flex: 0 0 calc(50% - 12px);
        width: calc(50% - 12px);
    }


    .visa-category-card__inner {
        min-height: 310px;

        padding: 28px 25px;
    }


    .visa-slider-arrow-left {
        left: -8px;
    }

    .visa-slider-arrow-right {
        right: -8px;
    }
}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767px) {

    .visa-categories-section-canada {
        padding: 55px 0;
    }


    .visa-categories-section-canada .section-title__title {
        font-size: 29px;
    }


    .visa-categories-section-canada .section-title__tagline {
        font-size: 12px;
    }


    /*
     * Normal grid:
     * 1 card
     */

    .visa-cards-grid:not(.has-slider) .visa-card-column {
        width: 100%;
    }


    /*
     * Slider:
     * approximately 1 card
     */

    .visa-cards-grid.has-slider {
        gap: 15px;
    }

    .visa-cards-grid.has-slider .visa-card-column {
        flex: 0 0 88%;
        width: 88%;
    }


    .visa-category-card__inner {
        min-height: 0;

        padding: 28px 24px;
    }


    .visa-category-card__icon {
        width: 62px;
        height: 62px;

        font-size: 26px;

        margin-bottom: 20px;
    }


    .visa-category-card__title {
        min-height: auto;

        font-size: 20px;
    }


    .visa-category-card__text {
        font-size: 14px;
        line-height: 1.7;
    }


    /*
     * Mobile arrows
     */

    .visa-slider-arrow {
        width: 40px;
        height: 40px;

        font-size: 21px;
    }

    .visa-slider-arrow-left {
        left: -5px;
    }

    .visa-slider-arrow-right {
        right: -5px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .visa-categories-section-canada .section-title__title {
        font-size: 26px;
    }

    .visa-cards-grid.has-slider .visa-card-column {
        flex: 0 0 92%;
        width: 92%;
    }

    .visa-category-card__inner {
        padding: 25px 22px;
    }
}


/* ===================================================== AUSTRALIA IMMIGRATION - BASE ===================================================== */
.australia-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.australia-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.australia-section {
    padding: 75px 0;
}

/* ===================================================== TYPOGRAPHY ===================================================== */
.australia-page h1,
.australia-page h2,
.australia-page h3 {
    color: #112A80;
    margin-top: 0;
    font-weight: 700;
}

.australia-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.australia-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 25px;
}

.australia-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 12px;
}

.australia-page p {
    font-size: 16px;
    line-height: 1.9;
    margin: 0 0 20px;
    color: #444444;
    text-align: justify;
}

.australia-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ===================================================== SECTION HEADING ===================================================== */
.australia-heading {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.australia-heading h2,
.australia-heading h1 {
    margin-bottom: 15px;
}

.australia-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 10px;
    margin: 0 auto 22px;
}

.australia-heading p {
    text-align: center;
    margin-bottom: 0;
}

/* ===================================================== INTRODUCTION ===================================================== */
.australia-intro {
    padding: 30px 0;
    background: #ffffff;
}

.australia-intro-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
    border-radius: 0 12px 12px 0;
}

.australia-intro-box p:last-child {
    margin-bottom: 0;
}

/* ===================================================== PROGRAMS SECTION ===================================================== */
.australia-programs {
    padding: 30px 0;
    background: #f8faff;
}

.australia-program-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.australia-program-card {
    position: relative;
    background: #ffffff;
    padding: 32px 32px 30px;
    border-radius: 12px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 6px 25px rgba(17, 42, 128, 0.06);
    transition: all 0.3s ease;
    overflow: hidden;
}

.australia-program-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.australia-program-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(17, 42, 128, 0.12);
}

.australia-program-card h3 {
    padding-left: 5px;
}

.australia-program-card p {
    margin-bottom: 0;
}

/* ===================================================== CUSTOM BULLET LIST ===================================================== */
.australia-bullet-list {
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.australia-bullet-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 14px;
    color: #444444;
    font-size: 16px;
    line-height: 1.8;
}

.australia-bullet-list li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 10px;
    width: 9px;
    height: 9px;
    background: #F5C518;
    border-radius: 50%;
}

.australia-bullet-list li::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 19px;
    width: 3px;
    height: calc(100% + 4px);
    background: rgba(245, 197, 24, 0.35);
}

.australia-bullet-list li:last-child::after {
    display: none;
}

/* ===================================================== WHY CHOOSE AUSTRALIA ===================================================== */
.australia-why {
    padding: 30px 0;
    background: #ffffff;
}

.australia-why-content {
    max-width: 1050px;
    margin: 0 auto;
}

.australia-why-box {
    background: #f8faff;
    padding: 40px 45px;
    border-radius: 12px;
    border-top: 4px solid #F5C518;
}

/* ===================================================== CITY LIST ===================================================== */
.australia-cities {
    margin-top: 30px;
}

.australia-cities-title {
    font-size: 20px;
    font-weight: 700;
    color: #112A80;
    margin-bottom: 20px;
}

.australia-city-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 25px;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}

.australia-city-list li {
    position: relative;
    padding: 12px 15px 12px 35px;
    background: #ffffff;
    /*border: 1px solid rgba(17, 42, 128, 0.08);*/
    border-radius: 8px;
    color: #333333;
    font-size: 15px;
}

.australia-city-list li::before {
    content: "✓";
    position: absolute;
    left: 12px;
    top: 10px;
    color: #112A80;
    font-weight: 800;
}

/* ===================================================== BUILD YOUR FUTURE / CTA ===================================================== */
.australia-future {
    padding: 80px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.australia-future-content {
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.australia-future h2 {
    color: #ffffff;
    margin-bottom: 25px;
}

.australia-future .australia-heading-line {
    background: #F5C518;
}

.australia-future p {
    color: #ffffff;
    text-align: justify;
}

.australia-future strong {
    color: #F5C518;
}

.australia-confidence {
    display: inline-block;
    margin: 25px auto 15px;
    padding: 13px 28px;
    background: #F5C518;
    color: #112A80;
    border-radius: 50px;
    font-size: 17px;
    font-weight: 700;
}

.australia-brand {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.australia-brand-name {
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.australia-brand-tagline {
    display: block;
    color: #F5C518;
    font-size: 16px;
    font-style: italic;
}

/* ===================================================== RESPONSIVE ===================================================== */
@media (max-width: 991px) {

    .australia-section,
    .australia-intro,
    .australia-programs,
    .australia-why,
    .australia-future {
        padding: 60px 0;
    }

    .australia-page h1 {
        font-size: 38px;
    }

    .australia-page h2 {
        font-size: 30px;
    }

    .australia-intro-box {
        padding: 35px;
    }

    .australia-program-grid {
        grid-template-columns: 1fr;
    }

    .australia-why-box {
        padding: 35px;
    }
}

@media (max-width: 767px) {
    .australia-page .container {
        padding: 0 15px;
    }

    .australia-section,
    .australia-intro,
    .australia-programs,
    .australia-why,
    .australia-future {
        padding: 50px 0;
    }

    .australia-page h1 {
        font-size: 32px;
    }

    .australia-page h2 {
        font-size: 27px;
    }

    .australia-page h3 {
        font-size: 20px;
    }

    .australia-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .australia-heading {
        margin-bottom: 32px;
    }

    .australia-intro-box {
        padding: 25px 22px;
    }

    .australia-program-card {
        padding: 27px 25px;
    }

    .australia-why-box {
        padding: 28px 22px;
    }

    .australia-city-list {
        grid-template-columns: 1fr;
    }

    .australia-confidence {
        font-size: 15px;
        padding: 12px 22px;
    }
}

@media (max-width: 480px) {
    .australia-page h1 {
        font-size: 29px;
    }

    .australia-page h2 {
        font-size: 25px;
    }

    .australia-program-card {
        padding: 24px 20px;
    }

    .australia-intro-box {
        padding: 22px 18px;
    }

    .australia-why-box {
        padding: 25px 18px;
    }
}


/* ========================================================= USA PAGE - BASE ========================================================= */
.usa-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.usa-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ========================================================= TYPOGRAPHY ========================================================= */
.usa-page h1,
.usa-page h2,
.usa-page h3 {
    color: #112A80;
    margin-top: 0;
    font-weight: 700;
}

.usa-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.usa-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 25px;
}

.usa-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.usa-page p {
    font-size: 16px;
    line-height: 1.9;
    color: #444444;
    margin: 0 0 20px;
    text-align: justify;
}

.usa-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ========================================================= COMMON SECTION HEADING ========================================================= */
.usa-heading {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.usa-heading h2 {
    margin-bottom: 15px;
}

.usa-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 20px;
    margin: 0 auto 22px;
}

.usa-heading p {
    text-align: center;
    margin-bottom: 0;
}

/* ========================================================= INTRODUCTION ========================================================= */
.usa-intro {
    padding: 30px 0;
    background: #ffffff;
}

.usa-intro-title {
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
}

.usa-intro-title h1 {
    color: #112A80;
    margin-bottom: 15px;
}

.usa-intro-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
}

.usa-intro-box p:last-child {
    margin-bottom: 0;
}

/* ========================================================= MAIN VISA CATEGORIES ========================================================= */
.usa-programs {
    padding: 30px 0;
    background: #f8faff;
}

.usa-program-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* ========================================================= VISA PROGRAM CARD ========================================================= */
.usa-program-card {
    position: relative;
    background: #ffffff;
    padding: 34px 34px 32px;
    border-radius: 13px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
    overflow: hidden;
    transition: all 0.3s ease;
}

.usa-program-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.usa-program-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(17, 42, 128, 0.12);
}

.usa-program-card h3 {
    color: #112A80;
    padding-left: 5px;
    margin-bottom: 16px;
}

.usa-program-card p:last-child {
    margin-bottom: 0;
}

/* ========================================================= FULL WIDTH FEATURE CARD ========================================================= */
.usa-program-card-full {
    grid-column: 1 / -1;
}

/* ========================================================= CUSTOM BULLET LIST ========================================================= */
.usa-bullet-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}

.usa-bullet-list li {
    position: relative;
    padding: 12px 15px 12px 38px;
    margin-bottom: 10px;
    background: #f8faff;
    border-radius: 8px;
    color: #444444;
    font-size: 16px;
    line-height: 1.75;
}

.usa-bullet-list li::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 20px;
    width: 8px;
    height: 8px;
    background: #F5C518;
    border-radius: 50%;
}

/* ========================================================= SMALL INFORMATION BOX ========================================================= */
.usa-info-box {
    margin-top: 20px;
    padding: 18px 20px;
    background: #fffdf3;
    border-left: 4px solid #F5C518;
    border-radius: 0 8px 8px 0;
}

.usa-info-box p {
    margin: 0;
    font-size: 15px;
}

/* ========================================================= VISA OVERVIEW SECTION ========================================================= */
.usa-overview {
    padding: 30px 0;
    background: #ffffff;
}

.usa-overview-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 42px 45px;
    background: #f8faff;
    border-radius: 14px;
    border-top: 4px solid #F5C518;
    box-shadow: 0 7px 25px rgba(17, 42, 128, 0.06);
}

/* ========================================================= FINAL CTA ========================================================= */
.usa-future {
    padding: 80px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.usa-future::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -100px;
    top: -100px;
    border: 40px solid rgba(245, 197, 24, 0.10);
    border-radius: 50%;
}

.usa-future-content {
    position: relative;
    z-index: 2;
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.usa-future h2 {
    color: #ffffff;
    margin-bottom: 15px;
}

.usa-future .usa-heading-line {
    background: #F5C518;
}

.usa-future p {
    color: #ffffff;
    text-align: justify;
}

.usa-future strong {
    color: #F5C518;
}

.usa-start-button {
    display: inline-block;
    margin-top: 15px;
    padding: 14px 30px;
    background: #F5C518;
    color: #112A80 !important;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: 700;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.usa-start-button:hover {
    background: #ffffff;
    color: #112A80 !important;
    transform: translateY(-2px);
}

.usa-brand {
    margin-top: 28px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.usa-brand-name {
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 4px;
}

.usa-brand-tagline {
    display: block;
    color: #F5C518;
    font-size: 15px;
    font-style: italic;
}

/* ========================================================= RESPONSIVE - TABLET ========================================================= */
@media (max-width: 991px) {

    .usa-intro,
    .usa-programs,
    .usa-overview,
    .usa-future {
        padding: 60px 0;
    }

    .usa-page h1 {
        font-size: 38px;
    }

    .usa-page h2 {
        font-size: 30px;
    }

    .usa-intro-box {
        padding: 35px;
    }

    .usa-program-grid {
        grid-template-columns: 1fr;
    }

    .usa-program-card-full {
        grid-column: auto;
    }

    .usa-overview-box {
        padding: 35px;
    }
}

/* ========================================================= RESPONSIVE - MOBILE ========================================================= */
@media (max-width: 767px) {
    .usa-page .container {
        padding: 0 15px;
    }

    .usa-intro,
    .usa-programs,
    .usa-overview,
    .usa-future {
        padding: 50px 0;
    }

    .usa-page h1 {
        font-size: 32px;
    }

    .usa-page h2 {
        font-size: 27px;
    }

    .usa-page h3 {
        font-size: 20px;
    }

    .usa-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .usa-heading {
        margin-bottom: 32px;
    }

    .usa-intro-box {
        padding: 27px 22px;
    }

    .usa-program-card {
        padding: 28px 24px;
    }

    .usa-bullet-list li {
        font-size: 15px;
        padding-left: 34px;
    }

    .usa-overview-box {
        padding: 28px 22px;
    }

    .usa-future-content {
        padding: 0 5px;
    }

    .usa-start-button {
        width: 100%;
        text-align: center;
    }
}

/* ========================================================= RESPONSIVE - SMALL MOBILE ========================================================= */
@media (max-width: 480px) {
    .usa-page h1 {
        font-size: 29px;
    }

    .usa-page h2 {
        font-size: 25px;
    }

    .usa-intro-box {
        padding: 23px 18px;
    }

    .usa-program-card {
        padding: 25px 20px;
    }

    .usa-overview-box {
        padding: 25px 18px;
    }
}

/* ========================================================= UK PAGE - BASE ========================================================= */
.uk-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.uk-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ========================================================= TYPOGRAPHY ========================================================= */
.uk-page h1,
.uk-page h2,
.uk-page h3 {
    color: #112A80;
    margin-top: 0;
    font-weight: 700;
}

.uk-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.uk-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 25px;
}

.uk-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.uk-page p {
    font-size: 16px;
    line-height: 1.9;
    color: #444444;
    margin: 0 0 20px;
    text-align: justify;
}

.uk-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ========================================================= COMMON SECTION HEADING ========================================================= */
.uk-heading {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.uk-heading h2 {
    margin-bottom: 15px;
}

.uk-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 20px;
    margin: 0 auto 22px;
}

/* ========================================================= INTRODUCTION ========================================================= */
.uk-intro {
    padding: 30px 0;
    background: #ffffff;
}

.uk-intro-title {
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
}

.uk-intro-title h1 {
    color: #112A80;
    margin-bottom: 15px;
}

.uk-intro-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
}

.uk-intro-box p:last-child {
    margin-bottom: 0;
}

/* ========================================================= UK IMMIGRATION PROGRAMS ========================================================= */
.uk-programs {
    padding: 30px 0;
    background: #f8faff;
}

.uk-program-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* ========================================================= PROGRAM CARD ========================================================= */
.uk-program-card {
    position: relative;
    background: #ffffff;
    padding: 34px 34px 32px;
    border-radius: 13px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
    overflow: hidden;
    transition: all 0.3s ease;
}

.uk-program-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.uk-program-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(17, 42, 128, 0.12);
}

.uk-program-card h3 {
    color: #112A80;
    padding-left: 5px;
    margin-bottom: 16px;
}

.uk-program-card p:last-child {
    margin-bottom: 0;
}

/* ========================================================= FEATURE / FULL-WIDTH CARD ========================================================= */
.uk-program-card-full {
    grid-column: 1 / -1;
}

/* ========================================================= PROGRAM ICON ========================================================= */
.uk-program-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: #112A80;
    color: #F5C518;
    border-radius: 50%;
    font-size: 21px;
    font-weight: 700;
}

/* ========================================================= CUSTOM BULLET LIST ========================================================= */
.uk-bullet-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}

.uk-bullet-list li {
    position: relative;
    padding: 11px 15px 11px 38px;
    margin-bottom: 9px;
    background: #f8faff;
    border-radius: 8px;
    color: #444444;
    font-size: 16px;
    line-height: 1.75;
}

.uk-bullet-list li::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 20px;
    width: 8px;
    height: 8px;
    background: #F5C518;
    border-radius: 50%;
}

/* ========================================================= FINAL JOURNEY SECTION ========================================================= */
.uk-journey {
    padding: 80px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.uk-journey::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -100px;
    top: -100px;
    border: 40px solid rgba(245, 197, 24, 0.10);
    border-radius: 50%;
}

.uk-journey-content {
    position: relative;
    z-index: 2;
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.uk-journey h2 {
    color: #ffffff;
    margin-bottom: 15px;
}

.uk-journey .uk-heading-line {
    background: #F5C518;
}

.uk-journey p {
    color: #ffffff;
    text-align: justify;
}

.uk-journey strong {
    color: #F5C518;
}

/* ========================================================= DISCLAIMER ========================================================= */
.uk-disclaimer {
    margin-top: 25px;
    padding: 18px 22px;
    background: rgba(255, 255, 255, 0.08);
    border-left: 4px solid #F5C518;
    border-radius: 0 8px 8px 0;
}

.uk-disclaimer p {
    margin: 0;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.8;
}

/* ========================================================= BRAND / TAGLINE ========================================================= */
.uk-brand {
    margin-top: 28px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.uk-brand-name {
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.uk-brand-tagline {
    display: block;
    color: #F5C518;
    font-size: 15px;
    font-style: italic;
}

/* ========================================================= RESPONSIVE - TABLET ========================================================= */
@media (max-width: 991px) {

    .uk-intro,
    .uk-programs,
    .uk-journey {
        padding: 60px 0;
    }

    .uk-page h1 {
        font-size: 38px;
    }

    .uk-page h2 {
        font-size: 30px;
    }

    .uk-intro-box {
        padding: 35px;
    }

    .uk-program-grid {
        grid-template-columns: 1fr;
    }

    .uk-program-card-full {
        grid-column: auto;
    }
}

/* ========================================================= RESPONSIVE - MOBILE ========================================================= */
@media (max-width: 767px) {
    .uk-page .container {
        padding: 0 15px;
    }

    .uk-intro,
    .uk-programs,
    .uk-journey {
        padding: 50px 0;
    }

    .uk-page h1 {
        font-size: 32px;
    }

    .uk-page h2 {
        font-size: 27px;
    }

    .uk-page h3 {
        font-size: 20px;
    }

    .uk-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .uk-heading {
        margin-bottom: 32px;
    }

    .uk-intro-box {
        padding: 27px 22px;
    }

    .uk-program-card {
        padding: 28px 24px;
    }

    .uk-bullet-list li {
        font-size: 15px;
        padding-left: 34px;
    }
}

/* ========================================================= RESPONSIVE - SMALL MOBILE ========================================================= */
@media (max-width: 480px) {
    .uk-page h1 {
        font-size: 29px;
    }

    .uk-page h2 {
        font-size: 25px;
    }

    .uk-intro-box {
        padding: 23px 18px;
    }

    .uk-program-card {
        padding: 25px 20px;
    }

    .uk-journey-content {
        padding: 0 5px;
    }
}

/* ========================================================= NEW ZEALAND PAGE - BASE ========================================================= */
.nz-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.nz-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ========================================================= TYPOGRAPHY ========================================================= */
.nz-page h1,
.nz-page h2,
.nz-page h3 {
    color: #112A80;
    margin-top: 0;
    font-weight: 700;
}

.nz-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.nz-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 25px;
}

.nz-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.nz-page p {
    font-size: 16px;
    line-height: 1.9;
    color: #444444;
    margin: 0 0 20px;
    text-align: justify;
}

.nz-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ========================================================= COMMON SECTION HEADING ========================================================= */
.nz-heading {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.nz-heading h2 {
    margin-bottom: 15px;
}

.nz-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 20px;
    margin: 0 auto 22px;
}

/* ========================================================= INTRODUCTION ========================================================= */
.nz-intro {
    padding: 30px 0;
    background: #ffffff;
}

.nz-intro-title {
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
}

.nz-intro-title h1 {
    color: #112A80;
    margin-bottom: 15px;
}

.nz-intro-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
}

.nz-intro-box p:last-child {
    margin-bottom: 0;
}

/* ========================================================= NEW ZEALAND SERVICES ========================================================= */
.nz-services {
    padding: 30px 0;
    background: #f8faff;
}

.nz-service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* ========================================================= SERVICE CARD ========================================================= */
.nz-service-card {
    position: relative;
    background: #ffffff;
    padding: 34px 34px 32px;
    border-radius: 13px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
    overflow: hidden;
    transition: all 0.3s ease;
}

.nz-service-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.nz-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(17, 42, 128, 0.12);
}

.nz-service-card h3 {
    color: #112A80;
    padding-left: 5px;
    margin-bottom: 15px;
}

.nz-service-card p {
    margin-bottom: 0;
}

/* ========================================================= FULL WIDTH SERVICE CARD ========================================================= */
.nz-service-card-full {
    grid-column: 1 / -1;
}

/* ========================================================= CUSTOM SERVICE BULLETS ========================================================= */
.nz-service-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nz-service-list li {
    position: relative;
    padding: 18px 20px 18px 52px;
    margin-bottom: 14px;
    background: #ffffff;
    border: 1px solid rgba(17, 42, 128, 0.08);
    border-radius: 10px;
    color: #444444;
    font-size: 16px;
    line-height: 1.8;
    box-shadow: 0 5px 20px rgba(17, 42, 128, 0.04);
    transition: all 0.3s ease;
}

.nz-service-list li:last-child {
    margin-bottom: 0;
}

.nz-service-list li::before {
    content: "";
    position: absolute;
    left: 21px;
    top: 25px;
    width: 10px;
    height: 10px;
    background: #F5C518;
    border-radius: 50%;
}

.nz-service-list li:hover {
    transform: translateX(4px);
    border-color: rgba(245, 197, 24, 0.65);
    box-shadow: 0 8px 24px rgba(17, 42, 128, 0.08);
}

.nz-service-list li strong {
    color: #112A80;
}

/* ========================================================= FINAL CTA / JOURNEY SECTION ========================================================= */
.nz-journey {
    padding: 80px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.nz-journey::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: -110px;
    top: -110px;
    border: 42px solid rgba(245, 197, 24, 0.10);
    border-radius: 50%;
}

.nz-journey-content {
    position: relative;
    z-index: 2;
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.nz-journey h2 {
    color: #ffffff;
    margin-bottom: 15px;
}

.nz-journey .nz-heading-line {
    background: #F5C518;
}

.nz-journey p {
    color: #ffffff;
    text-align: center;
    margin-bottom: 22px;
}

.nz-journey strong {
    color: #F5C518;
}

/* ========================================================= FINAL CTA MESSAGE ========================================================= */
.nz-journey-message {
    display: inline-block;
    margin-top: 10px;
    padding: 18px 30px;
    border: 1px solid rgba(245, 197, 24, 0.45);
    border-radius: 50px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.7;
}

.nz-journey-message strong {
    color: #F5C518;
}

/* ========================================================= BRAND / TAGLINE ========================================================= */
.nz-brand {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.nz-brand-name {
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.nz-brand-tagline {
    display: block;
    color: #F5C518;
    font-size: 15px;
    font-style: italic;
}

/* ========================================================= RESPONSIVE - TABLET ========================================================= */
@media (max-width: 991px) {

    .nz-intro,
    .nz-services,
    .nz-journey {
        padding: 60px 0;
    }

    .nz-page h1 {
        font-size: 38px;
    }

    .nz-page h2 {
        font-size: 30px;
    }

    .nz-intro-box {
        padding: 35px;
    }

    .nz-service-grid {
        grid-template-columns: 1fr;
    }

    .nz-service-card-full {
        grid-column: auto;
    }
}

/* ========================================================= RESPONSIVE - MOBILE ========================================================= */
@media (max-width: 767px) {
    .nz-page .container {
        padding: 0 15px;
    }

    .nz-intro,
    .nz-services,
    .nz-journey {
        padding: 50px 0;
    }

    .nz-page h1 {
        font-size: 32px;
    }

    .nz-page h2 {
        font-size: 27px;
    }

    .nz-page h3 {
        font-size: 20px;
    }

    .nz-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .nz-heading {
        margin-bottom: 32px;
    }

    .nz-intro-box {
        padding: 27px 22px;
    }

    .nz-service-card {
        padding: 28px 24px;
    }

    .nz-service-list li {
        font-size: 15px;
        padding: 16px 16px 16px 45px;
    }

    .nz-service-list li::before {
        left: 18px;
        top: 23px;
    }

    .nz-journey-message {
        display: block;
        padding: 16px 20px;
        border-radius: 10px;
    }
}

/* ========================================================= RESPONSIVE - SMALL MOBILE ========================================================= */
@media (max-width: 480px) {
    .nz-page h1 {
        font-size: 29px;
    }

    .nz-page h2 {
        font-size: 25px;
    }

    .nz-intro-box {
        padding: 23px 18px;
    }

    .nz-service-card {
        padding: 25px 20px;
    }

    .nz-service-list li {
        padding-left: 40px;
    }

    .nz-journey-content {
        padding: 0 5px;
    }
}

/* ========================================================= IRELAND PAGE - BASE ========================================================= */
.ireland-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.ireland-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ========================================================= TYPOGRAPHY ========================================================= */
.ireland-page h1,
.ireland-page h2,
.ireland-page h3 {
    color: #112A80;
    margin-top: 0;
    font-weight: 700;
}

.ireland-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.ireland-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 25px;
}

.ireland-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.ireland-page p {
    font-size: 16px;
    line-height: 1.9;
    color: #444444;
    margin: 0 0 20px;
    text-align: justify;
}

.ireland-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ========================================================= COMMON SECTION HEADING ========================================================= */
.ireland-heading {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.ireland-heading h2 {
    margin-bottom: 15px;
}

.ireland-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 20px;
    margin: 0 auto 22px;
}

/* ========================================================= INTRODUCTION ========================================================= */
.ireland-intro {
    padding: 30px 0;
    background: #ffffff;
}

.ireland-intro-title {
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
}

.ireland-intro-title h1 {
    color: #112A80;
    margin-bottom: 15px;
}

.ireland-intro-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
}

.ireland-intro-box p:last-child {
    margin-bottom: 0;
}

/* ========================================================= IRELAND SERVICES ========================================================= */
.ireland-services {
    padding: 30px 0;
    background: #f8faff;
}

.ireland-service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* ========================================================= SERVICE CARD ========================================================= */
.ireland-service-card {
    position: relative;
    background: #ffffff;
    padding: 34px 34px 32px;
    border-radius: 13px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
    overflow: hidden;
    transition: all 0.3s ease;
}

.ireland-service-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.ireland-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(17, 42, 128, 0.12);
}

.ireland-service-card h3 {
    color: #112A80;
    padding-left: 5px;
    margin-bottom: 15px;
}

.ireland-service-card p {
    margin-bottom: 0;
}

/* ========================================================= FULL WIDTH SERVICE CARD ========================================================= */
.ireland-service-card-full {
    grid-column: 1 / -1;
}

/* ========================================================= CUSTOM SERVICE BULLET LIST ========================================================= */
.ireland-service-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ireland-service-list li {
    position: relative;
    padding: 18px 20px 18px 52px;
    margin-bottom: 14px;
    background: #ffffff;
    border: 1px solid rgba(17, 42, 128, 0.08);
    border-radius: 10px;
    color: #444444;
    font-size: 16px;
    line-height: 1.8;
    box-shadow: 0 5px 20px rgba(17, 42, 128, 0.04);
    transition: all 0.3s ease;
}

.ireland-service-list li:last-child {
    margin-bottom: 0;
}

.ireland-service-list li::before {
    content: "";
    position: absolute;
    left: 21px;
    top: 25px;
    width: 10px;
    height: 10px;
    background: #F5C518;
    border-radius: 50%;
}

.ireland-service-list li:hover {
    transform: translateX(4px);
    border-color: rgba(245, 197, 24, 0.65);
    box-shadow: 0 8px 24px rgba(17, 42, 128, 0.08);
}

.ireland-service-list li strong {
    color: #112A80;
}

/* ========================================================= SUPPORT SECTION ========================================================= */
.ireland-support {
    padding: 30px 0;
    background: #ffffff;
}

.ireland-support-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 42px 48px;
    background: #f8faff;
    border-top: 4px solid #F5C518;
    border-radius: 14px;
    box-shadow: 0 7px 25px rgba(17, 42, 128, 0.06);
}

.ireland-support-box p:last-child {
    margin-bottom: 0;
}

/* ========================================================= FINAL CTA / JOURNEY SECTION ========================================================= */
.ireland-journey {
    padding: 80px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.ireland-journey::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: -110px;
    top: -110px;
    border: 42px solid rgba(245, 197, 24, 0.10);
    border-radius: 50%;
}

.ireland-journey-content {
    position: relative;
    z-index: 2;
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.ireland-journey h2 {
    color: #ffffff;
    margin-bottom: 15px;
}

.ireland-journey .ireland-heading-line {
    background: #F5C518;
}

.ireland-journey p {
    color: #ffffff;
    text-align: center;
    margin-bottom: 22px;
}

.ireland-journey strong {
    color: #F5C518;
}

/* ========================================================= FINAL MESSAGE ========================================================= */
.ireland-final-message {
    display: inline-block;
    margin-top: 8px;
    padding: 18px 30px;
    border: 1px solid rgba(245, 197, 24, 0.45);
    border-radius: 50px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.7;
}

.ireland-final-message strong {
    color: #F5C518;
}

/* ========================================================= BRAND / TAGLINE ========================================================= */
.ireland-brand {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.ireland-brand-name {
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.ireland-brand-tagline {
    display: block;
    color: #F5C518;
    font-size: 15px;
    font-style: italic;
}

/* ========================================================= RESPONSIVE - TABLET ========================================================= */
@media (max-width: 991px) {

    .ireland-intro,
    .ireland-services,
    .ireland-support,
    .ireland-journey {
        padding: 60px 0;
    }

    .ireland-page h1 {
        font-size: 38px;
    }

    .ireland-page h2 {
        font-size: 30px;
    }

    .ireland-intro-box,
    .ireland-support-box {
        padding: 35px;
    }

    .ireland-service-grid {
        grid-template-columns: 1fr;
    }

    .ireland-service-card-full {
        grid-column: auto;
    }
}

/* ========================================================= RESPONSIVE - MOBILE ========================================================= */
@media (max-width: 767px) {
    .ireland-page .container {
        padding: 0 15px;
    }

    .ireland-intro,
    .ireland-services,
    .ireland-support,
    .ireland-journey {
        padding: 50px 0;
    }

    .ireland-page h1 {
        font-size: 32px;
    }

    .ireland-page h2 {
        font-size: 27px;
    }

    .ireland-page h3 {
        font-size: 20px;
    }

    .ireland-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .ireland-heading {
        margin-bottom: 32px;
    }

    .ireland-intro-box {
        padding: 27px 22px;
    }

    .ireland-service-card {
        padding: 28px 24px;
    }

    .ireland-service-list li {
        font-size: 15px;
        padding: 16px 16px 16px 45px;
    }

    .ireland-service-list li::before {
        left: 18px;
        top: 23px;
    }

    .ireland-support-box {
        padding: 28px 22px;
    }

    .ireland-final-message {
        display: block;
        padding: 16px 20px;
        border-radius: 10px;
    }
}

/* ========================================================= RESPONSIVE - SMALL MOBILE ========================================================= */
@media (max-width: 480px) {
    .ireland-page h1 {
        font-size: 29px;
    }

    .ireland-page h2 {
        font-size: 25px;
    }

    .ireland-intro-box {
        padding: 23px 18px;
    }

    .ireland-service-card {
        padding: 25px 20px;
    }

    .ireland-service-list li {
        padding-left: 40px;
    }

    .ireland-support-box {
        padding: 25px 18px;
    }

    .ireland-journey-content {
        padding: 0 5px;
    }
}

/* ========================================================= UAE PAGE - BASE ========================================================= */
.uae-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.uae-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ========================================================= TYPOGRAPHY ========================================================= */
.uae-page h1,
.uae-page h2,
.uae-page h3 {
    color: #112A80;
    margin-top: 0;
    font-weight: 700;
}

.uae-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.uae-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 25px;
}

.uae-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.uae-page p {
    font-size: 16px;
    line-height: 1.9;
    color: #444444;
    margin: 0 0 20px;
    text-align: justify;
}

.uae-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ========================================================= COMMON SECTION HEADING ========================================================= */
.uae-heading {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.uae-heading h2 {
    margin-bottom: 15px;
}

.uae-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 20px;
    margin: 0 auto 22px;
}

/* ========================================================= INTRODUCTION ========================================================= */
.uae-intro {
    padding: 30px 0;
    background: #ffffff;
}

.uae-intro-title {
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
}

.uae-intro-title h1 {
    color: #112A80;
    margin-bottom: 15px;
}

.uae-intro-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
}

.uae-intro-box p:last-child {
    margin-bottom: 0;
}

/* ========================================================= UAE SERVICES ========================================================= */
.uae-services {
    padding: 30px 0;
    background: #f8faff;
}

.uae-service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* ========================================================= SERVICE CARD ========================================================= */
.uae-service-card {
    position: relative;
    background: #ffffff;
    padding: 34px 34px 32px;
    border-radius: 13px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
    overflow: hidden;
    transition: all 0.3s ease;
}

.uae-service-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.uae-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(17, 42, 128, 0.12);
}

.uae-service-card h3 {
    color: #112A80;
    padding-left: 5px;
    margin-bottom: 15px;
}

.uae-service-card p {
    margin-bottom: 0;
}

/* ========================================================= CUSTOM SERVICE BULLET LIST ========================================================= */
.uae-service-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.uae-service-list li {
    position: relative;
    padding: 20px 22px 20px 55px;
    margin-bottom: 15px;
    background: #ffffff;
    border: 1px solid rgba(17, 42, 128, 0.08);
    border-radius: 11px;
    color: #444444;
    font-size: 16px;
    line-height: 1.8;
    box-shadow: 0 5px 20px rgba(17, 42, 128, 0.04);
    transition: all 0.3s ease;
}

.uae-service-list li:last-child {
    margin-bottom: 0;
}

.uae-service-list li::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 27px;
    width: 10px;
    height: 10px;
    background: #F5C518;
    border-radius: 50%;
}

.uae-service-list li:hover {
    transform: translateX(4px);
    border-color: rgba(245, 197, 24, 0.65);
    box-shadow: 0 8px 24px rgba(17, 42, 128, 0.08);
}

.uae-service-list li strong {
    color: #112A80;
}

/* ========================================================= FINAL CTA / JOURNEY SECTION ========================================================= */
.uae-journey {
    padding: 80px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.uae-journey::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: -110px;
    top: -110px;
    border: 42px solid rgba(245, 197, 24, 0.10);
    border-radius: 50%;
}

.uae-journey-content {
    position: relative;
    z-index: 2;
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}

.uae-journey h2 {
    color: #ffffff;
    margin-bottom: 15px;
}

.uae-journey .uae-heading-line {
    background: #F5C518;
}

.uae-journey p {
    color: #ffffff;
    text-align: center;
    margin-bottom: 22px;
}

.uae-journey strong {
    color: #F5C518;
}

/* ========================================================= FINAL MESSAGE ========================================================= */
.uae-final-message {
    display: inline-block;
    margin-top: 8px;
    padding: 18px 30px;
    border: 1px solid rgba(245, 197, 24, 0.45);
    border-radius: 50px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.7;
}

.uae-final-message strong {
    color: #F5C518;
}

/* ========================================================= BRAND / TAGLINE ========================================================= */
.uae-brand {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.uae-brand-name {
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
}

.uae-brand-tagline {
    display: block;
    color: #F5C518;
    font-size: 15px;
    font-style: italic;
}

/* ========================================================= RESPONSIVE - TABLET ========================================================= */
@media (max-width: 991px) {

    .uae-intro,
    .uae-services,
    .uae-journey {
        padding: 60px 0;
    }

    .uae-page h1 {
        font-size: 38px;
    }

    .uae-page h2 {
        font-size: 30px;
    }

    .uae-intro-box {
        padding: 35px;
    }

    .uae-service-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================================= RESPONSIVE - MOBILE ========================================================= */
@media (max-width: 767px) {
    .uae-page .container {
        padding: 0 15px;
    }

    .uae-intro,
    .uae-services,
    .uae-journey {
        padding: 50px 0;
    }

    .uae-page h1 {
        font-size: 32px;
    }

    .uae-page h2 {
        font-size: 27px;
    }

    .uae-page h3 {
        font-size: 20px;
    }

    .uae-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .uae-heading {
        margin-bottom: 32px;
    }

    .uae-intro-box {
        padding: 27px 22px;
    }

    .uae-service-card {
        padding: 28px 24px;
    }

    .uae-service-list li {
        font-size: 15px;
        padding: 16px 16px 16px 45px;
    }

    .uae-service-list li::before {
        left: 18px;
        top: 23px;
    }

    .uae-final-message {
        display: block;
        padding: 16px 20px;
        border-radius: 10px;
    }
}

/* ========================================================= RESPONSIVE - SMALL MOBILE ========================================================= */
@media (max-width: 480px) {
    .uae-page h1 {
        font-size: 29px;
    }

    .uae-page h2 {
        font-size: 25px;
    }

    .uae-intro-box {
        padding: 23px 18px;
    }

    .uae-service-card {
        padding: 25px 20px;
    }

    .uae-service-list li {
        padding-left: 40px;
    }

    .uae-journey-content {
        padding: 0 5px;
    }
}

/* ========================================================= DIGITAL NOMAD VISA PAGE BASE ========================================================= */
.dn-page {
    background: #ffffff;
    color: #333333;
    font-family: "Poppins", sans-serif;
    line-height: 1.8;
}

.dn-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.dn-page h1,
.dn-page h2,
.dn-page h3,
.dn-page h4 {
    color: #112A80;
    font-weight: 700;
    margin-top: 0;
}

.dn-page h1 {
    font-size: 46px;
    line-height: 1.2;
    margin-bottom: 15px;
}

.dn-page h2 {
    font-size: 34px;
    line-height: 1.3;
    margin-bottom: 18px;
}

.dn-page h3 {
    font-size: 22px;
    line-height: 1.4;
    margin-bottom: 14px;
}

.dn-page p {
    color: #444444;
    font-size: 16px;
    line-height: 1.9;
    margin: 0 0 20px;
    text-align: justify;
}

.dn-page strong {
    color: #112A80;
    font-weight: 700;
}

/* ========================================================= SECTION HEADING ========================================================= */
.dn-section-heading {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.dn-section-heading h2 {
    margin-bottom: 15px;
}

.dn-heading-line {
    width: 70px;
    height: 4px;
    background: #F5C518;
    border-radius: 20px;
    margin: 0 auto 20px;
}

/* ========================================================= HERO / INTRO ========================================================= */
.dn-hero {
    padding: 85px 0;
    background: #ffffff;
}

.dn-hero-title {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.dn-hero-title h1 {
    color: #112A80;
}

.dn-hero-subtitle {
    color: #112A80;
    font-size: 23px;
    font-weight: 700;
    margin-bottom: 22px;
}

.dn-hero-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px 50px;
    background: #ffffff;
    border-left: 5px solid #F5C518;
    border-radius: 0 15px 15px 0;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.08);
}

.dn-hero-box p:last-child {
    margin-bottom: 0;
}

/* ========================================================= HIGHLIGHT STATEMENT ========================================================= */
.dn-highlight {
    margin: 35px auto 0;
    max-width: 900px;
    padding: 22px 30px;
    background: #112A80;
    border-radius: 12px;
    text-align: center;
}

.dn-highlight p {
    color: #ffffff;
    margin: 0;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}

.dn-highlight strong {
    color: #F5C518;
}

/* ========================================================= STANDARD CONTENT SECTION ========================================================= */
.dn-content-section {
    padding: 80px 0;
    background: #f8faff;
}

.dn-content-section.white {
    background: #ffffff;
}

.dn-content-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 40px 45px;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
}

/* ========================================================= CUSTOM BULLET LIST ========================================================= */
.dn-list {
    list-style: none;
    padding: 0;
    margin: 25px 0 0;
}

.dn-list li {
    position: relative;
    padding: 13px 18px 13px 45px;
    margin-bottom: 10px;
    background: #f8faff;
    border-radius: 8px;
    color: #444444;
    font-size: 16px;
    line-height: 1.75;
}

.dn-list li::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 22px;
    width: 9px;
    height: 9px;
    background: #F5C518;
    border-radius: 50%;
}

.dn-list li:last-child {
    margin-bottom: 0;
}

/* ========================================================= WHY APPLY SECTION ========================================================= */
.dn-benefits {
    padding: 80px 0;
    background: #ffffff;
}

.dn-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 1050px;
    margin: 0 auto;
}

.dn-benefit-card {
    position: relative;
    padding: 30px;
    background: #ffffff;
    border-radius: 13px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 25px rgba(17, 42, 128, 0.06);
}

.dn-benefit-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
    border-radius: 13px 0 0 13px;
}

.dn-benefit-card h3 {
    margin-bottom: 10px;
}

.dn-benefit-card p {
    margin-bottom: 0;
}

/* ========================================================= DESTINATION SECTION ========================================================= */
.dn-destinations {
    padding: 80px 0;
    background: #f8faff;
}

.dn-destination-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.dn-destination-card {
    position: relative;
    background: #ffffff;
    padding: 34px;
    border-radius: 14px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
    transition: all 0.3s ease;
    overflow: hidden;
}

.dn-destination-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #F5C518;
}

.dn-destination-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(17, 42, 128, 0.12);
}

.dn-destination-card h3 {
    padding-left: 5px;
    margin-bottom: 15px;
}

.dn-destination-card p {
    margin-bottom: 18px;
}

/* ========================================================= KEY HIGHLIGHTS ========================================================= */
.dn-key-title {
    color: #112A80;
    font-size: 16px;
    font-weight: 700;
    margin: 18px 0 12px;
}

.dn-key-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dn-key-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 8px;
    color: #444444;
    font-size: 15px;
    line-height: 1.7;
}

.dn-key-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #112A80;
    font-weight: 800;
}

.dn-key-list li::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 8px;
    width: 5px;
    height: 5px;
    background: #F5C518;
    border-radius: 50%;
}

/* ========================================================= OTHER DESTINATIONS ========================================================= */
.dn-other {
    padding: 80px 0;
    background: #ffffff;
}

.dn-country-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    max-width: 1050px;
    margin: 0 auto;
}

.dn-country-item {
    position: relative;
    padding: 14px 18px 14px 38px;
    background: #f8faff;
    border: 1px solid rgba(17, 42, 128, 0.07);
    border-radius: 9px;
    color: #112A80;
    font-size: 15px;
    font-weight: 600;
}

.dn-country-item::before {
    content: "";
    position: absolute;
    left: 17px;
    top: 22px;
    width: 7px;
    height: 7px;
    background: #F5C518;
    border-radius: 50%;
}

/* ========================================================= CTA FIND COUNTRY ========================================================= */
.dn-find-country {
    margin-top: 45px;
    text-align: center;
}

.dn-find-country-box {
    display: inline-block;
    padding: 17px 30px;
    background: #112A80;
    color: #ffffff;
    border-radius: 50px;
    font-size: 17px;
    font-weight: 600;
}

.dn-find-country-box span {
    color: #F5C518;
}

/* ========================================================= DOCUMENTS SECTION ========================================================= */
.dn-documents {
    padding: 80px 0;
    background: #f8faff;
}

.dn-document-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    max-width: 1050px;
    margin: 0 auto;
}

.dn-document-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dn-document-list li {
    position: relative;
    padding: 14px 15px 14px 48px;
    margin-bottom: 10px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid rgba(17, 42, 128, 0.07);
    color: #444444;
    font-size: 15px;
    line-height: 1.7;
}

.dn-document-list li::before {
    content: "";
    position: absolute;
    left: 17px;
    top: 21px;
    width: 10px;
    height: 10px;
    background: #F5C518;
    border-radius: 50%;
}

.dn-document-list li:last-child {
    margin-bottom: 0;
}

.dn-document-note {
    margin-top: 25px;
    padding: 22px 25px;
    background: #ffffff;
    border-left: 4px solid #F5C518;
    border-radius: 0 9px 9px 0;
}

.dn-document-note p {
    margin: 0;
}

/* ========================================================= APPLICATION PROCESS ========================================================= */
.dn-process {
    padding: 80px 0;
    background: #ffffff;
}

.dn-process-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 45px;
    border-radius: 14px;
    background: #f8faff;
    border-top: 5px solid #F5C518;
    box-shadow: 0 8px 30px rgba(17, 42, 128, 0.06);
}

.dn-process-placeholder {
    text-align: center;
    padding: 25px;
    border: 1px dashed rgba(17, 42, 128, 0.20);
    border-radius: 10px;
    color: #112A80;
    font-weight: 600;
}

/* ========================================================= WHY CHOOSE OPEN PATH ========================================================= */
.dn-why {
    padding: 80px 0;
    background: #f8faff;
}

.dn-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    max-width: 1050px;
    margin: 0 auto;
}

.dn-why-card {
    background: #ffffff;
    padding: 35px;
    border-radius: 14px;
    border: 1px solid rgba(17, 42, 128, 0.08);
    box-shadow: 0 7px 28px rgba(17, 42, 128, 0.06);
    border-left: 5px solid #F5C518;
}

.dn-why-card h3 {
    margin-bottom: 12px;
}

.dn-why-card p {
    margin-bottom: 0;
}

/* ========================================================= CTA SECTION ========================================================= */
.dn-cta {
    padding: 75px 0;
    background: #112A80;
    position: relative;
    overflow: hidden;
}

.dn-cta::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -120px;
    top: -120px;
    border: 45px solid rgba(245, 197, 24, 0.10);
    border-radius: 50%;
}

.dn-cta-content {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.dn-cta-content h2 {
    color: #ffffff;
    margin-bottom: 15px;
}

.dn-cta-content p {
    color: #ffffff;
    text-align: center;
}

.dn-cta-content strong {
    color: #F5C518;
}

/* ========================================================= CTA BUTTONS ========================================================= */
.dn-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}

.dn-cta-button {
    display: inline-block;
    padding: 14px 25px;
    border: 2px solid #F5C518;
    border-radius: 7px;
    color: #ffffff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.dn-cta-button:hover {
    background: #F5C518;
    color: #112A80;
    text-decoration: none;
}

/* ========================================================= TAGLINE ========================================================= */
.dn-tagline {
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    color: #F5C518;
    font-size: 18px;
    font-weight: 600;
    font-style: italic;
}

/* ========================================================= DISCLAIMER ========================================================= */
.dn-disclaimer {
    padding: 55px 0;
    background: #ffffff;
}

.dn-disclaimer-box {
    max-width: 1050px;
    margin: 0 auto;
    padding: 25px 30px;
    background: #f8faff;
    border-left: 4px solid #F5C518;
    border-radius: 0 10px 10px 0;
}

.dn-disclaimer-box h3 {
    font-size: 20px;
    margin-bottom: 10px;
}

.dn-disclaimer-box p {
    font-size: 14px;
    margin: 0;
}

/* ========================================================= RESPONSIVE - TABLET ========================================================= */
@media (max-width: 991px) {

    .dn-hero,
    .dn-content-section,
    .dn-benefits,
    .dn-destinations,
    .dn-other,
    .dn-documents,
    .dn-process,
    .dn-why,
    .dn-cta {
        padding: 60px 0;
    }

    .dn-page h1 {
        font-size: 38px;
    }

    .dn-page h2 {
        font-size: 30px;
    }

    .dn-hero-box {
        padding: 35px;
    }

    .dn-benefit-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dn-country-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ========================================================= RESPONSIVE - MOBILE ========================================================= */
@media (max-width: 767px) {
    .dn-page .container {
        padding: 0 15px;
    }

    .dn-hero,
    .dn-content-section,
    .dn-benefits,
    .dn-destinations,
    .dn-other,
    .dn-documents,
    .dn-process,
    .dn-why,
    .dn-cta {
        padding: 50px 0;
    }

    .dn-page h1 {
        font-size: 32px;
    }

    .dn-page h2 {
        font-size: 27px;
    }

    .dn-page h3 {
        font-size: 20px;
    }

    .dn-page p {
        font-size: 15px;
        line-height: 1.8;
    }

    .dn-hero-box {
        padding: 28px 22px;
    }

    .dn-hero-subtitle {
        font-size: 20px;
    }

    .dn-benefit-grid,
    .dn-destination-grid,
    .dn-document-grid,
    .dn-why-grid {
        grid-template-columns: 1fr;
    }

    .dn-country-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .dn-content-box,
    .dn-process-box {
        padding: 28px 22px;
    }

    .dn-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .dn-cta-button {
        text-align: center;
    }
}

/* ========================================================= RESPONSIVE - SMALL MOBILE ========================================================= */
@media (max-width: 480px) {
    .dn-page h1 {
        font-size: 29px;
    }

    .dn-page h2 {
        font-size: 25px;
    }

    .dn-hero-box {
        padding: 24px 18px;
    }

    .dn-country-list {
        grid-template-columns: 1fr;
    }

    .dn-destination-card,
    .dn-benefit-card,
    .dn-why-card {
        padding: 26px 22px;
    }

    .dn-process-box {
        padding: 25px 18px;
    }
}