.top-header {
    height: 90px;
}


.main-logo {
    width: 135px;
    height: 80px;
}

.consult-btn {
    background-color: #E11C2B;
    color: #fff;
    padding: 12px 22px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-block;
    transition: all 0.3s ease;
    white-space: nowrap;
    margin-left: 10px;
}

.consult-btn:hover {
    background-color: #B91520;
    transform: translateY(-2px);
    color: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}


.top-boxes {
    margin-right: -50px;
}

/* Mobile */
@media (max-width: 768px) {
    .consult-btn {
        width: 100%;
        text-align: center;
        padding: 14px;
        font-size: 15px;
        margin-bottom: 10px;
    }
}

/* counter */

.safety-points-row {
    display: flex;
    gap: 20px;
    margin-top: 10px;
}

.safety-box {
    flex: 1;
    text-align: center;
    padding: 15px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: 0.3s;
}

.safety-box:hover {
    transform: translateY(-5px);
}

.safety-box i {
    font-size: 35px;
    color: #E11C2B;
    margin-bottom: 7px;
}

.safety-box h3 {
    font-size: 37px;
    margin: 5px 0;
    color: #B91520 !important;
    font-weight: 700;
}

.safety-box p {
    font-size: 14px;
    line-height: 1.1;
    margin-top: 5px;
    color: #555;
    font-weight: 600;
}

/* 📱 Mobile */
@media (max-width: 768px) {
    .safety-points-row {
        flex-direction: column;
    }
}

.trust-simple-text {
    padding: 5px 0;
}

.trust-heading {
    font-size: 35px;
    font-weight: 700;
    margin-bottom: 5px;
}

.trust-para {
    font-size: 19px;
    color: #949090;
}

/* Mobile */
@media (max-width: 768px) {
    .trust-heading {
        font-size: 18px;
    }

    .trust-para {
        font-size: 14px;
    }
}



.dsvy-service-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

@media (max-width: 768px) {
    .dsvy-service-desc {
        font-size: 13px;
    }
}



.designervily-post-item:hover .dsvy-service-desc {
    color: white;
}

.product-img {
    height: 398px !important;
}


/* our approach */
.approach-strong {
    background: url("https://esafety.com/wp-content/uploads/2022/10/Fire-Safety-Tips-At-Home-At-Work-1.jpg") center/cover no-repeat;
    position: relative;
    padding: 50px 20px;
}

.approach-overlay {
    background: rgba(0, 0, 0, 0.75);
    padding: 40px 20px;
}

.approach-wrapper {
    max-width: 1200px;
    margin: auto;
    color: #fff;
}

/* HEADER */
.approach-top {
    text-align: center;
    margin-bottom: 30px;
}

.approach-top h5 {
    color: #E11C2B;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 10px;
    font-size: 20px;
}

.approach-top h2 {
    font-size: 48px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: white;
}

.approach-top p {
    max-width: 750px;
    margin: auto;
    font-size: 18px;
    color: #ccc;
    line-height: 1;
}

/* GRID */
.approach-grid {
    display: flex;
    gap: 25px;
}

/* CARDS */
.approach-item {
    flex: 1;
    background: rgba(255, 255, 255, 0.05);
    padding: 20px 20px;
    border-top: 3px solid #E11C2B;
    backdrop-filter: blur(4px);
    transition: 0.3s;
}

.approach-item:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-8px);
}

/* NUMBER */
.approach-number {
    font-size: 35px;
    font-weight: 800;
    color: #E11C2B;
    margin-bottom: 2px;
}

.approach-item h3 {
    font-size: 26px;
    letter-spacing: 2px;
    margin-bottom: 10px;
    color: white;
}

.approach-item p {
    font-size: 14px;
    color: #ece5e5;
    line-height: 1.6;
}

/* BOTTOM LINE */
.approach-bottom-line {
    text-align: center;
    margin-top: 30px;
    color: #E11C2B;
    font-weight: 600;
    font-size: 25px;
    letter-spacing: 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 20px;
}

/* MOBILE */
@media (max-width: 768px) {
    .approach-grid {
        flex-direction: column;
    }

    .approach-top h2 {
        font-size: 26px;
    }
}

/*  */
.problem-unique {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 30px 0;
    background: #fff;
}

.problem-unique-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 70px;
    display: flex;
    gap: 40px;
}

/* LEFT PANEL */
.problem-side {
    flex: 0.9;
    color: #fff;
    padding: 40px 30px;
    border-radius: 8px;

    /* 🔥 IMAGE BACKGROUND ADDED */
    background: url("../wp-content/uploads/sites/4/2020/06/service-04-600x700.jpg") center/cover no-repeat;
    position: relative;
    overflow: hidden;
}

/* DARK OVERLAY FOR READABILITY */
.problem-side::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1;
}

/* KEEP TEXT ABOVE OVERLAY */
.problem-side h2,
.problem-side p {
    position: relative;
    z-index: 2;
}

.problem-side h2 {
    font-size: 45px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 15px;
    color: #B91520;
}

.problem-side p {
    line-height: 1.4;
    font-size: 25px;
}

/* RIGHT CONTENT */
.problem-content {
    flex: 1.5;
}

/* ROW STYLE */
.problem-row {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    padding: 18px 0;
    border-bottom: 1px solid #eee;
}

/* NUMBER */
.problem-index {
    font-size: 35px;
    font-weight: 800;
    color: #E11C2B;
    min-width: 40px;
}

.problem-row p {
    color: #444;
    line-height: 1.3;
    font-size: 20px;
    margin-top: 10px;
}

/* BOTTOM NOTE */
.problem-note {
    margin-top: 25px;
    padding: 15px;
    font-size: 20px;
    background: #f8f8f8;
    line-height: 1.1;
    border-left: 8px solid #E11C2B;
    font-weight: 600;
}

/* MOBILE */
@media (max-width: 768px) {
    .problem-unique-container {
        flex-direction: column;
        padding: 0 20px;
    }

    .problem-side h2 {
        font-size: 24px;
    }
}


.designervily-box-desc p {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
}

.dsvy-post-title {
    font-size: 18px;
    font-weight: 700;
}


.dsvy-heading-desc {
    font-size: 25px;
    color: #B91520;
    font-weight: 700;
}

@media (max-width: 768px) {
    .designervily-box-desc p {
        font-size: 14px;
    }
}


/* why choose us */
.why-choose-strong {
    padding: 40px 20px;
    background: #f9f9f9;
}

.why-container {
    max-width: 1200px;
    margin: auto;
    display: flex;
    gap: 50px;
}

/* LEFT */
.why-left {
    flex: 1;
}

.why-left h2 {
    font-size: 40px;
    font-weight: 900;
    margin-bottom: 20px;
}

.why-left-img img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
}

/* RIGHT GRID */
.why-right {
    flex: 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* CARD */
.why-card {
    position: relative;
    padding: 25px;
    color: #fff;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 8px;
    overflow: hidden;
}

/* OVERLAY */
.why-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}

.why-card h3,
.why-card p {
    position: relative;
    z-index: 2;
    color: white;
}

/* BACKGROUND IMAGES */
.bg1 {
    background: url("https://www.draeger.com/Media/Content/Content/Accountability-in-Fire-Services-4-3-D-5454-2022.jpg") center/cover no-repeat;
}

.bg2 {
    background: url("https://blog.ansi.org/wp-content/uploads/2025/01/fire-safety.jpg") center/cover no-repeat;
}

.bg3 {
    background: url("https://blog.koorsen.com/hubfs/Fire_Extinguisher_Type.jpg") center/cover no-repeat;
}

.bg4 {
    background: url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQCbuYz0gyoQVDe4MdTvrsbwC7r7wxFE4RAxA&s") center/cover no-repeat;
}

/* BOTTOM */
.why-bottom {
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 15px;
    background: #111;
    color: #fff;
    text-align: center;
    border-radius: 8px;
}

.why-bottom h3 {
    margin-bottom: 5px;
    color: white;
}

/* MOBILE */
@media (max-width: 992px) {
    .why-container {
        flex-direction: column;
    }

    .why-right {
        grid-template-columns: 1fr;
    }
}


.vss-section {
    background: #f7f7f7;
    padding: 60px 20px;
}

.vss-container {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 60px;
}

