/* =========================================================
   KV CLEANING GROUP
   SCHOOL CLEANING SYDNEY
========================================================= */


/* =========================================================
   MAIN SECTION
========================================================= */

.kv-school-hero {
    width: 100%;
    padding: 85px 20px;
    background: #ffffff;
    overflow: hidden;
}

.kv-school-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* =========================================================
   MAIN TWO COLUMN GRID
========================================================= */

.kv-school-main-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(0, 1.05fr);

    gap: 65px;

    align-items: center;
}


/* =========================================================
   LEFT MEDIA COLUMN
========================================================= */

.kv-school-media-column {
    width: 100%;
    min-width: 0;
}


/* =========================================================
   VIDEO
========================================================= */

.kv-school-video-box {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #123047;

    border-radius: 16px;

    box-shadow:
        0 20px 45px rgba(18, 48, 71, 0.15);
}

.kv-school-video-box iframe {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    border: 0;
}


/* =========================================================
   TRUST AREA
========================================================= */

.kv-school-trust-area {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 25px;

    margin-top: 25px;

    padding: 5px 10px;
}


/* =========================================================
   BADGES
========================================================= */

.kv-school-badges {
    width: 220px;
    flex-shrink: 0;
}

.kv-school-badges img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}


/* =========================================================
   EXPERIENCE
========================================================= */

.kv-school-experience {
    display: flex;

    flex-direction: column;

    padding-left: 25px;

    border-left: 1px solid #d4dfe2;
}

.kv-school-experience strong {
    display: block;

    margin-bottom: 4px;

    font-size: 28px;

    line-height: 1.2;

    font-weight: 800;

    color:#077CEA;
}

.kv-school-experience span {
    font-size: 15px;

    line-height: 1.4;

    color: #60717b;
}


/* =========================================================
   RIGHT CONTENT COLUMN
========================================================= */

.kv-school-content {
    width: 100%;
    min-width: 0;
}


/* =========================================================
   CONTENT HEADING
========================================================= */

.kv-school-heading {
    margin-bottom: 28px;

    text-align: left;
}

.kv-school-heading h1 {
    margin: 0 0 15px;

    font-size: 44px;

    line-height: 1.1;

    font-weight: 800;

    letter-spacing: -0.5px;

    color:#000000;
    text-align: justify;
}

.kv-school-heading h2 {
    margin: 0;

    font-size: 24px;

    line-height: 1.45;

    font-weight: 700;
    text-align: justify;
    color:#077CEA;
}


/* =========================================================
   CONTENT TEXT
========================================================= */

.kv-school-content p {
    margin: 0 0 20px;

    font-size: 17px;
    text-align: justify;
    line-height: 1.78;

    color: #666;
}

.kv-school-content p:last-child {
    margin-bottom: 0;
}

.kv-school-content strong {
    font-weight: 700;

    color: #123047;
}


/* =========================================================
   SERVICE KEYWORD STRIP
========================================================= */

.kv-school-service-strip {
    margin-top: 55px;

    padding: 22px 28px;

    background: #ffffff;

    border-left: 5px solid #077CEA;

    border-radius: 9px;

    box-shadow:
        0 8px 28px rgba(0, 0, 0, 0.07);
}

.kv-school-service-strip p {
    margin: 0;

    font-size: 15px;

    line-height: 1.75;

    color: #077CEA;
}

.kv-school-service-strip strong {
    color:#077CEA;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-hero {
        padding: 75px 25px;
    }

    .kv-school-main-grid {
        gap: 50px;
    }

    .kv-school-heading h1 {
        font-size: 40px;
    }

    .kv-school-heading h2 {
        font-size: 22px;
    }

    .kv-school-content p {
        font-size: 16px;
    }

}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-hero {
        padding: 65px 22px;
    }

    .kv-school-main-grid {
        gap: 35px;
    }

    .kv-school-heading {
        margin-bottom: 25px;
    }

    .kv-school-heading h1 {
        font-size: 34px;
    }

    .kv-school-heading h2 {
        font-size: 20px;
    }

    .kv-school-content p {
        font-size: 15.5px;
        line-height: 1.7;
    }

    .kv-school-badges {
        width: 180px;
    }

    .kv-school-trust-area {
        gap: 15px;
    }

    .kv-school-experience {
        padding-left: 15px;
    }

    .kv-school-experience strong {
        font-size: 22px;
    }

    .kv-school-experience span {
        font-size: 13px;
    }

}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-hero {
        padding: 55px 18px 60px;
    }

    /* -----------------------------------------
       SINGLE COLUMN
    ----------------------------------------- */

    .kv-school-main-grid {
        grid-template-columns: 1fr;

        gap: 40px;
    }


    /* -----------------------------------------
       VIDEO
    ----------------------------------------- */

    .kv-school-media-column {
        order: 1;
    }

    .kv-school-video-box {
        border-radius: 12px;
    }


    /* -----------------------------------------
       TRUST
    ----------------------------------------- */

    .kv-school-trust-area {
        justify-content: flex-start;

        gap: 18px;

        margin-top: 20px;

        padding: 5px 0;
    }

    .kv-school-badges {
        width: 180px;
    }

    .kv-school-experience {
        padding-left: 18px;
    }

    .kv-school-experience strong {
        font-size: 21px;
    }

    .kv-school-experience span {
        font-size: 13px;
    }


    /* -----------------------------------------
       CONTENT
    ----------------------------------------- */

    .kv-school-content {
        order: 2;
    }

    .kv-school-heading {
        margin-bottom: 25px;
    }

    .kv-school-heading h1 {
        font-size: 34px;

        line-height: 1.15;
    }

    .kv-school-heading h2 {
        font-size: 21px;

        line-height: 1.45;
    }

    .kv-school-content p {
        font-size: 16px;

        line-height: 1.72;

        margin-bottom: 18px;
    }


    /* -----------------------------------------
       SERVICE STRIP
    ----------------------------------------- */

    .kv-school-service-strip {
        margin-top: 40px;

        padding: 19px 20px;

        border-left-width: 4px;
    }

    .kv-school-service-strip p {
        font-size: 14px;

        line-height: 1.7;
    }

}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-hero {
        padding: 45px 15px 50px;
    }

    .kv-school-heading {
        margin-bottom: 22px;
    }

    .kv-school-heading h1 {
        font-size: 30px;
    }

    .kv-school-heading h2 {
        font-size: 19px;
    }


    /* VIDEO */

    .kv-school-video-box {
        border-radius: 9px;
    }


    /* TRUST */

    .kv-school-trust-area {
        gap: 14px;
    }

    .kv-school-badges {
        width: 155px;
    }

    .kv-school-experience {
        padding-left: 14px;
    }

    .kv-school-experience strong {
        font-size: 19px;
    }

    .kv-school-experience span {
        font-size: 12px;
    }


    /* CONTENT */

    .kv-school-content p {
        font-size: 15.5px;

        line-height: 1.7;
    }


    /* SERVICE STRIP */

    .kv-school-service-strip {
        margin-top: 32px;

        padding: 17px;
    }

    .kv-school-service-strip p {
        font-size: 13.5px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   480px
========================================================= */

@media (max-width: 480px) {

    .kv-school-hero {
        padding-left: 13px;
        padding-right: 13px;
    }

    .kv-school-heading h1 {
        font-size: 27px;
    }

    .kv-school-heading h2 {
        font-size: 18px;
    }


    /* -----------------------------------------
       TRUST STACK
    ----------------------------------------- */

    .kv-school-trust-area {
        flex-direction: column;

        align-items: flex-start;

        gap: 10px;
    }

    .kv-school-badges {
        width: 165px;
    }

    .kv-school-experience {
        width: 100%;

        border-left: 0;

        border-top: 1px solid #d4dfe2;

        padding-left: 0;

        padding-top: 10px;
    }

    .kv-school-experience strong {
        font-size: 19px;
    }


    /* CONTENT */

    .kv-school-content p {
        font-size: 15px;

        line-height: 1.68;
    }


    /* SERVICE STRIP */

    .kv-school-service-strip {
        padding: 15px;
    }

    .kv-school-service-strip p {
        font-size: 13px;
    }

}


/* =========================================================
   EXTRA SMALL
   360px
========================================================= */

@media (max-width: 360px) {

    .kv-school-heading h1 {
        font-size: 25px;
    }

    .kv-school-heading h2 {
        font-size: 17px;
    }

    .kv-school-content p {
        font-size: 14.5px;
    }

    .kv-school-badges {
        width: 145px;
    }

}



/* =========================================================
   KV CLEANING GROUP
   SCHOOL OPERATIONS SECTION
========================================================= */

.kv-school-operation-section {
    width: 100%;
    padding: 40px 20px;
    background:#dcf0ff;
    overflow: hidden;
}

.kv-school-operation-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.kv-school-operation-intro {
    max-width: 900px;
    margin: 0 auto 55px;
    text-align: center;
}

.kv-school-operation-intro h2 {
    margin: 0 0 25px;

    font-size: 42px;
    line-height: 1.18;

    font-weight: 800;

    letter-spacing: -0.5px;
    text-align: justify;
    color: #123047;
}

.kv-school-operation-intro p {
    margin: 0 0 14px;
    text-align: justify;
    font-size: 17px;
    line-height: 1.75;

    color: #666;
}

.kv-school-operation-intro p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   SCHOOL RHYTHM AREA
========================================================= */

.kv-school-rhythm {
    position: relative;

    padding: 45px 40px 50px;

    background: #f4f9fa;

    border-radius: 18px;
    
    border: 1px solid #e1ebed;
}


/* =========================================================
   RHYTHM HEADING
========================================================= */

.kv-school-rhythm-heading {
    margin-bottom: 35px;
    
    text-align: center;
}

.kv-school-rhythm-label {
    display: inline-block;

    margin-bottom: 10px;

    font-size: 12px;
    line-height: 1;

    font-weight: 800;

    letter-spacing: 1.5px;

    color: #11467e;
}

.kv-school-rhythm-heading h3 {
    margin: 0;

    font-size: 27px;
    line-height: 1.3;

    font-weight: 800;

    color:#077CEA;
}


/* =========================================================
   RHYTHM LIST
========================================================= */

.kv-school-rhythm-list {
    display: flex;

    flex-direction: column;

    align-items: center;
}


/* =========================================================
   RHYTHM ITEM
========================================================= */

.kv-school-rhythm-item {
    display: flex;

    align-items: center;

    width: 100%;
    max-width: 520px;

    min-height: 62px;

    padding: 12px 22px;

    background: #ffffff;

    border: 1px solid #e2eaec;

    border-radius: 10px;

    box-shadow:
        0 5px 18px rgba(18, 48, 71, 0.05);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.kv-school-rhythm-item:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(18, 48, 71, 0.09);
}


/* =========================================================
   NUMBER
========================================================= */

.kv-school-rhythm-number {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    margin-right: 18px;

    flex-shrink: 0;

    border-radius: 50%;

    background:#077CEA;

    color: #ffffff;

    font-size: 12px;

    font-weight: 800;
}

.kv-school-rhythm-item strong {
    font-size: 16px;

    line-height: 1.4;

    font-weight: 700;

    color: #123047;
}


/* =========================================================
   ARROWS
========================================================= */

.kv-school-rhythm-arrow {
    height: 35px;

    display: flex;

    align-items: center;
    justify-content: center;

    font-size: 22px;

    line-height: 1;

    font-weight: 700;

    color: #16658f;
}


/* =========================================================
   CONTENT BELOW RHYTHM
========================================================= */

.kv-school-operation-content {
    max-width: 950px;

    margin: 50px auto 0;
}

.kv-school-operation-content > p {
    margin: 0 0 20px;

    font-size: 17px;

    line-height: 1.8;

    color: #666;
}

.kv-school-operation-content > p:last-of-type {
    margin-bottom: 0;
}

.kv-school-operation-content strong {
    font-weight: 700;

    color:#001930;
}


/* =========================================================
   OBJECTIVE BOX
========================================================= */

.kv-school-objective-box {
    position: relative;

    margin-top: 35px;

    padding: 28px 32px;

    background: #077CEA;

    border-radius: 12px;

    overflow: hidden;
}

.kv-school-objective-box::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 5px;

    background: #022444;
}

.kv-school-objective-label {
    margin-bottom: 10px;

    font-size: 14px;

    line-height: 1.4;

    font-weight: 700;

    color: #000000;
}

.kv-school-objective-box p {
    margin: 0;

    font-size: 18px;

    line-height: 1.65;

    color: #ffffff;
}

.kv-school-objective-box strong {
    color: #ffffff;
}


