/* =========================================================
   TENDERSKHOJ HERO
========================================================= */


/* =========================================================
   HERO WRAPPER
========================================================= */

.tk-wrap {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}


/* =========================================================
   HERO
========================================================= */

.tk-hero {
    position: relative;
    min-height: 420px;

    display: flex;
    align-items: flex-end;

    color: #ffffff;

    overflow: visible;
    margin-bottom: 60px;
}


/* =========================================================
   HERO BACKGROUND
========================================================= */
.tk-hero-bg {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(10, 30, 20, 0.15) 0%,
            rgba(8, 25, 17, 0.55) 55%,
            rgba(6, 20, 14, 0.85) 100%
        ),
        url("../images/heroBgImg.png")
        center 30% / cover no-repeat;
}
/* =========================================================
   HERO INNER
========================================================= */

.tk-hero-inner {
    position: relative;
    z-index: 2;

    width: 100%;
}


/* =========================================================
   HERO TOP CONTENT
========================================================= */

.tk-hero-top {
    padding-top: 48px;
    padding-bottom: 26px;
}


.tk-hero-top h1 {
    margin: 0 0 10px;

    font-size: 44px;
    line-height: 1.15;

    font-weight: 800;

    text-shadow:
        0 2px 10px rgba(0, 0, 0, 0.25);
}


.tk-hero-top h1 .accent {
    color: #4ee08a;
}


.tk-hero-top p {
    margin: 0;

    max-width: 560px;

    font-size: 16px;
    line-height: 1.5;

    color: #eef3ef;

    opacity: 0.95;
}


/* =========================================================
   STATS
========================================================= */

.tk-stat-row {
    display: flex;
    align-items: center;

    gap: 34px;

    margin-top: 26px;

    flex-wrap: wrap;
}


.tk-stat {
    display: flex;
    align-items: center;

    gap: 9px;

    font-size: 14px;
    font-weight: 600;
}


.tk-stat .dot {
    width: 34px;
    height: 34px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 16px;
}


.tk-stat b {
    display: block;

    font-size: 16px;
    line-height: 1.2;
}


.tk-stat small {
    display: block;

    margin-top: 2px;

    font-size: 12.5px;
    font-weight: 400;

    opacity: 0.85;
}


/* =========================================================
   SEARCH CARD
========================================================= */

.tk-search-card {
    position: relative;
    z-index: 3;

    margin: 26px 0 -60px;

    padding: 20px 22px;

    background: #ffffff;

    border-radius: 14px;

    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
    padding-bottom :25px;
}


/* =========================================================
   SEARCH GRID
========================================================= */

.tk-search-grid {
    display: grid;

    grid-template-columns:
        3.5fr
        1fr
        1fr
        auto;

    gap: 12px;

    align-items: end;
}


/* =========================================================
   FIELD
========================================================= */

.tk-field label {
    display: block;

    margin-bottom: 11px;

    font-size: 11.5px;
    font-weight: 700;

    color: #6b7a74;

    text-transform: uppercase;

    letter-spacing: 0.4px;
}


/* =========================================================
   INPUT WRAPPER
========================================================= */

.tk-input {
    min-height: 22px;

    display: flex;
    align-items: center;

    gap: 8px;

    padding: 10px 12px;

    border: 1px solid #e6eae7;

    border-radius: 8px;

    background: #fbfcfb;

    font-size: 14px;

    color: #3a4740;
}


.tk-input:focus-within {
    border-color: #158a52;
}


/* =========================================================
   TEXT INPUT
========================================================= */

.tk-input input {
    width: 100%;

    border: none;
    outline: none;

    background: transparent;

    font-size: 14px;

    color: #3a4740;
}


.tk-input input::placeholder {
    color: #8a9690;
}


/* =========================================================
   SELECT
========================================================= */

.tk-input select {
    width: 100%;

    border: none;
    outline: none;

    background: transparent;

    font-size: 14px;

    color: #3a4740;

    cursor: pointer;
}


/* =========================================================
   SEARCH ICON
========================================================= */

.tk-search-icon {
    flex-shrink: 0;

    font-size: 15px;
}


/* =========================================================
   SEARCH BUTTON
========================================================= */

.tk-search-btn {
    height: 42px;

    padding: 0 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    white-space: nowrap;

    border: none;
    border-radius: 8px;

    background: #158a52;

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.15s ease,
        transform 0.15s ease;
}


.tk-search-btn:hover {
    background: #11603f;
}


.tk-search-btn:active {
    transform: translateY(1px);
}


/* =========================================================
   ADVANCED SEARCH
========================================================= */

.tk-search-foot {
    display: flex;
    justify-content: flex-end;

    margin-top: 10px;
}


.tk-search-foot a {
    font-size: 13px;

    font-weight: 600;

    color: #0e4f37;

    text-decoration: none;
}


.tk-search-foot a:hover {
    text-decoration: underline;
}


/* =========================================================
   QUICK FILTERS
========================================================= */

.quick-filters-strip {
    background: var(--cream);
    padding: 18px 0;
    width: 100%;
}

.qf-row {
    display: flex;
    align-items: center;
    gap: 10px;

    flex-wrap: nowrap;

    width: 100%;

    padding: 0;
}


/* =========================================================
   LABEL
========================================================= */

.qf-label {
    flex-shrink: 0;

    font-size: 14px;
    font-weight: 700;

    color: #65736d;

    margin-right: 4px;

    white-space: nowrap;
    font-family: 'Segoe UI', Arial, sans-serif;

}


/* =========================================================
   FILTER PILL
========================================================= */

.pill {
    flex-shrink: 0;

    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 14px;

    border: 1px solid #e0e5e2;

    border-radius: 18px;

    background: #ffffff;

    color: #26332d;

    font-family: 'Segoe UI', Arial, sans-serif;

    font-size: 12.5px;
    font-weight: 500;

    line-height: 1;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease;
}


/* Hover */

.pill:hover {
    border-color: var(--green-600);

    color: var(--green-700);

    background: #f7fcf9;
}


/* =========================================================
   ACTIVE PILL
========================================================= */

.pill.on {
    background: #158a52;

    border-color: #158a52;

    color: #ffffff;

    font-weight: 600;

    box-shadow: none;
}


/* Active hover */

.pill.on:hover {
    background: #11603f;

    border-color: #11603f;

    color: #ffffff;
}


/* Click */

.pill:active {
    transform: translateY(1px);
}


/* =========================================================
   FEATURE STRIP
========================================================= */

.features {
    display: grid;

    grid-template-columns: repeat(6, 1fr);

    gap: 14px;

    padding: 26px 0 10px;
}