/* LEFT */
.vss-left {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.vss-card {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
    transition: 0.3s;
    border-top: 4px solid transparent;
}

.vss-card:hover {
    transform: translateY(-6px);
    border-top: 4px solid #E11C2B;
}

.vss-card h3 {
    font-size: 42px;
    color: #E11C2B;
    margin-bottom: 10px;
    font-weight: 800;
}

.vss-card p {
    font-size: 16px;
    color: #555;
    font-weight: 600;
}

.vss-highlight {
    grid-column: span 2;
    background: linear-gradient(135deg, #E11C2B, #F04A55);
    color: #fff;
}


.vss-highlight h3 {
    color: #fff;
}

.highlight.vss-end {
    color: #fff;
    font-size: 20px;
}

/* RIGHT */
.vss-title {
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 25px;
    color: #111;
}

.vss-item {
    background: #fff;
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
    border-left: 4px solid transparent;
}

.vss-item.active {
    border-left: 4px solid #E11C2B;
}

.vss-q {
    padding: 16px;
    cursor: pointer;
    font-weight: 600;
    position: relative;
}

.vss-q::after {
    content: "+";
    position: absolute;
    right: 20px;
    color: #E11C2B;
}

.vss-item.active .vss-q::after {
    content: "-";
}

.vss-a {
    max-height: 0;
    overflow: hidden;
    padding: 0 16px;
    color: #666;
    transition: 0.3s;
}

.vss-item.active .vss-a {
    max-height: 200px;
    padding: 0 16px 16px;
}

/* MOBILE */
@media (max-width: 768px) {
    .vss-container {
        grid-template-columns: 1fr;
    }

    .vss-left {
        grid-template-columns: 1fr;
    }

    .vss-highlight {
        grid-column: span 1;
    }
}




/* complaicance */
.vs-mag-compliance {
    padding: 30px 20px;
    background: #fff;
    font-family: "Poppins", sans-serif;
}

.vs-mag-wrapper {
    max-width: 1200px;
    margin: auto;
}

/* HEAD */
.vs-mag-head h2 {
    font-size: 62px;
    font-weight: 900;
    line-height: 1.1;
    color: #111;
}

.vs-mag-head h2 span {
    color: #E11C2B;
    font-size: 67px;
    letter-spacing: 3px;
}

.vs-mag-head p {
    margin-top: 15px;
    font-size: 20px;
    color: #666;
}

/* GRID */
.vs-mag-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 25px;
    margin-top: 50px;
}

/* FEATURE BLOCK */
.vs-mag-feature {
    background: linear-gradient(135deg, #E11C2B, #F04A55);
    color: #fff;
    padding: 50px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vs-mag-feature h3 {
    font-size: 45px;
    letter-spacing: 3px;
    font-weight: 900;
    color: white;
}

.vs-mag-feature p {
    margin-top: 10px;
    font-size: 30px;
    line-height: 1.1;
}

/* LIST SIDE */
.vs-mag-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.vs-mag-item {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    padding: 18px;
    border-radius: 8px;
    background: #f7f7f7;
    transition: 0.3s;
}

.vs-mag-item span {
    font-weight: 800;
    color: #E11C2B;
    font-size: 22px;
}

.vs-mag-item p {
    color: #333;
    margin-top: 6px;
    font-size: 20px;
    line-height: 1.1;
}

.vs-mag-item:hover {
    background: #fff;
    transform: translateX(8px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

/* STRIP */
.vs-mag-strip {
    grid-column: span 2;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    background: #111;
    color: #fff;
    border-radius: 10px;
    font-size: 17px;
    font-weight: 600;
}

.vs-mag-feature {
    position: relative;
    background: url("https://www.shahfiresafety.in/Backend/images/blogs/Blog-1678874846.png") center/cover no-repeat;
    color: #fff;
    padding: 50px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

/* DARK OVERLAY for readability */
.vs-mag-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(225, 28, 43, 0.507));
    z-index: 1;
}

/* TEXT ABOVE OVERLAY */
.vs-mag-feature h3,
.vs-mag-feature p {
    position: relative;
    z-index: 2;
}



.vs-mag-strip p {
    width: 50%;
}

/* FOOTER */
.vs-mag-footer {
    margin-top: 40px;
    padding: 25px;
    font-size: 23px;
    background: #fafafa;
    border-left: 5px solid #E11C2B;
    font-weight: 600;
    color: #444;
}

/* MOBILE */
@media (max-width: 768px) {
    .vs-mag-head h2 {
        font-size: 32px;
    }

    .vs-mag-grid {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .vs-mag-strip {
        flex-direction: column;
    }

    .vs-mag-strip p {
        width: 100%;
    }
}


/* expert and testimoanil */
.vs-power {
    padding: 40px 20px;
    background: #ffffff;
    font-family: "Poppins", sans-serif;
}

.vs-power-wrap {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 70px;
}

/* LEFT */
.vs-power-left h2 {
    font-size: 48px;
    font-weight: 900;
    color: #111;
}

.vs-power-sub {
    margin: 15px 0 40px;
    color: #666;
    font-size: 17px;
}

/* STAGGERED BOXES */
.vs-power-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.vs-power-box {
    background: #f5f5f5;
    padding: 22px 25px;
    border-left: 5px solid #E11C2B;
    font-weight: 600;
    position: relative;
    transition: 0.3s;
}



/* HOVER */
.vs-power-box:hover {
    background: #fff;
    transform: translateX(10px) scale(1.02);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* RIGHT */
.vs-power-right h2 {
    font-size: 40px;
    font-weight: 900;
    margin-bottom: 30px;
}

/* TESTIMONIAL CARDS */
.vs-power-testi {
    position: relative;
    padding: 40px;
    border-radius: 12px;
    color: #fff;
    margin-bottom: 25px;
    overflow: hidden;
    background: url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTQFiQZ-sDfv_quNP8gwBP80wGYfwkKwlXbnA&s") center/cover;
}

/* SECOND DIFFERENT IMAGE */
.vs-power-testi.alt {
    background: url("https://www.valantic.com/wp-content/uploads/fly-images/225135/technician-working-on-a-industrial-panel.-side-view-shot-of-him-using-a-screwdriver-1080x674-c.jpg") center/cover;
}

/* OVERLAY */
.vs-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(0, 0, 0, 0.8),
            rgba(225, 28, 43, 0.7));
}

/* TEXT */
.vs-power-testi p,
.vs-power-testi span {
    position: relative;
    z-index: 2;
}

.vs-power-testi p {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 15px;
}

.vs-power-testi span {
    font-size: 14px;
    font-weight: 600;
}

/* HOVER EFFECT */
.vs-power-testi:hover {
    transform: scale(1.02);
}

/* FOOTER */
.vs-power-footer {
    margin-top: 60px;
    text-align: center;
    font-size: 20px;
    font-weight: 800;
    padding: 25px;
    background: linear-gradient(135deg, #E11C2B, #F04A55);
    color: #fff;
    letter-spacing: 0.5px;
}

/* BIG QUOTE BACKGROUND */
.vs-power-testi::before {
    content: "“";
    position: absolute;
    top: -50px;
    left: 20px;
    font-size: 120px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.15);
    z-index: 1;
    pointer-events: none;
}

/* optional closing quote (bottom right) */
.vs-power-testi::after {
    content: "”";
    position: absolute;
    bottom: -50px;
    right: 20px;
    font-size: 120px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.12);
    z-index: 1;
    pointer-events: none;
}

/* MOBILE */
@media (max-width: 768px) {
    .vs-power-wrap {
        grid-template-columns: 1fr;
    }

    .vs-power-left h2 {
        font-size: 30px;
    }

    .vs-power-right h2 {
        font-size: 26px;
    }

    .vs-power-box:nth-child(odd) {
        transform: none;
    }
}


/* how we work */
.vs-workflow {
    padding: 50px 20px 0;
    background: #fff;
    font-family: "Poppins", sans-serif;
}

.vs-workflow-container {
    max-width: 1200px;
    margin: auto;
}

/* HEADING */
.vs-workflow-head h2 {
    font-size: 55px;
    font-weight: 900;
    letter-spacing: 4px;
    color: #111;
    margin-bottom: 60px;
}

/* GRID */
.vs-workflow-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    position: relative;
}

/* CONNECTING LINE */
.vs-workflow-grid::before {
    content: "";
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #eee;
    z-index: 0;
}

/* STEP CARD */
.vs-step {
    position: relative;
    background: #f7f7f7;
    padding: 30px;
    border-radius: 12px;
    transition: 0.3s;
    z-index: 1;
}

/* NUMBER BADGE */
.vs-step span {
    position: absolute;
    top: -20px;
    left: 20px;
    background: #E11C2B;
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    padding: 10px 14px;
    border-radius: 50px;
}

/* TEXT */
.vs-step h3 {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 700;
    color: #111;
}

.vs-step p {
    margin-top: 10px;
    font-size: 15px;
    color: #555;
    line-height: 1.6;
}

/* HOVER */
.vs-step:hover {
    transform: translateY(-10px);
    background: #fff;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.1);
}

/* CENTER HIGHLIGHT */
.vs-step.highlight {
    background: linear-gradient(135deg, #E11C2B, #F04A55);
    color: #fff;
}

.vs-step.highlight h3,
.vs-step.highlight p {
    color: #fff;
}

/* LAST ROW ALIGN */
.vs-step:nth-child(4) {
    grid-column: 1 / 2;
}

.vs-step:nth-child(5) {
    grid-column: 2 / 3;
}

/* FOOTER STRIP */
.vs-workflow-footer {
    margin-top: 80px;
    background: #111;
    color: #fff;
    text-align: center;
    padding: 30px;
    font-size: 18px;
    font-weight: 700;
}

/* MOBILE */
@media (max-width: 768px) {
    .vs-workflow-head h2 {
        font-size: 30px;
    }

    .vs-workflow-grid {
        grid-template-columns: 1fr;
    }

    .vs-workflow-grid::before {
        display: none;
    }

    .vs-step:nth-child(4),
    .vs-step:nth-child(5) {
        grid-column: auto;
    }
}




/* end container */

.vs-cta-section {
    padding: 30px 20px;
    background: linear-gradient(180deg, #ffffff, #f5f7fa);
}

.vs-cta-container {
    max-width: 1400px;
    margin: auto;
}

/* MAIN BOX */
.vs-cta-box {
    background: #fff;
    padding: 40px 50px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: hidden;
}

/* subtle accent line */
.vs-cta-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #E11C2B, #F04A55);
}

/* TITLE */
.vs-cta-title {
    font-size: 40px;
    font-weight: 900;
    color: #111;
    margin-bottom: 20px;
}

/* TEXT */
.vs-cta-text {
    font-size: 20px;
    color: #444;
    margin-bottom: 15px;
    font-weight: 600;
}

.vs-cta-subtext {
    font-size: 17px;
    color: #666;
    max-width: 700px;
    margin: auto;
    line-height: 1.7;
    margin-bottom: 40px;
}

/* BUTTONS */
.vs-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.vs-btn {
    padding: 16px 30px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    transition: 0.3s;
    font-size: 15px;
    display: inline-block;
}

/* PRIMARY */
.vs-btn.primary {
    background: #E11C2B;
    color: #fff;
    box-shadow: 0 10px 25px rgba(225, 28, 43, 0.3);
}

.vs-btn.primary:hover {
    background: #B91520;
    transform: translateY(-3px);
}

/* SECONDARY */
.vs-btn.secondary {
    background: #fff;
    color: #E11C2B;
    border: 2px solid #E11C2B;
}

.vs-btn.secondary:hover {
    background: #E11C2B;
    color: #fff;
    transform: translateY(-3px);
}

/* MOBILE */
@media (max-width: 768px) {
    .vs-cta-box {
        padding: 40px 25px;
    }

    .vs-cta-title {
        font-size: 28px;
    }

    .vs-cta-text {
        font-size: 17px;
    }

    .vs-cta-subtext {
        font-size: 15px;
    }

    .vs-btn {
        width: 100%;
        text-align: center;
    }

    .footer-div {
        padding-left: 3px !important;
    }
}



/* footer */
.vsf-footer {
    background: #ffffff;
    padding-top: 50px;
    border-top: 1px solid #eee;
    font-family: Arial, sans-serif;
}

.vsf-container {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding: 0 20px;
}

/* LOGO */
.vsf-logo {
    width: 120px;
    margin-bottom: 20px;
}

.footer-div {
    padding-left: 50px;
}

.vsf-about {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

/* HEADINGS */
.vsf-col h3 {
    font-size: 25px;
    margin-bottom: 15px;
    color: #111111bd;
    font-weight: 700;
}

/* LINKS */
.vsf-links {
    list-style: none;
    padding: 0;
}

.vsf-links li {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    color: #555;
}

.vsf-links i {
    color: #E11C2B;
    font-size: 13px;
}

.vsf-links a {
    text-decoration: none;
    color: #555;
    transition: 0.3s;
}

.vsf-links a:hover {
    color: #E11C2B;
}

/* CONTACT */
.vsf-contact {
    display: flex;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 16px;
    color: #555;
}

.vsf-contact i {
    color: #E11C2B;
    min-width: 18px;
    margin-top: 3px;
}

/* SOCIAL */
.vsf-social {
    margin-top: 15px;
}

.vsf-social a {
    display: inline-block;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border-radius: 50%;
    background: #f4f4f4;
    color: #333;
    margin-right: 8px;
    transition: 0.3s;
}

.vsf-social a:hover {
    background: #E11C2B;
    color: #fff;
}

/* BOTTOM */
.vsf-bottom {
    margin-top: 50px;
    padding: 25px 60px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 13px;
}

.vsf-bottom a {
    color: #E11C2B;
    text-decoration: none;
}

/* MOBILE */
@media (max-width: 992px) {
    .vsf-container {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .vsf-container {
        grid-template-columns: 1fr;
    }

    .vsf-bottom {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}



.post-item {
    height: 280px;
}

/* Visible Safety Solutions brand palette override */
:root {
    --vss-red: #E11C2B;
    --vss-green: #228B22;
    --vss-green-dark: #176B17;
    --vss-green-soft: #EAF6EA;
    --vss-navy: #001F5B;
    --vss-yellow: #FFD700;
    --vss-blue: #007BFF;
    --vss-white: #FFFFFF;
    --vss-ink: #111111;
    --vss-muted: #555555;
    --vss-line: #DDE8DD;
}

body {
    color: var(--vss-ink);
    background: var(--vss-white);
}

body a,
.dsvy-globalcolor,
.globalcolor,
.dsvy-color-globalcolor {
    color: var(--vss-green);
}

.dsvy-header-menu-area.dsvy-bg-color-globalcolor,
.dsvy-sticky-on.dsvy-sticky-bg-color-globalcolor,
.dsvy-pre-header-wrapper.dsvy-bg-color-globalcolor {
    background-color: var(--vss-green) !important;
}

.top-header {
    border-bottom: 1px solid var(--vss-line);
}

.dsvy-header-box-icon,
.dsvy-header-search-btn a,
.nav-menu-toggle,
.dsvy-header-box-title {
    color: var(--vss-green) !important;
}

.dsvy-header-box-content {
    color: var(--vss-navy) !important;
}

.main-navigation ul.menu>li>a,
.dsvy-header-button a,
.dsvy-header-button a span {
    color: var(--vss-white) !important;
}

.main-navigation ul.menu>li.current-menu-ancestor>a,
.main-navigation ul.menu>li.current-menu-parent>a,
.main-navigation ul.menu>li>a:hover {
    color: var(--vss-yellow) !important;
}

.main-navigation ul ul.sub-menu {
    border-top: 4px solid var(--vss-yellow);
}

.main-navigation ul ul.sub-menu li a:hover {
    color: var(--vss-green) !important;
}

.consult-btn,
.elementor-element .elementor-button,
.vs-btn.primary,
.search-submit,
.modal-body button,
.dsvy-header-button a {
    background: var(--vss-red) !important;
    border-color: var(--vss-red) !important;
    color: var(--vss-white) !important;
    box-shadow: 0 12px 28px rgba(225, 28, 43, 0.22);
}

.consult-btn:hover,
.elementor-element .elementor-button:hover,
.vs-btn.primary:hover,
.search-submit:hover,
.modal-body button:hover,
.dsvy-header-button a:hover {
    background: #B91520 !important;
    border-color: #B91520 !important;
    color: var(--vss-white) !important;
}

.vs-btn.secondary {
    background: var(--vss-white) !important;
    border-color: var(--vss-red) !important;
    color: var(--vss-red) !important;
}

.vs-btn.secondary:hover {
    background: var(--vss-red) !important;
    color: var(--vss-white) !important;
}

rs-layer[id$="-layer-15"],
.rs-layer.rev-btn:hover {
    background-color: var(--vss-red) !important;
}

.rs-layer.rev-btn {
    border-color: var(--vss-white) !important;
}

.dsvy-service-style-2 .dsvy-service-btn-a span:after,
.dsvy-service-style-3 .dsvy-service-btn-a span:after,
.dsvy-ihbox-style-2 .dsvy-ihbox-btn a span:after,
.dsvy-ihbox-style-4 .dsvy-ihbox-btn a span:after {
    color: var(--vss-red) !important;
}

.dsvy-service-btn-a,
.dsvy-service-btn-a span,
.vs-mag-head h2 span,
.vs-mag-item span,
.vss-card h3,
.vss-q::after,
.vsf-links i,
.vsf-contact i,
.vsf-links a:hover,
.vsf-bottom a {
    color: var(--vss-red) !important;
}

.vss-section,
.vs-cta-section {
    background: linear-gradient(180deg, var(--vss-white), var(--vss-green-soft)) !important;
}

.vss-card,
.vss-item,
.vs-mag-item,
.vs-step,
.vs-power-box,
.vs-cta-box,
.vsf-footer {
    border-color: var(--vss-line);
}

.vss-card:hover,
.vss-item.active,
.vs-power-box,
.vs-mag-footer {
    border-left-color: var(--vss-red) !important;
    border-top-color: var(--vss-red) !important;
}

.vss-highlight,
.vs-mag-feature,
.vs-step.highlight,
.vs-power-footer,
.vs-cta-box::before {
    background: linear-gradient(135deg, var(--vss-red), #F04A55) !important;
    color: var(--vss-white) !important;
}

.vs-workflow-footer,
.vs-mag-strip {
    background: var(--vss-navy) !important;
    color: var(--vss-white) !important;
}

.vs-overlay {
    background: linear-gradient(135deg, rgba(0, 31, 91, 0.84), rgba(225, 28, 43, 0.76)) !important;
}

.vs-mag-overlay {
    background: linear-gradient(135deg, rgba(225, 28, 43, 0.72), rgba(0, 31, 91, 0.58)) !important;
}

.vs-step span,
.vsf-social a:hover {
    background: var(--vss-red) !important;
    color: var(--vss-white) !important;
}

.vsf-col h3,
.vss-title,
.vs-power-left h2,
.vs-power-right h2,
.vs-workflow-head h2,
.vs-cta-title {
    color: var(--vss-navy) !important;
}

.vsf-social a {
    background: var(--vss-green-soft);
    color: var(--vss-red);
}

.woocommerce .button,
.wp-element-button,
.wp-block-button__link {
    background-color: var(--vss-red) !important;
    color: var(--vss-white) !important;
}

/* Certificate section */
.vs-certificates-section {
    padding: 30px 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(234, 246, 234, 0.96)),
        radial-gradient(circle at 12% 18%, rgba(34, 139, 34, 0.10), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(225, 28, 43, 0.08), transparent 24%);
    overflow: hidden;
}

.vs-cert-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 18px;
    margin-bottom: 15px;
    border-radius: 999px;
    background: var(--vss-green);
    color: var(--vss-white);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.vs-cert-title {
    margin: 0;
    color: var(--vss-navy);
    font-size: 44px;
    line-height: 1.1;
    font-weight: 800;
}

.vs-cert-subtitle {
    max-width: 720px;
    margin: 16px auto 38px;
    color: var(--vss-muted);
    font-size: 17px;
    line-height: 1.7;
}

.vs-cert-card {
    width: 100%;
    max-width: 360px;
    height: 510px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 18px 45px rgba(0, 31, 91, 0.10);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.vs-cert-card:hover {
    transform: translateY(-8px);
    border-color: rgba(225, 28, 43, 0.38);
    box-shadow: 0 24px 60px rgba(0, 31, 91, 0.16);
}

.vs-cert-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    padding: 14px;
    background: var(--vss-white);
}

@media (max-width: 991px) {
    .vs-certificates-section {
        padding: 70px 0;
    }

    .vs-cert-title {
        font-size: 36px;
    }
}

@media (max-width: 575px) {
    .vs-certificates-section {
        padding: 55px 0;
    }

    .vs-cert-title {
        font-size: 30px;
    }

    .vs-cert-subtitle {
        font-size: 15px;
        margin-bottom: 28px;
    }

    .vs-cert-card {
        max-width: 340px;
        height: 480px;
    }
}



/* trusted clients */
/* Trusted Partners */
.trusted-partners-section {
    position: relative;
    width: 100%;
    padding: 50px 0 78px;
    background:
        linear-gradient(90deg, rgba(225, 28, 43, 0.16), transparent 22%, transparent 78%, rgba(34, 139, 34, 0.18)),
        linear-gradient(135deg, #06172f 0%, #001f5b 48%, #0c352f 100%);
    overflow: hidden;
}

.trusted-partners-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 72px 72px;
    opacity: 0.42;
    pointer-events: none;
}

.trusted-partners-section::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--vss-green), var(--vss-yellow), var(--vss-red));
    pointer-events: none;
}

.trusted-partners-section .container,
.partners-marquee-shell {
    position: relative;
    z-index: 1;
}

.partners-head {
    margin-bottom: 44px;
}

.partners-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 34px;
    padding: 7px 16px;
    color: var(--vss-white);
    background: rgba(225, 28, 43, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.partners-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--vss-yellow);
    box-shadow: 0 0 0 5px rgba(255, 215, 0, 0.16);
}

.partners-title {
    max-width: 820px;
    margin-bottom: 16px;
    color: var(--vss-white);
    font-size: 48px;
    line-height: 1.06;
    font-weight: 900;
}

.partners-subtitle {
    max-width: 700px;
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 17px;
    line-height: 1.7;
}

.partners-proof {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.07));
    backdrop-filter: blur(14px);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.partners-proof-item {
    min-height: 118px;
    padding: 22px 18px;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.partners-proof-item:last-child {
    border-right: 0;
}

.partners-proof-item strong {
    display: block;
    color: var(--vss-yellow);
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
}

.partners-proof-item span {
    display: block;
    margin-top: 9px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.partners-marquee-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 34px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.055)),
        rgba(0, 0, 0, 0.12);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.10),
        inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

