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

body {
    background: #f7faf8;
    font-family: Arial, sans-serif;
    color: #123b45;
}

.hero {
    width: 100%;
    overflow: hidden;
    background: #f7faf8;
}

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

.welcome-section {
    width: 100%;
    padding: 55px 20px 65px;
    background: #ffffff;
}

.welcome-card {
    position: relative;
    max-width: 1240px;
    min-height: 500px;
    margin: 0 auto;
    padding: 48px 30px 42px;
    overflow: hidden;
    text-align: center;

    background:
        linear-gradient(rgba(238, 249, 241, 0.92), rgba(255,255,255,0.96)),
        #ffffff;

    border: 3px solid #c9a227;
    border-radius: 26px;

    box-shadow:
        0 14px 35px rgba(18, 59, 69, 0.13),
        inset 0 0 0 1px rgba(255,255,255,0.8);
}

.welcome-card::before,
.welcome-card::after {
    content: "";
    position: absolute;
    left: 4%;
    right: 4%;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(201,162,39,.75),
        transparent
    );
}

.welcome-card::before {
    top: 22px;
}

.welcome-card::after {
    bottom: 22px;
}

.welcome-logo {
    position: relative;
    width: 150px;
    height: 105px;
    margin: 0 auto 10px;
}

.om-symbol {
    position: absolute;
    left: 50%;
    top: 22px;
    transform: translateX(-50%);
    font-family: "Noto Sans Devanagari", sans-serif;
    font-size: 76px;
    line-height: 1;
    font-weight: 700;
    color: #c9a227;
    text-shadow: 0 2px 3px rgba(100,70,10,.18);
    z-index: 2;
}

.stethoscope {
    position: absolute;
    width: 150px;
    height: 95px;
    left: 0;
    top: 0;
    z-index: 3;
    pointer-events: none;
}

.welcome-small {
    position: relative;
    z-index: 5;
    margin-bottom: 10px;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 1px;
    color: #17643f;
}

.welcome-card h1 {
    position: relative;
    z-index: 5;
    margin: 0;
    font-size: clamp(42px, 6vw, 78px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: 1px;
    color: #17643f;
    text-shadow: 0 2px 2px rgba(18,59,69,.08);
}

.welcome-card h1 span {
    color: #17643f;
    font-weight: 850;
}

.welcome-divider {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    max-width: 430px;
    margin: 22px auto 0;
}

.welcome-divider i {
    display: block;
    flex: 1;
    height: 2px;
    background: #c9a227;
}

.welcome-divider b {
    color: #17643f;
    font-size: 25px;
    font-weight: 500;
}

.tagline {
    position: relative;
    z-index: 5;
    margin-top: 18px;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    letter-spacing: 1px;
    color: #c9a227;
}

.welcome-bottom {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    width: 250px;
    margin: 20px auto 0;
}

.welcome-bottom span {
    flex: 1;
    height: 2px;
    background: #c9a227;
}

.welcome-bottom b {
    color: #c9a227;
    font-size: 20px;
}

.medical-cross {
    position: absolute;
    color: rgba(91, 181, 119, 0.12);
    font-family: Arial, sans-serif;
    font-size: 75px;
    font-weight: 900;
    line-height: 1;
}

.cross-1 { left: 5%; top: 55px; }
.cross-2 { right: 5%; top: 75px; }
.cross-3 { left: 8%; bottom: 55px; }
.cross-4 { right: 8%; bottom: 48px; }

@media (max-width: 600px) {
    .welcome-section {
        padding: 38px 16px 45px;
    }

    .welcome-small {
        font-size: 18px;
    }

    .tagline {
        margin-top: 10px;
    }
}



/* SERVICE TICKET */
.services-preview {
    padding: 45px 20px 60px;
    background: #f7faf8;
}

.service-ticket {
    max-width: 520px;
    margin: 0 auto;
    background: #ffffff;
    border: 2px solid #c9a227;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(18, 59, 69, 0.12);
}

.ticket-header {
    padding: 28px 20px;
    text-align: center;
    background: #123b45;
    color: #ffffff;
    border-bottom: 4px solid #c9a227;
}

.doctor-icon {
    font-size: 58px;
    margin-bottom: 8px;
}

.ticket-header h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 800;
}

.ticket-body {
    padding: 28px 25px 30px;
    text-align: center;
}

.ticket-body p {
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 22px;
}