.feature-card {
    background: #ffffff;

    border: 1px solid var(--border);

    border-radius: 10px;

    padding: 16px 12px;

    text-align: center;
}

.feature-card .fi {
    width: 38px;
    height: 38px;

    margin: 0 auto 10px;

    border-radius: 9px;

    background: #e9f7ef;

    color: var(--green-600);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 18px;
}

.feature-card b {
    display: block;

    font-size: 13px;

    margin-bottom: 3px;
}

.feature-card span {
    font-size: 11.5px;

    color: var(--muted);

    line-height: 1.35;
}


.news-strip {
    background: #66CDAA;
    color: rgba(255, 255, 255, 0.92);
    padding: 10px 0;
        margin-top: 30px;
}

.news-strip .wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;

    display: flex;
    align-items: center;
    gap: 16px;
}

/* Procurement News label */

.news-tag {
    flex-shrink: 0;

    font-family: var(--display);
    font-weight: 600;
    font-size: 11.5px;
    letter-spacing: .035em;
    text-transform: uppercase;
    color: rgb(0 0 0 / 94%);
    background: rgb(255 255 255 / 45%);

    padding: 6px 11px;
    border-radius: 6px;

    white-space: nowrap;
}

/* Marquee viewport */

.marquee-wrap {
    overflow: hidden;
    flex: 1;

    mask-image: linear-gradient(
        to right,
        transparent 0,
        black 3%,
        black 97%,
        transparent 100%
    );

    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0,
        black 3%,
        black 97%,
        transparent 100%
    );
}

/* Moving content */

.marquee-track {
    display: inline-flex;
    align-items: center;
    gap: 42px;

    white-space: nowrap;

    animation: procurement-news-scroll 20s linear infinite;
}

/* News links */

.marquee-track a {
    flex-shrink: 0;

    font-family: var(--body);
    font-size: 12.5px;
    font-weight: 400;

color: rgb(0 0 0 / 88%);
    text-decoration: none;

    white-space: nowrap;
}

.marquee-track a:hover {
    color: #070707;
    text-decoration: none;
    transform: scale(1.1);
}

/* Smooth marquee */

@keyframes procurement-news-scroll {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }

}

/* Pause only when user intentionally hovers */

.news-strip:hover .marquee-track {
    animation-play-state: paused;
}




/* =========================================================
   EVERYTHING YOU NEED TO KNOW ABOUT TENDERSKHOJ
   ========================================================= */

  /* =========================================================
   TENDERSKHOJ — INFORMATION / FAQ SECTION
========================================================= */

.tk-info-section {
    padding: 55px 0 60px;
    background: #ffffff;
}


/* =========================================================
   CONTAINER
========================================================= */

.tk-wrap {
    width: min(1240px, calc(100% - 64px));
    margin: 0 auto;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.tk-section-head {
    max-width: 720px;
    margin: 0 auto 38px;
    text-align: center;
}


.tk-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    color: #247A52;

    font-family: var(--display, "Sora", sans-serif);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;
}


.tk-eyebrow::before,
.tk-eyebrow::after {
    content: "";

    width: 22px;
    height: 1.5px;

    background: #9bcab2;

    border-radius: 10px;
}


.tk-section-head h2 {
    margin: 11px 0 0;

    font-family: var(--display, "Sora", sans-serif);

    font-size: clamp(27px, 3vw, 36px);

    font-weight: 700;

    line-height: 1.2;

    letter-spacing: -.025em;

    color: #101827;
}


/* =========================================================
   ACCORDION GRID
========================================================= */

.tk-panel-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;

    align-items: start;
}


/* =========================================================
   CARD
========================================================= */

.tk-info-panel {
    position: relative;

    background: #ffffff;

    border: 1px solid #e5ebe7;

    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 4px 16px rgba(16, 24, 39, .025);

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.tk-info-panel:hover {
    border-color: #d8e6de;

    box-shadow:
        0 10px 28px rgba(16, 24, 39, .055);
}


/* =========================================================
   ACCORDION HEADER
========================================================= */

.tk-accordion-header {
    width: 100%;

    min-height: 86px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding: 18px 20px;

    border: 0;

    background: transparent;

    cursor: pointer;

    text-align: left;
}


.tk-accordion-title {
    display: flex;

    align-items: center;

    gap: 13px;

    min-width: 0;
}


/* =========================================================
   ICON
========================================================= */

.tk-panel-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #eaf5ef;

    color: #247A52;

    transition:
        background .2s ease,
        color .2s ease;
}


/* =========================================================
   HEADING
========================================================= */

.tk-info-panel h4 {
    margin: 0;

    font-family: var(--display, "Sora", sans-serif);

    font-size: 16px;

    font-weight: 700;

    line-height: 1.3;

    color: #101827;
}


/* =========================================================
   ARROW
========================================================= */

.tk-accordion-arrow {
    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f3f7f5;

    color: #247A52;

    transition:
        transform .3s ease,
        background .2s ease;
}


.tk-accordion-arrow svg {
    display: block;
}


/* =========================================================
   ACCORDION CONTENT
========================================================= */

.tk-accordion-content {
    display: grid;

    grid-template-rows: 0fr;

    opacity: 0;

    transition:
        grid-template-rows .35s ease,
        opacity .25s ease;
}


.tk-accordion-content > * {
    min-height: 0;

    overflow: hidden;
}


/* =========================================================
   OPEN STATE
========================================================= */

.tk-accordion.active .tk-accordion-content {
    grid-template-rows: 1fr;

    opacity: 1;

    padding: 0 20px 22px;
}


.tk-accordion.active .tk-accordion-arrow {
    transform: rotate(180deg);

    background: #e7f3ed;
}


.tk-accordion.active .tk-panel-icon {
    background: #e4f2eb;
}


/* =========================================================
   PARAGRAPH
========================================================= */

.tk-info-panel p {
    margin: 0;

    font-family: var(--body, "Inter", sans-serif);

    font-size: 13.5px;

    font-weight: 400;

    line-height: 1.65;

    color: #5b6472;
}


/* =========================================================
   LINKS
========================================================= */

.tk-info-panel p a {
    color: #247A52;

    font-weight: 600;

    text-decoration: none;

    transition: color .15s ease;
}


.tk-info-panel p a:hover {
    color: #17613F;

    text-decoration: underline;
}


/* =========================================================
   SUB CONTENT
========================================================= */

.tk-sub {
    margin-top: 17px;

    padding-top: 14px;

    border-top: 1px solid #edf1ef;
}


.tk-sub h6 {
    margin: 0 0 5px;

    font-family: var(--display, "Sora", sans-serif);

    font-size: 13px;

    font-weight: 650;

    line-height: 1.3;

    color: #172033;
}