.partners-marquee-label {
    max-width: 1200px;
    margin: 0 auto 18px;
    padding: 0 18px;
}

.partners-marquee-label span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 13px;
    color: rgba(255, 255, 255, 0.86);
    border-left: 4px solid var(--vss-red);
    background: rgba(0, 0, 0, 0.20);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.partners-marquee-wrapper {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 0;
}

.partners-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.partners-marquee::before,
.partners-marquee::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 2;
    width: 210px;
    height: 100%;
    pointer-events: none;
}

.partners-marquee::before {
    left: 0;
    background: linear-gradient(90deg, #06172f 0%, rgba(6, 23, 47, 0.78) 36%, rgba(6, 23, 47, 0));
}

.partners-marquee::after {
    right: 0;
    background: linear-gradient(270deg, #0c352f 0%, rgba(12, 53, 47, 0.78) 36%, rgba(12, 53, 47, 0));
}

.partners-track {
    display: flex;
    width: max-content;
    gap: 20px;
    padding: 2px 0;
    animation: partnersSlide 58s linear infinite;
    will-change: transform;
}

.partners-marquee.reverse .partners-track {
    animation-direction: reverse;
    animation-duration: 64s;
}

.partners-marquee:nth-child(3) .partners-track {
    animation-duration: 70s;
}

.partners-marquee:hover .partners-track {
    animation-play-state: paused;
}

.partner-logo {
    width: 188px;
    height: 104px;
    flex: 0 0 188px;
    position: relative;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 247, 0.98)),
        var(--vss-white);
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.partner-logo::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: -1px;
    height: 4px;
    background: linear-gradient(90deg, var(--vss-green), var(--vss-red));
    opacity: 0;
    transition: opacity 0.25s ease;
}