/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1200px) {

    .kv-school-operation-section {
        padding: 75px 25px;
    }

    .kv-school-operation-intro h2 {
        font-size: 38px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .kv-school-operation-section {
        padding: 65px 22px;
    }

    .kv-school-operation-intro {
        margin-bottom: 45px;
    }

    .kv-school-operation-intro h2 {
        font-size: 34px;
    }

    .kv-school-operation-intro p {
        font-size: 16px;
    }

    .kv-school-rhythm {
        padding: 40px 30px 45px;
    }

    .kv-school-rhythm-heading h3 {
        font-size: 25px;
    }

    .kv-school-operation-content > p {
        font-size: 16px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .kv-school-operation-section {
        padding: 55px 18px 60px;
    }

    /* INTRO */

    .kv-school-operation-intro {
        margin-bottom: 35px;

        text-align: left;
    }

    .kv-school-operation-intro h2 {
        margin-bottom: 20px;

        font-size: 31px;

        line-height: 1.2;
    }

    .kv-school-operation-intro p {
        font-size: 16px;

        line-height: 1.7;
    }


    /* RHYTHM */

    .kv-school-rhythm {
        padding: 32px 18px 38px;

        border-radius: 14px;
    }

    .kv-school-rhythm-heading {
        margin-bottom: 28px;
    }

    .kv-school-rhythm-heading h3 {
        font-size: 23px;
    }

    .kv-school-rhythm-item {
        max-width: 100%;

        min-height: 58px;

        padding: 10px 15px;
    }

    .kv-school-rhythm-number {
        width: 30px;
        height: 30px;

        margin-right: 13px;

        font-size: 11px;
    }

    .kv-school-rhythm-item strong {
        font-size: 15px;
    }


    /* CONTENT */

    .kv-school-operation-content {
        margin-top: 38px;
    }

    .kv-school-operation-content > p {
        font-size: 15.5px;

        line-height: 1.72;

        margin-bottom: 18px;
    }


    /* OBJECTIVE */

    .kv-school-objective-box {
        margin-top: 30px;

        padding: 24px 22px;
    }

    .kv-school-objective-label {
        font-size: 13px;
    }

    .kv-school-objective-box p {
        font-size: 16px;

        line-height: 1.65;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 576px) {

    .kv-school-operation-section {
        padding: 45px 15px 50px;
    }

    .kv-school-operation-intro h2 {
        font-size: 28px;
    }

    .kv-school-operation-intro p {
        font-size: 15.5px;
    }

    .kv-school-rhythm {
        padding: 28px 14px 32px;
    }

    .kv-school-rhythm-label {
        font-size: 11px;
    }

    .kv-school-rhythm-heading h3 {
        font-size: 21px;
    }

    .kv-school-rhythm-item strong {
        font-size: 14px;
    }

    .kv-school-rhythm-arrow {
        height: 30px;

        font-size: 20px;
    }

    .kv-school-operation-content > p {
        font-size: 15px;
    }

    .kv-school-objective-box {
        padding: 21px 18px;
    }

    .kv-school-objective-box p {
        font-size: 15px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .kv-school-operation-section {
        padding-left: 13px;
        padding-right: 13px;
    }

    .kv-school-operation-intro h2 {
        font-size: 25px;
    }

    .kv-school-rhythm-item {
        padding: 9px 12px;
    }

    .kv-school-rhythm-number {
        width: 28px;
        height: 28px;

        margin-right: 10px;
    }

    .kv-school-rhythm-item strong {
        font-size: 13.5px;
    }

}


/* =========================================================
   KV CLEANING GROUP
   WHAT IS SCHOOL CLEANING
========================================================= */

.kv-school-cleaning-section {
    width: 100%;
    padding: 95px 20px;

    background: #ffffff;

    overflow: hidden;
}

.kv-school-cleaning-container {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.kv-school-cleaning-header {
    max-width: 900px;

    margin: 0 auto 45px;

    text-align: center;
}

.kv-school-cleaning-eyebrow {
    display: inline-block;

    margin-bottom: 14px;

    font-size: 12px;

    line-height: 1;

    font-weight: 800;

    letter-spacing: 1.8px;

    color:#077CEA;
}

.kv-school-cleaning-header h2 {
    margin: 0 0 22px;

    font-size: 44px;

    line-height: 1.15;

    font-weight: 800;

    letter-spacing: -0.5px;

    color:#000000;
}

.kv-school-cleaning-header p {
    margin: 0;

    font-size: 17px;

    line-height: 1.8;
    
    color:#666;
}


/* =========================================================
   SERVICE INTRO
========================================================= */

.kv-school-cleaning-intro {
    margin-bottom: 25px;

    text-align: left;
}

.kv-school-cleaning-intro p {
    margin: 0;

    font-size: 18px;

    line-height: 1.7;

    font-weight: 600;

    color:#000000;
}

.kv-school-cleaning-intro strong {
    color: #000000;
}


/* =========================================================
   SERVICE GRID
========================================================= */

.kv-school-cleaning-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 14px;
}


/* =========================================================
   SERVICE CARD
========================================================= */

.kv-school-cleaning-card {
    display: flex;

    align-items: center;

    min-height: 72px;

    padding: 14px 18px;

    background: #f7fafb;

    border: 1px solid #e2eaec;

    border-radius: 10px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

.kv-school-cleaning-card:hover {
    transform: translateY(-3px);

    background: #ffffff;

    border-color: #cbdcde;

    box-shadow:
        0 10px 25px rgba(18, 48, 71, 0.08);
}


/* =========================================================
   NUMBER
========================================================= */

.kv-school-cleaning-card span {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    margin-right: 15px;

    flex-shrink: 0;

    border-radius: 50%;

    background:#077CEA;

    font-size: 10px;

    line-height: 1;

    font-weight: 800;

    color: #ffffff;
}


/* =========================================================
   CARD TEXT
========================================================= */

.kv-school-cleaning-card strong {
    font-size: 15px;

    line-height: 1.4;

    font-weight: 700;

    color: #000000;
}


/* =========================================================
   BOTTOM CONTENT
========================================================= */

.kv-school-cleaning-bottom {
    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    gap: 40px;

    align-items: center;

    margin-top: 45px;

    padding-top: 35px;

    border-top: 1px solid #e1e9eb;
}


/* =========================================================
   CUSTOMISED NOTE
========================================================= */

.kv-school-cleaning-note {
    display: flex;

    align-items: flex-start;

    gap: 15px;
}

.kv-school-cleaning-note-line {
    width: 4px;

    min-height: 55px;

    flex-shrink: 0;

    border-radius: 5px;

    background:#077CEA;
}

.kv-school-cleaning-note p {
    margin: 0;

    font-size: 17px;

    line-height: 1.65;

    font-weight: 700;

    color: #123047;
}


/* =========================================================
   FINAL TEXT
========================================================= */

.kv-school-cleaning-final {
    padding: 25px 28px;

    background: #f4f9fa;

    border-radius: 10px;
}

.kv-school-cleaning-final p {
    margin: 0;

    font-size: 16px;

    line-height: 1.75;

    color: #666;
}


/* =========================================================
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-cleaning-section {
        padding: 80px 25px;
    }

    .kv-school-cleaning-header h2 {
        font-size: 40px;
    }

}


/* =========================================================
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-cleaning-section {
        padding: 70px 22px;
    }

    .kv-school-cleaning-header h2 {
        font-size: 36px;
    }

    .kv-school-cleaning-header p {
        font-size: 16px;
    }

    .kv-school-cleaning-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .kv-school-cleaning-bottom {
        grid-template-columns: 1fr;

        gap: 20px;
    }

}


/* =========================================================
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-cleaning-section {
        padding: 55px 18px 60px;
    }


    /* HEADER */

    .kv-school-cleaning-header {
        margin-bottom: 35px;

        text-align: left;
    }

    .kv-school-cleaning-header h2 {
        margin-bottom: 18px;

        font-size: 31px;

        line-height: 1.2;
    }

    .kv-school-cleaning-header p {
        font-size: 16px;

        line-height: 1.7;
    }


    /* INTRO */

    .kv-school-cleaning-intro {
        margin-bottom: 22px;
    }

    .kv-school-cleaning-intro p {
        font-size: 16px;

        line-height: 1.65;
    }


    /* GRID */

    .kv-school-cleaning-grid {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .kv-school-cleaning-card {
        min-height: 62px;

        padding: 12px 15px;
    }

    .kv-school-cleaning-card span {
        width: 32px;
        height: 32px;

        margin-right: 13px;
    }

    .kv-school-cleaning-card strong {
        font-size: 15px;
    }


    /* BOTTOM */

    .kv-school-cleaning-bottom {
        margin-top: 35px;

        padding-top: 28px;
    }

    .kv-school-cleaning-note p {
        font-size: 16px;
    }

    .kv-school-cleaning-final {
        padding: 22px;
    }

    .kv-school-cleaning-final p {
        font-size: 15.5px;

        line-height: 1.7;
    }

}


/* =========================================================
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-cleaning-section {
        padding: 45px 15px 50px;
    }

    .kv-school-cleaning-header h2 {
        font-size: 28px;
    }

    .kv-school-cleaning-header p {
        font-size: 15.5px;
    }

    .kv-school-cleaning-intro p {
        font-size: 15.5px;
    }

    .kv-school-cleaning-card {
        min-height: 59px;

        padding: 11px 13px;
    }

    .kv-school-cleaning-card span {
        width: 30px;
        height: 30px;

        margin-right: 11px;
    }

    .kv-school-cleaning-card strong {
        font-size: 14px;
    }

    .kv-school-cleaning-note {
        gap: 12px;
    }

    .kv-school-cleaning-note-line {
        min-height: 50px;
    }

    .kv-school-cleaning-note p {
        font-size: 15px;
    }

    .kv-school-cleaning-final {
        padding: 19px;
    }

    .kv-school-cleaning-final p {
        font-size: 15px;
    }

}


/* =========================================================
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-school-cleaning-header h2 {
        font-size: 25px;
    }

    .kv-school-cleaning-card strong {
        font-size: 13.5px;
    }

    .kv-school-cleaning-card span {
        width: 28px;
        height: 28px;

        margin-right: 10px;
    }

}

/* =========================================================
   KV CLEANING
   SCHOOL CLEANING DIFFERENCE SECTION
========================================================= */

.kv-school-difference-section {
    width: 100%;
    padding: 40px 20px;

    background:#dcf0ff;

    overflow: hidden;
}

.kv-school-difference-container {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.kv-school-difference-heading {
    max-width: 850px;

    margin: 0 auto 50px;

    text-align: center;
}

.kv-school-difference-label {
    display: inline-block;

    margin-bottom: 15px;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.8px;

    color:#077CEA;
}

.kv-school-difference-heading h2 {
    margin: 0 0 20px;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 800;

    letter-spacing: -0.5px;

    color: #050a0e;
}

.kv-school-difference-heading p {
    margin: 0;

    font-size: 17px;
    line-height: 1.7;

    color:#666;
}


/* =========================================================
   CARDS GRID
========================================================= */

.kv-school-difference-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;
}


/* =========================================================
   DIFFERENCE CARD
========================================================= */

.kv-school-difference-card {
    display: flex;

    align-items: flex-start;

    gap: 20px;

    padding: 27px 25px;

    background: #ffffff;

    border: 1px solid #e1e9eb;

    border-radius: 14px;

    box-shadow:
        0 6px 20px rgba(18, 48, 71, 0.04);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.kv-school-difference-card:hover {
    transform: translateY(-4px);

    border-color:#077CEA;

    box-shadow:
        0 14px 30px rgba(18, 48, 71, 0.09);
}


/* =========================================================
   ICON
========================================================= */

.kv-school-difference-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    flex-shrink: 0;

    border-radius: 12px;

    background:#cee1f3;

    color:#077CEA;

    font-size: 23px;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.kv-school-difference-card:hover
.kv-school-difference-icon {
    background:#077CEA;

    color: #ffffff;

    transform: scale(1.05);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.kv-school-difference-card-content {
    min-width: 0;
}

.kv-school-difference-card-content h3 {
    margin: 2px 0 9px;

    font-size: 19px;

    line-height: 1.3;

    font-weight: 800;

    color: #000000;
}

.kv-school-difference-card-content p {
    margin: 0;

    font-size: 15px;

    line-height: 1.7;

    color: #52636d;
}


/* =========================================================
   FOOTER / FINAL CONTENT
========================================================= */

.kv-school-difference-footer {
    display: flex;

    align-items: flex-start;

    gap: 18px;

    max-width: 1000px;

    margin: 45px auto 0;

    padding: 28px 30px;

    background: #ffffff;

    border-radius: 12px;

    box-shadow:
        0 8px 25px rgba(18, 48, 71, 0.05);
}

.kv-school-difference-footer-line {
    width: 4px;

    min-height: 58px;

    flex-shrink: 0;

    border-radius: 5px;

    background:#077CEA;
}

.kv-school-difference-footer p {
    margin: 0;

    font-size: 16px;

    line-height: 1.75;

    color: #52636d;
}

.kv-school-difference-footer strong {
    font-weight: 800;

    color: #03090e;
}


/* =========================================================
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-difference-section {
        padding: 80px 25px;
    }

    .kv-school-difference-heading h2 {
        font-size: 39px;
    }

}


/* =========================================================
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-difference-section {
        padding: 70px 22px;
    }

    .kv-school-difference-heading {
        margin-bottom: 40px;
    }

    .kv-school-difference-heading h2 {
        font-size: 35px;
    }

    .kv-school-difference-card {
        padding: 23px 20px;

        gap: 16px;
    }

    .kv-school-difference-icon {
        width: 52px;
        height: 52px;

        font-size: 21px;
    }

    .kv-school-difference-card-content h3 {
        font-size: 18px;
    }

}


/* =========================================================
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-difference-section {
        padding: 55px 18px 60px;
    }


    /* HEADING */

    .kv-school-difference-heading {
        margin-bottom: 35px;

        text-align: left;
    }

    .kv-school-difference-heading h2 {
        font-size: 31px;

        line-height: 1.25;
    }

    .kv-school-difference-heading p {
        font-size: 16px;
    }


    /* CARDS */

    .kv-school-difference-grid {
        grid-template-columns: 1fr;

        gap: 13px;
    }

    .kv-school-difference-card {
        padding: 22px 19px;

        border-radius: 12px;
    }

    .kv-school-difference-icon {
        width: 50px;
        height: 50px;

        border-radius: 10px;

        font-size: 20px;
    }

    .kv-school-difference-card-content h3 {
        font-size: 18px;

        margin-bottom: 7px;
    }

    .kv-school-difference-card-content p {
        font-size: 15px;

        line-height: 1.65;
    }


    /* FOOTER */

    .kv-school-difference-footer {
        margin-top: 32px;

        padding: 22px;

        gap: 14px;
    }

    .kv-school-difference-footer p {
        font-size: 15px;

        line-height: 1.7;
    }

}


/* =========================================================
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-difference-section {
        padding: 45px 15px 50px;
    }

    .kv-school-difference-heading h2 {
        font-size: 28px;
    }

    .kv-school-difference-heading p {
        font-size: 15.5px;
    }

    .kv-school-difference-card {
        gap: 14px;

        padding: 19px 16px;
    }

    .kv-school-difference-icon {
        width: 46px;
        height: 46px;

        font-size: 18px;
    }

    .kv-school-difference-card-content h3 {
        font-size: 17px;
    }

    .kv-school-difference-card-content p {
        font-size: 14.5px;
    }

    .kv-school-difference-footer {
        padding: 19px;
    }

    .kv-school-difference-footer p {
        font-size: 14.5px;
    }

}


/* =========================================================
   400px
========================================================= */

@media (max-width: 400px) {

    .kv-school-difference-heading h2 {
        font-size: 25px;
    }

    .kv-school-difference-card {
        padding: 17px 14px;
    }

    .kv-school-difference-icon {
        width: 43px;
        height: 43px;

        font-size: 17px;
    }

    .kv-school-difference-card-content h3 {
        font-size: 16px;
    }

    .kv-school-difference-card-content p {
        font-size: 14px;
    }

}



/* =========================================================
   KV CLEANING
   OUR SCHOOL CLEANING PHILOSOPHY
========================================================= */

.kv-school-philosophy-section {
    width: 100%;
    padding: 95px 20px;

    background: #ffffff;

    overflow: hidden;
}

.kv-school-philosophy-container {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.kv-school-philosophy-heading {
    max-width: 850px;

    margin: 0 auto 55px;

    text-align: center;
}

.kv-school-philosophy-label {
    display: inline-block;

    margin-bottom: 14px;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.8px;

    color:#077CEA;
}

.kv-school-philosophy-heading h2 {
    margin: 0 0 20px;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 800;

    letter-spacing: -0.5px;

    color:#000000;
}

.kv-school-philosophy-heading p {
    margin: 0;

    font-size: 17px;
    line-height: 1.75;

    color: #354149;
}


/* =========================================================
   PHILOSOPHY GRID
========================================================= */

.kv-school-philosophy-grid {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 15px;

    position: relative;
}


/* =========================================================
   CARD
========================================================= */

.kv-school-philosophy-card {
    position: relative;

    min-height: 315px;

    padding: 25px 20px 23px;

    background: #f7fafb;

    border: 1px solid #e1e9eb;

    border-radius: 14px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}

.kv-school-philosophy-card:hover {
    transform: translateY(-6px);

    background: #ffffff;

    border-color:#077CEA;

    box-shadow:
        0 15px 35px rgba(18, 48, 71, 0.09);
}


/* =========================================================
   NUMBER
========================================================= */

.kv-school-philosophy-number {
    position: absolute;

    top: 17px;
    right: 18px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    color: #b7c8cc;
}


/* =========================================================
   ICON
========================================================= */

.kv-school-philosophy-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin-bottom: 22px;

    border-radius: 12px;

    background:#c8def3;

    color:#077CEA;

    font-size: 23px;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.kv-school-philosophy-card:hover
.kv-school-philosophy-icon {
    background:#077CEA;

    color: #ffffff;

    transform: scale(1.05);
}


/* =========================================================
   TITLE
========================================================= */

.kv-school-philosophy-card h3 {
    margin: 0 0 12px;

    font-size: 21px;

    line-height: 1.3;

    font-weight: 800;

    color: #000000;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.kv-school-philosophy-card p {
    margin: 0;

    font-size: 14px;

    line-height: 1.7;

    color: #5f747f;
}


/* =========================================================
   CONNECTING LINE
========================================================= */

.kv-school-philosophy-grid::before {
    content: "";

    position: absolute;

    top: 54px;
    left: 7%;

    width: 86%;
    height: 1px;

    background: #d5e2e4;

    z-index: 0;

    pointer-events: none;
}

.kv-school-philosophy-card {
    z-index: 1;
}


/* =========================================================
   FINAL RESULT
========================================================= */

.kv-school-philosophy-result {
    display: flex;

    align-items: center;

    gap: 20px;

    max-width: 900px;

    margin: 50px auto 0;

    padding: 25px 30px;

    background:#e3eaf0;

    border-radius: 12px;

    border-left: 4px solid #077CEA;
}

.kv-school-philosophy-result-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    border-radius: 50%;

    background:#077CEA;

    color: #ffffff;

    font-size: 19px;
}

.kv-school-philosophy-result p {
    margin: 0;

    font-size: 16px;

    line-height: 1.7;

    font-weight: 700;

    color:#000000;
}


/* =========================================================
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-philosophy-section {
        padding: 80px 25px;
    }

    .kv-school-philosophy-heading h2 {
        font-size: 39px;
    }

    .kv-school-philosophy-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .kv-school-philosophy-grid::before {
        display: none;
    }

}


/* =========================================================
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-philosophy-section {
        padding: 70px 22px;
    }

    .kv-school-philosophy-heading {
        margin-bottom: 40px;
    }

    .kv-school-philosophy-heading h2 {
        font-size: 35px;
    }

    .kv-school-philosophy-card {
        min-height: 285px;

        padding: 23px 20px;
    }

    .kv-school-philosophy-icon {
        width: 52px;
        height: 52px;

        font-size: 21px;
    }

    .kv-school-philosophy-card h3 {
        font-size: 19px;
    }

}


/* =========================================================
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-philosophy-section {
        padding: 55px 18px 60px;
    }


    /* HEADING */

    .kv-school-philosophy-heading {
        margin-bottom: 35px;

        text-align: left;
    }

    .kv-school-philosophy-heading h2 {
        font-size: 31px;

        line-height: 1.25;
    }

    .kv-school-philosophy-heading p {
        font-size: 16px;
    }


    /* GRID */

    .kv-school-philosophy-grid {
        grid-template-columns: 1fr;

        gap: 13px;
    }


    /* CARD */

    .kv-school-philosophy-card {
        min-height: auto;

        padding: 22px 20px;
    }

    .kv-school-philosophy-icon {
        width: 50px;
        height: 50px;

        margin-bottom: 17px;

        border-radius: 10px;

        font-size: 20px;
    }

    .kv-school-philosophy-card h3 {
        font-size: 19px;
    }

    .kv-school-philosophy-card p {
        font-size: 15px;

        line-height: 1.65;
    }


    /* RESULT */

    .kv-school-philosophy-result {
        margin-top: 32px;

        padding: 22px;

        gap: 15px;
    }

    .kv-school-philosophy-result p {
        font-size: 15px;
    }

}


/* =========================================================
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-philosophy-section {
        padding: 45px 15px 50px;
    }

    .kv-school-philosophy-heading h2 {
        font-size: 28px;
    }

    .kv-school-philosophy-heading p {
        font-size: 15.5px;
    }

    .kv-school-philosophy-card {
        padding: 19px 17px;
    }

    .kv-school-philosophy-icon {
        width: 46px;
        height: 46px;

        font-size: 18px;
    }

    .kv-school-philosophy-card h3 {
        font-size: 18px;
    }

    .kv-school-philosophy-card p {
        font-size: 14.5px;
    }

    .kv-school-philosophy-result {
        padding: 19px;
    }

    .kv-school-philosophy-result-icon {
        width: 43px;
        height: 43px;

        font-size: 17px;
    }

    .kv-school-philosophy-result p {
        font-size: 14.5px;
    }

}


/* =========================================================
   400px
========================================================= */

@media (max-width: 400px) {

    .kv-school-philosophy-heading h2 {
        font-size: 25px;
    }

    .kv-school-philosophy-card {
        padding: 17px 15px;
    }

    .kv-school-philosophy-card h3 {
        font-size: 17px;
    }

    .kv-school-philosophy-card p {
        font-size: 14px;
    }

}


/* =========================================================
   KV CLEANING
   SCHOOL CLEANING SERVICES SYDNEY
========================================================= */

.kv-school-services {
    width: 100%;
    padding: 40px 20px;
    background: #dcf0ff;
    overflow: hidden;
}

.kv-school-services-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}


/* =========================================================
   SECTION INTRO
========================================================= */

.kv-school-services-intro {
    max-width: 900px;
    margin: 0 auto 65px;
    text-align: center;
}

.kv-school-services-label {
    display: inline-block;
    margin-bottom: 14px;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;

    color: #077CEA;
}

.kv-school-services-intro h2 {
    margin: 0 0 22px;

    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;

    color: #000000;
}

.kv-school-services-intro p {
    margin: 0;

    font-size: 17px;
    line-height: 1.8;

    color: #666;
}

.kv-school-services-intro strong {
    color: #000000;
}


/* =========================================================
   CLASSROOM FEATURE SECTION
   ORIGINAL DESIGN - NOT CHANGED
========================================================= */

.kv-school-classroom-section {
    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(300px, 0.65fr);

    gap: 55px;

    align-items: center;

    margin-bottom: 70px;

    padding: 48px;

    background: #ffffff;

    border-radius: 18px;

    border: 1px solid #e1eaed;

    box-shadow:
        0 18px 50px rgba(20, 55, 70, 0.07);
}


/* =========================================================
   CLASSROOM CONTENT
   ORIGINAL DESIGN - NOT CHANGED
========================================================= */

.kv-school-classroom-content {
    min-width: 0;
}

.kv-school-classroom-content h3 {
    margin: 0 0 18px;

    font-size: 32px;
    line-height: 1.25;
    font-weight: 800;

    color: #000000;
}

.kv-school-classroom-content p {
    margin: 0 0 20px;

    font-size: 16px;
    line-height: 1.75;

    color: #666;
}


/* =========================================================
   CLEANING LIST
   ORIGINAL CLASSROOM DESIGN
========================================================= */

.kv-school-cleaning-list {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px 25px;

    margin: 20px 0 25px;

    padding: 0;

    list-style: none;
}

.kv-school-cleaning-list li {
    position: relative;

    padding-left: 25px;

    font-size: 15px;
    line-height: 1.55;

    color: #405563;
}

.kv-school-cleaning-list li::before {
    content: "✓";

    position: absolute;

    left: 0;
    top: 0;

    font-size: 14px;
    font-weight: 800;

    color: #077CEA;
}


/* =========================================================
   CLASSROOM HIGHLIGHT
   ORIGINAL DESIGN - NOT CHANGED
========================================================= */

.kv-school-classroom-highlight {
    display: flex;

    align-items: center;

    gap: 18px;

    padding: 30px;

    min-height: 180px;

    background: #077CEA;

    border-radius: 15px;
}

.kv-school-highlight-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    flex-shrink: 0;
 
    border-radius: 50%;

    background: #ffffff;
}


.kv-school-highlight-icon span {
    font-size: 25px;
    font-weight: 800;

    color: #077CEA;
}

.kv-school-classroom-highlight strong {
    display: block;

    margin-bottom: 8px;

    font-size: 20px;
    line-height: 1.3;

    color: #ffffff;
}

.kv-school-classroom-highlight span {
    display: block;

    font-size: 14px;
    line-height: 1.65;

    color: #000000;
}
.kv-school-classroom-highlight > div:last-child > span {
    color:#eeeded;
}
/* =========================================================
   SCHOOL TYPE CARDS
========================================================= */

.kv-school-types {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 25px;
}

.kv-school-type-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 35px 30px;

    background: #ffffff;

    border: 1px solid #e0eaed;

    border-radius: 16px;

    box-shadow:
        0 10px 35px rgba(20, 55, 70, 0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-school-type-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(20, 55, 70, 0.11);
}


/* =========================================================
   CARD ICON
========================================================= */

.kv-school-card-top {
    display: flex;

    align-items: center;

    margin-bottom: 22px;
}

.kv-school-card-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 12px;

    background: #e6f1fb;
}

.kv-school-card-icon span {
    font-size: 18px;
    font-weight: 800;

    color: #077CEA;
}


/* =========================================================
   CARD HEADING
========================================================= */

.kv-school-type-card h3 {
    margin: 0 0 16px;

    font-size: 25px;
    line-height: 1.3;
    font-weight: 800;

    color: #030506;
}


/* =========================================================
   CARD PARAGRAPHS
========================================================= */

.kv-school-type-card p {
    margin: 0 0 18px;

    font-size: 15px;
    line-height: 1.72;

    text-align: justify;

    color: #666;
}

.kv-school-type-card p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   PRIMARY & SECONDARY SCHOOL LIST
   ONE-BY-ONE VERTICAL LAYOUT
========================================================= */

.kv-school-type-card .kv-school-cleaning-list {
    display: flex;

    flex-direction: column;

    gap: 10px;

    margin: 20px 0 25px;

    padding: 0;

    list-style: none;
}

.kv-school-type-card .kv-school-cleaning-list li {
    position: relative;

    display: block;

    width: 100%;

    box-sizing: border-box;

    padding: 11px 15px 11px 38px;

    font-size: 15px;
    line-height: 1.55;

    color: #666;

    background: #f7fbff;

    border: 1px solid #e1edf5;

    border-radius: 8px;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.kv-school-type-card .kv-school-cleaning-list li::before {
    content: "✓";

    position: absolute;

    left: 12px;
    top: 50%;

    transform: translateY(-50%);

    display: flex;

    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    border-radius: 50%;

    background: #077CEA;

    color: #ffffff;

    font-size: 10px;
    font-weight: 800;
}

.kv-school-type-card .kv-school-cleaning-list li:hover {
    background: #eef8ff;

    border-color: #8cc2f5;

    transform: translateX(3px);
}


/* =========================================================
   CAMPUS ZONES
   ORIGINAL DESIGN - NOT CHANGED
========================================================= */

.kv-school-zone-list {
    display: grid;

    grid-template-columns: 1fr;

    gap: 12px;

    margin: 20px 0 22px;
}

.kv-school-zone-item {
    padding: 14px 16px;

    background: #eff9fc;

    border-left: 3px solid #077CEA;

    border-radius: 7px;
}

.kv-school-zone-item strong {
    display: block;

    margin-bottom: 4px;

    font-size: 14px;
    line-height: 1.35;

    color: #000000;
}

.kv-school-zone-item span {
    display: block;

    font-size: 13px;
    line-height: 1.55;

    color: #60717b;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-services {
        padding: 75px 25px;
    }

    .kv-school-classroom-section {
        gap: 40px;

        padding: 40px;
    }

    .kv-school-types {
        gap: 20px;
    }

    .kv-school-type-card {
        padding: 30px 25px;
    }
}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-services {
        padding: 65px 22px;
    }

    .kv-school-services-intro {
        margin-bottom: 50px;
    }

    .kv-school-services-intro h2 {
        font-size: 38px;
    }


    /* CLASSROOM - ORIGINAL RESPONSIVE DESIGN */

    .kv-school-classroom-section {
        grid-template-columns: 1fr;

        gap: 30px;

        padding: 35px;

        margin-bottom: 50px;
    }

    .kv-school-classroom-highlight {
        min-height: auto;
    }


    /* SCHOOL TYPE CARDS */

    .kv-school-types {
        grid-template-columns: 1fr 1fr;
    }

    .kv-school-type-card:last-child {
        grid-column: 1 / -1;
    }
}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-services {
        padding: 55px 18px 60px;
    }

    .kv-school-services-intro {
        margin-bottom: 40px;
    }

    .kv-school-services-label {
        font-size: 12px;
    }

    .kv-school-services-intro h2 {
        font-size: 32px;

        line-height: 1.2;
    }

    .kv-school-services-intro p {
        font-size: 16px;

        line-height: 1.7;
    }


    /* =====================================================
       CLASSROOM
       ORIGINAL DESIGN
    ===================================================== */

    .kv-school-classroom-section {
        padding: 28px 24px;

        gap: 28px;

        border-radius: 13px;
    }

    .kv-school-classroom-content h3 {
        font-size: 27px;
    }

    .kv-school-classroom-content p {
        font-size: 15px;
    }


    /*
       IMPORTANT:
       Classroom list remains original responsive design.
       It becomes one column only on mobile.
    */

    .kv-school-cleaning-list {
        grid-template-columns: 1fr;

        gap: 9px;
    }

    .kv-school-classroom-highlight {
        padding: 24px;
    }


    /* =====================================================
       SCHOOL TYPE CARDS
    ===================================================== */

    .kv-school-types {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .kv-school-type-card:last-child {
        grid-column: auto;
    }

    .kv-school-type-card {
        padding: 28px 24px;
    }

    .kv-school-type-card h3 {
        font-size: 23px;
    }


    /* =====================================================
       PRIMARY & SECONDARY LISTS
       REMAIN ONE-BY-ONE
    ===================================================== */

    .kv-school-type-card .kv-school-cleaning-list {
        display: flex;

        flex-direction: column;

        gap: 9px;
    }

    .kv-school-type-card .kv-school-cleaning-list li {
        width: 100%;

        padding: 10px 12px 10px 36px;

        font-size: 14px;
    }
}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-services {
        padding: 45px 15px 50px;
    }

    .kv-school-services-intro h2 {
        font-size: 29px;
    }

    .kv-school-services-intro p {
        font-size: 15px;
    }


    /* =====================================================
       CLASSROOM
       ORIGINAL DESIGN
    ===================================================== */

    .kv-school-classroom-section {
        padding: 25px 20px;
    }

    .kv-school-classroom-content h3 {
        font-size: 25px;
    }

    .kv-school-classroom-highlight {
        align-items: flex-start;

        padding: 20px;

        gap: 14px;
    }

    .kv-school-highlight-icon {
        width: 48px;
        height: 48px;
    }

    .kv-school-highlight-icon span {
        font-size: 21px;
    }

    .kv-school-classroom-highlight strong {
        font-size: 17px;
    }

    .kv-school-classroom-highlight span {
        font-size: 13px;
    }


    /* =====================================================
       SCHOOL TYPE CARDS
    ===================================================== */

    .kv-school-type-card {
        padding: 24px 20px;
    }

    .kv-school-type-card h3 {
        font-size: 22px;
    }

    .kv-school-type-card p {
        font-size: 14.5px;
    }


    /* =====================================================
       PRIMARY & SECONDARY LISTS
    ===================================================== */

    .kv-school-type-card .kv-school-cleaning-list {
        gap: 8px;
    }

    .kv-school-type-card .kv-school-cleaning-list li {
        padding: 10px 10px 10px 34px;

        font-size: 14px;
    }


    /* =====================================================
       CAMPUS ZONES
    ===================================================== */

    .kv-school-zone-item {
        padding: 13px 14px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-school-services {
        padding-left: 12px;
        padding-right: 12px;
    }

    .kv-school-services-intro h2 {
        font-size: 26px;
    }

    .kv-school-classroom-section {
        padding: 22px 17px;
    }

    .kv-school-type-card {
        padding: 22px 17px;
    }

    .kv-school-cleaning-list li {
        font-size: 13.5px;
    }
}


/* =========================================================
   KV CLEANING
   CLASSROOM CLEANING CHECKLIST
========================================================= */

.kv-classroom-cleaning {
    width: 100%;
    padding: 90px 20px;
    background: #f7fafb;
}

.kv-classroom-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.kv-classroom-heading {
    max-width: 850px;
    margin-bottom: 45px;
}

.kv-classroom-label {
    display: inline-block;

    margin-bottom: 14px;

    padding: 7px 15px;

    background: #e7f2f1;

    border-radius: 50px;

    font-size: 12px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 1px;

    color: #0c5149;
}

.kv-classroom-heading h2 {
    margin: 0 0 18px;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 800;

    color: #123047;
}

.kv-classroom-heading p {
    margin: 0;

    font-size: 18px;
    line-height: 1.7;

    color: #52646e;
}


/* =========================================================
   BEFORE / AFTER IMAGE
========================================================= */

.kv-before-after {
    width: 100%;

    margin-bottom: 55px;

    overflow: hidden;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.10);
}

.kv-before-after-item {
    position: relative;

    width: 100%;

    overflow: hidden;
}

.kv-before-after-item img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 16 / 7;

    object-fit: cover;
}


/* =========================================================
   BEFORE / AFTER LABELS
========================================================= */

.kv-before-after-item::before {
    content: "BEFORE";

    position: absolute;

    top: 20px;
    left: 20px;

    z-index: 2;

    padding: 8px 14px;

    background: rgba(18, 48, 71, 0.90);

    border-radius: 5px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    color: #ffffff;
}

.kv-before-after-item::after {
    content: "AFTER";

    position: absolute;

    top: 20px;
    right: 20px;

    z-index: 2;

    padding: 8px 14px;

    background: rgba(12, 81, 73, 0.92);

    border-radius: 5px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    color: #ffffff;
}


/* =========================================================
   CLEANING CONTENT GRID
========================================================= */

.kv-cleaning-content-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 30px;

    margin-bottom: 35px;
}


/* =========================================================
   CLEANING CARD
========================================================= */

.kv-cleaning-card {
    display: flex;

    gap: 22px;

    padding: 32px;

    background: #ffffff;

    border: 1px solid #e3eaed;

    border-radius: 14px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.05);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-cleaning-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 16px 35px rgba(0, 0, 0, 0.09);
}


/* =========================================================
   ICON
========================================================= */

.kv-cleaning-card-icon {
    width: 44px;
    height: 44px;

    min-width: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #e7f2f1;

    border-radius: 50%;
}

.kv-cleaning-card-icon span {
    font-size: 20px;

    font-weight: 800;

    color: #0c5149;
}


/* =========================================================
   CARD CONTENT
========================================================= */

.kv-cleaning-card-content {
    flex: 1;

    min-width: 0;
}

.kv-cleaning-card-content h3 {
    margin: 3px 0 20px;

    font-size: 25px;

    line-height: 1.3;

    font-weight: 800;

    color: #123047;
}


/* =========================================================
   LIST
========================================================= */

.kv-cleaning-card-content ul {
    margin: 0;

    padding: 0;

    list-style: none;
}

.kv-cleaning-card-content li {
    position: relative;

    margin-bottom: 12px;

    padding-left: 22px;

    font-size: 16px;

    line-height: 1.55;

    color: #52646e;
}

.kv-cleaning-card-content li:last-child {
    margin-bottom: 0;
}

.kv-cleaning-card-content li::before {
    content: "✓";

    position: absolute;

    left: 0;
    top: 1px;

    font-size: 14px;

    font-weight: 800;

    color: #0c5149;
}


/* =========================================================
   FINAL NOTE
========================================================= */

.kv-classroom-note {
    padding: 22px 28px;

    background: #ffffff;

    border-left: 4px solid #0c5149;

    border-radius: 8px;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.05);
}