.tk-sub p {
    margin: 0;
}


/* =========================================================
   WHY TENDERSKHOJ LIST
========================================================= */

.tk-info-list {
    margin: 0;

    padding: 0;

    list-style: none;
}


.tk-info-list li {
    position: relative;

    margin: 0 0 12px;

    padding-left: 21px;

    font-family: var(--body, "Inter", sans-serif);

    font-size: 13.5px;

    line-height: 1.55;

    color: #5b6472;
}


.tk-info-list li:last-child {
    margin-bottom: 0;
}


.tk-info-list li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 7px;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #247A52;
}



    /* =========================================
    BROWSE THE PORTAL
    ========================================= */

    .portal-section {
        position: relative;
        padding: 78px 0;
        background: #f7faf8;
        border-top: 1px solid #e9eeeb;
        border-bottom: 1px solid #e9eeeb;
        overflow: hidden;
    }

    .portal-container {
        width: min(1240px, calc(100% - 64px));
        margin: 0 auto;
    }


    /* -----------------------------------------
    Heading
    ----------------------------------------- */

    .portal-heading {
        text-align: center;
        max-width: 720px;
        margin: 0 auto 42px;
    }

    .portal-eyebrow {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;

        color: #27845a;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .09em;
        text-transform: uppercase;
        font-family: var(--display, "Sora", sans-serif);
    }

    .portal-eyebrow span {
        width: 26px;
        height: 1.5px;
        background: #79b998;
        border-radius: 10px;
    }

    .portal-heading h2 {
        margin: 12px 0 0;

        font-family: "Sora", sans-serif;
        font-size: clamp(27px, 3vw, 36px);
        line-height: 1.2;
        letter-spacing: -.025em;
        color: #101827;
    }

    .portal-heading p {
        margin: 12px auto 0;
        max-width: 600px;

        color: #687282;
        font-size: 14.5px;
        line-height: 1.65;
            font-family: var(--display, "Sora", sans-serif);

    }


    /* -----------------------------------------
    Cards Grid
    ----------------------------------------- */

    .portal-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
    }


    /* -----------------------------------------
    Card
    ----------------------------------------- */

    .portal-card {
        position: relative;

        display: flex;
        flex-direction: column;
        align-items: center;

        padding: 24px 20px 25px;

        background: #ffffff;
        border: 1px solid #e5ebe7;
        border-radius: 16px;

        text-decoration: none;

        box-shadow: 0 5px 18px rgba(16, 24, 39, .035);

        transition:
            transform .22s ease,
            box-shadow .22s ease,
            border-color .22s ease;
    }

    .portal-card:hover {
        transform: translateY(-4px);

        border-color: #d5e4db;

        box-shadow:
            0 14px 34px rgba(16, 24, 39, .075);
    }


    /* -----------------------------------------
    Illustration Area
    ----------------------------------------- */

    .portal-image {
        position: relative;

        width: 100%;
        height: 220px;

        border-radius: 14px;

        overflow: hidden;

        display: flex;
        align-items: center;
        justify-content: center;

        margin-bottom: 20px;
    }


    /* Indian */

    .indian-image {
        background:
            radial-gradient(
                circle at 50% 40%,
                #ffffff 0,
                #e9f5ed 58%,
                #dcefe3 100%
            );
    }

    .portal-icon {
        font-size: 74px;
        transform: translateY(-10px);
        filter: drop-shadow(0 8px 12px rgba(0,0,0,.08));
    }


    /* Document */

    .portal-document {
        position: absolute;

        right: 22px;
        bottom: 24px;

        width: 88px;
        height: 116px;

        padding: 12px 10px;

        background: #fff;
        border-radius: 7px;

        box-shadow:
            0 12px 25px rgba(16,24,39,.12);

        display: flex;
        flex-direction: column;
        gap: 6px;

        transform: rotate(-4deg);
    }

    .portal-document strong {
        color: #24558f;
        font-family: "Sora", sans-serif;
        font-size: 10px;
    }

    .portal-document span {
        height: 5px;
        width: 72%;
        background: #e5e9ee;
        border-radius: 5px;
    }

    .portal-document span:nth-child(3) {
        width: 88%;
    }

    .portal-document span:nth-child(4) {
        width: 60%;
    }

    .portal-document b {
        width: 22px;
        height: 22px;

        margin-top: auto;

        display: flex;
        align-items: center;
        justify-content: center;

        border-radius: 50%;

        background: #dff2e7;
        color: #34865b;

        font-size: 13px;
    }


    /* -----------------------------------------
    Global
    ----------------------------------------- */

    .global-image {
        background:
            radial-gradient(
                circle at 50% 50%,
                #ffffff 0,
                #e4f3fb 55%,
                #d5ecf8 100%
            );
    }

    .globe {
        font-size: 104px;
        filter: drop-shadow(0 10px 15px rgba(0,0,0,.08));
    }

    .portal-pin {
        position: absolute;

        width: 15px;
        height: 15px;

        border-radius: 50%;

        color: #fff;
        font-size: 0;

        box-shadow: 0 3px 8px rgba(0,0,0,.15);
    }

    .portal-pin::after {
        content: "";
        position: absolute;

        width: 6px;
        height: 6px;

        left: 50%;
        top: 50%;

        transform: translate(-50%, -50%);

        border-radius: 50%;
        background: #fff;
    }

    .pin-one {
        top: 55px;
        left: 68px;
        background: #e48a35;
    }

    .pin-two {
        top: 88px;
        right: 58px;
        background: #37956c;
    }

    .pin-three {
        bottom: 65px;
        left: 84px;
        background: #e48a35;
    }


/* -----------------------------------------
   Sector
----------------------------------------- */

.sector-image {
    background:
        radial-gradient(
            circle at 50% 45%,
            #fffdf6 0,
            #fff4d9 58%,
            #f9ebc8 100%
        );
}

.sector-icons {
    width: 150px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;

    transform: translateY(-20px);
}

.sector-icons span {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #fff;

    box-shadow: 0 6px 14px rgba(16,24,39,.09);

    font-size: 18px;
}

.sector-icons span:nth-child(1) {
    color: #5a86d7;
}

.sector-icons span:nth-child(2) {
    color: #3d9c72;
}

.sector-icons span:nth-child(3) {
    color: #dc7d70;
}

.sector-icons span:nth-child(4) {
    color: #e6a333;
}

.sector-icons span:nth-child(5) {
    color: #537a9d;
}

.sector-icons span:nth-child(6) {
    color: #668c73;
}