.partner-logo img {
    max-width: 100%;
    max-height: 62px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.72;
    transition: 0.3s ease;
}

.partner-logo:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 215, 0, 0.58);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26);
}

.partner-logo:hover::after {
    opacity: 1;
}

.partner-logo:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.04);
}

@keyframes partnersSlide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 10px));
    }
}

@media (max-width: 991px) {
    .trusted-partners-section {
        padding: 72px 0 62px;
    }

    .partners-head {
        margin-bottom: 30px;
    }

    .partners-title {
        font-size: 36px;
    }

    .partners-proof {
        grid-template-columns: repeat(3, 1fr);
    }

    .partner-logo {
        width: 158px;
        height: 88px;
        flex-basis: 158px;
    }

    .partners-marquee::before,
    .partners-marquee::after {
        width: 90px;
    }
}

@media (max-width: 575px) {
    .trusted-partners-section {
        padding: 58px 0 50px;
    }

    .partners-title {
        font-size: 28px;
    }

    .partners-subtitle {
        font-size: 15px;
        line-height: 1.6;
    }

    .partners-proof {
        grid-template-columns: 1fr;
    }

    .partners-proof-item {
        min-height: auto;
        padding: 16px 18px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .partners-proof-item:last-child {
        border-bottom: 0;
    }

    .partners-proof-item strong {
        font-size: 28px;
    }

    .partners-marquee-shell {
        padding: 24px 0;
    }

    .partners-marquee-wrapper {
        gap: 14px;
    }

    .partners-marquee::before,
    .partners-marquee::after {
        width: 44px;
    }

    .partner-logo {
        width: 132px;
        height: 76px;
        flex-basis: 132px;
        padding: 13px;
    }

    .partner-logo img {
        max-height: 44px;
    }

    .partners-track {
        gap: 14px;
        animation-duration: 42s;
    }

    .partners-marquee.reverse .partners-track {
        animation-duration: 48s;
    }

    .partners-marquee:nth-child(3) .partners-track {
        animation-duration: 52s;
    }

    @keyframes partnersSlide {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(calc(-50% - 7px));
        }
    }
}

/* About page banner */
.vs-page-banner {
    min-height: 300px;
    height: 300px;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(0, 31, 91, 0.92) 0%, rgba(0, 31, 91, 0.78) 42%, rgba(225, 28, 43, 0.55) 100%),
        url("../img/about-img.png") center right / cover no-repeat;
}

.vs-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(34, 139, 34, 0.20), transparent 35%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 18px);
    pointer-events: none;
}

.vs-page-banner::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--vss-green), var(--vss-yellow), var(--vss-red));
}

.vs-page-banner__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 16px;
    margin-bottom: 12px;
    border-left: 4px solid var(--vss-yellow);
    background: rgba(255, 255, 255, 0.12);
    color: var(--vss-white);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.vs-page-banner__title {
    margin: 0 0 12px;
    color: var(--vss-white);
    font-size: 54px;
    line-height: 1;
    font-weight: 900;
}

.vs-page-breadcrumb {
    align-items: center;
    padding: 0;
    background: transparent;
}

.vs-page-breadcrumb .breadcrumb-item {
    color: rgba(255, 255, 255, 0.82);
    font-size: 16px;
    font-weight: 700;
}

.vs-page-breadcrumb .breadcrumb-item a {
    color: var(--vss-yellow);
    text-decoration: none;
}

.vs-page-breadcrumb .breadcrumb-item a:hover {
    color: var(--vss-white);
}

.vs-page-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.64);
}

@media (max-width: 767px) {
    .vs-page-banner {
        min-height: 300px;
        height: 300px;
        background-position: center;
    }

    .vs-page-banner__title {
        font-size: 40px;
    }

    .vs-page-banner__eyebrow {
        font-size: 12px;
        padding: 6px 12px;
    }

    .vs-page-breadcrumb .breadcrumb-item {
        font-size: 14px;
    }
}

/* About intro section */
.vs-about-intro {
    position: relative;
    padding: 40px 0;
    background:
        linear-gradient(180deg, var(--vss-white) 0%, var(--vss-green-soft) 100%);
    overflow: hidden;
}