.kv-classroom-note p {
    margin: 0;

    font-size: 16px;

    line-height: 1.7;

    color: #465866;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-classroom-cleaning {
        padding: 75px 25px;
    }

    .kv-classroom-heading h2 {
        font-size: 38px;
    }

}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-classroom-cleaning {
        padding: 65px 22px;
    }

    .kv-classroom-heading {
        margin-bottom: 35px;
    }

    .kv-classroom-heading h2 {
        font-size: 34px;
    }

    .kv-classroom-heading p {
        font-size: 17px;
    }

    .kv-before-after {
        margin-bottom: 40px;
    }

    .kv-cleaning-content-grid {
        gap: 22px;
    }

    .kv-cleaning-card {
        padding: 26px;
    }

    .kv-cleaning-card-content h3 {
        font-size: 22px;
    }

}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-classroom-cleaning {
        padding: 55px 18px 60px;
    }


    /* HEADING */

    .kv-classroom-heading {
        margin-bottom: 30px;
    }

    .kv-classroom-heading h2 {
        font-size: 30px;

        line-height: 1.25;
    }

    .kv-classroom-heading p {
        font-size: 16px;

        line-height: 1.65;
    }


    /* BEFORE / AFTER */

    .kv-before-after {
        margin-bottom: 35px;

        border-radius: 12px;
    }

    .kv-before-after-item img {
        aspect-ratio: 16 / 9;
    }

    .kv-before-after-item::before,
    .kv-before-after-item::after {
        top: 12px;

        padding: 6px 10px;

        font-size: 10px;
    }

    .kv-before-after-item::before {
        left: 12px;
    }

    .kv-before-after-item::after {
        right: 12px;
    }


    /* CARDS */

    .kv-cleaning-content-grid {
        grid-template-columns: 1fr;

        gap: 20px;

        margin-bottom: 28px;
    }

    .kv-cleaning-card {
        padding: 25px 22px;

        gap: 17px;
    }

    .kv-cleaning-card-icon {
        width: 40px;
        height: 40px;

        min-width: 40px;
    }

    .kv-cleaning-card-icon span {
        font-size: 18px;
    }

    .kv-cleaning-card-content h3 {
        margin-bottom: 16px;

        font-size: 21px;
    }

    .kv-cleaning-card-content li {
        font-size: 15px;

        margin-bottom: 10px;
    }


    /* NOTE */

    .kv-classroom-note {
        padding: 19px 20px;
    }

    .kv-classroom-note p {
        font-size: 15px;

        line-height: 1.65;
    }

}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-classroom-cleaning {
        padding: 48px 15px 52px;
    }

    .kv-classroom-label {
        font-size: 10px;

        padding: 6px 12px;
    }

    .kv-classroom-heading h2 {
        font-size: 27px;
    }

    .kv-classroom-heading p {
        font-size: 15px;
    }

    .kv-before-after-item img {
        aspect-ratio: 4 / 3;
    }

    .kv-cleaning-card {
        padding: 22px 18px;

        gap: 14px;
    }

    .kv-cleaning-card-content h3 {
        font-size: 20px;
    }

    .kv-cleaning-card-content li {
        font-size: 14.5px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   400px
========================================================= */

@media (max-width: 400px) {

    .kv-classroom-cleaning {
        padding-left: 13px;
        padding-right: 13px;
    }

    .kv-classroom-heading h2 {
        font-size: 25px;
    }

    .kv-before-after-item img {
        aspect-ratio: 1 / 1;
    }

    .kv-before-after-item::before,
    .kv-before-after-item::after {
        font-size: 9px;

        padding: 5px 8px;
    }

    .kv-cleaning-card {
        padding: 20px 16px;
    }

    .kv-cleaning-card-icon {
        width: 36px;
        height: 36px;

        min-width: 36px;
    }

    .kv-cleaning-card-icon span {
        font-size: 16px;
    }

    .kv-cleaning-card-content h3 {
        font-size: 19px;
    }

    .kv-cleaning-card-content li {
        font-size: 14px;

        padding-left: 19px;
    }

    .kv-classroom-note p {
        font-size: 14px;
    }

}


/* =========================================================
   KV CLEANING
   CLASSROOM CLEANING CHECKLIST
   BEFORE / AFTER SECTION
========================================================= */

.kv-classroom-section {
    width: 100%;
    padding: 90px 20px;
    background: #ffffff;
    overflow: hidden;
}

.kv-classroom-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.kv-classroom-heading {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.kv-classroom-label {
    display: inline-block;

    margin-bottom: 12px;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 1.5px;
    border: 1px solid #077CEA;
    border-radius:15px;
    padding: 10px 15px;
    background-color: #077CEA;
    color:white;
}

.kv-classroom-heading h2 {
    margin: 0 0 18px;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 800;

    color: #000000;
}

.kv-classroom-heading p {
    margin: 0;

    font-size: 18px;
    line-height: 1.7;

    color:#666;
}


/* =========================================================
   BEFORE / AFTER OUTER WRAPPER
========================================================= */

.kv-before-after-wrapper {
    width: 100%;
    max-width: 1050px;

    margin: 0 auto 55px;
}


/* =========================================================
   SLIDER
========================================================= */

.kv-before-after-slider {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    border-radius: 18px;

    background: #e8edef;

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.14);

    cursor: ew-resize;

    user-select: none;
}


/* =========================================================
   BOTH IMAGES
========================================================= */

.kv-before-after-slider img {
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    pointer-events: none;
}


/* =========================================================
   AFTER IMAGE
========================================================= */

.kv-after-image {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;
}

.kv-after-image img {
    width: 100%;
    height: 100%;
}


/* =========================================================
   BEFORE IMAGE
========================================================= */

.kv-before-image {
    position: absolute;

    top: 0;
    left: 0;

    width: 50%;
    height: 100%;

    overflow: hidden;

    z-index: 2;
}

.kv-before-image img {
    position: absolute;

    top: 0;
    left: 0;

    width: 100vw;
    max-width: none;

    height: 100%;

    object-fit: cover;
}


/* =========================================================
   LABELS
========================================================= */

.kv-before-label,
.kv-after-label {
    position: absolute;

    top: 20px;

    z-index: 5;

    padding: 9px 18px;

    border-radius: 50px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    color: #000000;

    background:#8cc2f5;

    backdrop-filter: blur(5px);
}

.kv-before-label {
    left: 20px;
}

.kv-after-label {
    right: 20px;
}


/* =========================================================
   DIVIDER
========================================================= */

.kv-slider-divider {
    position: absolute;

    top: 0;
    bottom: 0;

    left: 50%;

    width: 3px;

    z-index: 10;

    background: #ffffff;

    transform: translateX(-50%);

    box-shadow:
        0 0 8px rgba(0, 0, 0, 0.25);

    pointer-events: none;
}


/* =========================================================
   SLIDER BUTTON
========================================================= */

.kv-slider-button {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 58px;
    height: 58px;

    padding: 0;

    border: 3px solid #ffffff;

    border-radius: 50%;

    background:#077CEA;

    color: #ffffff;

    transform: translate(-50%, -50%);

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 5px;

    box-shadow:
        0 5px 18px rgba(0, 0, 0, 0.25);

    pointer-events: none;
}

.kv-slider-button span {
    font-size: 26px;

    line-height: 1;

    font-weight: 400;
}


/* =========================================================
   CLEANING CONTENT
========================================================= */

.kv-classroom-content {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 30px;

    max-width: 1000px;

    margin: 0 auto;
}


/* =========================================================
   CLEANING BLOCK
========================================================= */

.kv-cleaning-block {
    padding: 32px;

    background: #eff7fa;

    border: 1px solid #e2eaed;

    border-radius: 14px;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-cleaning-block:hover {
    transform: translateY(-4px);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   BLOCK HEADING
========================================================= */

.kv-cleaning-block h3 {
    margin: 0 0 22px;

    font-size: 24px;

    line-height: 1.3;

    font-weight: 800;

    color: #000000;
}


/* =========================================================
   LIST
========================================================= */

.kv-cleaning-block ul {
    margin: 0;

    padding: 0;

    list-style: none;
}

.kv-cleaning-block li {
    position: relative;

    margin-bottom: 13px;

    padding-left: 27px;

    font-size: 16px;

    line-height: 1.6;

    color:#666;
}

.kv-cleaning-block li:last-child {
    margin-bottom: 0;
}


/* =========================================================
   CHECK ICON
========================================================= */

.kv-cleaning-block li::before {
    content: "✓";

    position: absolute;

    left: 0;
    top: 1px;

    font-size: 16px;

    font-weight: 800;

    color:#077CEA;
}


/* =========================================================
   FINAL NOTE
========================================================= */

.kv-classroom-note {
    max-width: 1000px;

    margin: 28px auto 0;

    padding: 20px 25px;

    background: #ffffff;

    border-left: 4px solid #077CEA;

    border-radius: 8px;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.06);
}

.kv-classroom-note p {
    margin: 0;

    font-size: 16px;

    line-height: 1.7;

    color:black;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .kv-classroom-section {
        padding: 70px 20px;
    }

    .kv-classroom-heading h2 {
        font-size: 36px;
    }

    .kv-classroom-heading p {
        font-size: 17px;
    }

    .kv-before-after-wrapper {
        margin-bottom: 45px;
    }

    .kv-classroom-content {
        gap: 22px;
    }

    .kv-cleaning-block {
        padding: 27px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .kv-classroom-section {
        padding: 60px 18px;
    }


    /* HEADING */

    .kv-classroom-heading {
        margin-bottom: 32px;
    }

    .kv-classroom-heading h2 {
        font-size: 31px;

        line-height: 1.25;
    }

    .kv-classroom-heading p {
        font-size: 16px;

        line-height: 1.65;
    }


    /* SLIDER */

    .kv-before-after-wrapper {
        margin-bottom: 38px;
    }

    .kv-before-after-slider {
        aspect-ratio: 4 / 3;

        border-radius: 12px;
    }


    /* LABELS */

    .kv-before-label,
    .kv-after-label {
        top: 13px;

        padding: 7px 12px;

        font-size: 10px;
    }

    .kv-before-label {
        left: 13px;
    }

    .kv-after-label {
        right: 13px;
    }


    /* BUTTON */

    .kv-slider-button {
        width: 48px;
        height: 48px;
    }

    .kv-slider-button span {
        font-size: 22px;
    }


    /* CONTENT */

    .kv-classroom-content {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .kv-cleaning-block {
        padding: 25px 22px;
    }

    .kv-cleaning-block h3 {
        font-size: 22px;
    }

    .kv-cleaning-block li {
        font-size: 15px;
    }


    /* NOTE */

    .kv-classroom-note {
        padding: 18px 20px;
    }

    .kv-classroom-note p {
        font-size: 15px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .kv-classroom-section {
        padding: 50px 15px;
    }

    .kv-classroom-heading h2 {
        font-size: 27px;
    }

    .kv-classroom-heading p {
        font-size: 15px;
    }

    .kv-before-after-slider {
        aspect-ratio: 1 / 1;
    }

    .kv-before-label,
    .kv-after-label {
        font-size: 9px;

        padding: 6px 10px;
    }

    .kv-slider-button {
        width: 44px;
        height: 44px;
    }

    .kv-cleaning-block {
        padding: 22px 18px;
    }

    .kv-cleaning-block h3 {
        font-size: 20px;
    }

    .kv-cleaning-block li {
        font-size: 14px;

        padding-left: 24px;
    }

}


/* =========================================
   HIGH-TOUCH SURFACE CLEANING
   ========================================= */

.high-touch-cleaning {
    width: 100%;
    padding: 40px 20px;
    background:#dcf0ff;
    font-family: Arial, Helvetica, sans-serif;
}

.high-touch-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

/* Header */

.high-touch-header {
    text-align: center;
    margin-bottom: 45px;
}

.section-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 16px;
    border-radius: 50px;
    background:#077CEA;
    color: #fdfeff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

.high-touch-header h2 {
    margin: 0;
    color: #000000;
    font-size: 38px;
    line-height: 1.25;
    font-weight: 700;
}

.heading-line {
    width: 65px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 10px;
    background: #077CEA;
}

/* Main Content */

.high-touch-content {
    max-width: 1050px;
    margin: 0 auto;
}

.high-touch-content > p {
    margin: 0 0 28px;
    color: #666;
    font-size: 18px;
    line-height: 1.8;
}

/* Surface List */

.surface-list {
    margin: 30px 0;
    padding: 28px 35px;
    background: #ffffff;
    border-left: 5px solid #077CEA;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(7, 124, 234, 0.08);
}

.surface-list ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 45px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.surface-list li {
    position: relative;
    padding-left: 30px;
    color: #666;
    font-size: 17px;
    line-height: 1.6;
}

.surface-list li::before {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #077CEA;
    box-shadow: 0 0 0 5px #e5f2fd;
}

/* Guidance Box */

.guidance-box {
    position: relative;
    margin: 35px 0;
    padding: 28px 32px;
    background: #eef7ff;
    border: 1px solid #8cc2f5;
    border-radius: 12px;
}

.guidance-box::before {
    content: "“";
    position: absolute;
    top: 5px;
    left: 20px;
    color: #8cc2f5;
    font-size: 55px;
    font-weight: 700;
    line-height: 1;
}

.guidance-box p {
    margin: 0;
    padding-left: 25px;
    color: #666;
    font-size: 17px;
    line-height: 1.8;
    text-align: justify;
}

.guidance-box a {
    color: #077CEA;
    font-weight: 700;
    text-decoration: underline;
}

.guidance-box a:hover {
    color: #055fae;
}

/* Final Paragraph */

.high-touch-content .final-paragraph {
    margin-top: 30px;
    margin-bottom: 0;
    padding: 22px 25px;
    background: #ffffff;
    border-radius: 10px;
    border-left: 4px solid #077CEA;
    text-align: justify;
}

/* =========================================
   TABLET
   ========================================= */

@media (max-width: 768px) {

    .high-touch-cleaning {
        padding: 60px 18px;
    }

    .high-touch-header {
        margin-bottom: 35px;
    }

    .high-touch-header h2 {
        font-size: 30px;
    }

    .high-touch-content > p {
        font-size: 17px;
        line-height: 1.7;
    }

    .surface-list {
        padding: 25px;
    }

    .surface-list ul {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .surface-list li {
        font-size: 16px;
    }

    .guidance-box {
        padding: 25px;
    }

    .guidance-box p {
        padding-left: 20px;
        font-size: 16px;
    }
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 480px) {

    .high-touch-cleaning {
        padding: 45px 15px;
    }

    .section-label {
        font-size: 11px;
        padding: 6px 13px;
    }

    .high-touch-header h2 {
        font-size: 25px;
        line-height: 1.35;
    }

    .heading-line {
        width: 50px;
        height: 3px;
    }

    .high-touch-content > p {
        font-size: 16px;
        line-height: 1.7;
    }

    .surface-list {
        margin: 25px 0;
        padding: 20px 18px;
        border-left-width: 4px;
    }

    .surface-list ul {
        gap: 12px;
    }

    .surface-list li {
        padding-left: 25px;
        font-size: 15px;
    }

    .surface-list li::before {
        width: 8px;
        height: 8px;
        top: 8px;
        box-shadow: 0 0 0 4px #e5f2fd;
    }

    .guidance-box {
        margin: 25px 0;
        padding: 22px 18px;
    }

    .guidance-box::before {
        left: 12px;
        font-size: 45px;
    }

    .guidance-box p {
        padding-left: 18px;
        font-size: 15px;
        line-height: 1.7;
    }

    .high-touch-content .final-paragraph {
        padding: 18px;
    }
}


/* =========================================
   HOW WE PRIORITISE HIGH-TOUCH AREAS
   ========================================= */

.priority-areas-section {
    width: 100%;
    padding: 80px 20px;
    background: #ffffff;
   
}

.priority-areas-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

/* =========================================
   HEADER
   ========================================= */

.priority-areas-header {
    text-align: center;
    margin-bottom: 40px;
}

.priority-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 16px;
    border-radius: 50px;
    background:#077CEA;
    color: #fcfcfc;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

.priority-areas-header h2 {
    margin: 0;
    color: #000000;
    font-size: 38px;
    line-height: 1.25;
    font-weight: 700;
}

.priority-heading-line {
    width: 65px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 10px;
    background: #077CEA;
}

/* =========================================
   INTRO
   ========================================= */

.priority-intro {
    max-width: 1000px;
    margin: 0 auto 35px;
    text-align: center;
}

.priority-intro p {
    margin: 0 0 10px;
    color:#666;
    font-size: 18px;
    line-height: 1.8;
}

.priority-intro p:last-child {
    margin-bottom: 0;
    color:black;
    font-weight: 600;
}

/* =========================================
   PRIORITY GRID
   ========================================= */

.priority-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    max-width: 1050px;
    margin: 0 auto;
}

/* =========================================
   PRIORITY CARD
   ========================================= */

.priority-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 28px;
    background: #f7fbff;
    border: 1px solid #077CEA;
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.priority-card:hover {
    transform: translateY(-5px);
    border-color: #8cc2f5;
    box-shadow: 0 12px 30px rgba(7, 124, 234, 0.12);
}

/* Number */

.priority-number {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    border-radius:30px;
    background: #077CEA;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
}

/* Card Content */

.priority-card-content h3 {
    margin: 2px 0 8px;
    color: #077CEA;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 700;
}

.priority-card-content p {
    margin: 0;
    color: #666;
    font-size: 16px;
    line-height: 1.7;
}

/* =========================================
   FIFTH CARD
   ========================================= */

.priority-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 11px);
    width: 100%;
    justify-self: center;
}

/* =========================================
   CONCLUSION
   ========================================= */

.priority-conclusion {
    max-width:700px;
    margin: 35px auto 0;
    padding: 24px 30px;
    text-align: center;
    background: #eef7ff;
    border: 1px solid #8cc2f5;
    border-radius: 12px;
}

.priority-conclusion p {
    margin: 0;
    color: #666;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 500;
}

/* =========================================
   TABLET
   ========================================= */

@media (max-width: 768px) {

    .priority-areas-section {
        padding: 60px 18px;
    }

    .priority-areas-header {
        margin-bottom: 32px;
    }

    .priority-areas-header h2 {
        font-size: 30px;
    }

    .priority-intro p {
        font-size: 17px;
        line-height: 1.7;
    }

    .priority-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .priority-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .priority-card {
        padding: 24px;
    }

    .priority-card-content h3 {
        font-size: 19px;
    }

    .priority-card-content p {
        font-size: 16px;
    }

    .priority-conclusion {
        padding: 22px 24px;
    }

    .priority-conclusion p {
        font-size: 17px;
    }
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 480px) {

    .priority-areas-section {
        padding: 45px 15px;
    }

    .priority-label {
        padding: 6px 13px;
        font-size: 11px;
    }

    .priority-areas-header h2 {
        font-size: 25px;
        line-height: 1.35;
    }

    .priority-heading-line {
        width: 50px;
        height: 3px;
        margin-top: 15px;
    }

    .priority-intro {
        margin-bottom: 28px;
    }

    .priority-intro p {
        font-size: 16px;
        line-height: 1.7;
    }

    .priority-grid {
        gap: 15px;
    }

    .priority-card {
        gap: 16px;
        padding: 20px;
        border-radius: 11px;
    }

    .priority-number {
        width: 45px;
        height: 45px;
        border-radius: 9px;
        font-size: 13px;
    }

    .priority-card-content h3 {
        margin-top: 0;
        font-size: 18px;
    }

    .priority-card-content p {
        font-size: 15px;
        line-height: 1.6;
    }

    .priority-conclusion {
        margin-top: 25px;
        padding: 18px;
        border-radius: 10px;
    }

    .priority-conclusion p {
        font-size: 15px;
        line-height: 1.6;
    }
}


/* =========================================================
   KV CLEANING
   SCHOOL FACILITY CLEANING
========================================================= */

.kv-school-facilities {
    width: 100%;
    padding: 40px 20px;

    background:#dcf0ff;

    overflow: hidden;
}

.kv-school-facilities-container {
    width: 100%;
    max-width: 1100px;

    margin: 0 auto;
}


/* =========================================================
   SERVICE ITEM
========================================================= */

.kv-school-facility-item {
    display: grid;

    grid-template-columns: 90px minmax(0, 1fr);

    gap: 30px;

    position: relative;

    padding: 42px 45px;

    margin-bottom: 25px;

    background: #ffffff;

    border: 1px solid #e1edf5;

    border-radius: 18px;

    box-shadow: 0 8px 30px rgba(20, 55, 70, 0.05);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.kv-school-facility-item:last-child {
    margin-bottom: 0;
}

.kv-school-facility-item:hover {
    transform: translateY(-4px);

    border-color: #8cc2f5;

    box-shadow: 0 15px 40px rgba(20, 55, 70, 0.09);
}


/* =========================================================
   NUMBER
========================================================= */

.kv-school-facility-number {
    display: flex;

    align-items: flex-start;
    justify-content: center;

    width: 64px;
    height: 64px;

    padding-top: 17px;

    box-sizing: border-box;

    border-radius: 15px;

    background: #eaf5fd;

    color: #077CEA;

    font-size: 16px;
    font-weight: 800;

    letter-spacing: 0.5px;
}


/* =========================================================
   CONTENT
========================================================= */

.kv-school-facility-content {
    min-width: 0;
}


/* =========================================================
   HEADING
========================================================= */

.kv-school-facility-content h2 {
    margin: 0 0 20px;

    font-size: 29px;
    line-height: 1.25;

    font-weight: 800;

    color: #000000;
}


/* =========================================================
   HEADING ACCENT
========================================================= */

.kv-school-facility-content h2::after {
    content: "";

    display: block;

    width: 45px;
    height: 3px;

    margin-top: 11px;

    background: #077CEA;

    border-radius: 10px;
}


/* =========================================================
   PARAGRAPHS
========================================================= */

.kv-school-facility-content p {
    margin: 0 0 18px;

    font-size: 16px;
    line-height: 1.8;

    color: #666;
}

.kv-school-facility-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   LIST
========================================================= */

.kv-school-facility-content ul {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 9px 25px;

    margin: 8px 0 23px;

    padding: 0;

    list-style: none;
}


/* =========================================================
   LIST ITEM
========================================================= */

.kv-school-facility-content li {
    position: relative;

    padding: 9px 12px 9px 31px;

    font-size: 14.5px;
    line-height: 1.55;

    color: #666;

    background: #f8fbfd;

    border: 1px solid #e8f0f5;

    border-radius: 7px;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.kv-school-facility-content li::before {
    content: "✓";

    position: absolute;

    left: 10px;
    top: 50%;

    transform: translateY(-50%);

    color: #077CEA;

    font-size: 12px;
    font-weight: 800;
}

.kv-school-facility-content li:hover {
    background: #eef8ff;

    border-color: #8cc2f5;

    transform: translateX(3px);
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-facilities {
        padding: 65px 25px;
    }

    .kv-school-facility-item {
        padding: 38px 35px;

        grid-template-columns: 75px minmax(0, 1fr);

        gap: 25px;
    }

    .kv-school-facility-number {
        width: 58px;
        height: 58px;

        padding-top: 15px;
    }

    .kv-school-facility-content h2 {
        font-size: 27px;
    }
}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-facilities {
        padding: 60px 22px;
    }

    .kv-school-facility-item {
        grid-template-columns: 65px minmax(0, 1fr);

        gap: 22px;

        padding: 32px 28px;
    }

    .kv-school-facility-number {
        width: 54px;
        height: 54px;

        padding-top: 14px;

        font-size: 14px;
    }

    .kv-school-facility-content h2 {
        font-size: 25px;
    }

    .kv-school-facility-content p {
        font-size: 15px;
    }

    .kv-school-facility-content ul {
        gap: 8px 18px;
    }
}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-facilities {
        padding: 50px 18px 55px;
    }

    .kv-school-facility-item {
        display: block;

        padding: 28px 24px;

        margin-bottom: 18px;

        border-radius: 15px;
    }

    .kv-school-facility-number {
        width: 48px;
        height: 48px;

        padding-top: 13px;

        margin-bottom: 20px;

        border-radius: 12px;

        font-size: 13px;
    }

    .kv-school-facility-content h2 {
        font-size: 24px;

        line-height: 1.3;
    }

    .kv-school-facility-content h2::after {
        width: 38px;

        margin-top: 9px;
    }

    .kv-school-facility-content p {
        font-size: 15px;

        line-height: 1.7;
    }

    .kv-school-facility-content ul {
        grid-template-columns: 1fr;

        gap: 8px;

        margin-bottom: 21px;
    }

    .kv-school-facility-content li {
        padding: 9px 10px 9px 30px;

        font-size: 14px;
    }
}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-facilities {
        padding: 45px 15px 50px;
    }

    .kv-school-facility-item {
        padding: 25px 20px;
    }

    .kv-school-facility-number {
        width: 45px;
        height: 45px;

        padding-top: 12px;

        margin-bottom: 17px;
    }

    .kv-school-facility-content h2 {
        font-size: 22px;
    }

    .kv-school-facility-content p {
        font-size: 14.5px;

        line-height: 1.7;
    }

    .kv-school-facility-content li {
        padding: 9px 9px 9px 29px;

        font-size: 13.5px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-school-facilities {
        padding-left: 12px;
        padding-right: 12px;
    }

    .kv-school-facility-item {
        padding: 22px 17px;
    }

    .kv-school-facility-content h2 {
        font-size: 20px;
    }

    .kv-school-facility-content p {
        font-size: 14px;
    }

    .kv-school-facility-content li {
        font-size: 13px;
    }
}


/* =========================================================
   KV CLEANING
   SCHOOL CLEANING DURING TERM TIME
========================================================= */

.kv-term-cleaning {
    width: 100%;
    padding: 80px 20px;

    background: #ffffff;

    overflow: hidden;
}

.kv-term-cleaning-container {
    width: 100%;
    max-width: 1240px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.1fr);

    gap: 65px;

    align-items: center;
}


/* =========================================================
   IMAGE
========================================================= */

.kv-term-cleaning-image {
    position: relative;

    min-width: 0;

    border-radius: 22px;

    overflow: hidden;

    background: #eaf5fd;

    box-shadow:
        0 20px 55px rgba(20, 55, 70, 0.12);
}

.kv-term-cleaning-image img {
    display: block;

    width: 100%;

    height: 620px;

    object-fit: cover;

    object-position: center;

    transition: transform 0.5s ease;
}

.kv-term-cleaning-image:hover img {
    transform: scale(1.03);
}


/* =========================================================
   IMAGE BADGE
========================================================= */

.kv-term-cleaning-image-badge {
    position: absolute;

    left: 25px;
    right: 25px;
    bottom: 25px;

    display: flex;

    align-items: center;

    gap: 14px;

    padding: 18px 20px;

    background: rgba(255, 255, 255, 0.96);

    border-radius: 14px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.12);

    backdrop-filter: blur(5px);
}

.kv-term-cleaning-badge-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #077CEA;

    color: #ffffff;

    font-size: 18px;
    font-weight: 800;
}

.kv-term-cleaning-image-badge strong {
    display: block;

    margin-bottom: 3px;

    font-size: 16px;
    line-height: 1.3;

    color: #000000;
}

.kv-term-cleaning-image-badge span:last-child {
    display: block;

    font-size: 13px;
    line-height: 1.5;

    color: #666;
}


/* =========================================================
   CONTENT
========================================================= */

.kv-term-cleaning-content {
    min-width: 0;
}


/* =========================================================
   LABEL
========================================================= */

.kv-term-cleaning-label {
    display: inline-block;

    margin-bottom: 13px;
    border: 1px solid #077CEA;
    border-radius:15px;
    font-size: 13px;
    line-height: 1.4;

    font-weight: 800;
    padding: 10px 15px;
    letter-spacing: 1.5px;
    background-color: #077CEA;
    color: #fefefe;
}


/* =========================================================
   HEADING
========================================================= */

.kv-term-cleaning-content h2 {
    margin: 0 0 22px;

    font-size: 42px;
    line-height: 1.18;

    font-weight: 800;

    color: #000000;
}


/* =========================================================
   INTRO
========================================================= */

.kv-term-cleaning-intro {
    margin: 0 0 25px;

    font-size: 17px;
    line-height: 1.8;

    color:#666;
}


/* =========================================================
   CLEANING FLOW
========================================================= */

.kv-term-cleaning-flow {
    width: 100%;

    margin: 0 0 25px;
}


/* =========================================================
   FLOW STEP
========================================================= */