.sector-folder {
    position: absolute;

    width: 105px;
    height: 70px;

    bottom: 28px;
    left: 50%;

    transform: translateX(-50%);

    background: #e9a52d;

    border-radius: 5px 7px 9px 9px;

    box-shadow: 0 10px 18px rgba(0,0,0,.08);
}

.sector-folder::before {
    content: "";

    position: absolute;

    width: 42px;
    height: 12px;

    top: -8px;
    left: 8px;

    background: #e9a52d;

    border-radius: 6px 6px 0 0;
}


/* -----------------------------------------
   Free Tenders
----------------------------------------- */

.free-image {
    background:
        radial-gradient(
            circle at 50% 45%,
            #ffffff 0,
            #e8f5ed 60%,
            #dcefe4 100%
        );
}

.free-document {
    position: relative;

    width: 108px;
    height: 135px;

    padding: 13px;

    background: #fff;

    border-radius: 7px;

    box-shadow: 0 12px 25px rgba(16,24,39,.11);

    display: flex;
    flex-direction: column;
    gap: 7px;

    z-index: 2;
}

.free-document strong {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    height: 27px;

    background: #299563;
    color: #fff;

    border-radius: 5px;

    font-family: "Sora", sans-serif;
    font-size: 11px;
}

.free-document span {
    width: 80%;
    height: 5px;

    border-radius: 5px;

    background: #e5e9ed;
}

.free-document span:nth-child(3) {
    width: 90%;
}

.free-document span:nth-child(4) {
    width: 65%;
}

.free-document b {
    margin: auto auto 0;

    width: 27px;
    height: 27px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #dff2e7;
    color: #33895e;
}

.leaf {
    position: absolute;

    width: 85px;
    height: 38px;

    background: #9bd0ad;

    border-radius: 100% 0 100% 0;

    opacity: .65;
}

.leaf-one {
    bottom: 40px;
    left: 25px;
    transform: rotate(35deg);
}

.leaf-two {
    bottom: 38px;
    right: 25px;
    transform: rotate(-35deg);
}


/* -----------------------------------------
   Card Text
----------------------------------------- */

.portal-card h3 {
    margin: 0;

    font-family: "Sora", sans-serif;
    font-size: 16px;
    font-weight: 700;

    color: #111827;

    text-align: center;
}

.portal-card p {
    margin: 9px 0 0;

    max-width: 220px;

    color: #707987;

    font-size: 13px;
    line-height: 1.55;

    text-align: center;
}


/* -----------------------------------------
   Arrow
----------------------------------------- */

.portal-arrow {
    width: 38px;
    height: 38px;

    margin-top: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #edf7f1;
    color: #3a9366;

    font-size: 21px;
    font-weight: 500;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.portal-card:hover .portal-arrow {
    background: #dcefe4;
    color: #2f8058;

    transform: translateX(2px);
}

/* =========================================================
   SAMPLE TENDER SECTION
   ========================================================= */

.sample-section {
    padding: 50px 0;
    background: #ffffff;
}

.sample-wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 32px;
}


/* ---------- Main Card ---------- */

.sample-card {
    position: relative;
    overflow: hidden;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(440px, 500px);

    gap: 60px;
    align-items: center;

    padding: 48px 52px;

    background:
        linear-gradient(
            135deg,
            #f1f8f4 0%,
            #f7fbf9 52%,
            #edf7f2 100%
        );

    border: 1px solid #dfeae4;
    border-radius: 18px;
}


/* subtle decorative circle */

.sample-card::before {
    content: "";
    position: absolute;

    width: 280px;
    height: 280px;

    left: -130px;
    bottom: -160px;

    border-radius: 50%;

    background: rgba(45, 150, 101, 0.055);

    pointer-events: none;
}

.sample-card::after {
    content: "";
    position: absolute;

    width: 220px;
    height: 220px;

    right: -100px;
    top: -120px;

    border-radius: 50%;

    background: rgba(45, 150, 101, 0.045);

    pointer-events: none;
}


/* ---------- Content ---------- */

.sample-content {
    position: relative;
    z-index: 1;
    max-width: 560px;
}


/* ---------- Eyebrow ---------- */

.sample-eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;

    color: #398665;

    font-family: "Sora", sans-serif;
    font-size: 11.5px;
    font-weight: 700;

    letter-spacing: .075em;
    text-transform: uppercase;
}

.sample-eyebrow-line {
    width: 20px;
    height: 2px;

    border-radius: 2px;

    background: #398665;
}


/* ---------- Heading ---------- */

.sample-content h2 {
    margin: 11px 0 0;

    font-family: "Sora", sans-serif;

    font-size: clamp(25px, 3vw, 32px);
    line-height: 1.2;

    letter-spacing: -0.025em;

    color: #101827;
}


/* ---------- Description ---------- */

.sample-content > p {
    max-width: 48ch;

    margin: 13px 0 0;

    color: #626c78;

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.7;
}


/* ---------- Points ---------- */

.sample-points {
    display: flex;
    flex-wrap: wrap;

    gap: 18px;

    margin-top: 24px;
}

.sample-point {
    display: flex;
    align-items: center;
    gap: 8px;

    color: #59656a;

    font-family: "Inter", sans-serif;
    font-size: 12.5px;
    font-weight: 500;
}

.sample-check {
    width: 23px;
    height: 23px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    color: #398665;
    background: #dfeee6;
}

.sample-check svg {
    width: 13px;
    height: 13px;
}


/* =========================================================
   FORM
   ========================================================= */

.sample-form-wrap {
    position: relative;
    z-index: 2;
}


/* ---------- Form Card ---------- */

.sample-form {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 14px;

    padding: 24px;

    background: #ffffff;

    border: 1px solid #e1e7e4;
    border-radius: 14px;

    box-shadow:
        0 12px 35px rgba(16, 24, 39, 0.07);
}


/* ---------- Fields ---------- */

.sample-field {
    min-width: 0;
}

.sample-field-full {
    grid-column: span 2;
}

.sample-field label {
    display: block;

    margin-bottom: 6px;

    color: #59636f;

    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 600;

    letter-spacing: .02em;
}

