/* Home-only adaptation of the medical education landing-page design. */
.tp-home-page {
    background: #f7f9fc;
}

.tp-home {
    --tp-navy: #12315a;
    --tp-blue: #0d47a1;
    --tp-muted: #65748a;
    --tp-border: #e3eaf3;
    color: #1b304c;
    overflow: hidden;
}

.tp-home h1, .tp-home h2, .tp-home h3, .tp-home p {
    margin-top: 0;
}

.tp-home a { text-decoration: none; }
.tp-home a:hover { text-decoration: none; }
.tp-home section[id] { scroll-margin-top: 110px; }

.tp-home-page .header-one {
    background: #fff;
    box-shadow: 0 4px 22px rgba(20, 45, 83, .07);
}

.tp-home-page .header-one .main-nav-one a { color: var(--tp-navy, #12315a); }

.tp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #0d47a1;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .01em;
    margin-bottom: 14px;
}

.tp-eyebrow::before {
    content: '';
    width: 19px;
    height: 3px;
    border-radius: 3px;
    background: currentColor;
}

.tp-eyebrow-light { color: #dbeafe; }

.tp-hero, .tp-hero .carousel, .tp-hero .carousel-inner {
    position: relative;
}

.tp-hero .carousel-item {
    position: relative;
    aspect-ratio: 1920 / 720;
    background: linear-gradient(135deg, #092443, #0d47a1 70%, #127c91);
}

.tp-hero-media {
    display: block;
    width: 100%;
    height: 100%;
}

.tp-hero-image, .tp-hero-shade {
    width: 100%;
    height: 100%;
}

.tp-hero-image { display: block; object-fit: contain; }

.tp-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(6, 25, 48, .45), rgba(13, 71, 161, .34));
}

.tp-hero-fallback {
    min-height: 540px;
    background: radial-gradient(circle at 25% 35%, #287db2, transparent 36%), linear-gradient(135deg, #092443, #0d47a1 70%, #127c91);
}

.tp-hero-copy {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 65px 90px;
    color: #fff;
}

.tp-hero-copy h1 {
    color: #fff;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.45;
    max-width: 950px;
    font-weight: 800;
    margin-bottom: 18px;
}

.tp-hero-copy p {
    color: #f0f5fc;
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 2;
    max-width: 760px;
    margin-bottom: 30px;
}

.tp-hero .carousel-indicators { z-index: 3; bottom: 22px; }
.tp-hero .carousel-indicators button { border-radius: 20px; width: 32px; height: 5px; }
.tp-hero .carousel-control-prev, .tp-hero .carousel-control-next { z-index: 3; width: 7%; }
.tp-hero .carousel-control-prev { right: 0; left: auto; }
.tp-hero .carousel-control-next { left: 0; right: auto; }
.tp-hero .carousel-control-prev i, .tp-hero .carousel-control-next i { font-size: 28px; color: #fff; text-shadow: 0 2px 10px #102840; }
.tp-hero .carousel-control-prev i, .tp-hero .carousel-control-next i, .tp-home .fa-arrow-right { transform: scaleX(-1); }

.tp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 11px 27px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    white-space: nowrap;
}

.tp-button:hover { transform: translateY(-3px); }
.tp-button > i, .tp-text-link > i, .tp-table-link > i, .tp-card-link > i, .tp-card-register > i, .tp-teacher-card span > i { order: -1; }
.tp-button-primary { color: #fff !important; background: #1768ca; box-shadow: 0 12px 28px rgba(8, 55, 116, .22); }
.tp-button-primary:hover { background: #0d47a1; }
.tp-button-danger { color: #fff !important; background: #c83843; }
.tp-button-danger:hover { background: #ac2530; }
.tp-button-outline { color: #0d47a1 !important; background: #fff; border: 1px solid #bcd2ef; }
.tp-button-outline:hover { background: #eaf3ff; }

.tp-section { padding: 86px 0; }
.tp-section-heading { margin-bottom: 38px; }
.tp-section-heading h2, .tp-about h2 {
    color: #172e4d;
    font-size: clamp(28px, 2.5vw, 38px);
    font-weight: 800;
    line-height: 1.5;
    margin-bottom: 8px;
}

.tp-section-heading p { color: #66758a; font-size: 16px; line-height: 1.9; margin-bottom: 0; }
.tp-centered { text-align: center; }
.tp-centered .tp-eyebrow { justify-content: center; }
.tp-section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 24px; }

.tp-steps { background: #f9fbff; border-top: 2px solid #173b65; }
.tp-step {
    height: 100%;
    padding: 10px 20px;
    text-align: center;
}

.tp-course-card:hover, .tp-teacher-card:hover { transform: translateY(-6px); box-shadow: 0 17px 36px rgba(19, 51, 91, .12); }
.tp-step-icon { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 21px; border-radius: 50%; background: #e9f2fe; color: #0d47a1; font-size: 31px; }
.tp-steps .col-md-4:last-child .tp-step-icon { background: #ffedf0; color: #d73543; }
.tp-step h3 { color: #203753; font-size: 19px; font-weight: 700; margin-bottom: 12px; }
.tp-step p { color: #718094; font-size: 14px; line-height: 2; margin-bottom: 0; }

.tp-spotlight { padding: 42px 0; background: #f7f9fc; }
.tp-spotlight-card {
    display: flex;
    align-items: center;
    gap: 25px;
    border-radius: 21px;
    border: 1px solid #f2d8db;
    background: #fff4f5;
    padding: 30px 36px;
    box-shadow: 0 9px 26px rgba(137, 34, 45, .06);
}
.tp-spotlight-card + .tp-spotlight-card { margin-top: 16px; }

.tp-spotlight-icon { display: grid; place-items: center; flex: 0 0 64px; height: 64px; border-radius: 18px; color: #bd3541; background: #fff; font-size: 27px; }
.tp-spotlight-text { flex: 1; min-width: 0; }
.tp-spotlight-text .tp-eyebrow { color: #ad3c46; margin-bottom: 5px; }
.tp-spotlight h2 { color: #27374e; font-size: clamp(19px, 2vw, 24px); font-weight: 800; margin-bottom: 6px; line-height: 1.6; }
.tp-spotlight p { color: #6f7684; font-size: 14px; line-height: 1.8; margin-bottom: 0; }
.tp-countdown { display: flex; flex-direction: column; align-items: center; padding: 12px 18px; border-radius: 12px; background: #fff; color: #a42b37; }
.tp-countdown small { white-space: nowrap; font-size: 12px; }
.tp-countdown strong { font-size: 23px; color: #172e4d; }

.tp-courses, .tp-instructors { background: #f7f9fc; }
.tp-text-link, .tp-table-link { display: inline-flex; align-items: center; gap: 10px; color: #0d47a1; font-size: 15px; font-weight: 700; white-space: nowrap; }
.tp-text-link:hover, .tp-table-link:hover { color: #1768ca; }

.tp-course-card {
    height: 100%;
    overflow: hidden;
    background: #fff;
    border-radius: 19px;
    box-shadow: 0 8px 26px rgba(20, 48, 84, .06);
    transition: transform .25s ease, box-shadow .25s ease;
}

.tp-course-image { position: relative; display: block; height: 230px; background: linear-gradient(135deg, #e9f1fb, #f7fafc); overflow: hidden; }
.tp-course-image img { position: absolute; inset: 14px; display: block; width: calc(100% - 28px); height: calc(100% - 28px); object-fit: contain; transition: transform .3s ease; }
.tp-course-card:hover .tp-course-image img { transform: scale(1.045); }
.tp-course-body { display: flex; flex-direction: column; align-items: flex-start; padding: 25px; min-height: 215px; }
.tp-course-tag { display: inline-block; color: #136c60; background: #e8f7f3; border-radius: 30px; font-size: 12px; font-weight: 700; padding: 5px 12px; margin-bottom: 12px; }
.tp-course-body h3 { font-size: 19px; line-height: 1.65; font-weight: 800; margin-bottom: 12px; }
.tp-course-body h3 a { color: #203753; }
.tp-course-body p { color: #728095; font-size: 14px; margin-bottom: 18px; }
.tp-course-bottom { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #eef2f7; padding-top: 17px; margin-top: auto; }
.tp-price { color: #136c60; font-size: 15px; font-weight: 800; }
.tp-card-link { display: inline-flex; align-items: center; gap: 7px; color: #0d47a1; font-size: 13px; font-weight: 700; white-space: nowrap; }
.tp-card-register { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border: 1px solid #1768ca; border-radius: 22px; color: #1768ca; font-size: 13px; font-weight: 700; white-space: nowrap; }
.tp-card-register:hover { background: #1768ca; color: #fff; }

.tp-calendar { background: #fff; }
.tp-calendar-month-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-bottom: 12px; padding: 6px; border: 1px solid #dce5ef; border-radius: 18px; background: #f8fafc; }
.tp-calendar-month-tab { border: 0; border-radius: 12px; padding: 12px 16px; background: transparent; color: #52647c; cursor: pointer; font-size: 15px; font-weight: 800; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.tp-calendar-month-tab:hover { color: #0d47a1; background: #edf4fc; }
.tp-calendar-month-tab.active { color: #fff; background: #0d47a1; box-shadow: 0 5px 14px rgba(13, 71, 161, .2); }
.tp-calendar-month-pane { display: none; }
.tp-calendar-month-pane.active { display: block; }
.tp-calendar-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 0; padding: 6px; border: 1px solid #dce5ef; border-radius: 18px 18px 0 0; background: #f8fafc; }
.tp-calendar-tab { border: 0; border-radius: 12px; padding: 12px 16px; background: transparent; color: #52647c; cursor: pointer; font-size: 15px; font-weight: 800; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.tp-calendar-tab:hover { color: #0d47a1; background: #edf4fc; }
.tp-calendar-tab.active { color: #fff; background: #0d47a1; box-shadow: 0 5px 14px rgba(13, 71, 161, .2); }
.tp-table-wrap { border: 1px solid #e7ebf2; border-radius: 17px; box-shadow: 0 11px 33px rgba(16, 47, 85, .06); overflow: auto; }
.tp-calendar .tab-pane .tp-table-wrap { border-top: 0; border-radius: 0 0 17px 17px; }
.tp-table { width: 100%; text-align: center; color: #536278; font-size: 14px; }
.tp-table thead { background: #f1f6fc; color: #28405f; }
.tp-table thead th { border: 0; white-space: nowrap; font-weight: 700; padding: 19px 16px; }
.tp-table tbody td { border-color: #eef2f6; padding: 18px 16px; vertical-align: middle; }
.tp-table tbody tr:last-child td { border-bottom: 0; }
.tp-table-id { font-weight: 800; color: #0d47a1; }
.tp-table-title { font-weight: 700; color: #283e59; }
.tp-table-empty { color: #718094; padding: 35px 16px !important; }
.tp-status, .tp-course-type, .tp-score { display: inline-flex; align-items: center; justify-content: center; border-radius: 20px; padding: 6px 11px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.tp-status-held { color: #157047; background: #e5f5ec; }
.tp-status-waiting { color: #a26300; background: #fff2d5; }
.tp-course-type { color: #0b6882; background: #def5fb; }
.tp-score { color: #6b4a00; background: #ffd349; }
.tp-share { display: flex; justify-content: center; gap: 8px; }
.tp-share a { display: inline-flex; align-items: center; justify-content: center; width: 31px; height: 31px; border-radius: 50%; background: #f1f6fc; color: #0d47a1; font-size: 16px; transition: transform .2s ease, background .2s ease; }
.tp-share a:hover { background: #dfeafb; transform: translateY(-2px); }
.tp-share .tp-bale-share { background: #fff; border: 1px solid #dceae6; border-radius: 50%; overflow: hidden; padding: 4px; }
.tp-share .tp-bale-share:hover { background: #edf9f5; border-color: #0cbc8d; }
.tp-share .tp-bale-share img { display: block; height: 100%; object-fit: contain; width: 100%; }
.tp-course-schedule, .course-card-schedule { color: #52657d; font-size: .82rem; margin: .5rem 0 0; }
.course-card-schedule { display: block; }
.tp-course-schedule i, .course-card-schedule i { color: #1688c5; margin-left: 4px; }

.tp-teacher-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    min-height: 280px;
    padding: 34px 20px 28px;
    text-align: center;
    background: #fff;
    border: 1px solid #e7ecf4;
    border-radius: 20px;
    color: #617086;
    transition: transform .25s ease, box-shadow .25s ease;
}
.tp-teacher-carousel { overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
.tp-teacher-carousel::-webkit-scrollbar { display: none; }
.tp-teacher-track { display: flex; gap: 24px; }
.tp-teacher-item { flex: 0 0 calc((100% - 72px) / 4); min-width: 0; }

.tp-teacher-card img { width: 118px; height: 118px; object-fit: cover; border-radius: 50%; border: 5px solid #eaf2fc; margin-bottom: 18px; }
.tp-teacher-card h3 { font-size: 17px; font-weight: 800; color: #1e3654; margin-bottom: 8px; }
.tp-teacher-card p { font-size: 13px; line-height: 1.7; margin-bottom: 15px; }
.tp-teacher-card span { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; color: #0d47a1; font-size: 13px; font-weight: 700; }

.tp-empty { max-width: 680px; margin: auto; padding: 46px 20px; text-align: center; border: 1px dashed #c8d7e9; border-radius: 18px; background: #fff; }
.tp-empty > i { display: block; margin-bottom: 17px; color: #7fa5d3; font-size: 36px; }
.tp-empty h3 { color: #29405d; font-size: 20px; margin-bottom: 9px; }
.tp-empty p { color: #728095; font-size: 14px; line-height: 1.8; margin-bottom: 0; }

.tp-network { background: #fff; text-align: right; }
.tp-network-heading { display: flex; align-items: center; gap: 24px; }
.tp-network-heading img { width: 70px; height: 94px; object-fit: contain; flex: none; }
.tp-network-heading h2 { color: #a51c24; font-size: clamp(23px, 3vw, 35px); font-weight: 800; line-height: 1.65; margin: 0; }
.tp-network-intro { color: #1b304c; font-size: 17px; font-weight: 700; margin: 28px 0 12px; }
.tp-network-list { list-style: none; padding: 0; margin: 0 0 32px; color: #3a4b62; font-size: 15px; line-height: 2.2; }
.tp-network-list li::before { content: '◀'; color: #0d47a1; font-size: 10px; margin-left: 10px; }
.tp-network-summary { display: flex; align-items: center; gap: 40px; padding-top: 28px; border-top: 1px solid #dce5ef; }
.tp-network-stats { display: flex; flex: 0 0 270px; flex-direction: column; color: #1b304c; font-size: 14px; line-height: 1.9; }
.tp-network-stats strong { font-size: 17px; font-weight: 800; }
.tp-network-partners { display: flex; flex: 1; justify-content: center; flex-wrap: wrap; gap: 18px; }
.tp-network-partner { display: flex; align-items: center; flex-direction: column; gap: 12px; width: 180px; text-align: center; color: #3a4b62; font-size: 13px; line-height: 1.7; }
.tp-network-logo { display: block; width: 76px; height: 76px; background-image: url('../assets_2/images/medical-network-reference.png'); background-repeat: no-repeat; background-size: 800px 450px; }
.tp-network-logo-pharma { background-position: -390px -301px; }
.tp-network-logo-emergency { background-position: -282px -302px; }
.tp-network-logo-toxicology { background-position: -172px -303px; }
.tp-network-logo-university { background-position: -51px -301px; }

.tp-about { background: #fff; }
.tp-about-lead { color: #0d47a1; font-size: 18px; font-weight: 700; line-height: 1.9; }
.tp-about-description { color: #69798e; font-size: 15px; line-height: 2.15; margin: 16px 0 28px; }
.tp-about-description p { color: inherit; line-height: inherit; }
.tp-about-description h3 { color: #172e4d; font-size: 18px; font-weight: 700; margin: 24px 0 10px; }
.tp-about-visual { display: grid; place-items: center; min-height: 355px; overflow: hidden; border-radius: 24px; background: #edf4fc; box-shadow: 0 18px 38px rgba(23, 55, 95, .12); }
.tp-about-visual img { display: block; max-width: 100%; width: 100%; height: 390px; object-fit: contain; }

/* Keep the shared footer and its content, but give it the reference palette on home only. */
.tp-home-page .footer-callto-action-area { background: #162f53 !important; }
.tp-home-page .footer-callto-action-area .title { color: #fff; }
.tp-home-page .footer-callto-action-area .dsic,
.tp-home-page .footer-callto-action-area .link-mn,
.tp-home-page .footer-callto-action-area .menu a { color: #e1e8f3; }

@media (max-width: 991px) {
    .tp-calendar-tabs { grid-template-columns: repeat(2, 1fr); }
    .tp-teacher-item { flex-basis: calc((100% - 24px) / 2); }
    .tp-hero-copy { padding-inline: 65px; }
    .tp-section { padding: 65px 0; }
    .tp-spotlight-card { flex-wrap: wrap; }
    .tp-spotlight-text { flex-basis: calc(100% - 95px); }
}

@media (max-width: 767px) {
    .tp-calendar .tp-table-wrap { overflow: visible; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
    .tp-calendar .tp-table { display: block; font-size: 13px; }
    .tp-calendar .tp-table thead { display: none; }
    .tp-calendar .tp-table tbody { display: grid; gap: 10px; }
    .tp-calendar .tp-table tbody tr { display: block; padding: 2px 12px; border: 1px solid #dfe8f2; border-radius: 13px; background: #fff; box-shadow: 0 5px 15px rgba(16, 47, 85, .05); }
    .tp-calendar .tp-table tbody td { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0 !important; border-color: #edf1f5; text-align: left; }
    .tp-calendar .tp-table tbody td::before { content: attr(data-label); flex: 0 0 auto; color: #52647c; font-size: 11px; font-weight: 800; text-align: right; }
    .tp-calendar .tp-table .tp-table-title { color: #283e59; font-weight: 800; line-height: 1.8; text-align: left; }
    .tp-calendar .tp-table tbody td:last-child { border-bottom: 0; }
    .tp-calendar .tp-table tbody .tp-table-empty { display: block; padding: 28px 14px !important; text-align: center; }
    .tp-calendar .tp-table tbody .tp-table-empty::before { content: none; }
    .tp-teacher-item { flex-basis: 100%; }
    .tp-hero .carousel-item.tp-hero-mobile-image { aspect-ratio: 860 / 492; }
    .tp-hero-fallback { min-height: 500px; }
    .tp-hero-copy { padding: 55px 22px 70px; }
    .tp-hero-copy h1 { font-size: 31px; }
    .tp-hero-copy p { font-size: 15px; }
    .tp-hero .carousel-control-prev, .tp-hero .carousel-control-next { display: none; }
    .tp-section { padding: 52px 0; }
    .tp-section-heading-row { align-items: flex-start; flex-direction: column; }
    .tp-spotlight-card { padding: 24px; gap: 18px; }
    .tp-spotlight-icon { flex-basis: 52px; height: 52px; }
    .tp-spotlight-text { flex-basis: calc(100% - 70px); }
    .tp-spotlight .tp-button { width: 100%; }
    .tp-countdown { align-self: center; margin: 0 auto; }
    .tp-course-image { height: 210px; }
    .tp-course-bottom { flex-wrap: wrap; }
    .tp-card-register { width: 100%; justify-content: center; }
    .tp-about-visual { min-height: 270px; }
    .tp-about-visual img { height: 290px; }
    .tp-network-heading { align-items: flex-start; gap: 14px; }
    .tp-network-heading img { width: 52px; height: 75px; }
    .tp-network-heading h2 { font-size: 22px; }
    .tp-network-summary { align-items: stretch; flex-direction: column; gap: 28px; }
    .tp-network-stats { flex-basis: auto; }
    .tp-network-partner { width: calc(50% - 12px); }
}

@media (prefers-reduced-motion: reduce) {
    .tp-home *, .tp-home *::before, .tp-home *::after { transition-duration: .01ms !important; }
}
.tp-home .home-webinar-alert {
    width: calc(100% - 30px);
    max-width: 1180px;
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 14px auto 10px;
    padding: 14px 20px;
    box-sizing: border-box;
    border: 1px solid #f0a400;
    border-radius: 10px;
    background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
    box-shadow: 0 4px 14px rgba(190, 126, 0, .14);
    color: #624600;
    direction: rtl;
    text-align: right;
    animation: home-webinar-alert-pulse 1.8s ease-in-out infinite;
}

.tp-home .home-webinar-alert__icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #f0a400;
    color: #fff;
    font-size: 19px;
}

.tp-home .home-webinar-alert__text {
    flex: 1 1 auto;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 2;
    overflow-wrap: anywhere;
}

.tp-home .home-webinar-alert__text strong {
    color: #9b5900;
    font-weight: 800;
}

@keyframes home-webinar-alert-pulse {
    0%, 100% {
        box-shadow: 0 4px 14px rgba(190, 126, 0, .14);
    }
    50% {
        box-shadow: 0 4px 22px rgba(240, 164, 0, .48), 0 0 0 5px rgba(240, 164, 0, .10);
    }
}

@media (max-width: 640px) {
    .tp-home .home-webinar-alert {
        width: calc(100% - 20px);
        align-items: flex-start;
        gap: 10px;
        margin-top: 10px;
        padding: 11px 12px;
        border-radius: 8px;
    }

    .tp-home .home-webinar-alert__icon {
        width: 30px;
        height: 30px;
        font-size: 15px;
    }

    .tp-home .home-webinar-alert__text {
        font-size: 12px;
        line-height: 1.9;
    }
}

@media (min-width: 641px) and (max-width: 900px) {
    .tp-home .home-webinar-alert {
        width: calc(100% - 24px);
        padding: 13px 16px;
    }

    .tp-home .home-webinar-alert__text {
        font-size: 13px;
        line-height: 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tp-home .home-webinar-alert {
        animation: none;
    }
}
.tp-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.tp-steps-grid > .tp-step {
    position: relative;
    width: 100%;
    min-height: 285px;
    box-sizing: border-box;
    padding: 34px 22px 24px;
    border: 1px solid #e1eaf5;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(20, 48, 84, .06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.tp-steps-grid > .tp-step:hover {
    transform: translateY(-6px);
    border-color: #bcd2ef;
    box-shadow: 0 17px 36px rgba(19, 51, 91, .12);
}

.tp-step-number {
    position: absolute;
    top: 15px;
    left: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e9f2fe;
    color: #0d47a1;
    font-size: 15px;
    font-weight: 800;
}

.tp-steps-grid .tp-step-icon {
    width: 72px;
    height: 72px;
    margin-bottom: 18px;
    font-size: 28px;
}

.tp-steps-grid .tp-step:nth-child(2) .tp-step-icon {
    background: #e8f7f3;
    color: #136c60;
}

.tp-steps-grid .tp-step:nth-child(3) .tp-step-icon {
    background: #fff2d5;
    color: #a26300;
}

.tp-steps-grid .tp-step:nth-child(4) .tp-step-icon {
    background: #ffedf0;
    color: #d73543;
}

.tp-steps-grid .tp-step h3 {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 12px;
}

.tp-steps-grid .tp-step p {
    font-size: 14px;
    line-height: 2;
}

@media (max-width: 991px) {
    .tp-steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .tp-steps-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .tp-steps-grid > .tp-step {
        min-height: 0;
        padding: 30px 20px 22px;
    }
}
