/*========================================================
    MEDICAL OPINION — UNIQUE EDITORIAL HERO
=========================================================*/

.ms-opinion-editorial {

    position: relative;

    padding: 105px 0 115px;

    background: #f8f6f0;

    overflow: hidden;

}


/*========================================================
    SUBTLE BACKGROUND
=========================================================*/

.ms-opinion-editorial::before {

    content: "";

    position: absolute;

    width: 520px;

    height: 520px;

    right: -260px;

    top: -230px;

    border: 1px solid rgba(22,171,123,0.10);

    border-radius: 50%;

}

.ms-opinion-editorial::after {

    content: "";

    position: absolute;

    width: 300px;

    height: 300px;

    left: -180px;

    bottom: -170px;

    border: 1px solid rgba(230,132,61,0.12);

    border-radius: 50%;

}


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

.ms-opinion-editorial-grid {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 0.95fr 1.05fr;

    align-items: center;

    gap: 80px;

}


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

.ms-opinion-editorial-content {

    max-width: 650px;

}


/*========================================================
    SERVICE TAG
=========================================================*/

.ms-opinion-service-tag {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 25px;

    color: #103f36;

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

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-opinion-service-tag span {

    width: 34px;

    height: 3px;

    display: inline-block;

    background: #e2843d;

}


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

.ms-opinion-editorial-content h1 {

    max-width: 680px;

    margin: 0 0 27px;

    color: #173a40;

    font-family: "Marcellus", serif;

    font-size: 57px;

    line-height: 1.12;

    font-weight: 400;

    letter-spacing: -0.5px;

}

.ms-opinion-editorial-content h1 em {

    display: block;

    color: #16ab7b;

    font-style: normal;

}


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

.ms-opinion-editorial-intro {

    max-width: 580px;

    margin: 0 0 32px;

    color: #4c5f63;

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

    font-size: 16px;

    line-height: 1.85;

    font-weight: 400;

}


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

.ms-opinion-editorial-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 16px 24px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition: 0.3s ease;

}

.ms-opinion-editorial-btn i {

    color: #e9a16d;

}

.ms-opinion-editorial-btn:hover {

    color: #ffffff;

    background: #16ab7b;

    transform: translateY(-2px);

}


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

.ms-opinion-editorial-note {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-top: 23px;

    color: #69797c;

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

    font-size: 11px;

    line-height: 1.5;

}

.ms-opinion-editorial-note i {

    color: #e2843d;

    font-size: 12px;

}


/*========================================================
    RIGHT VISUAL
=========================================================*/

.ms-opinion-editorial-visual {

    position: relative;

    min-height: 600px;

    display: flex;

    align-items: center;

    justify-content: center;

}


/*========================================================
    ORANGE VERTICAL LINE
=========================================================*/

.ms-opinion-orange-line {

    position: absolute;

    width: 3px;

    height: 430px;

    right: 40px;

    top: 80px;

    background: #e2843d;

}


/*========================================================
    PAPER SHADOW
=========================================================*/

.ms-opinion-paper-shadow {

    position: absolute;

    width: 410px;

    height: 510px;

    margin-left: 70px;

    margin-top: 35px;

    background: #e9e3d8;

    transform: rotate(6deg);

}


/*========================================================
    REPORT
=========================================================*/

.ms-opinion-report {

    position: relative;

    z-index: 3;

    width: 410px;

    min-height: 515px;

    padding: 35px;

    background: #ffffff;

    box-shadow:
        0 25px 60px rgba(38,61,56,0.13);

    transform: rotate(-3deg);

}


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

.ms-opinion-report-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding-bottom: 22px;

    border-bottom: 1px solid #e7ebe7;

}

.ms-opinion-report-brand {

    display: flex;

    align-items: center;

    gap: 10px;

}

.ms-opinion-report-logo {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #ffffff;

    background: #103f36;

    font-family: "Marcellus", serif;

    font-size: 17px;

}

.ms-opinion-report-brand strong {

    display: block;

    color: #183d43;

    font-family: "Marcellus", serif;

    font-size: 14px;

    font-weight: 400;

}

.ms-opinion-report-brand small {

    display: block;

    margin-top: 2px;

    color: #8b999b;

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

    font-size: 8px;

}

.ms-opinion-report-number {

    color: #e2843d;

    font-family: "Marcellus", serif;

    font-size: 22px;

}


/*========================================================
    REPORT TITLE
=========================================================*/

.ms-opinion-report-title {

    margin-top: 42px;

    color: #8a9698;

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

    font-size: 13px;

    line-height: 1.5;

}

.ms-opinion-report-title strong {

    display: block;

    color: #183d43;

    font-family: "Marcellus", serif;

    font-size: 29px;

    font-weight: 400;

}


/*========================================================
    REPORT LINES
=========================================================*/

.ms-opinion-report-lines {

    display: flex;

    flex-direction: column;

    gap: 9px;

    margin: 30px 0;

}

.ms-opinion-report-lines span {

    width: 75%;

    height: 5px;

    display: block;

    background: #edf1ef;

}

.ms-opinion-report-lines span.long {

    width: 90%;

}

.ms-opinion-report-lines span.medium {

    width: 58%;

}


/*========================================================
    REPORT SECTIONS
=========================================================*/

.ms-opinion-report-section {

    display: flex;

    align-items: center;

    gap: 13px;

    padding: 17px 0;

    border-top: 1px solid #edf0ed;

}

.ms-opinion-mini-icon {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    color: #16ab7b;

    background: #e7f6f1;

    font-size: 14px;

}

.ms-opinion-mini-icon.orange {

    color: #e2843d;

    background: #fceee4;

}

.ms-opinion-report-section strong {

    display: block;

    margin-bottom: 3px;

    color: #27474d;

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

    font-size: 12px;

    font-weight: 700;

}

.ms-opinion-report-section small {

    color: #7d8b8d;

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

    font-size: 9px;

}


/*========================================================
    REPORT FOOTER
=========================================================*/

.ms-opinion-report-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: 20px;

    padding-top: 18px;

    border-top: 1px solid #e7ebe7;

    color: #8a9899;

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

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1px;

}

.ms-opinion-report-footer i {

    color: #16ab7b;

    font-size: 17px;

}


/*========================================================
    REVIEW STAMP
=========================================================*/

.ms-opinion-review-stamp {

    position: absolute;

    z-index: 5;

    right: 65px;

    bottom: 72px;

    width: 92px;

    height: 92px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 4px;

    border: 2px solid #e2843d;

    border-radius: 50%;

    color: #e2843d;

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

    transform: rotate(12deg);

}

.ms-opinion-review-stamp i {

    font-size: 17px;

}

.ms-opinion-review-stamp span {

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

    font-size: 9px;

    font-weight: 800;

    text-transform: uppercase;

}


/*========================================================
    VISUAL CAPTION
=========================================================*/

.ms-opinion-visual-caption {

    position: absolute;

    z-index: 5;

    left: 20px;

    bottom: 18px;

    display: flex;

    align-items: center;

    gap: 9px;

    color: #52666a;

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

    font-size: 10px;

    font-weight: 600;

}

.ms-opinion-visual-caption span {

    color: #e2843d;

    font-weight: 800;

}

.ms-opinion-visual-caption i {

    color: #16ab7b;

}


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

@media (max-width: 1100px) {

    .ms-opinion-editorial-grid {

        gap: 45px;

    }

    .ms-opinion-editorial-content h1 {

        font-size: 49px;

    }

    .ms-opinion-editorial-intro {

        font-size: 15px;

    }

    .ms-opinion-report {

        width: 370px;

    }

}


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

@media (max-width: 991px) {

    .ms-opinion-editorial {

        padding: 80px 0 90px;

    }

    .ms-opinion-editorial-grid {

        grid-template-columns: 1fr;

        gap: 55px;

    }

    .ms-opinion-editorial-content {

        max-width: 800px;

    }

    .ms-opinion-editorial-visual {

        min-height: 570px;

    }

}


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

@media (max-width: 767px) {

    .ms-opinion-editorial {

        padding: 65px 0 75px;

    }

    .ms-opinion-editorial-content h1 {

        font-size: 39px;

    }

    .ms-opinion-editorial-intro {

        font-size: 14px;

        line-height: 1.8;

    }

    .ms-opinion-editorial-visual {

        min-height: 480px;

    }

    .ms-opinion-report {

        width: 320px;

        min-height: 430px;

        padding: 25px;

    }

    .ms-opinion-paper-shadow {

        width: 320px;

        height: 430px;

    }

    .ms-opinion-orange-line {

        right: 5px;

        height: 350px;

    }

    .ms-opinion-review-stamp {

        right: 5px;

        bottom: 55px;

        width: 78px;

        height: 78px;

    }

    .ms-opinion-visual-caption {

        left: 0;

    }

}


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

@media (max-width: 480px) {

    .ms-opinion-editorial-content h1 {

        font-size: 34px;

    }

    .ms-opinion-report {

        width: 285px;

        min-height: 400px;

    }

    .ms-opinion-paper-shadow {

        width: 285px;

        height: 400px;

    }

    .ms-opinion-report-title strong {

        font-size: 24px;

    }

}

/*========================================================
    SECTION 2 — MEDICAL OPINION PROCESS
=========================================================*/

.ms-opinion-process {

    padding: 105px 0 110px;

    background: #ffffff;

}


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

.ms-opinion-process-heading {

    max-width: 720px;

    margin: 0 auto 70px;

    text-align: center;

}

.ms-opinion-process-label {

    display: inline-block;

    margin-bottom: 17px;

    color: #e2843d;

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

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.7px;

}