.vs-about-intro::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 8% 18%, rgba(34, 139, 34, 0.09), transparent 26%),
        radial-gradient(circle at 92% 14%, rgba(225, 28, 43, 0.08), transparent 24%);
    pointer-events: none;
}

.vs-about-intro .container {
    position: relative;
    z-index: 1;
}

.vs-about-image {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(0, 31, 91, 0.10);
    box-shadow: 0 24px 60px rgba(0, 31, 91, 0.14);
}

.vs-about-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, transparent 45%, rgba(0, 31, 91, 0.82) 100%),
        linear-gradient(90deg, rgba(225, 28, 43, 0.22), transparent 42%);
}

.vs-about-image::after {
    content: "";
    position: absolute;
    top: 22px;
    right: 22px;
    bottom: 22px;
    left: 22px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 8px;
    pointer-events: none;
}

.vs-about-image img {
    width: 100%;
    height: 100%;
    min-height: 650px;
    display: block;
    object-fit: cover;
}

.vs-about-badge {
    position: absolute;
    left: 36px;
    right: 36px;
    bottom: 36px;
    z-index: 3;
    padding: 20px 22px;
    border-left: 5px solid var(--vss-yellow);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.20);
}

.vs-about-badge span {
    display: block;
    margin-bottom: 5px;
    color: var(--vss-red);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.vs-about-badge strong {
    display: block;
    color: var(--vss-navy);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 900;
}

.vs-about-content {
    padding-left: 18px;
}

.vs-section-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 17px;
    margin-bottom: 16px;
    background: var(--vss-red);
    color: var(--vss-white);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.vs-about-content h2 {
    max-width: 620px;
    margin: 0 0 22px;
    color: var(--vss-navy);
    font-size: 46px;
    line-height: 1.08;
    font-weight: 900;
}

.vs-about-content p {
    margin: 0 0 15px;
    color: var(--vss-muted);
    font-size: 17px;
    line-height: 1.72;
}

.vs-about-highlight {
    margin: 26px 0;
    padding: 20px 24px;
    border-left: 5px solid var(--vss-red);
    background: var(--vss-white);
    color: var(--vss-navy);
    font-size: 20px;
    line-height: 1.45;
    font-weight: 800;
    box-shadow: 0 16px 38px rgba(0, 31, 91, 0.08);
}



.vs-about-point {
    height: 100%;
    min-height: 118px;
    padding: 20px 16px;
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: var(--vss-white);
    text-align: center;
    box-shadow: 0 12px 30px rgba(0, 31, 91, 0.07);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.vs-about-point i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: var(--vss-green-soft);
    color: var(--vss-red);
    font-size: 20px;
}

.vs-about-point span {
    display: block;
    color: var(--vss-navy);
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;
}

.vs-about-point:hover {
    transform: translateY(-5px);
    border-color: rgba(225, 28, 43, 0.34);
    box-shadow: 0 18px 42px rgba(0, 31, 91, 0.12);
}

@media (max-width: 991px) {
    .vs-about-intro {
        padding: 70px 0;
    }

    .vs-about-content {
        padding-left: 0;
    }

    .vs-about-content h2 {
        font-size: 38px;
    }

    .vs-about-image,
    .vs-about-image img {
        min-height: 430px;
    }
}

@media (max-width: 575px) {
    .vs-about-intro {
        padding: 55px 0;
    }

    .vs-about-content h2 {
        font-size: 31px;
    }

    .vs-about-content p {
        font-size: 15px;
        line-height: 1.65;
    }

    .vs-about-highlight {
        padding: 18px;
        font-size: 17px;
    }

    .vs-about-image,
    .vs-about-image img {
        min-height: 340px;
    }

    .vs-about-image::after {
        inset: 14px;
    }

    .vs-about-badge {
        left: 20px;
        right: 20px;
        bottom: 20px;
        padding: 16px;
    }

    .vs-about-badge strong {
        font-size: 18px;
    }
}

/* About story section */
.vs-story-section {
    position: relative;
    padding: 50px 0;
    background:
        linear-gradient(135deg, rgba(0, 31, 91, 0.98), rgba(4, 54, 45, 0.96)),
        var(--vss-navy);
    overflow: hidden;
}

.vs-story-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(225, 28, 43, 0.14), transparent 24%, transparent 76%, rgba(255, 215, 0, 0.10)),
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: auto, 74px 74px, 74px 74px;
    opacity: 0.85;
    pointer-events: none;
}

.vs-story-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--vss-red), var(--vss-yellow), var(--vss-green));
}

.vs-story-section .container {
    position: relative;
    z-index: 1;
}

.vs-story-heading {
    position: sticky;
    top: 110px;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}

.vs-story-heading .vs-section-kicker {
    background: var(--vss-red);
}

.vs-story-heading h2 {
    margin: 0 0 18px;
    color: var(--vss-white);
    font-size: 50px;
    line-height: 1.05;
    font-weight: 900;
}

.vs-story-heading p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 18px;
    line-height: 1.65;
}

.vs-story-image {
    position: relative;
    margin-top: 28px;
    height: 400px;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.vs-story-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 38%, rgba(0, 31, 91, 0.78));
    pointer-events: none;
}

.vs-story-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.vs-story-heading:hover .vs-story-image img {
    transform: scale(1.05);
}

.vs-story-timeline {
    position: relative;
    display: grid;
    gap: 18px;
}

.vs-story-timeline::before {
    content: "";
    position: absolute;
    top: 22px;
    bottom: 22px;
    left: 39px;
    width: 2px;
    background: linear-gradient(180deg, var(--vss-yellow), rgba(255, 255, 255, 0.16), var(--vss-red));
}

.vs-story-item {
    position: relative;
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 22px;
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.14);
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.vs-story-item:hover {
    transform: translateX(8px);
    border-color: rgba(255, 215, 0, 0.62);
}

.vs-story-count {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 4px solid rgba(255, 255, 255, 0.86);
    border-radius: 50%;
    background: var(--vss-green);
    color: var(--vss-white);
    font-size: 17px;
    line-height: 1;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(0, 31, 91, 0.18);
}

.vs-story-item h3 {
    margin: 0 0 9px;
    color: var(--vss-navy);
    font-size: 23px;
    line-height: 1.2;
    font-weight: 900;
}

.vs-story-item p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 16px;
    line-height: 1.72;
}

.vs-story-item--active {
    background: linear-gradient(135deg, var(--vss-red), #f04a55);
}

.vs-story-item--active .vs-story-count {
    background: var(--vss-yellow);
    color: var(--vss-navy);
}

.vs-story-item--active h3,
.vs-story-item--active p {
    color: var(--vss-white);
}

@media (max-width: 991px) {
    .vs-story-section {
        padding: 70px 0;
    }

    .vs-story-heading {
        position: relative;
        top: auto;
    }

    .vs-story-heading h2 {
        font-size: 40px;
    }
}

@media (max-width: 575px) {
    .vs-story-section {
        padding: 55px 0;
    }

    .vs-story-heading {
        padding: 24px;
    }

    .vs-story-heading h2 {
        font-size: 32px;
    }

    .vs-story-heading p {
        font-size: 15px;
    }

    .vs-story-image {
        height: 210px;
        margin-top: 22px;
    }

    .vs-story-timeline::before {
        left: 26px;
    }

    .vs-story-item {
        grid-template-columns: 52px 1fr;
        gap: 16px;
        padding: 20px 16px;
    }

    .vs-story-item:hover {
        transform: none;
    }

    .vs-story-count {
        width: 42px;
        height: 42px;
        border-width: 3px;
        font-size: 14px;
    }

    .vs-story-item h3 {
        font-size: 20px;
    }

    .vs-story-item p {
        font-size: 15px;
        line-height: 1.62;
    }
}

/* Safety method section */
.vss-method-section {
    position: relative;
    padding: 50px 0;
    background: #f8faf8;
    overflow: hidden;
}

.vss-method-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(34, 139, 34, 0.06), transparent 35%, rgba(225, 28, 43, 0.04));
    pointer-events: none;
}

.vss-method-section .container {
    position: relative;
    z-index: 1;
}

.vss-method-title {
    margin: 0 0 16px;
    color: var(--vss-navy);
    font-size: 65px;
    line-height: 1.08;
    font-weight: 900;
}

.vss-method-lead {
    max-width: 540px;
    margin: 0;
    color: var(--vss-muted);
    font-size: 28px;
    line-height: 1.65;
    font-weight: 600;
}

.vss-method-note {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-top: 30px;
    padding: 24px 26px;
    border: 1px solid var(--vss-line);
    border-left: 5px solid var(--vss-red);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 16px 40px rgba(0, 31, 91, 0.07);
}

.vss-method-note>i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 8px;
    background: var(--vss-green-soft);
    color: var(--vss-red);
    font-size: 22px;
}

.vss-method-note span {
    display: block;
    margin-bottom: 8px;
    color: var(--vss-red);
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
}

.vss-method-note strong {
    display: block;
    color: var(--vss-navy);
    font-size: 20px;
    line-height: 1.35;
    font-weight: 900;
}

.vss-method-board {
    padding: 12px;
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 20px 55px rgba(0, 31, 91, 0.09);
}