.sample-field input {
    width: 100%;

    height: 43px;

    padding: 0 12px;

    border: 1px solid #dfe4e2;
    border-radius: 8px;

    outline: none;

    background: #ffffff;

    color: #101827;

    font-family: "Inter", sans-serif;
    font-size: 13px;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.sample-field input::placeholder {
    color: #9aa3aa;
}

.sample-field input:hover {
    border-color: #cbd7d1;
}

.sample-field input:focus {
    border-color: #78aa91;

    background: #fcfefd;

    box-shadow:
        0 0 0 3px rgba(57, 134, 101, 0.08);
}


/* ---------- Submit Button ---------- */

.sample-submit {
    grid-column: span 2;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    width: 100%;
    height: 45px;

    margin-top: 2px;

    border: 0;
    border-radius: 8px;

    background: #398665;

    color: #ffffff;

    font-family: "Inter", sans-serif;
    font-size: 13.5px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.sample-submit:hover {
    background: #327b5c;

    box-shadow:
        0 6px 18px rgba(57, 134, 101, 0.18);

    transform: translateY(-1px);
}

.sample-submit:active {
    transform: translateY(0);
}

.sample-submit-arrow {
    font-size: 17px;
    line-height: 1;

    transition: transform .18s ease;
}

.sample-submit:hover .sample-submit-arrow {
    transform: translateX(3px);
}


/* ---------- Loading State ---------- */

.sample-submit.is-loading {
    pointer-events: none;
    opacity: .75;
}

.sample-submit.is-loading .sample-submit-arrow {
    display: none;
}

.sample-submit.is-loading .sample-submit-text::after {
    content: "...";
}


/* ---------- Message ---------- */

.sample-message {
    grid-column: span 2;

    min-height: 18px;

    margin-top: 0;

    font-family: "Inter", sans-serif;
    font-size: 12px;

    text-align: center;
}

.sample-message.success {
    color: #398665;
}

.sample-message.error {
    color: #b04b4b;
}

/* =========================================================
   TENDERSKHOJ — CLIENT / TRUSTED BY SECTION
========================================================= */

.tk-clients-section {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 50px 0 82px;

    background: #ffffff;
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.tk-clients-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.tk-section-heading {
    max-width: 720px;

    margin: 0 auto 48px;

    text-align: center;
}


/* =========================================================
   EYEBROW
========================================================= */

.tk-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 15px;

    font-size: 11px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 1.7px;

    color: #64748b;
}


.tk-eyebrow-dot {
    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: #159a7d;
}


/* =========================================================
   MAIN HEADING
========================================================= */

.tk-section-heading h2 {
    margin: 0;

    font-size: clamp(30px, 4vw, 44px);

    line-height: 1.14;

    font-weight: 750;

    letter-spacing: -1.2px;

    color: #172033;
}


.tk-section-heading h2 span {
    color: #159a7d;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.tk-section-heading p {
    max-width: 650px;

    margin: 17px auto 0;

    font-size: 15px;

    line-height: 1.7;

    color: #6b7280;
}


/* =========================================================
   LOGO SLIDER
========================================================= */

.tk-logo-slider {
    position: relative;

    width: 100%;

    overflow: hidden;

    padding: 8px 0 18px;
}


/* =========================================================
   SOFT SIDE FADE
========================================================= */

.tk-logo-slider::before,
.tk-logo-slider::after {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    width: 85px;

    z-index: 5;

    pointer-events: none;
}


.tk-logo-slider::before {
    left: 0;

    background: linear-gradient(
        to right,
        #ffffff 0%,
        rgba(255, 255, 255, 0) 100%
    );
}


.tk-logo-slider::after {
    right: 0;

    background: linear-gradient(
        to left,
        #ffffff 0%,
        rgba(255, 255, 255, 0) 100%
    );
}


/* =========================================================
   LOGO TRACK
========================================================= */

.tk-logo-track {
    display: flex;
    align-items: center;

    width: max-content;

    gap: 20px;

    will-change: transform;

    animation: tkLogoScroll 42s linear infinite;
}


/*
 * Stop animation while hovering.
 * This makes it easier to inspect a logo.
 */

.tk-logo-slider:hover .tk-logo-track {
    animation-play-state: paused;
}


/* =========================================================
   LOGO CARD
========================================================= */

.tk-logo-item {
    position: relative;

     flex: 0 0 180px;

    width: 225px;
    height: 110px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 6px 12px;

    background: #ffffff;

    border: 1px solid #e7ecef;

    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 4px 15px rgba(15, 23, 42, 0.035);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


/* =========================================================
   CARD HOVER
========================================================= */

.tk-logo-item:hover {
    transform: translateY(-4px);

    border-color: #d7e5e1;

    box-shadow:
        0 12px 28px rgba(15, 23, 42, 0.075);
}


/* =========================================================
   LOGO IMAGE
========================================================= */
.tk-logo-item img {
    display: block;

    width: 100%;
    height: 100%;

    max-width: 220px;
    max-height: 115px;

    object-fit: contain;

    mix-blend-mode: normal;

    opacity: 0.98;

    transform: scale(1.12);

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

/* =========================================================
   LOGO HOVER
========================================================= */
.tk-logo-item:hover img {
    opacity: 1;

    transform: scale(1.16);
}


/* =========================================================
   INFINITE SCROLL ANIMATION
========================================================= */

@keyframes tkLogoScroll {

    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }

}


/* =========================================================
   TRUST NOTE
========================================================= */

.tk-client-trust-note {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    max-width: 720px;

    margin: 35px auto 0;

    padding: 0 10px;

    font-size: 12.5px;

    line-height: 1.55;

    color: #7a8491;

    text-align: center;
}


/* =========================================================
   TRUST CHECK ICON
========================================================= */

.tk-trust-icon {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 21px;

    width: 21px;
    height: 21px;

    border-radius: 50%;

    background: #e8f5f1;

    color: #16866f;

    font-size: 11px;

    font-weight: 700;
}



/* =========================================================
   TENDERSKHOJ — PREMIUM TESTIMONIAL SECTION
========================================================= */

.tk-testimonials-section {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 15px 0 100px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(21, 154, 125, 0.045),
            transparent 30%
        ),
        #ffffff;
}


/* =========================================================
   CONTAINER
========================================================= */

.tk-testimonials-container {
    width: min(1180px, calc(100% - 40px));

    margin: 0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.tk-testimonials-heading {
    max-width: 760px;

    margin: 0 auto 52px;

    text-align: center;
}


.tk-testimonials-heading .tk-eyebrow {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 15px;

    font-size: 11px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 1.7px;

    color: #64748b;
}


.tk-eyebrow-dot {
    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: #159a7d;
}


.tk-testimonials-heading h2 {
    margin: 0;

    font-size: clamp(31px, 4vw, 45px);

    line-height: 1.13;

    font-weight: 750;

    letter-spacing: -1.4px;

    color: #172033;
}


.tk-testimonials-heading h2 span {
    color: #159a7d;
}


.tk-testimonials-heading p {
    max-width: 650px;

    margin: 17px auto 0;

    font-size: 15px;

    line-height: 1.7;

    color: #6b7280;
}


/* =========================================================
   CLIENT LOGOS
========================================================= */

.tk-testimonial-logos {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 14px;

    margin-bottom: 38px;

    overflow-x: auto;

    padding: 8px 5px 14px;

    scrollbar-width: none;
}


.tk-testimonial-logos::-webkit-scrollbar {
    display: none;
}


/* =========================================================
   CLIENT LOGO BUTTON
========================================================= */

.tk-client-logo {
    position: relative;

    flex: 0 0 138px;

    width: 138px;
    height: 82px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 8px;

    border: 1px solid #e5eaed;

    border-radius: 13px;

    background: #ffffff;

    cursor: pointer;

    overflow: hidden;

    box-shadow:
        0 4px 14px rgba(15, 23, 42, 0.025);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


.tk-client-logo:hover {
    transform: translateY(-3px);

    border-color: #c9ded8;

    box-shadow:
        0 9px 22px rgba(15, 23, 42, 0.07);
}


/* =========================================================
   ACTIVE LOGO
========================================================= */

.tk-client-logo.active {
    border-color: #159a7d;

    background: #f5fbf9;

    box-shadow:
        0 8px 24px rgba(21, 154, 125, 0.10);
}


.tk-client-logo.active::after {
    content: "";

    position: absolute;

    left: 50%;

    bottom: -1px;

    width: 26px;
    height: 3px;

    transform: translateX(-50%);

    border-radius: 5px;

    background: #159a7d;
}


/* =========================================================
   LOGO IMAGE
========================================================= */

.tk-client-logo img {
    display: block;

    width: 100%;
    height: 80px;
    max-width: 125px;
    max-height: 138px;

    object-fit: contain;

    opacity: 0.72;

    transform: scale(1.12);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}


.tk-client-logo:hover img,
.tk-client-logo.active img {
    opacity: 1;

    transform: scale(1.18);
}


/* =========================================================
   MAIN TESTIMONIAL CARD
========================================================= */

.tk-testimonial-layout {
    display: grid;

    grid-template-columns: 235px minmax(0, 1fr);

    min-height: 390px;

    overflow: hidden;

    border: 1px solid #e3e9e7;

    border-radius: 24px;

    background: #ffffff;

    box-shadow:
        0 18px 55px rgba(15, 23, 42, 0.065);
}


/* =========================================================
   LEFT BRAND PANEL
========================================================= */

.tk-testimonial-brand {
    position: relative;

    display: flex;

    align-items: flex-end;

    padding: 38px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(255,255,255,0.13),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            #173b36 0%,
            #125b4d 55%,
            #159a7d 100%
        );
}


.tk-testimonial-brand::before {
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    right: -95px;
    top: -85px;

    border: 1px solid rgba(255,255,255,0.12);

    border-radius: 50%;
}


.tk-testimonial-brand::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: -65px;
    top: -50px;

    border: 1px solid rgba(255,255,255,0.09);

    border-radius: 50%;
}


.tk-brand-inner {
    position: relative;

    z-index: 2;
}


/* =========================================================
   QUOTE MARK
========================================================= */

.tk-quote-mark {
    display: block;

    margin-bottom: 8px;

    font-family: Georgia, serif;

    font-size: 86px;

    line-height: 0.75;

    font-weight: 700;

    color: rgba(255,255,255,0.92);
}


.tk-brand-label {
    font-size: 12px;

    line-height: 1.5;

    font-weight: 600;

    letter-spacing: 1.8px;

    color: rgba(255,255,255,0.70);
}


.tk-brand-label strong {
    display: block;

    font-size: 22px;

    letter-spacing: 0;

    color: #ffffff;
}


/* =========================================================
   TESTIMONIAL CONTENT
========================================================= */

.tk-testimonial-content {
    min-width: 0;

    display: flex;

    flex-direction: column;

    padding: 43px 48px 35px;
}


/* =========================================================
   TOP
========================================================= */

.tk-testimonial-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 25px;
}


.tk-testimonial-label {
    display: block;

    margin-bottom: 7px;

    font-size: 10px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: #159a7d;
}


.tk-testimonial-top h3 {
    margin: 0;

    font-size: 24px;

    line-height: 1.25;

    font-weight: 750;

    letter-spacing: -0.4px;

    color: #172033;
}


/* =========================================================
   CONTROLS
========================================================= */

.tk-testimonial-controls {
    display: flex;

    gap: 8px;
}


.tk-testimonial-arrow {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #e0e7e5;

    border-radius: 50%;

    background: #ffffff;

    color: #334155;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


.tk-testimonial-arrow svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.tk-testimonial-arrow:hover {
    color: #ffffff;

    border-color: #159a7d;

    background: #159a7d;

    transform: translateY(-1px);
}


/* =========================================================
   DIVIDER
========================================================= */

.tk-testimonial-divider {
    width: 100%;

    height: 1px;

    margin: 25px 0 25px;

    background: #e8eceb;
}


/* =========================================================
   TESTIMONIAL BODY
========================================================= */

.tk-testimonial-body {
    flex: 1;

    display: flex;

    align-items: center;
}


.tk-testimonial-body p {
    margin: 0;

    max-width: 850px;

    font-size: 16px;

    line-height: 1.85;

    color: #56616f;

    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
}


.tk-testimonial-body p.tk-changing {
    opacity: 0;

    transform: translateY(7px);
}


/* =========================================================
   BOTTOM
========================================================= */

.tk-testimonial-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: 30px;
}


.tk-client-status {
    display: flex;

    align-items: center;

    gap: 9px;

    font-size: 12px;

    color: #7a8491;
}


.tk-status-icon {
    width: 22px;
    height: 22px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e8f5f1;

    color: #16866f;
}


.tk-status-icon svg {
    width: 12px;
    height: 12px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2.5;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =========================================================
   DOTS
========================================================= */

.tk-testimonial-dots {
    display: flex;

    align-items: center;

    gap: 6px;
}


.tk-testimonial-dot {
    width: 6px;
    height: 6px;

    padding: 0;

    border: 0;

    border-radius: 20px;

    background: #d7dfdd;

    cursor: pointer;

    transition:
        width 0.25s ease,
        background 0.25s ease;
}


.tk-testimonial-dot.active {
    width: 20px;

    background: #159a7d;
}
/* ============================ */

/* =========================================================
   TENDERSKHOJ — HOME PAGE RESPONSIVE CSS  (v2)
   ---------------------------------------------------------
   LOAD ORDER: this file must come AFTER home.css, header.css
   and footer.css. In your page, put it right after:
   <link href=".../assets/css/home.css" rel="stylesheet">
   (all selectors are prefixed with "body" so they win over
   the same-class rules in home.css even if order is off)
   ========================================================= */


/* ---------- Safety net against sideways scroll ---------- */
html { overflow-x: hidden; }
body img { max-width: 100%; }


/* =========================================================
   ≤ 1200px
========================================================= */
@media (max-width: 1200px) {

    /* logo row: centered when it fits, left-aligned + scrollable when not
       (plain justify-content:center cuts off the first logo) */
    body .tk-testimonial-logos { justify-content: flex-start; }
    body .tk-client-logo:first-child { margin-left: auto; }
    body .tk-client-logo:last-child  { margin-right: auto; }
}


/* =========================================================
   ≤ 1100px
========================================================= */
@media (max-width: 1100px) {

    body .tk-hero-top h1 { font-size: 38px; }

    /* quick filters: single scrollable row */
    body .qf-row {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 2px;
    }
    body .qf-row::-webkit-scrollbar { display: none; }
    body .qf-row > a { flex-shrink: 0; }

    body .features { grid-template-columns: repeat(3, 1fr); }

    body .portal-grid { grid-template-columns: repeat(2, 1fr); }

    body .sample-card {
        grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
        gap: 36px;
        padding: 40px 34px;
    }

    body .tk-testimonial-layout { grid-template-columns: 200px minmax(0, 1fr); }
    body .tk-testimonial-brand { padding: 30px 26px; }
    body .tk-testimonial-content { padding: 36px 34px 30px; }
}


/* =========================================================
   ≤ 991px  (tablet)
========================================================= */
@media (max-width: 991px) {

    /* ---------- HEADER (header.css not seen — best-effort) ---------- */
    body .utility .wrap {
        flex-direction: column;
        align-items: center;
        gap: 8px;
        text-align: center;
    }
    body .utility .contacts,
    body .utility .actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px 14px;
    }
    body header.nav .nav-inner {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 20px;
        padding-left: 10px;
    }
    body header.nav .links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2px 6px;
        width: 100%;
    }

    /* ---------- CONTAINERS (fixes width + padding overflow) ---------- */
    body .tk-wrap {
        box-sizing: border-box;
        width: calc(100% - 40px);
        padding-left: 0;
        padding-right: 0;
    }
    body .portal-container,
    body .tk-clients-container,
    body .tk-testimonials-container { width: calc(100% - 40px); }
    body .sample-wrap,
    body .news-strip .wrap { padding-left: 20px; padding-right: 20px; }

    /* ---------- HERO ---------- */
    body .tk-hero { min-height: 0; margin-bottom: 40px; }
    body .tk-hero-top { padding-top: 40px; padding-bottom: 20px; }
    body .tk-hero-top h1 { font-size: 34px; }
    body .tk-hero-top p { max-width: 100%; }
    body .tk-stat-row { gap: 16px 26px; }

    /* card overhang and hero margin MUST match */
    body .tk-search-card { margin: 22px 0 -40px; }

    /* 3 children (keyword, search, advanced) */
    body .tk-search-grid { grid-template-columns: minmax(0, 1fr) auto auto; }

    /* ---------- INFO / FAQ ---------- */
    body .tk-info-section { padding: 45px 0 50px; }
    body .tk-panel-grid { grid-template-columns: 1fr; }

    /* ---------- PORTAL ---------- */
    body .portal-section { padding: 60px 0; }

    /* ---------- SAMPLE ---------- */
    body .sample-card {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 36px 30px;
    }
    body .sample-content,
    body .sample-content > p { max-width: 100%; }
    body .sample-form-wrap { max-width: 600px; }

    /* ---------- CLIENTS ---------- */
    body .tk-clients-section { padding: 40px 0 64px; }
    body .tk-section-heading { margin-bottom: 36px; }
    body .tk-logo-item { flex: 0 0 170px; width: 170px; height: 100px; }

    /* ---------- TESTIMONIALS ---------- */
    body .tk-testimonials-section { padding: 10px 0 70px; }
    body .tk-testimonials-heading { margin-bottom: 38px; }

    body .tk-testimonial-layout { grid-template-columns: 1fr; min-height: 0; }
    body .tk-testimonial-brand { padding: 22px 30px; align-items: center; }
    body .tk-brand-inner { display: flex; align-items: center; gap: 16px; }
    body .tk-quote-mark { font-size: 58px; margin-bottom: 0; line-height: .8; }
    body .tk-brand-label strong { font-size: 20px; }

    /* ---------- FOOTER (footer.css not seen — best-effort) ---------- */
    body footer.site .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
}