.kv-term-cleaning-step {
    display: flex;

    align-items: center;

    gap: 15px;

    min-height: 54px;

    padding: 10px 16px;

    background: #f7fbff;

    border: 1px solid #e2eef7;

    border-radius: 10px;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.kv-term-cleaning-step:hover {
    background: #eef8ff;

    border-color: #8cc2f5;

    transform: translateX(5px);
}


/* =========================================================
   STEP NUMBER
========================================================= */

.kv-term-cleaning-step-number {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    flex-shrink: 0;

    border-radius: 8px;

    background: #e1f1fc;

    color: #077CEA;

    font-size: 11px;
    font-weight: 800;
}


/* =========================================================
   STEP TEXT
========================================================= */

.kv-term-cleaning-step strong {
    font-size: 15px;
    line-height: 1.4;

    font-weight: 700;

    color: #000000;
}


/* =========================================================
   ARROW
========================================================= */

.kv-term-cleaning-arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    height: 22px;

    color: #077CEA;

    font-size: 20px;
    line-height: 1;

    font-weight: 700;
}


/* =========================================================
   FINAL TEXT
========================================================= */

.kv-term-cleaning-final {
    margin: 0;

    padding: 18px 20px;

    background: #077CEA;

    border-radius: 11px;

    font-size: 15px;
    line-height: 1.7;

    color: #ffffff;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-term-cleaning {
        padding: 70px 25px;
    }

    .kv-term-cleaning-container {
        gap: 45px;
    }

    .kv-term-cleaning-image img {
        height: 570px;
    }

    .kv-term-cleaning-content h2 {
        font-size: 37px;
    }

}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-term-cleaning {
        padding: 65px 22px;
    }

    .kv-term-cleaning-container {
        grid-template-columns: 1fr;

        gap: 45px;

        max-width: 850px;
    }

    .kv-term-cleaning-image img {
        height: 460px;
    }

    .kv-term-cleaning-content h2 {
        font-size: 36px;
    }

}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-term-cleaning {
        padding: 55px 18px 60px;
    }

    .kv-term-cleaning-container {
        gap: 35px;
    }

    .kv-term-cleaning-image {
        border-radius: 17px;
    }

    .kv-term-cleaning-image img {
        height: 380px;
    }

    .kv-term-cleaning-image-badge {
        left: 15px;
        right: 15px;
        bottom: 15px;

        padding: 14px 15px;

        gap: 11px;
    }

    .kv-term-cleaning-badge-icon {
        width: 38px;
        height: 38px;

        font-size: 16px;
    }

    .kv-term-cleaning-image-badge strong {
        font-size: 14px;
    }

    .kv-term-cleaning-image-badge span:last-child {
        font-size: 12px;
    }

    .kv-term-cleaning-label {
        font-size: 12px;
    }

    .kv-term-cleaning-content h2 {
        font-size: 32px;
        line-height: 1.2;

        margin-bottom: 18px;
    }

    .kv-term-cleaning-intro {
        font-size: 15px;

        line-height: 1.7;
    }

    .kv-term-cleaning-step {
        min-height: 50px;

        padding: 9px 13px;
    }

    .kv-term-cleaning-step strong {
        font-size: 14px;
    }

    .kv-term-cleaning-final {
        padding: 16px 17px;

        font-size: 14px;
    }

}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-term-cleaning {
        padding: 45px 15px 50px;
    }

    .kv-term-cleaning-container {
        gap: 30px;
    }

    .kv-term-cleaning-image img {
        height: 320px;
    }

    .kv-term-cleaning-content h2 {
        font-size: 28px;
    }

    .kv-term-cleaning-intro {
        font-size: 14.5px;
    }

    .kv-term-cleaning-step {
        gap: 12px;

        padding: 8px 11px;
    }

    .kv-term-cleaning-step-number {
        width: 29px;
        height: 29px;

        font-size: 10px;
    }

    .kv-term-cleaning-step strong {
        font-size: 13.5px;
    }

    .kv-term-cleaning-arrow {
        height: 19px;

        font-size: 18px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-term-cleaning {
        padding-left: 12px;
        padding-right: 12px;
    }

    .kv-term-cleaning-image img {
        height: 280px;
    }

    .kv-term-cleaning-content h2 {
        font-size: 25px;
    }

    .kv-term-cleaning-step strong {
        font-size: 13px;
    }

    .kv-term-cleaning-final {
        font-size: 13.5px;
    }

}


/* =========================================================
   KV CLEANING
   SCHOOL CLEANING DURING SCHOOL HOLIDAYS
========================================================= */

.kv-holiday-cleaning {
    width: 100%;
    padding: 85px 20px;

    background:#dcf0ff;

    overflow: hidden;
}

.kv-holiday-container {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.kv-holiday-header {
    display: grid;

    grid-template-columns: 1fr 0.8fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 55px;

    padding-bottom: 30px;

    border-bottom: 1px solid #dfeaf2;
}

.kv-holiday-heading-wrap {
    min-width: 0;
}

.kv-holiday-label {
    display: inline-block;
    border: 1px solid #077CEA;
    border-radius:15px;
    background-color: #077CEA;
    margin-bottom: 14px;

    font-size: 13px;
    line-height: 1.4;

    font-weight: 800;
    padding: 10px 15px;
    letter-spacing: 1.6px;

    color:white;
}

.kv-holiday-header h2 {
    margin: 0;

    font-size: 44px;
    line-height: 1.15;

    font-weight: 800;

    color: #000000;
}

.kv-holiday-header > p {
    margin: 0;

    font-size: 17px;
    line-height: 1.8;

    color:#666;
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.kv-holiday-content {
    display: grid;

    grid-template-columns:
        minmax(280px, 0.75fr)
        minmax(0, 1.25fr);

    gap: 65px;

    align-items: start;
}


/* =========================================================
   LEFT SIDE
========================================================= */

.kv-holiday-side {
    position: sticky;

    top: 30px;

    padding: 35px;

    background: #077CEA;

    border-radius: 20px;

    overflow: hidden;
}

.kv-holiday-side-number {
    margin-bottom: 35px;

    font-size: 48px;
    line-height: 1;

    font-weight: 800;

    color: rgba(255, 255, 255, 0.25);
}

.kv-holiday-side-label {
    display: block;

    margin-bottom: 13px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.4px;

    color: #ffffff;
}

.kv-holiday-side h3 {
    position: relative;
    z-index: 1;

    margin: 0;

    font-size: 28px;
    line-height: 1.3;

    font-weight: 800;

    color: #ffffff;
}

.kv-holiday-line {
    width: 55px;
    height: 3px;

    margin: 25px 0;

    background: #8cc2f5;

    border-radius: 5px;
}

.kv-holiday-side p {
    position: relative;
    z-index: 1;

    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #e8f5ff;
}


/* =========================================================
   TIMELINE
========================================================= */

.kv-holiday-timeline {
    position: relative;

    padding-left: 48px;
}

.kv-holiday-timeline::before {
    content: "";

    position: absolute;

    top: 20px;
    bottom: 20px;

    left: 19px;

    width: 2px;

    background: #d9ebf8;
}


/* =========================================================
   TIMELINE ITEM
========================================================= */

.kv-holiday-timeline-item {
    position: relative;

    display: flex;

    align-items: center;

    min-height: 68px;

    margin-bottom: 14px;

    padding: 10px 20px;

    background: #f8fbfe;

    border: 1px solid #e2edf4;

    border-radius: 12px;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.kv-holiday-timeline-item:last-child {
    margin-bottom: 0;
}

.kv-holiday-timeline-item:hover {
    transform: translateX(6px);

    background: #ffffff;

    border-color: #8cc2f5;

    box-shadow:
        0 10px 25px rgba(20, 55, 70, 0.08);
}


/* =========================================================
   TIMELINE NUMBER
========================================================= */

.kv-holiday-number {
    position: absolute;

    left: -48px;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background: #ffffff;

    border: 2px solid #8cc2f5;

    color: #077CEA;

    font-size: 11px;

    font-weight: 800;

    box-shadow:
        0 0 0 5px #ffffff;
}


/* =========================================================
   ITEM TEXT
========================================================= */

.kv-holiday-timeline-item strong {
    font-size: 15px;
    line-height: 1.5;

    font-weight: 700;

    color: #000000;
}


/* =========================================================
   FINAL STATEMENT
========================================================= */

.kv-holiday-final {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 45px;

    padding: 25px 30px;

    background: #eaf6ff;

    border-left: 4px solid #077CEA;

    border-radius: 12px;
}

.kv-holiday-final-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #077CEA;

    color: #ffffff;

    font-size: 18px;

    font-weight: 800;
}

.kv-holiday-final strong {
    display: block;

    margin-bottom: 5px;

    font-size: 16px;

    color: #000000;
}

.kv-holiday-final p {
    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: #666;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-holiday-cleaning {
        padding: 75px 25px;
    }

    .kv-holiday-header {
        gap: 40px;
    }

    .kv-holiday-header h2 {
        font-size: 40px;
    }

    .kv-holiday-content {
        gap: 45px;
    }

}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-holiday-cleaning {
        padding: 65px 22px;
    }

    .kv-holiday-header {
        grid-template-columns: 1fr;

        gap: 20px;

        margin-bottom: 40px;
    }

    .kv-holiday-header h2 {
        font-size: 37px;
    }

    .kv-holiday-header > p {
        max-width: 750px;
    }

    .kv-holiday-content {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .kv-holiday-side {
        position: relative;
        top: auto;
    }

    .kv-holiday-side-number {
        margin-bottom: 20px;
    }

    .kv-holiday-side h3 {
        max-width: 500px;
    }

}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-holiday-cleaning {
        padding: 55px 18px 60px;
    }

    .kv-holiday-label {
        font-size: 12px;
    }

    .kv-holiday-header {
        margin-bottom: 32px;
        padding-bottom: 24px;
    }

    .kv-holiday-header h2 {
        font-size: 32px;
        line-height: 1.2;
    }

    .kv-holiday-header > p {
        font-size: 15px;
        line-height: 1.7;
    }

    .kv-holiday-content {
        gap: 30px;
    }

    .kv-holiday-side {
        padding: 28px 25px;

        border-radius: 16px;
    }

    .kv-holiday-side-number {
        font-size: 40px;
    }

    .kv-holiday-side h3 {
        font-size: 24px;
    }

    .kv-holiday-side p {
        font-size: 14px;
    }

    .kv-holiday-timeline {
        padding-left: 42px;
    }

    .kv-holiday-timeline::before {
        left: 16px;
    }

    .kv-holiday-number {
        left: -42px;

        width: 35px;
        height: 35px;

        font-size: 10px;
    }

    .kv-holiday-timeline-item {
        min-height: 58px;

        padding: 10px 15px;
    }

    .kv-holiday-timeline-item strong {
        font-size: 14px;
    }

    .kv-holiday-final {
        align-items: flex-start;

        margin-top: 32px;

        padding: 20px;
    }

    .kv-holiday-final-icon {
        width: 40px;
        height: 40px;

        font-size: 15px;
    }

    .kv-holiday-final p {
        font-size: 13.5px;
    }

}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-holiday-cleaning {
        padding: 45px 15px 50px;
    }

    .kv-holiday-header h2 {
        font-size: 28px;
    }

    .kv-holiday-side {
        padding: 25px 20px;
    }

    .kv-holiday-side-number {
        font-size: 36px;
    }

    .kv-holiday-side h3 {
        font-size: 22px;
    }

    .kv-holiday-timeline {
        padding-left: 38px;
    }

    .kv-holiday-timeline::before {
        left: 14px;
    }

    .kv-holiday-number {
        left: -38px;

        width: 32px;
        height: 32px;
    }

    .kv-holiday-timeline-item {
        padding: 9px 13px;
    }

    .kv-holiday-timeline-item strong {
        font-size: 13.5px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-holiday-cleaning {
        padding-left: 12px;
        padding-right: 12px;
    }

    .kv-holiday-header h2 {
        font-size: 25px;
    }

    .kv-holiday-side h3 {
        font-size: 20px;
    }

    .kv-holiday-timeline-item strong {
        font-size: 13px;
    }

    .kv-holiday-final {
        padding: 17px;
    }

}


/* =========================================================
   KV CLEANING
   SCHOOL CLEANING AROUND THE SCHOOL SCHEDULE
   ALTERNATIVE DESIGN
========================================================= */

.kv-school-schedule-alt {
    width: 100%;
    padding: 90px 20px;

    background: #ffffff;

    overflow: hidden;
}

.kv-school-schedule-alt-container {
    width: 100%;
    max-width: 1240px;

    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.kv-school-schedule-alt-header {
    max-width: 850px;

    margin: 0 auto 50px;

    text-align: center;
}

.kv-school-schedule-alt-label {
    display: inline-block;

    margin-bottom: 14px;

    font-size: 13px;
    line-height: 1.4;

    font-weight: 800;

    letter-spacing: 1.6px;
    border:1px solid #077CEA;
    border-radius:15px;
    padding: 10px 15px;
    background-color:#077CEA;
    color:white;
}

.kv-school-schedule-alt-header h2 {
    margin: 0 0 20px;

    font-size: 44px;
    line-height: 1.15;

    font-weight: 800;

    color: #000000;
}

.kv-school-schedule-alt-header p {
    margin: 0;

    font-size: 17px;
    line-height: 1.8;

    color: #666;
}


/* =========================================================
   INTRO STRIP
========================================================= */

.kv-school-schedule-alt-intro {
    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 25px;

    padding: 0 5px;
}

.kv-school-schedule-alt-intro-mark {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #077CEA;

    color: #ffffff;

    font-size: 11px;

    font-weight: 800;
}

.kv-school-schedule-alt-intro strong {
    font-size: 18px;

    color: #000000;
}


/* =========================================================
   SCHEDULE GRID
========================================================= */

.kv-school-schedule-alt-grid {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 14px;

    align-items: stretch;
}


/* =========================================================
   SCHEDULE CARD
========================================================= */

.kv-school-schedule-alt-card {
    position: relative;

    display: flex;

    flex-direction: column;

    min-height: 290px;

    padding: 30px 22px;

    background: #f7fbff;

    border: 1px solid #e1edf5;

    border-radius: 16px;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.kv-school-schedule-alt-card::after {
    content: "";

    position: absolute;

    right: -35px;
    bottom: -35px;

    width: 100px;
    height: 100px;

    border-radius: 50%;

    background: #e8f4fc;

    transition: transform 0.3s ease;
}

.kv-school-schedule-alt-card:hover {
    transform: translateY(-8px);

    border-color: #8cc2f5;

    box-shadow:
        0 18px 40px rgba(20, 55, 70, 0.10);
}

.kv-school-schedule-alt-card:hover::after {
    transform: scale(1.3);
}


/* =========================================================
   CARD NUMBER
========================================================= */

.kv-school-schedule-alt-number {
    position: absolute;

    top: 18px;
    right: 18px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    color: #8cc2f5;
}


/* =========================================================
   CARD ICON
========================================================= */

.kv-school-schedule-alt-icon {
    position: relative;
    z-index: 1;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin-bottom: 30px;

    border-radius: 15px;

    background: #077CEA;

    color: #ffffff;

    font-size: 22px;

    font-weight: 700;

    box-shadow:
        0 8px 20px rgba(7, 124, 234, 0.18);
}


/* =========================================================
   CARD HEADING
========================================================= */

.kv-school-schedule-alt-card h3 {
    position: relative;
    z-index: 1;

    margin: 0 0 14px;

    font-size: 21px;
    line-height: 1.3;

    font-weight: 800;

    color: #000000;
}


/* =========================================================
   CARD DESCRIPTION
========================================================= */

.kv-school-schedule-alt-card p {
    position: relative;
    z-index: 1;

    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #666;
}


/* =========================================================
   FEATURED CARD
========================================================= */

.kv-school-schedule-alt-card-featured {
    background: #077CEA;

    border-color: #077CEA;
}

.kv-school-schedule-alt-card-featured::after {
    background: rgba(255, 255, 255, 0.08);
}

.kv-school-schedule-alt-card-featured .kv-school-schedule-alt-number {
    color: rgba(255, 255, 255, 0.55);
}

.kv-school-schedule-alt-card-featured .kv-school-schedule-alt-icon {
    background: #ffffff;

    color: #077CEA;
}

.kv-school-schedule-alt-card-featured h3 {
    color: #ffffff;
}

.kv-school-schedule-alt-card-featured p {
    color: #e5f3ff;
}


/* =========================================================
   BOTTOM STATEMENT
========================================================= */

.kv-school-schedule-alt-bottom {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    margin-top: 45px;
}

.kv-school-schedule-alt-bottom-line {
    width: 70px;
    height: 1px;

    background: #8cc2f5;
}

.kv-school-schedule-alt-bottom p {
    margin: 0;

    max-width: 650px;

    text-align: center;

    font-size: 15px;
    line-height: 1.7;

    font-weight: 600;

    color: #666;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-schedule-alt {
        padding: 75px 25px;
    }

    .kv-school-schedule-alt-header h2 {
        font-size: 40px;
    }

    .kv-school-schedule-alt-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 18px;
    }

    .kv-school-schedule-alt-card {
        min-height: 260px;
    }

    .kv-school-schedule-alt-card-featured {
        grid-column: span 1;
    }

}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-schedule-alt {
        padding: 65px 22px;
    }

    .kv-school-schedule-alt-header {
        margin-bottom: 40px;
    }

    .kv-school-schedule-alt-header h2 {
        font-size: 36px;
    }

    .kv-school-schedule-alt-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;
    }

    .kv-school-schedule-alt-card {
        min-height: 245px;

        padding: 28px 24px;
    }

    .kv-school-schedule-alt-card-featured {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-schedule-alt {
        padding: 55px 18px 60px;
    }

    .kv-school-schedule-alt-label {
        font-size: 12px;
    }

    .kv-school-schedule-alt-header {
        margin-bottom: 35px;
    }

    .kv-school-schedule-alt-header h2 {
        font-size: 31px;
        line-height: 1.2;
    }

    .kv-school-schedule-alt-header p {
        font-size: 15px;
        line-height: 1.7;
    }

    .kv-school-schedule-alt-intro {
        margin-bottom: 20px;
    }

    .kv-school-schedule-alt-intro strong {
        font-size: 16px;
    }

    .kv-school-schedule-alt-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .kv-school-schedule-alt-card,
    .kv-school-schedule-alt-card-featured {
        grid-column: auto;

        min-height: auto;

        padding: 25px 22px;
    }

    .kv-school-schedule-alt-card {
        min-height: 205px;
    }

    .kv-school-schedule-alt-icon {
        width: 50px;
        height: 50px;

        margin-bottom: 22px;

        border-radius: 13px;

        font-size: 19px;
    }

    .kv-school-schedule-alt-card h3 {
        font-size: 19px;
    }

    .kv-school-schedule-alt-card p {
        font-size: 14px;
        line-height: 1.7;
    }

    .kv-school-schedule-alt-bottom {
        margin-top: 30px;

        gap: 12px;
    }

    .kv-school-schedule-alt-bottom-line {
        width: 30px;
    }

    .kv-school-schedule-alt-bottom p {
        font-size: 14px;
    }

}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-schedule-alt {
        padding: 45px 15px 50px;
    }

    .kv-school-schedule-alt-header h2 {
        font-size: 28px;
    }

    .kv-school-schedule-alt-header p {
        font-size: 14.5px;
    }

    .kv-school-schedule-alt-card {
        min-height: 190px;

        padding: 23px 20px;
    }

    .kv-school-schedule-alt-card h3 {
        font-size: 18px;
    }

    .kv-school-schedule-alt-card p {
        font-size: 13.5px;
    }

    .kv-school-schedule-alt-number {
        font-size: 11px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-school-schedule-alt {
        padding-left: 12px;
        padding-right: 12px;
    }

    .kv-school-schedule-alt-header h2 {
        font-size: 25px;
    }

    .kv-school-schedule-alt-intro strong {
        font-size: 15px;
    }

    .kv-school-schedule-alt-card {
        min-height: 180px;

        padding: 21px 18px;
    }

    .kv-school-schedule-alt-card h3 {
        font-size: 17px;
    }

    .kv-school-schedule-alt-card p {
        font-size: 13px;
    }

    .kv-school-schedule-alt-bottom-line {
        width: 20px;
    }

}


/* =========================================================
   KV CLEANING
   SCHOOL CLEANING AND MINIMAL DISRUPTION
========================================================= */

.kv-minimal-disruption {
    width: 100%;
    padding: 85px 20px;

    background:#dcf0ff;

    overflow: hidden;
}

.kv-minimal-disruption-container {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.kv-minimal-disruption-header {
    margin-bottom: 50px;

    text-align: center;
}

.kv-minimal-disruption-label {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 800;
     border: 1px solid #077CEA;
     border-radius:15px;
     padding:10px 15px;
     background-color: #077CEA;
    letter-spacing: 1.5px;
    color:white;
}

.kv-minimal-disruption-header h2 {
    margin: 0;

    font-size: 43px;
    line-height: 1.18;

    font-weight: 800;

    color: #000000;
}


/* =========================================================
   MAIN CONTENT
========================================================= */

.kv-minimal-disruption-main {
    display: grid;

    grid-template-columns:
        minmax(300px, 0.8fr)
        minmax(0, 1.2fr);

    gap: 55px;

    align-items: stretch;

    padding: 40px;

    background: #ffffff;

    border: 1px solid #dfebf3;

    border-radius: 20px;

    box-shadow:
        0 15px 45px rgba(20, 55, 70, 0.06);
}


/* =========================================================
   INTRO
========================================================= */

.kv-minimal-disruption-intro {
    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 15px 10px;
}

.kv-minimal-disruption-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 60px;
    height: 60px;

    margin-bottom: 25px;

    border-radius: 16px;

    background: #077CEA;

    box-shadow:
        0 10px 25px rgba(7, 124, 234, 0.18);
}

.kv-minimal-disruption-icon span {
    font-size: 24px;

    font-weight: 800;

    color: #ffffff;
}

.kv-minimal-disruption-intro p {
    margin: 0 0 25px;

    font-size: 23px;
    line-height: 1.5;

    font-weight: 700;

    color: #000000;
}

.kv-minimal-disruption-divider {
    width: 55px;
    height: 3px;

    margin-bottom: 25px;

    background: #8cc2f5;

    border-radius: 5px;
}

.kv-minimal-disruption-intro strong {
    max-width: 400px;

    font-size: 15px;
    line-height: 1.7;

    font-weight: 600;

    color: #666;
}


/* =========================================================
   ACTIVITY GRID
========================================================= */

.kv-minimal-disruption-list {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 15px;
}


/* =========================================================
   ACTIVITY ITEM
========================================================= */

.kv-minimal-disruption-item {
    position: relative;

    display: flex;

    align-items: center;

    gap: 15px;

    min-height: 100px;

    padding: 18px;

    background: #f8fbfe;

    border: 1px solid #e0edf5;

    border-radius: 14px;

    overflow: hidden;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.kv-minimal-disruption-item:hover {
    transform: translateY(-4px);

    background: #ffffff;

    border-color: #8cc2f5;

    box-shadow:
        0 12px 28px rgba(20, 55, 70, 0.08);
}


/* =========================================================
   LARGE BACKGROUND NUMBER
========================================================= */

.kv-minimal-disruption-number {
    position: absolute;

    right: 10px;
    bottom: -12px;

    font-size: 50px;
    line-height: 1;

    font-weight: 800;

    color: rgba(7, 124, 234, 0.055);

    pointer-events: none;
}


/* =========================================================
   ITEM ICON
========================================================= */

.kv-minimal-disruption-item-icon {
    position: relative;
    z-index: 1;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    border-radius: 12px;

    background: #e7f3fd;

    border: 1px solid #c9e4f8;
}

.kv-minimal-disruption-item-icon span {
    font-size: 11px;

    font-weight: 800;

    color: #077CEA;
}


/* =========================================================
   ITEM TITLE
========================================================= */

.kv-minimal-disruption-item strong {
    position: relative;
    z-index: 1;

    font-size: 16px;
    line-height: 1.4;

    font-weight: 700;

    color: #000000;
}


/* =========================================================
   FOOTER
========================================================= */

.kv-minimal-disruption-footer {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 25px;

    padding: 23px 28px;

    background: #077CEA;

    border-radius: 14px;
}

.kv-minimal-disruption-footer-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #ffffff;

    color: #077CEA;

    font-size: 17px;

    font-weight: 800;
}

.kv-minimal-disruption-footer p {
    margin: 0;

    font-size: 15px;
    line-height: 1.7;

    color: #ffffff;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-minimal-disruption {
        padding: 75px 25px;
    }

    .kv-minimal-disruption-header h2 {
        font-size: 40px;
    }

    .kv-minimal-disruption-main {
        gap: 40px;

        padding: 35px;
    }

}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-minimal-disruption {
        padding: 65px 22px;
    }

    .kv-minimal-disruption-header {
        margin-bottom: 40px;
    }

    .kv-minimal-disruption-header h2 {
        font-size: 36px;
    }

    .kv-minimal-disruption-main {
        grid-template-columns: 1fr;

        gap: 30px;

        padding: 30px;
    }

    .kv-minimal-disruption-intro {
        padding: 5px 0;
    }

    .kv-minimal-disruption-intro p {
        max-width: 700px;

        font-size: 21px;
    }

}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-minimal-disruption {
        padding: 55px 18px 60px;
    }

    .kv-minimal-disruption-label {
        font-size: 12px;
    }

    .kv-minimal-disruption-header {
        margin-bottom: 32px;
    }

    .kv-minimal-disruption-header h2 {
        font-size: 31px;
        line-height: 1.2;
    }

    .kv-minimal-disruption-main {
        padding: 25px 20px;

        border-radius: 15px;
    }

    .kv-minimal-disruption-icon {
        width: 52px;
        height: 52px;

        margin-bottom: 20px;

        border-radius: 14px;
    }

    .kv-minimal-disruption-icon span {
        font-size: 21px;
    }

    .kv-minimal-disruption-intro p {
        font-size: 19px;
        line-height: 1.5;
    }

    .kv-minimal-disruption-intro strong {
        font-size: 14px;
    }

    .kv-minimal-disruption-list {
        grid-template-columns: 1fr;

        gap: 11px;
    }

    .kv-minimal-disruption-item {
        min-height: 75px;

        padding: 13px 15px;
    }

    .kv-minimal-disruption-item-icon {
        width: 43px;
        height: 43px;

        border-radius: 10px;
    }

    .kv-minimal-disruption-item strong {
        font-size: 15px;
    }

    .kv-minimal-disruption-number {
        font-size: 42px;
    }

    .kv-minimal-disruption-footer {
        align-items: flex-start;

        padding: 19px;
    }

    .kv-minimal-disruption-footer-icon {
        width: 39px;
        height: 39px;

        font-size: 15px;
    }

    .kv-minimal-disruption-footer p {
        font-size: 14px;
    }

}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-minimal-disruption {
        padding: 45px 15px 50px;
    }

    .kv-minimal-disruption-header h2 {
        font-size: 28px;
    }

    .kv-minimal-disruption-header p {
        font-size: 14px;
    }

    .kv-minimal-disruption-main {
        padding: 22px 16px;
    }

    .kv-minimal-disruption-intro p {
        font-size: 18px;
    }

    .kv-minimal-disruption-item {
        min-height: 68px;
    }

    .kv-minimal-disruption-item strong {
        font-size: 14px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-minimal-disruption {
        padding-left: 12px;
        padding-right: 12px;
    }

    .kv-minimal-disruption-header h2 {
        font-size: 25px;
    }

    .kv-minimal-disruption-main {
        padding: 20px 13px;
    }

    .kv-minimal-disruption-intro p {
        font-size: 17px;
    }

    .kv-minimal-disruption-item {
        gap: 11px;

        padding: 11px 12px;
    }

    .kv-minimal-disruption-item-icon {
        width: 40px;
        height: 40px;
    }

    .kv-minimal-disruption-item strong {
        font-size: 13.5px;
    }

}