.vss-method-panel {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 22px;
    align-items: flex-start;
    padding: 28px 24px;
    border-bottom: 1px solid var(--vss-line);
    background: var(--vss-white);
    overflow: hidden;
    transition: background 0.25s ease;
}

.vss-method-panel:last-of-type {
    border-bottom: 0;
}

.vss-method-panel:hover {
    background: #fbfdfb;
}

.vss-method-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    background: var(--vss-green-soft);
    color: var(--vss-red);
    font-size: 26px;
}

.vss-method-copy h3 {
    margin: 0 0 10px;
    color: var(--vss-navy);
    font-size: 25px;
    line-height: 1.1;
    font-weight: 900;
}

.vss-method-copy p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 16px;
    line-height: 1.72;
}

.vss-method-result {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 12px 0 0;
    padding: 22px 26px;
    border-radius: 8px;
    border: 1px solid rgba(225, 28, 43, 0.22);
    border-left: 5px solid var(--vss-red);
    background: var(--vss-white);
    color: var(--vss-navy);
    box-shadow: 0 16px 40px rgba(0, 31, 91, 0.07);
}

.vss-method-result i {
    flex: 0 0 auto;
    color: var(--vss-red);
    font-size: 30px;
}

.vss-method-result p {
    margin: 0;
    color: var(--vss-navy);
    font-size: 19px;
    line-height: 1.45;
    font-weight: 800;
}

@media (max-width: 991px) {
    .vss-method-section {
        padding: 70px 0;
    }

    .vss-method-title {
        font-size: 38px;
    }
}

@media (max-width: 575px) {
    .vss-method-section {
        padding: 55px 0;
    }

    .vss-method-title {
        font-size: 31px;
    }

    .vss-method-lead {
        font-size: 16px;
    }

    .vss-method-note {
        padding: 22px;
        margin-top: 22px;
    }

    .vss-method-note strong {
        font-size: 17px;
    }

    .vss-method-board {
        padding: 8px;
    }

    .vss-method-panel {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 22px 18px;
    }

    .vss-method-icon {
        width: 54px;
        height: 54px;
        font-size: 22px;
    }

    .vss-method-copy h3 {
        font-size: 23px;
    }

    .vss-method-copy p {
        font-size: 15px;
    }

    .vss-method-result {
        align-items: flex-start;
        padding: 20px;
    }

    .vss-method-result p {
        font-size: 17px;
    }
}

/* Differentiators section */
.vss-edge-section {
    position: relative;
    padding: 50px 0;
    background: var(--vss-white);
    overflow: hidden;
}

.vss-edge-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 31, 91, 0.035), transparent 34%),
        linear-gradient(90deg, transparent 0%, transparent 58%, var(--vss-green-soft) 58%, var(--vss-green-soft) 100%);
    pointer-events: none;
}

.vss-edge-section .container {
    position: relative;
    z-index: 1;
}

.vss-edge-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: 40px;
    align-items: end;
    margin-bottom: 44px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--vss-line);
}

.vss-edge-head h2 {
    margin: 0;
    color: var(--vss-navy);
    font-size: 48px;
    line-height: 1.08;
    font-weight: 900;
}

.vss-edge-head p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 17px;
    line-height: 1.7;
    font-weight: 600;
}

.vss-edge-card {
    height: 100%;
    min-height: 250px;
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 22px;
    padding: 32px;
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 16px 42px rgba(0, 31, 91, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.vss-edge-card:hover {
    transform: translateY(-6px);
    border-color: rgba(225, 28, 43, 0.30);
    box-shadow: 0 24px 60px rgba(0, 31, 91, 0.12);
}

.vss-edge-card--dark {
    background: linear-gradient(135deg, var(--vss-navy), #073a32);
    border-color: rgba(255, 255, 255, 0.14);
}

.vss-edge-card--accent {
    border-left: 6px solid var(--vss-red);
}

.vss-edge-icon {
    width: 68px;
    height: 68px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--vss-green-soft);
    color: var(--vss-red);
    font-size: 28px;
}

.vss-edge-card--dark .vss-edge-icon {
    background: rgba(255, 255, 255, 0.12);
    color: var(--vss-yellow);
}

.vss-edge-copy h3 {
    margin: 0 0 12px;
    color: var(--vss-navy);
    font-size: 25px;
    line-height: 1.2;
    font-weight: 900;
}

.vss-edge-copy p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 16px;
    line-height: 1.7;
}

.vss-edge-card--dark .vss-edge-copy h3,
.vss-edge-card--dark .vss-edge-copy p {
    color: var(--vss-white);
}

.vss-edge-card--dark .vss-edge-copy p {
    color: rgba(255, 255, 255, 0.82);
}

@media (max-width: 991px) {
    .vss-edge-section {
        padding: 70px 0;
    }

    .vss-edge-head {
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
    }

    .vss-edge-head h2 {
        font-size: 38px;
    }
}

@media (max-width: 575px) {
    .vss-edge-section {
        padding: 55px 0;
    }

    .vss-edge-head {
        margin-bottom: 30px;
        padding-bottom: 22px;
    }

    .vss-edge-head h2 {
        font-size: 31px;
    }

    .vss-edge-head p {
        font-size: 15px;
    }

    .vss-edge-card {
        grid-template-columns: 1fr;
        gap: 16px;
        min-height: auto;
        padding: 24px;
    }

    .vss-edge-icon {
        width: 56px;
        height: 56px;
        font-size: 23px;
    }

    .vss-edge-copy h3 {
        font-size: 22px;
    }

    .vss-edge-copy p {
        font-size: 15px;
    }
}

/* Standards register section */
.vss-standard-section {
    position: relative;
    padding: 50px 0;
    background:
        linear-gradient(180deg, #f8faf8 0%, #ffffff 100%);
    overflow: hidden;
}

.vss-standard-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0, 31, 91, 0.05), transparent 34%, rgba(34, 139, 34, 0.07)),
        linear-gradient(180deg, rgba(225, 28, 43, 0.055), transparent 38%);
    pointer-events: none;
}

.vss-standard-section .container {
    position: relative;
    z-index: 1;
}

.vss-standard-header {
    margin-bottom: 38px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--vss-line);
}

.vss-standard-header h2 {
    margin: 0 0 16px;
    color: var(--vss-navy);
    font-size: 48px;
    line-height: 1.08;
    font-weight: 900;
}

.vss-standard-header p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 17px;
    line-height: 1.65;
    font-weight: 600;
}

.vss-standard-register {
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 22px 62px rgba(0, 31, 91, 0.09);
    overflow: hidden;
}

.vss-standard-register-head,
.vss-standard-row {
    display: grid;
    grid-template-columns: 1.05fr 1fr 1.45fr;
    align-items: stretch;
}

.vss-standard-register-head {
    background: var(--vss-navy);
}

.vss-standard-register-head span {
    padding: 18px 24px;
    color: var(--vss-white);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.vss-standard-register-head span:last-child {
    border-right: 0;
}

.vss-standard-row {
    border-bottom: 1px solid var(--vss-line);
}

.vss-standard-row:last-child {
    border-bottom: 0;
}

.vss-standard-area,
.vss-standard-name,
.vss-standard-detail {
    padding: 24px;
    border-right: 1px solid var(--vss-line);
}

.vss-standard-detail {
    border-right: 0;
}

.vss-standard-area {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fbfdfb;
}

.vss-standard-area i {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--vss-red);
    color: var(--vss-white);
    font-size: 19px;
}

.vss-standard-area strong {
    color: var(--vss-navy);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 900;
}

.vss-standard-name {
    color: var(--vss-navy);
    font-size: 18px;
    line-height: 1.45;
    font-weight: 900;
}

.vss-standard-detail {
    color: var(--vss-muted);
    font-size: 16px;
    line-height: 1.6;
}

.vss-standard-row:hover .vss-standard-area {
    background: var(--vss-green-soft);
}

@media (max-width: 991px) {
    .vss-standard-section {
        padding: 70px 0;
    }

    .vss-standard-header h2 {
        font-size: 38px;
    }
}

@media (max-width: 575px) {
    .vss-standard-section {
        padding: 55px 0;
    }

    .vss-standard-header {
        margin-bottom: 28px;
        padding-bottom: 22px;
    }

    .vss-standard-header h2 {
        font-size: 31px;
    }

    .vss-standard-header p {
        font-size: 15px;
    }

    .vss-standard-row {
        grid-template-columns: 1fr;
    }

    .vss-standard-area,
    .vss-standard-name,
    .vss-standard-detail {
        padding: 18px;
        border-right: 0;
        border-bottom: 1px solid var(--vss-line);
    }

    .vss-standard-detail {
        border-bottom: 0;
    }

    .vss-standard-area i {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: 16px;
    }
}

/* Lead expert team section */
.vss-lead-section {
    position: relative;
    padding: 50px 0;
    background:
        linear-gradient(135deg, var(--vss-navy) 0%, #073a32 100%);
    overflow: hidden;
}

.vss-lead-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(225, 28, 43, 0.14), transparent 30%, rgba(255, 215, 0, 0.08)),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: auto, 76px 76px, 76px 76px;
    pointer-events: none;
}

.vss-lead-section .container {
    position: relative;
    z-index: 1;
}

.vss-lead-profile {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 26px 72px rgba(0, 0, 0, 0.25);
}