/* =========================================================
   ≤ 768px  (large phones)
========================================================= */
@media (max-width: 768px) {

    body .tk-hero-bg { background-position: center 20%; }
    body .tk-hero-top { padding-top: 30px; padding-bottom: 16px; }
    body .tk-hero-top h1 { font-size: 30px; }
    body .tk-hero-top p { font-size: 15px; }
    body .tk-stat-row { margin-top: 18px; gap: 14px 22px; }

    body .tk-search-card { padding: 18px 16px 20px; border-radius: 12px; }

    body .features { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    body .news-strip { margin-top: 24px; }
    body .marquee-track { gap: 30px; }

    body .tk-section-head { margin-bottom: 28px; }
    body .tk-accordion-header { min-height: 74px; padding: 16px; }
    body .tk-accordion.active .tk-accordion-content { padding: 0 16px 20px; }

    body .portal-section { padding: 48px 0; }
    body .portal-heading { margin-bottom: 30px; }
    body .portal-image { height: 200px; }

    body .sample-section { padding: 36px 0; }
    body .sample-card { padding: 30px 22px; border-radius: 14px; }
    body .sample-form-wrap { max-width: 100%; }
    body .sample-form { padding: 20px; }

    body .tk-clients-section { padding: 32px 0 50px; }
    body .tk-logo-item { flex: 0 0 150px; width: 150px; height: 90px; }
    body .tk-logo-slider::before,
    body .tk-logo-slider::after { width: 40px; }
    body .tk-client-trust-note { margin-top: 24px; }

    body .tk-testimonials-section { padding: 10px 0 56px; }
    body .tk-testimonial-layout { border-radius: 18px; }
    body .tk-testimonial-content { padding: 28px 22px 24px; }
    body .tk-testimonial-top h3 { font-size: 20px; }
    body .tk-testimonial-arrow { width: 38px; height: 38px; }
    body .tk-testimonial-divider { margin: 20px 0; }
    body .tk-testimonial-body p { font-size: 15px; line-height: 1.75; }
    body .tk-testimonial-bottom { margin-top: 22px; }
    body .tk-client-logo { flex: 0 0 118px; width: 118px; height: 72px; }
    body .tk-client-logo img { height: 62px; }

    /* Register popup */
    body .home-register-popup .iti__dropdown-content { max-width: calc(100vw - 40px); }
}


/* =========================================================
   ≤ 640px  — search card stacks
========================================================= */
@media (max-width: 640px) {

    body .tk-search-grid { grid-template-columns: 1fr 1fr; }
    body .tk-search-grid > .tk-field { grid-column: 1 / -1; }

    body .tk-input { padding: 11px 12px; }
    body .tk-input input,
    body .tk-input select { font-size: 16px; }   /* stops iOS zoom */

    body .tk-search-btn { height: 46px; padding: 0 12px; }

    /* make the whole "Advanced Search" button clickable, not just the text */
    body .tk-search-btn a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100% + 24px);
        height: 100%;
        margin: 0 -12px;
    }
}