/* =========================================================
   KV CLEANING
   SCHOOL CLEANING QUALITY ASSURANCE
   MODERN TIMELINE DESIGN
========================================================= */

.kv-school-qa {
    width: 100%;
    padding: 90px 20px;

    background: #ffffff;

    overflow: hidden;
}

.kv-school-qa-container {
    width: 100%;
    max-width: 1240px;

    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.kv-school-qa-header {
    max-width: 850px;

    margin: 0 auto 28px;

    text-align: center;
}

.kv-school-qa-label {
    display: inline-block;
    margin-bottom: 14px;
    border-radius:15px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid #077CEA;
    background-color: #077CEA;
    letter-spacing: 1.5px;
    padding: 10px 15px;
    color:white;
}

.kv-school-qa-header h2 {
    margin: 0 0 20px;

    font-size: 44px;
    line-height: 1.15;

    font-weight: 800;

    color: #000000;
}

.kv-school-qa-header p {
    margin: 0;

    font-size: 17px;
    line-height: 1.8;

    color: #666;
}


/* =========================================================
   INTRODUCTION
========================================================= */

.kv-school-qa-introduction {
    max-width: 850px;

    margin: 0 auto 60px;

    text-align: center;
}

.kv-school-qa-introduction p {
    margin: 0 0 14px;

    font-size: 15px;
    line-height: 1.75;

    color: #666;
}

.kv-school-qa-introduction strong {
    font-size: 16px;
    line-height: 1.6;

    color: #000000;
}


/* =========================================================
   TIMELINE
========================================================= */

.kv-school-qa-timeline {
    position: relative;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    row-gap: 85px;

    column-gap: 28px;

    padding: 20px 0;
}


/* =========================================================
   HORIZONTAL CONNECTING LINE
========================================================= */

.kv-school-qa-timeline::before {
    content: "";

    position: absolute;

    top: 53px;
    left: 7%;

    width: 86%;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            #8cc2f5,
            #077CEA,
            #8cc2f5
        );
}


/* =========================================================
   TIMELINE ITEM
========================================================= */

.kv-school-qa-item {
    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;
}


/* =========================================================
   MARKER
========================================================= */

.kv-school-qa-marker {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 66px;
    height: 66px;

    margin-bottom: 20px;

    border-radius: 50%;

    background: #ffffff;

    border: 6px solid #dff1ff;

    box-shadow:
        0 8px 25px rgba(7, 124, 234, 0.12);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}

.kv-school-qa-marker span {
    font-size: 14px;

    font-weight: 800;

    color: #077CEA;
}

.kv-school-qa-item:hover .kv-school-qa-marker {
    transform: scale(1.08);

    background: #077CEA;

    border-color: #8cc2f5;
}

.kv-school-qa-item:hover .kv-school-qa-marker span {
    color: #ffffff;
}


/* =========================================================
   CONTENT
========================================================= */

.kv-school-qa-content {
    width: 100%;

    min-height: 105px;

    padding: 22px 15px;

    background: #ffffff;

    border: 1px solid #e1ebf2;

    border-radius: 14px;

    box-shadow:
        0 8px 28px rgba(20, 55, 70, 0.05);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-school-qa-item:hover .kv-school-qa-content {
    transform: translateY(-4px);

    box-shadow:
        0 14px 35px rgba(20, 55, 70, 0.09);
}

.kv-school-qa-content small {
    display: block;

    margin-bottom: 8px;

    font-size: 10px;
    line-height: 1.3;

    font-weight: 800;

    letter-spacing: 1px;

    color: #8cc2f5;
}

.kv-school-qa-content h3 {
    margin: 0;

    font-size: 16px;
    line-height: 1.4;

    font-weight: 800;

    color: #000000;
}


/* =========================================================
   SECOND ROW OFFSET
========================================================= */

.kv-school-qa-item:nth-child(n + 5) {
    transform: translateY(20px);
}

.kv-school-qa-item:nth-child(n + 5):hover {
    transform: translateY(15px);
}


/* =========================================================
   FINAL STEP
========================================================= */

.kv-school-qa-final .kv-school-qa-marker {
    background: #077CEA;

    border-color: #8cc2f5;
}

.kv-school-qa-final .kv-school-qa-marker span {
    color: #ffffff;
}

.kv-school-qa-final .kv-school-qa-content {
    border-color: #077CEA;

    background: #077CEA;
}

.kv-school-qa-final .kv-school-qa-content small {
    color: #cce8ff;
}

.kv-school-qa-final .kv-school-qa-content h3 {
    color: #ffffff;
}


/* =========================================================
   FOOTER
========================================================= */

.kv-school-qa-footer {
    display: flex;

    align-items: center;

    gap: 20px;

    max-width: 900px;

    margin: 60px auto 0;

    padding: 24px 30px;

    background: #ffffff;

    border-radius: 12px;

    box-shadow:
        0 8px 28px rgba(20, 55, 70, 0.06);
}

.kv-school-qa-footer-line {
    width: 5px;
    height: 45px;

    flex-shrink: 0;

    border-radius: 5px;

    background: #077CEA;
}

.kv-school-qa-footer p {
    margin: 0;

    font-size: 15px;
    line-height: 1.7;

    color: #666;
}


/* =========================================================
   LARGE TABLET
   1200px
========================================================= */

@media (max-width: 1200px) {

    .kv-school-qa {
        padding: 75px 25px;
    }

    .kv-school-qa-header h2 {
        font-size: 40px;
    }

    .kv-school-qa-timeline {
        column-gap: 18px;
    }

}


/* =========================================================
   TABLET
   991px
========================================================= */

@media (max-width: 991px) {

    .kv-school-qa {
        padding: 65px 22px;
    }

    .kv-school-qa-header h2 {
        font-size: 36px;
    }

    .kv-school-qa-introduction {
        margin-bottom: 45px;
    }

    .kv-school-qa-timeline {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        row-gap: 30px;

        column-gap: 20px;

        padding: 0;
    }

    .kv-school-qa-timeline::before {
        display: none;
    }

    .kv-school-qa-item:nth-child(n + 5) {
        transform: none;
    }

    .kv-school-qa-item:nth-child(n + 5):hover {
        transform: translateY(-4px);
    }

    .kv-school-qa-marker {
        width: 60px;
        height: 60px;

        margin-bottom: 15px;
    }

    .kv-school-qa-content {
        min-height: 95px;
    }

    .kv-school-qa-footer {
        margin-top: 40px;
    }

}


/* =========================================================
   MOBILE
   767px
========================================================= */

@media (max-width: 767px) {

    .kv-school-qa {
        padding: 55px 18px 60px;
    }

    .kv-school-qa-label {
        font-size: 12px;
    }

    .kv-school-qa-header h2 {
        font-size: 31px;
        line-height: 1.2;
    }

    .kv-school-qa-header p {
        font-size: 15px;
        line-height: 1.7;
    }

    .kv-school-qa-introduction {
        margin-bottom: 35px;
    }

    .kv-school-qa-introduction p {
        font-size: 14px;
    }

    .kv-school-qa-introduction strong {
        font-size: 14px;
    }

    .kv-school-qa-timeline {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .kv-school-qa-item {
        display: grid;

        grid-template-columns: 60px 1fr;

        gap: 15px;

        align-items: center;

        text-align: left;
    }

    .kv-school-qa-marker {
        width: 60px;
        height: 60px;

        margin: 0;
    }

    .kv-school-qa-content {
        min-height: auto;

        padding: 18px 18px;
    }

    .kv-school-qa-content h3 {
        font-size: 15px;
    }

    .kv-school-qa-footer {
        align-items: flex-start;

        gap: 15px;

        margin-top: 30px;

        padding: 20px;
    }

    .kv-school-qa-footer-line {
        height: 40px;
    }

    .kv-school-qa-footer p {
        font-size: 14px;
    }

}


/* =========================================================
   SMALL MOBILE
   576px
========================================================= */

@media (max-width: 576px) {

    .kv-school-qa {
        padding: 45px 15px 50px;
    }

    .kv-school-qa-header h2 {
        font-size: 28px;
    }

    .kv-school-qa-item {
        grid-template-columns: 52px 1fr;

        gap: 12px;
    }

    .kv-school-qa-marker {
        width: 52px;
        height: 52px;

        border-width: 5px;
    }

    .kv-school-qa-marker span {
        font-size: 12px;
    }

    .kv-school-qa-content {
        padding: 16px 15px;
    }

    .kv-school-qa-content small {
        font-size: 9px;
    }

    .kv-school-qa-content h3 {
        font-size: 14px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   380px
========================================================= */

@media (max-width: 380px) {

    .kv-school-qa {
        padding-left: 12px;
        padding-right: 12px;
    }

    .kv-school-qa-header h2 {
        font-size: 25px;
    }

    .kv-school-qa-item {
        grid-template-columns: 48px 1fr;

        gap: 10px;
    }

    .kv-school-qa-marker {
        width: 48px;
        height: 48px;
    }

    .kv-school-qa-content {
        padding: 14px;
    }

}

/* =========================================
   SCHOOL CLEANING DOCUMENTATION
   ========================================= */

.school-documentation {
    width: 100%;
    padding: 40px 20px;
    background:#dcf0ff;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box;
}

.school-documentation *,
.school-documentation *::before,
.school-documentation *::after {
    box-sizing: border-box;
}

.documentation-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

/* ---------- HEADER ---------- */

.documentation-header {
    max-width: 780px;
    margin-bottom: 50px;
}

.documentation-label {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 16px;
    border-radius: 30px;
    background: #077CEA;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.documentation-header h2 {
    margin: 0;
    color: #000000;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
}

.documentation-line {
    width: 70px;
    height: 4px;
    margin-top: 20px;
    background: #077CEA;
    border-radius: 10px;
}

/* ---------- INTRO ---------- */

.documentation-intro {
    max-width: 850px;
    margin-bottom: 30px;
}

.documentation-intro p {
    margin: 0;
    color: #666;
    font-size: 18px;
    line-height: 1.8;
}

/* ---------- LIST ---------- */

.documentation-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.documentation-item {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 82px;
    padding: 18px 24px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(102, 102, 102, 0.08);
    overflow: hidden;
    transition: all 0.3s ease;
}

.documentation-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: #077CEA;
}

.documentation-item:hover {
    transform: translateY(-4px);
    border-color: #077CEA;
    box-shadow: 0 14px 30px rgba(7, 124, 234, 0.12);
}

.documentation-number {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    margin-right: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #077CEA;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.documentation-item-content {
    color: #000000;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
}

/* ---------- BOTTOM ---------- */

.documentation-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 35px;
}

.documentation-note,
.documentation-agreement {
    padding: 28px 30px;
    border-radius: 14px;
}

.documentation-note {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #077CEA;
}

.note-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    color: #077CEA;
    font-size: 20px;
    font-weight: 700;
}

.documentation-note p {
    margin: 0;
    color: #ffffff;
    font-size: 17px;
    line-height: 1.6;
    font-weight: 600;
}

.documentation-agreement {
    display: flex;
    align-items: center;
    background: #f7f7f7;
    border-left: 4px solid #077CEA;
}

.documentation-agreement p {
    margin: 0;
    color: #666;
    font-size: 16px;
    line-height: 1.7;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

    .school-documentation {
        padding: 70px 20px;
    }

    .documentation-header h2 {
        font-size: 36px;
    }

    .documentation-list {
        grid-template-columns: 1fr;
    }

    .documentation-bottom {
        grid-template-columns: 1fr;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .school-documentation {
        padding: 55px 16px;
    }

    .documentation-header {
        margin-bottom: 35px;
    }

    .documentation-label {
        font-size: 10px;
        padding: 7px 13px;
    }

    .documentation-header h2 {
        font-size: 30px;
    }

    .documentation-line {
        width: 55px;
        height: 3px;
    }

    .documentation-intro {
        margin-bottom: 25px;
    }

    .documentation-intro p {
        font-size: 16px;
        line-height: 1.7;
    }

    .documentation-list {
        gap: 12px;
    }

    .documentation-item {
        min-height: 72px;
        padding: 15px 17px;
    }

    .documentation-number {
        width: 36px;
        height: 36px;
        margin-right: 13px;
        font-size: 10px;
    }

    .documentation-item-content {
        font-size: 15px;
    }

    .documentation-bottom {
        gap: 14px;
        margin-top: 25px;
    }

    .documentation-note,
    .documentation-agreement {
        padding: 22px 20px;
    }

    .documentation-note p {
        font-size: 15px;
    }

    .documentation-agreement p {
        font-size: 15px;
    }

    .note-icon {
        width: 38px;
        height: 38px;
        font-size: 17px;
    }
}


/* =========================================
   SCHOOL CLEANING & SAFETY
   ========================================= */

.kv-school-safety {
    width: 100%;
    padding: 90px 20px;
    background: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.kv-school-safety *,
.kv-school-safety *::before,
.kv-school-safety *::after {
    box-sizing: border-box;
}

.kv-school-safety-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}


/* =========================================
   HEADER
   ========================================= */

.kv-school-safety-header {
    max-width: 800px;
    margin-bottom: 45px;
}

.kv-school-safety-label {
    display: inline-block;
    padding: 8px 16px;
    margin-bottom: 15px;

    background: #077CEA;
    color: #ffffff;

    border-radius: 30px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.kv-school-safety-header h2 {
    margin: 0;

    color: #000000;

    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
}

.kv-school-safety-line {
    width: 70px;
    height: 4px;

    margin-top: 20px;

    background: #077CEA;
    border-radius: 10px;
}


/* =========================================
   INTRO
   ========================================= */

.kv-school-safety-intro {
    margin-bottom: 25px;
}

.kv-school-safety-intro p {
    margin: 0;

    color: #666;

    font-size: 18px;
    line-height: 1.7;
}


/* =========================================
   SAFETY ITEMS
   ========================================= */

.kv-school-safety-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 15px;

    margin-bottom: 50px;
}

.kv-school-safety-card {
    display: flex;
    align-items: center;

    min-height: 78px;

    padding: 15px 20px;

    background: #ffffff;

    border: 1px solid #eeeeee;
    border-radius: 12px;

    box-shadow: 0 7px 22px rgba(102, 102, 102, 0.08);

    color: #666;

    font-size: 16px;
    font-weight: 600;

    transition: all 0.3s ease;
}

.kv-school-safety-card:hover {
    transform: translateY(-4px);

    border-color: #077CEA;

    box-shadow: 0 12px 28px rgba(7, 124, 234, 0.12);
}

.kv-school-safety-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    margin-right: 15px;

    border-radius: 50%;

    background: #077CEA;
    color: #ffffff;

    font-size: 10px;
    font-weight: 700;
}


/* =========================================
   PROCEDURES
   ========================================= */

.kv-school-safety-procedures {
    padding: 35px;

    background: #f7f7f7;

    border-radius: 18px;

    border-left: 5px solid #077CEA;

    margin-bottom: 30px;
}

.kv-school-safety-procedure-header {
    margin-bottom: 25px;
}

.kv-school-safety-procedure-header h3 {
    margin: 0;

    color: #666;

    font-size: 22px;
    line-height: 1.4;
}


/* =========================================
   PROCEDURE GRID
   ========================================= */

.kv-school-safety-procedure-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px 25px;
}

.kv-school-safety-procedure {
    display: flex;
    align-items: center;

    min-height: 55px;

    padding: 10px 15px;

    background: #ffffff;

    border-radius: 10px;

    color: #666;

    font-size: 15px;
    font-weight: 600;
}

.kv-school-safety-check {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    flex-shrink: 0;

    margin-right: 13px;

    border-radius: 50%;

    background: #077CEA;
    color: #ffffff;

    font-size: 15px;
    font-weight: 800;
}


/* =========================================
   FINAL NOTE
   ========================================= */

.kv-school-safety-note {
    display: flex;
    align-items: center;

    gap: 18px;

    padding: 30px;

    background: #077CEA;

    border-radius: 16px;
}

.kv-school-safety-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #ffffff;

    color: #077CEA;

    font-size: 22px;
    font-weight: 800;
}

.kv-school-safety-note p {
    margin: 0;

    color: #ffffff;

    font-size: 16px;
    line-height: 1.7;
    font-weight: 600;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

    .kv-school-safety {
        padding: 70px 20px;
    }

    .kv-school-safety-header h2 {
        font-size: 36px;
    }

    .kv-school-safety-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-school-safety {
        padding: 55px 16px;
    }

    .kv-school-safety-header {
        margin-bottom: 35px;
    }

    .kv-school-safety-label {
        font-size: 10px;
        padding: 7px 13px;
    }

    .kv-school-safety-header h2 {
        font-size: 30px;
    }

    .kv-school-safety-line {
        width: 55px;
        height: 3px;
    }

    .kv-school-safety-intro p {
        font-size: 16px;
    }

    .kv-school-safety-grid {
        grid-template-columns: 1fr;
        gap: 12px;

        margin-bottom: 35px;
    }

    .kv-school-safety-card {
        min-height: 68px;
    }

    .kv-school-safety-procedures {
        padding: 25px 18px;
        border-left-width: 4px;
    }

    .kv-school-safety-procedure-header h3 {
        font-size: 19px;
    }

    .kv-school-safety-procedure-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .kv-school-safety-procedure {
        font-size: 14px;
    }

    .kv-school-safety-note {
        align-items: flex-start;
        padding: 22px 18px;
        gap: 14px;
    }

    .kv-school-safety-note-icon {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    .kv-school-safety-note p {
        font-size: 14px;
        line-height: 1.65;
    }
}


/* =========================================
   SCHOOL CLEANING PRODUCTS
   SOFT CURVED DESIGN
   ========================================= */

.kv-products-soft {
    width: 100%;
    padding: 40px 20px;
    background:#dcf0ff;

    font-family: Arial, Helvetica, sans-serif;
}

.kv-products-soft *,
.kv-products-soft *::before,
.kv-products-soft *::after {
    box-sizing: border-box;
}

.kv-products-soft-container {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
}


/* =========================================
   HEADING
   ========================================= */

.kv-products-soft-heading {
    text-align: center;
    margin-bottom: 35px;
}

.kv-products-soft-label {
    display: inline-block;

    padding: 8px 18px;

    background: #077CEA;
    color: #ffffff;

    border-radius: 50px;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.8px;
}

.kv-products-soft-heading h2 {
    margin: 18px 0 0;

    color: #000000;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 700;
}

.kv-products-soft-heading-line {
    width: 55px;
    height: 4px;

    margin: 18px auto 0;

    background: #077CEA;

    border-radius: 20px;
}


/* =========================================
   INTRO
   ========================================= */

.kv-products-soft-intro {
    text-align: center;

    margin-bottom: 28px;
}

.kv-products-soft-intro p {
    margin: 0;

    color: #000000;

    font-size: 17px;
    line-height: 1.6;

    font-weight: 600;
}


/* =========================================
   CONSIDERATION BOXES
   ========================================= */

.kv-products-soft-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;

    margin-bottom: 35px;
}

.kv-products-soft-box {
    display: flex;
    align-items: center;

    min-height: 88px;

    padding: 18px 22px;

    background: #ffffff;

    border: 1px solid #077CEA;

    border-radius:12px;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-products-soft-box:hover {
    transform: translateY(-5px);

    background: #077CEA;

    border-color: #077CEA;

    box-shadow: 0 12px 25px rgba(7, 124, 234, 0.18);
}


/* =========================================
   CHECK ICON
   ========================================= */

.kv-products-soft-check {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    flex-shrink: 0;

    margin-right: 15px;

    background: #077CEA;

    color: #ffffff;

    border-radius: 50%;

    font-size: 17px;
    font-weight: 800;

    transition: 0.3s ease;
}

.kv-products-soft-box:hover .kv-products-soft-check {
    background: #ffffff;
    color: #077CEA;
}


/* =========================================
   BOX TEXT
   ========================================= */

.kv-products-soft-box p {
    margin: 0;

    color: #666;

    font-size: 15px;
    line-height: 1.5;

    font-weight: 600;

    transition: color 0.3s ease;
}

.kv-products-soft-box:hover p {
    color: #ffffff;
}


/* =========================================
   PREFERENCE SECTION
   ========================================= */

.kv-products-soft-preference {
    display: flex;
    align-items: center;

    gap: 20px;

    padding: 30px 35px;

    background: #077CEA;

    border-radius:14px;

    margin-bottom: 18px;
}

.kv-products-soft-preference-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    flex-shrink: 0;

    background: #ffffff;

    color: #077CEA;

    border-radius: 50%;

    font-size: 24px;
    font-weight: 800;
}

.kv-products-soft-preference-content p {
    margin: 0;

    color: #ffffff;

    font-size: 16px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================
   DOCUMENTATION
   ========================================= */

.kv-products-soft-documentation {
    display: flex;
    align-items: center;

    gap: 18px;

    padding: 25px 30px;

    background: #ffffff;

    border: 1px solid #077CEA;

    border-radius: 14px;
}

.kv-products-soft-documentation-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    background: #077CEA;

    color: #ffffff;

    border-radius: 50%;

    font-size: 20px;
    font-weight: 800;
}

.kv-products-soft-documentation p {
    margin: 0;

    color: #666;

    font-size: 15px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

    .kv-products-soft {
        padding: 70px 20px;
    }

    .kv-products-soft-heading h2 {
        font-size: 36px;
    }

    .kv-products-soft-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-products-soft {
        padding: 55px 16px;
    }

    .kv-products-soft-heading {
        margin-bottom: 28px;
    }

    .kv-products-soft-heading h2 {
        font-size: 30px;
    }

    .kv-products-soft-label {
        padding: 7px 14px;

        font-size: 9px;
    }

    .kv-products-soft-intro {
        margin-bottom: 22px;
    }

    .kv-products-soft-intro p {
        font-size: 15px;
    }


    /* Boxes */

    .kv-products-soft-grid {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 25px;
    }

    .kv-products-soft-box {
        min-height: 70px;

        padding: 14px 17px;

        border-radius: 18px;
    }

    .kv-products-soft-check {
        width: 35px;
        height: 35px;

        margin-right: 12px;

        font-size: 15px;
    }

    .kv-products-soft-box p {
        font-size: 14px;
    }


    /* Preference */

    .kv-products-soft-preference {
        align-items: flex-start;

        gap: 14px;

        padding: 22px 18px;

        border-radius: 20px;
    }

    .kv-products-soft-preference-icon {
        width: 43px;
        height: 43px;

        font-size: 19px;
    }

    .kv-products-soft-preference-content p {
        font-size: 14px;
        line-height: 1.65;
    }


    /* Documentation */

    .kv-products-soft-documentation {
        align-items: flex-start;

        gap: 13px;

        padding: 20px 17px;

        border-radius: 18px;
    }

    .kv-products-soft-documentation-icon {
        width: 38px;
        height: 38px;

        font-size: 17px;
    }

    .kv-products-soft-documentation p {
        font-size: 14px;
        line-height: 1.6;
    }

}

/* =========================================
   COLOUR-CODED CLEANING SYSTEMS
   MODERN ICON CARD DESIGN
   ========================================= */

.kv-colour-system {
    width: 100%;
    padding: 40px 20px;
    background: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.kv-colour-system *,
.kv-colour-system *::before,
.kv-colour-system *::after {
    box-sizing: border-box;
}

.kv-colour-system-container {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}


/* =========================================
   HEADING
   ========================================= */

.kv-colour-system-header {
    width: 100%;
    margin: 0 0 18px;
    text-align: center;
}

.kv-colour-system-header h2 {
    margin: 0;

    color: #000000;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 700;
}


/* Blue underline */

.kv-colour-system-header::after {
    content: "";

    display: block;

    width: 65px;
    height: 4px;

    margin: 18px auto 0;

    background: #077CEA;

    border-radius: 50px;
}


/* =========================================
   INTRODUCTION
   ========================================= */

.kv-colour-system-introduction {
    width: 100%;
    max-width: 850px;

    margin: 0 auto 40px;

    text-align: center;
}

.kv-colour-system-introduction p {
    margin: 0;

    color: #666666;

    font-size: 17px;
    line-height: 1.8;

    font-weight: 500;
}


/* =========================================
   EXAMPLE SECTION
   ========================================= */

.kv-colour-system-example {
    width: 100%;

    padding: 35px;

    background:#c2e1ff;

    border-radius: 30px;

    margin-bottom: 20px;
}


/* =========================================
   EXAMPLE HEADING
   ========================================= */

.kv-colour-system-example-heading {
    display: flex;
    align-items: center;

    gap: 15px;

    margin-bottom: 28px;
}

.kv-colour-system-example-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    flex-shrink: 0;

    background: #077CEA;

    border-radius: 14px;
}