.vss-lead-photo {
    min-height: 390px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background:
        linear-gradient(135deg, rgba(0, 31, 91, 0.92), rgba(34, 139, 34, 0.72)),
        var(--vss-navy);
    color: rgba(255, 255, 255, 0.84);
    text-align: center;
}

.vss-lead-photo i {
    width: 112px;
    height: 112px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255, 255, 255, 0.30);
    border-radius: 50%;
    color: var(--vss-yellow);
    font-size: 50px;
}

.vss-lead-photo span {
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.vss-lead-info {
    padding: 28px;
    border-top: 5px solid var(--vss-red);
}

.vss-lead-role {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--vss-red);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.vss-lead-info h3 {
    margin: 0 0 8px;
    color: var(--vss-navy);
    font-size: 30px;
    line-height: 1.15;
    font-weight: 900;
}

.vss-lead-info p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 15px;
    line-height: 1.55;
    font-weight: 700;
}

.vss-lead-content {
    padding-left: 10px;
}

.vss-lead-content h2 {
    margin: 0 0 18px;
    color: var(--vss-white);
    font-size: 48px;
    line-height: 1.08;
    font-weight: 900;
}

.vss-lead-content p {
    margin: 0 0 16px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 17px;
    line-height: 1.75;
}

.vss-lead-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 30px;
}

.vss-lead-trust div {
    min-height: 110px;
    padding: 20px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    text-align: center;
}

.vss-lead-trust i {
    display: block;
    margin-bottom: 12px;
    color: var(--vss-yellow);
    font-size: 28px;
}

.vss-lead-trust span {
    color: var(--vss-white);
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.vss-lead-placeholder {
    margin-top: 24px;
    padding: 18px 20px;
    border-left: 5px solid var(--vss-yellow);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.86);
    font-size: 15px;
    line-height: 1.6;
    font-weight: 700;
}

@media (max-width: 991px) {
    .vss-lead-section {
        padding: 70px 0;
    }

    .vss-lead-content {
        padding-left: 0;
    }

    .vss-lead-content h2 {
        font-size: 38px;
    }
}

@media (max-width: 575px) {
    .vss-lead-section {
        padding: 55px 0;
    }

    .vss-lead-photo {
        min-height: 300px;
    }

    .vss-lead-photo i {
        width: 90px;
        height: 90px;
        font-size: 40px;
    }

    .vss-lead-info {
        padding: 22px;
    }

    .vss-lead-info h3 {
        font-size: 25px;
    }

    .vss-lead-content h2 {
        font-size: 31px;
    }

    .vss-lead-content p {
        font-size: 15px;
        line-height: 1.65;
    }

    .vss-lead-trust {
        grid-template-columns: 1fr;
    }

    .vss-lead-trust div {
        min-height: auto;
    }
}

/* Mission vision values magazine section */
.vss-manifest-section {
    position: relative;
    padding: 50px 0;
    background: #f8faf8;
    overflow: hidden;
}

.vss-manifest-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(225, 28, 43, 0.06), transparent 36%, rgba(34, 139, 34, 0.08)),
        linear-gradient(180deg, rgba(0, 31, 91, 0.045), transparent 42%);
    pointer-events: none;
}

.vss-manifest-section .container {
    position: relative;
    z-index: 1;
}

.vss-manifest-head {
    max-width: 780px;
    margin-bottom: 38px;
}

.vss-manifest-head h2 {
    margin: 0;
    color: var(--vss-navy);
    font-size: 54px;
    line-height: 1.02;
    font-weight: 900;
}

.vss-manifest-feature {
    min-height: 360px;
    padding: 46px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(0, 31, 91, 0.94), rgba(7, 58, 50, 0.90)),
        var(--vss-navy);
    box-shadow: 0 24px 66px rgba(0, 31, 91, 0.18);
}

.vss-manifest-feature span,
.vss-manifest-vision span,
.vss-values-board>span {
    display: inline-flex;
    margin-bottom: 16px;
    color: var(--vss-yellow);
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.vss-manifest-feature h3 {
    max-width: 860px;
    margin: 0;
    color: var(--vss-white);
    font-size: 36px;
    line-height: 1.18;
    font-weight: 900;
}

.vss-manifest-feature p {
    max-width: 760px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 20px;
    line-height: 1.55;
    font-weight: 700;
}

.vss-manifest-vision {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 24px;
    align-items: flex-start;
    margin-top: 24px;
    padding: 34px;
    border: 1px solid var(--vss-line);
    border-left: 6px solid var(--vss-red);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 16px 44px rgba(0, 31, 91, 0.08);
}

.vss-manifest-mark {
    width: 74px;
    height: 74px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--vss-green-soft);
    color: var(--vss-red);
    font-size: 32px;
}

.vss-manifest-vision span,
.vss-values-board>span {
    color: var(--vss-red);
}

.vss-manifest-vision h3 {
    margin: 0 0 12px;
    color: var(--vss-navy);
    font-size: 28px;
    line-height: 1.25;
    font-weight: 900;
}

.vss-manifest-vision p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 17px;
    line-height: 1.65;
}

.vss-values-board {
    height: 100%;
    padding: 32px;
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 20px 58px rgba(0, 31, 91, 0.10);
}

.vss-values-board ul {
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vss-values-board li {
    position: relative;
    padding-left: 38px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--vss-line);
}

.vss-values-board li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.vss-values-board li i {
    position: absolute;
    top: 2px;
    left: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--vss-red);
    color: var(--vss-white);
    font-size: 12px;
}

.vss-values-board strong {
    display: block;
    margin-bottom: 5px;
    color: var(--vss-navy);
    font-size: 17px;
    line-height: 1.3;
    font-weight: 900;
}

.vss-values-board p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 991px) {
    .vss-manifest-section {
        padding: 70px 0;
    }

    .vss-manifest-head h2 {
        font-size: 42px;
    }

    .vss-manifest-feature h3 {
        font-size: 30px;
    }
}

@media (max-width: 575px) {
    .vss-manifest-section {
        padding: 55px 0;
    }

    .vss-manifest-head {
        margin-bottom: 28px;
    }

    .vss-manifest-head h2 {
        font-size: 34px;
    }

    .vss-manifest-feature {
        min-height: auto;
        padding: 30px 22px;
    }

    .vss-manifest-feature h3 {
        font-size: 24px;
    }

    .vss-manifest-feature p {
        font-size: 16px;
    }

    .vss-manifest-vision {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .vss-manifest-mark {
        width: 58px;
        height: 58px;
        font-size: 25px;
    }

    .vss-manifest-vision h3 {
        font-size: 23px;
    }

    .vss-values-board {
        padding: 24px;
    }
}

/* Commitment and partnership section */
.vss-promise-section {
    position: relative;
    padding: 50px 0;
    background:
        linear-gradient(135deg, #ffffff 0%, var(--vss-green-soft) 100%);
    overflow: hidden;
}

.vss-promise-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0, 31, 91, 0.05), transparent 44%, rgba(225, 28, 43, 0.06)),
        radial-gradient(circle at 12% 20%, rgba(255, 215, 0, 0.14), transparent 24%);
    pointer-events: none;
}

.vss-promise-section .container {
    position: relative;
    z-index: 1;
}

.vss-promise-commitment,
.vss-promise-partner {
    height: 100%;
    border-radius: 8px;
}

.vss-promise-commitment {
    position: relative;
    padding: 46px;
    background:
        linear-gradient(135deg, rgba(0, 31, 91, 0.96), rgba(7, 58, 50, 0.92)),
        var(--vss-navy);
    box-shadow: 0 24px 68px rgba(0, 31, 91, 0.18);
    overflow: hidden;
}

/* .vss-promise-commitment::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -80px;
    width: 220px;
    height: 220px;
    border: 34px solid rgba(255, 215, 0, 0.11);
    border-radius: 50%;
} */

.vss-promise-commitment h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 20px;
    color: var(--vss-white);
    font-size: 48px;
    line-height: 1.08;
    font-weight: 900;
}

.vss-promise-commitment p {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 0 16px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 18px;
    line-height: 1.7;
}

.vss-promise-line {
    position: relative;
    z-index: 1;
    margin-top: 30px;
    padding: 24px 26px;
    border-left: 6px solid var(--vss-yellow);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.10);
    color: var(--vss-white);
    font-size: 28px;
    line-height: 1.25;
    font-weight: 900;
}

.vss-promise-partner {
    padding: 36px;
    border: 1px solid var(--vss-line);
    background: var(--vss-white);
    box-shadow: 0 20px 58px rgba(0, 31, 91, 0.10);
}

.vss-promise-partner h3 {
    margin: 0 0 24px;
    color: var(--vss-navy);
    font-size: 32px;
    line-height: 1.15;
    font-weight: 900;
}

.vss-promise-partner ul {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vss-promise-partner li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 14px;
    align-items: flex-start;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--vss-line);
}

.vss-promise-partner li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.vss-promise-partner li i {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--vss-red);
    color: var(--vss-white);
    font-size: 13px;
}

.vss-promise-partner li span {
    color: var(--vss-muted);
    font-size: 16px;
    line-height: 1.55;
    font-weight: 700;
}

@media (max-width: 991px) {
    .vss-promise-section {
        padding: 70px 0;
    }

    .vss-promise-commitment h2 {
        font-size: 38px;
    }
}