.ms-opinion-process-heading h2 {

    margin: 0 0 20px;

    color: #183d43;

    font-family: "Marcellus", serif;

    font-size: 47px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-opinion-process-heading h2 span {

    color: #16ab7b;

}

.ms-opinion-process-heading p {

    max-width: 620px;

    margin: auto;

    color: #627276;

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

    font-size: 15px;

    line-height: 1.8;

}


/*========================================================
    PROCESS TRACK
=========================================================*/

.ms-opinion-process-track {

    display: grid;

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

    align-items: start;

}


/*========================================================
    STEP
=========================================================*/

.ms-opinion-step {

    padding: 0 15px;

}

.ms-opinion-step-top {

    display: flex;

    align-items: center;

    gap: 17px;

    margin-bottom: 27px;

}

.ms-opinion-step-number {

    color: #d6dfdc;

    font-family: "Marcellus", serif;

    font-size: 27px;

}


/*========================================================
    STEP ICON
=========================================================*/

.ms-opinion-step-icon {

    width: 62px;

    height: 62px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 16px;

    color: #16ab7b;

    background: #e9f7f2;

    font-size: 22px;

}

.ms-opinion-step-icon.orange {

    color: #e2843d;

    background: #fdf0e7;

}


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

.ms-opinion-step h3 {

    margin: 0 0 13px;

    color: #1c4148;

    font-family: "Marcellus", serif;

    font-size: 25px;

    line-height: 1.3;

    font-weight: 400;

}

.ms-opinion-step p {

    max-width: 310px;

    margin: 0;

    color: #68797c;

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

    font-size: 14px;

    line-height: 1.8;

}


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

.ms-opinion-step-connector {

    display: flex;

    align-items: center;

    gap: 7px;

    padding-top: 31px;

    color: #e2843d;

}

.ms-opinion-step-connector span {

    flex: 1;

    height: 1px;

    background: #dce7e3;

}

.ms-opinion-step-connector i {

    font-size: 11px;

}


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

.ms-opinion-process-note {

    display: flex;

    align-items: center;

    gap: 14px;

    max-width: 850px;

    margin: 70px auto 0;

    padding: 18px 22px;

    border-left: 3px solid #e2843d;

    background: #faf8f3;

}

.ms-opinion-note-icon {

    flex-shrink: 0;

    color: #e2843d;

    font-size: 17px;

}

.ms-opinion-process-note p {

    margin: 0;

    color: #68777a;

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

    font-size: 12px;

    line-height: 1.7;

}


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

@media (max-width: 991px) {

    .ms-opinion-process-track {

        grid-template-columns: 1fr;

        gap: 40px;

    }

    .ms-opinion-step-connector {

        display: none;

    }

    .ms-opinion-step {

        padding: 0;

    }

    .ms-opinion-step p {

        max-width: 600px;

    }

}


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

@media (max-width: 767px) {

    .ms-opinion-process {

        padding: 75px 0 80px;

    }

    .ms-opinion-process-heading {

        margin-bottom: 50px;

    }

    .ms-opinion-process-heading h2 {

        font-size: 36px;

    }

    .ms-opinion-process-heading p {

        font-size: 14px;

    }

    .ms-opinion-step h3 {

        font-size: 23px;

    }

    .ms-opinion-step p {

        font-size: 13px;

    }

    .ms-opinion-process-note {

        margin-top: 50px;

        align-items: flex-start;

    }

}

/*========================================================
    SECTION 3 — MEDICAL OPINION VALUE
=========================================================*/

.ms-opinion-value {

    padding: 105px 0 110px;

    background: #f8f6f0;

}


/*========================================================
    MAIN LAYOUT
=========================================================*/

.ms-opinion-value-layout {

    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    gap: 90px;

    align-items: start;

}


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

.ms-opinion-value-intro {

    position: sticky;

    top: 100px;

    max-width: 470px;

}

.ms-opinion-value-label {

    display: inline-block;

    margin-bottom: 19px;

    color: #e2843d;

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

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.7px;

}

.ms-opinion-value-intro h2 {

    margin: 0 0 22px;

    color: #183d43;

    font-family: "Marcellus", serif;

    font-size: 48px;

    line-height: 1.18;

    font-weight: 400;

}

.ms-opinion-value-intro h2 span {

    display: block;

    color: #16ab7b;

}

.ms-opinion-value-intro > p {

    margin: 0;

    color: #637477;

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

    font-size: 15px;

    line-height: 1.85;

}


/*========================================================
    ACCENT LINE
=========================================================*/

.ms-opinion-value-accent {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 32px;

    color: #103f36;

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

    font-size: 11px;

    font-weight: 700;

}

.ms-opinion-value-accent i {

    color: #e2843d;

    font-size: 13px;

}


/*========================================================
    VALUE LIST
=========================================================*/

.ms-opinion-value-list {

    border-top: 1px solid #dce5e1;

}


/*========================================================
    VALUE ITEM
=========================================================*/

.ms-opinion-value-item {

    display: grid;

    grid-template-columns: 45px 58px 1fr;

    align-items: center;

    gap: 20px;

    padding: 27px 0;

    border-bottom: 1px solid #dce5e1;

    transition: 0.3s ease;

}

.ms-opinion-value-item:hover {

    padding-left: 10px;

}


/*========================================================
    NUMBER
=========================================================*/

.ms-opinion-value-number {

    color: #b7c6c2;

    font-family: "Marcellus", serif;

    font-size: 18px;

}


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

.ms-opinion-value-icon {

    width: 58px;

    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 14px;

    color: #16ab7b;

    background: #e4f5ef;

    font-size: 19px;

}

.ms-opinion-value-item.orange-item
.ms-opinion-value-icon {

    color: #e2843d;

    background: #fcecdf;

}


/*========================================================
    TEXT
=========================================================*/

.ms-opinion-value-text h3 {

    margin: 0 0 7px;

    color: #1b4047;

    font-family: "Marcellus", serif;

    font-size: 22px;

    line-height: 1.3;

    font-weight: 400;

}

.ms-opinion-value-text p {

    max-width: 520px;

    margin: 0;

    color: #68787b;

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

    font-size: 13px;

    line-height: 1.7;

}


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

@media (max-width: 991px) {

    .ms-opinion-value-layout {

        grid-template-columns: 1fr;

        gap: 55px;

    }

    .ms-opinion-value-intro {

        position: static;

        max-width: 700px;

    }

}


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

@media (max-width: 767px) {

    .ms-opinion-value {

        padding: 75px 0 80px;

    }

    .ms-opinion-value-intro h2 {

        font-size: 38px;

    }

    .ms-opinion-value-intro > p {

        font-size: 14px;

    }

    .ms-opinion-value-item {

        grid-template-columns: 30px 50px 1fr;

        gap: 12px;

        padding: 22px 0;

    }

    .ms-opinion-value-icon {

        width: 50px;

        height: 50px;

        font-size: 16px;

    }

    .ms-opinion-value-text h3 {

        font-size: 19px;

    }

    .ms-opinion-value-text p {

        font-size: 12px;

    }

}

/*========================================================
    TREATMENT PLANNING — HERO
=========================================================*/

.ms-tp-hero {

    position: relative;

    padding: 105px 0 115px;

    background: #f8f6ef;

    overflow: hidden;

}


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

.ms-tp-hero::before {

    content: "";

    position: absolute;

    width: 500px;

    height: 500px;

    right: -260px;

    top: -230px;

    border: 1px solid rgba(22,171,123,0.12);

    border-radius: 50%;

}

.ms-tp-hero::after {

    content: "";

    position: absolute;

    width: 260px;

    height: 260px;

    left: -160px;

    bottom: -160px;

    border: 1px solid rgba(226,132,61,0.14);

    border-radius: 50%;

}


/*========================================================
    MAIN INNER
=========================================================*/

.ms-tp-hero-inner {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 0.88fr 1.12fr;

    align-items: center;

    gap: 80px;

}


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

.ms-tp-hero-content {

    max-width: 620px;

}


/*========================================================
    EYEBROW
=========================================================*/

.ms-tp-eyebrow {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 24px;

    color: #103f36;

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

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-tp-eyebrow-line {

    width: 34px;

    height: 3px;

    background: #e2843d;

}


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

.ms-tp-hero-content h1 {

    margin: 0 0 26px;

    color: #173b42;

    font-family: "Marcellus", serif;

    font-size: 59px;

    line-height: 1.1;

    font-weight: 400;

    letter-spacing: -0.5px;

}

.ms-tp-hero-content h1 span {

    display: block;

    color: #16ab7b;

}


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

.ms-tp-hero-content > p {

    max-width: 575px;

    margin: 0 0 32px;

    color: #53666a;

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

    font-size: 16px;

    line-height: 1.85;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-tp-main-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 16px 24px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition: all 0.3s ease;

}

.ms-tp-main-btn i {

    color: #e8a16c;

}

.ms-tp-main-btn:hover {

    color: #ffffff;

    background: #16ab7b;

    transform: translateY(-2px);

}


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

.ms-tp-small-note {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 22px;

    color: #718083;

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

    font-size: 11px;

}

.ms-tp-small-note i {

    color: #16ab7b;

    font-size: 12px;

}


/*========================================================
    JOURNEY AREA
=========================================================*/

.ms-tp-journey {

    position: relative;

    min-height: 570px;

    padding: 35px 25px;

    border: 1px solid #e5e0d6;

    border-radius: 28px;

    background: #fffdf9;

    box-shadow:
        0 25px 60px rgba(38,61,56,0.07);

    overflow: hidden;

}


/*========================================================
    ORBITS
=========================================================*/

.ms-tp-orbit {

    position: absolute;

    border: 1px solid rgba(22,171,123,0.10);

    border-radius: 50%;

    pointer-events: none;

}

.ms-tp-orbit-one {

    width: 420px;

    height: 420px;

    right: -180px;

    top: -170px;

}

.ms-tp-orbit-two {

    width: 270px;

    height: 270px;

    left: -140px;

    bottom: -120px;

    border-color: rgba(226,132,61,0.10);

}


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

.ms-tp-journey-heading {

    position: relative;

    z-index: 2;

    padding-left: 25px;

    border-left: 3px solid #e2843d;

}

.ms-tp-journey-heading span {

    display: block;

    margin-bottom: 6px;

    color: #e2843d;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.5px;

}

.ms-tp-journey-heading strong {

    display: block;

    color: #183e44;

    font-family: "Marcellus", serif;

    font-size: 25px;

    font-weight: 400;

}


/*========================================================
    ROUTE
=========================================================*/

.ms-tp-route {

    position: relative;

    height: 310px;

    margin-top: 35px;

}


/*========================================================
    ROUTE LINE
=========================================================*/

.ms-tp-route-line {

    position: absolute;

    left: 48px;

    right: 48px;

    top: 105px;

    height: 2px;

    background:
        repeating-linear-gradient(
            to right,
            #b9d9d0 0,
            #b9d9d0 8px,
            transparent 8px,
            transparent 15px
        );

}


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

.ms-tp-route-step {

    position: absolute;

    z-index: 3;

    top: 74px;

    width: 105px;

    text-align: center;

}

.step-one {
    left: 0;
}

.step-two {
    left: 22%;
}

.step-three {
    left: 44%;
}

.step-four {
    left: 66%;
}

.step-five {
    right: 0;
}


/*========================================================
    DOT
=========================================================*/

.ms-tp-route-dot {

    width: 64px;

    height: 64px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 14px;

    border: 6px solid #ffffff;

    border-radius: 50%;

    color: #16ab7b;

    background: #e2f5ef;

    box-shadow:
        0 8px 20px rgba(22,171,123,0.10);

    font-size: 18px;

}

.ms-tp-route-dot.orange {

    color: #e2843d;

    background: #fcecdf;

}


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

.ms-tp-route-label small {

    display: block;

    margin-bottom: 4px;

    color: #a0adad;

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

    font-size: 9px;

    font-weight: 700;

}

.ms-tp-route-label strong {

    display: block;

    color: #27484e;

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

    font-size: 10px;

    font-weight: 700;

    line-height: 1.4;

}


/*========================================================
    JOURNEY CARD
=========================================================*/

.ms-tp-journey-card {

    position: absolute;

    z-index: 5;

    left: 35px;

    right: 35px;

    bottom: 30px;

    display: flex;

    align-items: center;

    gap: 13px;

    padding: 15px 17px;

    border: 1px solid #e5e9e5;

    border-radius: 12px;

    background: #ffffff;

    box-shadow:
        0 12px 30px rgba(38,61,56,0.08);

}

.ms-tp-card-icon {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    color: #16ab7b;

    background: #e7f6f1;

}

.ms-tp-journey-card small {

    display: block;

    margin-bottom: 3px;

    color: #a0aaaa;

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

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-tp-journey-card strong {

    color: #28474d;

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

    font-size: 11px;

    font-weight: 700;

}

.ms-tp-card-arrow {

    margin-left: auto;

    color: #e2843d;

    font-size: 13px;

}


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

@media (max-width: 1100px) {

    .ms-tp-hero-inner {

        gap: 45px;

    }

    .ms-tp-hero-content h1 {

        font-size: 50px;

    }

    .ms-tp-journey {

        min-height: 530px;

    }

}


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

@media (max-width: 991px) {

    .ms-tp-hero {

        padding: 80px 0 90px;

    }

    .ms-tp-hero-inner {

        grid-template-columns: 1fr;

        gap: 55px;

    }

    .ms-tp-hero-content {

        max-width: 800px;

    }

}


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

@media (max-width: 767px) {

    .ms-tp-hero {

        padding: 65px 0 75px;

    }

    .ms-tp-hero-content h1 {

        font-size: 39px;

    }

    .ms-tp-hero-content > p {

        font-size: 14px;

        line-height: 1.8;

    }

    .ms-tp-journey {

        min-height: 620px;

        padding: 28px 18px;

        border-radius: 20px;

    }

    .ms-tp-route {

        height: 410px;

        margin-top: 30px;

    }

    .ms-tp-route-line {

        left: 31px;

        right: auto;

        top: 22px;

        bottom: 20px;

        width: 2px;

        height: auto;

        background:
            repeating-linear-gradient(
                to bottom,
                #b9d9d0 0,
                #b9d9d0 8px,
                transparent 8px,
                transparent 15px
            );

    }

    .ms-tp-route-step {

        position: relative;

        top: auto;

        left: auto !important;

        right: auto !important;

        width: auto;

        min-height: 75px;

        display: flex;

        align-items: center;

        gap: 15px;

        margin-bottom: 10px;

        text-align: left;

    }

    .ms-tp-route-dot {

        width: 50px;

        height: 50px;

        flex-shrink: 0;

        margin: 0;

        border-width: 4px;

        font-size: 15px;

    }

    .ms-tp-route-label small {

        font-size: 8px;

    }

    .ms-tp-route-label strong {

        font-size: 11px;

    }

    .ms-tp-journey-card {

        left: 18px;

        right: 18px;

        bottom: 18px;

    }

}

/*========================================================
    SECTION 2 — TREATMENT PLANNING
=========================================================*/

.ms-tp-planning {

    padding: 105px 0 110px;

    background: #ffffff;

}


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

.ms-tp-planning-header {

    max-width: 760px;

    margin: 0 auto 65px;

    text-align: center;

}

.ms-tp-planning-label {

    display: inline-block;

    margin-bottom: 17px;

    color: #e2843d;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-tp-planning-header h2 {

    margin: 0 0 19px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 47px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-tp-planning-header h2 span {

    display: block;

    color: #16ab7b;

}

.ms-tp-planning-header p {

    max-width: 620px;

    margin: auto;

    color: #68787b;

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

    font-size: 14px;

    line-height: 1.8;

}


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

.ms-tp-planning-grid {

    display: grid;

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

    gap: 18px;

}


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

.ms-tp-plan-card {

    position: relative;

    min-height: 245px;

    padding: 32px 34px;

    border: 1px solid #e5eae7;

    border-radius: 18px;

    background: #fbfcfa;

    overflow: hidden;

    transition: all 0.35s ease;

}

.ms-tp-plan-card:hover {

    transform: translateY(-5px);

    border-color: #b9ded3;

    box-shadow:
        0 18px 40px rgba(24,70,62,0.08);

}


/*========================================================
    FEATURED CARD
=========================================================*/

.ms-tp-plan-card.featured {

    background: #f4faf7;

    border-color: #c9e7dc;

}


/*========================================================
    NUMBER
=========================================================*/

.ms-tp-plan-number {

    position: absolute;

    top: 25px;

    right: 30px;

    color: #dce5e1;

    font-family: "Marcellus", serif;

    font-size: 31px;

}


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

.ms-tp-plan-icon {

    width: 54px;

    height: 54px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;

    border-radius: 13px;

    color: #16ab7b;

    background: #e4f5ef;

    font-size: 18px;

}

.ms-tp-plan-icon.orange {

    color: #e2843d;

    background: #fcecdf;

}


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

.ms-tp-plan-card h3 {

    margin: 0 0 10px;

    color: #1d4249;

    font-family: "Marcellus", serif;

    font-size: 24px;

    line-height: 1.3;

    font-weight: 400;

}

.ms-tp-plan-card p {

    max-width: 470px;

    margin: 0;

    color: #68787b;

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

    font-size: 13px;

    line-height: 1.75;

}


/*========================================================
    ARROW
=========================================================*/

.ms-tp-plan-arrow {

    position: absolute;

    right: 29px;

    bottom: 25px;

    color: #c1d0cb;

    font-size: 12px;

    transition: 0.3s ease;

}

.ms-tp-plan-card:hover .ms-tp-plan-arrow {

    color: #e2843d;

    transform: translate(3px, -3px);

}


/*========================================================
    BOTTOM STATEMENT
=========================================================*/

.ms-tp-planning-bottom {

    display: flex;

    align-items: center;

    gap: 22px;

    margin-top: 65px;

}

.ms-tp-bottom-line {

    flex: 1;

    height: 1px;

    background: #dfe7e3;

}

.ms-tp-planning-bottom p {

    max-width: 450px;

    margin: 0;

    color: #315158;

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

    font-size: 12px;

    font-weight: 600;

    line-height: 1.6;

    text-align: center;

}


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

@media (max-width: 767px) {

    .ms-tp-planning {

        padding: 75px 0 80px;

    }

    .ms-tp-planning-header {

        margin-bottom: 45px;

    }

    .ms-tp-planning-header h2 {

        font-size: 36px;

    }

    .ms-tp-planning-header p {

        font-size: 13px;

    }

    .ms-tp-planning-grid {

        grid-template-columns: 1fr;

    }

    .ms-tp-plan-card {

        min-height: 225px;

        padding: 28px;

    }

    .ms-tp-plan-card h3 {

        font-size: 22px;

    }

    .ms-tp-planning-bottom {

        margin-top: 45px;

    }

    .ms-tp-bottom-line {

        display: none;

    }

    .ms-tp-planning-bottom p {

        margin: auto;

    }

}

/*========================================================
    MEDICAL VISA HERO
=========================================================*/

.ms-visa-hero {

    position: relative;

    padding: 105px 0 85px;

    background: #f8f6ef;

    overflow: hidden;

}


/*========================================================
    MAIN LAYOUT
=========================================================*/

.ms-visa-hero-inner {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 0.95fr 1.05fr;

    align-items: center;

    gap: 75px;

}


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

.ms-visa-hero-content {

    max-width: 620px;

}


/*========================================================
    EYEBROW
=========================================================*/

.ms-visa-eyebrow {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 23px;

    color: #123f36;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-visa-eyebrow span {

    width: 34px;

    height: 3px;

    background: #e2843d;

}


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

.ms-visa-hero-content h1 {

    margin: 0 0 25px;

    color: #193d44;

    font-family: "Marcellus", serif;

    font-size: 57px;

    line-height: 1.1;

    font-weight: 400;

}

.ms-visa-hero-content h1 strong {

    display: block;

    color: #16ab7b;

    font-weight: 400;

}


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

.ms-visa-hero-content > p {

    max-width: 570px;

    margin: 0 0 31px;

    color: #596b6f;

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

    font-size: 15px;

    line-height: 1.85;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-visa-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 16px 24px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition: 0.3s ease;

}

.ms-visa-btn i {

    color: #e9a06b;

}

.ms-visa-btn:hover {

    color: #ffffff;

    background: #16ab7b;

    transform: translateY(-2px);

}


/*========================================================
    TRUST LINE
=========================================================*/

.ms-visa-trust {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 20px;

    color: #687a7d;

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

    font-size: 10px;

}

.ms-visa-trust i {

    color: #16ab7b;

}


/*========================================================
    VISUAL AREA
=========================================================*/

.ms-visa-visual {

    position: relative;

    min-height: 520px;

    display: flex;

    align-items: center;

    justify-content: center;

}


/*========================================================
    ORBIT
=========================================================*/

.ms-visa-orbit {

    position: absolute;

    width: 420px;

    height: 420px;

    border: 1px solid rgba(22,171,123,0.13);

    border-radius: 50%;

}

.ms-visa-orbit::before {

    content: "";

    position: absolute;

    inset: 45px;

    border: 1px dashed rgba(226,132,61,0.18);

    border-radius: 50%;

}


/*========================================================
    PASSPORT
=========================================================*/

.ms-visa-passport {

    position: relative;

    z-index: 3;

    width: 265px;

    min-height: 345px;

    padding: 25px;

    border-radius: 13px;

    color: #ffffff;

    background: #174b42;

    box-shadow:
        0 30px 55px rgba(24,61,57,0.22);

    transform: rotate(-4deg);

}


/*========================================================
    PASSPORT TOP
=========================================================*/

.ms-visa-passport-top {

    display: flex;

    justify-content: space-between;

    align-items: center;

    color: #b9d9d1;

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

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1.2px;

}

.ms-visa-passport-top i {

    color: #e2843d;

}


/*========================================================
    EMBLEM
=========================================================*/

.ms-visa-passport-emblem {

    width: 92px;

    height: 92px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 65px auto 24px;

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

    border-radius: 50%;

    color: #e9a16c;

    font-size: 31px;

}

.ms-visa-passport h3 {

    margin: 0;

    color: #ffffff;

    font-family: "Marcellus", serif;

    font-size: 29px;

    font-weight: 400;

    text-align: center;

    letter-spacing: 3px;

}

.ms-visa-passport p {

    margin: 6px 0 0;

    color: #b9d9d1;

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

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

    text-align: center;

}


/*========================================================
    DOCUMENT CARD
=========================================================*/

.ms-visa-document {

    position: absolute;

    z-index: 5;

    top: 65px;

    left: 5px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 14px 17px;

    border: 1px solid #e3e9e5;

    border-radius: 11px;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(30,61,56,0.10);

}

.ms-visa-document-icon {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    color: #16ab7b;

    background: #e5f6f0;

}

.ms-visa-document small,
.ms-visa-guidance small {

    display: block;

    margin-bottom: 4px;

    color: #9aa8a7;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-visa-document strong,
.ms-visa-guidance strong {

    color: #29484d;

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

    font-size: 10px;

}


/*========================================================
    GUIDANCE CARD
=========================================================*/

.ms-visa-guidance {

    position: absolute;

    z-index: 5;

    right: 0;

    bottom: 70px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 14px 17px;

    border: 1px solid #eadfd5;

    border-radius: 11px;

    background: #fffaf5;

    box-shadow:
        0 15px 35px rgba(80,57,39,0.09);

}

.ms-visa-guidance-icon {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    color: #e2843d;

    background: #fcecdf;

}


/*========================================================
    DECORATIVE ROUTES
=========================================================*/

.ms-visa-route {

    position: absolute;

    border-top: 1px dashed #d3a985;

    width: 110px;

    transform: rotate(25deg);

}

.route-one {

    top: 145px;

    right: 5px;

}

.route-two {

    bottom: 125px;

    left: 25px;

    transform: rotate(-25deg);

}


/*========================================================
    DISCLAIMER
=========================================================*/

.ms-visa-disclaimer {

    position: relative;

    z-index: 4;

    display: flex;

    align-items: flex-start;

    gap: 12px;

    max-width: 950px;

    margin: 45px auto 0;

    padding: 17px 21px;

    border-left: 3px solid #e2843d;

    background: #fffdf8;

}

.ms-visa-disclaimer > i {

    margin-top: 3px;

    color: #e2843d;

}

.ms-visa-disclaimer p {

    margin: 0;

    color: #69777a;

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

    font-size: 10px;

    line-height: 1.7;

}

.ms-visa-disclaimer strong {

    color: #304d52;

}


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

@media (max-width: 991px) {

    .ms-visa-hero-inner {

        grid-template-columns: 1fr;

        gap: 55px;

    }

    .ms-visa-hero-content {

        max-width: 800px;

    }

    .ms-visa-visual {

        min-height: 500px;

    }

}


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

@media (max-width: 767px) {

    .ms-visa-hero {

        padding: 70px 0 70px;

    }

    .ms-visa-hero-content h1 {

        font-size: 40px;

    }

    .ms-visa-hero-content > p {

        font-size: 13px;

    }

    .ms-visa-visual {

        min-height: 470px;

    }

    .ms-visa-orbit {

        width: 330px;

        height: 330px;

    }

    .ms-visa-passport {

        width: 220px;

        min-height: 300px;

    }

    .ms-visa-passport-emblem {

        margin-top: 45px;

    }

    .ms-visa-document {

        left: -5px;

        top: 50px;

    }

    .ms-visa-guidance {

        right: -5px;

        bottom: 45px;

    }

    .ms-visa-disclaimer {

        margin-top: 30px;

        padding: 15px;

    }

}

/*========================================================
    SECTION 2 — MEDICAL VISA SUPPORT
=========================================================*/

.ms-visa-support {

    padding: 105px 0 110px;

    background: #ffffff;

}


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

.ms-visa-support-head {

    display: grid;

    grid-template-columns: 1.1fr 0.9fr;

    align-items: end;

    gap: 70px;

    margin-bottom: 55px;

}

.ms-visa-support-label {

    display: block;

    margin-bottom: 15px;

    color: #e2843d;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-visa-support-head h2 {

    margin: 0;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 46px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-visa-support-head h2 span {

    display: block;

    color: #16ab7b;

}

.ms-visa-support-head > p {

    max-width: 480px;

    margin: 0 0 5px;

    color: #68787b;

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

    font-size: 14px;

    line-height: 1.8;

}


/*========================================================
    SUPPORT GRID
=========================================================*/

.ms-visa-support-grid {

    display: grid;

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

    border-top: 1px solid #e3e9e5;

    border-bottom: 1px solid #e3e9e5;

}


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

.ms-visa-support-card {

    position: relative;

    min-height: 285px;

    padding: 32px 27px;

    border-right: 1px solid #e3e9e5;

    background: #ffffff;

    transition: all 0.3s ease;

}

.ms-visa-support-card:last-child {

    border-right: none;

}

.ms-visa-support-card:hover {

    background: #f6fbf9;

    transform: translateY(-4px);

}


/*========================================================
    NUMBER
=========================================================*/

.ms-visa-card-number {

    position: absolute;

    top: 25px;

    right: 25px;

    color: #dfe8e4;

    font-family: "Marcellus", serif;

    font-size: 28px;

}


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

.ms-visa-support-icon {

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 35px;

    border-radius: 12px;

    color: #16ab7b;

    background: #e5f6f0;

    font-size: 18px;

}

.ms-visa-support-card.visa-orange {

    background: #fffaf6;

}

.ms-visa-support-card.visa-orange:hover {

    background: #fff6ee;

}

.ms-visa-support-card.visa-orange
.ms-visa-support-icon {

    color: #e2843d;

    background: #fcecdf;

}


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

.ms-visa-support-card h3 {

    margin: 0 0 12px;

    color: #23464c;

    font-family: "Marcellus", serif;

    font-size: 21px;

    line-height: 1.3;

    font-weight: 400;

}

.ms-visa-support-card p {

    margin: 0;

    color: #718083;

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

    font-size: 12px;

    line-height: 1.75;

}


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

.ms-visa-support-note {

    display: flex;

    align-items: center;

    gap: 18px;

    max-width: 900px;

    margin: 45px auto 0;

    padding: 20px 24px;

    border: 1px solid #eadfd5;

    border-radius: 10px;

    background: #fffaf5;

}

.ms-visa-note-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    color: #e2843d;

    background: #fcecdf;

}

.ms-visa-support-note strong {

    display: block;

    margin-bottom: 5px;

    color: #304d52;

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

    font-size: 11px;

    font-weight: 800;

}

.ms-visa-support-note p {

    margin: 0;

    color: #68777a;

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

    font-size: 10px;

    line-height: 1.65;

}


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

@media (max-width: 991px) {

    .ms-visa-support-head {

        grid-template-columns: 1fr;

        gap: 20px;

    }

    .ms-visa-support-grid {

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

    }

    .ms-visa-support-card:nth-child(2) {

        border-right: none;

    }

    .ms-visa-support-card:nth-child(-n+2) {

        border-bottom: 1px solid #e3e9e5;

    }

}


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

@media (max-width: 767px) {

    .ms-visa-support {

        padding: 75px 0 80px;

    }

    .ms-visa-support-head h2 {

        font-size: 35px;

    }

    .ms-visa-support-head > p {

        font-size: 13px;

    }

    .ms-visa-support-grid {

        grid-template-columns: 1fr;

    }

    .ms-visa-support-card {

        min-height: auto;

        padding: 28px;

        border-right: none;

        border-bottom: 1px solid #e3e9e5;

    }

    .ms-visa-support-card:last-child {

        border-bottom: none;

    }

    .ms-visa-support-note {

        align-items: flex-start;

        padding: 18px;

    }

}

/*========================================================
    TRAVEL ASSISTANCE HERO
=========================================================*/

.ms-travel-hero {

    position: relative;

    padding: 105px 0 70px;

    background: #f8f6ef;

    overflow: hidden;

}


/*========================================================
    MAIN WRAPPER
=========================================================*/

.ms-travel-hero-wrap {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    align-items: center;

    gap: 65px;

}


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

.ms-travel-content {

    max-width: 600px;

}


/*========================================================
    EYEBROW
=========================================================*/

.ms-travel-eyebrow {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 22px;

    color: #103f36;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-travel-eyebrow span {

    width: 35px;

    height: 3px;

    background: #e2843d;

}


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

.ms-travel-content h1 {

    margin: 0 0 25px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 59px;

    line-height: 1.08;

    font-weight: 400;

}

.ms-travel-content h1 strong {

    display: block;

    color: #16ab7b;

    font-weight: 400;

}


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

.ms-travel-content > p {

    max-width: 560px;

    margin: 0 0 31px;

    color: #617174;

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

    font-size: 15px;

    line-height: 1.85;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-travel-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 16px 24px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition: 0.3s ease;

}

.ms-travel-btn i {

    color: #e9a16c;

}

.ms-travel-btn:hover {

    color: #ffffff;

    background: #16ab7b;

    transform: translateY(-2px);

}


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

.ms-travel-note {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 20px;

    color: #708083;

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

    font-size: 10px;

}

.ms-travel-note i {

    color: #16ab7b;

}


/*========================================================
    VISUAL AREA
=========================================================*/

.ms-travel-visual {

    position: relative;

    min-height: 550px;

}


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

.ms-travel-circle {

    position: absolute;

    border-radius: 50%;

    border: 1px solid rgba(22,171,123,0.12);

}

.circle-one {

    width: 470px;

    height: 470px;

    left: 50%;

    top: 40px;

    transform: translateX(-50%);

}

.circle-two {

    width: 330px;

    height: 330px;

    left: 50%;

    top: 110px;

    transform: translateX(-50%);

    border-color: rgba(226,132,61,0.13);

}


/*========================================================
    ROUTE LINE
=========================================================*/

.ms-travel-route-line {

    position: absolute;

    left: 15%;

    right: 15%;

    top: 50%;

    height: 2px;

    background:
        repeating-linear-gradient(
            to right,
            #b6d8cf 0,
            #b6d8cf 9px,
            transparent 9px,
            transparent 17px
        );

    transform: rotate(-8deg);

}


/*========================================================
    TRAVEL STOPS
=========================================================*/

.ms-travel-stop {

    position: absolute;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 12px 15px;

    border: 1px solid #e1e8e4;

    border-radius: 12px;

    background: #ffffff;

    box-shadow:
        0 12px 30px rgba(28,62,57,0.08);

}

.airport-stop {

    left: 0;

    top: 110px;

}

.hotel-stop {

    right: 0;

    top: 145px;

}

.hospital-stop {

    right: 15px;

    bottom: 75px;

}


/*========================================================
    STOP ICON
=========================================================*/

.ms-travel-stop-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    color: #16ab7b;

    background: #e5f6f0;

}

.ms-travel-stop-icon.orange {

    color: #e2843d;

    background: #fcecdf;

}


/*========================================================
    STOP TEXT
=========================================================*/

.ms-travel-stop-text small {

    display: block;

    margin-bottom: 4px;

    color: #9ba8a7;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-travel-stop-text strong {

    color: #29494f;

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

    font-size: 10px;

    font-weight: 700;

}


/*========================================================
    CENTER MEDISAARTHI
=========================================================*/

.ms-travel-center {

    position: absolute;

    z-index: 4;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    text-align: center;

}

.ms-travel-center-ring {

    width: 125px;

    height: 125px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: auto;

    border: 1px dashed #a9d2c7;

    border-radius: 50%;

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

}

.ms-travel-center-icon {

    width: 78px;

    height: 78px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 8px solid #ffffff;

    border-radius: 50%;

    color: #ffffff;

    background: #16ab7b;

    box-shadow:
        0 15px 30px rgba(22,171,123,0.22);

    font-size: 25px;

}

.ms-travel-center span {

    display: block;

    margin-top: 13px;

    color: #e2843d;

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

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 1.4px;

}

.ms-travel-center strong {

    display: block;

    margin-top: 4px;

    color: #23464c;

    font-family: "Marcellus", serif;

    font-size: 18px;

    font-weight: 400;

}


/*========================================================
    FLOATING TICKET
=========================================================*/

.ms-travel-ticket {

    position: absolute;

    z-index: 7;

    left: 18%;

    bottom: 15px;

    width: 255px;

    padding: 18px;

    border: 1px solid #e3e8e4;

    border-radius: 12px;

    background: #ffffff;

    box-shadow:
        0 20px 40px rgba(29,62,57,0.11);

    transform: rotate(-3deg);

}

.ms-ticket-top {

    display: flex;

    justify-content: space-between;

    align-items: center;

    color: #a1aeac;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-ticket-top i {

    color: #e2843d;

}

.ms-ticket-route {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin: 22px 0;

    color: #183f45;

    font-family: "Marcellus", serif;

    font-size: 20px;

}

.ms-ticket-route i {

    color: #16ab7b;

    font-size: 13px;

}

.ms-ticket-bottom {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding-top: 10px;

    border-top: 1px dashed #dce4e0;

    color: #899795;

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

    font-size: 7px;

    font-weight: 700;

}

.ms-ticket-bottom i {

    color: #16ab7b;

    font-size: 12px;

}


/*========================================================
    BOTTOM SUPPORT BAR
=========================================================*/

.ms-travel-bottom {

    position: relative;

    z-index: 5;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 25px;

    margin-top: 20px;

    padding: 17px 25px;

    border: 1px solid #e2e8e4;

    border-radius: 10px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(30,62,58,0.05);

}

.ms-travel-bottom-item {

    display: flex;

    align-items: center;

    gap: 9px;

    color: #38575c;

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

    font-size: 10px;

    font-weight: 600;

}

.ms-travel-bottom-item i {

    color: #16ab7b;

}

.ms-travel-bottom-line {

    width: 1px;

    height: 20px;

    background: #dce4e0;

}


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

@media (max-width: 991px) {

    .ms-travel-hero-wrap {

        grid-template-columns: 1fr;

        gap: 45px;

    }

    .ms-travel-content {

        max-width: 800px;

    }

}


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

@media (max-width: 767px) {

    .ms-travel-hero {

        padding: 70px 0 65px;

    }

    .ms-travel-content h1 {

        font-size: 40px;

    }

    .ms-travel-content > p {

        font-size: 13px;

    }

    .ms-travel-visual {

        min-height: 500px;

    }

    .ms-travel-circle.circle-one {

        width: 330px;

        height: 330px;

    }

    .ms-travel-circle.circle-two {

        width: 230px;

        height: 230px;

        top: 90px;

    }

    .ms-travel-stop {

        padding: 9px;

    }

    .ms-travel-stop-icon {

        width: 38px;

        height: 38px;

    }

    .airport-stop {

        left: -5px;

        top: 75px;

    }

    .hotel-stop {

        right: -5px;

        top: 120px;

    }

    .hospital-stop {

        right: -5px;

        bottom: 75px;

    }

    .ms-travel-stop-text strong {

        font-size: 9px;

    }

    .ms-travel-center-ring {

        width: 105px;

        height: 105px;

    }

    .ms-travel-center-icon {

        width: 65px;

        height: 65px;

        font-size: 20px;

    }

    .ms-travel-ticket {

        left: 50%;

        bottom: 5px;

        transform: translateX(-50%) rotate(-2deg);

    }

    .ms-travel-bottom {

        flex-direction: column;

        gap: 13px;

    }

    .ms-travel-bottom-line {

        width: 60px;

        height: 1px;

    }

}

/*========================================================
    SECTION 2 — TRAVEL SUPPORT
=========================================================*/

.ms-travel-support {

    padding: 105px 0 110px;

    background: #ffffff;

}


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

.ms-travel-support-heading {

    max-width: 850px;

    margin: 0 auto 55px;

    text-align: center;

}

.ms-travel-label {

    display: inline-block;

    margin-bottom: 15px;

    color: #e2843d;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.7px;

}

.ms-travel-support-heading h2 {

    margin: 0 0 18px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 46px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-travel-support-heading h2 span {

    display: block;

    color: #16ab7b;

}

.ms-travel-support-heading p {

    max-width: 700px;

    margin: auto;

    color: #68777a;

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

    font-size: 14px;

    line-height: 1.8;

}


/*========================================================
    SERVICES GRID
=========================================================*/

.ms-travel-services {

    display: grid;

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

    gap: 18px;

}


/*========================================================
    SERVICE CARD
=========================================================*/

.ms-travel-service-card {

    position: relative;

    min-height: 265px;

    padding: 28px;

    border: 1px solid #e2e9e5;

    border-radius: 12px;

    background: #ffffff;

    transition: all 0.3s ease;

}

.ms-travel-service-card:hover {

    transform: translateY(-5px);

    border-color: #b9ddd2;

    box-shadow:
        0 18px 40px rgba(25,65,58,0.08);

}


/*========================================================
    FEATURED CARD
=========================================================*/

.ms-travel-service-card.featured {

    background: #f3faf7;

    border-color: #d2ebe3;

}


/*========================================================
    ORANGE CARD
=========================================================*/

.ms-travel-service-card.orange-card {

    background: #fffaf5;

    border-color: #f0dfd1;

}

.ms-travel-service-card.orange-card
.ms-travel-service-icon {

    color: #e2843d;

    background: #fcecdf;

}


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

.ms-travel-service-top {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    margin-bottom: 28px;

}

.ms-travel-service-top > span {

    color: #b4c2bf;

    font-family: "Marcellus", serif;

    font-size: 24px;

}


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

.ms-travel-service-icon {

    width: 50px;

    height: 50px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 11px;

    color: #16ab7b;

    background: #e4f5ef;

    font-size: 17px;

}


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

.ms-travel-service-card h3 {

    margin: 0 0 11px;

    color: #29484e;

    font-family: "Marcellus", serif;

    font-size: 22px;

    font-weight: 400;

}

.ms-travel-service-card p {

    margin: 0;

    color: #718083;

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

    font-size: 12px;

    line-height: 1.75;

}


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

.ms-travel-pricing-note {

    display: flex;

    align-items: center;

    gap: 17px;

    margin-top: 45px;

    padding: 20px 23px;

    border: 1px solid #e7dfd8;

    border-radius: 11px;

    background: #fffaf5;

}

.ms-travel-pricing-icon {

    width: 46px;

    height: 46px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    color: #e2843d;

    background: #fcecdf;

}

.ms-travel-pricing-note strong {

    display: block;

    margin-bottom: 5px;

    color: #304d52;

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

    font-size: 11px;

    font-weight: 800;

}

.ms-travel-pricing-note p {

    max-width: 650px;

    margin: 0;

    color: #718083;

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

    font-size: 10px;

    line-height: 1.65;

}

.ms-travel-pricing-note a {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-left: auto;

    padding: 12px 17px;

    border-radius: 6px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 9px;

    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    transition: 0.3s ease;

}

.ms-travel-pricing-note a:hover {

    color: #ffffff;

    background: #16ab7b;

}


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

@media (max-width: 991px) {

    .ms-travel-services {

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

    }

    .ms-travel-pricing-note {

        flex-wrap: wrap;

    }

    .ms-travel-pricing-note a {

        margin-left: 63px;

    }

}


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

@media (max-width: 767px) {

    .ms-travel-support {

        padding: 75px 0 80px;

    }

    .ms-travel-support-heading h2 {

        font-size: 35px;

    }

    .ms-travel-support-heading p {

        font-size: 13px;

    }

    .ms-travel-services {

        grid-template-columns: 1fr;

    }

    .ms-travel-service-card {

        min-height: auto;

    }

    .ms-travel-pricing-note {

        align-items: flex-start;

        flex-direction: column;

    }

    .ms-travel-pricing-note a {

        margin-left: 0;

    }

}

/*========================================================
    ACCOMMODATION HERO
=========================================================*/

.ms-accommodation-hero {

    position: relative;

    padding: 105px 0 65px;

    background: #f8f6ef;

    overflow: hidden;

}


/*========================================================
    MAIN WRAPPER
=========================================================*/

.ms-accommodation-wrap {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    align-items: center;

    gap: 65px;

}


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

.ms-accommodation-content {

    max-width: 600px;

}


/*========================================================
    EYEBROW
=========================================================*/

.ms-accommodation-eyebrow {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 22px;

    color: #103f36;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-accommodation-eyebrow span {

    width: 35px;

    height: 3px;

    background: #e2843d;

}


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

.ms-accommodation-content h1 {

    margin: 0 0 25px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 56px;

    line-height: 1.08;

    font-weight: 400;

}

.ms-accommodation-content h1 strong {

    display: block;

    color: #16ab7b;

    font-weight: 400;

}


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

.ms-accommodation-content > p {

    max-width: 570px;

    margin: 0 0 30px;

    color: #647376;

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

    font-size: 15px;

    line-height: 1.85;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-accommodation-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 16px 24px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition: 0.3s ease;

}

.ms-accommodation-btn i {

    color: #e9a16c;

}

.ms-accommodation-btn:hover {

    color: #ffffff;

    background: #16ab7b;

    transform: translateY(-2px);

}


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

.ms-accommodation-note {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 20px;

    color: #718083;

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

    font-size: 10px;

}

.ms-accommodation-note i {

    color: #16ab7b;

}


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

.ms-accommodation-visual {

    position: relative;

    min-height: 530px;

}


/*========================================================
    BACKGROUND CIRCLE
=========================================================*/

.ms-stay-circle {

    position: absolute;

    width: 440px;

    height: 440px;

    top: 25px;

    left: 50%;

    transform: translateX(-50%);

    border-radius: 50%;

    border: 1px solid rgba(22,171,123,0.14);

}

.ms-stay-circle::after {

    content: "";

    position: absolute;

    inset: 45px;

    border-radius: 50%;

    border: 1px dashed rgba(226,132,61,0.18);

}


/*========================================================
    LOCATION
=========================================================*/

.ms-stay-location {

    position: absolute;

    z-index: 5;

    top: 25px;

    right: 45px;

    display: flex;

    align-items: center;

    gap: 9px;

    color: #52716b;

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

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-stay-location-pin {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: #16ab7b;

}


/*========================================================
    MAIN CARD
=========================================================*/

.ms-stay-main-card {

    position: absolute;

    z-index: 3;

    top: 95px;

    left: 50%;

    width: 360px;

    transform: translateX(-50%) rotate(-2deg);

    border: 1px solid #e1e7e3;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 28px 60px rgba(29,63,57,0.13);

    overflow: hidden;

}


/*========================================================
    IMAGE AREA
=========================================================*/

.ms-stay-image-placeholder {

    height: 190px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #16ab7b;

    background:
        linear-gradient(
            135deg,
            #e5f4ef,
            #f7eee5
        );

    font-size: 45px;

}


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

.ms-stay-main-content {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    gap: 15px;

    padding: 21px 22px 14px;

}

.ms-stay-main-content small {

    display: block;

    margin-bottom: 6px;

    color: #a0aaa8;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-stay-main-content h3 {

    max-width: 200px;

    margin: 0;

    color: #29484e;

    font-family: "Marcellus", serif;

    font-size: 22px;

    line-height: 1.25;

    font-weight: 400;

}

.ms-stay-rating {

    display: flex;

    align-items: center;

    gap: 5px;

    white-space: nowrap;

    color: #e2843d;

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

    font-size: 7px;

}

.ms-stay-rating i {

    font-size: 9px;

}


/*========================================================
    FEATURES
=========================================================*/

.ms-stay-features {

    display: flex;

    gap: 15px;

    padding: 13px 22px 20px;

    border-top: 1px dashed #dfe7e3;

}

.ms-stay-features span {

    display: flex;

    align-items: center;

    gap: 6px;

    color: #657477;

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

    font-size: 8px;

}

.ms-stay-features i {

    color: #16ab7b;

}


/*========================================================
    PREFERENCE CARD
=========================================================*/

.ms-stay-preference {

    position: absolute;

    z-index: 6;

    top: 120px;

    left: 5px;

    display: flex;

    align-items: center;

    gap: 11px;

    padding: 13px 16px;

    border: 1px solid #eadfd5;

    border-radius: 11px;

    background: #fffaf5;

    box-shadow:
        0 15px 35px rgba(70,50,35,0.09);

}

.ms-stay-preference-icon {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    color: #e2843d;

    background: #fcecdf;

}

.ms-stay-preference small {

    display: block;

    margin-bottom: 4px;

    color: #a09b96;

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

    font-size: 6px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-stay-preference strong {

    color: #46575a;

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

    font-size: 9px;

}


/*========================================================
    ATTENDANT CARD
=========================================================*/

.ms-stay-attendant {

    position: absolute;

    z-index: 6;

    right: 5px;

    bottom: 95px;

    display: flex;

    align-items: center;

    gap: 9px;

    padding: 13px 16px;

    border-radius: 10px;

    color: #38575c;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(30,62,58,0.10);

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

    font-size: 8px;

    font-weight: 700;

}

.ms-stay-attendant i {

    color: #16ab7b;

}


/*========================================================
    DECORATIVE ROUTE
=========================================================*/

.ms-stay-route {

    position: absolute;

    z-index: 1;

    width: 140px;

    height: 80px;

    right: 20px;

    bottom: 80px;

    border-top: 1px dashed #d4a47f;

    border-right: 1px dashed #d4a47f;

    border-radius: 0 80px 0 0;

    transform: rotate(-12deg);

}


/*========================================================
    BOTTOM HIGHLIGHTS
=========================================================*/

.ms-accommodation-highlights {

    position: relative;

    z-index: 5;

    display: grid;

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

    margin-top: 10px;

    border: 1px solid #e1e8e4;

    border-radius: 10px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(30,62,58,0.05);

}

.ms-accommodation-highlights div {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 17px;

    border-right: 1px solid #e1e8e4;

    color: #3d595d;

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

    font-size: 9px;

    font-weight: 600;

}

.ms-accommodation-highlights div:last-child {

    border-right: none;

}

.ms-accommodation-highlights i {

    color: #16ab7b;

    font-size: 14px;

}


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

@media (max-width: 991px) {

    .ms-accommodation-wrap {

        grid-template-columns: 1fr;

        gap: 45px;

    }

    .ms-accommodation-content {

        max-width: 800px;

    }

}


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

@media (max-width: 767px) {

    .ms-accommodation-hero {

        padding: 70px 0 60px;

    }

    .ms-accommodation-content h1 {

        font-size: 40px;

    }

    .ms-accommodation-content > p {

        font-size: 13px;

    }

    .ms-accommodation-visual {

        min-height: 500px;

    }

    .ms-stay-circle {

        width: 320px;

        height: 320px;

        top: 50px;

    }

    .ms-stay-main-card {

        width: 290px;

        top: 95px;

    }

    .ms-stay-image-placeholder {

        height: 150px;

    }

    .ms-stay-preference {

        left: -5px;

        top: 125px;

        padding: 10px;

    }

    .ms-stay-preference strong {

        font-size: 8px;

    }

    .ms-stay-attendant {

        right: -5px;

        bottom: 75px;

    }

    .ms-stay-location {

        right: 5px;

    }

    .ms-accommodation-highlights {

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

    }

    .ms-accommodation-highlights div {

        border-bottom: 1px solid #e1e8e4;

    }

    .ms-accommodation-highlights div:nth-child(2) {

        border-right: none;

    }

    .ms-accommodation-highlights div:nth-child(3),
    .ms-accommodation-highlights div:nth-child(4) {

        border-bottom: none;

    }

    .ms-accommodation-highlights div:nth-child(4) {

        border-right: none;

    }

}

/*========================================================
    SECTION 2 — ACCOMMODATION OPTIONS
=========================================================*/

.ms-accommodation-options {

    padding: 105px 0;

    background: #ffffff;

}


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

.ms-accommodation-options-head {

    display: grid;

    grid-template-columns: 1fr 0.75fr;

    align-items: end;

    gap: 70px;

    margin-bottom: 55px;

}

.ms-accommodation-label {

    display: block;

    margin-bottom: 14px;

    color: #e2843d;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.6px;

}

.ms-accommodation-options-head h2 {

    margin: 0;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 46px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-accommodation-options-head h2 span {

    display: block;

    color: #16ab7b;

}

.ms-accommodation-options-head > p {

    margin: 0;

    color: #697779;

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

    font-size: 13px;

    line-height: 1.8;

}


/*========================================================
    MAIN LAYOUT
=========================================================*/

.ms-accommodation-option-layout {

    display: grid;

    grid-template-columns: 0.8fr 1.2fr;

    gap: 22px;

}


/*========================================================
    MAIN FEATURE
=========================================================*/

.ms-accommodation-main-option {

    position: relative;

    min-height: 455px;

    padding: 42px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    overflow: hidden;

    border-radius: 16px;

    background: #103f36;

}

.ms-accommodation-main-option::before {

    content: "";

    position: absolute;

    width: 260px;

    height: 260px;

    top: -90px;

    right: -70px;

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

    border-radius: 50%;

}

.ms-accommodation-main-option::after {

    content: "";

    position: absolute;

    width: 170px;

    height: 170px;

    top: -45px;

    right: -25px;

    border: 1px dashed rgba(226,132,61,0.4);

    border-radius: 50%;

}

.ms-option-number {

    position: absolute;

    top: 28px;

    left: 32px;

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

    font-family: "Marcellus", serif;

    font-size: 25px;

}

.ms-option-icon {

    width: 62px;

    height: 62px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: auto;

    border-radius: 13px;

    color: #ffffff;

    background: rgba(22,171,123,0.25);

    font-size: 22px;

}

.ms-accommodation-main-option h3 {

    position: relative;

    z-index: 2;

    max-width: 320px;

    margin: 0 0 15px;

    color: #ffffff;

    font-family: "Marcellus", serif;

    font-size: 31px;

    line-height: 1.25;

    font-weight: 400;

}

.ms-accommodation-main-option p {

    position: relative;

    z-index: 2;

    max-width: 380px;

    margin: 0;

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

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

    font-size: 11px;

    line-height: 1.8;

}

.ms-option-line {

    width: 45px;

    height: 2px;

    margin: 25px 0 12px;

    background: #e2843d;

}

.ms-option-tag {

    color: #d8eee7;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.4px;

}


/*========================================================
    RIGHT LIST
=========================================================*/

.ms-accommodation-option-list {

    display: grid;

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

    gap: 15px;

}

.ms-accommodation-option {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 28px;

    border: 1px solid #e3eae7;

    border-radius: 12px;

    background: #fafcfb;

    transition: 0.3s ease;

}

.ms-accommodation-option:hover {

    transform: translateY(-3px);

    border-color: #b9ddd2;

    background: #ffffff;

    box-shadow:
        0 14px 30px rgba(30,65,58,0.07);

}


/*========================================================
    SMALL ICON
=========================================================*/

.ms-option-small-icon {

    width: 44px;

    height: 44px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    color: #16ab7b;

    background: #e4f5ef;

}

.ms-option-small-icon.orange {

    color: #e2843d;

    background: #fcecdf;

}


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

.ms-accommodation-option span {

    display: block;

    margin-bottom: 5px;

    color: #a9b4b2;

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

    font-size: 7px;

    font-weight: 800;

}

.ms-accommodation-option h3 {

    margin: 0 0 9px;

    color: #304e53;

    font-family: "Marcellus", serif;

    font-size: 19px;

    line-height: 1.25;

    font-weight: 400;

}

.ms-accommodation-option p {

    margin: 0;

    color: #718083;

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

    font-size: 10px;

    line-height: 1.7;

}


/*========================================================
    DISCLAIMER
=========================================================*/

.ms-accommodation-disclaimer {

    display: flex;

    align-items: center;

    gap: 14px;

    margin-top: 28px;

    padding: 17px 20px;

    border-left: 3px solid #e2843d;

    background: #fffaf5;

}

.ms-accommodation-disclaimer i {

    flex-shrink: 0;

    color: #e2843d;

}

.ms-accommodation-disclaimer p {

    margin: 0;

    color: #737d7e;

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

    font-size: 9px;

    line-height: 1.7;

}

.ms-accommodation-disclaimer strong {

    color: #40565a;

}


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

@media (max-width: 991px) {

    .ms-accommodation-options-head {

        grid-template-columns: 1fr;

        gap: 20px;

    }

    .ms-accommodation-option-layout {

        grid-template-columns: 1fr;

    }

}


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

@media (max-width: 767px) {

    .ms-accommodation-options {

        padding: 75px 0;

    }

    .ms-accommodation-options-head h2 {

        font-size: 36px;

    }

    .ms-accommodation-option-list {

        grid-template-columns: 1fr;

    }

    .ms-accommodation-main-option {

        min-height: 400px;

        padding: 30px;

    }

    .ms-accommodation-main-option h3 {

        font-size: 27px;

    }

    .ms-accommodation-option {

        padding: 23px;

    }

    .ms-accommodation-disclaimer {

        align-items: flex-start;

    }

}
/*========================================================
    FINAL ACCOMMODATION CTA
=========================================================*/

.ms-accommodation-cta {

    padding: 35px 0 100px;

    background: #ffffff;

}


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

.ms-accommodation-cta-box {

    position: relative;

    min-height: 350px;

    display: grid;

    grid-template-columns: 1.25fr 0.75fr;

    align-items: center;

    padding: 65px 75px;

    overflow: hidden;

    border-radius: 18px;

    background: #103f36;

}


/*========================================================
    DECORATIVE ORBIT
=========================================================*/

.ms-cta-orbit {

    position: absolute;

    width: 470px;

    height: 470px;

    right: -130px;

    top: -80px;

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

    border-radius: 50%;

}

.ms-cta-orbit::before {

    content: "";

    position: absolute;

    inset: 45px;

    border: 1px dashed rgba(226,132,61,0.35);

    border-radius: 50%;

}

.ms-cta-orbit::after {

    content: "";

    position: absolute;

    width: 10px;

    height: 10px;

    top: 70px;

    left: 95px;

    border-radius: 50%;

    background: #e2843d;

}


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

.ms-cta-content {

    position: relative;

    z-index: 3;

    max-width: 650px;

}

.ms-cta-label {

    display: block;

    margin-bottom: 15px;

    color: #e9a16c;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-cta-content h2 {

    margin: 0 0 17px;

    color: #ffffff;

    font-family: "Marcellus", serif;

    font-size: 43px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-cta-content h2 span {

    color: #62d0ad;

}

.ms-cta-content p {

    max-width: 570px;

    margin: 0 0 27px;

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

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

    font-size: 12px;

    line-height: 1.8;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-accommodation-cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 15px 23px;

    border-radius: 6px;

    color: #103f36;

    background: #ffffff;

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

    font-size: 11px;

    font-weight: 800;

    text-decoration: none;

    transition: 0.3s ease;

}

.ms-accommodation-cta-btn i {

    color: #e2843d;

}

.ms-accommodation-cta-btn:hover {

    color: #ffffff;

    background: #e2843d;

}

.ms-accommodation-cta-btn:hover i {

    color: #ffffff;

}


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

.ms-cta-visual {

    position: relative;

    z-index: 3;

    height: 220px;

    display: flex;

    align-items: center;

    justify-content: center;

}


/*========================================================
    HOME ICON
=========================================================*/

.ms-cta-home-icon,
.ms-cta-hospital-icon {

    width: 72px;

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 18px;

    font-size: 24px;

}

.ms-cta-home-icon {

    color: #103f36;

    background: #ffffff;

    transform: rotate(-6deg);

    box-shadow:
        0 15px 30px rgba(0,0,0,0.15);

}

.ms-cta-hospital-icon {

    color: #ffffff;

    background: #16ab7b;

    transform: rotate(6deg);

    box-shadow:
        0 15px 30px rgba(0,0,0,0.15);

}


/*========================================================
    PLUS
=========================================================*/

.ms-cta-plus {

    position: relative;

    z-index: 5;

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 -8px;

    border-radius: 50%;

    color: #ffffff;

    background: #e2843d;

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

    font-size: 18px;

}


/*========================================================
    JOURNEY TEXT
=========================================================*/

.ms-cta-journey-text {

    position: absolute;

    bottom: 15px;

    left: 50%;

    transform: translateX(-50%);

    width: 100%;

    text-align: center;

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

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 2px;

}


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

@media (max-width: 991px) {

    .ms-accommodation-cta-box {

        grid-template-columns: 1fr;

        padding: 55px 45px;

    }

    .ms-cta-visual {

        display: none;

    }

}

@media (max-width: 767px) {

    .ms-accommodation-cta {

        padding: 20px 0 70px;

    }

    .ms-accommodation-cta-box {

        min-height: auto;

        padding: 45px 28px;

        border-radius: 14px;

    }

    .ms-cta-content h2 {

        font-size: 34px;

    }

    .ms-cta-content p {

        font-size: 11px;

    }

}

/*========================================================
    AIRPORT PICKUP HERO
=========================================================*/

.ms-airport-hero {

    position: relative;

    padding: 105px 0 65px;

    background: #f8f6ef;

    overflow: hidden;

}


/*========================================================
    MAIN WRAPPER
=========================================================*/

.ms-airport-hero-wrap {

    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    align-items: center;

    gap: 65px;

}


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

.ms-airport-hero-content {

    max-width: 590px;

}

.ms-airport-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 20px;

    color: #e2843d;

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

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-airport-eyebrow::before {

    content: "";

    width: 32px;

    height: 3px;

    background: #16ab7b;

}


.ms-airport-hero-content h1 {

    margin: 0 0 24px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 57px;

    line-height: 1.08;

    font-weight: 400;

}

.ms-airport-hero-content h1 span {

    display: block;

    color: #16ab7b;

}


.ms-airport-hero-content p {

    max-width: 560px;

    margin: 0 0 29px;

    color: #657477;

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

    font-size: 14px;

    line-height: 1.85;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-airport-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 16px 24px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 11px;

    font-weight: 700;

    text-decoration: none;

    transition: 0.3s ease;

}

.ms-airport-btn i {

    color: #e2843d;

}

.ms-airport-btn:hover {

    color: #ffffff;

    background: #16ab7b;

    transform: translateY(-2px);

}


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

.ms-airport-note {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 18px;

    color: #7a8586;

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

    font-size: 9px;

}

.ms-airport-note i {

    color: #16ab7b;

}


/*========================================================
    JOURNEY VISUAL
=========================================================*/

.ms-airport-journey {

    position: relative;

    min-height: 480px;

}


/*========================================================
    ORBIT
=========================================================*/

.ms-airport-orbit {

    position: absolute;

    width: 430px;

    height: 430px;

    top: 20px;

    left: 50%;

    transform: translateX(-50%);

    border: 1px solid rgba(22,171,123,0.15);

    border-radius: 50%;

}

.ms-airport-orbit::after {

    content: "";

    position: absolute;

    inset: 48px;

    border: 1px dashed rgba(226,132,61,0.20);

    border-radius: 50%;

}


/*========================================================
    STOPS
=========================================================*/

.ms-airport-stop {

    position: absolute;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 13px 17px;

    border: 1px solid #dfe8e4;

    border-radius: 11px;

    background: #ffffff;

    box-shadow:
        0 14px 35px rgba(30,65,58,0.09);

}

.airport-stop {

    top: 72px;

    left: 25px;

}

.destination-stop {

    right: 20px;

    bottom: 75px;

}


/*========================================================
    STOP ICON
=========================================================*/

.ms-airport-stop-icon {

    width: 46px;

    height: 46px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    color: #16ab7b;

    background: #e4f5ef;

    font-size: 17px;

}

.destination-stop .ms-airport-stop-icon {

    color: #e2843d;

    background: #fcecdf;

}


.ms-airport-stop small {

    display: block;

    margin-bottom: 4px;

    color: #a2adaa;

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

    font-size: 6px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-airport-stop strong {

    color: #304e53;

    font-family: "Marcellus", serif;

    font-size: 17px;

    font-weight: 400;

}


/*========================================================
    ROUTE
=========================================================*/

.ms-airport-route {

    position: absolute;

    z-index: 2;

    top: 220px;

    left: 100px;

    right: 90px;

    height: 80px;

    transform: rotate(-8deg);

}

.ms-route-line {

    position: absolute;

    top: 35px;

    left: 0;

    width: 42%;

    height: 1px;

    border-top: 2px dashed #b9d9cf;

}

.ms-route-line.second-line {

    left: 58%;

    width: 42%;

}

.ms-route-dot {

    position: absolute;

    top: 29px;

    width: 13px;

    height: 13px;

    border-radius: 50%;

    background: #16ab7b;

    box-shadow: 0 0 0 7px rgba(22,171,123,0.10);

}

.dot-one {

    left: -2px;

}

.dot-two {

    right: -2px;

    background: #e2843d;

    box-shadow: 0 0 0 7px rgba(226,132,61,0.10);

}


/*========================================================
    ROUTE ARROW
=========================================================*/

.ms-route-arrow {

    position: absolute;

    top: 17px;

    left: 50%;

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    transform: translateX(-50%);

    border-radius: 50%;

    color: #ffffff;

    background: #103f36;

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

}

.ms-route-arrow i {

    font-size: 10px;

}


/*========================================================
    SUPPORT CARD
=========================================================*/

.ms-airport-support-card {

    position: absolute;

    z-index: 7;

    top: 180px;

    right: 40px;

    display: flex;

    align-items: center;

    gap: 11px;

    padding: 13px 17px;

    border: 1px solid #eadfd5;

    border-radius: 10px;

    background: #fffaf5;

    box-shadow:
        0 15px 35px rgba(70,50,35,0.08);

}

.ms-airport-support-icon {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    color: #e2843d;

    background: #fcecdf;

}

.ms-airport-support-card small {

    display: block;

    margin-bottom: 4px;

    color: #a49c96;

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

    font-size: 6px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-airport-support-card strong {

    color: #46575a;

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

    font-size: 9px;

}


/*========================================================
    ARRIVAL TAG
=========================================================*/

.ms-arrival-tag {

    position: absolute;

    bottom: 20px;

    left: 50%;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 7px;

    transform: translateX(-50%);

    color: #687b79;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.1px;

    white-space: nowrap;

}

.ms-arrival-tag i {

    color: #e2843d;

}


/*========================================================
    HIGHLIGHTS
=========================================================*/

.ms-airport-highlights {

    position: relative;

    z-index: 10;

    display: grid;

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

    margin-top: 15px;

    border: 1px solid #e0e8e4;

    border-radius: 10px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(30,62,58,0.05);

}

.ms-airport-highlights div {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 18px;

    border-right: 1px solid #e0e8e4;

    color: #425b5e;

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

    font-size: 8px;

    font-weight: 600;

}

.ms-airport-highlights div:last-child {

    border-right: none;

}

.ms-airport-highlights i {

    color: #16ab7b;

    font-size: 14px;

}


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

@media (max-width: 991px) {

    .ms-airport-hero-wrap {

        grid-template-columns: 1fr;

        gap: 45px;

    }

    .ms-airport-hero-content {

        max-width: 800px;

    }

}


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

@media (max-width: 767px) {

    .ms-airport-hero {

        padding: 70px 0 60px;

    }

    .ms-airport-hero-content h1 {

        font-size: 40px;

    }

    .ms-airport-hero-content p {

        font-size: 13px;

    }

    .ms-airport-journey {

        min-height: 430px;

    }

    .ms-airport-orbit {

        width: 310px;

        height: 310px;

    }

    .ms-airport-stop {

        padding: 9px 11px;

    }

    .airport-stop {

        left: 0;

    }

    .destination-stop {

        right: 0;

    }

    .ms-airport-stop-icon {

        width: 38px;

        height: 38px;

        font-size: 14px;

    }

    .ms-airport-stop strong {

        font-size: 14px;

    }

    .ms-airport-support-card {

        right: 0;

        top: 170px;

    }

    .ms-airport-route {

        left: 45px;

        right: 45px;

    }

    .ms-airport-highlights {

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

    }

    .ms-airport-highlights div {

        padding: 14px 8px;

        border-bottom: 1px solid #e0e8e4;

    }

    .ms-airport-highlights div:nth-child(2),
    .ms-airport-highlights div:nth-child(4) {

        border-right: none;

    }

    .ms-airport-highlights div:nth-child(3),
    .ms-airport-highlights div:nth-child(4) {

        border-bottom: none;

    }

}

/*========================================================
    SECTION 2 — AIRPORT SUPPORT
=========================================================*/

.ms-airport-support {

    padding: 105px 0;

    background: #ffffff;

}


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

.ms-airport-support-header {

    display: grid;

    grid-template-columns: 1fr 0.7fr;

    align-items: end;

    gap: 70px;

    margin-bottom: 52px;

}

.ms-support-eyebrow {

    display: block;

    margin-bottom: 14px;

    color: #e2843d;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.7px;

}

.ms-airport-support-header h2 {

    margin: 0;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 46px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-airport-support-header h2 span {

    display: block;

    color: #16ab7b;

}

.ms-airport-support-header > p {

    margin: 0;

    color: #6d7b7d;

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

    font-size: 12px;

    line-height: 1.85;

}


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

.ms-airport-support-grid {

    display: grid;

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

    gap: 15px;

}


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

.ms-airport-support-item {

    position: relative;

    min-height: 285px;

    padding: 28px;

    overflow: hidden;

    border: 1px solid #e2e9e6;

    border-radius: 13px;

    background: #fbfcfb;

    transition: 0.3s ease;

}

.ms-airport-support-item:hover {

    transform: translateY(-5px);

    border-color: #b8dcd0;

    background: #ffffff;

    box-shadow:
        0 18px 40px rgba(28,65,57,0.08);

}


/*========================================================
    HIGHLIGHTED CARD
=========================================================*/

.ms-airport-support-item.highlighted {

    border-color: #d9eee7;

    background: #eef8f4;

}

.ms-airport-support-item.highlighted::after {

    content: "";

    position: absolute;

    width: 110px;

    height: 110px;

    right: -45px;

    bottom: -45px;

    border: 1px solid rgba(22,171,123,0.15);

    border-radius: 50%;

}


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

.ms-support-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 35px;

}

.ms-support-top > span {

    color: #b4c0be;

    font-family: "Marcellus", serif;

    font-size: 21px;

}

.ms-support-icon {

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    color: #16ab7b;

    background: #e3f4ee;

    font-size: 17px;

}

.ms-airport-support-item.highlighted
.ms-support-icon {

    color: #ffffff;

    background: #16ab7b;

}


/*========================================================
    TEXT
=========================================================*/

.ms-airport-support-item h3 {

    margin: 0 0 12px;

    color: #304e53;

    font-family: "Marcellus", serif;

    font-size: 21px;

    line-height: 1.25;

    font-weight: 400;

}

.ms-airport-support-item p {

    margin: 0;

    color: #728083;

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

    font-size: 10px;

    line-height: 1.8;

}


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

.ms-airport-support-note {

    display: flex;

    align-items: center;

    gap: 16px;

    margin-top: 28px;

    padding: 19px 23px;

    border-left: 3px solid #e2843d;

    background: #fffaf5;

}

.ms-support-note-icon {

    flex-shrink: 0;

    color: #e2843d;

    font-size: 18px;

}

.ms-airport-support-note strong {

    display: block;

    margin-bottom: 4px;

    color: #40565a;

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

    font-size: 10px;

    font-weight: 700;

}

.ms-airport-support-note p {

    margin: 0;

    color: #747e80;

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

    font-size: 9px;

    line-height: 1.65;

}


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

@media (max-width: 991px) {

    .ms-airport-support-header {

        grid-template-columns: 1fr;

        gap: 20px;

    }

    .ms-airport-support-grid {

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

    }

}


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

@media (max-width: 767px) {

    .ms-airport-support {

        padding: 75px 0;

    }

    .ms-airport-support-header h2 {

        font-size: 36px;

    }

    .ms-airport-support-grid {

        grid-template-columns: 1fr;

    }

    .ms-airport-support-item {

        min-height: auto;

    }

    .ms-airport-support-note {

        align-items: flex-start;

    }

}

/*========================================================
    FINAL CTA — AIRPORT PICKUP
=========================================================*/

.ms-airport-final-cta {

    padding: 35px 0 100px;

    background: #ffffff;

}


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

.ms-airport-cta-box {

    position: relative;

    min-height: 365px;

    display: grid;

    grid-template-columns: 1.1fr 0.9fr;

    align-items: center;

    padding: 65px 70px;

    overflow: hidden;

    border-radius: 20px;

    background: #103f36;

}


/*========================================================
    DECORATIVE BACKGROUND
=========================================================*/

.ms-airport-cta-box::before {

    content: "";

    position: absolute;

    width: 430px;

    height: 430px;

    right: -150px;

    top: -130px;

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

    border-radius: 50%;

}

.ms-airport-cta-box::after {

    content: "";

    position: absolute;

    width: 270px;

    height: 270px;

    right: -70px;

    top: -50px;

    border: 1px dashed rgba(226,132,61,0.35);

    border-radius: 50%;

}


/*========================================================
    ROUTE LINE
=========================================================*/

.ms-cta-route-line {

    position: absolute;

    width: 300px;

    height: 1px;

    right: 115px;

    top: 50%;

    border-top: 1px dashed rgba(255,255,255,0.16);

    transform: rotate(-15deg);

}

.ms-cta-route-dot {

    position: absolute;

    width: 9px;

    height: 9px;

    border-radius: 50%;

    background: #16ab7b;

}

.dot-start {

    right: 375px;

    top: 59%;

}

.dot-end {

    right: 95px;

    top: 39%;

    background: #e2843d;

}


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

.ms-airport-cta-content {

    position: relative;

    z-index: 5;

    max-width: 620px;

}

.ms-airport-cta-label {

    display: block;

    margin-bottom: 15px;

    color: #e9a16c;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-airport-cta-content h2 {

    margin: 0 0 18px;

    color: #ffffff;

    font-family: "Marcellus", serif;

    font-size: 44px;

    line-height: 1.18;

    font-weight: 400;

}

.ms-airport-cta-content h2 span {

    display: block;

    color: #65d1ae;

}

.ms-airport-cta-content p {

    max-width: 560px;

    margin: 0 0 28px;

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

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

    font-size: 12px;

    line-height: 1.8;

}


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

.ms-airport-cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 16px 24px;

    border-radius: 7px;

    color: #103f36;

    background: #ffffff;

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

    font-size: 10px;

    font-weight: 800;

    text-decoration: none;

    transition: 0.3s ease;

}

.ms-airport-cta-btn i {

    color: #e2843d;

}

.ms-airport-cta-btn:hover {

    color: #ffffff;

    background: #e2843d;

}

.ms-airport-cta-btn:hover i {

    color: #ffffff;

}


/*========================================================
    RIGHT VISUAL
=========================================================*/

.ms-airport-cta-visual {

    position: relative;

    z-index: 5;

    min-height: 220px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

}


/*========================================================
    LOCATION BOX
=========================================================*/

.ms-cta-location {

    width: 115px;

    height: 115px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 12px;

    border-radius: 17px;

    color: #103f36;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(0,0,0,0.16);

    transform: rotate(-5deg);

}

.ms-cta-location i {

    font-size: 27px;

}

.ms-cta-location span {

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-cta-location.destination {

    color: #ffffff;

    background: #16ab7b;

    transform: rotate(5deg);

}


/*========================================================
    ARROW
=========================================================*/

.ms-cta-journey-arrow {

    position: relative;

    z-index: 10;

    width: 39px;

    height: 39px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 -5px;

    border-radius: 50%;

    color: #ffffff;

    background: #e2843d;

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

}

.ms-cta-journey-arrow i {

    font-size: 11px;

}


/*========================================================
    MINI TEXT
=========================================================*/

.ms-cta-mini-text {

    position: absolute;

    bottom: 5px;

    left: 50%;

    transform: translateX(-50%);

    width: 100%;

    text-align: center;

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

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.7px;

}


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

@media (max-width: 991px) {

    .ms-airport-cta-box {

        grid-template-columns: 1fr;

        padding: 55px 45px;

    }

    .ms-airport-cta-visual {

        margin-top: 35px;

    }

}


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

@media (max-width: 767px) {

    .ms-airport-final-cta {

        padding: 20px 0 70px;

    }

    .ms-airport-cta-box {

        min-height: auto;

        padding: 45px 28px;

        border-radius: 15px;

    }

    .ms-airport-cta-content h2 {

        font-size: 34px;

    }

    .ms-airport-cta-content p {

        font-size: 11px;

    }

    .ms-airport-cta-visual {

        min-height: 170px;

        transform: scale(0.82);

        margin: 10px -20px 0;

    }

    .ms-cta-route-line,
    .ms-cta-route-dot {

        display: none;

    }

}


/*========================================================
    INTERPRETER SUPPORT HERO
=========================================================*/

.ms-interpreter-hero {

    position: relative;

    padding: 105px 0 85px;

    overflow: hidden;

    background: #f8f6ef;

}


/*========================================================
    MAIN WRAPPER
=========================================================*/

.ms-interpreter-hero-wrap {

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 75px;

}


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

.ms-interpreter-visual {

    position: relative;

    min-height: 470px;

}


/*========================================================
    ORBIT
=========================================================*/

.ms-language-orbit {

    position: absolute;

    width: 390px;

    height: 390px;

    top: 35px;

    left: 50%;

    transform: translateX(-50%);

    border: 1px solid rgba(22,171,123,0.18);

    border-radius: 50%;

}

.ms-language-orbit::before {

    content: "";

    position: absolute;

    inset: 45px;

    border: 1px dashed rgba(226,132,61,0.28);

    border-radius: 50%;

}

.ms-language-orbit::after {

    content: "";

    position: absolute;

    width: 8px;

    height: 8px;

    top: 40px;

    right: 90px;

    border-radius: 50%;

    background: #e2843d;

}


/*========================================================
    PATIENT / DOCTOR
=========================================================*/

.ms-language-person {

    position: absolute;

    z-index: 5;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 8px;

}

.ms-language-person.patient {

    left: 25px;

    top: 105px;

}

.ms-language-person.doctor {

    right: 20px;

    bottom: 105px;

}

.ms-language-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 18px;

    color: #16ab7b;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(30,65,58,0.10);

    font-size: 24px;

}

.ms-language-person.doctor .ms-language-icon {

    color: #e2843d;

}

.ms-language-person span {

    color: #627474;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.2px;

}


/*========================================================
    INTERPRETER CENTER
=========================================================*/

.ms-interpreter-center {

    position: absolute;

    z-index: 8;

    top: 150px;

    left: 50%;

    width: 130px;

    height: 130px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    transform: translateX(-50%);

    border-radius: 50%;

    color: #ffffff;

    background: #103f36;

    box-shadow:
        0 20px 45px rgba(16,63,54,0.20);

}

.ms-interpreter-center-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 8px;

    border-radius: 50%;

    color: #103f36;

    background: #ffffff;

    font-size: 17px;

}

.ms-interpreter-center small {

    margin-bottom: 3px;

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

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

    font-size: 6px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-interpreter-center strong {

    color: #ffffff;

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

    font-size: 9px;

    letter-spacing: 1px;

}


/*========================================================
    CONNECTIONS
=========================================================*/

.ms-language-connection {

    position: absolute;

    z-index: 2;

    height: 1px;

    border-top: 2px dashed #b9d9cf;

}

.connection-one {

    width: 150px;

    top: 205px;

    left: 115px;

    transform: rotate(13deg);

}

.connection-two {

    width: 150px;

    top: 275px;

    right: 105px;

    transform: rotate(13deg);

}


/*========================================================
    FLOATING CARDS
=========================================================*/

.ms-language-card {

    position: absolute;

    z-index: 10;

    display: flex;

    align-items: center;

    gap: 9px;

    padding: 11px 15px;

    border: 1px solid #e1e9e6;

    border-radius: 8px;

    background: #ffffff;

    box-shadow:
        0 12px 30px rgba(30,65,58,0.08);

}

.card-one {

    top: 45px;

    right: 55px;

}

.card-two {

    bottom: 50px;

    left: 55px;

}

.ms-language-card i {

    color: #16ab7b;

    font-size: 13px;

}

.card-two i {

    color: #e2843d;

}

.ms-language-card span {

    color: #586c6d;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: .8px;

}


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

.ms-interpreter-content {

    max-width: 620px;

}

.ms-interpreter-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 18px;

    color: #e2843d;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-interpreter-eyebrow::before {

    content: "";

    width: 30px;

    height: 3px;

    background: #16ab7b;

}

.ms-interpreter-content h1 {

    margin: 0 0 22px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 53px;

    line-height: 1.1;

    font-weight: 400;

}

.ms-interpreter-content h1 span {

    color: #16ab7b;

}

.ms-interpreter-content p {

    max-width: 570px;

    margin: 0 0 24px;

    color: #687779;

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

    font-size: 13px;

    line-height: 1.85;

}


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

.ms-interpreter-points {

    display: flex;

    flex-direction: column;

    gap: 11px;

    margin-bottom: 28px;

}

.ms-interpreter-points div {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #425b5d;

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

    font-size: 9px;

}

.ms-interpreter-points i {

    width: 20px;

    height: 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: #16ab7b;

    background: #e4f5ef;

    font-size: 8px;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-interpreter-btn {

    display: inline-flex;

    align-items: center;

    gap: 11px;

    padding: 15px 22px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 10px;

    font-weight: 700;

    text-decoration: none;

    transition: .3s ease;

}

.ms-interpreter-btn i {

    color: #e2843d;

}

.ms-interpreter-btn:hover {

    color: #ffffff;

    background: #16ab7b;

}


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

@media (max-width: 991px) {

    .ms-interpreter-hero-wrap {

        grid-template-columns: 1fr;

        gap: 50px;

    }

    .ms-interpreter-content {

        max-width: 800px;

    }

}


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

@media (max-width: 767px) {

    .ms-interpreter-hero {

        padding: 70px 0 60px;

    }

    .ms-interpreter-content h1 {

        font-size: 39px;

    }

    .ms-interpreter-content p {

        font-size: 12px;

    }

    .ms-interpreter-visual {

        min-height: 390px;

        transform: scale(.82);

        transform-origin: center;

        margin: -25px 0;

    }

    .ms-language-orbit {

        width: 330px;

        height: 330px;

    }

    .ms-language-person.patient {

        left: 0;

    }

    .ms-language-person.doctor {

        right: 0;

    }

    .ms-language-card.card-one {

        right: 0;

    }

    .ms-language-card.card-two {

        left: 0;

    }

}

/*========================================================
    FINAL CTA — INTERPRETER SUPPORT
=========================================================*/

.ms-interpreter-final-cta {

    padding: 35px 0 100px;

    background: #ffffff;

}


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

.ms-interpreter-cta-box {

    position: relative;

    min-height: 360px;

    display: grid;

    grid-template-columns: 1fr 0.85fr;

    align-items: center;

    gap: 40px;

    padding: 60px 70px;

    overflow: hidden;

    border-radius: 22px;

    background: #103f36;

}


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

.ms-interpreter-cta-box::before {

    content: "";

    position: absolute;

    width: 440px;

    height: 440px;

    right: -170px;

    top: -150px;

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

    border-radius: 50%;

}

.ms-interpreter-cta-box::after {

    content: "";

    position: absolute;

    width: 290px;

    height: 290px;

    right: -95px;

    top: -75px;

    border: 1px dashed rgba(226,132,61,0.30);

    border-radius: 50%;

}


/*========================================================
    FLOATING BUBBLES
=========================================================*/

.ms-cta-bubble {

    position: absolute;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

}

.bubble-one {

    width: 58px;

    height: 58px;

    top: 38px;

    right: 360px;

    color: #ffffff;

    background: #16ab7b;

    font-size: 18px;

    opacity: .85;

}

.bubble-two {

    width: 43px;

    height: 43px;

    bottom: 40px;

    right: 80px;

    color: #ffffff;

    background: #e2843d;

    font-size: 13px;

    opacity: .9;

}


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

.ms-interpreter-cta-content {

    position: relative;

    z-index: 5;

    max-width: 580px;

}

.ms-interpreter-cta-label {

    display: block;

    margin-bottom: 14px;

    color: #e9a16c;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-interpreter-cta-content h2 {

    margin: 0 0 18px;

    color: #ffffff;

    font-family: "Marcellus", serif;

    font-size: 46px;

    line-height: 1.15;

    font-weight: 400;

}

.ms-interpreter-cta-content h2 span {

    display: block;

    color: #65d1ae;

}

.ms-interpreter-cta-content p {

    max-width: 530px;

    margin: 0 0 28px;

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

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

    font-size: 12px;

    line-height: 1.8;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-interpreter-cta-btn {

    display: inline-flex;

    align-items: center;

    gap: 11px;

    padding: 16px 23px;

    border-radius: 7px;

    color: #103f36;

    background: #ffffff;

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

    font-size: 10px;

    font-weight: 800;

    text-decoration: none;

    transition: .3s ease;

}

.ms-interpreter-cta-btn i {

    color: #e2843d;

}

.ms-interpreter-cta-btn:hover {

    color: #ffffff;

    background: #e2843d;

}

.ms-interpreter-cta-btn:hover i {

    color: #ffffff;

}


/*========================================================
    RIGHT VISUAL
=========================================================*/

.ms-interpreter-cta-visual {

    position: relative;

    z-index: 5;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

}


/*========================================================
    PERSON
=========================================================*/

.ms-cta-person {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 9px;

}

.ms-cta-person-icon {

    width: 100px;

    height: 100px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 22px;

    color: #103f36;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(0,0,0,0.15);

    font-size: 29px;

    transform: rotate(-4deg);

}

.ms-cta-person.medical .ms-cta-person-icon {

    color: #ffffff;

    background: #16ab7b;

    transform: rotate(4deg);

}

.ms-cta-person span {

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

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.1px;

}


/*========================================================
    COMMUNICATION
=========================================================*/

.ms-cta-communication {

    display: flex;

    align-items: center;

    gap: 5px;

}

.ms-communication-line {

    width: 28px;

    border-top: 2px dashed rgba(255,255,255,0.35);

}

.ms-communication-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: #103f36;

    background: #e2843d;

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

}

.ms-communication-icon i {

    font-size: 14px;

}


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

.ms-interpreter-cta-note {

    position: absolute;

    z-index: 8;

    left: 70px;

    bottom: 22px;

    display: flex;

    align-items: center;

    gap: 8px;

    max-width: 570px;

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

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

    font-size: 7px;

    line-height: 1.5;

}

.ms-interpreter-cta-note i {

    flex-shrink: 0;

    color: #e2843d;

}


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

@media (max-width: 991px) {

    .ms-interpreter-cta-box {

        grid-template-columns: 1fr;

        padding: 55px 45px 85px;

    }

    .ms-interpreter-cta-visual {

        margin-top: 20px;

    }

    .ms-interpreter-cta-note {

        left: 45px;

        right: 45px;

    }

}


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

@media (max-width: 767px) {

    .ms-interpreter-final-cta {

        padding: 20px 0 70px;

    }

    .ms-interpreter-cta-box {

        padding: 45px 25px 85px;

        border-radius: 16px;

    }

    .ms-interpreter-cta-content h2 {

        font-size: 35px;

    }

    .ms-interpreter-cta-content p {

        font-size: 11px;

    }

    .ms-interpreter-cta-visual {

        transform: scale(.72);

        margin: -10px -30px 0;

    }

    .ms-cta-bubble {

        display: none;

    }

    .ms-interpreter-cta-note {

        left: 25px;

        right: 25px;

        bottom: 20px;

        font-size: 6.5px;

    }

}


/*========================================================
    FOLLOW-UP CARE HERO
=========================================================*/

.ms-followup-hero {

    position: relative;

    padding: 85px 0 95px;

    overflow: hidden;

    background: #f8f6ef;

}


/*========================================================
    SUBTLE BACKGROUND
=========================================================*/

.ms-followup-hero::before {

    content: "";

    position: absolute;

    width: 520px;

    height: 520px;

    right: -250px;

    top: -250px;

    border: 1px solid rgba(22,171,123,0.10);

    border-radius: 50%;

}

.ms-followup-hero::after {

    content: "";

    position: absolute;

    width: 300px;

    height: 300px;

    left: -170px;

    bottom: -160px;

    border: 1px dashed rgba(226,132,61,0.18);

    border-radius: 50%;

}


/*========================================================
    BRAND LINE
=========================================================*/

.ms-followup-brand-line {

    position: relative;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 50px;

}

.ms-followup-brand-mark {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: #103f36;

    font-family: "Marcellus", serif;

    font-size: 11px;

}

.ms-followup-brand-line small {

    display: block;

    margin-bottom: 3px;

    color: #e2843d;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.5px;

}

.ms-followup-brand-line strong {

    color: #35575a;

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

    font-size: 10px;

    font-weight: 600;

}


/*========================================================
    MAIN HERO
=========================================================*/

.ms-followup-hero-main {

    position: relative;

    z-index: 5;

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 70px;

}


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

.ms-followup-content {

    max-width: 630px;

}

.ms-followup-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 17px;

    color: #e2843d;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-followup-eyebrow::before {

    content: "";

    width: 28px;

    height: 3px;

    background: #16ab7b;

}

.ms-followup-content h1 {

    margin: 0 0 23px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 55px;

    line-height: 1.08;

    font-weight: 400;

}

.ms-followup-content h1 span {

    display: block;

    color: #16ab7b;

}

.ms-followup-content p {

    max-width: 580px;

    margin: 0 0 27px;

    color: #687779;

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

    font-size: 13px;

    line-height: 1.85;

}


/*========================================================
    HIGHLIGHTS
=========================================================*/

.ms-followup-highlights {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 28px;

}

.ms-followup-highlights div {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 9px 13px;

    border: 1px solid #e1e7e4;

    border-radius: 7px;

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

}

.ms-followup-highlights i {

    color: #16ab7b;

    font-size: 11px;

}

.ms-followup-highlights span {

    color: #526466;

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

    font-size: 8px;

    font-weight: 700;

}


/*========================================================
    BUTTON
=========================================================*/

.ms-followup-btn {

    display: inline-flex;

    align-items: center;

    gap: 11px;

    padding: 16px 23px;

    border-radius: 7px;

    color: #ffffff;

    background: #103f36;

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

    font-size: 10px;

    font-weight: 800;

    text-decoration: none;

    transition: .3s ease;

}

.ms-followup-btn i {

    color: #e2843d;

}

.ms-followup-btn:hover {

    color: #ffffff;

    background: #16ab7b;

}


/*========================================================
    JOURNEY VISUAL
=========================================================*/

.ms-followup-journey {

    position: relative;

    min-height: 470px;

    padding: 25px 20px;

}


/*========================================================
    JOURNEY LINE
=========================================================*/

.ms-followup-journey-line {

    position: absolute;

    left: 73px;

    top: 73px;

    bottom: 75px;

    width: 2px;

    background: linear-gradient(
        to bottom,
        #16ab7b 0%,
        #16ab7b 50%,
        #e2843d 100%
    );

}

.ms-followup-journey-line::after {

    content: "";

    position: absolute;

    bottom: -3px;

    left: -5px;

    width: 11px;

    height: 11px;

    border-radius: 50%;

    background: #e2843d;

}


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

.ms-followup-step {

    position: relative;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 20px;

    margin-bottom: 48px;

}

.ms-followup-step-number {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-left: 17px;

    border-radius: 50%;

    color: #ffffff;

    background: #103f36;

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

    font-size: 8px;

    font-weight: 800;

    box-shadow: 0 8px 20px rgba(16,63,54,0.15);

}

.step-follow .ms-followup-step-number {

    background: #e2843d;

}

.ms-followup-step-icon {

    width: 66px;

    height: 66px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 17px;

    color: #16ab7b;

    background: #ffffff;

    box-shadow:
        0 12px 30px rgba(30,65,58,0.08);

    font-size: 20px;

}

.step-follow .ms-followup-step-icon {

    color: #e2843d;

}

.ms-followup-step-text {

    display: flex;

    flex-direction: column;

    gap: 5px;

}

.ms-followup-step-text small {

    color: #a07860;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.3px;

}

.ms-followup-step-text strong {

    color: #294b4e;

    font-family: "Marcellus", serif;

    font-size: 20px;

    font-weight: 400;

}


/*========================================================
    FLOATING SAARTHI CARD
=========================================================*/

.ms-saarthi-floating-card {

    position: absolute;

    z-index: 10;

    right: 15px;

    bottom: 25px;

    display: flex;

    align-items: center;

    gap: 11px;

    padding: 13px 17px;

    border: 1px solid #e4e9e6;

    border-radius: 10px;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(30,65,58,0.10);

}

.ms-saarthi-floating-icon {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: #16ab7b;

    font-size: 13px;

}

.ms-saarthi-floating-card small {

    display: block;

    margin-bottom: 3px;

    color: #a07860;

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

    font-size: 6px;

    font-weight: 800;

    letter-spacing: 1px;

}

.ms-saarthi-floating-card strong {

    color: #193e45;

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

    font-size: 9px;

}


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

@media (max-width: 991px) {

    .ms-followup-hero-main {

        grid-template-columns: 1fr;

        gap: 50px;

    }

    .ms-followup-content {

        max-width: 800px;

    }

    .ms-followup-journey {

        max-width: 650px;

        width: 100%;

        margin: auto;

    }

}


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

@media (max-width: 767px) {

    .ms-followup-hero {

        padding: 65px 0 70px;

    }

    .ms-followup-brand-line {

        margin-bottom: 35px;

    }

    .ms-followup-brand-line strong {

        font-size: 8px;

    }

    .ms-followup-content h1 {

        font-size: 40px;

    }

    .ms-followup-content p {

        font-size: 11px;

    }

    .ms-followup-highlights {

        flex-wrap: wrap;

    }

    .ms-followup-highlights div {

        padding: 8px 10px;

    }

    .ms-followup-journey {

        min-height: 420px;

        padding-left: 0;

    }

    .ms-followup-journey-line {

        left: 30px;

    }

    .ms-followup-step {

        gap: 15px;

    }

    .ms-followup-step-number {

        margin-left: 10px;

    }

    .ms-followup-step-icon {

        width: 56px;

        height: 56px;

        font-size: 17px;

    }

    .ms-followup-step-text strong {

        font-size: 17px;

    }

    .ms-saarthi-floating-card {

        right: 0;

        bottom: 5px;

    }

}

/*========================================================
    SECTION 2 — FOLLOW-UP CARE JOURNEY
=========================================================*/

.ms-followup-connect {

    position: relative;

    padding: 100px 0 105px;

    background: #ffffff;

    overflow: hidden;

}


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

.ms-followup-connect-head {

    max-width: 720px;

    margin: 0 auto 65px;

    text-align: center;

}

.ms-followup-connect-label {

    display: inline-block;

    margin-bottom: 15px;

    color: #e2843d;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-followup-connect-head h2 {

    margin: 0 0 18px;

    color: #193e45;

    font-family: "Marcellus", serif;

    font-size: 48px;

    line-height: 1.15;

    font-weight: 400;

}

.ms-followup-connect-head h2 span {

    color: #16ab7b;

}

.ms-followup-connect-head p {

    max-width: 650px;

    margin: auto;

    color: #6c7a7b;

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

    font-size: 12px;

    line-height: 1.85;

}


/*========================================================
    PATH
=========================================================*/

.ms-followup-path {

    position: relative;

    display: grid;

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

    gap: 18px;

}


/*========================================================
    CONNECTING LINE
=========================================================*/

.ms-followup-path-line {

    position: absolute;

    top: 48px;

    left: 10%;

    right: 10%;

    height: 1px;

    background: #d9e7e2;

    z-index: 0;

}

.ms-followup-path-line::after {

    content: "";

    position: absolute;

    left: 25%;

    width: 25%;

    height: 2px;

    background: #16ab7b;

}


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

.ms-followup-connect-card {

    position: relative;

    z-index: 2;

    padding: 30px 23px 27px;

    min-height: 295px;

    border: 1px solid #e5ebe8;

    border-radius: 14px;

    background: #fbfcfa;

    transition: .3s ease;

}

.ms-followup-connect-card:hover {

    transform: translateY(-7px);

    box-shadow:
        0 18px 40px rgba(24,63,54,0.09);

}


/*========================================================
    ACTIVE CARD
=========================================================*/

.ms-followup-connect-card.active {

    border-color: #b8dfd2;

    background: #f1faf6;

    box-shadow:
        0 15px 35px rgba(22,171,123,0.08);

}


/*========================================================
    NUMBER
=========================================================*/

.ms-followup-connect-number {

    position: absolute;

    top: 16px;

    right: 18px;

    color: #cbd8d4;

    font-family: "Marcellus", serif;

    font-size: 18px;

}

.ms-followup-connect-card.active
.ms-followup-connect-number {

    color: #9bcdbd;

}


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

.ms-followup-connect-icon {

    position: relative;

    width: 58px;

    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 22px;

    border-radius: 15px;

    color: #16ab7b;

    background: #e6f5ef;

    font-size: 18px;

}

.ms-followup-connect-card.active
.ms-followup-connect-icon {

    color: #ffffff;

    background: #103f36;

}


/*========================================================
    CARD TEXT
=========================================================*/

.ms-followup-connect-card > span {

    display: block;

    margin-bottom: 7px;

    color: #e2843d;

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

    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.1px;

}

.ms-followup-connect-card h3 {

    margin: 0 0 12px;

    color: #294b4e;

    font-family: "Marcellus", serif;

    font-size: 21px;

    line-height: 1.2;

    font-weight: 400;

}

.ms-followup-connect-card p {

    margin: 0;

    color: #758182;

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

    font-size: 9px;

    line-height: 1.75;

}


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

.ms-followup-support-note {

    display: flex;

    align-items: center;

    gap: 17px;

    max-width: 760px;

    margin: 55px auto 0;

    padding: 18px 22px;

    border-left: 3px solid #e2843d;

    background: #fffaf5;

}

.ms-followup-support-icon {

    width: 44px;

    height: 44px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    color: #ffffff;

    background: #16ab7b;

    font-size: 15px;

}

.ms-followup-support-note strong {

    display: block;

    margin-bottom: 4px;

    color: #294b4e;

    font-family: "Marcellus", serif;

    font-size: 18px;

    font-weight: 400;

}

.ms-followup-support-note p {

    margin: 0;

    color: #777d7b;

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

    font-size: 8px;

    line-height: 1.65;

}


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

@media (max-width: 991px) {

    .ms-followup-path {

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

        gap: 20px;

    }

    .ms-followup-path-line {

        display: none;

    }

}


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

@media (max-width: 767px) {

    .ms-followup-connect {

        padding: 75px 0 80px;

    }

    .ms-followup-connect-head {

        margin-bottom: 40px;

    }

    .ms-followup-connect-head h2 {

        font-size: 38px;

    }

    .ms-followup-connect-head p {

        font-size: 11px;

    }

    .ms-followup-path {

        grid-template-columns: 1fr;

        gap: 15px;

    }

    .ms-followup-connect-card {

        min-height: auto;

        padding: 25px 20px;

    }

    .ms-followup-support-note {

        align-items: flex-start;

        margin-top: 35px;

        padding: 16px;

    }

}

/*========================================================
    FINAL CTA — FOLLOW-UP CARE
=========================================================*/

.ms-followup-final-cta {

    padding: 35px 0 100px;

    background: #ffffff;

}


/*========================================================
    MAIN BOX
=========================================================*/

.ms-followup-final-box {

    position: relative;

    min-height: 390px;

    display: grid;

    grid-template-columns: 1.1fr 0.9fr;

    align-items: center;

    gap: 45px;

    padding: 65px 70px 80px;

    overflow: hidden;

    border-radius: 22px;

    background: #103f36;

}


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

.ms-followup-final-box::before {

    content: "";

    position: absolute;

    width: 480px;

    height: 480px;

    right: -190px;

    top: -190px;

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

    border-radius: 50%;

}

.ms-followup-final-box::after {

    content: "";

    position: absolute;

    width: 310px;

    height: 310px;

    right: -105px;

    top: -105px;

    border: 1px dashed rgba(226,132,61,0.30);

    border-radius: 50%;

}


/*========================================================
    JOURNEY PATH
=========================================================*/

.ms-final-journey-path {

    position: absolute;

    width: 430px;

    height: 200px;

    right: 70px;

    top: 80px;

    border-top: 1px dashed rgba(255,255,255,0.16);

    border-radius: 50%;

    transform: rotate(-18deg);

}

.journey-dot {

    position: absolute;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: #16ab7b;

}

.dot-1 {

    left: 20px;

    top: -5px;

}

.dot-2 {

    left: 50%;

    top: -5px;

    background: #e2843d;

}

.dot-3 {

    right: 20px;

    top: -5px;

    background: #16ab7b;

}


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

.ms-followup-final-content {

    position: relative;

    z-index: 5;

    max-width: 620px;

}

.ms-followup-final-label {

    display: block;

    margin-bottom: 15px;

    color: #e9a16c;

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

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

}

.ms-followup-final-content h2 {

    margin: 0 0 19px;

    color: #ffffff;

    font-family: "Marcellus", serif;

    font-size: 45px;

    line-height: 1.14;

    font-weight: 400;

}

.ms-followup-final-content h2 span {

    display: block;

    color: #65d1ae;

}

.ms-followup-final-content p {

    max-width: 560px;

    margin: 0 0 28px;

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

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

    font-size: 12px;

    line-height: 1.8;

}


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

.ms-followup-final-btn {

    display: inline-flex;

    align-items: center;

    gap: 11px;

    padding: 16px 23px;

    border-radius: 7px;

    color: #103f36;

    background: #ffffff;

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

    font-size: 10px;

    font-weight: 800;

    text-decoration: none;

    transition: .3s ease;

}

.ms-followup-final-btn i {

    color: #e2843d;

}

.ms-followup-final-btn:hover {

    color: #ffffff;

    background: #e2843d;

}

.ms-followup-final-btn:hover i {

    color: #ffffff;

}


/*========================================================
    RIGHT VISUAL
=========================================================*/

.ms-followup-final-visual {

    position: relative;

    z-index: 5;

    min-height: 230px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}


/*========================================================
    COMPASS
=========================================================*/

.ms-final-compass {

    position: relative;

    z-index: 6;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 9px;

}

.ms-final-compass-inner {

    width: 120px;

    height: 120px;

    display: flex;

    align-items: center;

    justify-content: center;

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

    border-radius: 50%;

    color: #103f36;

    background: #ffffff;

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

}

.ms-final-compass-inner i {

    color: #16ab7b;

    font-size: 43px;

}

.ms-final-compass > span {

    color: #e9a16c;

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

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 2px;

}


/*========================================================
    CONNECTION VISUAL
=========================================================*/

.ms-final-connection {

    position: absolute;

    bottom: 23px;

    display: flex;

    align-items: center;

    gap: 8px;

}

.ms-final-node {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    background: #16ab7b;

    font-size: 12px;

}

.ms-final-node.medical-node {

    background: #e2843d;

}

.ms-final-dashed-line {

    width: 100px;

    border-top: 1px dashed rgba(255,255,255,0.35);

}

.ms-final-visual-caption {

    position: absolute;

    bottom: -5px;

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

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

    font-size: 6px;

    font-weight: 800;

    letter-spacing: 1.5px;

}

.ms-final-visual-caption span {

    color: #e2843d;

    padding: 0 5px;

}


/*========================================================
    DISCLAIMER
=========================================================*/

.ms-followup-final-note {

    position: absolute;

    z-index: 8;

    left: 70px;

    right: 70px;

    bottom: 20px;

    display: flex;

    align-items: center;

    gap: 9px;

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

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

    font-size: 7px;

    line-height: 1.5;

}

.ms-followup-final-note i {

    flex-shrink: 0;

    color: #e2843d;

}


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

@media (max-width: 991px) {

    .ms-followup-final-box {

        grid-template-columns: 1fr;

        padding: 55px 45px 85px;

    }

    .ms-followup-final-visual {

        min-height: 210px;

    }

    .ms-followup-final-note {

        left: 45px;

        right: 45px;

    }

}


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

@media (max-width: 767px) {

    .ms-followup-final-cta {

        padding: 20px 0 70px;

    }

    .ms-followup-final-box {

        padding: 45px 25px 85px;

        border-radius: 16px;

    }

    .ms-followup-final-content h2 {

        font-size: 35px;

    }

    .ms-followup-final-content p {

        font-size: 11px;

    }

    .ms-followup-final-visual {

        transform: scale(.82);

        margin: -5px 0;

    }

    .ms-final-journey-path {

        display: none;

    }

    .ms-followup-final-note {

        left: 25px;

        right: 25px;

        bottom: 20px;

        font-size: 6.5px;

    }

}