.kv-colour-system-example-icon span {
    color: #ffffff;

    font-size: 20px;
    font-weight: 800;
}

.kv-colour-system-example-heading p {
    margin: 0;

    color: #000000;

    font-size: 17px;
    line-height: 1.6;

    font-weight: 600;
}


/* =========================================
   AREA GRID
   ========================================= */

.kv-colour-system-area-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 15px;
}


/* =========================================
   AREA CARD
   ========================================= */

.kv-colour-system-area {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-height: 165px;

    padding: 23px;

    background: #ffffff;

    border-radius: 22px;

    border: 2px solid transparent;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-colour-system-area:hover {
    transform: translateY(-7px);

    border-color: #077CEA;

    box-shadow: 0 15px 35px rgba(7, 124, 234, 0.20);
}


/* =========================================
   AREA ICON
   ========================================= */

.kv-colour-system-area-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    margin-bottom: 28px;

    background: #077CEA;

    border-radius: 17px;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}

.kv-colour-system-area:hover
.kv-colour-system-area-icon {
    transform: scale(1.08);
}

.kv-colour-system-area-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #ffffff;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   AREA TEXT
   ========================================= */

.kv-colour-system-area-text {
    width: 100%;
}

.kv-colour-system-area-text span {
    color: #666666;

    font-size: 15px;
    line-height: 1.5;

    font-weight: 700;
}


/* =========================================
   REQUIREMENT
   ========================================= */

.kv-colour-system-requirement {
    display: flex;
    align-items: center;

    gap: 18px;

    width: 100%;

    padding: 27px 30px;

    background: #ffffff;

    border: 1px solid #666666;

    border-radius: 24px;

    margin-bottom: 20px;
}

.kv-colour-system-requirement-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    flex-shrink: 0;

    background: #077CEA;

    border-radius: 50%;
}

.kv-colour-system-requirement-icon span {
    color: #ffffff;

    font-size: 21px;
    font-weight: 800;
}

.kv-colour-system-requirement p {
    margin: 0;

    color: #666666;

    font-size: 15px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================
   PURPOSE
   ========================================= */

.kv-colour-system-purpose {
    display: flex;
    align-items: center;

    gap: 20px;

    width: 100%;

    padding: 30px;

    background: #077CEA;

    border-radius: 26px;
}

.kv-colour-system-purpose-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 18px;
}

.kv-colour-system-purpose-icon span {
    color: #077CEA;

    font-size: 23px;
    font-weight: 800;
}

.kv-colour-system-purpose-content {
    flex: 1;
}

.kv-colour-system-purpose-content span {
    display: block;

    margin-bottom: 7px;

    color: #ffffff;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2px;
}

.kv-colour-system-purpose-content p {
    margin: 0;

    color: #ffffff;

    font-size: 16px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 950px) {

    .kv-colour-system {
        padding: 75px 20px;
    }

    .kv-colour-system-header h2 {
        font-size: 36px;
    }

    .kv-colour-system-area-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-colour-system {
        padding: 55px 16px;
    }


    /* Heading */

    .kv-colour-system-header {
        margin-bottom: 15px;
    }

    .kv-colour-system-header h2 {
        font-size: 29px;
        line-height: 1.25;
    }

    .kv-colour-system-header::after {
        width: 50px;
        height: 3px;

        margin-top: 14px;
    }


    /* Introduction */

    .kv-colour-system-introduction {
        margin-bottom: 28px;
    }

    .kv-colour-system-introduction p {
        font-size: 14px;
        line-height: 1.7;
    }


    /* Example */

    .kv-colour-system-example {
        padding: 20px 16px;

        border-radius: 22px;
    }

    .kv-colour-system-example-heading {
        align-items: flex-start;

        gap: 11px;

        margin-bottom: 20px;
    }

    .kv-colour-system-example-icon {
        width: 38px;
        height: 38px;

        border-radius: 11px;
    }

    .kv-colour-system-example-icon span {
        font-size: 17px;
    }

    .kv-colour-system-example-heading p {
        font-size: 14px;
        line-height: 1.6;
    }


    /* Area cards */

    .kv-colour-system-area-grid {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .kv-colour-system-area {
        flex-direction: row;
        align-items: center;

        min-height: 72px;

        padding: 13px 15px;

        border-radius: 17px;
    }

    .kv-colour-system-area-icon {
        width: 43px;
        height: 43px;

        flex-shrink: 0;

        margin: 0 14px 0 0;

        border-radius: 13px;
    }

    .kv-colour-system-area-icon svg {
        width: 22px;
        height: 22px;
    }

    .kv-colour-system-area-text span {
        font-size: 14px;
    }


    /* Requirement */

    .kv-colour-system-requirement {
        align-items: flex-start;

        gap: 13px;

        padding: 20px 17px;

        border-radius: 18px;
    }

    .kv-colour-system-requirement-icon {
        width: 40px;
        height: 40px;
    }

    .kv-colour-system-requirement-icon span {
        font-size: 17px;
    }

    .kv-colour-system-requirement p {
        font-size: 14px;
        line-height: 1.6;
    }


    /* Purpose */

    .kv-colour-system-purpose {
        align-items: flex-start;

        gap: 13px;

        padding: 21px 17px;

        border-radius: 20px;
    }

    .kv-colour-system-purpose-icon {
        width: 42px;
        height: 42px;

        border-radius: 13px;
    }

    .kv-colour-system-purpose-icon span {
        font-size: 18px;
    }

    .kv-colour-system-purpose-content span {
        font-size: 9px;
    }

    .kv-colour-system-purpose-content p {
        font-size: 14px;
        line-height: 1.6;
    }

}



/* =========================================
   SCHOOL CLEANING FOR SPECIALISED
   EDUCATIONAL ENVIRONMENTS
   ========================================= */

.kv-specialised-education {
    width: 100%;
    padding: 40px 20px;

    background:#dcf0ff;

    font-family: Arial, Helvetica, sans-serif;
}

.kv-specialised-education *,
.kv-specialised-education *::before,
.kv-specialised-education *::after {
    box-sizing: border-box;
}

.kv-specialised-container {
    width: 100%;
    max-width: 1150px;

    margin: 0 auto;
}


/* =========================================
   HEADING
   ========================================= */

.kv-specialised-heading {
    text-align: center;

    margin-bottom: 18px;
}

.kv-specialised-heading h2 {
    max-width: 900px;

    margin: 0 auto;

    color: #000000;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 700;
}

.kv-specialised-heading-line {
    width: 65px;
    height: 4px;

    margin: 18px auto 0;

    background: #077CEA;

    border-radius: 50px;
}


/* =========================================
   INTRODUCTION
   ========================================= */

.kv-specialised-intro {
    max-width: 850px;

    margin: 0 auto 40px;

    text-align: center;
}

.kv-specialised-intro p {
    margin: 0;

    color: #666666;

    font-size: 17px;
    line-height: 1.8;

    font-weight: 500;
}


/* =========================================
   CARD GRID
   ========================================= */

.kv-specialised-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;

    margin-bottom: 25px;
}


/* =========================================
   CARDS
   ========================================= */

.kv-specialised-card {
    position: relative;

    min-height: 245px;

    padding: 28px;

    background: #ffffff;

    border: 1px solid #666666;

    border-radius: 28px;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-specialised-card::after {
    content: "";

    position: absolute;

    width: 90px;
    height: 90px;

    right: -35px;
    bottom: -35px;

    background: #077CEA;

    opacity: 0.08;

    border-radius: 50%;
}

.kv-specialised-card:hover {
    transform: translateY(-7px);

    border-color: #077CEA;

    box-shadow: 0 16px 35px rgba(7, 124, 234, 0.15);
}


/* =========================================
   WIDE CARD
   ========================================= */

.kv-specialised-card-wide {
    grid-column: span 2;
}


/* =========================================
   ICON
   ========================================= */

.kv-specialised-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin-bottom: 25px;

    background: #077CEA;

    border-radius: 18px;

    transition: transform 0.3s ease;
}

.kv-specialised-card:hover .kv-specialised-icon {
    transform: scale(1.08);
}

.kv-specialised-icon svg {
    width: 29px;
    height: 29px;

    fill: none;

    stroke: #ffffff;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   CARD TITLE
   ========================================= */

.kv-specialised-card h3 {
    position: relative;

    margin: 0 0 12px;

    color: #000000;

    font-size: 19px;
    line-height: 1.35;

    font-weight: 700;
}


/* =========================================
   CARD CONTENT
   ========================================= */

.kv-specialised-card p {
    position: relative;

    margin: 0;

    color: #666666;
    text-align: justify;
    font-size: 15px;
    line-height: 1.7;

    font-weight: 500;
}


/* =========================================
   IMPORTANT PRINCIPLE
   ========================================= */

.kv-specialised-principle {
    display: flex;
    align-items: center;

    gap: 22px;

    width: 100%;

    padding: 32px 35px;

    background: #077CEA;

    border-radius: 30px;
}


/* =========================================
   PRINCIPLE ICON
   ========================================= */

.kv-specialised-principle-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 60px;
    height: 60px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 20px;
}

.kv-specialised-principle-icon svg {
    width: 29px;
    height: 29px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   PRINCIPLE CONTENT
   ========================================= */

.kv-specialised-principle-content {
    display: flex;
    flex-direction: column;

    gap: 8px;
}

.kv-specialised-principle-content span {
    color: #ffffff;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.kv-specialised-principle-content strong {
    color: #ffffff;

    font-size: 18px;

    line-height: 1.6;

    font-weight: 700;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 950px) {

    .kv-specialised-education {
        padding: 70px 20px;
    }

    .kv-specialised-heading h2 {
        font-size: 36px;
    }

    .kv-specialised-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .kv-specialised-card-wide {
        grid-column: span 2;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-specialised-education {
        padding: 55px 16px;
    }


    /* Heading */

    .kv-specialised-heading h2 {
        font-size: 29px;
        line-height: 1.25;
    }

    .kv-specialised-heading-line {
        width: 50px;
        height: 3px;

        margin-top: 14px;
    }


    /* Intro */

    .kv-specialised-intro {
        margin-bottom: 28px;
    }

    .kv-specialised-intro p {
        font-size: 14px;
        line-height: 1.7;
    }


    /* Grid */

    .kv-specialised-grid {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 18px;
    }


    /* Cards */

    .kv-specialised-card,
    .kv-specialised-card-wide {
        grid-column: auto;

        min-height: auto;

        padding: 22px;

        border-radius: 21px;
    }


    /* Icons */

    .kv-specialised-icon {
        width: 48px;
        height: 48px;

        margin-bottom: 20px;

        border-radius: 15px;
    }

    .kv-specialised-icon svg {
        width: 24px;
        height: 24px;
    }


    /* Titles */

    .kv-specialised-card h3 {
        font-size: 17px;

        margin-bottom: 9px;
    }


    /* Text */

    .kv-specialised-card p {
        font-size: 14px;

        line-height: 1.65;
    }


    /* Principle */

    .kv-specialised-principle {
        align-items: flex-start;

        gap: 14px;

        padding: 22px 18px;

        border-radius: 22px;
    }

    .kv-specialised-principle-icon {
        width: 44px;
        height: 44px;

        border-radius: 14px;
    }

    .kv-specialised-principle-icon svg {
        width: 22px;
        height: 22px;
    }

    .kv-specialised-principle-content {
        gap: 6px;
    }

    .kv-specialised-principle-content span {
        font-size: 9px;

        letter-spacing: 1.2px;
    }

    .kv-specialised-principle-content strong {
        font-size: 14px;

        line-height: 1.6;
    }

}



/* =========================================
   SCHOOL CLEANING ACROSS SYDNEY
   ========================================= */

.kv-sydney-cleaning {
    width: 100%;
    padding: 40px 20px;

    background: #ffffff;

    font-family: Arial, Helvetica, sans-serif;
}

.kv-sydney-cleaning *,
.kv-sydney-cleaning *::before,
.kv-sydney-cleaning *::after {
    box-sizing: border-box;
}

.kv-sydney-container {
    width: 100%;
    max-width: 1150px;

    margin: 0 auto;
}


/* =========================================
   HEADING
   ========================================= */

.kv-sydney-heading {
    text-align: center;

    margin-bottom: 18px;
}

.kv-sydney-heading h2 {
    margin: 0;

    color:#000000;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 700;
}

.kv-sydney-heading-line {
    width: 65px;
    height: 4px;

    margin: 18px auto 0;

    background: #077CEA;

    border-radius: 50px;
}


/* =========================================
   INTRODUCTION
   ========================================= */

.kv-sydney-intro {
    max-width: 900px;

    margin: 0 auto 35px;

    text-align: center;
}

.kv-sydney-intro p {
    margin: 0;

    color: #666666;
    text-align: justify;
    font-size: 16px;
    line-height: 1.8;

    font-weight: 500;
}


/* =========================================
   AREA INTRODUCTION
   ========================================= */

.kv-sydney-area-intro {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    margin-bottom: 25px;
}

.kv-sydney-area-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    background: #077CEA;

    border-radius: 50%;
}

.kv-sydney-area-icon svg {
    width: 22px;
    height: 22px;

    fill: none;

    stroke: #ffffff;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kv-sydney-area-intro p {
    margin: 0;

    color:#000000;

    font-size: 17px;
    line-height: 1.5;

    font-weight: 700;
}


/* =========================================
   AREA GRID
   ========================================= */

.kv-sydney-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 16px;

    margin-bottom: 22px;
}


/* =========================================
   AREA CARD
   ========================================= */

.kv-sydney-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 235px;

    padding: 26px;

    background: #ffffff;

    border: 1px solid #666666;

    border-radius: 26px;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-sydney-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 5px;

    background: #077CEA;

    transform: scaleX(0);

    transform-origin: left;

    transition: transform 0.3s ease;
}

.kv-sydney-card:hover {
    transform: translateY(-6px);

    border-color: #077CEA;

    box-shadow: 0 15px 35px rgba(7, 124, 234, 0.14);
}

.kv-sydney-card:hover::before {
    transform: scaleX(1);
}


/* =========================================
   WIDE CARD
   ========================================= */

.kv-sydney-card-wide {
    grid-column: span 3;

    min-height: 180px;

    flex-direction: row;

    align-items: center;

    gap: 22px;
}


/* =========================================
   CARD ICON
   ========================================= */

.kv-sydney-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 57px;
    height: 57px;

    flex-shrink: 0;

    margin-bottom: 22px;

    background: #077CEA;

    border-radius: 18px;

    transition: transform 0.3s ease;
}

.kv-sydney-card:hover .kv-sydney-card-icon {
    transform: scale(1.08);
}

.kv-sydney-card-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #ffffff;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Wide card icon */

.kv-sydney-card-wide .kv-sydney-card-icon {
    margin-bottom: 0;
}


/* =========================================
   CARD CONTENT
   ========================================= */

.kv-sydney-card-content {
    position: relative;
}

.kv-sydney-card-content h3 {
    margin: 0 0 10px;
    text-align: justify;
    color:#000000;

    font-size: 18px;
    line-height: 1.35;

    font-weight: 700;
}

.kv-sydney-card-content p {
    margin: 0;

    color: #666666;
    text-align: justify;
    font-size: 14px;
    line-height: 1.7;

    font-weight: 500;
}


/* =========================================
   AVAILABILITY
   ========================================= */

.kv-sydney-availability {
    display: flex;
    align-items: center;

    gap: 18px;

    padding: 28px 30px;

    background: #077CEA;

    border-radius: 27px;
}

.kv-sydney-availability-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 17px;
}