.doctor-options {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

.doctor-options span {
    padding: 9px 14px;
    border: 1px solid #c9a227;
    border-radius: 20px;
    color: #123b45;
    background: #f7faf8;
    font-weight: 600;
}

.ticket-body button {
    border: 0;
    border-radius: 22px;
    padding: 12px 28px;
    background: #123b45;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 600px) {
    .service-ticket {
        border-radius: 20px;
    }

    .ticket-header h2 {
        font-size: 24px;
    }
}

/* FINAL WELCOME SECTION */
.welcome-section {
    width: calc(100% - 40px);
    margin: 28px auto 0;
    padding: 48px 20px 52px;
    background: #ffffff;
    text-align: center;
    border: 3px solid #c9a227;
    border-radius: 24px;
    box-shadow: 0 10px 28px rgba(18, 59, 69, 0.10);
}

.welcome-content {
    max-width: 900px;
    margin: 0 auto;
}

.welcome-small {
    font-size: 22px;
    font-weight: 600;
    color: #123b45;
    margin-bottom: 6px;
    letter-spacing: 1px;
}

.welcome-content h1 {
    font-size: clamp(40px, 6vw, 70px);
    line-height: 1.08;
    font-weight: 800;
    color: #238b62;
    letter-spacing: 1px;
    margin: 0;
}

.welcome-content h1 span {
    color: #123b45;
    font-weight: 700;
}

.tagline {
    margin-top: 14px;
    font-size: clamp(21px, 3vw, 30px);
    font-weight: 700;
    color: #c9a227;
    letter-spacing: 1px;
}

.welcome-line {
    width: 90px;
    height: 4px;
    margin: 22px auto 0;
    border-radius: 10px;
    background: #238b62;
}

@media (max-width: 600px) {
    .welcome-section {
        width: calc(100% - 24px);
        margin-top: 18px;
        padding: 36px 14px 40px;
        border-radius: 20px;
    }

    .welcome-small {
        font-size: 18px;
    }
}

.om-doctor {
    font-size: 58px;
    font-weight: 800;
    color: #238b62;
    margin-bottom: 10px;
    line-height: 1;
}

.om-doctor span {
    font-size: 38px;
    vertical-align: middle;
}


/* FINAL WELCOME SIZE + OM / STETHOSCOPE POSITION */
.welcome-section {
    padding: 38px 20px 45px;
}

.welcome-content {
    max-width: 1000px;
}

.om-doctor {
    position: relative;
    width: 170px;
    height: 105px;
    margin: 0 auto 2px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.om-symbol {
    position: relative;
    z-index: 2;
    font-size: 78px;
    line-height: 0.95;
    font-weight: 700;
    color: #238b62;
}

.om-stethoscope {
    position: absolute;
    z-index: 1;
    width: 105px;
    height: 120px;
    left: 78px;
    top: 5px;
    overflow: visible;
}

.welcome-small {
    font-size: 20px;
    margin-bottom: 5px;
}

.welcome-content h1 {
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.08;
}

.tagline {
    margin-top: 10px;
    font-size: clamp(19px, 2.7vw, 27px);
    color: #c9a227;
}

.welcome-line {
    width: 80px;
    height: 3px;
    margin-top: 16px;
    background: #c9a227;
}


/* STETHOSCOPE: START FROM OM HALF, THEN HANG DOWN */
.om-doctor {
    position: relative;
    width: 180px;
    height: 110px;
    margin: 0 auto 0;
}

.om-symbol {
    position: relative;
    z-index: 3;
    font-size: 78px;
    line-height: 1;
    color: #238b62;
}

.om-stethoscope {
    position: absolute;
    z-index: 4;
    width: 105px;
    height: 120px;
    left: 66px;
    top: 20px;
    overflow: visible;
    pointer-events: none;
}


/* FINAL WELCOME CORRECTION */
.om-doctor {
    width: 150px;
    height: 92px;
    margin: 0 auto -2px;
    position: relative;
}

.om-symbol {
    position: absolute;
    left: 15px;
    top: 4px;
    z-index: 3;
    font-size: 72px;
    line-height: 1;
    color: #238b62;
}

.om-stethoscope {
    position: absolute;
    left: 63px;
    top: 32px;
    z-index: 4;
    width: 82px;
    height: 105px;
    overflow: visible;
    transform: rotate(3deg);
}

.welcome-small {
    position: relative;
    z-index: 5;
    margin-top: 0;
    margin-bottom: 4px;
}

.welcome-content h1 {
    margin-top: 0;
    font-size: clamp(34px, 5vw, 58px);
}

.tagline {
    display: inline-block;
    margin-top: 12px;
    padding: 7px 28px 8px;
    border-radius: 30px;
    background: #e0f1e8;
    color: #176b4f;
    font-weight: 700;
    box-shadow: inset 0 0 0 1px #c9a227;
}

.welcome-line {
    margin-top: 13px;
    background: #c9a227;
}


/* APPROVED WELCOME DESIGN — OM CENTER / STETHOSCOPE BELOW */
.om-doctor {
    position: relative;
    width: 180px;
    height: 105px;
    margin: 0 auto;
    display: block;
}

.om-symbol {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    font-size: 72px;
    line-height: 1;
    color: #238b62;
}

.om-stethoscope {
    position: absolute;
    z-index: 3;
    width: 82px;
    height: 105px;
    left: 50%;
    top: 42px;
    transform: translateX(-8%);
    overflow: visible;
}


/* STETHOSCOPE — START BELOW OM */
.om-stethoscope {
    left: 50%;
    top: 58px;
    transform: translateX(-5%);
    width: 78px;
    height: 105px;
}


/* =========================================================
   APPROVED WELCOME — FINAL SIZE + CENTER OM + LOWER STETH
   ========================================================= */

/* Welcome card: reduce the oversized section */
.welcome-section {
    padding: 28px 20px 32px;
}

.welcome-card {
    min-height: 260px;
    padding: 24px 25px 24px;
}

/* Keep OM perfectly centered */
.welcome-logo {
    position: relative;
    width: 130px;
    height: 92px;
    margin: 0 auto 4px;
}

.om-symbol {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    font-size: 64px;
    line-height: 1;
    z-index: 2;
}

/* IMPORTANT:
   HTML uses .stethoscope — NOT .om-stethoscope.
   Start it from the lower half of OM and hang downward. */
.stethoscope {
    position: absolute;
    width: 105px;
    height: 95px;
    left: 50%;
    top: 48px;
    transform: translateX(-5%);
    z-index: 3;
    overflow: visible;
}

/* Smaller Welcome text */
.welcome-small {
    margin-bottom: 6px;
    font-size: 18px;
    letter-spacing: 1px;
}

/* Smaller OM CARE World */
.welcome-card h1 {
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.05;
}

/* Keep divider compact */
.welcome-divider {
    max-width: 300px;
    gap: 10px;
    margin: 12px auto 0;
}

.welcome-divider b {
    font-size: 18px;
}

/* Tagline remains visible */
.tagline {
    margin-top: 10px;
    font-size: clamp(18px, 2vw, 25px);
}

/* Bottom decoration compact */
.welcome-bottom {
    width: 180px;
    margin: 10px auto 0;
}

.welcome-bottom b {
    font-size: 16px;
}


/* =========================================================
   APPROVED WELCOME — REAL FINAL FIX
   Do NOT change the approved asset/design.
   OM stays centered. Stethoscope stays OUTSIDE OM.
   ========================================================= */

/* Banner: reduce current height by another ~25% */
.welcome-section {
    padding: 21px 20px 24px !important;
}

.welcome-card {
    min-height: 195px !important;
    padding: 18px 22px 18px !important;
    border-radius: 22px !important;
}

/* OM/logo area */
.welcome-logo {
    position: relative !important;
    width: 130px !important;
    height: 78px !important;
    margin: 0 auto 2px !important;
}

/* OM MUST remain exactly in the centre */
.om-symbol {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    font-size: 64px !important;
    line-height: 1 !important;
    z-index: 5 !important;
}

/* NEW STETHOSCOPE:
   starts from the lower half/outside of OM,
   never crosses through the OM */
.stethoscope {
    position: absolute !important;
    width: 105px !important;
    height: 88px !important;
    left: 50% !important;
    top: 27px !important;
    transform: translateX(-50%) !important;
    z-index: 2 !important;
    overflow: visible !important;
    pointer-events: none !important;
}

/* Keep Welcome to compact */
.welcome-small {
    margin-bottom: 4px !important;
    font-size: 16px !important;
    letter-spacing: .8px !important;
}

/* OM CARE World */
.welcome-card h1 {
    font-size: clamp(29px, 3.5vw, 46px) !important;
    line-height: 1.02 !important;
}

/* Divider */
.welcome-divider {
    max-width: 270px !important;
    gap: 8px !important;
    margin: 8px auto 0 !important;
}

.welcome-divider b {
    font-size: 16px !important;
}

/* Tagline */
.tagline {
    margin-top: 7px !important;
    font-size: clamp(16px, 1.8vw, 22px) !important;
}

/* Bottom decoration */
.welcome-bottom {
    width: 160px !important;
    margin: 7px auto 0 !important;
}

.welcome-bottom b {
    font-size: 14px !important;
}


/* =========================================================
   CLEAN FINAL WELCOME LOGO
   OM = EXACT CENTER
   STETHOSCOPE = OUTSIDE OM + HANGS BELOW
   ========================================================= */

.welcome-logo {
    position: relative !important;
    width: 180px !important;
    height: 105px !important;
    margin: 0 auto 2px !important;
}

/* OM never moves from centre */
.om-symbol {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    font-size: 64px !important;
    line-height: 1 !important;
    z-index: 5 !important;
}

/* Stethoscope sits around/outside OM.
   It does NOT go through the OM. */
.stethoscope {
    position: absolute !important;
    width: 150px !important;
    height: 108px !important;
    left: 50% !important;
    top: 8px !important;
    transform: translateX(-50%) !important;
    z-index: 2 !important;
    overflow: visible !important;
    pointer-events: none !important;
}

/* Compact welcome section */
.welcome-section {
    padding: 20px 20px 24px !important;
}

.welcome-card {
    min-height: 175px !important;
    padding: 15px 20px 16px !important;
}

.welcome-small {
    margin-bottom: 3px !important;
    font-size: 15px !important;
}

.welcome-card h1 {
    font-size: clamp(28px, 3.2vw, 43px) !important;
    line-height: 1.02 !important;
}

.welcome-divider {
    max-width: 250px !important;
    margin: 7px auto 0 !important;
}

.tagline {
    margin-top: 6px !important;
    font-size: clamp(15px, 1.7vw, 21px) !important;
}

.welcome-bottom {
    width: 145px !important;
    margin: 6px auto 0 !important;
}


/* =========================================================
   APPROVED WELCOME — CLEAN FINAL
   ========================================================= */

/* Remove the outer decorative card/border */
.welcome-card {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Remove the two large decorative horizontal lines */
.welcome-card::before,
.welcome-card::after {
    display: none !important;
}

/* Keep OM exactly centered */
.welcome-logo {
    position: relative !important;
    width: 130px !important;
    height: 82px !important;
    margin: 0 auto 4px !important;
}

/* OM stays centered and untouched */
.om-symbol {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 5 !important;
}

/* Clean stethoscope:
   starts from the lower half of OM and hangs outside/below it */
.stethoscope {
    position: absolute !important;
    width: 92px !important;
    height: 82px !important;
    left: 50% !important;
    top: 43px !important;
    transform: translateX(-50%) !important;
    z-index: 2 !important;
    overflow: visible !important;
}

/* Keep the approved OM CARE line */
.welcome-divider {
    margin-top: 8px !important;
}

/* Keep the approved bottom star + short lines */
.welcome-bottom {
    margin-top: 8px !important;
}


/* =========================================================
   FINAL SIMPLE WELCOME
   STETHOSCOPE REMOVED — APPROVED DESIGN PRESERVED
   ========================================================= */

/* Slightly stronger brand-green background */
.welcome-card {
    background:
        linear-gradient(
            rgba(224, 241, 232, 0.96),
            rgba(255, 255, 255, 0.97)
        ),
        #e0f1e8 !important;
}

/* Background plus signs: subtle but visible */
.medical-cross {
    color: rgba(91, 181, 119, 0.23) !important;
}

/* Stethoscope is intentionally removed */
.stethoscope,
.om-stethoscope {
    display: none !important;
}


/* =========================================================
   CLEAN APPROVED WELCOME — FINAL SIMPLE FIX
   STETHOSCOPE REMOVED
   ========================================================= */

.welcome-card {
    background:
        linear-gradient(
            rgba(224, 241, 232, 0.93),
            rgba(224, 241, 232, 0.93)
        ),
        #e0f1e8;
}

/* Remove stethoscope completely */
.welcome-logo .stethoscope {
    display: none !important;
}

/* Keep OM exactly centered */
.welcome-logo {
    width: 130px;
    height: 70px;
    margin: 0 auto 4px;
}

.om-symbol {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

/* Make background medical plus signs slightly stronger */
.medical-cross {
    color: rgba(91, 181, 119, 0.23) !important;
}

/* Keep the approved outer welcome card clean */
.welcome-card::before,
.welcome-card::after {
    display: none !important;
}


/* =========================================================
   OM CARE — APPROVED 8 TICKET LAYOUT
   4 COLUMNS × 2 ROWS
   COMPACT — NOT LARGE CARDS
   ========================================================= */

.om-care-services {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 28px 20px 45px;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

/* Compact individual ticket */
.om-care-services .service-ticket {
    min-height: 145px;
    padding: 18px 14px;

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

    background: #ffffff;
    border: 2px solid #c9a227;
    border-radius: 16px;

    box-shadow: 0 5px 14px rgba(18,59,69,.08);

    overflow: hidden;
}

/* Simple icon */
.om-care-services .ticket-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;

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

    border-radius: 50%;
    background: #e0f1e8;
    border: 1px solid #c9a227;

    font-size: 25px;
}

/* Ticket text */
.om-care-services .ticket-content {
    min-width: 0;
}

.om-care-services .ticket-content h2 {
    margin: 0 0 6px;

    font-size: 18px;
    line-height: 1.15;
    font-weight: 750;

    color: #17643f;
}

.om-care-services .ticket-content p {
    margin: 0 0 7px;

    font-size: 12px;
    line-height: 1.35;

    color: #4d5d55;
}

.om-care-services .ticket-link {
    display: inline-block;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .3px;

    color: #c9a227;
}

/* Tablet */
@media (max-width: 900px) {
    .om-care-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 520px) {
    .om-care-services {
        grid-template-columns: 1fr;
        padding: 20px 14px 35px;
        gap: 12px;
    }

    .om-care-services .service-ticket {
        min-height: 118px;
    }
}


/* =========================================================
   MOBILE FIRST — COMPACT WELCOME / SHOW FEATURES EARLIER
   Do NOT change tickets/cards. Do NOT touch stethoscope.
   ========================================================= */

@media (max-width: 600px) {

    /* Give the Welcome section much less vertical space */
    .welcome-section {
        padding: 14px 10px 18px;
    }

    .welcome-card {
        min-height: 0;
        padding: 15px 12px 16px;
        border-width: 2px;
        border-radius: 20px;
    }

    /* Compact logo area */
    .welcome-logo {
        width: 100px;
        height: 68px;
        margin: 0 auto 2px;
    }

    /* OM — smaller, centered */
    .om-symbol {
        left: 50%;
        top: 0;
        transform: translateX(-50%);
        font-size: 44px;
        line-height: 1;
    }

    /* Keep the existing stethoscope rule untouched */
    .stethoscope {
        /* intentionally unchanged */
    }

    /* Welcome to — secondary text */
    .welcome-small {
        margin-bottom: 4px;
        font-size: 13px;
        letter-spacing: .6px;
        line-height: 1.15;
    }

    /* MAIN TITLE — reduce strongly on mobile */
    .welcome-card h1 {
        margin: 0;
        font-size: 23px;
        line-height: 1.05;
        letter-spacing: .3px;
    }

    /* Divider — compact */
    .welcome-divider {
        max-width: 205px;
        gap: 7px;
        margin: 7px auto 0;
    }

    .welcome-divider i {
        height: 1.5px;
    }

    .welcome-divider b {
        font-size: 13px;
    }

    /* Tagline — compact */
    .tagline {
        margin-top: 6px;
        font-size: 14px;
        line-height: 1.15;
        letter-spacing: .4px;
    }

    /* Bottom decoration */
    .welcome-bottom {
        width: 125px;
        margin: 6px auto 0;
        gap: 8px;
    }

    .welcome-bottom span {
        height: 1.5px;
    }

    .welcome-bottom b {
        font-size: 12px;
    }

    /* Keep background crosses subtle but visible */
    .medical-cross {
        font-size: 52px;
    }

    .cross-1 { left: 4%; top: 32px; }
    .cross-2 { right: 4%; top: 48px; }
    .cross-3 { left: 7%; bottom: 28px; }
    .cross-4 { right: 7%; bottom: 25px; }
}

/* Very small phones — keep everything compact */
@media (max-width: 380px) {

    .welcome-section {
        padding: 11px 8px 15px;
    }

    .welcome-card {
        padding: 13px 9px 14px;
        border-radius: 18px;
    }

    .welcome-logo {
        width: 90px;
        height: 62px;
    }

    .om-symbol {
        font-size: 40px;
    }

    .welcome-small {
        font-size: 12px;
    }

    .welcome-card h1 {
        font-size: 21px;
    }

    .welcome-divider {
        max-width: 185px;
        margin-top: 6px;
    }

    .tagline {
        font-size: 13px;
        margin-top: 5px;
    }

    .welcome-bottom {
        width: 112px;
        margin-top: 5px;
    }
}


/* =========================================================
   MOBILE WELCOME — FINAL COMPACT VERSION
   Goal: make Welcome section ~35% smaller so 8 feature cards
   become the visual priority on mobile.
   ========================================================= */

@media (max-width: 600px) {

    .welcome-section {
        padding: 14px 10px 16px !important;
    }

    .welcome-card {
        min-height: 0 !important;
        height: auto !important;
        padding: 12px 12px 14px !important;
        border-radius: 18px !important;
    }

    .welcome-logo {
        width: 100px !important;
        height: 58px !important;
        margin: 0 auto 1px !important;
    }

    .om-symbol {
        top: -2px !important;
        font-size: 46px !important;
        line-height: 1 !important;
    }

    .welcome-small {
        margin-bottom: 3px !important;
        font-size: 13px !important;
        letter-spacing: .5px !important;
    }

    .welcome-card h1 {
        margin: 0 !important;
        font-size: 23px !important;
        line-height: 1.02 !important;
        letter-spacing: .3px !important;
    }

    .welcome-divider {
        max-width: 210px !important;
        gap: 6px !important;
        margin: 7px auto 0 !important;
    }

    .welcome-divider i {
        height: 1px !important;
    }

    .welcome-divider b {
        font-size: 12px !important;
    }

    .tagline {
        margin-top: 6px !important;
        font-size: 14px !important;
        line-height: 1.1 !important;
    }

    .welcome-bottom {
        width: 120px !important;
        gap: 7px !important;
        margin: 6px auto 0 !important;
    }

    .welcome-bottom span {
        height: 1px !important;
    }

    .welcome-bottom b {
        font-size: 11px !important;
    }

    .medical-cross {
        font-size: 48px !important;
    }

    .cross-1 {
        left: 4% !important;
        top: 28px !important;
    }

    .cross-2 {
        right: 4% !important;
        top: 42px !important;
    }

    .cross-3 {
        left: 7% !important;
        bottom: 25px !important;
    }

    .cross-4 {
        right: 7% !important;
        bottom: 22px !important;
    }
}

/* Extra-small phones */
@media (max-width: 390px) {

    .welcome-section {
        padding: 10px 8px 12px !important;
    }

    .welcome-card {
        padding: 10px 8px 12px !important;
        border-radius: 16px !important;
    }

    .welcome-logo {
        width: 88px !important;
        height: 52px !important;
    }

    .om-symbol {
        font-size: 42px !important;
    }

    .welcome-small {
        font-size: 12px !important;
    }

    .welcome-card h1 {
        font-size: 21px !important;
    }

    .tagline {
        font-size: 13px !important;
    }

    .welcome-divider {
        max-width: 185px !important;
    }
}


/* =========================================================
   MOBILE — WELCOME CARD SAME HEIGHT AS DOCTOR CARD
   ========================================================= */

@media (max-width: 600px) {

    .welcome-section {
        padding: 14px 10px 16px !important;
    }

    .welcome-card {
        box-sizing: border-box !important;
        width: 100% !important;
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        padding: 8px 12px 10px !important;
        overflow: hidden !important;
    }

    .welcome-logo {
        width: 90px !important;
        height: 52px !important;
        margin: 0 auto 0 !important;
    }

    .om-symbol {
        top: -4px !important;
        font-size: 42px !important;
    }

    .welcome-small {
        margin-bottom: 2px !important;
        font-size: 13px !important;
    }

    .welcome-card h1 {
        font-size: 23px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .welcome-divider {
        max-width: 210px !important;
        margin: 6px auto 0 !important;
        gap: 6px !important;
    }

    .welcome-divider b {
        font-size: 11px !important;
    }

    .tagline {
        margin-top: 6px !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    .welcome-bottom {
        width: 120px !important;
        margin: 6px auto 0 !important;
        gap: 7px !important;
    }

    .welcome-bottom b {
        font-size: 11px !important;
    }

    .medical-cross {
        font-size: 45px !important;
    }

    .cross-1 {
        top: 25px !important;
    }

    .cross-2 {
        top: 38px !important;
    }

    .cross-3 {
        bottom: 20px !important;
    }

    .cross-4 {
        bottom: 18px !important;
    }
}

@media (max-width: 390px) {

    .welcome-card {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        padding: 7px 8px 9px !important;
    }

    .welcome-logo {
        height: 50px !important;
    }

    .om-symbol {
        font-size: 40px !important;
    }

    .welcome-card h1 {
        font-size: 21px !important;
    }
}



/* =========================================================
   OM CARE — MOBILE WELCOME CARD FINAL HEIGHT FIX
   FORCE MOBILE LAYOUT
   ========================================================= */

@media screen and (max-width: 900px) {

    .welcome-section {
        padding: 12px 10px 14px !important;
    }

    .welcome-section .welcome-card {
        box-sizing: border-box !important;
        width: 100% !important;

        /* SAME VISUAL HEIGHT AS DOCTORS CARD */
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;

        padding: 8px 12px !important;
        overflow: hidden !important;
    }

    .welcome-section .welcome-logo {
        width: 90px !important;
        height: 50px !important;
        margin: 0 auto !important;
    }

    .welcome-section .om-symbol {
        top: -5px !important;
        font-size: 40px !important;
    }

    .welcome-section .welcome-small {
        margin: 1px 0 2px !important;
        font-size: 13px !important;
        line-height: 1.1 !important;
    }

    .welcome-section .welcome-card h1 {
        margin: 0 !important;
        font-size: 23px !important;
        line-height: 1 !important;
    }

    .welcome-section .welcome-divider {
        max-width: 210px !important;
        margin: 6px auto 0 !important;
        gap: 6px !important;
    }

    .welcome-section .welcome-divider b {
        font-size: 11px !important;
    }

    .welcome-section .tagline {
        margin: 6px 0 0 !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    .welcome-section .welcome-bottom {
        width: 120px !important;
        margin: 6px auto 0 !important;
        gap: 7px !important;
    }

    .welcome-section .welcome-bottom b {
        font-size: 11px !important;
    }

    .welcome-section .medical-cross {
        font-size: 45px !important;
    }

}

@media screen and (max-width: 450px) {

    .welcome-section .welcome-card {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
    }

    .welcome-section .welcome-card h1 {
        font-size: 21px !important;
    }

}



/* =========================================================
   OM CARE — FINAL COMPACT WELCOME
   OM + STETHOSCOPE REMOVED
   ========================================================= */

@media screen and (max-width: 900px) {

    .welcome-section {
        padding: 10px 10px 14px !important;
    }

    .welcome-section .welcome-card {
        box-sizing: border-box !important;
        width: 100% !important;

        /* Compact height — feature cards remain dominant */
        height: 205px !important;
        min-height: 205px !important;
        max-height: 205px !important;

        padding: 18px 12px 12px !important;
        overflow: hidden !important;
    }

    /* OM is gone, so no empty logo space */
    .welcome-section .welcome-logo {
        display: none !important;
    }

    .welcome-section .welcome-small {
        margin: 0 0 3px !important;
        font-size: 13px !important;
        line-height: 1.1 !important;
    }

    .welcome-section .welcome-card h1 {
        margin: 0 !important;
        font-size: 22px !important;
        line-height: 1.05 !important;
    }

    .welcome-section .welcome-divider {
        max-width: 210px !important;
        margin: 7px auto 0 !important;
        gap: 6px !important;
    }

    .welcome-section .welcome-divider b {
        font-size: 10px !important;
    }

    .welcome-section .tagline {
        margin: 7px 0 0 !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    .welcome-section .welcome-bottom {
        width: 120px !important;
        margin: 7px auto 0 !important;
        gap: 7px !important;
    }

    .welcome-section .welcome-bottom b {
        font-size: 11px !important;
    }

    /* Slightly stronger background + signs */
    .welcome-section .medical-cross {
        color: rgba(91, 181, 119, 0.22) !important;
        font-size: 45px !important;
    }

}

@media screen and (max-width: 450px) {

    .welcome-section .welcome-card {
        height: 205px !important;
        min-height: 205px !important;
        max-height: 205px !important;
        padding: 17px 8px 11px !important;
    }

    .welcome-section .welcome-card h1 {
        font-size: 21px !important;
    }

    .welcome-section .welcome-small {
        font-size: 12px !important;
    }

    .welcome-section .tagline {
        font-size: 13px !important;
    }
}


/* =========================================================
   OM CARE — 8 FEATURE CARDS
   MOBILE: 2 COLUMNS / 4 ROWS
   COMPACT PREMIUM TICKET DESIGN
   ========================================================= */

@media screen and (max-width: 600px) {

    /* 8 cards = 2 columns */
    .services-preview {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 10px 25px !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;

        align-items: stretch !important;
    }

    /* Small individual tickets */
    .services-preview .service-ticket {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 155px !important;
        height: 155px !important;

        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 12px 9px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;

        text-align: center !important;
        overflow: hidden !important;
    }

    /* Icon becomes compact and moves to top */
    .services-preview .service-ticket .doctor-icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;

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

        margin: 0 auto 7px !important;
        font-size: 25px !important;
    }

    /* Ticket heading */
    .services-preview .service-ticket h2 {
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.12 !important;
        text-align: center !important;
    }

    /* Description */
    .services-preview .service-ticket p {
        margin: 6px 0 0 !important;
        font-size: 10px !important;
        line-height: 1.25 !important;
        text-align: center !important;

        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    /* Action */
    .services-preview .service-ticket a,
    .services-preview .service-ticket button {
        margin-top: auto !important;
        font-size: 10px !important;
        line-height: 1 !important;
    }

    /* If ticket uses a header wrapper */
    .services-preview .service-ticket .ticket-header {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    .services-preview .service-ticket .ticket-header h2 {
        margin: 0 !important;
    }

}

/* Very small phones */
@media screen and (max-width: 380px) {

    .services-preview {
        padding-left: 8px !important;
        padding-right: 8px !important;
        gap: 8px !important;
    }

    .services-preview .service-ticket {
        height: 150px !important;
        min-height: 150px !important;
        padding: 10px 7px !important;
    }

    .services-preview .service-ticket .doctor-icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        font-size: 22px !important;
        margin-bottom: 6px !important;
    }

    .services-preview .service-ticket h2 {
        font-size: 13px !important;
    }

    .services-preview .service-ticket p {
        font-size: 9px !important;
        line-height: 1.2 !important;
    }
}



/* =========================================================
   OM CARE — REAL FINAL MOBILE 2 x 4 CARD GRID
   HARD OVERRIDE — MUST WIN OVER ALL PREVIOUS CSS
   ========================================================= */

@media only screen and (max-width: 768px) {

    /* FORCE THE 8-CARD CONTAINER TO GRID */
    section.services-preview,
    .services-preview {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: 145px !important;
        gap: 9px !important;

        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 10px 10px 25px !important;

        box-sizing: border-box !important;
    }

    /* FORCE EVERY TICKET TO BECOME A SMALL TILE */
    section.services-preview > .service-ticket,
    .services-preview > .service-ticket,
    .services-preview .service-ticket {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        height: 145px !important;
        min-height: 145px !important;
        max-height: 145px !important;

        margin: 0 !important;
        padding: 9px 7px !important;

        box-sizing: border-box !important;
        overflow: hidden !important;

        flex: none !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;

        text-align: center !important;
    }

    /* HEADER — VERTICAL + COMPACT */
    .services-preview .service-ticket .ticket-header {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
    }

    /* ICON */
    .services-preview .service-ticket .doctor-icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;

        margin: 0 auto !important;
        padding: 0 !important;

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

        font-size: 22px !important;
        line-height: 1 !important;
    }

    /* TITLE */
    .services-preview .service-ticket h2 {
        width: 100% !important;
        margin: 2px 0 0 !important;
        padding: 0 !important;

        font-size: 13px !important;
        line-height: 1.08 !important;

        text-align: center !important;

        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    /* DESCRIPTION */
    .services-preview .service-ticket p {
        width: 100% !important;
        margin: 5px 0 0 !important;
        padding: 0 !important;

        font-size: 9px !important;
        line-height: 1.18 !important;

        text-align: center !important;

        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    /* BUTTON / LINK */
    .services-preview .service-ticket a,
    .services-preview .service-ticket button {
        margin-top: auto !important;
        padding: 0 !important;

        font-size: 9px !important;
        line-height: 1 !important;
    }
}


/* EXTRA SMALL PHONES */
@media only screen and (max-width: 400px) {

    section.services-preview,
    .services-preview {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: 138px !important;
        gap: 8px !important;
        padding: 8px 8px 22px !important;
    }

    .services-preview .service-ticket {
        height: 138px !important;
        min-height: 138px !important;
        max-height: 138px !important;
        padding: 8px 6px !important;
    }

    .services-preview .service-ticket .doctor-icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        font-size: 20px !important;
    }

    .services-preview .service-ticket h2 {
        font-size: 12px !important;
    }

    .services-preview .service-ticket p {
        font-size: 8.5px !important;
    }
}


/* =========================================================
   MOBILE FINAL — 2 CARDS × 2 CARDS
   Keep desktop layout unchanged.
   ========================================================= */

@media (max-width: 768px) {

    /* Mobile feature/card grid: exactly 2 columns */
    .cards-grid,
    .feature-grid,
    .features-grid,
    .home-cards,
    .service-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    /* Compact vertical cards */
    .cards-grid > *,
    .feature-grid > *,
    .features-grid > *,
    .home-cards > *,
    .service-cards > * {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Don't make cards stretch into large horizontal blocks */
    .cards-grid .card,
    .feature-grid .card,
    .features-grid .card,
    .home-cards .card,
    .service-cards .card {
        min-height: 165px !important;
        padding: 14px 10px !important;
    }
}


/* OM CARE — FINAL APPROVED MOBILE LOOK */

/* Page background: soft grey */
html,
body {
    background: #eef1ef !important;
}

/* Eight OM CARE service tickets */
.om-care-services .service-ticket {
    background: #f1f4f2 !important;
    border: 2px solid rgba(90, 78, 35, 0.82) !important;
    box-sizing: border-box !important;
}

/* Keep ticket content clean and readable */
.om-care-services .ticket-content {
    background: transparent !important;
}

/* Approved mobile layout */
@media (max-width: 700px) {
    .om-care-services {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .om-care-services .service-ticket {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}
