@import 'https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&family=Roboto:wght@300;400;500;700;900&display=swap';

/* ===== OPTIMUS PHARMA - STANDARDIZED COLOR PALETTE ===== */
:root {
    /* Primary Brand Colors */
    --op-primary-orange: #ff5d05;
    --op-secondary-orange: #e04f00;

    /* Green Color System */
    --op-primary-green: #56bd8e;
    --op-secondary-green: #43af7e;
    --op-dark-green: #325f58;
    --op-success-green: #019a50;

    /* Neutral Color System */
    --op-white: #fff;
    --op-black: #000;
    --op-light-gray: #f8f9fa;
    --op-medium-gray: #6c757d;
    --op-dark-gray: #343a40;
    --op-text-gray: #444;
    --op-very-light-gray: #fbfbfb;
    --op-border-gray: #e8e8e8;
    --op-light-blue-gray: #ecf5fc;
    --op-light-yellow: #f8f601;
    --op-yellow: #f9f600;

    /* Semantic Colors */
    --op-success: var(--op-success-green);
    --op-warning: var(--op-primary-orange);
    --op-info: #17a2b8;
    --op-danger: #dc3545;

    /* Shadow & Transparency */
    --op-shadow-light: rgba(0, 0, 0, 0.06);
    --op-shadow-medium: rgba(0, 0, 0, 0.15);
    --op-shadow-heavy: rgba(0, 0, 0, 0.25);
    --op-overlay-light: rgba(255, 255, 255, 0.2);
    --op-overlay-dark: rgba(0, 0, 0, 0.5);
}

a {
    text-decoration: none
}

ul {
    padding: 0;
    margin: 0;
    list-style: none
}

body {
    background: var(--op-white);
    font-size: 14px;
    font-family: lato, sans-serif;
    font-weight: 400;
    /* Modern scroll behavior */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    /* Optimize for performance */
    will-change: scroll-position;
}

p {
    font-family: lato, sans-serif;
    font-weight: 400
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: roboto, sans-serif;
    font-weight: 700
}

/* Removed unused loader animation */

/* ===== SIMPLIFIED ANIMATIONS ===== */
/* Simple fade-in animation */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.animate-fade {
    animation: fadeIn 0.4s ease-out forwards;
}

/* ===== MODERN SCROLL OPTIMIZATIONS ===== */
/* Optimize images for better scroll performance */
img {
    max-width: 100%;
    height: auto;
}

/* ===== CONSOLIDATED GRIDS ===== */
/* Universal responsive grid for carousels/sliders */
.modern-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    align-items: stretch;
    margin: 2rem 0;
}

.modern-grid .grid-item {
    background: var(--op-white);
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.modern-grid .grid-item img {
    max-width: 100px;
    margin-bottom: 1rem;
}

.modern-grid .grid-item h3 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.modern-grid .grid-item p {
    font-size: 1rem;
    color: var(--op-text-gray);
}

/* Accreditation logos grid */
.accreditation-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    align-items: center;
    margin: 2rem 0;
}

.accreditation-logos .acc-logo {
    flex: 0 1 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--op-white);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 1rem;
    min-height: 80px;
}

.accreditation-logos img {
    max-width: 100px;
    max-height: 60px;
    object-fit: contain;
}

/* Pillars of Optimus grid */
.pillars-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
    margin: 1.5rem 0;
}

.pillar-card {
    flex: 1 1 260px;
    max-width: 320px;
    background: var(--op-white);
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    padding: 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
}

.pillar-card img {
    max-width: 70px;
    margin-bottom: 0.75rem;
}

.pillar-card h3 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    text-align: center;
}

.pillar-card p {
    font-size: 1rem;
    color: var(--op-text-gray);
    text-align: left;
}

/* ===== RESPONSIVE GRID MEDIA QUERIES ===== */
@media (max-width: 900px) {

    .modern-grid,
    .pillars-grid,
    .accreditation-logos {
        gap: 1rem;
    }

    .modern-grid .grid-item,
    .pillar-card,
    .accreditation-logos .acc-logo {
        flex-basis: 45%;
        max-width: 100%;
    }
}

@media (max-width: 600px) {

    .modern-grid,
    .pillars-grid,
    .accreditation-logos {
        flex-direction: column;
        gap: 1rem;
    }

    .modern-grid .grid-item,
    .pillar-card,
    .accreditation-logos .acc-logo {
        flex-basis: 100%;
        max-width: 100%;
    }
}

/* ===== CONSOLIDATED HOMEPAGE STYLES ===== */
/* Clean, minimal homepage styles */
.welcome-block {
    padding: 60px 0 40px 0;
    background: #f8f9fa;
}

.welcome-title h2 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.welcome-title p {
    font-size: 1.2rem;
    line-height: 1.6;
}

.welocome-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.welocme-box {
    background: var(--op-white);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
    padding: 32px 40px;
    text-align: center;
}

.welocme-box h3 {
    font-size: 2rem;
    font-weight: 600;
    margin: 0;
}

.welocme-box span {
    color: #007bff;
    font-size: 2.5rem;
    font-weight: bold;
}

.section-title.mb-5 h2.text-center {
    color: var(--op-white);
}

.section-title h2.text-center.latest-news,
.section-title h2.text-center.optimus-accreditation,
.section-title h2.text-center.global-presence {
    color: #111 !important;
}

.center {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto
}

.top-header {
    background: transparent;
    padding: 8px 50px;
    border-bottom: none;
}

.top-header ul {
    text-align: right
}

.top-header ul>li {
    display: inline-block
}

.top-header ul>li:not(:last-child) {
    margin-right: 15px
}

.top-header ul>li>a {
    display: block;
    padding: 8px 0;
    color: var(--op-dark-gray);
    font-size: 13px;
    font-family: roboto, sans-serif;
    font-weight: 500;
    transition: color 0.3s ease;
}

.top-header ul>li>a:hover {
    color: var(--op-success-green);
}

.top-header ul>li>a>img {
    margin-right: 20px;
    display: inline-block;
    vertical-align: middle
}