.kv-sydney-availability-icon svg {
    width: 26px;
    height: 26px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kv-sydney-availability p {
    margin: 0;

    color: #ffffff;

    font-size: 16px;
    line-height: 1.6;

    font-weight: 700;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 950px) {

    .kv-sydney-cleaning {
        padding: 70px 20px;
    }

    .kv-sydney-heading h2 {
        font-size: 36px;
    }

    .kv-sydney-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .kv-sydney-card-wide {
        grid-column: span 2;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-sydney-cleaning {
        padding: 55px 16px;
    }


    /* Heading */

    .kv-sydney-heading h2 {
        font-size: 29px;
        line-height: 1.25;
    }

    .kv-sydney-heading-line {
        width: 50px;
        height: 3px;

        margin-top: 14px;
    }


    /* Introduction */

    .kv-sydney-intro {
        margin-bottom: 27px;
    }

    .kv-sydney-intro p {
        font-size: 14px;
        line-height: 1.7;
    }


    /* Area intro */

    .kv-sydney-area-intro {
        align-items: flex-start;

        justify-content: flex-start;

        gap: 11px;

        margin-bottom: 18px;
    }

    .kv-sydney-area-icon {
        width: 38px;
        height: 38px;
    }

    .kv-sydney-area-icon svg {
        width: 19px;
        height: 19px;
    }

    .kv-sydney-area-intro p {
        font-size: 14px;

        line-height: 1.6;
    }


    /* Grid */

    .kv-sydney-grid {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 15px;
    }


    /* Cards */

    .kv-sydney-card,
    .kv-sydney-card-wide {
        grid-column: auto;

        flex-direction: row;

        align-items: flex-start;

        gap: 14px;

        min-height: auto;

        padding: 19px 16px;

        border-radius: 19px;
    }


    /* Icons */

    .kv-sydney-card-icon,
    .kv-sydney-card-wide .kv-sydney-card-icon {
        width: 44px;
        height: 44px;

        margin: 0;

        border-radius: 13px;
    }

    .kv-sydney-card-icon svg {
        width: 22px;
        height: 22px;
    }


    /* Card text */

    .kv-sydney-card-content h3 {
        margin-bottom: 7px;

        font-size: 16px;
    }

    .kv-sydney-card-content p {
        font-size: 13px;

        line-height: 1.6;
    }


    /* Availability */

    .kv-sydney-availability {
        align-items: flex-start;

        gap: 13px;

        padding: 21px 17px;

        border-radius: 20px;
    }

    .kv-sydney-availability-icon {
        width: 42px;
        height: 42px;

        border-radius: 13px;
    }

    .kv-sydney-availability-icon svg {
        width: 21px;
        height: 21px;
    }

    .kv-sydney-availability p {
        font-size: 14px;

        line-height: 1.6;
    }

}


/* =========================================
   SCHOOL CLEANING COST
   REFINED VERTICAL LIST STYLE
   ========================================= */

.kv-cleaning-cost-section {
    width: 100%;
    padding: 40px 20px;

    background: #dcf0ff;
}

.kv-cleaning-cost-section *,
.kv-cleaning-cost-section *::before,
.kv-cleaning-cost-section *::after {
    box-sizing: border-box;
}

.kv-cleaning-cost-container {
    width: 100%;
    max-width: 1080px;

    margin: 0 auto;
}


/* =========================================
   HEADER
   ========================================= */

.kv-cleaning-cost-header {
    text-align:center;

    margin-bottom: 20px;
}

.kv-cleaning-cost-header h2 {
    margin: 0;
    
    color:#000000;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 700;
}

.kv-cleaning-cost-divider {
    width: 58px;
    height: 4px;

    margin: 18px auto 0;

    background: #077CEA;

    border-radius: 50px;
}


/* =========================================
   INTRO
   ========================================= */

.kv-cleaning-cost-intro {
    max-width: 750px;

    margin: 0 auto 42px;

    text-align: center;
}

.kv-cleaning-cost-intro p {
    margin: 0;

    color: #666666;

    font-size: 17px;
    line-height: 1.8;

    font-weight: 500;
}


/* =========================================
   CONTENT
   ========================================= */

.kv-cleaning-cost-content {
    width: 100%;
}


/* =========================================
   TITLE
   ========================================= */

.kv-cleaning-cost-title {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 20px;
}

.kv-cleaning-cost-title-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    background: #077CEA;

    border-radius: 50%;
}

.kv-cleaning-cost-title-icon svg {
    width: 24px;
    height: 24px;

    fill: none;

    stroke: #ffffff;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kv-cleaning-cost-title p {
    margin: 0;

    color:#000000;

    font-size: 18px;
    font-weight: 700;
}


/* =========================================
   COST LIST
   ========================================= */

.kv-cleaning-cost-list {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px 18px;
}


/* =========================================
   COST ITEM
   ========================================= */

.kv-cleaning-cost-item {
    position: relative;

    display: flex;
    align-items: center;

    gap: 16px;

    min-height: 76px;

    padding: 13px 20px;

    background: #ffffff;

    border-left: 4px solid #077CEA;

    border-radius: 8px;

    box-shadow: 0 4px 15px rgba(7, 124, 234, 0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.kv-cleaning-cost-item:hover {
    transform: translateX(5px);

    border-left-color: #666666;

    box-shadow: 0 8px 22px rgba(7, 124, 234, 0.12);
}


/* =========================================
   ICON
   ========================================= */

.kv-cleaning-cost-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;

    flex-shrink: 0;

    background: #dcf0ff;

    border-radius: 12px;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.kv-cleaning-cost-item:hover .kv-cleaning-cost-icon {
    background: #077CEA;

    transform: scale(1.06);
}

.kv-cleaning-cost-icon svg {
    width: 22px;
    height: 22px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition: stroke 0.3s ease;
}

.kv-cleaning-cost-item:hover .kv-cleaning-cost-icon svg {
    stroke: #ffffff;
}


/* =========================================
   TEXT
   ========================================= */

.kv-cleaning-cost-item span {
    color: #666666;

    font-size: 15px;
    line-height: 1.5;

    font-weight: 700;
}


/* =========================================
   ASSESSMENT
   ========================================= */

.kv-cleaning-cost-assessment {
    position: relative;

    display: flex;
    align-items: center;

    gap: 22px;

    margin-top: 28px;

    padding: 30px 35px;

    background:#077CEA;
    border-radius: 12px;
    overflow: hidden;
}

.kv-cleaning-cost-assessment::after {
    content: "";

    position: absolute;

    right: -45px;
    top: -45px;

    width: 130px;
    height: 130px;

    border: 1px solid #ffffff;

    border-radius: 50%;

    opacity: 0.12;
}

.kv-cleaning-cost-assessment-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 50%;
}

.kv-cleaning-cost-assessment-mark svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kv-cleaning-cost-assessment-content {
    position: relative;

    z-index: 2;
}

.kv-cleaning-cost-assessment-content p {
    margin: 0;

    color: #ffffff;

    font-size: 16px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 850px) {

    .kv-cleaning-cost-section {
        padding: 70px 20px;
    }

    .kv-cleaning-cost-header h2 {
        font-size: 36px;
    }

    .kv-cleaning-cost-list {
        grid-template-columns: repeat(2, 1fr);

        gap: 10px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-cleaning-cost-section {
        padding: 55px 16px;
    }


    /* Header */

    .kv-cleaning-cost-label {
        font-size: 9px;

        letter-spacing: 2px;

        margin-bottom: 9px;
    }

    .kv-cleaning-cost-header h2 {
        font-size: 29px;

        line-height: 1.25;
    }

    .kv-cleaning-cost-divider {
        width: 45px;
        height: 3px;

        margin-top: 14px;
    }


    /* Intro */

    .kv-cleaning-cost-intro {
        margin-bottom: 30px;
    }

    .kv-cleaning-cost-intro p {
        font-size: 14px;

        line-height: 1.7;
    }


    /* Title */

    .kv-cleaning-cost-title {
        gap: 11px;

        margin-bottom: 15px;
    }

    .kv-cleaning-cost-title-icon {
        width: 40px;
        height: 40px;
    }

    .kv-cleaning-cost-title-icon svg {
        width: 20px;
        height: 20px;
    }

    .kv-cleaning-cost-title p {
        font-size: 15px;
    }


    /* List */

    .kv-cleaning-cost-list {
        grid-template-columns: 1fr;

        gap: 9px;
    }


    /* Items */

    .kv-cleaning-cost-item {
        min-height: 65px;

        gap: 12px;

        padding: 10px 13px;

        border-left-width: 3px;

        border-radius: 7px;
    }

    .kv-cleaning-cost-icon {
        width: 40px;
        height: 40px;

        border-radius: 11px;
    }

    .kv-cleaning-cost-icon svg {
        width: 20px;
        height: 20px;
    }

    .kv-cleaning-cost-item span {
        font-size: 14px;

        line-height: 1.4;
    }


    /* Assessment */

    .kv-cleaning-cost-assessment {
        align-items: flex-start;

        gap: 13px;

        margin-top: 20px;

        padding: 21px 17px;
    }

    .kv-cleaning-cost-assessment-mark {
        width: 43px;
        height: 43px;
    }

    .kv-cleaning-cost-assessment-mark svg {
        width: 21px;
        height: 21px;
    }

    .kv-cleaning-cost-assessment-content p {
        font-size: 14px;

        line-height: 1.6;
    }

}


/* =========================================
   WHY HOURLY RATES CAN BE MISLEADING
   COMPARISON STYLE
   ========================================= */

.kv-hourly-rate-section {
    width: 100%;
    padding: 40px 20px;

    background: #ffffff;
}

.kv-hourly-rate-section *,
.kv-hourly-rate-section *::before,
.kv-hourly-rate-section *::after {
    box-sizing: border-box;
}

.kv-hourly-rate-container {
    width: 100%;
    max-width: 1080px;

    margin: 0 auto;
}


/* =========================================
   HEADER
   ========================================= */

.kv-hourly-rate-header {
    text-align: center;

    margin-bottom: 25px;
}

.kv-hourly-rate-eyebrow {
    display: inline-block;

    margin-bottom: 12px;

    color: #077CEA;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;
}

.kv-hourly-rate-header h2 {
    max-width: 850px;

    margin: 0 auto;

    color:#000000;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 700;
}

.kv-hourly-rate-line {
    width: 58px;
    height: 4px;

    margin: 18px auto 0;

    background: #077CEA;

    border-radius: 50px;
}


/* =========================================
   INTRO
   ========================================= */

.kv-hourly-rate-intro {
    max-width: 760px;

    margin: 0 auto 40px;

    text-align: center;
}

.kv-hourly-rate-intro p {
    margin: 0 0 18px;

    color: #666666;

    font-size: 17px;
    line-height: 1.8;

    font-weight: 500;
}

.kv-hourly-rate-intro strong {
    color:#000000;

    font-size: 18px;
    font-weight: 700;
}


/* =========================================
   FACTORS
   ========================================= */

.kv-hourly-rate-factors {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 16px;
}


/* =========================================
   FACTOR
   ========================================= */

.kv-hourly-rate-factor {
    position: relative;

    display: flex;
    align-items: center;

    gap: 18px;

    min-height: 105px;

    padding: 20px 22px;

    background: #dcf0ff;

    border-left: 4px solid #077CEA;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-hourly-rate-factor:hover {
    transform: translateY(-4px);

    background: #ffffff;

    box-shadow: 0 12px 30px rgba(7, 124, 234, 0.12);
}


/* =========================================
   ICON
   ========================================= */

.kv-hourly-rate-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    flex-shrink: 0;

    background: #ffffff;

    border: 1px solid #077CEA;

    border-radius: 14px;
}

.kv-hourly-rate-icon svg {
    width: 25px;
    height: 25px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   FACTOR CONTENT
   ========================================= */

.kv-hourly-rate-factor-content h3 {
    margin: 0 0 5px;

    color:#000000;

    font-size: 16px;
    line-height: 1.3;

    font-weight: 800;
}

.kv-hourly-rate-factor-content p {
    margin: 0;

    color: #666666;

    font-size: 14px;
    line-height: 1.6;

    font-weight: 500;
}


/* =========================================
   VALUE STATEMENT
   ========================================= */

.kv-hourly-rate-value {
    display: flex;
    align-items: center;
    border-radius:12px;
    gap: 20px;

    margin-top: 28px;

    padding: 30px 34px;

    background: #077CEA;
}

.kv-hourly-rate-value-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 50%;
}

.kv-hourly-rate-value-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kv-hourly-rate-value p {
    margin: 0;

    color: #ffffff;

    font-size: 16px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 850px) {

    .kv-hourly-rate-section {
        padding: 70px 20px;
    }

    .kv-hourly-rate-header h2 {
        font-size: 36px;
    }

    .kv-hourly-rate-factors {
        grid-template-columns: 1fr;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-hourly-rate-section {
        padding: 55px 16px;
    }


    /* Header */

    .kv-hourly-rate-eyebrow {
        font-size: 9px;

        letter-spacing: 2px;

        margin-bottom: 9px;
    }

    .kv-hourly-rate-header h2 {
        font-size: 29px;

        line-height: 1.25;
    }

    .kv-hourly-rate-line {
        width: 45px;
        height: 3px;

        margin-top: 14px;
    }


    /* Intro */

    .kv-hourly-rate-intro {
        margin-bottom: 28px;
    }

    .kv-hourly-rate-intro p {
        font-size: 14px;

        line-height: 1.7;

        margin-bottom: 14px;
    }

    .kv-hourly-rate-intro strong {
        font-size: 15px;
    }


    /* Factors */

    .kv-hourly-rate-factors {
        grid-template-columns: 1fr;

        gap: 10px;
    }


    /* Factor */

    .kv-hourly-rate-factor {
        min-height: 82px;

        gap: 13px;

        padding: 15px;

        border-left-width: 3px;
    }

    .kv-hourly-rate-factor:hover {
        transform: translateX(3px);
    }


    /* Icon */

    .kv-hourly-rate-icon {
        width: 43px;
        height: 43px;

        border-radius: 11px;
    }

    .kv-hourly-rate-icon svg {
        width: 21px;
        height: 21px;
    }


    /* Text */

    .kv-hourly-rate-factor-content h3 {
        font-size: 14px;

        margin-bottom: 3px;
    }

    .kv-hourly-rate-factor-content p {
        font-size: 13px;

        line-height: 1.5;
    }


    /* Value */

    .kv-hourly-rate-value {
        align-items: flex-start;

        gap: 13px;

        margin-top: 18px;

        padding: 21px 17px;
    }

    .kv-hourly-rate-value-icon {
        width: 43px;
        height: 43px;
    }

    .kv-hourly-rate-value-icon svg {
        width: 21px;
        height: 21px;
    }

    .kv-hourly-rate-value p {
        font-size: 14px;

        line-height: 1.6;
    }

}

/* =========================================
   SCHOOL CLEANING CONTRACTOR
   VERTICAL TIMELINE DESIGN
   ========================================= */

.kv-contractor-review {
    width: 100%;
    padding: 40px 20px;

    background:#dcf0ff;
}

.kv-contractor-review *,
.kv-contractor-review *::before,
.kv-contractor-review *::after {
    box-sizing: border-box;
}

.kv-contractor-review-container {
    width: 100%;
    max-width: 1000px;

    margin: 0 auto;
}


/* =========================================
   HEADING
   ========================================= */

.kv-contractor-review-heading {
    text-align: center;

    margin-bottom: 25px;
}

.kv-contractor-review-heading span {
    display: inline-block;

    margin-bottom: 12px;

    color: #077CEA;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2.5px;
}

.kv-contractor-review-heading h2 {
    margin: 0;

    color:#000000;

    font-size: 42px;
    line-height: 1.2;

    font-weight: 700;
}

.kv-contractor-review-accent {
    width: 55px;
    height: 4px;

    margin: 18px auto 0;

    background: #077CEA;
}


/* =========================================
   INTRO
   ========================================= */

.kv-contractor-review-intro {
    max-width: 750px;

    margin: 0 auto 45px;

    text-align: center;
}

.kv-contractor-review-intro p {
    margin: 0;

    color: #666666;

    font-size: 17px;
    line-height: 1.8;

    font-weight: 500;
}


/* =========================================
   TIMELINE
   ========================================= */

.kv-contractor-review-timeline {
    position: relative;

    max-width: 760px;

    margin: 0 auto;

    padding-left: 72px;
}


/* Vertical line */

.kv-contractor-review-timeline::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    left: 24px;

    width: 2px;

    background: #077CEA;

    opacity: 0.25;
}


/* =========================================
   TIMELINE ROW
   ========================================= */

.kv-contractor-review-row {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 68px;

    border-bottom: 1px solid #dcf0ff;

    transition: transform 0.3s ease;
}

.kv-contractor-review-row:hover {
    transform: translateX(7px);
}


/* =========================================
   MARKER
   ========================================= */

.kv-contractor-review-marker {
    position: absolute;

    left: -72px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    background: #ffffff;

    border: 2px solid #077CEA;

    border-radius: 50%;

    z-index: 2;
}

.kv-contractor-review-marker svg {
    width: 23px;
    height: 23px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   TEXT
   ========================================= */

.kv-contractor-review-content {
    width: 100%;

    padding: 14px 0;
}

.kv-contractor-review-content strong {
    color:#000000;

    font-size: 16px;
    line-height: 1.5;

    font-weight: 700;
}


/* =========================================
   CONCLUSION
   ========================================= */

.kv-contractor-review-conclusion {
    display: flex;
    align-items: center;

    gap: 20px;

    max-width: 760px;

    margin: 38px auto 0;

    padding: 28px 30px;
    border-radius: 12px;
    background: #077CEA;
}

.kv-contractor-review-check {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 50%;
}

.kv-contractor-review-check svg {
    width: 27px;
    height: 27px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kv-contractor-review-conclusion p {
    margin: 0;

    color: #ffffff;

    font-size: 16px;
    line-height: 1.7;

    font-weight: 600;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 750px) {

    .kv-contractor-review {
        padding: 70px 20px;
    }

    .kv-contractor-review-heading h2 {
        font-size: 36px;
    }

    .kv-contractor-review-timeline {
        max-width: 650px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-contractor-review {
        padding: 55px 16px;
    }


    /* Heading */

    .kv-contractor-review-heading span {
        font-size: 9px;

        letter-spacing: 2px;

        margin-bottom: 9px;
    }

    .kv-contractor-review-heading h2 {
        font-size: 29px;

        line-height: 1.25;
    }

    .kv-contractor-review-accent {
        width: 45px;
        height: 3px;

        margin-top: 14px;
    }


    /* Intro */

    .kv-contractor-review-intro {
        margin-bottom: 32px;
    }

    .kv-contractor-review-intro p {
        font-size: 14px;

        line-height: 1.7;
    }


    /* Timeline */

    .kv-contractor-review-timeline {
        padding-left: 57px;
    }

    .kv-contractor-review-timeline::before {
        left: 19px;
    }


    /* Row */

    .kv-contractor-review-row {
        min-height: 64px;
    }

    .kv-contractor-review-row:hover {
        transform: translateX(3px);
    }


    /* Marker */

    .kv-contractor-review-marker {
        left: -57px;

        width: 40px;
        height: 40px;

        border-width: 1.5px;
    }

    .kv-contractor-review-marker svg {
        width: 19px;
        height: 19px;
    }


    /* Text */

    .kv-contractor-review-content {
        padding: 12px 0;
    }

    .kv-contractor-review-content strong {
        font-size: 14px;

        line-height: 1.45;
    }


    /* Conclusion */

    .kv-contractor-review-conclusion {
        align-items: flex-start;

        gap: 13px;

        margin-top: 28px;

        padding: 21px 17px;
    }

    .kv-contractor-review-check {
        width: 43px;
        height: 43px;
    }

    .kv-contractor-review-check svg {
        width: 21px;
        height: 21px;
    }

    .kv-contractor-review-conclusion p {
        font-size: 14px;

        line-height: 1.6;
    }

}


/* =========================================
   WHAT SCHOOLS SHOULD ASK
   QUESTION CHECKLIST DESIGN
   ========================================= */

.kv-hiring-questions {
    width: 100%;
    padding: 90px 20px;

    background: #ffffff;
}

.kv-hiring-questions *,
.kv-hiring-questions *::before,
.kv-hiring-questions *::after {
    box-sizing: border-box;
}

.kv-hiring-questions-container {
    width: 100%;
    max-width: 1080px;

    margin: 0 auto;
}


/* =========================================
   HEADER
   ========================================= */

.kv-hiring-questions-header {
    position: relative;

    display: block;

    width: 100%;
    max-width: 900px;

    margin: 0 auto 28px;

    padding-left: 22px;

    border-left: 5px solid #077CEA;
}

.kv-hiring-questions-header h2 {
    margin: 0;

    color: #000000;

    font-size: 40px;
    line-height: 1.2;

    font-weight: 700;
}


/* =========================================
   INTRO
   ========================================= */

.kv-hiring-questions-intro {
    width: 100%;
    max-width: 900px;

    /* margin: 0 auto 35px; */

    padding-left: 90px;
}

.kv-hiring-questions-intro p {
    margin: 0;

    color: #666666;

    text-align: justify;

    font-size: 17px;
    line-height: 1.8;

    font-weight: 500;
}

.kv-hiring-questions-intro strong {
    color:#000000;

    font-weight: 700;
}


/* =========================================
   QUESTIONS
   ========================================= */

.kv-hiring-questions-list {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    width: 100%;

    gap: 0;

    border-top: 1px solid #dcf0ff;
    border-left: 1px solid #dcf0ff;
}


/* =========================================
   QUESTION ROW
   ========================================= */

.kv-hiring-question {
    display: flex;

    align-items: center;

    min-height: 92px;

    gap: 18px;

    padding: 18px 22px;

    background: #ffffff;

    border-right: 1px solid #dcf0ff;
    border-bottom: 1px solid #dcf0ff;

    transition:
        background 0.3s ease,
        padding-left 0.3s ease;
}

.kv-hiring-question:hover {
    background: #dcf0ff;

    padding-left: 27px;
}


/* =========================================
   QUESTION ICON
   ========================================= */

.kv-hiring-question-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    background: #dcf0ff;

    border: 1px solid #077CEA;

    border-radius: 50%;
}

.kv-hiring-question:hover .kv-hiring-question-icon {
    background: #077CEA;
}

.kv-hiring-question-icon svg {
    width: 22px;
    height: 22px;

    fill: none;

    stroke: #077CEA;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kv-hiring-question:hover .kv-hiring-question-icon svg {
    stroke: #ffffff;
}


/* =========================================
   QUESTION TEXT
   ========================================= */

.kv-hiring-question p {
    flex: 1;

    margin: 0;

    color: #666666;

    font-size: 15px;
    line-height: 1.6;

    font-weight: 700;
}


/* =========================================
   FINAL STATEMENT
   ========================================= */

.kv-hiring-questions-final {
    display: flex;

    align-items: center;

    width: 100%;

    gap: 20px;

    margin-top: 30px;

    padding: 30px 35px;

    background: #077CEA;
}

.kv-hiring-questions-final-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 50%;
}

.kv-hiring-questions-final-icon span {
    color: #077CEA;

    font-size: 30px;
    line-height: 1;

    font-weight: 800;
}

.kv-hiring-questions-final-content {
    flex: 1;

    color: #ffffff;
}

.kv-hiring-questions-final-content > span {
    display: block;

    margin-bottom: 6px;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 2px;
}

.kv-hiring-questions-final-content p {
    margin: 0 0 5px;

    font-size: 15px;
    line-height: 1.6;

    font-weight: 500;
}

.kv-hiring-questions-final-content strong {
    display: block;

    font-size: 20px;
    line-height: 1.4;

    font-weight: 800;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 850px) {

    .kv-hiring-questions {
        padding: 70px 20px;
    }

    .kv-hiring-questions-header {
        max-width: 100%;

        padding-left: 20px;
    }

    .kv-hiring-questions-header h2 {
        font-size: 35px;
    }

    .kv-hiring-questions-intro {
        max-width: 100%;

        padding-left: 0;
    }

    .kv-hiring-questions-list {
        grid-template-columns: 1fr;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .kv-hiring-questions {
        padding: 55px 16px;
    }


    /* Header */

    .kv-hiring-questions-header {
        display: block;

        width: 100%;

        margin-bottom: 20px;

        padding-left: 15px;

        border-left-width: 4px;
    }

    .kv-hiring-questions-header h2 {
        font-size: 28px;

        line-height: 1.25;
    }


    /* Intro */

    .kv-hiring-questions-intro {
        width: 100%;

        margin-bottom: 25px;

        padding-left: 0;
    }

    .kv-hiring-questions-intro p {
        font-size: 14px;

        line-height: 1.7;

        text-align: left;
    }


    /* Questions */

    .kv-hiring-questions-list {
        grid-template-columns: 1fr;

        width: 100%;
    }

    .kv-hiring-question {
        min-height: 72px;

        gap: 12px;

        padding: 13px 14px;
    }

    .kv-hiring-question:hover {
        padding-left: 17px;
    }


    /* Icons */

    .kv-hiring-question-icon {
        width: 40px;
        height: 40px;

        border-radius: 50%;
    }

    .kv-hiring-question-icon svg {
        width: 19px;
        height: 19px;
    }


    /* Text */

    .kv-hiring-question p {
        font-size: 13.5px;

        line-height: 1.5;
    }


    /* Final */

    .kv-hiring-questions-final {
        align-items: flex-start;

        width: 100%;

        gap: 13px;

        margin-top: 18px;

        padding: 21px 17px;
    }

    .kv-hiring-questions-final-icon {
        width: 43px;
        height: 43px;
    }

    .kv-hiring-questions-final-icon span {
        font-size: 23px;
    }

    .kv-hiring-questions-final-content > span {
        font-size: 8px;

        letter-spacing: 1.5px;
    }

    .kv-hiring-questions-final-content p {
        font-size: 13px;

        line-height: 1.5;
    }

    .kv-hiring-questions-final-content strong {
        font-size: 17px;
    }

}


/* =========================================================
   WHY CHOOSE KV CLEANING
   SCHOOL CLEANING SYDNEY
   ========================================================= */

.kv-why-choose-section {
    width: 100%;
    padding: 10px 20px;

    background: #dcf0ff;
}

.kv-why-choose-section *,
.kv-why-choose-section *::before,
.kv-why-choose-section *::after {
    box-sizing: border-box;
}


/* =========================================================
   MAIN CONTAINER
   ========================================================= */

.kv-why-choose-container {
    width: 100%;
    max-width: 1250px;

    margin: 0 auto;
}


/* =========================================================
   TOP SECTION
   LEFT CONTENT + RIGHT IMAGE
   ========================================================= */

.kv-why-choose-top {
    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    align-items: center;

    gap: 55px;

    min-height: 500px;
}


/* =========================================================
   LEFT CONTENT
   ========================================================= */

.kv-why-choose-content {
    position: relative;

    padding-left: 30px;
}

.kv-why-choose-content::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 5px;
    height: 100%;

    background: #077cea;

    border-radius: 10px;
}


/* =========================================================
   HEADING
   ========================================================= */

.kv-why-choose-content h2 {
    margin: 0 0 30px;

    color: #000000;

    font-size: 46px;
    line-height: 1.12;

    font-weight: 700;

    letter-spacing: -1.5px;
}


/* =========================================================
   PARAGRAPH
   ========================================================= */

.kv-why-choose-content p {
    margin: 0;
   text-align: justify;
    color: #666666;

    font-size: 18px;
    line-height: 1.8;

    font-weight: 500;
}

.kv-why-choose-content strong {
    color:#000000;

    font-weight: 700;
}


/* =========================================================
   RIGHT IMAGE
   ========================================================= */

.kv-why-choose-image {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    overflow: visible;
}

.kv-why-choose-image img {
    display: block;
    width: 100%;
    max-width: 850px;
    height: auto;
    object-fit: contain;
}

/* =========================================================
   APPROACH HEADING
   ========================================================= */

.kv-school-approach h3 {
    margin: 0 0 30px;

    color: #000000;

    font-size: 25px;
    line-height: 1.4;

    font-weight: 700;
}


/* =========================================================
   APPROACH GRID
   ========================================================= */

.kv-approach-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 0;

    border-top: 1px solid rgba(7, 124, 234, 0.18);
    border-left: 1px solid rgba(7, 124, 234, 0.18);
}


/* =========================================================
   APPROACH ITEM
   ========================================================= */

.kv-approach-item {
    display: flex;

    align-items: center;

    gap: 18px;

    min-height: 105px;

    padding: 20px 24px;

    background: #ffffff;

    border-right: 1px solid rgba(7, 124, 234, 0.18);
    border-bottom: 1px solid rgba(7, 124, 234, 0.18);

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.kv-approach-item:hover {
    background: #f8fcff;

    transform: translateY(-3px);
}


/* =========================================================
   ICON
   ========================================================= */

.kv-approach-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    flex-shrink: 0;

    background: #ffffff;

    border: 2px solid #077cea;

    border-radius: 50%;
}

.kv-approach-icon svg {
    width: 23px;
    height: 23px;

    fill: none;

    stroke: #077cea;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   STEP CONTENT
   ========================================================= */

.kv-approach-content {
    min-width: 0;
}

.kv-approach-content strong {
    display: block;

    margin-bottom: 5px;

    color: #000000;

    font-size: 16px;
    line-height: 1.4;

    font-weight: 700;
}

.kv-approach-content span {
    display: block;

    color: #666666;

    font-size: 14px;
    line-height: 1.6;

    font-weight: 500;
}


/* =========================================================
   LARGE TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .kv-why-choose-section {
        padding: 75px 20px;
    }

    .kv-why-choose-top {
        grid-template-columns: 0.9fr 1.1fr;

        gap: 35px;

        min-height: 450px;
    }

    .kv-why-choose-content h2 {
        font-size: 40px;
    }

    .kv-why-choose-content p {
        font-size: 16px;
    }

    .kv-why-choose-image img {
        max-width: 620px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 850px) {

    .kv-why-choose-section {
        padding: 70px 20px;
    }

    .kv-why-choose-top {
        grid-template-columns: 1fr;

        gap: 40px;

        min-height: auto;
    }


    /* LEFT */

    .kv-why-choose-content {
        max-width: 800px;
    }

    .kv-why-choose-content h2 {
        font-size: 38px;
    }


    /* IMAGE */

    .kv-why-choose-image {
        justify-content: center;
    }

    .kv-why-choose-image img {
        width: 90%;

        max-width: 650px;
    }


    /* APPROACH */

    .kv-school-approach {
        margin-top: 55px;
    }

    .kv-approach-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .kv-why-choose-section {
        padding: 55px 16px;
    }


    /* TOP */

    .kv-why-choose-top {
        gap: 30px;
    }


    /* LEFT CONTENT */

    .kv-why-choose-content {
        padding-left: 20px;
    }

    .kv-why-choose-content::before {
        width: 4px;
    }

    .kv-why-choose-content h2 {
        margin-bottom: 22px;

        font-size: 30px;

        line-height: 1.2;

        letter-spacing: -0.5px;
    }

    .kv-why-choose-content p {
        font-size: 14px;

        line-height: 1.7;
    }


    /* IMAGE */

    .kv-why-choose-image {
        width: 100%;
    }

    .kv-why-choose-image img {
        width: 100%;

        max-width: 540px;
    }


    /* APPROACH */

    .kv-school-approach {
        margin-top: 45px;
    }

    .kv-school-approach h3 {
        margin-bottom: 20px;

        font-size: 20px;

        line-height: 1.4;
    }


    /* STEP */

    .kv-approach-item {
        min-height: 82px;

        gap: 13px;

        padding: 15px;
    }


    /* ICON */

    .kv-approach-icon {
        width: 42px;
        height: 42px;
    }

    .kv-approach-icon svg {
        width: 19px;
        height: 19px;
    }


    /* TEXT */

    .kv-approach-content strong {
        font-size: 14px;
    }

    .kv-approach-content span {
        font-size: 13px;

        line-height: 1.5;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .kv-why-choose-section {
        padding: 45px 14px;
    }

    .kv-why-choose-content {
        padding-left: 17px;
    }

    .kv-why-choose-content h2 {
        font-size: 27px;
    }

    .kv-why-choose-content p {
        font-size: 13.5px;
    }

    .kv-why-choose-image img {
        width: 105%;
        max-width: none;

        margin-left: -2.5%;
    }

    .kv-approach-item {
        gap: 10px;

        padding: 13px;
    }

    .kv-approach-icon {
        width: 38px;
        height: 38px;
    }

    .kv-approach-content strong {
        font-size: 13.5px;
    }

    .kv-approach-content span {
        font-size: 12.5px;
    }
}

/* =========================================
   KV SCHOOLCLEAN APPROACH
========================================= */

.kv-schoolclean-approach {
    width: 100%;
    padding: 80px 20px;
    background: #f7f9fc;
    box-sizing: border-box;
}

.approach-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Heading */

.approach-heading {
    max-width: 800px;
    margin: 0 auto 50px;
    text-align: center;
}

.approach-label {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color:white;
    background-color: #077CEA;
    border: 1px solid #077CEA;
    padding: 10px 15px;
    border-radius:20px;
}

.approach-heading h2 {
    margin: 0 0 18px;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
    color:#000000;
}

.approach-heading p {
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #5e6878;
}

/* Principles Grid */

.principles-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

/* Cards */

.principle-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    min-height: 150px;
    padding: 28px 30px;
    background: #ffffff;
    border: 1px solid #e5e9ef;
    border-radius: 14px;
    box-sizing: border-box;
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.principle-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background:#077CEA;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.3s ease;
}

.principle-card:hover {
    transform: translateY(-5px);
    border-color:#077CEA;
    box-shadow: 0 12px 30px rgba(23, 32, 51, 0.08);
}

.principle-card:hover::before {
    transform: scaleY(1);
}

/* Number */

.principle-number {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background:#077CEA;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* Content */

.principle-content {
    flex: 1;
}

.principle-content h3 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    color: #172033;
}

.principle-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.65;
    color: #606b7a;
}

/* =========================================
   LAST CARD
========================================= */

.principle-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 11px);
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .kv-schoolclean-approach {
        padding: 65px 20px;
    }

    .approach-heading {
        margin-bottom: 40px;
    }

    .approach-heading h2 {
        font-size: 36px;
    }

    .principles-grid {
        gap: 18px;
    }

    .principle-card {
        padding: 25px;
    }

    .principle-card:last-child {
        max-width: calc(50% - 9px);
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .kv-schoolclean-approach {
        padding: 55px 16px;
    }

    .approach-heading {
        margin-bottom: 32px;
    }

    .approach-label {
        font-size: 12px;
        letter-spacing: 1.5px;
    }

    .approach-heading h2 {
        font-size: 30px;
        line-height: 1.25;
    }

    .approach-heading p {
        font-size: 16px;
        line-height: 1.6;
    }

    .principles-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .principle-card {
        min-height: auto;
        padding: 22px;
        gap: 17px;
    }

    .principle-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .principle-number {
        flex: 0 0 46px;
        width: 46px;
        height: 46px;
        font-size: 13px;
    }

    .principle-content h3 {
        font-size: 20px;
    }

    .principle-content p {
        font-size: 15px;
        line-height: 1.6;
    }
}

/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .kv-schoolclean-approach {
        padding: 45px 14px;
    }

    .approach-heading h2 {
        font-size: 27px;
    }

    .principle-card {
        padding: 20px 18px;
        gap: 14px;
    }

    .principle-number {
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
    }

    .principle-content h3 {
        font-size: 19px;
    }

    .principle-content p {
        font-size: 14px;
    }
}
/* the school cleaning checklist */

.school-cleaning-checklist {
    width: 100%;
    padding: 40px 20px;
    background:#dcf0ff;
    box-sizing: border-box;
}

.checklist-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* ================================
   HEADER
================================ */

.checklist-header {
    text-align: center;
    margin-bottom: 50px;
}

.checklist-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #077CEA;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.checklist-header h2 {
    margin: 0;
    color: black;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
}

/* ================================
   GRID
================================ */

.checklist-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

/* ================================
   CARD
================================ */

.checklist-card {
    position: relative;
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    box-sizing: border-box;
    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.checklist-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #077CEA;
}

.checklist-card:hover {
    transform: translateY(-5px);
    border-color: #077CEA;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

/* ================================
   CARD HEADER
================================ */

.checklist-card-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 25px;
}

.checklist-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #077CEA;
    color: #ffffff;

    border-radius: 50%;

    font-size: 13px;
    font-weight: 700;
}

.checklist-card h3 {
    margin: 0;
    color: black;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 700;
}

/* ================================
   CHECKLIST
================================ */

.checklist-card ul {
    margin: 0;
    padding: 0;
    list-style: none;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px 20px;
}