/* =========================================================
   ≤ 576px  (phones)
========================================================= */
@media (max-width: 576px) {

    body .tk-wrap { width: calc(100% - 32px); }
    body .portal-container,
    body .tk-clients-container,
    body .tk-testimonials-container { width: calc(100% - 32px); }
    body .sample-wrap,
    body .news-strip .wrap { padding-left: 16px; padding-right: 16px; }

    /* Header */
    body .utility .contacts a[href^="mailto"] { display: none; }  /* remove this line to keep emails */
    body .utility .actions a { font-size: 12px; padding: 6px 10px; }
    body header.nav .brand .logo-img { max-width: 150px !important; }
    body header.nav .links a { font-size: 14px; }

    /* Hero */
    body .tk-hero-top { padding-top: 24px; }
    body .tk-hero-top h1 { font-size: 27px; line-height: 1.2; }
    body .tk-hero-top p { font-size: 14px; }
    body .tk-stat { font-size: 13px; }
    body .tk-stat .dot { width: 30px; height: 30px; font-size: 14px; }
    body .tk-stat b { font-size: 14px; }
    body .tk-stat small { font-size: 11.5px; }

    /* Quick filters */
    body .quick-filters-strip { padding: 14px 0; }
    body .qf-label { font-size: 13px; }
    body .pill { height: 32px; padding: 0 12px; }

    /* Features */
    body .features { padding: 20px 0 6px; gap: 10px; }
    body .feature-card { padding: 14px 8px; }

    /* News */
    body .news-strip .wrap { gap: 10px; }
    body .news-tag { font-size: 10.5px; padding: 5px 8px; }
    body .marquee-track a { font-size: 12px; }

    /* Info */
    body .tk-info-section { padding: 36px 0 40px; }
    body .tk-panel-icon { width: 38px; height: 38px; flex-basis: 38px; }
    body .tk-info-panel h4 { font-size: 15px; }

    /* Portal */
    body .portal-grid { grid-template-columns: 1fr; gap: 16px; }
    body .portal-card p { max-width: 280px; }

    /* Sample */
    body .sample-card { padding: 24px 16px; }
    body .sample-form { grid-template-columns: 1fr; padding: 18px 16px; }
    body .sample-field-full,
    body .sample-submit,
    body .sample-message { grid-column: 1 / -1; }
    body .sample-field input { font-size: 16px; height: 46px; }
    body .sample-submit { height: 48px; }
    body .sample-points { flex-direction: column; gap: 10px; }

    /* Clients */
    body .tk-section-heading { margin-bottom: 28px; }
    body .tk-section-heading h2 { letter-spacing: -.8px; }
    body .tk-section-heading p { font-size: 14px; }
    body .tk-logo-track { gap: 14px; }
    body .tk-logo-item { flex: 0 0 130px; width: 130px; height: 80px; padding: 6px 8px; }

    /* Testimonials */
    body .tk-testimonials-heading { margin-bottom: 28px; }
    body .tk-testimonials-heading h2 { letter-spacing: -.8px; }
    body .tk-testimonials-heading p { font-size: 14px; }
    body .tk-testimonial-brand { padding: 16px 20px; }
    body .tk-quote-mark { font-size: 48px; }
    body .tk-brand-label { font-size: 11px; }
    body .tk-brand-label strong { font-size: 18px; }
    body .tk-testimonial-content { padding: 22px 18px 20px; }
    body .tk-testimonial-top { gap: 12px; }
    body .tk-testimonial-top h3 { font-size: 17px; }
    body .tk-testimonial-controls { flex-shrink: 0; }
    body .tk-testimonial-bottom { flex-wrap: wrap; gap: 12px; }

    /* Footer */
    body footer.site .footer-grid { grid-template-columns: 1fr; gap: 26px; }
    body footer.site .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 8px;
    }

    /* Register popup: 16px inputs stop iOS zoom */
    body .home-register-popup .modal-card { max-height: 94dvh; }
    body .home-register-popup .input-box input,
    body .home-register-popup .rg-cs-trigger,
    body .home-register-popup .iti input { font-size: 16px; }
}