@media (max-width: 575px) {
    .vss-promise-section {
        padding: 55px 0;
    }

    .vss-promise-commitment {
        padding: 30px 22px;
    }

    .vss-promise-commitment h2 {
        font-size: 31px;
    }

    .vss-promise-commitment p {
        font-size: 15px;
    }

    .vss-promise-line {
        padding: 20px;
        font-size: 21px;
    }

    .vss-promise-partner {
        padding: 26px 22px;
    }

    .vss-promise-partner h3 {
        font-size: 25px;
    }

    .vss-promise-partner li span {
        font-size: 15px;
    }
}

/* Final about CTA */
.vss-final-cta {
    position: relative;
    padding: 0;
    background: var(--vss-white);
}

.vss-final-cta-inner {
    position: relative;
    overflow: hidden;
    padding: 54px 56px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(0, 31, 91, 0.96), rgba(7, 58, 50, 0.92)),
        var(--vss-navy);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
    box-shadow: 0 24px 70px rgba(0, 31, 91, 0.18);
    transform: translateY(45px);
    z-index: 2;
}

.vss-final-cta-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--vss-green), var(--vss-yellow), var(--vss-red));
}

.vss-final-cta-copy {
    position: relative;
    z-index: 1;
}

.vss-final-cta-copy h2 {
    margin: 0 0 14px;
    color: var(--vss-white);
    font-size: 42px;
    line-height: 1.12;
    font-weight: 900;
}

.vss-final-cta-copy p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.80);
    font-size: 17px;
    line-height: 1.65;
}

.vss-final-cta-actions {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.vss-final-btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.vss-final-btn:hover {
    transform: translateY(-3px);
}

.vss-final-btn--light {
    border: 2px solid rgba(255, 255, 255, 0.78);
    background: transparent;
    color: var(--vss-white);
}

.vss-final-btn--light:hover {
    background: var(--vss-white);
    color: var(--vss-navy);
}

.vss-final-btn--red {
    border: 2px solid var(--vss-red);
    background: var(--vss-red);
    color: var(--vss-white);
    box-shadow: 0 14px 30px rgba(225, 28, 43, 0.28);
}

.vss-final-btn--red:hover {
    border-color: #b91520;
    background: #b91520;
    color: var(--vss-white);
}

@media (max-width: 991px) {
    .vss-final-cta-inner {
        grid-template-columns: 1fr;
        padding: 44px 34px;
    }

    .vss-final-cta-actions {
        justify-content: flex-start;
    }

    .vss-final-cta-copy h2 {
        font-size: 34px;
    }
}

@media (max-width: 575px) {
    .vss-final-cta-inner {
        padding: 34px 22px;
        transform: translateY(30px);
    }

    .vss-final-cta-copy h2 {
        font-size: 28px;
    }

    .vss-final-cta-copy p {
        font-size: 15px;
    }

    .vss-final-cta-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .vss-final-btn {
        width: 100%;
    }
}

/* Contact page */
.vss-contact-section {
    position: relative;
    padding: 90px 0;
    background:
        linear-gradient(180deg, #ffffff 0%, var(--vss-green-soft) 100%);
    overflow: hidden;
}

.vss-contact-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0, 31, 91, 0.05), transparent 34%, rgba(225, 28, 43, 0.05)),
        radial-gradient(circle at 12% 12%, rgba(255, 215, 0, 0.12), transparent 24%);
    pointer-events: none;
}

.vss-contact-section .container {
    position: relative;
    z-index: 1;
}

.vss-contact-intro {
    margin-bottom: 42px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--vss-line);
}

.vss-contact-intro h2 {
    margin: 0;
    color: var(--vss-navy);
    font-size: 50px;
    line-height: 1.08;
    font-weight: 900;
}

.vss-contact-intro p {
    margin: 0 0 12px;
    color: var(--vss-muted);
    font-size: 17px;
    line-height: 1.7;
    font-weight: 600;
}

.vss-contact-intro p:last-child {
    margin-bottom: 0;
}

.vss-contact-form-card,
.vss-direct-card,
.vss-service-area,
.vss-social-card {
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: var(--vss-white);
    box-shadow: 0 18px 48px rgba(0, 31, 91, 0.08);
}

.vss-contact-form-card {
    padding: 34px;
}

.vss-contact-card-head {
    margin-bottom: 26px;
}

.vss-contact-card-head span,
.vss-direct-card>span,
.vss-service-area>span,
.vss-social-card>span {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--vss-red);
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
}

.vss-contact-card-head h3,
.vss-direct-card h3,
.vss-service-area h3,
.vss-social-card h3 {
    margin: 0 0 8px;
    color: var(--vss-navy);
    font-size: 30px;
    line-height: 1.15;
    font-weight: 900;
}

.vss-contact-card-head p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 14px;
}

.vss-enquiry-form label {
    display: block;
    margin-bottom: 8px;
    color: var(--vss-navy);
    font-size: 14px;
    font-weight: 800;
}

.vss-enquiry-form input,
.vss-enquiry-form select,
.vss-enquiry-form textarea {
    width: 100%;
    min-height: 50px;
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--vss-ink);
    font-size: 15px;
    outline: none;
    padding: 12px 14px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.vss-enquiry-form textarea {
    min-height: 130px;
    resize: vertical;
}

.vss-enquiry-form input:focus,
.vss-enquiry-form select:focus,
.vss-enquiry-form textarea:focus {
    border-color: rgba(225, 28, 43, 0.45);
    box-shadow: 0 0 0 4px rgba(225, 28, 43, 0.08);
}

.vss-contact-check {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 9px 0 0 !important;
    color: var(--vss-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.vss-contact-check input,
.vss-interest-grid input {
    width: auto;
    min-height: auto;
}

.vss-interest-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.vss-interest-grid label {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--vss-muted);
    font-size: 14px;
    font-weight: 800;
}

.vss-contact-submit {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50px;
    background: var(--vss-red);
    color: var(--vss-white);
    padding: 14px 30px;
    font-size: 14px;
    font-weight: 900;
    box-shadow: 0 14px 30px rgba(225, 28, 43, 0.22);
}

.vss-contact-success {
    display: none;
    margin: 14px 0 0;
    color: var(--vss-green-dark);
    font-size: 14px;
    font-weight: 800;
}

.vss-direct-card {
    height: 100%;
    padding: 32px;
}

.vss-direct-list {
    display: grid;
    gap: 16px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.vss-direct-list li {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: flex-start;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--vss-line);
}

.vss-direct-list li:last-child {
    border-bottom: 0;
}

.vss-direct-list i {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--vss-green-soft);
    color: var(--vss-red);
    font-size: 17px;
}

.vss-direct-list strong {
    display: block;
    margin-bottom: 4px;
    color: var(--vss-navy);
    font-size: 14px;
    font-weight: 900;
}

.vss-direct-list a,
.vss-direct-list p {
    margin: 0;
    color: var(--vss-muted);
    font-size: 15px;
    line-height: 1.55;
    text-decoration: none;
}

.vss-map-placeholder {
    min-height: 180px;
    margin-top: 24px;
    overflow: hidden;
    border: 1px solid var(--vss-line);
    border-radius: 8px;
    background: #fbfdfb;
}

.vss-map-placeholder iframe {
    width: 100%;
    height: 260px;
    display: block;
}

.vss-contact-lower {
    margin-top: 34px;
}

.vss-service-area,
.vss-social-card {
    height: 100%;
    padding: 32px;
}

.vss-service-area p {
    margin: 0 0 14px;
    color: var(--vss-muted);
    font-size: 16px;
    line-height: 1.7;
    font-weight: 600;
}

.vss-service-area p:last-child {
    margin-bottom: 0;
}

.vss-social-card ul {
    display: grid;
    gap: 12px;
    margin: 22px 0;
    padding: 0;
    list-style: none;
}

.vss-social-card li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--vss-muted);
    font-size: 15px;
    line-height: 1.45;
    font-weight: 700;
}

.vss-social-card li i {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    border-radius: 50%;
    background: var(--vss-red);
    color: var(--vss-white);
}

.vss-social-card p {
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid var(--vss-line);
    color: var(--vss-muted);
    font-size: 14px;
    font-weight: 800;
}

@media (max-width: 991px) {
    .vss-contact-section {
        padding: 70px 0;
    }

    .vss-contact-intro h2 {
        font-size: 40px;
    }
}

@media (max-width: 575px) {
    .vss-contact-section {
        padding: 55px 0;
    }

    .vss-contact-intro {
        margin-bottom: 30px;
        padding-bottom: 24px;
    }

    .vss-contact-intro h2 {
        font-size: 31px;
    }

    .vss-contact-intro p {
        font-size: 15px;
    }

    .vss-contact-form-card,
    .vss-direct-card,
    .vss-service-area,
    .vss-social-card {
        padding: 24px 18px;
    }

    .vss-contact-card-head h3,
    .vss-direct-card h3,
    .vss-service-area h3,
    .vss-social-card h3 {
        font-size: 25px;
    }

    .vss-interest-grid {
        grid-template-columns: 1fr;
    }

    .vss-contact-submit {
        width: 100%;
    }

    .vss-direct-list li {
        grid-template-columns: 38px 1fr;
        gap: 12px;
    }
}