.checklist-card li {
    position: relative;
    padding-left: 25px;

    color: #666;
    font-size: 16px;
    line-height: 1.5;
}

.checklist-card li::before {
    content: "✓";

    position: absolute;
    left: 0;
    top: 0;

    color: #077CEA;
    font-size: 15px;
    font-weight: 700;
}

/* ================================
   NOTE
================================ */

.checklist-note {
    max-width: 900px;
    margin: 40px auto 0;
    padding: 22px 28px;

    background: #f8f8f8;
    border-left: 4px solid #077CEA;

    box-sizing: border-box;
}

.checklist-note p {
    margin: 0;
    color: #666;
    font-size: 16px;
    line-height: 1.7;
}

/* ================================
   TABLET
================================ */

@media (max-width: 900px) {

    .school-cleaning-checklist {
        padding: 65px 20px;
    }

    .checklist-header {
        margin-bottom: 40px;
    }

    .checklist-header h2 {
        font-size: 36px;
    }

    .checklist-grid {
        gap: 18px;
    }

    .checklist-card {
        padding: 26px;
    }

    .checklist-card h3 {
        font-size: 21px;
    }
}

/* ================================
   MOBILE
================================ */

@media (max-width: 700px) {

    .school-cleaning-checklist {
        padding: 55px 16px;
    }

    .checklist-header {
        margin-bottom: 32px;
    }

    .checklist-label {
        font-size: 12px;
    }

    .checklist-header h2 {
        font-size: 30px;
        line-height: 1.25;
    }

    .checklist-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .checklist-card {
        padding: 24px 22px;
    }

    .checklist-card-header {
        margin-bottom: 22px;
    }

    .checklist-card ul {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .checklist-card li {
        font-size: 15px;
    }

    .checklist-note {
        margin-top: 30px;
        padding: 20px 22px;
    }

    .checklist-note p {
        font-size: 15px;
    }
}

/* ================================
   SMALL MOBILE
================================ */

@media (max-width: 420px) {

    .school-cleaning-checklist {
        padding: 45px 14px;
    }

    .checklist-header h2 {
        font-size: 27px;
    }

    .checklist-card {
        padding: 21px 18px;
    }

    .checklist-icon {
        flex: 0 0 43px;
        width: 43px;
        height: 43px;
        font-size: 12px;
    }

    .checklist-card-header {
        gap: 14px;
    }

    .checklist-card h3 {
        font-size: 19px;
    }

    .checklist-card li {
        font-size: 14px;
    }

    .checklist-note {
        padding: 18px;
    }
}


.school-more-than-checklist {
    width: 100%;
    padding: 90px 20px;
    background: #ffffff;
    box-sizing: border-box;
}

.school-more-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}


/* =========================================
   TOP CONTENT
========================================= */

.school-more-content {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 80px;
    align-items: start;
    padding-bottom: 65px;
    border-bottom: 1px solid #e5e5e5;
}


/* =========================================
   HEADING
========================================= */

.school-more-heading {
    position: relative;
    padding-left: 25px;
}

.school-more-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 4px;
    height: 90px;
    background: #077CEA;
}

.school-more-label {
    display: inline-block;
    margin-bottom: 15px;

    color: #077CEA;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.school-more-heading h2 {
    margin: 0;

    color: black;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
}


/* =========================================
   INTRO TEXT
========================================= */

.school-more-text {
    padding-top: 35px;
}

.school-more-text p {
    position: relative;

    margin: 0 0 15px;
    padding-left: 25px;

    color: #666;
    font-size: 20px;
    line-height: 1.6;
}

.school-more-text p::before {
    content: "";
    position: absolute;

    left: 0;
    top: 12px;

    width: 7px;
    height: 7px;

    background: #077CEA;
    border-radius: 50%;
}

.school-more-text p:last-child {
    margin-bottom: 0;
}


/* =========================================
   BOTTOM CONTENT
========================================= */

.school-more-bottom {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 70px;
    padding-top: 65px;
}


/* =========================================
   UNDERSTANDING SECTION
========================================= */

.understanding-title {
    margin: 0 0 28px;

    color: black;
    font-size: 19px;
    line-height: 1.6;
    font-weight: 600;
}

.understanding-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.understanding-item {
    display: flex;
    align-items: center;
    gap: 15px;

    min-height: 60px;
    padding: 12px 16px;

    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;

    box-sizing: border-box;

    transition:
        border-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.understanding-item:hover {
    border-color: #077CEA;
    transform: translateX(4px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.understanding-item span {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;
    width: 34px;
    height: 34px;

    background: #077CEA;
    color: #ffffff;

    border-radius: 50%;

    font-size: 11px;
    font-weight: 700;
}

.understanding-item strong {
    color: black;
    font-size: 15px;
    line-height: 1.4;
}


/* =========================================
   CONCLUSION
========================================= */

.school-more-conclusion {
    display: flex;
    align-items: center;

    padding: 35px;

    background: #077CEA;
    border-radius: 12px;

    box-sizing: border-box;
}

.school-more-conclusion p {
    margin: 0;

    color: #ffffff;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 500;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 950px) {

    .school-more-than-checklist {
        padding: 70px 20px;
    }

    .school-more-content {
        gap: 45px;
    }

    .school-more-heading h2 {
        font-size: 36px;
    }

    .school-more-bottom {
        gap: 40px;
    }

    .school-more-conclusion {
        padding: 30px;
    }

    .school-more-conclusion p {
        font-size: 18px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .school-more-than-checklist {
        padding: 55px 16px;
    }

    .school-more-content {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-bottom: 45px;
    }

    .school-more-heading {
        padding-left: 20px;
    }

    .school-more-heading::before {
        height: 75px;
    }

    .school-more-label {
        font-size: 12px;
    }

    .school-more-heading h2 {
        font-size: 30px;
        line-height: 1.25;
    }

    .school-more-text {
        padding-top: 0;
    }

    .school-more-text p {
        font-size: 17px;
        padding-left: 21px;
    }

    .school-more-bottom {
        grid-template-columns: 1fr;
        gap: 35px;
        padding-top: 45px;
    }

    .understanding-title {
        font-size: 17px;
    }

    .understanding-list {
        grid-template-columns: 1fr;
    }

    .understanding-item {
        min-height: 56px;
    }

    .school-more-conclusion {
        padding: 25px;
    }

    .school-more-conclusion p {
        font-size: 17px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .school-more-than-checklist {
        padding: 45px 14px;
    }

    .school-more-heading h2 {
        font-size: 27px;
    }

    .school-more-text p {
        font-size: 15px;
        margin-bottom: 12px;
    }

    .understanding-title {
        font-size: 16px;
    }

    .understanding-item {
        padding: 10px 13px;
    }

    .understanding-item strong {
        font-size: 14px;
    }

    .school-more-conclusion {
        padding: 21px;
    }

    .school-more-conclusion p {
        font-size: 15px;
        line-height: 1.6;
    }
}


/* 
<!-- site assessment --> */

.kv-simple-school-section {
    width: 100%;
    padding: 80px 20px;
    background: #dcf0ff;
    box-sizing: border-box;
}

.kv-simple-container {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
}


/* =========================================
   ASSESSMENT
========================================= */

.kv-simple-assessment {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 60px;
    align-items: center;
}


/* Heading */

.kv-simple-heading span,
.kv-simple-sydney-heading span {
    display: inline-block;
    margin-bottom: 12px;
    border: 1px solid #077CEA;
    border-radius:15px;
    padding: 10px 15px;
    background-color:#077CEA;
    color:white;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.kv-simple-heading h2 {
    margin: 0 0 20px;

    color: black;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
}

.kv-simple-heading p {
    margin: 0 0 18px;

    color: #666;
    font-size: 18px;
    line-height: 1.6;
}

.kv-simple-heading strong {
    color: black;
    font-size: 16px;
    line-height: 1.5;
}


/* =========================================
   CHECKLIST
========================================= */

.kv-simple-checklist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
}

.kv-simple-check {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 13px 14px;

    border: 1px solid #eeeeee;
    background: #ffffff;

    box-sizing: border-box;
}

.kv-simple-check i {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 23px;

    width: 23px;
    height: 23px;

    background: #077CEA;
    color: #ffffff;

    border-radius: 50%;

    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.kv-simple-check span {
    color: #666;
    font-size: 14px;
    line-height: 1.4;
}


/* =========================================
   NOTE
========================================= */

.kv-simple-note {
    margin-top: 35px;
    padding: 20px 25px;

    background: #f7f7f7;
    border-left: 3px solid #077CEA;

    color: #666;
    font-size: 15px;
    line-height: 1.6;
}


/* =========================================
   SYDNEY SECTION
========================================= */

.kv-simple-sydney {
    padding-top: 70px;

    border-top: 1px solid #eeeeee;
}

.kv-simple-sydney-heading h2 {
    margin: 0 0 8px;

    color: black;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
}

.kv-simple-sydney-heading h3 {
    margin: 0;

    color: #666;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}


/* =========================================
   CONTENT
========================================= */

.kv-simple-sydney-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px;

    margin-top: 35px;
}

.kv-simple-sydney-content p {
    margin: 0;
    text-align: justify;
    color: #666;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================
   HIGHLIGHT
========================================= */

.kv-simple-highlight {
    margin-top: 35px;
    padding: 22px 25px;
    border-radius:15px;
    background: #077CEA;
    color: #ffffff;

    font-size: 18px;
    line-height: 1.6;
    font-weight: 600;
}


/* =========================================
   BUTTONS
========================================= */

.kv-simple-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 30px;
}

.kv-simple-buttons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 12px 22px;
    border-radius:10px;
    background: #ffffff;
    border: 1px solid #077CEA;

    color: #077CEA;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;

    text-decoration: none;

    box-sizing: border-box;

    transition:
        background 0.25s ease,
        color 0.25s ease;
}

.kv-simple-buttons a:hover {
    background: #077CEA;
    color: #ffffff;
}


/* =========================================
   FOOTER
========================================= */

.kv-simple-footer {
    margin: 30px 0 0;
    padding-top: 25px;

    border-top: 1px solid #eeeeee;

    color: #666;
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .kv-simple-school-section {
        padding: 65px 20px;
    }

    .kv-simple-assessment {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .kv-simple-heading h2 {
        font-size: 35px;
    }

    .kv-simple-sydney {
        margin-top: 65px;
        padding-top: 55px;
    }

    .kv-simple-sydney-heading h2 {
        font-size: 36px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 650px) {

    .kv-simple-school-section {
        padding: 50px 16px;
    }

    .kv-simple-heading h2 {
        font-size: 30px;
    }

    .kv-simple-heading p {
        font-size: 16px;
    }

    .kv-simple-checklist {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .kv-simple-check {
        padding: 12px;
    }

    .kv-simple-note {
        margin-top: 25px;
        padding: 18px;
        font-size: 14px;
    }

    .kv-simple-sydney {
        margin-top: 50px;
        padding-top: 45px;
    }

    .kv-simple-sydney-heading h2 {
        font-size: 30px;
    }

    .kv-simple-sydney-heading h3 {
        font-size: 18px;
    }

    .kv-simple-sydney-content {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 28px;
    }

    .kv-simple-sydney-content p {
        font-size: 15px;
    }

    .kv-simple-highlight {
        margin-top: 25px;
        padding: 19px;
        font-size: 16px;
    }

    .kv-simple-buttons {
        flex-direction: column;
    }

    .kv-simple-buttons a {
        width: 100%;
    }

    .kv-simple-footer {
        font-size: 13px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .kv-simple-school-section {
        padding: 45px 14px;
    }

    .kv-simple-heading h2 {
        font-size: 27px;
    }

    .kv-simple-sydney-heading h2 {
        font-size: 27px;
    }

    .kv-simple-sydney-heading h3 {
        font-size: 17px;
    }

    .kv-simple-check span {
        font-size: 13px;
    }

    .kv-simple-highlight {
        font-size: 15px;
    }
}


/* =========================================
   COMMON CAROUSEL
========================================= */

.kv-testimonial-carousel-section,
.kv-logo-carousel-section {
    width: 100%;
    box-sizing: border-box;
}

.kv-carousel-container {
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;

    text-align: center;
}

.kv-carousel-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 11px 26px;

    background: #077CEA;
    color: #ffffff;

    border-radius: 30px;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

.kv-carousel-title {
    margin: 22px 0 14px;

    color: black;

    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
}

.kv-carousel-subtitle {
    max-width: 900px;

    margin: 0 auto;

    color: #666;

    font-size: 18px;
    line-height: 1.7;
}


/* =========================================
   TESTIMONIAL SECTION
========================================= */

.kv-testimonial-carousel-section {
    padding: 80px 0 75px;

    background: #dcf0ff;

    overflow: hidden;
}


/* =========================================
   TESTIMONIAL CAROUSEL
========================================= */

.kv-carousel-wrapper {
    position: relative;

    width: 100%;

    margin-top: 60px;
}

.kv-carousel-viewport {
    width: 100%;

    overflow: hidden;
}

.kv-testimonial-track {
    display: flex;

    transition: transform 0.5s ease;
}

.kv-testimonial-slide {
    flex: 0 0 33.333333%;

    padding: 0 12px;

    box-sizing: border-box;
}


/* =========================================
   TESTIMONIAL CARD
========================================= */

.kv-testimonial-card {
    position: relative;

    min-height: 400px;

    padding: 42px 38px;

    background: #ffffff;

    border-radius: 25px;

    text-align: left;

    box-sizing: border-box;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04);
}

.kv-testimonial-header {
    display: flex;
    align-items: center;

    gap: 18px;

    position: relative;
    z-index: 2;
}

.kv-client-photo {
    width: 86px;
    height: 86px;

    flex: 0 0 86px;

    border: 4px solid #077CEA;

    border-radius: 50%;

    overflow: hidden;

    background: #666;

    box-sizing: border-box;
}

.kv-client-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.kv-letter {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 38px;
    font-weight: 500;
}

.kv-client-details {
    min-width: 0;
}

.kv-stars {
    margin-bottom: 7px;
    font-size: 17px;
    letter-spacing: 2px;
    color: #f4b400;
}

.kv-client-details h3 {
    margin: 0;

    color: black;

    font-size: 21px;
    line-height: 1.3;
}

.kv-testimonial-quote {
    position: absolute;

    top: 55px;
    right: 38px;

    color: #d9eaff;

    font-size: 65px;
    line-height: 0.7;
    font-weight: 700;
}

.kv-testimonial-card p {
    margin: 38px 0 0;

    color: #666;

    font-size: 16px;
    line-height: 1.8;

    text-align: justify;
}


/* =========================================
   ARROWS
========================================= */

.kv-carousel-arrow {
    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    z-index: 10;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    padding: 0;

    border: none;
    border-radius: 50%;

    background: #077CEA;
    color: #ffffff;

    font-size: 22px;
    line-height: 1;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.kv-carousel-arrow:hover {
    background: black;

    transform: translateY(-50%) scale(1.05);
}

.kv-testimonial-prev,
.kv-logo-prev {
    left: -23px;
}

.kv-testimonial-next,
.kv-logo-next {
    right: -23px;
}


/* =========================================
   DOTS
========================================= */

.kv-carousel-dots {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 28px;
}

.kv-carousel-dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border: none;
    border-radius: 50%;

    background: #666;

    cursor: pointer;

    transition:
        width 0.25s ease,
        background 0.25s ease;
}

.kv-carousel-dot.active {
    width: 25px;

    border-radius: 10px;

    background: #077CEA;
}


/* =========================================
   CLIENT LOGO SECTION
========================================= */

.kv-logo-carousel-section {
    padding: 80px 0 85px;

    background: #ffffff;

    overflow: hidden;
}


/* =========================================
   LOGO CAROUSEL
========================================= */

.kv-logo-carousel-wrapper {
    position: relative;

    margin-top: 55px;
}

.kv-logo-viewport {
    width: 100%;

    overflow: hidden;
}

.kv-logo-track {
    display: flex;

    transition: transform 0.5s ease;
}

.kv-logo-slide {
    flex: 0 0 25%;

    padding: 0 12px;

    box-sizing: border-box;
}

.kv-logo-card {
    height: 175px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 25px;

    background: #dcf0ff;

    border-radius: 18px;

    box-sizing: border-box;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.kv-logo-card:hover {
    transform: translateY(-5px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07);
}

.kv-logo-card img {
    display: block;

    width: auto;
    height: auto;

    max-width: 85%;
    max-height: 100px;

    object-fit: contain;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1050px) {

    .kv-carousel-title {
        font-size: 38px;
    }

    .kv-testimonial-slide {
        flex: 0 0 50%;
    }

    .kv-logo-slide {
        flex: 0 0 33.333333%;
    }

}


/* =========================================
   TABLET / MOBILE
========================================= */

@media (max-width: 768px) {

    .kv-testimonial-carousel-section,
    .kv-logo-carousel-section {
        padding: 65px 0;
    }

    .kv-carousel-title {
        font-size: 34px;
    }

    .kv-carousel-subtitle {
        font-size: 16px;
    }

    .kv-carousel-wrapper,
    .kv-logo-carousel-wrapper {
        margin-top: 42px;
    }

    .kv-testimonial-slide {
        flex: 0 0 100%;

        padding: 0 5px;
    }

    .kv-logo-slide {
        flex: 0 0 50%;

        padding: 0 7px;
    }

    .kv-testimonial-card {
        min-height: 360px;

        padding: 35px 28px;
    }

    .kv-logo-card {
        height: 150px;
    }

    .kv-testimonial-prev,
    .kv-logo-prev {
        left: 5px;
    }

    .kv-testimonial-next,
    .kv-logo-next {
        right: 5px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .kv-carousel-container {
        padding: 0 16px;
    }

    .kv-carousel-label {
        padding: 9px 20px;

        font-size: 13px;
    }

    .kv-carousel-title {
        margin-top: 18px;

        font-size: 29px;
    }

    .kv-carousel-subtitle {
        font-size: 15px;
        line-height: 1.6;
    }

    .kv-testimonial-slide {
        padding: 0;
    }

    .kv-testimonial-card {
        min-height: 350px;

        padding: 28px 22px;

        border-radius: 18px;
    }

    .kv-client-photo {
        width: 70px;
        height: 70px;

        flex-basis: 70px;
    }

    .kv-client-details h3 {
        font-size: 18px;
    }

    .kv-stars {
        font-size: 14px;
    }

    .kv-testimonial-quote {
        top: 42px;
        right: 22px;

        font-size: 52px;
    }

    .kv-testimonial-card p {
        margin-top: 28px;

        font-size: 14px;
        line-height: 1.75;
    }

    .kv-logo-slide {
        flex: 0 0 100%;

        padding: 0;
    }

    .kv-logo-card {
        height: 140px;

        border-radius: 15px;
    }

    .kv-logo-card img {
        max-width: 75%;
        max-height: 85px;
    }

    .kv-carousel-arrow {
        width: 40px;
        height: 40px;

        font-size: 18px;
    }

    .kv-testimonial-prev,
    .kv-logo-prev {
        left: 8px;
    }

    .kv-testimonial-next,
    .kv-logo-next {
        right: 8px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 400px) {

    .kv-carousel-title {
        font-size: 26px;
    }

    .kv-testimonial-card {
        padding: 25px 18px;
    }

    .kv-testimonial-card p {
        font-size: 13px;
    }

    .kv-logo-card {
        height: 125px;
    }

}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.kv-trust-section {
    width: 100%;
    padding: 90px 20px;
    background:white;
    overflow: hidden;
}

.kv-trust-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}


/* =========================================================
   HEADING
   ========================================================= */

.kv-trust-heading {
    max-width: 750px;
    margin: 0 auto 50px;
    text-align: center;
}

.kv-trust-label {
    display: inline-block;
    background-color: #077CEA;
    margin-bottom: 10px;
    border: 1px solid #077CEA;
    font-size: 13px;
    line-height: 1;
    padding:10px 15px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    border-radius:15px;
    color:white;
}

.kv-trust-heading h2 {
    margin: 0 0 15px;

    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;

    color: #181818;
}

.kv-trust-heading p {
    margin: 0;

    font-size: 16px;
    line-height: 1.7;

    color: #666;
}


/* =========================================================
   TESTIMONIAL CAROUSEL
   ========================================================= */

.kv-testimonial-carousel {
    display: flex;
    align-items: center;

    width: 100%;
}

.kv-testimonial-window {
    width: 100%;
    overflow: hidden;
}

.kv-testimonial-track {
    display: flex;

    transition:
        transform 0.7s cubic-bezier(.4, 0, .2, 1);

    will-change: transform;
}


/* =========================================================
   TESTIMONIAL CARD
   ========================================================= */

.kv-testimonial-card {
    flex: 0 0 calc(33.333333% - 20px);

    margin: 0 10px;

    min-height: 385px;

    padding: 32px;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #e9e9e9;

    border-radius: 14px;

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.05);
}


/* =========================================================
   CARD TOP
   ========================================================= */

.kv-testimonial-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 20px;
}

.kv-stars {
    font-size: 19px;
    letter-spacing: 2px;

    color:#f4b400;
}

.kv-quote {
    font-size: 48px;
    line-height: 0.7;

    color:#077CEA;

    font-family: Georgia, serif;
}


/* =========================================================
   REVIEW TEXT
   ========================================================= */

.kv-testimonial-card > p {
    margin: 0 0 28px;

    flex: 1;

    font-size: 15px;
    line-height: 1.75;

    color: #555;
}


/* =========================================================
   REVIEWER
   ========================================================= */

.kv-reviewer {
    display: flex;
    align-items: center;

    gap: 13px;

    padding-top: 20px;

    border-top: 1px solid #eeeeee;
}

.kv-reviewer-image {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:#077CEA;

    color: #ffffff;

    font-size: 18px;
    font-weight: 700;
}

.kv-reviewer-info {
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.kv-reviewer-info strong {
    font-size: 15px;
    color: #171717;
}

.kv-reviewer-info small {
    font-size: 12px;
    color: #888;
}


/* =========================================================
   ARROWS
   ========================================================= */

.kv-testimonial-arrow,
.kv-logo-arrow {
    width: 46px;
    height: 46px;

    flex-shrink: 0;

    border: 1px solid #dedede;
    border-radius: 50%;

    background: #ffffff;

    color: #222;

    font-size: 19px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: all 0.25s ease;

    z-index: 5;
}

.kv-testimonial-arrow:hover,
.kv-logo-arrow:hover {
    background:#077CEA;
    color: #ffffff;
    border-color:#077CEA;
}

.kv-testimonial-left,
.kv-logo-left {
    margin-right: 18px;
}

.kv-testimonial-right,
.kv-logo-right {
    margin-left: 18px;
}


/* =========================================================
   TESTIMONIAL DOTS
   ========================================================= */

.kv-testimonial-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
}

.kv-testimonial-dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background:#077CEA;

    cursor: pointer;

    transition: all 0.3s ease;
}

.kv-testimonial-dot.active {
    width: 28px;

    border-radius: 10px;

    background:#077CEA;
}


/* =========================================================
   CLIENT LOGOS SECTION
   ========================================================= */

.kv-client-section {
    margin-top: 90px;
    padding-top: 65px;

    border-top: 1px solid #e5e5e5;
}

.kv-client-heading {
    max-width: 760px;

    margin: 0 auto 38px;

    text-align: center;
}

.kv-client-heading h3 {
    margin: 0 0 14px;

    font-size: 32px;
    line-height: 1.25;

    color: #171717;
}

.kv-client-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.7;

    color: #666;
}


/* =========================================================
   LOGO CAROUSEL
   ========================================================= */

.kv-logo-carousel {
    display: flex;
    align-items: center;

    width: 100%;
}

.kv-logo-window {
    width: 100%;
    overflow: hidden;
}

.kv-logo-track {
    display: flex;

    transition:
        transform 0.7s cubic-bezier(.4, 0, .2, 1);

    will-change: transform;
}

.kv-logo-card {
    flex: 0 0 25%;

    min-height: 120px;

    padding: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border: 1px solid #eeeeee;

    margin: 0 8px;

    border-radius: 10px;
}

.kv-logo-card img {
    display: block;

    width: 100%;
    max-width: 175px;

    height: 75px;

    object-fit: contain;
    transition:
        filter 0.3s ease,
        opacity 0.3s ease,
        transform 0.3s ease;
}

.kv-logo-card:hover img {
    transform: scale(1.04);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .kv-trust-section {
        padding: 75px 18px;
    }

    .kv-trust-heading h2 {
        font-size: 36px;
    }

    .kv-testimonial-card {
        flex: 0 0 calc(50% - 20px);
    }

    .kv-logo-card {
        flex: 0 0 calc(33.333333% - 16px);
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .kv-trust-section {
        padding: 60px 15px;
    }

    .kv-trust-heading {
        margin-bottom: 35px;
    }

    .kv-trust-heading h2 {
        font-size: 30px;
    }

    .kv-trust-heading p {
        font-size: 15px;
    }

    .kv-testimonial-card {
        flex: 0 0 calc(100% - 20px);

        min-height: 360px;

        padding: 26px 22px;
    }

    .kv-testimonial-arrow,
    .kv-logo-arrow {
        width: 40px;
        height: 40px;

        font-size: 16px;
    }

    .kv-testimonial-left,
    .kv-logo-left {
        margin-right: 7px;
    }

    .kv-testimonial-right,
    .kv-logo-right {
        margin-left: 7px;
    }

    .kv-client-section {
        margin-top: 65px;
        padding-top: 50px;
    }

    .kv-client-heading h3 {
        font-size: 27px;
    }

    .kv-logo-card {
        flex: 0 0 calc(100% - 16px);

        min-height: 115px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .kv-trust-section {
        padding: 50px 10px;
    }

    .kv-trust-heading h2 {
        font-size: 27px;
    }

    .kv-testimonial-card {
        min-height: 390px;
        padding: 24px 20px;
    }

    .kv-testimonial-card > p {
        font-size: 14px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .kv-testimonial-track,
    .kv-logo-track,
    .kv-testimonial-arrow,
    .kv-logo-arrow,
    .kv-logo-card img,
    .kv-testimonial-dot {
        transition: none !important;
    }

}