/* =========================================================
   ≤ 400px  (small phones)
========================================================= */
@media (max-width: 400px) {

    body .tk-wrap,
    body .portal-container,
    body .tk-clients-container,
    body .tk-testimonials-container { width: calc(100% - 24px); }

    body .sample-wrap,
    body .news-strip .wrap { padding-left: 12px; padding-right: 12px; }

    body .tk-hero-top h1 { font-size: 24px; }
    body .tk-stat-row { flex-direction: column; align-items: flex-start; }

    /* search buttons stack */
    body .tk-search-grid { grid-template-columns: 1fr; }

    body .portal-image { height: 180px; }
    body .tk-client-logo { flex-basis: 104px; width: 104px; height: 66px; }
    body .tk-testimonial-body p { font-size: 14px; }
}

@media (max-width: 340px) {
    body .features { grid-template-columns: 1fr; }
}


/* =========================================================
   Touch devices: no sticky hover "lift"
========================================================= */
@media (hover: none) {
    body .portal-card:hover,
    body .tk-logo-item:hover,
    body .tk-client-logo:hover { transform: none; }
}


/* =========================================================
   Landscape phones
========================================================= */
@media (max-height: 500px) and (orientation: landscape) {
    body .tk-hero-top { padding-top: 18px; }
    body .tk-hero-top h1 { font-size: 24px; }
}


/* =========================================================
   Reduced motion
========================================================= */
@media (prefers-reduced-motion: reduce) {
    body .marquee-track,
    body .tk-logo-track { animation: none; }
}


@media (max-width: 425px) {
    body .tk-hero-bg {
        background-position: 80%;
    }
}


/*  */