.bottom-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 50px;
    background: var(--op-white);
    border-bottom: none;
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.menu-wrapper ul>li {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

.menu-wrapper ul>li>a {
    font-size: 16px;
    color: var(--op-black)
}

.menu-wrapper {
    display: flex;
    align-items: center
}

ul.menu-item>li>a {
    display: block;
    padding: 30px 16px;
    position: relative;
    font-family: roboto, sans-serif;
    font-weight: 400;
    /* Removed transition for better scroll performance */
}

ul.menu-item>li>a::after {
    content: "";
    width: 0;
    /* Removed transition for better scroll performance */
}

ul.menu-item>li>a:hover::after {
    width: 56px;
    height: 6px;
    background: #56bd8e;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0
}

ul.social-share>li>a {
    padding: 28px 10px;
    display: block;
    font-size: 18px
}

ul.custom-btn>li>a {
    display: block;
    padding: 28px 10px
}

ul.custom-btn {
    margin-left: 40px;
    position: relative
}

ul.custom-btn::before {
    content: "";
    width: 1px;
    height: 20px;
    background: #c8c0c0;
    display: block;
    position: absolute;
    top: 30px;
    left: -10px
}

ul.custom-btn .btn {
    padding: 5px 13px;
    font-size: 14px;
    background: var(--op-success-green);
    border-radius: 3px;
    color: #fff;
    margin-left: 30px;
    font-family: roboto, sans-serif;
    font-weight: 500
}

ul.custom-btn .btn:hover {
    background: var(--op-dark-green)
}

.block {
    padding: 60px 0
}

.company-block {
    padding: 0;
    position: relative
}

.intro-title h1 {
    font-size: 64px;
    line-height: 53px;
    letter-spacing: .2px;
    color: var(--op-secondary-orange);
    margin-bottom: 30px;
    font-family: roboto, sans-serif;
    font-weight: 900
}

.intro-title h1 span {
    display: block;
    font-size: 20px;
    color: var(--op-black);
    margin-bottom: 10px;
    font-family: roboto, sans-serif;
    font-weight: 400;
    text-transform: uppercase
}

.intro-title p {
    font-size: 16px;
    line-height: 26px;
    letter-spacing: .2px;
    text-transform: capitalize;
    color: #000;
    font-family: roboto, sans-serif;
    font-weight: 400
}

/* ===== MODERN BUTTON STYLES ===== */
.btn,
.btn-custom,
.btn-custom.btn-black,
.btn-secondary {
    color: var(--op-black) !important;
    background: transparent !important;
    border: 2px solid var(--op-black) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    padding: 12px 32px !important;
    font-size: 15px !important;
    letter-spacing: 0.5px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-transform: none !important;
    background-image: none !important;
    outline: none !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn:hover,
.btn-custom:hover,
.btn-custom.btn-black:hover,
.btn-secondary:hover {
    background: var(--op-black) !important;
    color: var(--op-white) !important;
    border-color: var(--op-black) !important;
}

.btn:active,
.btn-custom:active,
.btn-custom.btn-black:active,
.btn-secondary:active {
    background: var(--op-black) !important;
    color: var(--op-white) !important;
    border-color: var(--op-black) !important;
}

.btn-custom::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.btn-custom:hover {
    background: linear-gradient(135deg, var(--op-dark-green) 0%, var(--op-success-green) 100%);
    color: var(--op-white);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(1, 154, 80, 0.4);
}

.btn-custom:hover::before {
    left: 100%;
}

.btn-custom:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(1, 154, 80, 0.3);
}

.intro-image {
    text-align: center
}

.welcome-block {
    background: var(--op-white);
    padding-top: 90px
}

.welcome-title h2 {
    font-weight: 500;
    font-size: 45px;
    line-height: 53px;
    color: var(--op-dark-gray);
    font-family: roboto, sans-serif;
    font-weight: 500;
    position: relative;
    margin-bottom: 40px
}

.welcome-title h2::after {
    content: "";
    width: 53px;
    height: 2px;
    display: block;
    background: var(--op-secondary-green);
    position: absolute;
    bottom: -15px
}

.welcome-title p {
    font-size: 16px;
    line-height: 28px;
    color: var(--op-black);
    margin-bottom: 30px;
    text-align: justify
}

.btn-custom.btn-black {
    background: linear-gradient(135deg, #2c2c2c 0%, #4a4a4a 100%);
    border-radius: 8px;
    text-transform: capitalize;
    padding: 10px 24px;
    font-size: 14px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-custom.btn-black:hover {
    color: var(--op-white);
    background: linear-gradient(135deg, var(--op-dark-green) 0%, var(--op-success-green) 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.btn-custom.btn-black>img {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.btn-custom.btn-black:hover>img {
    transform: translateX(3px);
}

.welocme-box {
    width: 337px;
    height: 381px;
    background: #43af7e;
    position: relative;
    margin-left: auto
}

.welocme-box h3 {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 15px;
    color: var(--op-white);
    text-align: center;
    width: 100%;
    font-size: 25px
}

.welocme-box {
    width: 337px;
    height: 368px;
    background: #43af7e;
    margin-left: auto;
    position: relative
}

.welocme-box::before {
    content: "";
    width: 449px;
    height: 324px;
    display: block;
    background: var(--op-white) url(../assets/images/welcome-image1.png) no-repeat center;
    right: 45px;
    top: -30px;
    position: absolute;
    box-shadow: 5px 5px 15px rgb(0 0 0/10%);
    border: 10px solid var(--op-white)
}

.mission-vision {
    display: flex;
    justify-content: center;
    padding: 128px 60px
}

.btn-custom.btn-black:hover {
    background: var(--op-dark-green)
}

.ms-bg {
    background: #000 url(../assets/images/mission-bg.jpg) no-repeat center;
    background-size: cover
}

.vs-bg {
    background: #000 url(../assets/images/vision-bg.jpg) no-repeat center;
    background-size: cover
}

.mission-vision .st-icon {
    margin-right: 35px
}

.vm-content h2 {
    text-transform: uppercase;
    color: var(--op-white);
    font-size: 35px;
    margin-bottom: 15px
}

.vm-content p {
    font-size: 16px;
    line-height: 28px;
    color: var(--op-white);
    margin: 0;
    text-align: justify
}

.company-info {
    background: var(--op-primary-orange);
    padding: 45px 0
}

.ci-info {
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center
}

.ci-info::after {
    content: "";
    width: 1px;
    height: 55px;
    background: #dfbaba;
    position: absolute;
    right: 0;
    top: 15px
}

.company-info .row>div:last-child .ci-info::after {
    content: none
}

.ci-info .ci-info-icon {
    margin-right: 15px
}

.ci-info-content h4 {
    text-transform: capitalize;
    color: var(--op-white);
    font-size: 35px;
    margin-bottom: 0;
    font-family: roboto, sans-serif;
    font-weight: 900
}

.ci-info-content p {
    text-transform: capitalize;
    color: #fff;
    font-size: 20px;
    margin-bottom: 0
}

/* ===== SIMPLIFIED SECTION STYLES ===== */
/* Capabilities section - styles moved from removed wrapper divs */
.block-capablities {
    padding: 90px 0;
    background: #000 url(../assets/images/capable-bg.png) no-repeat center;
    background-size: cover;
}

.block-capablities .container {
    background: #fff;
    box-shadow: 0 4px 16px rgb(153 149 149/25%);
    border-radius: 5px;
    padding: 60px 45px;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Remove references to removed wrapper classes */
.capable-wrap,
.cw-box {
    /* Styles moved to .block-capablities .container above */
}

/* Accreditation section - simplified */
.block-aacreditation .container {
    border: 1px solid var(--op-border-gray);
    box-shadow: 0 9px 15px rgb(202 191 191/25%);
    border-radius: 0;
    max-width: 1122px;
    margin: 0 auto;
    width: 90%;
    max-width: 1200px;
    box-sizing: border-box;
}

/* Remove old accreditation wrapper reference */
.block-aacreditation .cw-box {
    /* Styles moved to .block-aacreditation .container above */
}

.block-product .leader-info {
    background: #fff;
    box-shadow: 0 0 11px 2px rgb(126 126 126/21%);
    border-radius: 13px;
    margin-bottom: 30px;
    padding: 25px
}

.block-product .leader-image img {
    box-shadow: 0 0 11px 2px rgb(126 126 126/21%);
    border-radius: 13px
}

.block-product .section-inner-content p {
    margin-bottom: 55px;
    min-height: 104px
}

.block-product .btn-custom {
    font-family: lato, sans-serif;
    font-weight: 400;
    border-radius: 3px;
    padding: 6px 15px;
    text-align: left;
    background: var(--op-primary-orange)
}

.block-product .btn-custom:hover {
    background: #000;
    color: #fff
}

.block-product .btn-custom span {
    width: 30px;
    height: 30px;
    display: inline-block;
    background: url(../assets/images/pdf-download.svg) no-repeat center;
    background-size: 30px;
    vertical-align: middle;
    margin-left: 7px
}

.ehs-wrapper {
    position: relative;
    border-radius: 50%;
    margin: 0 auto;
    max-width: 526px;
    height: 526px;
    width: 100%;
    outline: 2px solid #019a50;
    border: 10px solid #fff
}

.ehs-imaage img {
    border-radius: 50%
}

.ehs-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 10.04%, rgba(1, 154, 80, 0) 13.64%, rgba(1, 154, 80, 0.601974) 45.83%, #019A50 100%);
    mix-blend-mode: normal;
    border-radius: 50%;
    display: flex;
    align-items: end;
    padding: 80px
}

.block-ehs .section-inner-content p {
    line-height: 18px
}

.block-policy .store-content .section-title h2 {
    font-size: 25px
}

.block-policy ul.store li {
    font-size: 14px;
    color: var(--op-primary-orange);
    text-transform: uppercase
}

.block-policy ul.store li.current {
    color: #fff
}

.block-policy .store-content {
    box-shadow: none;
    padding: 0
}

.ep-icon {
    width: 106px;
    height: 106px;
    line-height: 106px;
    background: var(--op-primary-orange);
    text-align: center;
    border-radius: 50%;
    margin-bottom: 15px
}

.ep-content h2 {
    font-size: 23px;
    line-height: 26px;
    color: #303030;
    margin-bottom: 15px
}

.ep-content p {
    font-size: 14px;
    line-height: 20px;
    color: #696969
}

.ehs-wb {
    max-width: 530px;
    width: 100%;
    margin: 0 auto
}

.ehs-wb .item {
    margin: 10px 0
}

.ehs-wb .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin: 0;
    transform: translateY(-50%)
}

.ehs-wb.owl-theme .owl-nav button {
    width: 45px;
    height: 45px;
    position: absolute;
    font-size: 0;
    margin: 0;
    border-radius: 0
}

.ehs-wb.owl-theme .owl-nav button.owl-prev {
    left: -22px;
    background: var(--op-primary-orange) url(../assets/images/arrow-prev.png) no-repeat center;
    background-size: 16px 16px
}

.ehs-wb.owl-theme .owl-nav button.owl-prev span {
    display: block
}

.ehs-wb.owl-theme .owl-nav button.owl-next {
    right: -22px;
    background: var(--op-primary-orange) url(../assets/images/arrow-next.png) no-repeat center;
    background-size: 16px 16px
}

.block-milestone {
    background: #f1f0f0
}

.content-box {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px
}

.year-wrapper {
    flex: 0 0 240px;
    max-width: 240px;
    height: 205px;
    background: #000;
    border-radius: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 15px 30px 0 0;
    position: relative;
    box-shadow: 0 4px 4px rgb(0 0 0/25%)
}

.year-wrapper::before,
.year-wrapper::after {
    width: 8px;
    height: 32px;
    background: #000;
    display: block;
    position: absolute;
    top: -15px;
    left: 80px;
    content: "";
    border-radius: 10px
}

.year-wrapper::after {
    left: auto;
    right: 80px
}

.year-count {
    font-size: 32px;
    text-align: center;
    letter-spacing: .2px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 15px
}

.year-icon img {
    width: 52px
}

.milestone-content {
    background: #fff;
    border-radius: 12px;
    flex: 0 0 calc(100% - 270px);
    max-width: calc(100% - 270px);
    display: flex;
    align-items: center;
    padding: 0 40px
}

.mc-text h2 {
    font-size: 20px;
    letter-spacing: .2px;
    text-transform: capitalize;
    color: #303030;
    margin-bottom: 15px
}

.mc-text ul>li {
    font-size: 18px;
    line-height: 37px;
    letter-spacing: .2px;
    text-transform: capitalize;
    color: #303030;
    font-family: roboto, sans-serif;
    position: relative;
    padding-left: 20px
}

.mc-text ul>li::before {
    content: "";
    background: url(../assets/images/mlist-item.png) no-repeat center;
    background-size: 5px 8px;
    width: 5px;
    height: 8px;
    display: block;
    position: absolute;
    top: 14px;
    left: 0
}

.content-box.right .year-wrapper {
    margin: 15px 0 0 30px
}

.orange-bg {
    background: var(--op-primary-orange)
}

.orange-bg::before,
.orange-bg::after {
    background: var(--op-secondary-orange)
}

.green-bg {
    background: var(--op-primary-green)
}

.green-bg::before,
.green-bg::after {
    background: #019a50
}

.dark-green-bg {
    background: #3a6862
}

.dark-green-bg::before,
.dark-green-bg::after {
    background: #2b524c
}

.black-bg {
    background: #303030
}

.black-bg .dark-green-bg::before,
.black-bg .dark-green-bg::after {
    background: #000
}

.yellow-bg {
    background: #f9f600
}

.yellow-bg::before,
.yellow-bg::after {
    background: #303030
}

.health-icon {
    margin-bottom: 15px
}

.block-api .op-support {
    max-width: 100%;
    text-align: center
}

.block-api .op-support h4 {
    margin: 0 0 15px
}

.op-support p {
    font-size: 14px;
    line-height: 23px;
    color: #696969
}

.block-equiped {
    background: url(../assets/images/r-and-d-bg.jpg) no-repeat center;
    background-size: cover
}

.block-activity.block-equiped .section-inner-content {
    padding: 40px 60px
}

.block-equiped .list-item>li {
    font-weight: 500;
    font-size: 16px;
    color: #696969
}

.block-equiped .list-item>li:not(:last-child) {
    margin-bottom: 3px
}

.research-center img {
    border: 3px solid var(--op-primary-orange)
}

.block-health .owl-theme .owl-dots button.owl-dot {
    width: 16px;
    height: 4px;
    background: #c4c4c4;
    margin: 0 6px
}

.block-health .owl-theme .owl-dots button.owl-dot.active {
    background: var(--op-primary-orange)
}

.block-rc {
    padding-bottom: 90px
}

.cw-content {
    margin-top: 30px
}

.clients-list--new li {
    height: 120px;
    line-height: 120px;
    width: 20%;
    float: left;
    border-right: 1px solid rgba(255, 255, 255, .3);
    border-bottom: 1px solid rgba(255, 255, 255, .3);
    text-align: center
}

.clients-list--new li:nth-child(5n) {
    border-right: none
}

.clients-list--new li img {
    display: inline-block
}

.clients-logo {
    filter: brightness(0) invert(1);
    -webkit-filter: brightness(0) invert(1);
    /* Removed transitions for better scroll performance */
}

.clients-logo:hover {
    filter: none;
    -webkit-filter: none
}

/* Removed complex home slider - simplified for static site */

.map-image {
    position: relative
}

.location-box {
    position: absolute;
    max-width: 376px;
    width: 100%;
    text-align: left
}

.location-info {
    padding: 15px;
    border-radius: 6px;
    box-shadow: 0 0 15px rgba(0, 0, 0, .15);
    background: #fff;
    display: none;
    position: absolute;
    width: 100%;
    bottom: 45px
}

.location-box.active .location-info {
    display: block
}

.location-box.active {
    z-index: 1
}

.location-info::after {
    content: "";
    border: 10px solid transparent;
    border-top-color: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px
}

.location-info ul {
    font-size: 0
}

.location-info ul>li {
    font-size: 16px;
    text-transform: capitalize;
    color: #0b7d6e;
    width: 33.333333%;
    display: inline-block;
    padding: 6px 0;
    position: relative;
    padding-left: 25px
}

.location-info ul>li::before {
    top: 12px
}

.location-pin {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer
}

.location-africa {
    bottom: 46%;
    left: 38%
}

.location-mena {
    bottom: 64%;
    left: 33%
}

.location-sea {
    right: -2%;
    bottom: 32%
}

.location-namerica {
    top: 11%;
    left: 20%
}

.location-india {
    right: 11%;
    top: 37%
}

.location-america {
    bottom: 36%;
    left: 10%
}

.location-easia {
    right: 13%;
    bottom: 78%
}

.location-eu {
    left: 34%;
    top: 18%
}

.location-cis {
    right: 9%;
    top: 16%
}

.row-wrapper {
    background: #fff;
    box-shadow: 0 0 11px 2px rgba(126, 126, 126, .21);
    border-radius: 13px;
    overflow: hidden
}

.row-wrapper .section-inner-content {
    padding: 45px
}

.block-leader {
    background: #fff
}

.leader-wrap {
    position: relative;
    border-radius: 7px;
    overflow: hidden
}

.leader-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 15px;
    height: 60px;
    display: flex;
    align-items: flex-end;
    background: rgba(0, 0, 0, .65)
}

.leaderImg {
    float: right;
    margin: 0 0 30px 50px;
    background: var(--op-white);
    box-shadow: 0 0 11px 2px rgb(126 126 126/21%);
    border-radius: 13px;
    padding: 15px
}

.leader-content h3 {
    font-size: 14px;
    line-height: 16px;
    color: var(--op-white)
}

.leader-content p {
    font-weight: 500;
    font-size: 12px;
    line-height: 14px;
    color: var(--op-white);
    margin: 0;
    font-family: roboto, sans-serif
}

.block-hq {
    background: var(--op-light-blue-gray)
}

.border-white .border_bottom,
.border-white .border_bottom1 {
    border-color: var(--op-white)
}

.milestone-wrap {
    background: var(--op-primary-orange);
    box-shadow: 0 0 11px 2px rgba(126, 126, 126, .21);
    border-radius: 13px;
    overflow: hidden
}

.leader-row {
    flex-wrap: nowrap;
    overflow: hidden;
    overflow-x: scroll
}

.leader-row>div {
    flex: 0 0 auto;
    width: 25%
}

.content {
    background: var(--op-white);
    box-shadow: 0 0 11px 2px rgba(126, 126, 126, .21);
    border-radius: 13px;
    padding: 40px 45px
}

.content-image img {
    border-radius: 20px
}

.ip-wrapper {
    background: var(--op-white);
    box-shadow: 0 4px 16px rgba(153, 149, 149, .25);
    border-radius: 16px;
    padding: 40px 60px
}

.block-ip {
    background: url(../assets/images/capable-bg.png) no-repeat center;
    background-size: cover
}

.block-eniron .content {
    padding: 40px 24px;
    margin-bottom: 25px
}

.block-dosage ul.store li {
    color: var(--op-primary-orange);
    text-transform: uppercase
}

.block-dosage ul.store li.current {
    background: var(--op-primary-orange);
    color: var(--op-white)
}

.block-dosage {
    background: var(--op-light-gray)
}

.bg-orange1 {
    background: var(--op-primary-orange)
}

.left-item,
.right-item {
    padding: 30px
}

.left-item ul>li {
    font-weight: 500;
    font-size: 18px;
    line-height: 21px;
    text-transform: capitalize;
    color: var(--op-white);
    display: block;
    padding: 10px 0;
    position: relative;
    cursor: pointer
}

.right-item .section-title h2 {
    font-weight: 500;
    font-size: 25px;
    line-height: 29px;
    color: var(--op-dark-gray)
}

.right-item .list-item>li:not(:last-child),
.right-item ul.list-item {
    margin-bottom: 15px
}

.store-content .tab-content2 {
    display: none
}

.store-content .tab-content2.current {
    display: inherit
}

.left-item ul>li.current::before {
    content: "";
    width: 160px;
    height: 1px;
    background: var(--op-white);
    display: block;
    position: absolute;
    bottom: 5px;
    left: 0
}

.menu-wrapper ul>li.item-has-children.has-static {
    position: static
}

.dropdown-cs {
    position: absolute;
    width: calc(100% - 100px);
    background: var(--op-light-blue-gray);
    z-index: 9;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    visibility: hidden;
    opacity: 0;
    transition: all .3s ease 0s;
    border-radius: 6px;
    box-shadow: 0 10px 20px rgb(0 0 0/15%);
    margin-top: -10px;
    min-width: 160px
}

.menu-wrapper ul>li.item-has-children:hover .dropdown-cs,
.menu-wrapper ul>li:hover .dropdown-cs {
    visibility: visible;
    margin-top: 0;
    opacity: 1
}

.mega-menu {
    padding: 20px
}

.mega-menu ul>li {
    display: block
}

.mega-menu ul>li>a {
    color: #325f58;
    font-weight: 600;
    display: block;
    padding: 7px
}

.bg-lt-green {
    background: var(--op-light-blue-gray)
}

.bg-lt-green .row-cs ul>li {
    flex: 0 0 16.666666%;
    max-width: 16.666666%
}

.bg-lt-green .row-cs ul>li h3 {
    font-size: 18px;
    line-height: 24px;
    font-weight: 500
}

.bg-lt-green .row-cs ul>li .health-icon {
    margin-bottom: 20px
}

.api .section-inner-content {
    max-width: 860px;
    width: 100%;
    margin: auto
}

.api-bg {
    background: var(--op-border-gray);
    padding: 30px 0
}

.block-qc .row-cs ul>li .health-icon {
    margin-bottom: 20px
}

.block-qc .row-cs ul>li h3 {
    font-size: 16px;
    line-height: 22px;
    font-weight: 400
}

.block-reg {
    background: var(--op-primary-green)
}

.block-reg .row-cs ul {
    margin: 0 -5px
}

.block-reg .row-cs ul>li {
    padding: 0 5px
}

.api-cs {
    position: relative
}

.api-cs::before,
.api-cs::after {
    content: "";
    width: 116px;
    height: 195px;
    position: absolute
}

.api-cs::before {
    background: url(../assets/images/green-shape.png) no-repeat center;
    background-size: cover;
    top: 0;
    right: 0
}

.api-cs::after {
    background: url(../assets/images/red-shape.png) no-repeat center;
    background-size: cover;
    bottom: 0;
    left: 0
}

.api-cs .section-title h2 span {
    color: var(--op-success-green);
    font-weight: 500;
    margin: 0
}

.blk-eqp {
    background: url(../assets/images/r-and-d-bg2.jpg) no-repeat center;
    background-size: cover
}

.blk-eqp .bg-green {
    background: #20433f;
    box-shadow: 0 4px 16px rgba(153, 149, 149, .25);
    border-radius: 5px 0 0 5px
}

.blk-eqp .bg-lights {
    background: var(--op-white);
    box-shadow: 0 4px 16px rgba(153, 149, 149, .25);
    border-radius: 0 5px 5px 0
}

.hl-box {
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 4px;
    background: var(--op-white);
    box-shadow: 0 4px 10px rgba(154, 144, 144, .25);
    border-left: 5px solid var(--op-primary-orange);
    /* Removed transition for better scroll performance */
}

.hl-icon {
    height: 52px;
    margin-bottom: 15px
}

.hl-content h3 {
    font-size: 23px;
    line-height: 26px;
    color: var(--op-black)
}

.hl-content p {
    font-size: 16px;
    line-height: 23px;
    text-transform: capitalize;
    color: var(--op-dark-gray);
    margin: 0;
    min-height: 70px
}

.block-highlight {
    background: url(../assets/images/service-laboratory.png) no-repeat bottom right
}

.header {
    width: 100%;
    z-index: 9;
    left: 0;
    top: 0;
    /* Removed complex transition for better scroll performance */
}



.accreditation-slider.owl-carousel .owl-item img .owl-item img {
    margin: auto
}

.accreditation-slide .owl-dots {
    display: none
}

@media screen and (max-width:1024px) {
    .custom-btn {
        display: none
    }
}

@media screen and (max-width:767px) {
    .min-h .hl-content p {
        min-height: auto
    }

    .block-dosage.analytic ul.list-item>li {
        flex: 0 0 100%;
        max-width: 100%
    }

    .leaderImg {
        float: none;
        margin: 0 0 30px
    }

    .ft-text,
    .tstmnl-client,
    .block-ol .sa-box,
    .leader-info {
        margin-bottom: 30px
    }

    .intro-title h1 {
        font-size: 42px;
        line-height: 44px
    }

    .intro-title h1 span {
        font-size: 16px
    }

    .location-box,
    .ec-box h4 br,
    .ec-box p br,
    .tab-text p br,
    .intro-title p br,
    .welcome-title p br,
    .vm-content p br,
    .section-title h2 br,
    .section-inner-content p br {
        display: none
    }

    .report-box,
    ul.store.mb-3,
    .intro-title,
    .welcome-title,
    .section-title h2,
    .pw-content,
    .section-inner-content p,
    .health-icon {
        text-align: center
    }

    .welcome-title h2 {
        font-size: 32px;
        line-height: 38px
    }

    .ci-info-content h4,
    .vm-content h2,
    .pw-content h2,
    .section-title h2,
    .tstmnl-client-text h4 {
        font-size: 32px
    }

    .welcome-title h2::after {
        left: 50%;
        transform: translateX(-50%)
    }

    .welocme-box {
        width: 100%;
        height: 381px;
        background: #43af7e;
        margin-left: auto;
        position: relative;
        margin-top: 30px
    }

    .welocme-box::before {
        width: calc(100% - 68px);
        height: 295px;
        right: auto;
        top: 17px;
        transform: translateX(-50%);
        left: 50%
    }

    .mission-vision,
    .cw-box {
        padding: 60px 15px
    }

    .mission-vision .st-icon {
        margin-right: 15px
    }

    .ci-info {
        justify-content: left;
        margin-bottom: 30px
    }

    .pw-image {
        position: static;
        transform: translateY(0%)
    }

    .pw-content {
        width: 100%
    }

    .news-box,
    .social-item,
    .gallery-section {
        margin-bottom: 15px
    }

    .st-icon img {
        width: 73px;
        height: auto
    }

    .top-header {
        padding: 0 15px
    }

    .top-header ul>li>a>img {
        margin-right: 10px
    }

    .top-header ul>li>a {
        font-size: 10px
    }

    .section-title .border_main {
        justify-content: center;
        margin: 0 auto
    }

    .tstmnl-client {
        justify-content: center
    }

    .block-aacreditation .cw-box,
    .store-content {
        padding: 15px
    }

    .cw-box .row .col-md-3::before {
        content: "";
        width: 94%;
        height: 1px;
        background: #e9e5e5;
        position: absolute;
        bottom: 7px;
        left: 50%;
        transform: translateX(-50%)
    }

    .acc-logo {
        padding: 50px 10px
    }

    .acc-logo img {
        height: auto
    }

    .sector--image {
        position: static;
        height: auto;
        top: 0;
        bottom: 0;
        width: 100%;
        margin: auto
    }

    .sector--content {
        right: 0;
        float: none;
        position: static;
        width: 100%;
        padding: 15px 60px
    }

    .op-support {
        max-width: 100%;
        margin-bottom: 30px;
        text-align: center
    }

    .op-support h4 {
        font-size: 18px
    }

    .row-cs ul>li {
        flex: 0 0 50%
    }

    ul.store li:not(:last-child) {
        margin-right: 14px
    }

    .tab-image {
        margin-top: 15px
    }

    .section-inner-content {
        margin-bottom: 30px;
        text-align: center
    }

    .block-touch .p-5 {
        padding: 2rem !important
    }

    .block-hq .bg-green {
        border-radius: 0
    }

    .hq-image {
        background: #dfe0e2;
        padding: 0 10px
    }

    .block-ol {
        padding: 60px 0
    }

    .report-box,
    .block-report .section-inner-content,
    .ehs-content {
        padding: 30px
    }

    .report-box.bor::before {
        width: 230px;
        height: 1px;
        top: 0;
        transform: translate(-50%, 0);
        left: 50%;
        background: rgba(48, 48, 48, .5)
    }

    .ehs-wrapper {
        height: auto
    }

    .ehs-wb.owl-theme .owl-nav button.owl-next {
        right: 0
    }

    .ehs-wb.owl-theme .owl-nav button.owl-prev {
        left: 0
    }

    .ehs-wb .item {
        margin: 10px
    }

    .block-ehs .section-inner-content p {
        display: none
    }

    .year-wrapper {
        flex: 0 0 120px;
        max-width: 120px;
        height: 120px;
        margin: 15px 10px 0 0
    }

    .year-count {
        font-size: 16px;
        margin-bottom: 5px
    }

    .year-icon img {
        width: 35px
    }

    .milestone-content {
        flex: 0 0 calc(100% - 130px);
        max-width: calc(100% - 130px);
        padding: 15px
    }

    .block-milestone .year-wrapper {
        order: 1
    }

    .block-milestone .milestone-content {
        order: 2
    }

    .content-box.right .year-wrapper {
        margin: 15px 10px 0 0
    }

    .block-equiped .list-item>li {
        text-align: left
    }

    .clients-list--new li {
        width: 33.33333%
    }

    .clients-list--new li:nth-child(4n) {
        border-right: 1px solid rgba(255, 255, 255, .3)
    }

    .clients-list--new li:nth-child(3n) {
        border-right: none
    }

    .content,
    .ip-wrapper {
        padding: 30px 15px
    }
}

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

    .bg-lt-green .row-cs ul>li,
    .for-dosage .row .col-md-4 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .clients-list--new li {
        width: 50%
    }

    .clients-list--new li:nth-child(3n) {
        border-right: 1px solid rgba(255, 255, 255, .3)
    }

    .clients-list--new li:nth-child(2n) {
        border-right: none
    }

    .leader-row>div {
        width: 50%
    }
}

/* ===== INLINE STYLES CONSOLIDATION ===== */
/* Header styles */
.header-contact-list {
    list-style: none;
    padding-left: 0;
}

.header-contact-list a {
    color: var(--op-dark-gray) !important;
    transition: color 0.3s ease;
}

.header-contact-list a:hover {
    color: var(--op-success-green) !important;
}

/* ===== BOOTSTRAP DROPDOWN ENHANCEMENTS ===== */
.mega-menu-img img {
    transition: transform 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.mega-menu-img img:hover {
    transform: scale(1.05);
}

.dropdown-menu .dropdown-item {
    transition: all 0.2s ease;
    border-radius: 4px;
    margin-bottom: 2px;
}

.dropdown-menu .dropdown-item:hover {
    background-color: var(--op-light-blue-gray);
    color: var(--op-dark-green);
    transform: translateX(3px);
}

/* Footer styles */
.footer-dark {
    background: #1a1a1a;
    color: #fff;
}

.footer-logo-img {
    max-width: 160px;
}

.footer-address {
    font-style: normal;
}

.footer-section-title {
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid #019a50;
    padding-bottom: 0.5rem;
}

.footer-location-container {
    max-width: 340px;
}

.footer-location-title {
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-map {
    border: 0;
    border-radius: 8px;
}

.footer-divider {
    border-color: #333;
    margin: 2rem 0 1rem 0;
}

/* Footer link styles */
.footer a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer a:hover {
    color: #019a50;
    text-decoration: none;
}

.footer .text-white {
    color: #fff !important;
}

.footer .text-white:hover {
    color: #019a50 !important;
}

/* IP Management page enhancements */
.ip-wrap {
    background: var(--op-white);
    box-shadow: 0 4px 16px rgba(153, 149, 149, .25);
    border-radius: 16px;
    padding: 40px 30px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.ip-wrap:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(153, 149, 149, .35);
}

.ip-wrap .display-4 {
    color: #019a50 !important;
    font-weight: 700;
}

.ip-wrap h4 {
    color: #333;
    font-weight: 600;
}

.block-ip-mngnt {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.block-mg {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
}

.row-cs ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.row-cs ul li {
    list-style: none;
    padding: 0;
}

.health-icon img {
    transition: transform 0.3s ease;
}

.health-icon:hover img {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .ip-wrap {
        padding: 30px 20px;
        margin-bottom: 20px;
    }

    .ip-wrap .display-4 {
        font-size: 2.5rem;
    }

    .row-cs ul li {
        margin-bottom: 30px;
    }
}

/* Adverse Event Reporting page enhancements */
.report-box {
    background: var(--op-white);
    box-shadow: 0 4px 16px rgba(153, 149, 149, .25);
    border-radius: 16px;
    padding: 40px 30px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

.report-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(153, 149, 149, .35);
}

.report-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #019a50, #00ADEE);
}

.report-box .display-6 {
    font-weight: 700;
    letter-spacing: -0.02em;
}

.block-report {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.block-define {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
}

@media (max-width: 768px) {
    .report-box {
        padding: 30px 20px;
        margin-bottom: 20px;
    }

    .report-box .display-6 {
        font-size: 2rem;
    }
}

/* Leader profile page styles - page titles removed entirely */

/* Banner background styles */
.banner-about {
    background-image: url(../assets/images/about-us.jpg);
}

.banner-api-rnd {
    background-image: url(../assets/images/api-rnd.jpg);
}

.banner-form-rnd {
    background-image: url(../assets/images/formulation-rnd.jpg);
}

.banner-reporting {
    background-image: url(../assets/images/adverse-reporting_0.jpg);
}

.banner-team {
    background-image: url(../assets/images/our-team.jpg);
}

.banner-api {
    background-image: url(../assets/images/api-manufacturing.jpg);
}

.banner-formulation {
    background-image: url(../assets/images/formulation-manufacturing_0.jpg);
}

.banner-career {
    background-image: url(../assets/images/life-at-optimus.jpg);
}

.banner-contact {
    background-image: url(../assets/images/contact-us_1.jpg);
}

.banner-csr {
    background-image: url(../assets/images/csr_0.jpg);
}

.banner-ipm {
    background-image: url(../assets/images/ip-management2.jpg);
}

.banner-milestone {
    background-image: url(../assets/images/milestone_0.jpg);
}

.banner-ehs {
    background-image: url(../assets/images/ehs_1.jpg);
}

.banner-products {
    background-image: url(../assets/images/products_0.jpg);
}

.banner-leaders {
    background-image: url(../assets/images/work-with-us_0.jpg);
}

/* Font Awesome animation styles */
.fa-animation-slow {
    --fa-animation-duration: 2s;
}

/* Homepage specific styles */
.sekhmet-link {
    color: #00ADEE;
    font-weight: bold;
}

.container {
    max-width: 1200px;
    padding-left: 15px;
    padding-right: 15px;
}

/* ===== MODERN SCROLL OPTIMIZATIONS ===== */
@media screen and (max-width:1200px) {
    .menu-trigger {
        width: 45px;
        height: 35px;
        position: absolute;
        right: 15px;
        top: 18px;
        cursor: pointer;
        z-index: 99;
        display: block
    }

    /* Additional responsive rules for 1200px breakpoint */
}

.top-header .btn,
.top-header .btn-outline-light.btn-sm {
    padding: 2px 12px !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    line-height: 1.2 !important;
    min-width: unset !important;
    height: auto !important;
}

.container,
.cw-box,
.capable-wrap,
.content,
.ip-wrapper,
.store-content,
.report-box,
.section-inner-content,
.form-wrapper,
.block-hq .section-inner-content,
.p-custom,
.tab-box,
.block-ol .sa-box,
.row-wrapper,
.milestone-content,
.bp-box,
.block-aacreditation .cw-box,
.ehs-wb,
.ehs-wrapper,
.footer-location-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Capabilities section adjustments */
.capable-wrap,
.cw-box {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Ensure header and main containers are perfectly aligned */
.header .container,
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
}

/* Prevent text overflow in the first section of the homepage */
.welcome-block .welcome-title p {
    word-break: break-word;
    overflow-wrap: break-word;
}

@media (max-width: 900px) {

    .capable-wrap,
    .cw-box,
    .header .container,
    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ===== ESSENTIAL STYLES ===== */
/* Section titles */
.section-title h2 {
    font-size: 45px;
    color: #303030;
    margin-bottom: 20px;
    font-family: roboto, sans-serif;
    font-weight: 500;
}

.border_main {
    width: 200px;
    display: flex;
}

.border_bottom {
    border-bottom: 5px solid var(--op-secondary-orange);
    max-width: 60px;
    border-radius: 85px;
    width: 85px;
    margin-right: 12px;
}

.border_bottom1 {
    border-bottom: 5px solid var(--op-secondary-orange);
    max-width: 30px;
    border-radius: 70px;
    width: 30px;
}

.auto {
    justify-content: center;
    margin: 0 auto;
}

/* List items */
ul.list-item>li {
    font-size: 16px;
    line-height: 28px;
    color: var(--op-black);
    padding-left: 35px;
    position: relative;
}

ul.list-item>li::before,
.location-info ul>li::before {
    content: "";
    width: 19px;
    height: 19px;
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    background: url(../assets/images/list-item-icon.png) no-repeat center;
    background-size: cover;
}

.list-item>li:not(:last-child),
ul.list-item {
    margin-bottom: 15px;
}

/* Pillar section */
.block-pillar {
    background: url(../assets/images/pillar-bg.jpg) no-repeat center;
    background-size: cover;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 100vh;
}

/* Map section */
.block-map {
    background: var(--op-light-blue-gray);
}

/* News section */
.news-box {
    background: var(--op-white);
    box-shadow: 0 4px 16px rgb(147 144 144/25%);
}

.news-box-text {
    padding: 15px;
}

.news-box-text h3 {
    font-size: 18px;
    line-height: 23px;
    text-transform: capitalize;
    color: #0b7d6e;
    font-weight: 500;
    font-family: roboto, sans-serif;
    border-bottom: 1px solid var(--op-border-gray);
    padding-bottom: 10px;
    min-height: 57px;
}

.news-box-text p {
    font-size: 14px;
    line-height: 20px;
    text-transform: capitalize;
    color: var(--op-dark-gray);
    margin-bottom: .5rem;
    min-height: 80px;
}

.news-box-text a {
    font-size: 12px;
    line-height: 20px;
    text-transform: capitalize;
    color: var(--op-secondary-orange);
    text-decoration: underline;
}

.news-box-text a:hover {
    color: var(--op-primary-green);
}

/* Testimonial section */
.block-testimonial {
    background: linear-gradient(135deg, #1fa463 0%, #1fa463cc 100%);
    padding: 70px 0 50px 0;
    color: #fff;
    position: relative;
}

.block-testimonial .section-title {
    margin-bottom: 40px;
}

.block-testimonial .section-title h2 {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.block-testimonial .border_main {
    justify-content: center;
    margin: 0 auto 18px auto;
}

.block-testimonial .border_bottom,
.block-testimonial .border_bottom1 {
    border-bottom: 4px solid #ff5c1a;
}

.clients-list--new {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    max-width: 1100px;
}

.clients-list--new li {
    flex: 1 1 18%;
    min-width: 160px;
    max-width: 220px;
    text-align: center;
    padding: 18px 0;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
    margin: 0;
}

.clients-list--new li:last-child {
    border-right: none;
}

.clients-logo {
    max-width: 120px;
    max-height: 60px;
    margin: 0 auto;
    filter: brightness(0) invert(1);
}

@media (max-width: 900px) {
    .clients-list--new {
        flex-wrap: wrap;
    }

    .clients-list--new li {
        flex: 1 1 40%;
        min-width: 120px;
        max-width: 180px;
        padding: 14px 0;
    }
}

@media (max-width: 600px) {
    .block-testimonial {
        padding: 40px 0 30px 0;
    }

    .clients-list--new li {
        flex: 1 1 100%;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    }

    .clients-list--new li:last-child {
        border-bottom: none;
    }
}

/* === OPTIMUS ACCREDITATION SECTION === */
.block-aacreditation {
    background: #f8f9fa;
    padding: 70px 0 50px 0;
    color: #222;
}

.block-aacreditation .section-title {
    margin-bottom: 40px;
}

.block-aacreditation .section-title h2 {
    color: #111;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.block-aacreditation .border_main {
    justify-content: center;
    margin: 0 auto 18px auto;
}

.block-aacreditation .border_bottom,
.block-aacreditation .border_bottom1 {
    border-bottom: 4px solid #ff5c1a;
}

.accreditation-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin: 0 auto;
    max-width: 1100px;
}

.accreditation-logos .acc-logo {
    flex: 0 1 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 1rem;
    min-height: 80px;
    margin: 0;
}

.accreditation-logos img {
    max-width: 100px;
    max-height: 60px;
    object-fit: contain;
    margin: 0 auto;
}

@media (max-width: 900px) {
    .accreditation-logos {
        gap: 1rem;
    }

    .accreditation-logos .acc-logo {
        flex-basis: 45%;
        max-width: 100%;
    }
}

@media (max-width: 600px) {
    .block-aacreditation {
        padding: 40px 0 30px 0;
    }

    .accreditation-logos {
        flex-direction: column;
        gap: 1rem;
    }

    .accreditation-logos .acc-logo {
        flex-basis: 100%;
        max-width: 100%;
    }
}

/* === CONTACT PAGE BANNER IMPROVEMENTS === */
.inner-banner.banner-contact {
    padding: 60px 0 40px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 220px;
    display: flex;
    align-items: center;
}

.banner-title {
    display: flex;
    align-items: flex-end;
    height: 100%;
    min-height: 120px;
    padding-bottom: 10px;
}

.banner-title h1 {
    font-size: 2.8rem;
    font-weight: 700;
    color: #222;
    margin: 0;
    line-height: 1.1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.banner-title .subtitle {
    font-size: 1.2rem;
    font-weight: 500;
    color: #888;
    margin-bottom: 0.5rem;
    letter-spacing: 1px;
}

@media (max-width: 600px) {
    .inner-banner.banner-contact {
        padding: 32px 0 18px 0;
        min-height: 120px;
    }

    .banner-title h1 {
        font-size: 2rem;
    }
}

/* === UNIVERSAL PAGE BANNER IMPROVEMENTS === */
.inner-banner {
    padding: 60px 0 40px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 220px;
    display: flex;
    align-items: center;
    position: relative;
}

/* Add white overlay to all banner backgrounds */
.inner-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.85);
    z-index: 1;
}

.banner-title {
    display: flex;
    align-items: flex-end;
    height: 100%;
    min-height: 120px;
    padding-bottom: 10px;
    position: relative;
    z-index: 2;
}

.banner-title h1 {
    font-size: 2.8rem;
    font-weight: 700;
    color: #222;
    margin: 0;
    line-height: 1.1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.banner-title .subtitle {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--op-primary-green);
    margin-bottom: 0.5rem;
}

.banner-title .subtitle span {
    background: var(--op-primary-green);
    color: var(--op-white);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Enhanced banner responsiveness */
@media (max-width: 768px) {
    .inner-banner {
        padding: 40px 0 30px 0;
        min-height: 180px;
    }

    .banner-title h1 {
        font-size: 2.2rem;
    }

    .banner-title .subtitle {
        font-size: 1rem;
    }

    .banner-title .subtitle span {
        font-size: 0.8rem;
        padding: 3px 10px;
    }
}

@media (max-width: 576px) {
    .inner-banner {
        padding: 30px 0 20px 0;
        min-height: 160px;
    }

    .banner-title h1 {
        font-size: 1.8rem;
    }

    .banner-title .subtitle {
        font-size: 0.9rem;
    }
}

/* ===== MODERN FORM STYLES ===== */
.form-label {
    font-weight: 600;
    color: var(--op-dark-gray);
    margin-bottom: 0.5rem;
}

.form-control,
.form-select {
    border: 2px solid var(--op-border-gray);
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 15px;
    transition: all 0.3s ease;
    background-color: var(--op-white);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--op-primary-green);
    box-shadow: 0 0 0 0.2rem rgba(86, 189, 142, 0.25);
    outline: none;
}

.form-control.is-invalid,
.form-select.is-invalid {
    border-color: var(--op-danger);
}

.form-control.is-valid,
.form-select.is-valid {
    border-color: var(--op-success);
}

.invalid-feedback {
    color: var(--op-danger);
    font-size: 14px;
    margin-top: 0.25rem;
}

.valid-feedback {
    color: var(--op-success);
    font-size: 14px;
    margin-top: 0.25rem;
}

.form-text {
    color: var(--op-medium-gray);
    font-size: 14px;
    margin-top: 0.25rem;
}

/* ===== CONTACT PAGE IMPROVEMENTS ===== */
.block-touch {
    padding: 60px 0;
    background: var(--op-light-gray);
}

.box-wrapper {
    margin-top: -30px;
    position: relative;
    z-index: 2;
}

.bg-gradient-primary {
    background: linear-gradient(135deg, var(--op-primary-green) 0%, var(--op-dark-green) 100%);
}

.right-content h3 {
    color: var(--op-white);
    font-weight: 600;
    margin-bottom: 1rem;
}

.right-content ul li {
    color: var(--op-white);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 0.75rem;
}

.right-content a {
    color: var(--op-white);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.right-content a:hover {
    opacity: 0.8;
}

/* Bootstrap Icons support */
.bi {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
}

/* ===== FORM VALIDATION STYLES ===== */
.needs-validation .form-control:invalid,
.needs-validation .form-select:invalid {
    border-color: var(--op-danger);
}

.needs-validation .form-control:valid,
.needs-validation .form-select:valid {
    border-color: var(--op-success);
}

/* ===== RESPONSIVE FORM IMPROVEMENTS ===== */
@media (max-width: 768px) {
    .box-wrapper {
        margin-top: 0;
    }

    .box-git,
    .right-content {
        padding: 2rem !important;
    }

    .form-control,
    .form-select {
        padding: 10px 14px;
        font-size: 14px;
    }
}

/* ===== ENHANCED BUTTON STYLES FOR FORMS ===== */
.btn-custom.btn-black {
    background: transparent;
    border: 2px solid var(--op-black);
    color: var(--op-black);
    font-weight: 600;
    padding: 12px 32px;
    border-radius: 8px;
    transition: all 0.3s ease;
    text-transform: none;
    letter-spacing: 0.5px;
}

.btn-custom.btn-black:hover,
.btn-custom.btn-black:focus {
    background: var(--op-black);
    color: var(--op-white);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.d-grid .btn {
    width: 100%;
}

/* ===== CAREER PAGE IMPROVEMENTS ===== */
.career-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.career-image-wrapper img {
    transition: transform 0.3s ease;
}

.career-image-wrapper:hover img {
    transform: scale(1.05);
}

/* Gallery Cards */
.gallery-card {
    background: var(--op-white);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid var(--op-border-gray);
}

.gallery-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.gallery-image-wrapper {
    position: relative;
    overflow: hidden;
}

.gallery-image-wrapper img {
    transition: transform 0.3s ease;
}

.gallery-card:hover .gallery-image-wrapper img {
    transform: scale(1.1);
}

.gallery-content {
    background: var(--op-white);
}

.gallery-content h3 {
    color: var(--op-dark-gray);
    font-weight: 600;
}

/* Employee Image Wrapper */
.employee-image-wrapper {
    position: relative;
    overflow: hidden;
    min-height: 400px;
}

.employee-image-wrapper img {
    transition: transform 0.3s ease;
}

.employee-image-wrapper:hover img {
    transform: scale(1.05);
}

/* Enhanced Section Spacing */
.block-sociaty {
    background: var(--op-light-gray);
}

.block-strength {
    background: linear-gradient(135deg, var(--op-primary-green) 0%, var(--op-dark-green) 100%);
    position: relative;
}

.block-strength::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.block-gallery {
    background: var(--op-white);
}

.block-activity2 {
    background: var(--op-light-gray);
}

/* Enhanced Typography */
.lead {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.7;
}

/* Responsive Improvements */
@media (max-width: 768px) {

    .career-image-wrapper,
    .gallery-card,
    .employee-image-wrapper {
        margin-bottom: 1.5rem;
    }

    .gallery-card:hover {
        transform: none;
    }

    .employee-image-wrapper {
        min-height: 300px;
    }
}

/* Enhanced Button Styles for Gallery */
.gallery-content .btn-custom.btn-black {
    font-size: 14px;
    padding: 10px 20px;
}

/* List Styling for Recognition Section */
.ec-box ul li {
    font-size: 16px;
    line-height: 1.6;
    color: var(--op-white);
}

.ec-box ul li i {
    color: var(--op-light-yellow);
}