/*
Theme Name: KenTrade Future V3.2
Theme URI: https://kentrade.go.ke
Author: KenTrade
Description: CMS-first KenTrade block theme. Presentation only; business content is managed in WordPress and the companion plugin.
Version: 3.2.0
Text Domain: kentrade-future-v3
*/

/* =========================================================
   KenTrade Future V3 — Header
   ========================================================= */

.ktv2-header {
    width: 100%;
    margin: 0;
    padding: 0;
}

.ktv2-utility {
    background: var(--kt-navy);
    color: var(--kt-white);
    font-size: 13px;
}

.ktv2-utility-inner {
    min-height: 38px;
    margin: 0 auto;
}

.ktv2-utility-left,
.ktv2-utility-right {
    gap: 18px;
}

.ktv2-ke {
    margin: 0;
    font-weight: 800;
    letter-spacing: .08em;
}

.ktv2-government,
.ktv2-phone,
.ktv2-language {
    margin: 0;
}

.ktv2-government {
    opacity: .9;
}

.ktv2-language {
    font-weight: 700;
    letter-spacing: .05em;
}

.ktv2-main-header {
    background: var(--kt-white);
    border-bottom: 1px solid #e7eaf0;
}

.ktv2-main-header-inner {
    min-height: 104px;
    margin: 0 auto;
    gap: 28px;
}

.ktv2-logo {
    flex: 0 0 auto;
}

.ktv2-logo img {
    display: block;
    max-width: 180px;
    height: auto;
}

.ktv2-navigation {
    flex: 1 1 auto;
    justify-content: center;
    min-width: 0;
}

.ktv2-navigation .wp-block-navigation__container {
    gap: 26px;
    justify-content: center;
}

.ktv2-navigation .wp-block-navigation-item__content {
    color: var(--kt-navy);
    font-size: 15px;
    font-weight: 700;
    padding: 38px 0;
}

.ktv2-navigation .wp-block-navigation-item__content:hover,
.ktv2-navigation .wp-block-navigation-item__content:focus {
    color: var(--kt-blue);
}

.ktv2-navigation .wp-block-navigation__submenu-container {
    min-width: 230px;
    padding: 10px 0;
    background: var(--kt-white);
    border: 1px solid #e5e8ee;
    box-shadow: 0 12px 30px rgba(16, 45, 92, .12);
}

.ktv2-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
    padding: 10px 18px;
    font-size: 14px;
    white-space: normal;
}

.ktv2-header-actions {
    flex: 0 0 auto;
    gap: 20px;
}

.ktv2-contact {
    margin: 0;
    font-weight: 700;
}

.ktv2-contact a {
    color: var(--kt-navy);
}

.ktv2-tradenet-button .wp-block-button__link {
    padding: 12px 18px;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.ktv2-noticebar {
    background: #f5f7fa;
    border-bottom: 1px solid #e1e5eb;
}

.ktv2-noticebar-inner {
    min-height: 44px;
    gap: 18px;
    margin: 0 auto;
}

.ktv2-notice-label {
    margin: 0;
    color: #b42318;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.ktv2-notice-text {
    flex: 1 1 auto;
    margin: 0;
    color: #333333;
    font-size: 13px;
}

.ktv2-notice-link {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
}

.ktv2-notice-link a {
    color: var(--kt-blue);
}

@media (max-width: 1200px) {
    .ktv2-navigation .wp-block-navigation__container {
        gap: 18px;
    }

    .ktv2-main-header-inner {
        gap: 18px;
    }

    .ktv2-navigation .wp-block-navigation-item__content {
        font-size: 14px;
    }
}

@media (max-width: 1000px) {
    .ktv2-utility-inner,
    .ktv2-main-header-inner,
    .ktv2-noticebar-inner {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ktv2-main-header-inner {
        min-height: 76px;
    }

    .ktv2-navigation {
        justify-content: flex-end;
    }

    .ktv2-navigation .wp-block-navigation__container {
        display: none;
    }

    .ktv2-header-actions {
        display: none;
    }

    .ktv2-noticebar-inner {
        padding-top: 8px;
        padding-bottom: 8px;
    }
}

@media (max-width: 600px) {
    .ktv2-government,
    .ktv2-phone {
        display: none;
    }

    .ktv2-utility-left,
    .ktv2-utility-right {
        gap: 0;
    }

    .ktv2-logo img {
        max-width: 150px;
    }

    .ktv2-notice-text {
        font-size: 12px;
    }
}

/* V2 header proportion and container refinement */
.ktv2-utility-inner,
.ktv2-main-header-inner,
.ktv2-noticebar-inner {
    width: min(1440px, calc(100% - 48px));
    margin-inline: auto;
}

.ktv2-main-header {
    padding: 0;
}

.ktv2-main-header-inner {
    min-height: 86px;
}

@media (max-width: 600px) {
    .ktv2-utility-inner,
    .ktv2-main-header-inner,
    .ktv2-noticebar-inner {
        width: min(100% - 32px, 1440px);
    }

    .ktv2-main-header-inner {
        min-height: 76px;
    }
}


/* V2 homepage hero slider */
.ktv2-hero-slider {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    margin: 0;
}

.ktv2-slides,
.ktv2-slide {
    position: absolute;
    inset: 0;
}

.ktv2-slide {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease;
}

.ktv2-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.ktv2-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.ktv2-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        90deg,
        rgba(16, 45, 92, 0.88) 0%,
        rgba(16, 45, 92, 0.68) 42%,
        rgba(16, 45, 92, 0.25) 75%,
        rgba(16, 45, 92, 0.12) 100%
    );
}

.ktv2-hero-content {
    position: relative;
    z-index: 3;
    width: min(1200px, calc(100% - 48px));
    min-height: 560px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.ktv2-hero-eyebrow {
    margin: 0 0 1rem;
    color: var(--kt-white);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.ktv2-hero-title {
    max-width: 760px;
    margin: 0;
    color: var(--kt-white);
    font-size: clamp(3rem, 6vw, 5.25rem);
    line-height: 1.02;
    font-weight: 700;
}

.ktv2-hero-description {
    max-width: 680px;
    margin: 1.5rem 0 0;
    color: var(--kt-white);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.6;
}

.ktv2-hero-actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}

.ktv2-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0.8rem 1.4rem;
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
}

/* Gutenberg button links */
.ktv2-hero-button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0.8rem 1.4rem;
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
}

.ktv2-hero-button-primary .wp-block-button__link {
    background: #b42318;
    color: var(--kt-white);
}

.ktv2-hero-button-secondary .wp-block-button__link {
    background: var(--kt-white);
    color: var(--kt-blue);
    border: 2px solid var(--kt-white);
}

.ktv2-slider-control {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,0.6);
    border-radius: 50%;
    background: rgba(16,45,92,0.35);
    color: var(--kt-white);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.ktv2-slider-prev {
    left: 24px;
}

.ktv2-slider-next {
    right: 24px;
}

.ktv2-slider-dots {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 24px;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
}

.ktv2-slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 1px solid var(--kt-white);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.ktv2-slider-dots button.is-active {
    background: var(--kt-white);
}

@media (max-width: 600px) {
    .ktv2-hero-slider,
    .ktv2-hero-content {
        min-height: 500px;
    }

    .ktv2-hero-content {
        width: min(100% - 32px, 1200px);
    }

    .ktv2-hero-title {
        font-size: clamp(2.5rem, 12vw, 4rem);
    }

    .ktv2-slider-control {
        display: none;
    }

    .ktv2-slider-dots {
        bottom: 16px;
    }
}



/* =========================================================
   Services Section
   ========================================================= */

.ktv2-services {
    padding: 88px 24px 64px;
    background: var(--kt-white);
}

.ktv2-section-eyebrow {
    margin: 0 0 12px;
    color: var(--kt-blue);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-align: center;
    text-transform: uppercase;
}

.ktv2-section-title {
    max-width: 820px;
    margin: 0 auto;
    color: var(--kt-navy);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.15;
    font-weight: 700;
    text-align: center;
}

.ktv2-section-intro {
    max-width: 720px;
    margin: 20px auto 0;
    color: #5b6575;
    font-size: 1.08rem;
    line-height: 1.7;
    text-align: center;
}

.ktv2-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    max-width: 1200px;
    margin: 48px auto 0;
}

.ktv2-service-card {
    min-height: 260px;
    padding: 32px;
    border: 1px solid #e2e7ef;
    border-radius: 8px;
    background: var(--kt-white);
    box-shadow: 0 8px 24px rgba(16, 45, 92, 0.07);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.ktv2-service-card:hover {
    transform: translateY(-5px);
    border-color: #c8d4e7;
    box-shadow: 0 14px 32px rgba(16, 45, 92, 0.12);
}

.ktv2-service-title {
    margin: 0;
    color: var(--kt-navy);
    font-size: 1.35rem;
    line-height: 1.3;
    font-weight: 700;
}

.ktv2-service-description {
    margin: 18px 0 0;
    color: #5b6575;
    font-size: 1rem;
    line-height: 1.7;
}

.ktv2-service-link {
    margin: 24px 0 0;
}

.ktv2-service-link a {
    color: var(--kt-blue);
    font-weight: 700;
    text-decoration: none;
}

.ktv2-service-link a:hover {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .ktv2-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ktv2-services {
        padding: 64px 16px 72px;
    }

    .ktv2-service-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 36px;
    }

    .ktv2-service-card {
        min-height: 0;
        padding: 26px;
    }
}


/* =========================================================
   Final Hero image sizing
   Force Gutenberg image wrappers and images to fill
   the complete Hero slide regardless of source ratio.
   ========================================================= */

.ktv2-slide .wp-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
}

.ktv2-slide .wp-block-image img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block;
    object-fit: cover !important;
    object-position: center center;
    aspect-ratio: auto !important;
}


/* =========================================================
   KenTrade Future V2
   Footer
   ========================================================= */

.ktv2-footer {
    margin: 0;
    background: var(--kt-navy);
    color: var(--kt-white);
}

.ktv2-footer-main {
    padding: 72px 24px 64px;
}

.ktv2-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 56px;
    width: min(1200px, 100%);
    margin: 0 auto;
}

.ktv2-footer-brand-name {
    margin: 0;
    color: var(--kt-white);
    font-size: 2rem;
    line-height: 1.1;
    font-weight: 700;
}

.ktv2-footer-description {
    margin: 0.75rem 0 0;
    color: rgba(255,255,255,0.82);
    font-size: 1rem;
}

.ktv2-footer-tagline {
    margin: 1.5rem 0 0;
    color: var(--kt-white);
    font-size: 1.1rem;
    font-weight: 700;
}

.ktv2-footer-heading {
    margin: 0 0 1.25rem;
    color: var(--kt-white);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ktv2-footer-column p {
    margin: 0 0 0.75rem;
}

.ktv2-footer-column a {
    color: rgba(255,255,255,0.82);
    text-decoration: none;
}

.ktv2-footer-column a:hover,
.ktv2-footer-column a:focus {
    color: var(--kt-white);
    text-decoration: underline;
}

.ktv2-footer-contact-text {
    color: rgba(255,255,255,0.82);
    line-height: 1.7;
}

.ktv2-footer-contact-link {
    margin-top: 1.25rem !important;
    font-weight: 700;
}

.ktv2-footer-bottom {
    width: min(1200px, 100%);
    margin: 0 auto;
    padding: 22px 24px;
    border-top: 1px solid rgba(255,255,255,0.18);
}

.ktv2-footer-copyright {
    margin: 0;
    color: rgba(255,255,255,0.68);
    font-size: 0.9rem;
}

@media (max-width: 900px) {
    .ktv2-footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

@media (max-width: 600px) {
    .ktv2-footer-main {
        padding: 56px 24px 48px;
    }

    .ktv2-footer-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .ktv2-footer-bottom {
        padding: 20px 24px;
    }
}


/* =========================================================
   Sticky main navigation
   The navigation template-part wrapper is the sticky element.
   Utility and notice bars remain above it and scroll away.
   ========================================================= */

.wp-block-template-part:has(> .ktv2-main-header) {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 1000;
    background: var(--kt-white);
}

.wp-block-template-part:has(> .ktv2-main-header) .ktv2-main-header {
    position: relative;
    z-index: 1001;
    background: var(--kt-white);
    box-shadow: 0 2px 12px rgba(16, 45, 92, 0.08);
}

/* =========================================================
   About KenTrade page
   ========================================================= */

.kt-about-page {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
    padding: 64px 0 80px;
}

.kt-about-intro {
    max-width: 900px;
    margin: 0 auto 64px;
    font-size: 1.2rem;
    line-height: 1.8;
    text-align: center;
}

.kt-about-block {
    margin-bottom: 64px;
}

.kt-about-label {
    margin-bottom: 12px;
    color: var(--kt-blue);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.kt-about-block h2 {
    margin: 0 0 24px;
    color: var(--kt-blue);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.2;
}

.kt-about-block h3 {
    margin: 0 0 10px;
    color: #17376f;
    font-size: 1.2rem;
    line-height: 1.3;
}

.kt-about-strategy {
    padding: 40px;
    background: #f4f7fb;
    border-left: 5px solid var(--kt-blue);
}

.kt-about-strategy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px;
}

.kt-functions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.kt-function {
    padding: 28px 24px;
    background: var(--kt-white);
    border: 1px solid #e5e9f0;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(16, 45, 92, 0.05);
    line-height: 1.65;
}

.kt-values-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}

.kt-about-value {
    padding: 28px 22px;
    background: #f4f7fb;
    border-top: 4px solid var(--kt-blue);
    border-radius: 6px;
    line-height: 1.6;
}

.kt-about-presence {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 48px;
    padding: 40px;
    color: var(--kt-white);
    background: var(--kt-blue);
    border-radius: 8px;
}

.kt-about-presence .kt-about-label,
.kt-about-presence h2 {
    color: var(--kt-white);
}

.kt-about-presence h2 {
    margin: 0;
}

@media (max-width: 1000px) {
    .kt-functions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kt-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .kt-about-page {
        width: min(100% - 32px, 1200px);
        padding: 44px 0 60px;
    }

    .kt-about-intro {
        margin-bottom: 44px;
        font-size: 1.05rem;
        text-align: left;
    }

    .kt-about-strategy-grid,
    .kt-about-presence {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .kt-about-strategy,
    .kt-about-presence {
        padding: 28px 24px;
    }

    .kt-functions-grid,
    .kt-values-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   BOARD OF DIRECTORS
   ========================================================= */

.kt-board-page {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
    padding: 64px 0 80px;
}

.kt-board-intro {
    max-width: 900px;
    margin: 0 auto 64px;
    text-align: center;
}

.kt-board-label {
    margin: 0 0 12px;
    color: var(--kt-blue);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.4;
    text-transform: uppercase;
}

.kt-board-intro h1 {
    margin: 0 0 20px;
    color: var(--kt-blue);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    line-height: 1.15;
}

.kt-board-intro > p:last-child {
    max-width: 760px;
    margin: 0 auto;
    font-size: 1.2rem;
    line-height: 1.8;
}

.kt-board-section {
    margin-bottom: 56px;
    padding: 40px;
    background: #f4f7fb;
    border-left: 5px solid var(--kt-blue);
}

.kt-board-section > .kt-board-label {
    margin-bottom: 10px;
}

.kt-board-section > h2 {
    margin: 0 0 32px;
    color: var(--kt-blue);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.2;
}

.kt-board-section p:last-child {
    max-width: 900px;
    margin-bottom: 0;
    line-height: 1.75;
}

.kt-board-profile-area {
    padding: 40px;
    border: 1px solid #e5e9f0;
    border-radius: 8px;
    background: var(--kt-white);
    box-shadow: 0 4px 16px rgba(16, 45, 92, 0.05);
}

.kt-board-profile-area h2 {
    margin: 0 0 20px;
    color: var(--kt-blue);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.2;
}

.kt-board-profile-note {
    margin: 0;
    color: #5d6878;
    line-height: 1.7;
}

/* Chairman feature */

.kt-leadership-feature {
    width: min(760px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    align-items: center;
    gap: 40px;
    padding: 32px;
    text-align: left;
    background: var(--kt-white);
    border: 1px solid #e5e9f0;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(16, 45, 92, 0.05);
}

.kt-leadership-feature > .wp-block-image {
    width: 240px;
    margin: 0;
}

.kt-leadership-feature > .wp-block-image img {
    display: block;
    width: 240px;
    height: 300px;
    object-fit: cover;
    object-position: center top;
    border-radius: 6px;
}

.kt-leadership-feature-content {
    width: auto;
    align-self: center;
    text-align: left;
}

.kt-leadership-feature-content h3 {
    margin: 0 0 10px;
    color: var(--kt-blue);
    font-size: 1.8rem;
    line-height: 1.25;
}

.kt-leadership-feature-content .kt-leadership-role {
    margin: 0;
    color: #4f5d70;
    font-size: 1rem;
    line-height: 1.6;
}

/* Board member grid */

.kt-leadership-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.kt-leadership-card {
    overflow: hidden;
    background: var(--kt-white);
    border: 1px solid #e5e9f0;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(16, 45, 92, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.kt-leadership-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(16, 45, 92, 0.12);
}

.kt-leadership-card > .wp-block-image {
    width: 100%;
    margin: 0;
    background: #eef2f7;
}

.kt-leadership-card > .wp-block-image img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center top;
}

.kt-leadership-card > h3 {
    min-height: 30px;
    margin: 24px 24px 8px;
    color: var(--kt-blue);
    font-size: 1.15rem;
    line-height: 1.3;
}

.kt-leadership-card > .kt-leadership-role {
    min-height: 52px;
    margin: 0 24px 24px;
    font-size: 0.95rem;
}

/* Responsive */

@media (max-width: 1000px) {

    .kt-leadership-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kt-leadership-feature {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 32px;
    }

    .kt-leadership-feature > .wp-block-image {
        width: 220px;
    }

    .kt-leadership-feature > .wp-block-image img {
        width: 220px;
        height: 290px;
    }

    .kt-leadership-card > .wp-block-image,
    .kt-leadership-card > .wp-block-image img {
        height: 360px !important;
    }
}

@media (max-width: 700px) {

    .kt-board-page {
        width: min(100% - 32px, 1200px);
        padding: 44px 0 60px;
    }

    .kt-board-intro {
        margin-bottom: 44px;
        text-align: left;
    }

    .kt-board-intro > p:last-child {
        font-size: 1.05rem;
    }

    .kt-board-section,
    .kt-board-profile-area {
        padding: 28px 24px;
    }

    .kt-leadership-feature {
        width: 100%;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 24px;
        padding: 24px;
        text-align: center;
    }

    .kt-leadership-feature > .wp-block-image {
        width: 240px;
        margin: 0 auto;
    }

    .kt-leadership-feature > .wp-block-image img {
        width: 240px;
        height: 300px;
    }

    .kt-leadership-feature-content {
        text-align: center;
    }

    .kt-leadership-grid {
        grid-template-columns: 1fr;
    }

    .kt-leadership-card > .wp-block-image,
    .kt-leadership-card > .wp-block-image img {
        height: 380px !important;
    }
}


/* =========================================================
   MANAGEMENT PROFILE IMAGE ALIGNMENT
   ========================================================= */

.kt-leadership-card > .wp-block-image {
    width: 100%;
    height: 380px;
    margin: 0;
    overflow: hidden;
    background: #eef2f7;
}

.kt-leadership-card > .wp-block-image img {
    display: block;
    width: 100% !important;
    height: 380px !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Keep profile information visually consistent */
.kt-leadership-card > h3 {
    min-height: 30px;
}

.kt-leadership-card > .kt-leadership-role {
    min-height: 52px;
}

/* Smaller screens */
@media (max-width: 1000px) {

    .kt-leadership-card > .wp-block-image,
    .kt-leadership-card > .wp-block-image img {
        height: 360px !important;
    }
}

@media (max-width: 700px) {

    .kt-leadership-card > .wp-block-image,
    .kt-leadership-card > .wp-block-image img {
        height: 380px !important;
    }
}


/* =========================================================
   CAREERS PAGE
   ========================================================= */

.kt-careers-page {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px 80px;
    box-sizing: border-box;
}

/* Careers hero */
.kt-careers-hero {
    position: relative;
    max-width: 1440px;
    margin: 0 auto 0;
    padding: 72px 8%;
    background:
        linear-gradient(135deg, rgba(30, 67, 136, 0.98), rgba(16, 45, 92, 0.96));
    color: var(--kt-white);
    overflow: hidden;
}

.kt-careers-hero::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -140px;
    top: -180px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    pointer-events: none;
}

.kt-careers-hero-eyebrow,
.kt-careers-section-label {
    margin: 0 0 12px;
    font-size: 0.78rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.kt-careers-hero-eyebrow {
    color: var(--kt-white);
    opacity: 0.82;
}

.kt-careers-hero-title {
    max-width: 850px;
    margin: 0 0 18px !important;
    color: var(--kt-white) !important;
    font-size: clamp(2.4rem, 5vw, 4.6rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em;
}

.kt-careers-hero-description {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.12rem;
    line-height: 1.7;
}

/* Breadcrumb */
.kt-careers-breadcrumb {
    max-width: 1440px;
    margin: 0 auto;
    padding: 18px 8%;
    border-bottom: 1px solid #e5e9ef;
}

.kt-careers-breadcrumb p {
    margin: 0;
    color: #697586;
    font-size: 0.9rem;
}

.kt-careers-breadcrumb a {
    color: var(--kt-blue);
    font-weight: 600;
    text-decoration: none;
}

.kt-careers-breadcrumb a:hover {
    text-decoration: underline;
}

/* Main layout */
.kt-careers-layout {
    max-width: 1240px;
    margin: 56px auto 0 !important;
    gap: 64px;
    align-items: flex-start;
}

.kt-careers-sidebar {
    position: sticky;
    top: 110px;
    padding: 28px;
    background: #f5f7fa;
    border-left: 4px solid var(--kt-blue);
}

.kt-careers-sidebar h3 {
    margin: 0 0 20px;
    color: var(--kt-blue);
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.kt-careers-sidebar ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kt-careers-sidebar li {
    margin: 0;
    border-bottom: 1px solid #dfe4ea;
}

.kt-careers-sidebar li:last-child {
    border-bottom: 0;
}

.kt-careers-sidebar li a {
    display: block;
    padding: 13px 4px;
    color: #334155;
    font-size: 0.96rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.kt-careers-sidebar li a:hover {
    padding-left: 8px;
    color: var(--kt-blue);
}

.kt-careers-sidebar li.is-active a {
    padding-left: 12px;
    color: var(--kt-blue);
    font-weight: 700;
    border-left: 3px solid #b42318;
}

/* Main content */
.kt-careers-content {
    min-width: 0;
}

.kt-careers-content > .kt-careers-section-label,
.kt-careers-section-label {
    color: var(--kt-blue);
}

.kt-careers-content h2 {
    margin-top: 0;
    margin-bottom: 18px;
    color: #14213d;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.15;
}

.kt-careers-content h3 {
    color: #14213d;
}

.kt-careers-content p {
    color: #526071;
    line-height: 1.75;
}

.kt-careers-lead {
    max-width: 900px;
    margin-bottom: 18px;
    color: #26364d !important;
    font-size: 1.12rem;
    line-height: 1.75;
}

/* Current opportunities */
.kt-careers-opportunities {
    margin: 48px 0 44px;
    padding: 34px 36px;
    background: #f5f8fc;
    border-top: 4px solid var(--kt-blue);
}

.kt-careers-opportunities .kt-careers-section-label {
    margin-bottom: 10px;
}

.kt-careers-opportunities h3 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.55rem;
}

.kt-careers-opportunities p:last-child {
    margin-bottom: 0;
}

/* Feature cards */
.kt-careers-feature-grid {
    margin: 0 0 52px !important;
    gap: 20px;
}

.kt-careers-feature-card {
    padding: 30px;
    background: var(--kt-white);
    border: 1px solid #e3e8ef;
    border-top: 4px solid var(--kt-blue);
    box-shadow: 0 8px 28px rgba(16, 45, 92, 0.07);
}

.kt-careers-card-number {
    margin: 0 0 18px !important;
    color: #b42318 !important;
    font-size: 0.78rem !important;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.kt-careers-feature-card h3 {
    margin: 0 0 12px;
    font-size: 1.25rem;
    line-height: 1.3;
}

.kt-careers-feature-card p:last-child {
    margin-bottom: 0;
    font-size: 0.95rem;
}

/* Recruitment process */
.kt-careers-application {
    margin-top: 12px;
    padding-top: 48px;
    border-top: 1px solid #e1e6ed;
}

.kt-careers-process {
    margin-top: 30px !important;
    gap: 16px;
}

.kt-careers-process .wp-block-column {
    padding: 22px 20px;
    background: #f7f9fc;
    border: 1px solid #e2e7ee;
}

.kt-careers-process-number {
    margin: 0 0 10px !important;
    color: var(--kt-blue) !important;
    font-size: 0.78rem !important;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.kt-careers-process h4 {
    margin: 0;
    color: #26364d;
    font-size: 1rem;
    line-height: 1.4;
}

/* Recruitment warning */
.kt-careers-warning {
    margin-top: 52px;
    padding: 30px 34px;
    background: #fff7f7;
    border-left: 5px solid #b42318;
}

.kt-careers-warning-label {
    margin: 0 0 8px !important;
    color: #b00000 !important;
    font-size: 0.76rem !important;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.kt-careers-warning h3 {
    margin: 0 0 10px;
    color: #7d1111;
    font-size: 1.35rem;
}

.kt-careers-warning p:last-child {
    margin-bottom: 0;
}

/* Tablet */
@media (max-width: 1000px) {
    .kt-careers-hero {
        padding: 60px 6%;
    }

    .kt-careers-breadcrumb {
        padding-left: 6%;
        padding-right: 6%;
    }

    .kt-careers-layout {
        gap: 36px;
    }

    .kt-careers-sidebar {
        padding: 22px;
    }
}

/* Mobile */
@media (max-width: 700px) {
    .kt-careers-page {
        padding: 0 14px 56px;
    }

    .kt-careers-hero {
        padding: 48px 28px;
    }

    .kt-careers-hero-title {
        font-size: 2.35rem !important;
    }

    .kt-careers-hero-description {
        font-size: 1rem;
    }

    .kt-careers-breadcrumb {
        padding: 15px 4px;
    }

    .kt-careers-layout {
        margin-top: 34px !important;
        gap: 32px;
    }

    .kt-careers-sidebar {
        position: static;
    }

    .kt-careers-opportunities {
        padding: 26px 24px;
    }

    .kt-careers-feature-grid,
    .kt-careers-process {
        display: block;
    }

    .kt-careers-feature-card,
    .kt-careers-process .wp-block-column {
        margin-bottom: 16px;
    }

    .kt-careers-warning {
        padding: 25px 24px;
    }
}


/* =========================================================
   CAREERS SAMPLE JOBS
   ========================================================= */

.kt-careers-demo-label {
    margin: 0 0 20px !important;
    color: #b00000 !important;
    font-size: 0.78rem !important;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.kt-careers-jobs-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin: 0 0 48px;
}

.kt-careers-job-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 28px 30px;
    background: var(--kt-white);
    border: 1px solid #dfe5ed;
    border-top: 4px solid var(--kt-blue);
    box-shadow: 0 8px 24px rgba(16, 45, 92, 0.06);
    box-sizing: border-box;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.kt-careers-job-card:hover {
    transform: translateY(-3px);
    border-top-color: #b42318;
    box-shadow: 0 12px 30px rgba(16, 45, 92, 0.11);
}

.kt-careers-job-status {
    margin: 0 0 12px !important;
    color: #b00000 !important;
    font-size: 0.7rem !important;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.kt-careers-job-card h3 {
    margin: 0 0 12px;
    color: #14213d;
    font-size: 1.3rem;
    line-height: 1.3;
}

.kt-careers-job-meta {
    margin: 0 0 16px !important;
    color: var(--kt-blue) !important;
    font-size: 0.82rem !important;
    line-height: 1.6 !important;
}

.kt-careers-job-card > p:not(.kt-careers-job-status):not(.kt-careers-job-meta) {
    flex: 1;
    margin-bottom: 22px;
    font-size: 0.94rem;
}

.kt-careers-job-button {
    margin-top: auto;
}

.kt-careers-job-button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    background: var(--kt-blue);
    color: var(--kt-white);
    border-radius: 3px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
}

.kt-careers-job-button .wp-block-button__link:hover {
    background: #b42318;
    color: var(--kt-white);
}

/* Keep the fifth card visually balanced */
.kt-careers-job-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 11px);
}

/* Tablet */
@media (max-width: 900px) {
    .kt-careers-jobs-grid {
        grid-template-columns: 1fr;
    }

    .kt-careers-job-card:last-child {
        grid-column: auto;
        max-width: none;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .kt-careers-job-card {
        padding: 24px;
    }

    .kt-careers-job-card h3 {
        font-size: 1.2rem;
    }
}


/* =========================================================
   CAREERS VACANCIES TABLE
   ========================================================= */

.kt-careers-vacancies-table {
    width: 100%;
    margin: 0 0 28px;
    overflow-x: auto;
}

.kt-careers-vacancies-table table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    background: var(--kt-white);
    border: 1px solid #dfe5ed;
    box-shadow: 0 8px 24px rgba(16, 45, 92, 0.06);
}

.kt-careers-vacancies-table thead th {
    padding: 17px 18px;
    background: var(--kt-blue);
    color: var(--kt-white);
    border: 1px solid var(--kt-blue);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    vertical-align: middle;
}

.kt-careers-vacancies-table tbody td {
    padding: 17px 18px;
    border: 1px solid #e1e6ed;
    color: #3d4857;
    font-size: 0.91rem;
    line-height: 1.55;
    vertical-align: middle;
}

.kt-careers-vacancies-table tbody tr:nth-child(even) td {
    background: #f7f9fc;
}

.kt-careers-vacancies-table tbody tr:hover td {
    background: #eef4fb;
}

.kt-careers-vacancies-table tbody td:first-child {
    min-width: 250px;
    color: #14213d;
}

.kt-careers-vacancies-table tbody td:nth-child(2) {
    min-width: 190px;
}

.kt-careers-vacancies-table tbody td:nth-child(3),
.kt-careers-vacancies-table tbody td:nth-child(4) {
    white-space: nowrap;
}

.kt-careers-vacancies-table tbody td:last-child {
    min-width: 130px;
    white-space: nowrap;
}

.kt-careers-vacancies-table tbody td:last-child a {
    display: inline-block;
    padding: 8px 13px;
    background: var(--kt-blue);
    color: var(--kt-white);
    border-radius: 3px;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.kt-careers-vacancies-table tbody td:last-child a:hover {
    background: #b42318;
    color: var(--kt-white);
    transform: translateY(-1px);
}

.kt-careers-vacancies-table + p {
    margin-top: 0;
    color: #667085;
    font-size: 0.85rem;
    line-height: 1.6;
}

/* Mobile: preserve the table structure and allow horizontal scrolling */
@media (max-width: 900px) {
    .kt-careers-vacancies-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .kt-careers-vacancies-table table {
        min-width: 850px;
    }
}


/* =========================================================
   KenTrade Pattern Library
   Scoped styles for reusable Gutenberg patterns
   ========================================================= */

/* Hero Section */
.kt-pattern-hero {
    box-sizing: border-box;
    padding: clamp(2.5rem, 6vw, 5rem);
    margin-top: 2rem;
    margin-bottom: 2rem;
    background: var(--kt-navy);
    color: var(--kt-white);
    border-radius: 8px;
}

.kt-pattern-hero .kt-pattern-eyebrow {
    margin-bottom: 1rem;
    color: #8cb6e1;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.kt-pattern-hero .kt-pattern-hero-title {
    max-width: 900px;
    margin-top: 0;
    margin-bottom: 1.25rem;
    color: var(--kt-white);
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 1.12;
}

.kt-pattern-hero .kt-pattern-hero-text {
    max-width: 760px;
    margin-bottom: 1.75rem;
    color: var(--kt-white);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.kt-pattern-hero .kt-pattern-button .wp-block-button__link {
    background: var(--kt-white);
    color: var(--kt-navy);
    border: 2px solid var(--kt-white);
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
}

.kt-pattern-hero .kt-pattern-button .wp-block-button__link:hover {
    background: #8cb6e1;
    border-color: #8cb6e1;
}

/* Two-Column Content */
.kt-pattern-two-column {
    gap: clamp(1.5rem, 4vw, 3.5rem);
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.kt-pattern-two-column > .wp-block-column {
    min-width: 0;
}

.kt-pattern-two-column h2,
.kt-pattern-two-column h3 {
    color: var(--kt-blue);
}

/* Service Cards */
.kt-pattern-services {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.kt-pattern-services .kt-pattern-section-title {
    margin-bottom: 0.75rem;
    color: var(--kt-blue);
}

.kt-pattern-service-grid {
    align-items: stretch;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.kt-pattern-service-grid > .kt-pattern-service-card {
    box-sizing: border-box;
    min-width: 0;
    padding: 1.75rem;
    background: var(--kt-white);
    border: 1px solid #dce3ed;
    border-top: 4px solid var(--kt-blue);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgb(16 45 92 / 7%);
}

.kt-pattern-service-card h3 {
    margin-top: 0;
    color: var(--kt-blue);
}

.kt-pattern-service-card p {
    line-height: 1.7;
}

.kt-pattern-service-card .wp-block-buttons {
    margin-top: auto;
    padding-top: 1rem;
}

.kt-pattern-service-card .wp-block-button__link {
    border-radius: 4px;
    font-weight: 600;
}

.kt-pattern-service-card .is-style-outline .wp-block-button__link {
    border: 2px solid var(--kt-blue);
    color: var(--kt-blue);
    background: transparent;
}

.kt-pattern-service-card .is-style-outline .wp-block-button__link:hover {
    color: var(--kt-white);
    background: var(--kt-blue);
}

/* Responsive layouts */
@media (max-width: 781px) {
    .kt-pattern-hero {
        padding: 2rem 1.25rem;
        border-radius: 4px;
    }

    .kt-pattern-two-column,
    .kt-pattern-service-grid {
        gap: 1.25rem;
    }

    .kt-pattern-service-grid > .kt-pattern-service-card {
        padding: 1.25rem;
    }
}

/* =========================================================
   KenTrade Pattern Library — Additional Patterns
   ========================================================= */

/* Shared section spacing and headings */
.kt-pattern-news,
.kt-pattern-notices,
.kt-pattern-downloads,
.kt-pattern-faq,
.kt-pattern-cta,
.kt-pattern-contact,
.kt-pattern-profiles,
.kt-pattern-vacancies,
.kt-pattern-statistics {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.kt-pattern-news h2,
.kt-pattern-notices h2,
.kt-pattern-downloads h2,
.kt-pattern-faq h2,
.kt-pattern-contact h2,
.kt-pattern-profiles h2,
.kt-pattern-vacancies h2,
.kt-pattern-statistics h2 {
    color: var(--kt-blue);
}

/* News cards */
.kt-pattern-news-grid {
    align-items: stretch;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.kt-pattern-news-card {
    min-width: 0;
    padding: 1.25rem;
    background: var(--kt-white);
    border: 1px solid #dce3ed;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgb(16 45 92 / 7%);
}

.kt-pattern-news-card .wp-block-image {
    margin-bottom: 1rem;
}

.kt-pattern-news-card .wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 4px;
}

.kt-pattern-meta {
    color: #5b6574;
    font-size: 0.875rem;
    font-weight: 600;
}

.kt-pattern-news-card h3 {
    color: var(--kt-blue);
}

.kt-pattern-news-card a,
.kt-pattern-notice-item a,
.kt-pattern-downloads a,
.kt-pattern-vacancy-item a {
    color: var(--kt-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Notice list */
.kt-pattern-notice-item {
    margin-top: 1rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid #dce3ed;
    border-left: 4px solid var(--kt-blue);
    border-radius: 4px;
    background: #f5f7fa;
}

.kt-pattern-notice-item > :first-child {
    margin-top: 0;
}

.kt-pattern-notice-item > :last-child {
    margin-bottom: 0;
}

.kt-pattern-notice-item h3 {
    color: var(--kt-blue);
}

/* Downloads */
.kt-pattern-download-list {
    margin-top: 1.25rem;
    padding: 0;
    list-style: none;
}

.kt-pattern-download-list li {
    margin: 0;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #dce3ed;
}

.kt-pattern-download-list li:nth-child(odd) {
    background: #f5f7fa;
}

/* FAQs */
.kt-pattern-faq-item {
    margin-top: 1rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid #dce3ed;
    border-radius: 5px;
    background: var(--kt-white);
}

.kt-pattern-faq-item h3 {
    margin-top: 0;
    color: var(--kt-blue);
}

.kt-pattern-faq-item > :last-child {
    margin-bottom: 0;
}

/* Call to action */
.kt-pattern-cta {
    box-sizing: border-box;
    padding: clamp(2rem, 5vw, 3.5rem);
    background: var(--kt-navy);
    color: var(--kt-white);
    border-radius: 8px;
    text-align: center;
}

.kt-pattern-cta h2 {
    margin-top: 0;
    color: var(--kt-white);
}

.kt-pattern-cta p {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
}

.kt-pattern-cta .wp-block-buttons {
    justify-content: center;
    margin-top: 1.5rem;
}

.kt-pattern-cta .wp-block-button__link {
    background: var(--kt-white);
    color: var(--kt-navy);
    border: 2px solid var(--kt-white);
    border-radius: 4px;
    font-weight: 700;
}

.kt-pattern-cta .wp-block-button__link:hover {
    background: #8cb6e1;
    border-color: #8cb6e1;
}

/* Contact information */
.kt-pattern-contact {
    padding: 1.75rem;
    background: #f5f7fa;
    border-top: 4px solid var(--kt-blue);
    border-radius: 5px;
}

.kt-pattern-contact h3 {
    margin-bottom: 0.35rem;
    color: var(--kt-blue);
}

.kt-pattern-contact h3 + p {
    margin-top: 0;
}

/* Board and management profiles */
.kt-pattern-profile-grid {
    align-items: stretch;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.kt-pattern-profile-card {
    min-width: 0;
    padding: 1.25rem;
    background: var(--kt-white);
    border: 1px solid #dce3ed;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgb(16 45 92 / 7%);
}

.kt-pattern-profile-card .wp-block-image {
    margin-bottom: 1rem;
}

.kt-pattern-profile-card .wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 4px;
}

.kt-pattern-profile-card h3 {
    margin-top: 0;
    color: var(--kt-blue);
}

/* Vacancy listings */
.kt-pattern-vacancy-item {
    margin-top: 1rem;
    padding: 1.5rem;
    background: var(--kt-white);
    border: 1px solid #dce3ed;
    border-left: 4px solid var(--kt-blue);
    border-radius: 5px;
}

.kt-pattern-vacancy-item h3 {
    margin-top: 0;
    color: var(--kt-blue);
}

.kt-pattern-vacancy-item > :last-child {
    margin-bottom: 0;
}

/* Statistics */
.kt-pattern-statistics-grid {
    align-items: stretch;
    gap: 1rem;
    margin-top: 1.5rem;
}

.kt-pattern-statistic {
    min-width: 0;
    padding: 1.5rem 1rem;
    background: #f5f7fa;
    border-bottom: 4px solid var(--kt-blue);
    border-radius: 4px;
    text-align: center;
}

.kt-pattern-statistic h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    color: var(--kt-blue);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.kt-pattern-statistic p {
    margin-bottom: 0;
}

/* Responsive layouts */
@media (max-width: 781px) {
    .kt-pattern-news-grid,
    .kt-pattern-profile-grid,
    .kt-pattern-statistics-grid {
        gap: 1rem;
    }

    .kt-pattern-news-card,
    .kt-pattern-profile-card {
        padding: 1rem;
    }

    .kt-pattern-notice-item,
    .kt-pattern-faq-item,
    .kt-pattern-vacancy-item {
        padding: 1rem;
    }

    .kt-pattern-contact {
        padding: 1.25rem;
    }

    .kt-pattern-cta {
        padding: 2rem 1.25rem;
        border-radius: 4px;
    }
}

/* Editable image placeholders in the pattern library */
.kt-pattern-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    padding: 1rem;
    background: #f5f7fa;
    border: 1px dashed #8cb6e1;
    border-radius: 4px;
    color: #526174;
    font-size: 0.9rem;
    text-align: center;
}

/* =========================================================
   KenTrade Future V2 — Phase 1 Patterns
   ========================================================= */

.kt-pattern-digital-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem);
    background: linear-gradient(125deg, var(--kt-navy) 0%, var(--kt-blue) 65%, #2458a6 100%);
    color: var(--kt-white);
    border-radius: 6px;
}

.kt-pattern-digital-hero::after {
    content: "";
    position: absolute;
    width: 18rem;
    height: 18rem;
    right: -5rem;
    top: -5rem;
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 50%;
    box-shadow: 0 0 0 2rem rgb(255 255 255 / 4%),
                0 0 0 4rem rgb(255 255 255 / 3%);
    pointer-events: none;
}

.kt-pattern-digital-hero__eyebrow,
.kt-pattern-trade-dashboard__eyebrow,
.kt-pattern-innovation-showcase__eyebrow {
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.kt-pattern-digital-hero__eyebrow {
    color: #b9d8ff;
}

.kt-pattern-digital-hero__title {
    max-width: 850px;
    margin: 1rem 0;
    color: var(--kt-white);
    font-size: clamp(2.3rem, 5.5vw, 4.8rem);
    line-height: 1.08;
}

.kt-pattern-digital-hero__intro {
    max-width: 680px;
    color: #edf4ff;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.7;
}

.kt-pattern-digital-hero .wp-block-buttons {
    margin-top: 1.75rem;
    gap: .8rem;
}

.kt-pattern-digital-hero .wp-block-button__link {
    transition: transform .2s ease, background-color .2s ease;
}

.kt-pattern-digital-hero .wp-block-button__link:hover {
    transform: translateY(-2px);
}

.kt-pattern-digital-hero__primary .wp-block-button__link {
    background: var(--kt-white);
    color: var(--kt-navy);
    border: 2px solid var(--kt-white);
}

.kt-pattern-smart-services,
.kt-pattern-trade-dashboard,
.kt-pattern-innovation-showcase {
    margin-block: 3.5rem;
}

.kt-pattern-smart-services__grid {
    gap: 1.25rem;
    margin-top: 2rem;
}

.kt-pattern-service-card {
    height: 100%;
    padding: 1.75rem;
    background: var(--kt-white);
    border: 1px solid #dce5f1;
    border-top: 4px solid var(--kt-blue);
    border-radius: 6px;
    box-shadow: 0 8px 24px rgb(16 45 92 / 6%);
    transition: transform .2s ease, box-shadow .2s ease;
}

.kt-pattern-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgb(16 45 92 / 12%);
}

.kt-pattern-service-card__number {
    color: var(--kt-blue);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.kt-pattern-service-card h3 {
    color: var(--kt-navy);
    line-height: 1.3;
}

.kt-pattern-service-card a {
    color: var(--kt-blue);
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.kt-pattern-trade-dashboard {
    padding: clamp(1.5rem, 4vw, 3rem);
    background: #f5f7fa;
    border-radius: 6px;
}

.kt-pattern-trade-dashboard__eyebrow {
    color: var(--kt-blue);
}

.kt-pattern-trade-dashboard__grid {
    gap: 1rem;
    margin-top: 2rem;
}

.kt-pattern-dashboard-stat {
    height: 100%;
    padding: 1.5rem 1rem;
    background: var(--kt-white);
    border: 1px solid #e0e7f0;
    border-bottom: 4px solid var(--kt-blue);
    border-radius: 4px;
    text-align: center;
}

.kt-pattern-dashboard-stat h3 {
    margin: 0 0 .6rem;
    color: var(--kt-blue);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    overflow-wrap: anywhere;
}

.kt-pattern-dashboard-stat p {
    margin-bottom: 0;
    color: #334155;
}

.kt-pattern-innovation-showcase__layout {
    gap: clamp(1.5rem, 4vw, 3.5rem);
}

.kt-pattern-innovation-showcase__eyebrow {
    color: var(--kt-blue);
}

.kt-pattern-innovation-showcase__visual {
    min-height: 270px;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: linear-gradient(145deg, var(--kt-navy), var(--kt-blue));
    border-radius: 6px;
    color: var(--kt-white);
}

.kt-pattern-innovation-showcase__visual h3 {
    color: var(--kt-white);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.kt-pattern-innovation-showcase__visual p {
    color: #edf4ff;
}

.kt-pattern-innovation-showcase__visual-label {
    color: #b9d8ff !important;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
}

@media (max-width: 781px) {
    .kt-pattern-digital-hero {
        padding: 2.5rem 1.25rem;
    }

    .kt-pattern-digital-hero__title {
        font-size: clamp(2rem, 9vw, 3.2rem);
    }

    .kt-pattern-smart-services__grid,
    .kt-pattern-trade-dashboard__grid {
        gap: 1rem;
    }

    .kt-pattern-service-card {
        padding: 1.25rem;
    }

    .kt-pattern-innovation-showcase__visual {
        min-height: 220px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kt-pattern-service-card,
    .kt-pattern-digital-hero .wp-block-button__link {
        transition: none;
    }

    .kt-pattern-service-card:hover,
    .kt-pattern-digital-hero .wp-block-button__link:hover {
        transform: none;
    }
}

/* =========================================================
   CAREERS VACANCIES TABLE — MOBILE SCROLLING
   Preserve the desktop table; scroll horizontally on mobile.
   ========================================================= */

.kt-careers-vacancies-table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.kt-careers-vacancies-table table {
    width: 100%;
    min-width: 900px;
    margin: 0;
}

@media (max-width: 767px) {
    .kt-careers-vacancies-table {
        margin-bottom: 22px;
    }

    .kt-careers-vacancies-table thead th,
    .kt-careers-vacancies-table tbody td {
        padding: 13px 14px;
        font-size: 0.88rem;
    }

    .kt-careers-vacancies-table tbody td:first-child {
        min-width: 250px;
    }
}

/* =========================================================
   REFERENCE TYPOGRAPHY ALIGNMENT — BOARD AND MANAGEMENT
   Additive overrides; preserve the existing theme structure.
   ========================================================= */

body {
    font-size: 16px;
    line-height: 1.6;
}

.kt-board-intro h1 {
    font-size: 44px;
    line-height: 1.05;
    letter-spacing: -1.32px;
}

.kt-board-section > h2,
.kt-board-profile-area > h2 {
    font-size: 30px;
    line-height: 1.15;
    letter-spacing: -0.75px;
}

.kt-board-intro > p:last-child {
    font-size: 16px;
    line-height: 1.6;
}

.kt-leadership-feature-content h3 {
    font-size: 21px;
    line-height: 1.22;
    letter-spacing: -0.42px;
}

.kt-leadership-card > h3 {
    font-size: 19px;
    line-height: 1.22;
    letter-spacing: -0.38px;
}

.kt-leadership-feature-content .kt-leadership-role,
.kt-leadership-card > .kt-leadership-role {
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 700px) {
    .kt-board-intro h1 {
        font-size: 38px;
        line-height: 1.12;
        letter-spacing: -0.8px;
    }

    .kt-board-section > h2,
    .kt-board-profile-area > h2 {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -0.5px;
    }

    .kt-leadership-feature-content h3 {
        font-size: 21px;
    }

    .kt-leadership-card > h3 {
        font-size: 19px;
    }
}

/* =========================================================
   REFERENCE PROFILE CARD ALIGNMENT — BOARD AND MANAGEMENT
   Scope: Board and Management profile cards only.
   Preserve featured Chairman/CEO portraits and Careers styles.
   ========================================================= */

.kt-board-page .kt-leadership-grid,
.kt-management-page .kt-leadership-grid {
    grid-template-columns: repeat(4, minmax(0, 250px));
    justify-content: center;
    align-items: stretch;
    gap: 24px;
}

.kt-board-page .kt-leadership-card,
.kt-management-page .kt-leadership-card {
    width: 100%;
    max-width: 250px;
    margin-inline: auto;
    text-align: center;
    box-sizing: border-box;
}

.kt-board-page .kt-leadership-card > .wp-block-image,
.kt-management-page .kt-leadership-card > .wp-block-image {
    display: flex;
    width: 100%;
    height: auto;
    min-height: 205px;
    margin: 0;
    padding: 14px;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    background: #eef4f8;
}

.kt-board-page .kt-leadership-card > .wp-block-image img {
    display: block;
    width: 140px;
    max-width: 140px;
    height: 165px;
    object-fit: cover;
    object-position: center top;
    border-radius: 5px;
}

.kt-management-page .kt-leadership-card > .wp-block-image img {
    display: block;
    width: 150px;
    max-width: 150px;
    height: 150px;
    object-fit: cover;
    object-position: center top;
    border-radius: 5px;
}

.kt-board-page .kt-leadership-card > h3,
.kt-management-page .kt-leadership-card > h3 {
    min-height: 0;
    margin: 18px 16px 8px;
}

.kt-board-page .kt-leadership-card > .kt-leadership-role,
.kt-management-page .kt-leadership-card > .kt-leadership-role {
    min-height: 0;
    margin: 0 16px 22px;
}

@media (max-width: 1100px) {
    .kt-board-page .kt-leadership-grid,
    .kt-management-page .kt-leadership-grid {
        grid-template-columns: repeat(2, minmax(0, 250px));
    }
}

@media (max-width: 600px) {
    .kt-board-page .kt-leadership-grid,
    .kt-management-page .kt-leadership-grid {
        grid-template-columns: minmax(0, 300px);
    }

    .kt-board-page .kt-leadership-card,
    .kt-management-page .kt-leadership-card {
        max-width: 300px;
    }
}

/* =========================================================
   PROFILE IMAGE DIMENSION FIX — BOARD AND MANAGEMENT
   Override earlier !important image-height declarations.
   ========================================================= */

.kt-board-page .kt-leadership-card > .wp-block-image,
.kt-management-page .kt-leadership-card > .wp-block-image {
    height: auto !important;
    min-height: 193px !important;
    padding: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.kt-board-page .kt-leadership-card > .wp-block-image img {
    width: 140px !important;
    max-width: 140px !important;
    height: 165px !important;
    object-fit: cover !important;
    object-position: center top !important;
}

.kt-management-page .kt-leadership-card > .wp-block-image img {
    width: 150px !important;
    max-width: 150px !important;
    height: 150px !important;
    object-fit: cover !important;
    object-position: center top !important;
}


/* =========================================================
   BOARD GRID LAYOUT
   Desktop: 3, 4 or 2 columns according to card count.
   Tablet: two columns. Mobile: one column.
   ========================================================= */

.kt-board-page .kt-board-section > .kt-leadership-grid {
    justify-content: center;
}

/* Independent Directors: 3 profiles */
.kt-board-page .kt-board-section > .kt-leadership-grid:has(> .kt-leadership-card:nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 250px));
}

/* Government & Stakeholder Representatives: 4 profiles */
.kt-board-page .kt-board-section > .kt-leadership-grid:has(> .kt-leadership-card:nth-child(4):last-child) {
    grid-template-columns: repeat(4, minmax(0, 250px));
}

/* Executive & Secretariat: 2 profiles */
.kt-board-page .kt-board-section > .kt-leadership-grid:has(> .kt-leadership-card:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 250px));
}

@media (max-width: 1100px) {
    .kt-board-page .kt-board-section > .kt-leadership-grid {
        grid-template-columns: repeat(2, minmax(0, 250px)) !important;
    }
}

@media (max-width: 600px) {
    .kt-board-page .kt-board-section > .kt-leadership-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100%;
        max-width: 100%;
        justify-content: stretch;
        box-sizing: border-box;
    }

    .kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card {
        width: 100%;
        max-width: 300px;
        justify-self: center;
        box-sizing: border-box;
    }
}


/* =========================================================
   MOBILE HEADER OVERFLOW FIX
   Hide desktop header actions on narrow screens.
   Preserve desktop header behaviour.
   ========================================================= */

@media (max-width: 1000px) {
    .ktv2-main-header-inner .ktv2-header-actions {
        display: none !important;
    }
}


/* =========================================================
   Gutenberg editor-only fix: KenTrade homepage hero
   Preserve the public-facing slider behaviour.
   ========================================================= */

.editor-styles-wrapper .ktv2-hero-slider {
    position: relative !important;
    min-height: 560px !important;
    height: 560px !important;
    overflow: hidden !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slides {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    min-height: 560px !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    margin: 0 !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide .wp-block-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    margin: 0 !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide .wp-block-image img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    object-fit: cover !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    min-height: 560px !important;
    pointer-events: none;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-hero-content {
    position: relative !important;
    min-height: 560px !important;
    height: 560px !important;
    z-index: 3 !important;
}

/* Hero typography refinement: KenTrade Future V2 */
@media (min-width: 1001px) {
    .ktv2-hero-content {
        width: min(1280px, calc(100% - 96px));
    }

    .ktv2-hero-title {
        max-width: 1100px;
        font-size: clamp(3.5rem, 5.2vw, 5rem);
        line-height: 1.08;
    }

    .ktv2-hero-description {
        max-width: 1000px;
    }
}

/* Hero alignment correction - October 2026 */
.ktv2-hero-slider {
    position: relative;
    isolation: isolate;
}

.ktv2-hero-slider > .ktv2-slides {
    inset: 0 !important;
}

.ktv2-hero-slider .ktv2-hero-overlay {
    top: 0 !important;
    bottom: 0 !important;
    margin-top: 0 !important;
    height: auto !important;
}

.ktv2-hero-slider .ktv2-hero-content {
    margin-top: 0 !important;
    min-height: 100% !important;
}

/* Reduce excessive whitespace before the Services heading */
.ktv2-services {
    padding-top: 56px;
}

/* =========================================================
   Mobile refinement: KenTrade Future V2
   ========================================================= */

@media (max-width: 600px) {

    /* Keep the notice bar readable and prevent narrow columns */
    .ktv2-noticebar-inner {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        column-gap: 12px;
        row-gap: 6px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .ktv2-notice-label {
        grid-column: 1;
        padding-top: 2px;
        white-space: nowrap;
    }

    .ktv2-notice-text {
        grid-column: 2;
        min-width: 0;
        line-height: 1.5;
    }

    .ktv2-notice-link {
        grid-column: 2;
        justify-self: start;
        line-height: 1.4;
    }

    /* Make the hero content more compact on phones */
    .ktv2-hero-slider {
        min-height: 540px;
    }

    .ktv2-hero-content {
        box-sizing: border-box;
        min-height: 540px !important;
        height: 540px;
        padding-top: 24px;
        padding-bottom: 68px;
        justify-content: center;
    }

    .ktv2-hero-eyebrow {
        margin-bottom: 12px;
        font-size: 11px;
        line-height: 1.4;
        letter-spacing: 0.12em;
    }

    .ktv2-hero-title {
        max-width: 100%;
        font-size: clamp(2.25rem, 10vw, 3rem);
        line-height: 1.05;
        overflow-wrap: normal;
    }

    .ktv2-hero-description {
        margin-top: 16px;
        font-size: 1rem;
        line-height: 1.5;
    }

    /* Keep both buttons on one row where possible */
    .ktv2-hero-actions {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
        width: 100%;
        margin-top: 22px;
    }

    .ktv2-hero-actions > .wp-block-button {
        flex: 0 1 auto;
        margin: 0;
    }

    .ktv2-hero-actions .wp-block-button__link {
        min-height: 48px;
        padding: 12px 16px;
        white-space: nowrap;
        font-size: 14px;
    }

    /* Keep the slider dots clear of the content */
    .ktv2-slider-dots {
        bottom: 18px;
    }
}

/* Mobile layout correction: notice bar and hero actions */
@media (max-width: 600px) {

    .ktv2-noticebar-inner {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: start;
        column-gap: 12px;
        row-gap: 8px;
    }

    .ktv2-notice-label {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-self: start;
    }

    .ktv2-notice-text {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    .ktv2-notice-link {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
    }

    .ktv2-hero-actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    .ktv2-hero-actions > .wp-block-button {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: 100%;
    }

    .ktv2-hero-actions .wp-block-button__link {
        box-sizing: border-box;
        white-space: nowrap;
        padding: 12px 14px;
        font-size: 14px;
    }
}

/* Tablet header refinement: prevent desktop navigation wrapping */
@media (min-width: 1001px) and (max-width: 1100px) {
    .ktv2-main-header-inner {
        min-height: 76px;
        gap: 18px;
    }

    .ktv2-navigation {
        justify-content: flex-end;
    }

    .ktv2-navigation .wp-block-navigation__container {
        display: none;
    }

    .ktv2-header-actions {
        display: none;
    }
}

/* Final tablet header correction */
@media (min-width: 1001px) and (max-width: 1100px) {
    .ktv2-main-header-inner .ktv2-header-actions {
        display: none !important;
    }

    .ktv2-main-header-inner {
        justify-content: space-between;
    }

    .ktv2-navigation {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
    }
}

/* Tablet: show the WordPress responsive navigation button */
@media (min-width: 1001px) and (max-width: 1100px) {
    .ktv2-main-header-inner .ktv2-navigation {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
        align-self: center;
    }

    .ktv2-main-header-inner .ktv2-navigation
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 10px;
        color: inherit;
        background: transparent;
        border: 0;
        cursor: pointer;
    }

    .ktv2-main-header-inner .ktv2-navigation
    .wp-block-navigation__responsive-container-open svg {
        width: 24px;
        height: 24px;
        fill: currentColor;
    }
}

/* Keep responsive navigation available across the tablet breakpoint */
@media (min-width: 601px) and (max-width: 1000px) {
    .ktv2-main-header-inner .ktv2-navigation
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 10px;
    }

    .ktv2-main-header-inner .ktv2-navigation {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
        align-self: center;
    }
}

/* Keep the responsive menu visible at the 600px boundary */
@media (width: 600px) {
    .ktv2-main-header-inner .ktv2-navigation
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 10px;
    }

    .ktv2-main-header-inner .ktv2-navigation {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
        align-self: center;
    }
}

/* Homepage hero: remove agency eyebrow and reclaim its space */
.ktv2-hero-content > .ktv2-hero-eyebrow {
    display: none !important;
}

.ktv2-hero-content {
    justify-content: center;
}


/* Services refinement: consistent card layout */
.ktv2-service-grid {
    align-items: stretch;
}

.ktv2-service-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 260px;
    height: 100%;
    padding: 28px;
}

.ktv2-service-description {
    margin-top: 14px;
}

.ktv2-service-link {
    margin-top: auto;
    padding-top: 24px;
}

@media (max-width: 600px) {
    .ktv2-service-card {
        padding: 24px;
    }
}

/* Services: align all cards consistently within the grid */
.ktv2-service-grid > .ktv2-service-card {
    margin-block-start: 0 !important;
}


/* Services: align card links with the description text */
.ktv2-service-card .ktv2-service-link {
    text-align: left;
}


/* Services: align link blocks with card descriptions */
.ktv2-service-card .ktv2-service-link {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}


/* Hero refinement: vertically center content on desktop and tablet */
@media (min-width: 601px) {
    .ktv2-hero-slider {
        display: grid;
        align-items: center;
    }

    .ktv2-hero-slider .ktv2-hero-content {
        width: min(1280px, calc(100% - 48px));
        min-height: 0 !important;
        height: auto;
        margin-block: auto;
        padding-block: 48px;
        box-sizing: border-box;
    }
}


/* Mobile footer refinement: reduce excess vertical spacing */
@media (max-width: 600px) {
    .ktv2-footer-grid {
        row-gap: 24px;
    }

    .ktv2-footer-grid > .ktv2-footer-column {
        margin-block-start: 0 !important;
    }
}

/* Mobile navigation refinement: compact submenu spacing */
@media (max-width: 600px) {
    .ktv2-navigation .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container {
        padding-top: 12px;
        padding-bottom: 6px;
    }
}

/* Board profile grids: align mobile tracks with 300px cards */
@media (max-width: 600px) {
    .kt-board-page .kt-board-section > .kt-leadership-grid {
        grid-template-columns: minmax(0, 300px) !important;
        justify-content: center;
    }
}

/* =========================================================
   ABOUT US PAGE — KENTRADE FUTURE V2
   Scoped to the About Us page's existing custom classes.
   ========================================================= */

/* Page hero */
body:has(.kt-about-us-hero-marker) .kt-page-hero {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 56px max(24px, calc((100% - 1200px) / 2)) 60px;
    background: #15315f;
    color: var(--kt-white);
}

body:has(.kt-about-us-hero-marker) .kt-page-hero .eyebrow {
    margin: 0 0 14px;
    color: #d8e5f7;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body:has(.kt-about-us-hero-marker) .kt-page-hero h1 {
    margin: 0 0 18px;
    color: var(--kt-white);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}

body:has(.kt-about-us-hero-marker) .kt-page-hero p {
    max-width: 850px;
    margin: 0;
    color: #f1f5fb;
    font-size: 1.1rem;
    line-height: 1.75;
}

/* Mandate section */
body:has(.kt-about-us-hero-marker) .kt-content-section {
    box-sizing: border-box;
    width: min(100% - 48px, 1200px);
    margin: 0 auto;
    padding: 48px 0 36px;
}

body:has(.kt-about-us-hero-marker) .kt-content-section .section-heading {
    margin-bottom: 28px;
}

body:has(.kt-about-us-hero-marker) .kt-content-section .eyebrow {
    margin: 0 0 12px;
    color: #315a96;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body:has(.kt-about-us-hero-marker) .kt-content-section .section-heading h2 {
    margin: 0;
    color: #204a8e;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.25;
}

body:has(.kt-about-us-hero-marker) .kt-content-section .kt-prose {
    max-width: 920px;
}

body:has(.kt-about-us-hero-marker) .kt-content-section .kt-prose p {
    margin: 0 0 18px;
    color: #333d4c;
    font-size: 1rem;
    line-height: 1.8;
}

/* Vision, mission and values cards */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    box-sizing: border-box;
    width: min(100% - 48px, 1200px);
    margin: 0 auto;
    padding: 16px 0 72px;
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card {
    box-sizing: border-box;
    min-width: 0;
    padding: 28px 26px;
    background: var(--kt-white);
    border: 1px solid #dfe6f0;
    border-top: 4px solid #244f91;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(21, 49, 95, 0.06);
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card h3 {
    margin: 0 0 14px;
    color: #204a8e;
    font-size: 1.2rem;
    line-height: 1.35;
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card p {
    margin: 0;
    color: #3c4655;
    font-size: 0.98rem;
    line-height: 1.75;
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1000px) {
    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    body:has(.kt-about-us-hero-marker) .kt-page-hero {
        padding-top: 44px;
        padding-bottom: 48px;
    }

    body:has(.kt-about-us-hero-marker) .kt-content-section {
        padding-top: 48px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    body:has(.kt-about-us-hero-marker) .kt-page-hero {
        padding: 36px 20px 40px;
    }

    body:has(.kt-about-us-hero-marker) .kt-page-hero p {
        font-size: 1rem;
        line-height: 1.7;
    }

    body:has(.kt-about-us-hero-marker) .kt-content-section {
        width: calc(100% - 40px);
        padding: 40px 0 24px;
    }

    body:has(.kt-about-us-hero-marker) .kt-content-section .section-heading {
        margin-bottom: 22px;
    }

    body:has(.kt-about-us-hero-marker) .kt-content-section .kt-prose p {
        line-height: 1.75;
    }

    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        width: calc(100% - 40px);
        padding-top: 12px;
        padding-bottom: 44px;
    }

    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card {
        padding: 24px 22px;
    }
}

/* Mobile navigation: keep submenu toggle controls visible */
@media (max-width: 600px) {
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation__submenu-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}


/* Hero slider pause/play accessibility control */
.ktv2-slider-pause {
    position: absolute;
    z-index: 5;
    right: 24px;
    bottom: 18px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 4px;
    background: rgba(16,45,92,.9);
    color: var(--kt-white);
    font: inherit;
    font-size: 14px;
    line-height: 1.3;
    cursor: pointer;
}
.ktv2-slider-pause:hover {
    background: var(--kt-white);
    color: var(--kt-navy);
}
.ktv2-slider-pause:focus-visible {
    outline: 3px solid #f5c542;
    outline-offset: 3px;
}
@media (max-width: 600px) {
    .ktv2-slider-pause {
        right: 12px;
        bottom: 12px;
        min-height: 40px;
        padding: 8px 10px;
        font-size: 12px;
    }
    .ktv2-slider-dots {
        left: 12px;
        bottom: 22px;
        transform: none;
        max-width: calc(100% - 160px);
        flex-wrap: wrap;
    }
}


/* EDITOR PREVIEW: show only active hero slide */
.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide:not(.is-active) {
    display: none !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide.is-active {
    display: block !important;
}

/* EDITOR PREVIEW: show the first hero slide */
.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide {
    display: none !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide:first-child {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
}

/* Homepage preview only: override the temporary first-slide diagnostic rule. */
.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slide:first-child {
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 0 !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slide:first-child.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
}

/* Editor-only fix: keep the first slide visible in the homepage preview editor. */
.editor-styles-wrapper .ktv2-homepage-preview .ktv2-hero-slider .ktv2-slide:first-child {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
}

.editor-styles-wrapper .ktv2-homepage-preview .ktv2-hero-slider .ktv2-slide:first-child img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* KenTrade homepage preview: consistent hero layout */
.ktv2-homepage-preview .ktv2-hero-slider {
    position: relative !important;
    display: block !important;
    min-height: 560px !important;
    height: 560px !important;
    overflow: hidden !important;
    isolation: isolate;
}

.ktv2-homepage-preview .ktv2-hero-slider > .ktv2-slides {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slide figure,
.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slide img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    z-index: 2 !important;
    pointer-events: none;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-hero-content {
    position: relative !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
    width: min(1200px, calc(100% - 48px)) !important;
    min-height: 560px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 48px 0 76px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slider-control {
    z-index: 5 !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slider-dots {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 22px !important;
    z-index: 6 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    transform: translateX(-50%) !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slider-pause {
    z-index: 6 !important;
}

@media (max-width: 600px) {
    .ktv2-homepage-preview .ktv2-hero-slider {
        height: 540px !important;
        min-height: 540px !important;
    }

    .ktv2-homepage-preview .ktv2-hero-slider .ktv2-hero-content {
        width: calc(100% - 32px) !important;
        min-height: 540px !important;
        padding: 36px 0 76px !important;
    }

    .ktv2-homepage-preview .ktv2-hero-slider .ktv2-slider-dots {
        bottom: 18px !important;
    }
}

/* Homepage preview: keep slider controls inside the hero banner */
.ktv2-homepage-preview .ktv2-hero-slider {
    position: relative !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slider-dots {
    top: auto !important;
    bottom: 22px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
}

.ktv2-homepage-preview .ktv2-hero-slider .ktv2-slider-control {
    top: 50% !important;
    z-index: 10 !important;
}

@media (max-width: 600px) {
    .ktv2-homepage-preview .ktv2-hero-slider .ktv2-slider-dots {
        bottom: 18px !important;
    }
}


/* KenTrade homepage slider layout: Gutenberg editor canvas */
.editor-styles-wrapper .ktv2-hero-slider {
    position: relative !important;
    display: block !important;
    height: 560px !important;
    min-height: 560px !important;
    overflow: hidden !important;
    isolation: isolate;
}

.editor-styles-wrapper .ktv2-hero-slider > .ktv2-slides {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 0 !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide:first-child {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide figure,
.editor-styles-wrapper .ktv2-hero-slider .ktv2-slide img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    z-index: 2 !important;
    pointer-events: none;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-hero-content {
    position: relative !important;
    z-index: 3 !important;
    box-sizing: border-box !important;
    width: min(1200px, calc(100% - 48px)) !important;
    min-height: 560px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 48px 0 76px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slider-control {
    top: 50% !important;
    z-index: 5 !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slider-dots {
    position: absolute !important;
    top: auto !important;
    left: 50% !important;
    right: auto !important;
    bottom: 22px !important;
    z-index: 6 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    transform: translateX(-50%) !important;
}

.editor-styles-wrapper .ktv2-hero-slider .ktv2-slider-pause {
    z-index: 6 !important;
}

@media (max-width: 600px) {
    .editor-styles-wrapper .ktv2-hero-slider {
        height: 540px !important;
        min-height: 540px !important;
    }

    .editor-styles-wrapper .ktv2-hero-slider .ktv2-hero-content {
        width: calc(100% - 32px) !important;
        min-height: 540px !important;
        padding: 36px 0 76px !important;
    }

    .editor-styles-wrapper .ktv2-hero-slider .ktv2-slider-dots {
        bottom: 18px !important;
    }
}


/* FINAL HERO SLIDER VISIBILITY GUARD — prevents inactive slides from stacking. */

.ktv2-hero-slider .ktv2-slides > .ktv2-slide,
.ktv2-hero-slider > .ktv2-slide {
    display: none !important;
}

.ktv2-hero-slider .ktv2-slides > .ktv2-slide.is-active,
.ktv2-hero-slider > .ktv2-slide.is-active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
}

/* Defensive fallback if stale markup accidentally marks multiple slides active. */
.ktv2-hero-slider .ktv2-slides > .ktv2-slide.is-active ~ .ktv2-slide.is-active,
.ktv2-hero-slider > .ktv2-slide.is-active ~ .ktv2-slide.is-active {
    display: none !important;
}


/* =========================================================
   KenTrade Future V2.0 — enterprise design-system refinement
   Inspired by modern trade/logistics UX patterns; KenTrade-owned styling.
   ========================================================= */
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body {
    color: var(--kt-ink);
    font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
main { min-height: 40vh; }
.wp-site-blocks { overflow-wrap: break-word; }
.wp-block-post-content > * { max-width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.wp-block-post-content > .alignwide { max-width: min(1440px, calc(100% - 48px)); }
.wp-block-post-content > .alignfull { max-width: none; }

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    color: var(--kt-navy);
    letter-spacing: -.025em;
    text-wrap: balance;
}
h1, .wp-block-post-title { font-size: clamp(2.25rem, 4.5vw, 4.25rem); line-height: 1.08; }
h2 { font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.15; }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.25; }
p { text-wrap: pretty; }
a { text-underline-offset: .2em; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
a:hover { color: var(--kt-blue-bright); }
:focus-visible { outline: 3px solid #f4b400 !important; outline-offset: 3px !important; }

/* Utility strip and global navigation */
.ktv2-utility { background: var(--kt-navy); }
.ktv2-utility-inner { min-height: 40px; }
.ktv2-government { font-size: 12px; }
.ktv2-language { padding: 3px 8px; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; }
.ktv2-main-header { position: relative; z-index: 30; background: rgba(255,255,255,.98); box-shadow: 0 4px 18px rgba(16,45,92,.045); }
.ktv2-main-header-inner { min-height: 88px; }
.ktv2-logo img { max-width: 176px; }
.ktv2-navigation .wp-block-navigation__container { gap: clamp(12px, 1.4vw, 24px); }
.ktv2-navigation .wp-block-navigation-item__content { padding-block: 30px; font-size: 14px; font-weight: 700; }
.ktv2-navigation .wp-block-navigation-item__content:hover,
.ktv2-navigation .wp-block-navigation-item__content:focus-visible { color: var(--kt-red); }
.ktv2-navigation .wp-block-navigation__submenu-container { border: 1px solid var(--kt-line); border-radius: 0 0 12px 12px; box-shadow: var(--kt-shadow-hover); overflow: hidden; }
.ktv2-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 11px 18px; line-height: 1.4; }
.ktv2-tradenet-button .wp-block-button__link,
.ktv2-header-actions .wp-block-button__link {
    border-radius: 7px; box-shadow: 0 5px 12px rgba(215,25,32,.16);
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.ktv2-tradenet-button .wp-block-button__link:hover,
.ktv2-header-actions .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 9px 20px rgba(215,25,32,.22); }
.ktv2-noticebar { background: #f3f6fb; border-bottom-color: var(--kt-line); }
.ktv2-notice-label { color: var(--kt-red); }
.ktv2-notice-link a { text-decoration: underline; text-underline-offset: 3px; }

/* Search block added to the utility/header area */
.ktv2-site-search { margin: 0; min-width: 220px; }
.ktv2-site-search .wp-block-search__inside-wrapper { gap: 0; padding: 2px; border: 1px solid rgba(255,255,255,.35); border-radius: 7px; background: rgba(255,255,255,.1); }
.ktv2-site-search .wp-block-search__input { min-width: 0; padding: 6px 10px; color: var(--kt-white); background: transparent; border: 0; font-size: 12px; }
.ktv2-site-search .wp-block-search__input::placeholder { color: rgba(255,255,255,.82); }
.ktv2-site-search .wp-block-search__button { margin: 0; min-width: 34px; padding: 5px 8px; border: 0; border-radius: 5px; background: var(--kt-white); color: var(--kt-navy); }
.ktv2-site-search .wp-block-search__button svg { fill: currentColor; }

/* Hero and section rhythm */
.ktv2-homepage > .wp-block-post-content > * { margin-block: clamp(1.5rem, 3vw, 3rem); }
.ktv2-homepage > .wp-block-post-content > .alignfull { margin-block: 0; }
.ktv2-hero-slider, .kt-slider { isolation: isolate; background: linear-gradient(120deg, var(--kt-navy) 0%, var(--kt-blue) 56%, #2b6499 100%); }
.kt-slider > .kt-slide { background: linear-gradient(120deg, rgba(16,45,92,.96), rgba(30,67,136,.8) 62%, rgba(20,94,130,.62)); }
.kt-slider .wp-block-cover__background { background: linear-gradient(105deg, rgba(10,29,61,.9), rgba(20,62,116,.45)) !important; }
.kt-slider .kt-slide-title { max-width: 900px; color: var(--kt-white); font-size: clamp(2.4rem, 5.4vw, 5rem); line-height: 1.04; letter-spacing: -.035em; }
.kt-slider .kt-slide-text { max-width: 720px; color: var(--kt-white); font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.kt-slider .wp-block-button__link { border-radius: 7px; padding: 14px 22px; font-weight: 700; }
.kt-slider .wp-block-button__link:hover { transform: translateY(-2px); }
.ktv2-hero-title { letter-spacing: -.04em; }
.ktv2-hero-button { border-radius: 7px; }

/* Cards, service launchers, news and institutional content */
.kt-pattern-services, .kt-pattern-smart-services, .kt-pattern-news,
.kt-pattern-notices, .kt-pattern-statistics, .kt-pattern-profiles,
.kt-pattern-vacancies, .kt-pattern-faq, .kt-pattern-trade-dashboard,
.kt-pattern-innovation-showcase, .kt-pattern-two-column, .kt-pattern-cta {
    margin-block: clamp(2rem, 3.5vw, 3.5rem);
}
.kt-pattern-service-card, .kt-pattern-smart-services .kt-pattern-service-card,
.kt-pattern-news-card, .kt-pattern-profile-card, .kt-pattern-statistic,
.kt-pattern-vacancy-item, .kt-pattern-faq-item, .kt-pattern-notice-item,
.kt-pattern-trade-dashboard__grid > .wp-block-column {
    box-sizing: border-box;
    border: 1px solid var(--kt-line);
    border-radius: var(--kt-radius-md);
    background: var(--kt-white);
    box-shadow: 0 4px 18px rgba(16,45,92,.035);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.kt-pattern-service-card, .kt-pattern-smart-services .kt-pattern-service-card,
.kt-pattern-news-card, .kt-pattern-profile-card, .kt-pattern-statistic { padding: clamp(1.25rem, 2vw, 2rem); }
.kt-pattern-service-card:hover, .kt-pattern-smart-services .kt-pattern-service-card:hover,
.kt-pattern-news-card:hover, .kt-pattern-profile-card:hover,
.kt-pattern-vacancy-item:hover, .kt-pattern-notice-item:hover {
    transform: translateY(-3px); border-color: #b8c9e2; box-shadow: var(--kt-shadow-card);
}
.kt-pattern-service-card h3, .kt-pattern-news-card h3, .kt-pattern-profile-card h3 { margin-top: .5rem; }
.kt-pattern-service-card a, .kt-pattern-news-card a, .kt-pattern-notice-item a,
.kt-pattern-vacancy-item a { font-weight: 700; }
.kt-pattern-service-card a:not(.wp-block-button__link), .kt-pattern-news-card a,
.kt-pattern-notice-item a, .kt-pattern-vacancy-item a { text-decoration: none; }
.kt-pattern-service-card a:not(.wp-block-button__link):hover,
.kt-pattern-news-card a:hover, .kt-pattern-notice-item a:hover { text-decoration: underline; }
.kt-pattern-meta { color: var(--kt-muted); font-size: .82rem; font-weight: 700; letter-spacing: .025em; }
.kt-pattern-image-placeholder { display: grid; place-items: center; min-height: 130px; padding: 1rem; color: var(--kt-muted); background: var(--kt-surface); border: 1px dashed #b8c6d8; border-radius: var(--kt-radius-sm); font-size: .9rem; text-align: center; }
.kt-pattern-statistic h3, .kt-pattern-trade-dashboard__grid h3 { color: var(--kt-blue); font-size: clamp(2rem, 3.5vw, 3rem); }
.kt-pattern-cta { padding: clamp(2rem, 5vw, 4rem); color: var(--kt-white); background: linear-gradient(115deg, var(--kt-navy), var(--kt-blue)); border-radius: var(--kt-radius-lg); }
.kt-pattern-cta h2, .kt-pattern-cta p { color: var(--kt-white); }
.kt-pattern-cta .wp-block-button__link { background: var(--kt-red); border-radius: 7px; }
.wp-block-button__link { transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.wp-block-button__link:hover { box-shadow: 0 8px 22px rgba(16,45,92,.16); }

/* Tables, forms and documents */
input, select, textarea { max-width: 100%; border: 1px solid #bdc9d8; border-radius: 7px; padding: .7rem .85rem; color: var(--kt-ink); background: var(--kt-white); }
input:focus, select:focus, textarea:focus { border-color: var(--kt-blue); outline: 3px solid rgba(36,89,169,.16); }
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th { background: var(--kt-navy); color: var(--kt-white); text-align: left; }
.wp-block-table td, .wp-block-table th { padding: .8rem 1rem; border: 1px solid var(--kt-line); }
.wp-block-file .wp-block-file__button { border-radius: 6px; }

/* Footer */
.ktv2-footer { margin-top: clamp(4rem, 7vw, 7rem); background: #0b2145; color: #e8eef8; }
.ktv2-footer-main { padding-block: clamp(3rem, 5vw, 5rem); }
.ktv2-footer-brand-name { color: var(--kt-white); font-size: 2rem; font-weight: 800; letter-spacing: -.03em; }
.ktv2-footer-description, .ktv2-footer-tagline { color: #d1deef; }
.ktv2-footer-heading { color: var(--kt-white); font-size: 1rem; letter-spacing: .02em; }
.ktv2-footer a { color: #e8eef8; text-decoration: none; }
.ktv2-footer a:hover { color: var(--kt-white); text-decoration: underline; text-underline-offset: 3px; }
.ktv2-footer-bottom { border-top: 1px solid rgba(255,255,255,.16); padding-block: 1rem; }
.ktv2-footer-copyright { margin: 0; color: #c6d2e3; font-size: .85rem; }

/* Accessible skip link: visible when keyboard-focused */
.ktv2-skip-link { position: absolute; top: 8px; left: 8px; z-index: 1000; padding: 10px 14px; transform: translateY(-160%); color: var(--kt-white); background: var(--kt-navy); border-radius: 6px; }
.ktv2-skip-link:focus { transform: translateY(0); color: var(--kt-white); }

@media (max-width: 1100px) {
    .ktv2-navigation .wp-block-navigation__container { display: none; }
    .ktv2-header-actions { display: flex !important; gap: 0; }
    .ktv2-contact { display: none; }
    .ktv2-tradenet-button .wp-block-button__link { padding: 10px 12px; font-size: 12px; }
    .ktv2-main-header-inner { gap: 12px; }
    .ktv2-logo img { max-width: 150px; }
}
@media (max-width: 700px) {
    .ktv2-site-search { display: none; }
    .ktv2-utility-inner, .ktv2-main-header-inner, .ktv2-noticebar-inner { width: calc(100% - 28px); padding-inline: 0; }
    .ktv2-main-header-inner { min-height: 72px; }
    .ktv2-logo img { max-width: 125px; }
    .ktv2-noticebar-inner { align-items: flex-start; gap: 8px; }
    .ktv2-notice-text { line-height: 1.4; }
    .ktv2-notice-link { white-space: nowrap; }
    .ktv2-header-actions .wp-block-buttons, .ktv2-header-actions .wp-block-button { margin: 0; }
    .ktv2-tradenet-button .wp-block-button__link { padding: 9px 10px; font-size: 11px; }
    .wp-block-post-content > * { max-width: calc(100% - 28px); }
    .wp-block-post-content > .alignwide { max-width: calc(100% - 28px); }
    .kt-slider .wp-block-cover__inner-container { padding-inline: 24px; }
    .kt-slider .kt-slide-title { font-size: clamp(2rem, 9vw, 3.2rem); }
    .kt-slider .kt-slide-text { font-size: 1rem; }
    .kt-pattern-cta { border-radius: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* V3 CMS-driven archive presentation */
.ktv3-archive-card{height:100%;padding:1.25rem;border:1px solid #e3e9f2;border-radius:1rem;background:var(--kt-white);box-shadow:0 8px 24px rgba(16,45,92,.06)}
.ktv3-archive-card .wp-block-post-title{font-size:1.2rem;line-height:1.3}
.ktv3-archive-card .wp-block-post-featured-image img{border-radius:.65rem;object-fit:cover}
.ktv2-main-header-inner{gap:1rem}
.ktv2-header-search{max-width:18rem}
@media(max-width:900px){.ktv2-main-header-inner{flex-wrap:wrap!important}.ktv2-navigation{order:3;width:100%}.ktv2-header-actions{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* V3 quality gate refinements: accessibility, responsive media and readable states */
:root { color-scheme: light; }
html { scroll-padding-top: 6rem; }
body { overflow-wrap: break-word; }
img, video, iframe { max-width: 100%; }
img { height: auto; }

/* Keep keyboard focus obvious and never rely on colour alone. */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #8a5b00;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--kt-white);
}
:where(a, button, input, select, textarea) { scroll-margin-block: 6rem; }
.wp-block-button__link, .wp-block-search__button, .wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-height: 44px; }
.wp-block-navigation-item__content { text-underline-offset: .2em; }
.wp-block-navigation-item__content:hover, .wp-block-navigation-item__content:focus-visible,
.ktpc-card__title a:hover, .ktpc-card__title a:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; }

/* Search and not-found layouts */
.ktv3-search-page, .ktv3-not-found { min-height: 45vh; }
.ktv3-search-result { margin-block: 1.25rem; padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid var(--kt-line, #d7dfeb); border-radius: 12px; }
.ktv3-search-result .wp-block-post-title { margin-block: 0 .35rem; }
.ktv3-search-result .wp-block-post-date { color: var(--kt-muted, #4b5563); font-size: .875rem; }
.ktv3-eyebrow { color: #8f1d16; font-size: .8rem; font-weight: 800; letter-spacing: .08em; }

/* Prevent card movement from being required to identify interactive elements. */
@media (hover: hover) and (pointer: fine) {
  .ktpc-card:hover, .kt-pattern-service-card:hover, .kt-pattern-news-card:hover,
  .kt-pattern-profile-card:hover { transform: translateY(-2px); }
}
@media (max-width: 600px) {
  .wp-block-table { max-width: 100%; }
  .wp-block-table table { min-width: 36rem; }
  .ktv2-main-header-inner { align-items: center; }
  .ktv3-search-result { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}


/* =========================================================
   V3.2: accessible navigation, editorial slider and maintainability
   ========================================================= */
.ktv2-main-header { position: relative; z-index: 50; }
.ktv2-main-header-inner { gap: clamp(12px, 2vw, 28px); }
.ktv2-main-header-inner > .wp-block-site-logo { flex: 0 0 auto; }
.ktv2-navigation { flex: 1 1 auto; min-width: 0; }
.ktv2-navigation .wp-block-navigation__container { align-items: center; }
.ktv2-navigation .wp-block-navigation-item__content,
.ktv2-header-actions a,
.ktv2-header-actions button { min-height: 44px; display: inline-flex; align-items: center; }
.ktv2-navigation .wp-block-navigation__submenu-container { z-index: 100; }
.ktv2-navigation .wp-block-navigation__responsive-container-open,
.ktv2-navigation .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
.ktv2-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: clamp(20px, 5vw, 40px); }
.ktv2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; }
.ktv2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 14px 4px; font-size: 1.125rem; border-bottom: 1px solid #e5e8ee; }
.ktv2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0; box-shadow: none; padding-left: 16px; }
.ktv2-header-search .wp-block-search__input { min-height: 44px; max-width: 180px; }
.ktv2-header-search .wp-block-search__button { min-height: 44px; min-width: 44px; }

@media (max-width: 1000px) {
  .ktv2-main-header-inner { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; }
  .ktv2-navigation { flex: 0 0 auto; width: auto; margin-left: auto; }
  .ktv2-navigation .wp-block-navigation__container { display: flex; }
  .ktv2-navigation .wp-block-navigation__responsive-container-open { display: flex !important; }
  .ktv2-main-header-inner .ktv2-header-actions { display: flex !important; flex: 0 1 auto; min-width: 0; }
  .ktv2-header-search .wp-block-search__input { width: min(28vw, 160px); }
}
@media (max-width: 600px) {
  .ktv2-main-header-inner { width: min(100% - 24px, 1440px); padding-inline: 0; }
  .ktv2-main-header-inner .wp-block-site-logo img { max-width: 138px; height: auto; }
  .ktv2-header-search .wp-block-search__input { display: none; }
  .ktv2-header-search .wp-block-search__button { margin: 0; padding: 8px; }
  .ktv2-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
  .ktv2-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: flex; }
}

/* Native-block editorial hero slider. Content is edited in the Page editor. */
.ktv2-hero-slider { min-height: clamp(480px, 48vw, 640px); isolation: isolate; background: var(--kt-navy); }
.ktv2-hero-slider .ktv2-slides { position: absolute; inset: 0; margin: 0; padding: 0; }
.ktv2-hero-slider .ktv2-slide { position: absolute; inset: 0; min-height: 100%; margin: 0; padding: 0; overflow: hidden; }
.ktv2-hero-slider .ktv2-slide > .wp-block-image,
.ktv2-hero-slider .ktv2-slide > .ktv2-slide-image,
.ktv2-hero-slider .ktv2-slide figure { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; }
.ktv2-hero-slider .ktv2-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ktv2-hero-slider .ktv2-hero-overlay { position: absolute; inset: 0; z-index: 2; margin: 0; background: linear-gradient(90deg, rgba(8,31,67,.92) 0%, rgba(8,31,67,.76) 46%, rgba(8,31,67,.2) 100%); pointer-events: none; }
.ktv2-hero-slider .ktv2-hero-content { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; box-sizing: border-box; width: min(1200px, calc(100% - 64px)); min-height: clamp(480px, 48vw, 640px); margin-inline: auto; padding: 64px 0 96px; color: var(--kt-white); }
.ktv2-hero-slider .ktv2-hero-content :is(h1,h2,h3,p) { color: inherit; }
.ktv2-hero-slider .ktv2-hero-title { max-width: 820px; font-size: clamp(2.25rem, 5vw, 4.75rem); line-height: 1.04; text-wrap: balance; }
.ktv2-hero-slider .ktv2-hero-description { max-width: 700px; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.65; }
.ktv2-hero-slider .ktv2-slider-control { position: absolute; top: 50%; z-index: 8; transform: translateY(-50%); display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(8,31,67,.65); color: var(--kt-white); font-size: 1.5rem; cursor: pointer; }
.ktv2-hero-slider .ktv2-slider-prev { left: 20px; }
.ktv2-hero-slider .ktv2-slider-next { right: 20px; }
.ktv2-hero-slider .ktv2-slider-dots { position: absolute; z-index: 8; left: 50%; bottom: 24px; display: flex; align-items: center; gap: 10px; transform: translateX(-50%); }
.ktv2-hero-slider .ktv2-slider-dots button { width: 12px; height: 12px; min-width: 12px; padding: 0; border: 2px solid var(--kt-white); border-radius: 50%; background: transparent; cursor: pointer; }
.ktv2-hero-slider .ktv2-slider-dots button.is-active { background: var(--kt-white); }
.ktv2-hero-slider .ktv2-slider-pause { min-height: 40px; padding: 7px 12px; border: 1px solid var(--kt-white); border-radius: 999px; background: rgba(8,31,67,.75); color: var(--kt-white); font: inherit; font-size: .875rem; cursor: pointer; }
.ktv2-hero-slider :is(button,a):focus-visible { outline: 3px solid #ffdc69; outline-offset: 4px; }
@media (max-width: 700px) {
  .ktv2-hero-slider, .ktv2-hero-slider .ktv2-hero-content { min-height: 520px; }
  .ktv2-hero-slider .ktv2-hero-content { width: calc(100% - 40px); padding: 48px 0 100px; }
  .ktv2-hero-slider .ktv2-slider-control { width: 44px; height: 44px; top: auto; bottom: 18px; transform: none; }
  .ktv2-hero-slider .ktv2-slider-prev { left: 16px; }
  .ktv2-hero-slider .ktv2-slider-next { right: 16px; }
  .ktv2-hero-slider .ktv2-slider-dots { bottom: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .ktv2-hero-slider *, .ktv2-main-header * { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Digital Platforms: centre the verified platform card */
.ktv2-platforms .ktv2-service-grid {
    grid-template-columns: minmax(0, 620px);
    justify-content: center;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 600px) {
    .ktv2-platforms .ktv2-service-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Trade Information & Resources: responsive card grid */
.ktv2-resources .ktv2-resource-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
    width: 100%;
    max-width: 1200px;
    margin: 48px auto 0;
}

.ktv2-resources .ktv2-resource-card {
    box-sizing: border-box;
    min-width: 0;
    min-height: 260px;
    height: 100%;
    padding: 28px;
    display: flex;
    flex-direction: column;
}

.ktv2-resources .ktv2-resource-card .ktv2-service-link {
    margin-top: auto;
    padding-top: 28px;
}

@media (max-width: 900px) {
    .ktv2-resources .ktv2-resource-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ktv2-resources {
        padding-left: 16px;
        padding-right: 16px;
    }

    .ktv2-resources .ktv2-resource-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 36px;
    }

    .ktv2-resources .ktv2-resource-card {
        min-height: 0;
        padding: 26px;
    }
}

/* Resource cards: consistent top alignment */
.ktv2-resources .ktv2-resource-grid {
    align-items: stretch;
}

.ktv2-resources .ktv2-resource-card {
    align-self: stretch;
    height: 100%;
    box-sizing: border-box;
}

/* News & Updates: responsive sample card */
.ktv2-news {
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 72px 24px;
}

.ktv2-news > p:first-child {
    color: #52647d;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.ktv2-news-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 760px;
    margin: 36px 0 0;
    padding: 32px;
    background: #f4f7fb;
    border: 1px solid #dce4ef;
    border-left: 5px solid #203864;
    border-radius: 12px;
    overflow-wrap: anywhere;
}

.ktv2-news-card h3 {
    margin-top: 0;
    color: #203864;
}

.ktv2-news-card p {
    max-width: 100%;
}

.ktv2-news-card p:last-child {
    font-size: 0.8rem;
    font-weight: 700;
    color: #52647d;
}

@media (max-width: 600px) {
    .ktv2-news {
        padding: 48px 16px;
    }

    .ktv2-news-card {
        padding: 24px;
    }
}

/* News & Updates: responsive card grid */
.ktv2-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    margin-top: 36px;
    align-items: stretch;
}

.ktv2-news-grid > .ktv2-news-card {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    height: 100%;
    padding: 28px;
    background: #f4f7fb;
    border: 1px solid #dce4ef;
    border-left: 5px solid #203864;
    border-radius: 12px;
    overflow-wrap: anywhere;
}

.ktv2-news-grid .ktv2-news-card h3 {
    margin-top: 0;
    color: #203864;
    font-size: 1.25rem;
    line-height: 1.35;
}

.ktv2-news-grid .ktv2-news-card p:last-child {
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.5;
    color: #52647d;
}

@media (max-width: 900px) {
    .ktv2-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ktv2-news-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .ktv2-news-grid > .ktv2-news-card {
        padding: 24px;
    }
}

/* AI logistics sample news cards */
.ktv2-news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ktv2-news-grid .ktv2-news-icon {
    margin: 0 0 16px;
    font-size: 2rem;
    line-height: 1.2;
}

.ktv2-news-grid .ktv2-news-readmore {
    margin-top: 20px;
    font-size: 0.95rem;
    font-weight: 700;
}

.ktv2-news-grid .ktv2-news-readmore a {
    color: #203864;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ktv2-news-grid .ktv2-news-readmore a:hover {
    color: #315da8;
}

.ktv2-news-grid .ktv2-news-disclaimer {
    margin-top: 18px;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.5;
    color: #52647d;
}


/* Final polish for AI logistics news cards */
.ktv2-news {
    padding-top: 32px;
    padding-bottom: 48px;
}

.ktv2-news-grid {
    align-items: stretch;
}

.ktv2-news-grid > .ktv2-news-card {
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ktv2-news-grid > .ktv2-news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(32, 56, 100, 0.12);
}

.ktv2-news-grid .ktv2-news-readmore {
    margin-top: auto;
    padding-top: 20px;
}

.ktv2-news-grid .ktv2-news-disclaimer {
    margin-top: 18px;
}

@media (prefers-reduced-motion: reduce) {
    .ktv2-news-grid > .ktv2-news-card {
        transition: none;
    }

    .ktv2-news-grid > .ktv2-news-card:hover {
        transform: none;
    }
}


/* Align Resources cards consistently */
.ktv2-resources-grid {
    align-items: stretch;
}

.ktv2-resources-grid > * {
    height: 100%;
    box-sizing: border-box;
}

.ktv2-resources-grid .ktv2-resource-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}

.ktv2-resources-grid .ktv2-resource-card p:last-child {
    margin-top: auto;
}





/* Final override: uniform Resources card alignment */
.ktv2-resources .ktv2-resource-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
}

.ktv2-resources .ktv2-resource-grid > .ktv2-resource-card.ktv2-service-card {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    height: auto;
    min-height: 260px;
    margin-top: 0;
    box-sizing: border-box;
}

.ktv2-resources .ktv2-resource-grid > .ktv2-resource-card.ktv2-service-card > * {
    flex-shrink: 0;
}

.ktv2-resources .ktv2-resource-grid > .ktv2-resource-card.ktv2-service-card > .ktv2-service-link {
    margin-top: auto;
    padding-top: 28px;
}

@media (max-width: 900px) {
    .ktv2-resources .ktv2-resource-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ktv2-resources .ktv2-resource-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card.ktv2-service-card {
        min-height: 0;
    }
}














/* Final homepage Resources spacing: compact, visible heading, clear card separation */
.ktv2-resources {
    padding-top: 24px;
    scroll-margin-top: 120px;
}

.ktv2-resources .ktv2-section-title {
    margin-top: 12px;
    margin-bottom: 24px;
}

.ktv2-resources .ktv2-resource-grid {
    margin-top: 32px;
}

@media (max-width: 600px) {
    .ktv2-resources {
        padding-top: 24px;
        scroll-margin-top: 96px;
    }

    .ktv2-resources .ktv2-section-title {
        margin-bottom: 20px;
    }

    .ktv2-resources .ktv2-resource-grid {
        margin-top: 24px;
    }
}

/* Final responsive layout for News & Updates */
.ktv2-news {
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 32px 24px 48px;
}

.ktv2-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    align-items: stretch;
}

.ktv2-news-grid > .ktv2-news-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    box-sizing: border-box;
}

.ktv2-news-grid .ktv2-news-readmore {
    margin-top: auto;
    padding-top: 20px;
}

@media (max-width: 900px) {
    .ktv2-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ktv2-news {
        padding: 24px 16px 40px;
    }

    .ktv2-news-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .ktv2-news-grid > .ktv2-news-card {
        padding: 24px;
    }
}

/* RESOURCES PAGE — RESPONSIVE RESOURCE CARDS */
body:has(.kt-resources-hero-marker) .kt-page-hero {
    box-sizing: border-box;
    padding: 40px max(24px, calc((100% - 1200px) / 2)) 32px;
}

body:has(.kt-resources-hero-marker) .kt-page-hero .eyebrow {
    margin-bottom: 12px;
}

body:has(.kt-resources-hero-marker) .kt-page-hero h1 {
    margin: 0 0 20px;
    line-height: 1.15;
}

body:has(.kt-resources-hero-marker) .kt-page-hero p {
    max-width: 1000px;
    margin: 0;
    line-height: 1.7;
}

body:has(.kt-resources-hero-marker) .kt-content-section {
    box-sizing: border-box;
    width: min(100% - 48px, 1200px);
    margin: 0 auto;
    padding: 32px 0 64px;
}

body:has(.kt-resources-hero-marker) .kt-content-section .section-heading {
    margin-bottom: 28px;
}

body:has(.kt-resources-hero-marker) .kt-content-section .section-heading h2 {
    margin: 0 0 16px;
    line-height: 1.2;
}

body:has(.kt-resources-hero-marker) .kt-content-section .section-heading > p {
    margin: 0;
    line-height: 1.7;
}

body:has(.kt-resources-hero-marker) .trade-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
    width: 100%;
    margin: 0;
    padding: 0;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 28px 26px;
    background: #f4f7fb;
    border: 1px solid #d9e3f1;
    border-left: 5px solid #244f91;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(21, 49, 95, 0.05);
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card h3 {
    margin: 0 0 14px;
    color: #15315f;
    font-size: 1.25rem;
    line-height: 1.35;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card p {
    margin: 0;
    color: #26374d;
    font-size: 1rem;
    line-height: 1.75;
}

@media (max-width: 900px) {
    body:has(.kt-resources-hero-marker) .trade-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (max-width: 600px) {
    body:has(.kt-resources-hero-marker) .kt-page-hero {
        padding: 32px 20px 28px;
    }

    body:has(.kt-resources-hero-marker) .kt-content-section {
        width: calc(100% - 40px);
        padding: 28px 0 44px;
    }

    body:has(.kt-resources-hero-marker) .kt-content-section .section-heading {
        margin-bottom: 22px;
    }

    body:has(.kt-resources-hero-marker) .trade-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    body:has(.kt-resources-hero-marker) .trade-grid > .trade-card {
        padding: 24px 22px;
    }
}

/* Resources page: keep intro clear of sticky navigation */
body:has(.kt-resources-hero-marker) .kt-page-hero {
    padding-top: 56px;
}

body:has(.kt-resources-hero-marker) .kt-content-section {
    padding-top: 40px;
}

@media (max-width: 600px) {
    body:has(.kt-resources-hero-marker) .kt-page-hero {
        padding-top: 36px;
    }

    body:has(.kt-resources-hero-marker) .kt-content-section {
        padding-top: 28px;
    }
}

/* Services directory: responsive card grid — page ID 25 */
body:has(.kt-services-directory) .kt-service-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
    width: 100%;
    margin: 0;
}

body:has(.kt-services-directory) .kt-service-directory-grid > .kt-service-directory-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 28px 26px;
}

body:has(.kt-services-directory) .kt-service-directory-card > p {
    line-height: 1.7;
}

body:has(.kt-services-directory) .kt-service-directory-card > .card-link {
    margin-top: auto;
    padding-top: 24px;
}

@media (max-width: 900px) {
    body:has(.kt-services-directory) .kt-service-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-service-directory-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    body:has(.kt-services-directory) .kt-service-directory-grid > .kt-service-directory-card {
        height: auto;
        padding: 24px 22px;
    }
}

/* Navigation dropdowns: regular-weight submenu links */
.ktv2-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-weight: 400;
}

/* Services directory: subtle cards matching the Resources page */
body:has(.kt-services-directory) .kt-service-directory-grid > .kt-service-directory-card {
    background: #f4f7fb;
    border: 1px solid #d9e3f1;
    border-left: 5px solid #244f91;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(21, 49, 95, 0.05);
    overflow-wrap: anywhere;
}

body:has(.kt-services-directory) .kt-service-directory-grid > .kt-service-directory-card h3 {
    margin-top: 0;
    color: #15315f;
    line-height: 1.35;
}

body:has(.kt-services-directory) .kt-service-directory-grid > .kt-service-directory-card .card-link {
    color: #244f91;
    text-decoration: none;
}

body:has(.kt-services-directory) .kt-service-directory-grid > .kt-service-directory-card .card-link:hover {
    text-decoration: underline;
}

/* Services page: distinctive graphical service cards */
body:has(.kt-services-directory) .kt-service-directory-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #f4f8ff 0%, var(--kt-white) 100%);
    border: 1px solid #d6e4fa;
    border-left: 5px solid #1764cf;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(20, 54, 100, 0.07);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

body:has(.kt-services-directory) .kt-service-directory-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(20, 54, 100, 0.13);
}

body:has(.kt-services-directory) .kt-service-card-number {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    color: #1764cf;
    font-size: 1rem;
    font-weight: 600;
}

body:has(.kt-services-directory) .kt-service-card-number::before {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 14px;
    background: #e1edff;
    font-size: 29px;
    line-height: 1;
}

body:has(.kt-services-directory) .kt-service-directory-card:nth-child(1) .kt-service-card-number::before { content: "📄"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(2) .kt-service-card-number::before { content: "📋"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(3) .kt-service-card-number::before { content: "🧾"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(4) .kt-service-card-number::before { content: "🚢"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(5) .kt-service-card-number::before { content: "🛡️"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(6) .kt-service-card-number::before { content: "🌐"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(7) .kt-service-card-number::before { content: "🎓"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(8) .kt-service-card-number::before { content: "🤝"; }

body:has(.kt-services-directory) .kt-service-directory-card h3 {
    color: #153765;
    line-height: 1.3;
}

body:has(.kt-services-directory) .kt-service-directory-card > .card-link {
    color: #075ec8;
    font-weight: 600;
    text-decoration: none;
}

body:has(.kt-services-directory) .kt-service-directory-card > .card-link:hover {
    color: #c62828;
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-services-directory) .kt-service-directory-card {
        transition: none;
    }
    body:has(.kt-services-directory) .kt-service-directory-card:hover {
        transform: none;
    }
}

/* Services page: tighten card layout and protect heading from sticky nav */
body:has(.kt-services-directory) .kt-page-hero {
    padding-top: 56px;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    margin-bottom: 8px;
}

body:has(.kt-services-directory) .kt-service-directory-card > h3 {
    margin-top: 0;
    margin-bottom: 18px;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-page-hero {
        padding-top: 36px;
    }
}

/* Final Services page spacing corrections */
body:has(.kt-services-directory) .kt-page-hero {
    padding-top: 80px !important;
}

body:has(.kt-services-directory) .kt-service-directory-card {
    gap: 0 !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    margin: 0 0 18px !important;
    min-height: 58px;
}

body:has(.kt-services-directory) .kt-service-directory-card > h3 {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-page-hero {
        padding-top: 48px !important;
    }
}

/* Homepage: keep navigation above the slideshow and protect hero content */
.ktv2-navigation {
    position: relative;
    z-index: 1000;
}

.ktv2-navigation .wp-block-navigation__submenu-container {
    z-index: 1001;
}

body.home .ktv2-hero,
body:has(.ktv2-homepage) .ktv2-hero {
    scroll-margin-top: 140px;
}


/* Homepage slider: keep hero text and buttons clear of the sticky header */
body.home .ktv2-hero-slider .ktv2-hero-content,
body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content {
    padding-top: 100px;
    padding-bottom: 110px;
}

@media (max-width: 600px) {
    body.home .ktv2-hero-slider .ktv2-hero-content,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content {
        padding-top: 72px;
        padding-bottom: 100px;
    }
}


/* Homepage hero: keep slide text and buttons below the sticky header */
body.home .ktv2-hero-slider .ktv2-hero-content,
body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content {
    padding-top: 100px;
}

@media (max-width: 600px) {
    body.home .ktv2-hero-slider .ktv2-hero-content,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content {
        padding-top: 72px;
    }
}

/* Homepage hero: consistent editorial alignment */
body.home .ktv2-hero-slider .ktv2-hero-content,
body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content {
    align-items: flex-start;
    text-align: left;
}

body.home .ktv2-hero-slider .ktv2-hero-title,
body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-title,
body.home .ktv2-hero-slider .ktv2-hero-description,
body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-description {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

body.home .ktv2-hero-slider .ktv2-hero-content .wp-block-buttons,
body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content .wp-block-buttons {
    justify-content: flex-start;
    margin-left: 0;
}


/* =========================================================
   MANAGEMENT PAGE — CONSISTENT PROFILE CARD LAYOUT
   Scoped to Management only; Board styles remain unchanged.
   ========================================================= */

.kt-management-page .kt-management-section {
    margin-bottom: 56px;
}

.kt-management-page .kt-management-section > h2 {
    margin-bottom: 28px;
}

.kt-management-page .kt-leadership-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    justify-content: center;
    gap: 24px;
}

.kt-management-page .kt-leadership-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 100%;
    margin: 0;
    overflow: hidden;
    text-align: center;
    box-sizing: border-box;
    background: var(--kt-white);
    border: 1px solid #e1e7ef;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(20, 42, 75, 0.06);
}

.kt-management-page .kt-leadership-card > .wp-block-image {
    width: 100%;
    height: 210px !important;
    min-height: 210px !important;
    margin: 0;
    padding: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box;
    background: #f0f4f8;
}

.kt-management-page .kt-leadership-card > .wp-block-image img {
    display: block;
    width: 150px !important;
    max-width: 100% !important;
    height: 165px !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 5px;
}

.kt-management-page .kt-leadership-card > h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin: 0;
    padding: 14px 14px 6px;
    font-size: 18px;
    line-height: 1.3;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.kt-management-page .kt-leadership-card > .kt-leadership-role {
    flex: 1;
    min-height: 68px;
    margin: 0;
    padding: 4px 14px 20px;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
}

.kt-management-page .kt-leadership-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 9px 24px rgba(20, 42, 75, 0.11);
}

/* Keep the CEO feature visually distinct from the card grids. */
.kt-management-page .kt-leadership-feature {
    align-items: center;
    gap: 36px;
    padding: 32px;
    border-radius: 10px;
}

/* Tablet: two equal columns. */
@media (max-width: 1000px) {
    .kt-management-page .kt-leadership-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}

/* Mobile: one column with a comfortable, consistent card width. */
@media (max-width: 600px) {
    .kt-management-page .kt-management-section {
        margin-bottom: 40px;
    }

    .kt-management-page .kt-leadership-grid {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        max-width: 420px;
        margin-inline: auto;
        gap: 20px;
    }

    .kt-management-page .kt-leadership-card {
        width: 100%;
    }

    .kt-management-page .kt-leadership-card > .wp-block-image {
        height: 210px !important;
        min-height: 210px !important;
    }

    .kt-management-page .kt-leadership-feature {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 22px;
    }
}

/* MANAGEMENT PAGE — FINAL SPACING AND PORTRAIT REFINEMENTS */
.kt-management-page .kt-management-section {
    margin-bottom: 44px;
}

.kt-management-page .kt-leadership-feature {
    margin-bottom: 0;
}

.kt-management-page .kt-leadership-card > .wp-block-image img {
    width: 160px !important;
    max-width: 100% !important;
    height: 175px !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.kt-management-page .kt-leadership-card > h3 {
    min-height: 58px;
}

.kt-management-page .kt-leadership-card > .kt-leadership-role {
    min-height: 74px;
}

@media (max-width: 600px) {
    .kt-management-page .kt-management-section {
        margin-bottom: 34px;
    }

    .kt-management-page .kt-leadership-card > .wp-block-image img {
        width: 160px !important;
        height: 175px !important;
    }
}

/* MANAGEMENT — TIGHTER PROFILE CARD FOOTERS */
.kt-management-page .kt-leadership-card > .kt-leadership-role {
    min-height: 64px;
    padding-bottom: 14px;
}


/* BOARD OF DIRECTORS — CARD ALIGNMENT REFINEMENT */
.kt-board-page .kt-board-section > .kt-leadership-grid {
    align-items: stretch;
    gap: 24px;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    height: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card > .wp-block-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 193px;
    width: 100%;
    height: 193px !important;
    min-height: 193px !important;
    margin: 0;
    padding: 14px !important;
    box-sizing: border-box;
    background: #eef3f8;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card > .wp-block-image img {
    display: block;
    width: 140px !important;
    max-width: 100% !important;
    height: 165px !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card > h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 58px;
    margin: 0;
    padding: 14px 16px 6px;
    text-align: center;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card > .kt-leadership-role {
    flex: 1 0 auto;
    min-height: 64px;
    margin: 0;
    padding: 4px 16px 18px;
    text-align: center;
    box-sizing: border-box;
}

@media (max-width: 600px) {
    .kt-board-page .kt-board-section > .kt-leadership-grid {
        gap: 20px;
    }

    .kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card {
        height: auto;
    }
}

/* BOARD FIX — FORCE ALL CARDS TO START AT THE SAME HEIGHT */
.kt-board-page .kt-board-section > .kt-leadership-grid {
    display: grid !important;
    align-items: stretch !important;
    align-content: start !important;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card {
    position: relative !important;
    top: auto !important;
    transform: none;
    align-self: stretch !important;
    height: auto !important;
    min-height: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card > .wp-block-image {
    flex: 0 0 193px !important;
    height: 193px !important;
    min-height: 193px !important;
    margin-top: 0 !important;
}

.kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card > h3 {
    margin-top: 0 !important;
}

@media (max-width: 600px) {
    .kt-board-page .kt-board-section > .kt-leadership-grid > .kt-leadership-card {
        min-height: 0 !important;
    }
}


/* KENTRADE HOMEPAGE PHOTO SERVICES — managed desktop-only refinement */
@media (min-width: 901px) {
    body.home .ktv2-services .ktv2-service-grid {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        align-items: stretch;
        gap: 24px;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
    body.home .ktv2-services .ktv2-service-grid > .ktv2-service-card {
        grid-column: span 2;
        display: flex;
        flex-direction: column;
        min-width: 0;
        height: auto;
        padding: 0;
        overflow: hidden;
        border-radius: 10px;
    }
    body.home .ktv2-services .ktv2-service-grid > .ktv2-service-card:nth-child(4) {
        grid-column: 2 / span 2;
    }
    body.home .ktv2-services .ktv2-service-grid > .ktv2-service-card:nth-child(5) {
        grid-column: 4 / span 2;
    }
    body.home .ktv2-services .ktv2-service-image {
        display: block;
        width: 100%;
        margin: 0;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: #edf1f5;
    }
    body.home .ktv2-services .ktv2-service-image img {
        display: block;
        width: 100%;
        height: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }
    body.home .ktv2-services .ktv2-service-card-content {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        width: 100%;
        box-sizing: border-box;
        padding: 26px;
    }
    body.home .ktv2-services .ktv2-service-card-content .ktv2-service-link {
        margin-top: 12px;
        padding-top: 0;
    }
}
/* KENTRADE AI DEMONSTRATION — compact card refinement */
.ktv2-news .ktv2-news-grid {
    gap: 18px;
    margin-top: 24px;
    align-items: stretch;
}

.ktv2-news .ktv2-news-grid > .ktv2-news-card {
    padding: 20px;
    border-left-width: 4px;
    border-radius: 10px;
}

.ktv2-news .ktv2-news-icon {
    margin: 0 0 10px;
    font-size: 1.6rem;
    line-height: 1.1;
}

.ktv2-news .ktv2-news-grid .ktv2-news-card h3 {
    margin-bottom: 12px;
    font-size: 1.1rem;
    line-height: 1.35;
}

.ktv2-news .ktv2-news-card p {
    margin-top: 8px;
    margin-bottom: 8px;
    line-height: 1.55;
}

.ktv2-news .ktv2-news-grid .ktv2-news-readmore {
    padding-top: 10px;
    font-size: 0.9rem;
}

.ktv2-news .ktv2-news-grid .ktv2-news-disclaimer {
    margin-top: 12px;
    font-size: 0.68rem;
    line-height: 1.4;
}

/* Preserve responsive behavior and tighten tablet/mobile spacing */
@media (max-width: 900px) {
    .ktv2-news .ktv2-news-grid {
        gap: 16px;
    }

    .ktv2-news .ktv2-news-grid > .ktv2-news-card {
        padding: 18px;
    }
}

@media (max-width: 600px) {
    .ktv2-news .ktv2-news-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .ktv2-news .ktv2-news-grid > .ktv2-news-card {
        padding: 18px;
    }
}

/* AI demonstration: modest desktop heading and spacing refinement */
@media (min-width: 901px) {
    .ktv2-news h2 {
        font-size: 36px;
        line-height: 1.2;
    }

    .ktv2-news .ktv2-news-grid {
        margin-top: 18px;
    }
}


/* Homepage hero: full-viewport width and no inherited block spacing */
body.home .ktv2-homepage > .wp-block-post-content > .ktv2-hero-slider,
body:has(.ktv2-homepage) .ktv2-homepage > .wp-block-post-content > .ktv2-hero-slider {
    width: 100vw;
    max-width: none;
    margin-block: 0 !important;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Final responsive header alignment */
.ktv2-main-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(10px, 1.5vw, 22px);
}

.ktv2-main-header-inner > .wp-block-site-logo {
    flex: 0 0 auto;
}

.ktv2-main-header-inner > .ktv2-navigation {
    min-width: 0;
}

.ktv2-main-header .ktv2-header-actions {
    flex: 0 1 auto;
    min-width: 0;
}

.ktv2-header-search .wp-block-search__input {
    min-width: 0;
    max-width: 180px;
}

@media (min-width: 1101px) {
    .ktv2-navigation .wp-block-navigation__container {
        display: flex;
    }

    .ktv2-navigation .wp-block-navigation__responsive-container-open {
        display: none;
    }

    .ktv2-main-header .ktv2-header-actions {
        display: flex;
    }

    .ktv2-header-search .wp-block-search__input {
        display: block;
    }
}

@media (min-width: 601px) and (max-width: 1100px) {
    .ktv2-main-header-inner {
        flex-wrap: nowrap !important;
        min-height: 76px;
    }

    .ktv2-main-header-inner > .wp-block-site-logo img {
        max-width: 150px;
    }

    .ktv2-main-header-inner > .ktv2-navigation {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
    }

    .ktv2-navigation .wp-block-navigation__container {
        display: none;
    }

    .ktv2-navigation .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }

    .ktv2-main-header .ktv2-header-actions {
        display: flex !important;
    }

    .ktv2-header-search .wp-block-search__input {
        display: block;
        width: clamp(80px, 14vw, 150px);
    }
}

@media (max-width: 600px) {
    .ktv2-main-header-inner {
        flex-wrap: nowrap !important;
        width: calc(100% - 24px);
        min-height: 72px;
        gap: 8px;
    }

    .ktv2-main-header-inner > .wp-block-site-logo img {
        width: auto;
        max-width: 125px;
        height: auto;
    }

    .ktv2-main-header-inner > .ktv2-navigation {
        flex: 0 0 auto;
        width: auto;
        margin-left: auto;
    }

    .ktv2-navigation .wp-block-navigation__container {
        display: none;
    }

    .ktv2-navigation .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }

    .ktv2-main-header .ktv2-header-actions {
        flex: 0 0 auto;
    }

    .ktv2-header-search .wp-block-search__input {
        display: none;
    }

    .ktv2-header-search .wp-block-search__button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
        margin: 0;
    }
}

/* Footer navigation: keep nested dropdowns from floating over footer content */
.ktv2-footer .wp-block-navigation__submenu-container {
    display: none !important;
}


/* Footer: remove dropdown panels and submenu toggle arrows */
.ktv2-footer .wp-block-navigation__submenu-container {
    display: none !important;
}

.ktv2-footer .wp-block-navigation__submenu-icon {
    display: none !important;
}

.ktv2-footer .wp-block-navigation-submenu__toggle {
    display: none !important;
}

/* Header dropdowns: compact submenu spacing */
@media (min-width: 1101px) {
    .ktv2-navigation .wp-block-navigation__submenu-container {
        padding-block: 4px !important;
        min-width: 230px;
    }

    .ktv2-navigation .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        display: block;
        padding: 8px 16px !important;
        line-height: 1.4;
        font-size: 14px;
        white-space: normal;
    }
}

/* Desktop dropdown: enforce compact submenu item height */
@media (min-width: 1101px) {
    .ktv2-navigation .wp-block-navigation__submenu-container > li,
    .ktv2-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
        margin-block: 0 !important;
        padding-block: 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .ktv2-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        display: block !important;
        box-sizing: border-box !important;
        margin-block: 0 !important;
        padding: 8px 16px !important;
        min-height: 0 !important;
        height: auto !important;
        line-height: 1.4 !important;
    }
}

/* Procurement pages: readable layout and responsive tender tables */
.ktv2-procurement-page {
    max-width: 1200px;
    margin-inline: auto;
    padding: 32px 24px 56px;
}

.ktv2-procurement-page > h1 {
    margin-bottom: 24px;
}

.ktv2-procurement-page > h2 {
    margin-top: 36px;
    margin-bottom: 16px;
}

.ktv2-procurement-page > p {
    max-width: 900px;
    line-height: 1.75;
}

.ktv2-procurement-demo-notice {
    margin: 28px 0;
    padding: 20px 24px;
    border-left: 5px solid #b7791f;
    border-radius: 6px;
    background: #fff8e8;
}

.ktv2-procurement-page .ktv2-procurement-demo-notice h2 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    line-height: 1.4;
}

.ktv2-procurement-page .ktv2-procurement-demo-notice p {
    margin: 0;
    line-height: 1.65;
}

.ktv2-procurement-table-wrap > .wp-block-table {
    margin: 0;
}

.ktv2-procurement-table-wrap {
    width: 100%;
    margin: 24px 0;
    overflow-x: auto;
    border: 1px solid #dbe2ec;
    border-radius: 8px;
}

.ktv2-procurement-table-wrap table {
    width: 100%;
    min-width: 760px;
    margin: 0;
    border-collapse: collapse;
    text-align: left;
}

.ktv2-procurement-table-wrap th,
.ktv2-procurement-table-wrap td {
    padding: 16px 18px;
    border-bottom: 1px solid #e1e7ef;
    vertical-align: top;
    line-height: 1.5;
}

.ktv2-procurement-table-wrap thead th {
    background: #17376b;
    color: var(--kt-white);
    font-weight: 700;
}

.ktv2-procurement-table-wrap tbody tr:nth-child(even) {
    background: #f4f7fb;
}

.ktv2-procurement-table-wrap tbody tr:last-child td {
    border-bottom: 0;
}

.ktv2-procurement-page a {
    text-underline-offset: 3px;
}

.ktv2-procurement-page li {
    margin-bottom: 8px;
}

@media (max-width: 700px) {
    .ktv2-procurement-page {
        padding: 24px 16px 40px;
    }

    .ktv2-procurement-page > h1 {
        font-size: clamp(2rem, 8vw, 3rem);
    }

    .ktv2-procurement-demo-notice {
        padding: 16px;
    }

    .ktv2-procurement-page .ktv2-procurement-demo-notice h2 {
        font-size: 1.05rem;
    }
}

/* Services page: mirror the public card layout in the block editor */
.editor-styles-wrapper .kt-services-directory .kt-service-directory-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch;
}

.editor-styles-wrapper .kt-services-directory .kt-service-directory-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    min-height: 360px;
    padding: 30px !important;
    box-sizing: border-box;
    background: linear-gradient(145deg, #f4f8ff 0%, var(--kt-white) 100%) !important;
    border: 1px solid #d6e4fa !important;
    border-left: 5px solid #1764cf !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(20, 54, 100, 0.07) !important;
}

.editor-styles-wrapper .kt-services-directory .kt-service-card-number {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 18px !important;
    min-height: 58px;
    color: #1764cf;
    font-size: 1rem;
    font-weight: 600;
}

.editor-styles-wrapper .kt-services-directory .kt-service-card-number::before {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 14px;
    background: #e1edff;
    font-size: 29px;
    line-height: 1;
}

.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(1) .kt-service-card-number::before { content: "📄"; }
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(2) .kt-service-card-number::before { content: "📋"; }
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(3) .kt-service-card-number::before { content: "🧾"; }
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(4) .kt-service-card-number::before { content: "🚢"; }
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(5) .kt-service-card-number::before { content: "🛡️"; }
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(6) .kt-service-card-number::before { content: "🌐"; }
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(7) .kt-service-card-number::before { content: "🎓"; }
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card:nth-child(8) .kt-service-card-number::before { content: "🤝"; }

.editor-styles-wrapper .kt-services-directory .kt-service-directory-card h3 {
    margin: 0 0 16px !important;
    color: #153765 !important;
    line-height: 1.3;
}

.editor-styles-wrapper .kt-services-directory .kt-service-directory-card > .card-link {
    margin-top: auto;
    color: #075ec8 !important;
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 900px) {
    .editor-styles-wrapper .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .editor-styles-wrapper .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Services page: realistic photographs on service cards */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card > .kt-service-card-image {
    display: block;
    width: 100%;
    height: 150px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    margin: 0 0 20px;
    border-radius: 10px;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image,
    .editor-styles-wrapper .kt-services-directory .kt-service-directory-card > .kt-service-card-image {
        height: 170px;
    }
}

/* Services directory: compact photographic cards matching the reference */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch;
}

body:has(.kt-services-directory) .kt-service-directory-grid > .kt-service-directory-card,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden;
    background: var(--kt-white) !important;
    border: 1px solid #d4e3fb !important;
    border-left: 4px solid #1764cf !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 12px rgba(21, 49, 95, 0.07) !important;
    transition: box-shadow 180ms ease, transform 180ms ease;
}

body:has(.kt-services-directory) .kt-service-directory-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(21, 49, 95, 0.12) !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card > .kt-service-card-image {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    height: 150px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    margin: 0 !important;
    padding: 0;
    border-radius: 0 !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card > .kt-service-card-number {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0 !important;
    min-width: 44px;
    margin: 12px 14px 8px !important;
    padding: 5px 10px;
    color: #075ec8 !important;
    background: #e1edff;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

body:has(.kt-services-directory) .kt-service-card-number::before {
    display: none !important;
    content: none !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > h3,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card > h3 {
    margin: 0 14px 8px !important;
    color: #153765 !important;
    font-size: 19px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

body:has(.kt-services-directory) .kt-service-directory-card > p,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card > p {
    margin: 0 14px 12px !important;
    font-size: 15px;
    line-height: 1.45;
}

body:has(.kt-services-directory) .kt-service-directory-card > .card-link,
.editor-styles-wrapper .kt-services-directory .kt-service-directory-card > .card-link {
    margin: auto 14px 0 !important;
    padding: 8px 0 14px !important;
    color: #075ec8 !important;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

body:has(.kt-services-directory) .kt-service-directory-card > .card-link:hover {
    color: #c62828 !important;
    text-decoration: underline;
}

@media (max-width: 1100px) {
    body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid,
    .editor-styles-wrapper .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid,
    .editor-styles-wrapper .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image,
    .editor-styles-wrapper .kt-services-directory .kt-service-directory-card > .kt-service-card-image {
        height: 185px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-services-directory) .kt-service-directory-card {
        transition: none;
    }

    body:has(.kt-services-directory) .kt-service-directory-card:hover {
        transform: none;
    }
}



/* Services page: consolidated hero and intro spacing */
body:has(.kt-services-directory) .kt-page-hero {
    padding-top: 16px !important;
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
}

body:has(.kt-services-directory) .kt-services-directory {
    padding-top: 8px !important;
    margin-top: 0 !important;
}

body:has(.kt-services-directory) .kt-services-directory > *:first-child {
    margin-top: 0 !important;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-page-hero {
        padding-top: 16px !important;
        padding-bottom: 10px !important;
    }

    body:has(.kt-services-directory) .kt-services-directory {
        padding-top: 8px !important;
    }
}

/* Services page refinement: compact hero, balanced spacing, near-square photos */
body:has(.kt-services-directory) .kt-page-hero {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
    margin-bottom: 0 !important;
}

body:has(.kt-services-directory) .kt-services-directory {
    padding-top: 8px !important;
    margin-top: 0 !important;
}

body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
    gap: 22px !important;
    align-items: stretch;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
    height: 205px !important;
    aspect-ratio: 1.4 / 1;
    object-fit: cover;
    object-position: center;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    margin-top: 14px !important;
    margin-bottom: 10px !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > h3 {
    margin-bottom: 10px !important;
    line-height: 1.35;
}

body:has(.kt-services-directory) .kt-service-directory-card > p {
    line-height: 1.5;
}

@media (max-width: 1100px) {
    body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
        gap: 20px !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
        gap: 18px !important;
    }

    body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
        height: 220px !important;
    }
}

/* Services page: consistent text alignment and card typography */
body:has(.kt-services-directory) .kt-service-directory-card {
    text-align: left !important;
    align-items: stretch;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    align-self: flex-start;
    margin-left: 16px !important;
    margin-right: 16px !important;
    margin-bottom: 10px !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > h3 {
    padding: 0 !important;
    margin: 0 16px 10px !important;
    text-align: left !important;
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.4 !important;
    overflow-wrap: break-word;
    hyphens: auto;
}

body:has(.kt-services-directory) .kt-service-directory-card > p {
    margin: 0 16px 14px !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    overflow-wrap: break-word;
}

body:has(.kt-services-directory) .kt-service-directory-card > .card-link {
    display: inline-block;
    align-self: flex-start;
    margin: auto 16px 0 !important;
    padding: 10px 0 16px !important;
    text-align: left !important;
    line-height: 1.4;
}

body:has(.kt-services-directory) .kt-services-directory h2,
body:has(.kt-services-directory) .kt-services-directory h3 {
    text-align: left;
}


/* Resources page: refined icon-based information cards */
body:has(.kt-resources-hero-marker) .kt-page-hero {
    padding-top: 28px !important;
    padding-bottom: 24px !important;
}

body:has(.kt-resources-hero-marker) .kt-content-section {
    padding-top: 24px !important;
}

body:has(.kt-resources-hero-marker) .kt-content-section .section-heading {
    margin-bottom: 24px !important;
}

body:has(.kt-resources-hero-marker) .trade-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card {
    position: relative;
    min-height: 220px;
    padding: 24px !important;
    gap: 0;
    text-align: left !important;
    background: var(--kt-white) !important;
    border: 1px solid #d9e5f5 !important;
    border-left: 3px solid #2465b5 !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 12px rgba(21, 49, 95, 0.06) !important;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card::before {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #eaf2ff;
    color: #1d56a5;
    font-size: 23px;
    line-height: 1;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(1)::before {
    content: "↗";
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(2)::before {
    content: "§";
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(3)::before {
    content: "☷";
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(4)::before {
    content: "▤";
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(5)::before {
    content: "⌕";
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(6)::before {
    content: "?";
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card h3 {
    margin: 0 0 10px !important;
    color: #153765 !important;
    font-size: 19px !important;
    font-weight: 700;
    line-height: 1.35 !important;
    text-align: left !important;
    overflow-wrap: break-word;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card p {
    margin: 0 !important;
    color: #435269 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    text-align: left !important;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:hover {
    transform: translateY(-3px);
    border-color: #b8cfee !important;
    box-shadow: 0 9px 22px rgba(21, 49, 95, 0.11) !important;
}

@media (max-width: 900px) {
    body:has(.kt-resources-hero-marker) .trade-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-resources-hero-marker) .kt-page-hero {
        padding-top: 24px !important;
        padding-bottom: 20px !important;
    }

    body:has(.kt-resources-hero-marker) .kt-content-section {
        padding-top: 20px !important;
    }

    body:has(.kt-resources-hero-marker) .trade-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    body:has(.kt-resources-hero-marker) .trade-grid > .trade-card {
        min-height: 0;
        padding: 22px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-resources-hero-marker) .trade-grid > .trade-card {
        transition: none;
    }

    body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:hover {
        transform: none;
    }
}

/* Resources cards: restore consistent icon tiles */
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card::before {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #eaf2ff;
    color: #1d56a5;
    font-family: Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

/* Use dependable, simple symbols */
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(1)::before { content: ""; }
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(2)::before { content: ""; }
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(3)::before { content: ""; }
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(4)::before { content: ""; }
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(5)::before { content: ""; }
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(6)::before { content: ""; }


/* Home: Trade Information & Resources — reliable SVG card icons */
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card.ktv2-service-card {
  position: relative;
}


/* Home resource cards: pictorial icons drawn with CSS */
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card::before {
  content: "";
  display: block;
  width: 76px;
  height: 76px;
  margin: 0 0 22px;
  border-radius: 14px;
  background-color: #eaf2ff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 44px 44px;
}


/* User Guides: open book */
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox='0 0 48 48' fill='none' stroke='%23163160' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 14C18 9 11 10 5 12v27c7-2 13-1 19 3V14Z'/%3E%3Cpath d='M24 14c6-5 13-4 19-2v27c-7-2-13-1-19 3'/%3E%3Cpath d='M10 19l8 2m-8 5 8 2m12-7 8-2m-8 7 8-2'/%3E%3C/svg%3E");
  background-size: 44px 44px;
}

/* Legislation & Regulations: document */
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox='0 0 48 48' fill='none' stroke='%23163160' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5h17l8 8v30H12z'/%3E%3Cpath d='M29 5v9h8M19 22h12M19 28h12M19 34h8'/%3E%3C/svg%3E");
  background-size: 44px 44px;
}

/* Forms & Downloads: document with download arrow */
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox='0 0 48 48' fill='none' stroke='%23163160' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 5h18l8 8v9M26 5v9h8M8 5v38h20'/%3E%3Cpath d='M35 23v17m-7-7 7 7 7-7'/%3E%3C/svg%3E");
  background-size: 44px 44px;
}

/* FAQs: speech bubble with question mark */
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:nth-child(4)::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox='0 0 48 48' fill='none' stroke='%23163160' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h38v28H24L13 43v-8H5z'/%3E%3Cpath d='M19 17a5 5 0 0 1 10 1c0 4-5 4-5 8m0 5v.2'/%3E%3C/svg%3E");
  background-size: 44px 44px;
}


/* Resources page: pictorial icons for the six resource categories */
body:has(.kt-resources-hero-marker) .trade-grid > .trade-card::before {
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border: 1px solid #d8e6fb;
    border-radius: 12px;
    background-color: #eaf2ff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 27px 27px;
    font-size: 0;
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%231d56a5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2Z'/%3E%3C/svg%3E");
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%231d56a5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h8'/%3E%3C/svg%3E");
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%231d56a5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13'/%3E%3Cpath d='M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E");
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%231d56a5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M7 9h10M7 13h4M7 17h10'/%3E%3C/svg%3E");
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(5)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%231d56a5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M8 11h6M11 8v6'/%3E%3C/svg%3E");
}

body:has(.kt-resources-hero-marker) .trade-grid > .trade-card:nth-child(6)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%231d56a5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.6 9a2.5 2.5 0 1 1 4.2 1.8c-1.2 1-1.8 1.4-1.8 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}


/* About Us — refined vision, mission and values cards */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values {
    align-items: stretch;
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card {
    position: relative;
    min-height: 220px;
    padding: 88px 26px 28px;
    border: 1px solid #e0e7f1;
    border-top: 3px solid #244f91;
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(16, 45, 92, 0.055);
    transition: transform 180ms ease, box-shadow 180ms ease,
                border-color 180ms ease;
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card::before {
    content: "";
    position: absolute;
    top: 24px;
    left: 26px;
    display: block;
    width: 44px;
    height: 44px;
    box-sizing: border-box;
    border: 1px solid #d9e6fb;
    border-radius: 12px;
    background-color: #edf4ff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 27px 27px;
}

/* Vision — eye */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163160' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

/* Mission — target */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163160' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E");
}

/* Customer Centricity — people */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163160' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20v-2a6 6 0 0 1 12 0v2M16 5.5a3 3 0 0 1 0 5.8M18 14a5 5 0 0 1 3 4.5V20'/%3E%3C/svg%3E");
}

/* Integrity — shield */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:nth-child(4)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163160' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-11V5l-8-3-8 3v6c0 7 8 11 8 11Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

/* Excellence — award */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:nth-child(5)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163160' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='m8.2 13-1 9 4.8-3 4.8 3-1-9M9.5 8l1.7 1.7L14.5 6.5'/%3E%3C/svg%3E");
}

/* Innovation — lightbulb */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:nth-child(6)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163160' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6m-5 4h4m-2-20a7 7 0 0 0-4 12.7c.8.6 1 1.3 1 3.3h6c0-2 .2-2.7 1-3.3A7 7 0 0 0 12 2Z'/%3E%3C/svg%3E");
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:hover {
    transform: translateY(-3px);
    border-color: #c8d7ed;
    border-top-color: #244f91;
    box-shadow: 0 10px 26px rgba(16, 45, 92, 0.10);
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card h3 {
    margin-bottom: 12px;
    letter-spacing: -0.015em;
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card p {
    line-height: 1.75;
}

@media (max-width: 600px) {
    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card {
        min-height: 0;
        padding: 82px 22px 24px;
    }

    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card::before {
        top: 22px;
        left: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card {
        transition: none;
    }

    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card:hover {
        transform: none;
    }
}

/* Services page: final hero spacing correction */
body:has(.kt-services-directory) .kt-page-hero {
    padding-top: 48px !important;
    padding-bottom: 24px !important;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-page-hero {
        padding-top: 36px !important;
        padding-bottom: 20px !important;
    }
}

/* Footer refinement: centered content and balanced three-column layout */
.ktv2-footer .ktv2-footer-main > .ktv2-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr));
    width: min(1100px, calc(100% - 48px));
    max-width: 100%;
    margin-inline: auto;
    gap: clamp(24px, 3vw, 40px);
    box-sizing: border-box;
}

@media (max-width: 900px) {
    .ktv2-footer .ktv2-footer-main > .ktv2-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ktv2-footer .ktv2-footer-main > .ktv2-footer-grid {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        gap: 24px;
    }
}

/* Targeted spacing correction: Services page and global footer */

/* Reduce the oversized gap before the footer without changing its full width */
.ktv2-footer {
    margin-top: 32px !important;
}

.ktv2-footer .ktv2-footer-main {
    padding-top: 32px !important;
    padding-bottom: 28px !important;
}

/* Compact the Services page hero and directory transition */
body:has(.kt-services-directory) .kt-page-hero {
    padding-top: 20px !important;
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
}

body:has(.kt-services-directory) .kt-services-directory {
    padding-top: 8px !important;
    margin-top: 0 !important;
}

/* Avoid extra space before the directory heading */
body:has(.kt-services-directory) .kt-services-directory > *:first-child {
    margin-top: 0 !important;
}

/* Keep the service cards closer together */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
    row-gap: 18px !important;
}

/* Smaller spacing on mobile */
@media (max-width: 600px) {
    .ktv2-footer {
        margin-top: 24px !important;
    }

    .ktv2-footer .ktv2-footer-main {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }

    body:has(.kt-services-directory) .kt-page-hero {
        padding-top: 16px !important;
        padding-bottom: 10px !important;
    }

    body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
        row-gap: 16px !important;
    }
}

/* Homepage: remove excessive gap between slideshow and services */
body.home .ktv2-homepage > .wp-block-post-content > .ktv2-services,
body:has(.ktv2-homepage) .ktv2-homepage > .wp-block-post-content > .ktv2-services {
    margin-top: 24px !important;
    padding-top: 0 !important;
}

/* Homepage: tighten the gap between Services and Digital Platforms */
body.home .ktv2-homepage .ktv2-services {
    margin-bottom: 16px !important;
    padding-bottom: 24px !important;
}
body.home .ktv2-homepage .ktv2-platforms {
    margin-top: 16px !important;
    padding-top: 16px !important;
}
body:has(.ktv2-homepage) .ktv2-homepage .ktv2-services {
    margin-bottom: 16px !important;
    padding-bottom: 24px !important;
}
body:has(.ktv2-homepage) .ktv2-homepage .ktv2-platforms {
    margin-top: 16px !important;
    padding-top: 16px !important;
}

/* About KenTrade: align function cards evenly */
.kt-about-page .kt-functions-grid {
    align-items: stretch;
}
.kt-about-page .kt-functions-grid > * {
    box-sizing: border-box;
    height: 100%;
}
.kt-about-page .kt-functions-grid .kt-function {
    height: 100%;
    align-self: stretch;
}
.kt-about-page .kt-functions-grid .kt-function h3 {
    margin-top: 0;
}

/* About KenTrade: enforce consistent function-card alignment */
.kt-about-page .kt-functions-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 20px !important;
}

.kt-about-page .kt-functions-grid > .kt-function {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.kt-about-page .kt-functions-grid > .kt-function h3 {
    margin-top: 0 !important;
}

@media (max-width: 1000px) {
    .kt-about-page .kt-functions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .kt-about-page .kt-functions-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* About KenTrade: align Core Values cards */
.kt-about-page .kt-values-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 20px !important;
}

.kt-about-page .kt-values-grid > .kt-about-value {
    align-self: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0;
    margin: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 1000px) {
    .kt-about-page .kt-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .kt-about-page .kt-values-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* About KenTrade: reduce excessive space before Our Presence */
.kt-about-page .kt-about-presence {
    margin-top: 24px !important;
}
.kt-about-page .kt-about-block {
    margin-bottom: 32px;
}
.kt-about-page .kt-values-grid {
    margin-bottom: 0 !important;
}

/* About KenTrade: reduce excessive space below Our Presence */
.kt-about-page {
    padding-bottom: 24px !important;
}
.kt-about-page .kt-about-presence {
    margin-bottom: 0 !important;
}

/* About Us: polished Core Values cards */
.kt-about-page .kt-values-grid {
    align-items: stretch !important;
    column-gap: 18px !important;
    row-gap: 18px !important;
}

.kt-about-page .kt-values-grid > .kt-about-value {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 24px 20px !important;
    border-top: 3px solid var(--kt-blue) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px rgba(16, 45, 92, 0.05);
    transition: box-shadow 180ms ease, border-color 180ms ease;
}

.kt-about-page .kt-values-grid > .kt-about-value h3 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    line-height: 1.35 !important;
}

.kt-about-page .kt-values-grid > .kt-about-value p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.6 !important;
}

.kt-about-page .kt-values-grid > .kt-about-value:hover {
    border-top-color: #315da8 !important;
    box-shadow: 0 8px 20px rgba(16, 45, 92, 0.09);
}

@media (prefers-reduced-motion: reduce) {
    .kt-about-page .kt-values-grid > .kt-about-value {
        transition: none !important;
    }
}

/* About Us page 18: correct selectors for Vision, Mission and Values cards */
body:has(.kt-about-us-hero-marker) .trade-grid.kt-values {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 20px !important;
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    height: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card h3 {
    margin-top: 0 !important;
}

@media (max-width: 1000px) {
    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body:has(.kt-about-us-hero-marker) .trade-grid.kt-values > .trade-card {
        height: auto !important;
    }
}

/* Restore all six cards on the About Us page */
body:has(.kt-about-us-hero-marker) section.trade-grid.kt-values {
    display: grid !important;
    visibility: visible !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 20px !important;
    height: auto !important;
    overflow: visible !important;
}

body:has(.kt-about-us-hero-marker) section.trade-grid.kt-values > article.trade-card {
    display: flex !important;
    visibility: visible !important;
    flex-direction: column !important;
    position: relative !important;
    min-width: 0 !important;
    min-height: 220px !important;
    height: auto !important;
    opacity: 1 !important;
    transform: none;
    box-sizing: border-box !important;
}

body:has(.kt-about-us-hero-marker) section.trade-grid.kt-values > article.trade-card h3,
body:has(.kt-about-us-hero-marker) section.trade-grid.kt-values > article.trade-card p {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 1000px) {
    body:has(.kt-about-us-hero-marker) section.trade-grid.kt-values {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-about-us-hero-marker) section.trade-grid.kt-values {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Restore Core Values cards on About KenTrade page (ID 77) */
.kt-about-page .kt-about-block:has(> .kt-values-grid) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.kt-about-page .kt-values-grid {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.kt-about-page .kt-values-grid > .kt-about-value {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    height: auto !important;
    min-height: 180px !important;
    overflow: visible !important;
    flex-direction: column !important;
}

.kt-about-page .kt-values-grid > .kt-about-value h3,
.kt-about-page .kt-values-grid > .kt-about-value p {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 1000px) {
    .kt-about-page .kt-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .kt-about-page .kt-values-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* About KenTrade page 77: tighten Our Presence spacing on mobile only */
@media (max-width: 700px) {
    .kt-about-page .kt-about-presence {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
        padding: 24px 20px !important;
    }

    .kt-about-page .kt-about-presence h2 {
        margin: 0 !important;
    }

    .kt-about-page .kt-about-presence p {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* ==========================================================
   KT Reusable Alignment Utilities
   KenTrade Future V3.2.0
   ========================================================== */

/* Text alignment utilities */
.kt-text-left {
    text-align: left !important;
}

.kt-text-center {
    text-align: center !important;
}

.kt-text-right {
    text-align: right !important;
}

/* Reusable section label */
.kt-section-label {
    display: block;
    width: 100%;
    margin-block: 0 1rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.5;
    text-transform: uppercase;
}

/* Reusable section heading */
.kt-section-heading {
    max-width: 900px;
    margin-block: 0 1.25rem;
    line-height: 1.12;
    text-wrap: balance;
}

/* Reusable section description */
.kt-section-description {
    max-width: 1000px;
    margin-block: 0 2rem;
    line-height: 1.7;
}

/* Centre a block within its available space */
.kt-content-center {
    margin-inline: auto;
}

/* Full-width grey section utility */
.kt-digital-platforms {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box;
    padding: clamp(40px, 5vw, 80px)
             clamp(20px, 4vw, 64px);
    border-radius: clamp(24px, 3vw, 48px);
}

/* Constrained inner content */
.kt-digital-platforms-inner {
    width: 100%;
    max-width: 1400px;
    margin-inline: auto;
    box-sizing: border-box;
}

/* Optional mobile-specific alignment */
@media (max-width: 768px) {
    .kt-mobile-text-left {
        text-align: left !important;
    }

    .kt-mobile-text-center {
        text-align: center !important;
    }

    .kt-digital-platforms {
        padding: 36px 20px;
        border-radius: 24px;
    }
}


/* Digital Platforms: keep heading on one line */
.kt-heading-single-line {
    max-width: none !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
    font-size: clamp(1.75rem, 3vw, 3.5rem) !important;
    line-height: 1.15 !important;
}

/* Prevent overflow on smaller screens */
@media (max-width: 768px) {
    .kt-heading-single-line {
        white-space: normal !important;
        text-wrap: balance !important;
        font-size: clamp(1.75rem, 6vw, 2.5rem) !important;
    }
}


/* Digital Platforms: balanced heading and description alignment */
.kt-digital-platforms h2.kt-heading-single-line {
    width: 100%;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.kt-digital-platforms > p {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}



/* ==========================================================
   KT News: Uniform Card Layout
   ========================================================== */

.kentrade-news-grid .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 32px !important;
}

.kentrade-news-grid .wp-block-post-template > li {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
}

.kentrade-news-grid .wp-block-post-featured-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin-bottom: 18px;
}

.kentrade-news-grid .wp-block-post-featured-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.kentrade-news-grid .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.kentrade-news-grid .wp-block-post-title {
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    margin-top: 12px;
    margin-bottom: 12px;
}

.kentrade-news-grid .wp-block-post-excerpt {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}

.kentrade-news-grid .wp-block-post-excerpt__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    line-height: 1.7;
    margin-top: 0;
    margin-bottom: 16px;
}

.kentrade-news-grid .wp-block-post-excerpt__more-text {
    margin-top: auto;
}

@media (max-width: 1024px) {
    .kentrade-news-grid .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}

@media (max-width: 600px) {
    .kentrade-news-grid .wp-block-post-template {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }
}

/* KT News: final card alignment */
.kentrade-news-grid .wp-block-post-template > li {
    height: 100%;
}

.kentrade-news-grid .wp-block-post-featured-image {
    aspect-ratio: 16 / 9;
    width: 100%;
    flex-shrink: 0;
}

.kentrade-news-grid .wp-block-post-title {
    min-height: 2.8em;
}

.kentrade-news-grid .wp-block-post-date {
    margin-bottom: 14px;
}

.kentrade-news-grid .wp-block-post-excerpt {
    flex: 1 1 auto;
}

.kentrade-news-grid .wp-block-post-excerpt__more-text {
    margin-top: auto !important;
    padding-top: 12px;
}

.kentrade-news-grid .wp-block-post-excerpt__more-link {
    display: inline-block;
    font-weight: 600;
    text-decoration: none;
}

.kentrade-news-grid .wp-block-post-excerpt__more-link:hover {
    text-decoration: underline;
}


/* KT News: show more of the top of featured images */
.kentrade-news-grid .wp-block-post-featured-image img {
    object-position: center top !important;
}


/* KT News: Grey KenTrade Read More buttons */
.kentrade-news-grid .wp-block-post-excerpt__more-link,
.kentrade-news-grid .wp-block-read-more {
    background-color: #D3D8D4 !important;
    border: 1px solid #AEB8B1 !important;
    color: #263746 !important;
    border-radius: 24px !important;
    padding: 10px 22px !important;
    font-weight: 600;
    box-shadow: none !important;
}

.kentrade-news-grid .wp-block-post-excerpt__more-link::after,
.kentrade-news-grid .wp-block-read-more::after {
    color: #263746 !important;
}

.kentrade-news-grid .wp-block-post-excerpt__more-link:hover,
.kentrade-news-grid .wp-block-read-more:hover {
    background-color: #C2DCE8 !important;
    border-color: #8EB8CC !important;
    color: #173F59 !important;
    transform: translateY(-1px);
}


/* KT News: compact Read More buttons */
.kentrade-news-grid .wp-block-post-excerpt__more-link,
.kentrade-news-grid .wp-block-read-more {
    padding: 6px 16px !important;
    min-height: 0 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    border-width: 1px !important;
    border-radius: 22px !important;
}

/* KT News: consistent card sizing on homepage and News page */
.kentrade-news-grid .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 28px !important;
}

.kentrade-news-grid .wp-block-post-template > li {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.kentrade-news-grid .wp-block-post-featured-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    flex-shrink: 0;
    margin-bottom: 16px !important;
}

.kentrade-news-grid .wp-block-post-featured-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.kentrade-news-grid .wp-block-post-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
}

.kentrade-news-grid .wp-block-post-title {
    line-height: 1.4;
    min-height: 2.8em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    margin: 0 0 12px !important;
}

.kentrade-news-grid .wp-block-post-date {
    margin: 0 0 14px !important;
}

.kentrade-news-grid .wp-block-post-excerpt {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.kentrade-news-grid .wp-block-post-excerpt__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    line-height: 1.7;
    margin: 0 0 12px !important;
}

.kentrade-news-grid .wp-block-post-excerpt__more-text {
    margin-top: auto !important;
    padding-top: 8px;
}

.kentrade-news-grid .wp-block-post-excerpt__more-link,
.kentrade-news-grid .wp-block-read-more {
    background-color: #D3D8D4 !important;
    border: 1px solid #AEB8B1 !important;
    color: #263746 !important;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: none !important;
}

.kentrade-news-grid .wp-block-post-excerpt__more-link:hover,
.kentrade-news-grid .wp-block-read-more:hover {
    background-color: #C2DCE8 !important;
    border-color: #8EB8CC !important;
    color: #173F59 !important;
}

@media (max-width: 1024px) {
    .kentrade-news-grid .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}

@media (max-width: 600px) {
    .kentrade-news-grid .wp-block-post-template {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    .kentrade-news-grid .wp-block-post-title {
        min-height: 0;
    }
}


/* =========================================================
   KenTrade Future V3.2 — Homepage hero refinement
   October 2026
   ========================================================= */

.ktv2-hero-slider {
    min-height: clamp(480px, 43vw, 620px);
    isolation: isolate;
    background-color: var(--kt-navy);
}

.ktv2-hero-slider .ktv2-slide img {
    object-position: center 52%;
}

.ktv2-hero-slider .ktv2-hero-overlay {
    background: linear-gradient(
        90deg,
        rgba(16, 45, 92, 0.92) 0%,
        rgba(16, 45, 92, 0.78) 42%,
        rgba(16, 45, 92, 0.38) 72%,
        rgba(16, 45, 92, 0.16) 100%
    );
}

.ktv2-hero-slider .ktv2-hero-content {
    width: min(1200px, calc(100% - 64px));
    padding-block: 64px 76px;
}

.ktv2-hero-slider .ktv2-hero-title {
    max-width: 760px;
    font-size: clamp(2.75rem, 5.2vw, 4.75rem);
    line-height: 1.06;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.ktv2-hero-slider .ktv2-hero-description {
    max-width: 620px;
    line-height: 1.7;
    text-wrap: pretty;
}

.ktv2-hero-slider .ktv2-hero-actions {
    flex-wrap: wrap;
    gap: 14px;
}

.ktv2-hero-slider .ktv2-hero-button .wp-block-button__link {
    min-height: 52px;
    padding: 14px 24px;
    border-radius: 5px;
    transition: background-color 180ms ease, color 180ms ease,
                border-color 180ms ease, transform 180ms ease;
}

.ktv2-hero-slider .ktv2-hero-button-primary .wp-block-button__link {
    background: #b42318;
    border: 2px solid #b42318;
    color: var(--kt-white);
}

.ktv2-hero-slider .ktv2-hero-button-primary .wp-block-button__link:hover {
    background: #8f1c13;
    border-color: #8f1c13;
    transform: translateY(-2px);
}

.ktv2-hero-slider .ktv2-hero-button-secondary .wp-block-button__link {
    background: var(--kt-white);
    border: 2px solid var(--kt-white);
    color: var(--kt-blue);
}

.ktv2-hero-slider .ktv2-hero-button-secondary .wp-block-button__link:hover {
    background: #eaf1fb;
    border-color: #eaf1fb;
    transform: translateY(-2px);
}

.ktv2-hero-slider .ktv2-slider-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 45, 92, 0.65);
    backdrop-filter: blur(4px);
    transition: background-color 180ms ease;
}

.ktv2-hero-slider .ktv2-slider-control:hover {
    background: var(--kt-blue);
}

.ktv2-hero-slider .ktv2-slider-control:focus-visible,
.ktv2-hero-slider .ktv2-slider-dots button:focus-visible,
.ktv2-hero-slider .ktv2-hero-button a:focus-visible {
    outline: 3px solid var(--kt-white);
    outline-offset: 4px;
}

@media (max-width: 600px) {
    .ktv2-hero-slider,
    .ktv2-hero-content {
        min-height: 490px;
    }

    .ktv2-hero-slider .ktv2-hero-content {
        width: calc(100% - 40px);
        padding-block: 48px 68px;
    }

    .ktv2-hero-slider .ktv2-hero-title {
        font-size: clamp(2.4rem, 10.5vw, 3.5rem);
        line-height: 1.08;
    }

    .ktv2-hero-slider .ktv2-hero-description {
        font-size: 1rem;
        line-height: 1.65;
    }

    .ktv2-hero-slider .ktv2-hero-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
        max-width: 340px;
    }

    .ktv2-hero-slider .ktv2-hero-actions > .wp-block-button,
    .ktv2-hero-slider .ktv2-hero-button .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ktv2-hero-slider .ktv2-slide,
    .ktv2-hero-slider .ktv2-hero-button .wp-block-button__link,
    .ktv2-hero-slider .ktv2-slider-control {
        transition: none;
    }
}

/* Keep hero slider arrows hidden on small screens */
@media (max-width: 600px) {
    .ktv2-hero-slider .ktv2-slider-control {
        display: none;
    }
}


/* KenTrade homepage: desktop hero alignment refinement */
@media (min-width: 601px) {
    body.home .ktv2-hero-slider .ktv2-hero-content,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content {
        align-items: flex-start;
        text-align: left;
        padding-top: 72px;
        padding-bottom: 88px;
    }

    body.home .ktv2-hero-slider .ktv2-hero-title,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-title,
    body.home .ktv2-hero-slider .ktv2-hero-description,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-description {
        margin-left: 0;
        margin-right: auto;
        text-align: left;
    }

    body.home .ktv2-hero-slider .ktv2-hero-content .wp-block-buttons,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content .wp-block-buttons {
        justify-content: flex-start;
        margin-left: 0;
    }
}

/* Fix constrained WordPress layout centering in the desktop hero */
@media (min-width: 601px) {
    body.home .ktv2-hero-slider > .ktv2-hero-content,
    body:has(.ktv2-homepage) .ktv2-hero-slider > .ktv2-hero-content {
        width: min(1200px, calc(100% - 64px));
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        align-items: flex-start;
        text-align: left;
    }

    body.home .ktv2-hero-slider > .ktv2-hero-content > *,
    body:has(.ktv2-homepage) .ktv2-hero-slider > .ktv2-hero-content > * {
        width: 100%;
        max-width: 760px;
        margin-left: 0;
        margin-right: auto;
        text-align: left;
    }

    body.home .ktv2-hero-slider > .ktv2-hero-content > .ktv2-hero-actions,
    body:has(.ktv2-homepage) .ktv2-hero-slider > .ktv2-hero-content > .ktv2-hero-actions {
        display: flex;
        justify-content: flex-start;
        max-width: 760px;
    }
}

/* KenTrade hero: final desktop positioning */
@media (min-width: 1200px) {
    body.home .ktv2-hero-slider > .ktv2-hero-content,
    body:has(.ktv2-homepage) .ktv2-hero-slider > .ktv2-hero-content {
        width: min(1200px, calc(100% - 96px));
        margin-left: max(48px, calc((100vw - 1200px) / 2));
        margin-right: auto;
        padding-top: 64px;
        padding-bottom: 80px;
    }

    body.home .ktv2-hero-slider .ktv2-hero-title,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-title {
        max-width: 720px;
        font-size: clamp(3.25rem, 4.8vw, 4.75rem);
        line-height: 1.06;
        text-align: left;
    }

    body.home .ktv2-hero-slider .ktv2-hero-description,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-description {
        max-width: 620px;
        text-align: left;
    }
}

/* KenTrade homepage: four compact service cards */
body.home .kt-service-cards-redesign .kt-service-card-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100%;
    max-width: 1200px;
    margin: 30px auto 0;
    align-items: stretch;
}

body.home .kt-service-cards-redesign .kt-service-card-grid > .kt-service-icon-card {
    grid-column: auto !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    height: auto !important;
    padding: 26px 22px !important;
    overflow: visible;
    background: var(--kt-white);
    border: 1px solid #e1e7ef;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgb(16 45 92 / 7%);
    transition: transform .2s ease, box-shadow .2s ease;
}

body.home .kt-service-cards-redesign .kt-service-icon-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgb(16 45 92 / 12%);
}

body.home .kt-service-cards-redesign .kt-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 0 18px;
    border-radius: 12px;
    background: #edf3fc;
    color: var(--kt-blue);
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
}

body.home .kt-service-cards-redesign .kt-service-icon-card .ktv2-service-title {
    margin: 0 0 12px;
    color: var(--kt-navy);
    font-size: 1.15rem;
    line-height: 1.35;
}

body.home .kt-service-cards-redesign .kt-service-icon-card .ktv2-service-description {
    margin: 0 0 18px;
    color: #526174;
    font-size: .95rem;
    line-height: 1.65;
}

body.home .kt-service-cards-redesign .kt-service-icon-card .ktv2-service-link {
    margin-top: auto;
    padding-top: 4px;
}

body.home .kt-service-cards-redesign .kt-service-icon-card .ktv2-service-link a {
    color: var(--kt-blue);
    font-weight: 700;
    text-decoration: none;
}

body.home .kt-service-cards-redesign .kt-service-icon-card .ktv2-service-link a:hover {
    color: #b42318;
    text-decoration: underline;
}

@media (max-width: 900px) {
    body.home .kt-service-cards-redesign .kt-service-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.home .kt-service-cards-redesign .kt-service-card-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body.home .kt-service-cards-redesign .kt-service-card-grid > .kt-service-icon-card {
        padding: 22px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .kt-service-cards-redesign .kt-service-icon-card {
        transition: none;
    }

    body.home .kt-service-cards-redesign .kt-service-icon-card:hover {
        transform: none;
    }
}

/* Fix inline SVG visibility in homepage service cards */
body.home .kt-service-cards-redesign .kt-service-icon svg {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    max-width: 100%;
    overflow: visible;
    color: var(--kt-blue);
}

body.home .kt-service-cards-redesign .kt-service-icon svg path,
body.home .kt-service-cards-redesign .kt-service-icon svg circle {
    vector-effect: non-scaling-stroke;
}

/* KenTrade homepage: polished circular service icons */
body.home .kt-service-cards-redesign .kt-service-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    min-width: 58px;
    margin: 0 auto 20px !important;
    padding: 0;
    box-sizing: border-box;
    border-radius: 50%;
    background: #edf3fc;
    color: var(--kt-blue);
    font-family: Arial, sans-serif;
    font-size: 34px !important;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    transition: background-color .2s ease, color .2s ease;
}

body.home .kt-service-cards-redesign .kt-service-icon-card:hover .kt-service-icon {
    background: var(--kt-blue);
    color: var(--kt-white);
}

@media (prefers-reduced-motion: reduce) {
    body.home .kt-service-cards-redesign .kt-service-icon {
        transition: none;
    }
}

/* Correct selector: the actual icon paragraph uses ktv2-service-icon */
body.home .kt-service-cards-redesign p.ktv2-service-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    box-sizing: border-box;
    border-radius: 50% !important;
    background: #edf3fc !important;
    color: var(--kt-blue) !important;
    font-size: 34px !important;
    line-height: 1 !important;
    text-align: center;
}

body.home .kt-service-cards-redesign .kt-service-icon-card:hover p.ktv2-service-icon {
    background: var(--kt-blue) !important;
    color: var(--kt-white) !important;
}

/* ==========================================================
   KenTrade Future V3.2 — Digital Platforms refinement
   Scoped to the Digital Platforms homepage section.
   ========================================================== */

body.home .kt-digital-platforms {
    background: #F3F6FB !important;
    color: #374151;
    border: 1px solid #E5E7EB;
}

body.home .kt-digital-platforms .ktv2-section-eyebrow {
    color: #304B91 !important;
    font-weight: 700;
    letter-spacing: 0.12em;
    font-size: 0.82rem;
}

body.home .kt-digital-platforms .kt-digital-platforms-heading {
    color: #17366D !important;
    text-align: center !important;
    margin-inline: auto;
}

body.home .kt-digital-platforms .ktv2-section-intro {
    color: #6B7280;
    max-width: 760px;
    margin: 0 auto 2rem;
    line-height: 1.75;
}

body.home .kt-digital-platforms .ktv2-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

body.home .kt-digital-platforms .ktv2-service-card {
    background: var(--kt-white);
    border: 1px solid #DCE5F1;
    border-top: 4px solid #304B91;
    border-radius: 18px;
    padding: clamp(24px, 3vw, 36px);
    box-shadow: 0 8px 24px rgba(23, 54, 109, 0.07);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

body.home .kt-digital-platforms .ktv2-service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(23, 54, 109, 0.12);
}

body.home .kt-digital-platforms .ktv2-service-title {
    color: #17366D;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    line-height: 1.35;
}

body.home .kt-digital-platforms .ktv2-service-description {
    color: #4B5563;
    line-height: 1.75;
}

body.home .kt-digital-platforms .ktv2-service-link a {
    color: #C62835;
    font-weight: 700;
    text-decoration: none;
}

body.home .kt-digital-platforms .ktv2-service-link a:hover {
    color: #17366D;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 768px) {
    body.home .kt-digital-platforms .ktv2-service-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    body.home .kt-digital-platforms .ktv2-service-card {
        padding: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home .kt-digital-platforms .ktv2-service-card {
        transition: none;
    }

    body.home .kt-digital-platforms .ktv2-service-card:hover {
        transform: none;
    }
}


/* KenTrade red accent — Digital Platforms only */
body.home .kt-digital-platforms .ktv2-service-card {
    border-top: 5px solid #C62835;
}

body.home .kt-digital-platforms .ktv2-service-link a {
    display: inline-block;
    background: #C62835;
    color: var(--kt-white) !important;
    padding: 11px 18px;
    border-radius: 6px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 180ms ease;
}

body.home .kt-digital-platforms .ktv2-service-link a:hover {
    background: #17366D;
    color: var(--kt-white) !important;
    text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
    body.home .kt-digital-platforms .ktv2-service-link a {
        transition: none;
    }
}


/* Homepage service icons: KenTrade red on card hover */
body.home .kt-service-cards-redesign .kt-service-icon-card p.ktv2-service-icon {
    transition: color 180ms ease, background-color 180ms ease,
                border-color 180ms ease, transform 180ms ease;
}

body.home .kt-service-cards-redesign .kt-service-icon-card:hover p.ktv2-service-icon {
    color: #C62835 !important;
    background-color: #FCEBED !important;
    border-color: #C62835 !important;
    transform: translateY(-2px);
}

body.home .kt-service-cards-redesign .kt-service-icon-card:hover p.ktv2-service-icon a {
    color: #C62835 !important;
}

@media (prefers-reduced-motion: reduce) {
    body.home .kt-service-cards-redesign .kt-service-icon-card p.ktv2-service-icon {
        transition: none;
    }

    body.home .kt-service-cards-redesign .kt-service-icon-card:hover p.ktv2-service-icon {
        transform: none;
    }
}


/* Correct hover behaviour: change icon background, not the icon */
body.home .kt-service-cards-redesign
.kt-service-icon-card:hover p.ktv2-service-icon {
    background-color: #C62835 !important;
    color: #17366D !important;
    border-color: #C62835 !important;
    transform: translateY(-2px);
}


/* Final hover state: red circle with white icon */
body.home .kt-service-cards-redesign
.kt-service-icon-card:hover p.ktv2-service-icon {
    background-color: #C62835 !important;
    color: var(--kt-white) !important;
    border-color: #C62835 !important;
}


/* KenTrade search field: red border on hover and focus */
body .wp-block-search .wp-block-search__input:hover,
body .wp-block-search .wp-block-search__input:focus,
body .wp-block-search .wp-block-search__input:focus-visible,
body .ktv2-header-search input:hover,
body .ktv2-header-search input:focus,
body .ktv2-header-search input:focus-visible {
    border-color: #C62835 !important;
    outline-color: #C62835 !important;
    box-shadow: 0 0 0 2px rgba(198, 40, 53, 0.15) !important;
}


/* Header search button: red background on hover and keyboard focus */
body .ktv2-header-search button:hover,
body .ktv2-header-search button:focus-visible,
body .ktv2-header-search .wp-block-search__button:hover,
body .ktv2-header-search .wp-block-search__button:focus-visible,
body .wp-block-search button:hover,
body .wp-block-search .wp-block-search__button:hover {
    background-color: #C62835 !important;
    border-color: #C62835 !important;
    color: var(--kt-white) !important;
}

body .ktv2-header-search button:hover svg,
body .ktv2-header-search .wp-block-search__button:hover svg,
body .wp-block-search .wp-block-search__button:hover svg {
    fill: var(--kt-white);
    color: var(--kt-white);
}


/* Homepage: extend hero image to the top behind the header */
body.home .ktv2-main-header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
    background: transparent !important;
    box-shadow: none !important;
}

body.home .ktv2-main-header-inner {
    position: relative;
    z-index: 101;
}

body.home .ktv2-homepage {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.home .ktv2-homepage > .wp-block-post-content > .ktv2-hero-slider {
    margin-top: 0 !important;
}

/* Keep the header controls above the hero image */
body.home .ktv2-main-header .ktv2-navigation,
body.home .ktv2-main-header .ktv2-header-actions {
    position: relative;
    z-index: 102;
}

/* Mobile: retain a usable header overlay */
@media (max-width: 600px) {
    body.home .ktv2-main-header-inner {
        min-height: 72px;
    }
}


/* Homepage hero overlay: improve header contrast */
body.home .ktv2-main-header {
    background: linear-gradient(
        180deg,
        rgba(10, 28, 60, 0.55) 0%,
        rgba(10, 28, 60, 0.18) 100%
    ) !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.home .ktv2-main-header-inner {
    border: 0 !important;
}

body.home .ktv2-main-header .ktv2-navigation a,
body.home .ktv2-main-header .ktv2-navigation .wp-block-navigation-item__content {
    color: var(--kt-white) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}

body.home .ktv2-main-header .ktv2-navigation a:hover,
body.home .ktv2-main-header .ktv2-navigation a:focus-visible {
    color: var(--kt-white) !important;
    text-decoration: underline;
    text-decoration-color: #C62835;
    text-underline-offset: 5px;
}

/* Remove any header pseudo-element line on the homepage */
body.home .ktv2-main-header::before,
body.home .ktv2-main-header::after,
body.home .ktv2-main-header-inner::before,
body.home .ktv2-main-header-inner::after {
    border: 0 !important;
    box-shadow: none !important;
}


/* Homepage: fully transparent header over the hero */
body.home .ktv2-main-header {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}


/* Homepage: refine the official logo against the transparent hero */
body.home .ktv2-main-header .wp-block-site-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 7px 10px;
    background: rgba(255, 255, 255, 0.97);
    border-radius: 5px;
    line-height: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
}

body.home .ktv2-main-header .wp-block-site-logo img {
    display: block;
    width: 180px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

@media (max-width: 600px) {
    body.home .ktv2-main-header .wp-block-site-logo {
        padding: 5px 7px;
    }

    body.home .ktv2-main-header .wp-block-site-logo img {
        width: 135px;
    }
}


/* Homepage dropdowns: readable against the hero image */
body.home .ktv2-navigation .wp-block-navigation__submenu-container,
body.home .ktv2-navigation .wp-block-navigation__submenu-container ul {
    background: var(--kt-white) !important;
    background-color: var(--kt-white) !important;
    border: 1px solid #DCE3EE !important;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(10, 28, 60, 0.22) !important;
    z-index: 1100 !important;
}

body.home .ktv2-navigation .wp-block-navigation__submenu-container a,
body.home .ktv2-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
    color: #17366D !important;
    text-shadow: none !important;
    background: transparent !important;
}

body.home .ktv2-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content:hover,
body.home .ktv2-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content:focus-visible {
    color: #C62835 !important;
    background: #F3F6FB !important;
    text-decoration: none !important;
}

body.home .ktv2-navigation .wp-block-navigation__submenu-icon {
    color: var(--kt-white) !important;
}


/* Header readability: homepage hero and light page sections */
body.home .ktv2-main-header {
    transition: background-color 180ms ease, box-shadow 180ms ease;
}

/* Keep the navigation readable when it overlaps light content */
body.home .ktv2-main-header .ktv2-navigation a,
body.home .ktv2-main-header .ktv2-navigation .wp-block-navigation-item__content {
    color: var(--kt-white) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* Maintain contrast for dropdown menus */
body.home .ktv2-navigation .wp-block-navigation__submenu-container a,
body.home .ktv2-navigation .wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
    color: #17366D !important;
    text-shadow: none !important;
}

/* Other pages: use a solid header for reliable contrast */
body:not(.home) .ktv2-main-header {
    background: var(--kt-white) !important;
    box-shadow: 0 2px 12px rgba(23, 54, 109, 0.10);
}

body:not(.home) .ktv2-main-header .ktv2-navigation a,
body:not(.home) .ktv2-main-header .ktv2-navigation .wp-block-navigation-item__content {
    color: #17366D !important;
    text-shadow: none !important;
}


/* Homepage header: solid, readable state after scrolling */
body.home .ktv2-main-header.kt-header-scrolled {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    width: 100%;
    background: var(--kt-white) !important;
    background-color: var(--kt-white) !important;
    box-shadow: 0 3px 14px rgba(23, 54, 109, 0.14) !important;
    border: 0 !important;
    z-index: 1200 !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation a,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation .wp-block-navigation-item__content {
    color: #17366D !important;
    text-shadow: none !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation a:hover,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation a:focus-visible {
    color: #C62835 !important;
    text-decoration: underline;
    text-decoration-color: #C62835;
    text-underline-offset: 5px;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation .wp-block-navigation__submenu-container {
    background: var(--kt-white) !important;
    border: 1px solid #DCE3EE !important;
    box-shadow: 0 12px 30px rgba(10, 28, 60, 0.22) !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation .wp-block-navigation__submenu-container a,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: #17366D !important;
    text-shadow: none !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation .wp-block-navigation__submenu-container a:hover,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation .wp-block-navigation__submenu-container a:focus-visible {
    color: #C62835 !important;
    background: #F3F6FB !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation .wp-block-navigation__submenu-icon {
    color: #17366D !important;
}


/* Homepage hero: create breathing room beneath the navigation */
@media (min-width: 1200px) {
    body.home .ktv2-hero-slider > .ktv2-hero-content,
    body:has(.ktv2-homepage) .ktv2-hero-slider > .ktv2-hero-content {
        padding-top: 105px;
    }
}

@media (min-width: 601px) and (max-width: 1199px) {
    body.home .ktv2-hero-slider .ktv2-hero-content,
    body:has(.ktv2-homepage) .ktv2-hero-slider .ktv2-hero-content {
        padding-top: 110px;
    }
}


/* KenTrade header search: clean, polished input styling */
.ktv2-header-search .wp-block-search__input {
    box-sizing: border-box;
    background: var(--kt-white) !important;
    color: #17366D !important;
    border: 1px solid #D5DEEB !important;
    border-radius: 7px !important;
    padding: 0 12px !important;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;
    box-shadow: none !important;
    outline-offset: 2px;
}

.ktv2-header-search .wp-block-search__input::placeholder {
    color: #69788F !important;
    opacity: 1;
}

.ktv2-header-search .wp-block-search__input:hover {
    border-color: #9AAAC2 !important;
}

.ktv2-header-search .wp-block-search__input:focus,
.ktv2-header-search .wp-block-search__input:focus-visible {
    background: var(--kt-white) !important;
    color: #17366D !important;
    border-color: #17366D !important;
    box-shadow: 0 0 0 3px rgba(23, 54, 109, 0.12) !important;
    outline: none;
}


/* Header search: prevent the search control from being clipped */
.ktv2-main-header,
.ktv2-main-header-inner,
.ktv2-main-header .ktv2-header-actions {
    overflow: visible !important;
}

.ktv2-main-header .ktv2-header-search {
    align-self: center;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.ktv2-main-header .ktv2-header-search .wp-block-search__button {
    align-self: center;
    min-height: 44px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Compact scrolled homepage header: align logo, menu and search */
body.home .ktv2-main-header.kt-header-scrolled {
    box-sizing: border-box;
    min-height: 76px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-main-header-inner {
    box-sizing: border-box;
    min-height: 76px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    align-items: center !important;
    gap: 18px;
}

body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo {
    padding: 4px 7px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo img {
    display: block;
    width: 145px !important;
    max-height: 54px;
    height: auto;
    object-fit: contain;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-navigation,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-header-actions,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-header-search {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-header-search .wp-block-search__input,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-header-search .wp-block-search__button {
    box-sizing: border-box;
    min-height: 44px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-header-search .wp-block-search__input {
    border: 1px solid #D5DEEB !important;
    outline: none !important;
    box-shadow: none !important;
}

body.home .ktv2-main-header.kt-header-scrolled .ktv2-header-search .wp-block-search__input:focus,
body.home .ktv2-main-header.kt-header-scrolled .ktv2-header-search .wp-block-search__input:focus-visible {
    border-color: #17366D !important;
    outline: 2px solid rgba(23, 54, 109, 0.18) !important;
    outline-offset: 1px;
    box-shadow: none !important;
}

@media (max-width: 600px) {
    body.home .ktv2-main-header.kt-header-scrolled .ktv2-main-header-inner {
        gap: 8px;
        min-height: 68px !important;
    }

    body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo img {
        width: 112px !important;
        max-height: 46px;
    }
}


/* Scrolled header: improve logo size and vertical alignment */
body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box;
    width: 190px !important;
    height: 64px !important;
    padding: 5px 10px !important;
    margin: 0 !important;
    background: var(--kt-white) !important;
    border-radius: 6px !important;
    overflow: visible !important;
    flex: 0 0 190px !important;
}
body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo img {
    display: block;
    width: 100% !important;
    max-width: 180px !important;
    max-height: 60px !important;
    height: auto !important;
    object-fit: contain;
    object-position: center;
}
@media (max-width: 600px) {
    body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo {
        width: 125px !important;
        height: 54px !important;
        flex-basis: 125px !important;
        padding: 4px 6px !important;
    }
    body.home .ktv2-main-header.kt-header-scrolled .wp-block-site-logo img {
        max-width: 113px !important;
        max-height: 46px !important;
    }
}

/* KenTrade Future V3.2 — real WordPress news Query Loop */
.ktv2-news .kentrade-news-grid > .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.ktv2-news .kentrade-news-grid .wp-block-post {
    min-width: 0;
    overflow: hidden;
    padding: 0 0 22px;
    background: var(--kt-white);
    border: 1px solid #dce4ef;
    border-radius: 8px;
    box-shadow: 0 3px 12px rgb(32 56 100 / 6%);
}

.ktv2-news .kentrade-news-grid .wp-block-post-featured-image {
    margin: 0 0 18px;
}

.ktv2-news .kentrade-news-grid .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.ktv2-news .kentrade-news-grid .wp-block-post-title,
.ktv2-news .kentrade-news-grid .wp-block-post-date,
.ktv2-news .kentrade-news-grid .wp-block-post-excerpt,
.ktv2-news .kentrade-news-grid .wp-block-read-more {
    margin-right: 20px;
    margin-left: 20px;
}

.ktv2-news .kentrade-news-grid .wp-block-post-title {
    margin-top: 0;
    margin-bottom: 12px;
    color: #203864;
    font-size: 1.15rem;
    line-height: 1.4;
}

.ktv2-news .kentrade-news-grid .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

.ktv2-news .kentrade-news-grid .wp-block-post-title a:hover,
.ktv2-news .kentrade-news-grid .wp-block-post-title a:focus {
    color: #0877b9;
    text-decoration: underline;
}

.ktv2-news .kentrade-news-grid .wp-block-post-date {
    margin-bottom: 10px;
    color: #52647d;
    font-size: 0.8rem;
}

.ktv2-news .kentrade-news-grid .wp-block-post-excerpt {
    color: #445268;
    font-size: 0.92rem;
    line-height: 1.65;
}

.ktv2-news .kentrade-news-grid .wp-block-read-more {
    display: inline-block;
    margin-top: 8px;
    color: #075da8;
    font-weight: 700;
    text-decoration: none;
}

.ktv2-news .kentrade-news-grid .wp-block-read-more:hover {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .ktv2-news .kentrade-news-grid > .wp-block-post-template {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .ktv2-news .kentrade-news-grid > .wp-block-post-template {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .ktv2-news .kentrade-news-grid .wp-block-post-title,
    .ktv2-news .kentrade-news-grid .wp-block-post-date,
    .ktv2-news .kentrade-news-grid .wp-block-post-excerpt,
    .ktv2-news .kentrade-news-grid .wp-block-read-more {
        margin-right: 16px;
        margin-left: 16px;
    }
}

/* KenTrade V3.2: News and Notices two-column layout */
.ktv3-news-notices-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(270px, 1fr);
    gap: 32px;
    align-items: start;
}

.ktv3-news-column,
.ktv3-notices-panel {
    min-width: 0;
}

.ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ktv3-notices-panel {
    overflow: hidden;
    border: 1px solid #dce4ef;
    border-radius: 8px;
    background: var(--kt-white);
    box-shadow: 0 3px 12px rgb(32 56 100 / 6%);
}

.ktv3-notices-panel-header {
    padding: 18px 20px;
    background: #eaf3fc;
    border-bottom: 1px solid #dce4ef;
    gap: 12px;
}

.ktv3-notices-panel-header h3 {
    margin: 0;
    color: #203864;
    font-size: 1.15rem;
    line-height: 1.4;
}

.ktv3-notices-panel-header p {
    margin: 0;
    font-size: .8rem;
    white-space: nowrap;
}

.ktv3-notices-panel-header a {
    color: #075da8;
    font-weight: 700;
    text-decoration: none;
}

.ktv3-notices-panel-header a:hover {
    text-decoration: underline;
}

.ktv3-notices-list {
    padding: 0 20px;
}

.ktv3-notices-list .ktv3-notice-item {
    padding: 18px 0;
    border-bottom: 1px solid #e5ebf3;
}

.ktv3-notices-list .ktv3-notice-item:last-child {
    border-bottom: 0;
}

.ktv3-notices-list .wp-block-post-date {
    margin-bottom: 7px;
    color: #52647d;
    font-size: .78rem;
}

.ktv3-notices-list .wp-block-post-title {
    margin: 0;
    color: #203864;
    font-size: .98rem;
    line-height: 1.5;
}

.ktv3-notices-list .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

.ktv3-notices-list .wp-block-post-title a:hover {
    color: #0877b9;
    text-decoration: underline;
}

@media (max-width: 1000px) {
    .ktv3-news-notices-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }
}

@media (max-width: 600px) {
    .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
        grid-template-columns: minmax(0, 1fr);
    }

    .ktv3-notices-panel-header {
        flex-wrap: wrap !important;
    }
}

/* KenTrade V3.2: definitive News and Notices layout */
.wp-block-group.ktv2-news.ktv3-news-notices-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(250px, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
}

.wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-news-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: start !important;
    overflow: hidden;
}

.ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.ktv3-notices-panel .ktv3-notices-list > .wp-block-post-template {
    display: block !important;
}

.ktv3-notices-panel .ktv3-notices-panel-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

@media (max-width: 1000px) {
    .wp-block-group.ktv2-news.ktv3-news-notices-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-news-column,
    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

@media (max-width: 650px) {
    .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}


/* News & Updates 75% | Notices & Alerts 25% */
.wp-block-group.ktv2-news.ktv3-news-notices-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
}
.wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-news-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
.wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
@media (max-width: 767px) {
    .wp-block-group.ktv2-news.ktv3-news-notices-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-news-column,
    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* FINAL FIX: force News and Notices side by side */
body .wp-block-group.ktv2-news.ktv3-news-notices-layout.is-layout-flow {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr) !important;
    grid-auto-flow: row !important;
    align-items: start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
}
body .wp-block-group.ktv2-news.ktv3-news-notices-layout.is-layout-flow > .ktv3-news-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
body .wp-block-group.ktv2-news.ktv3-news-notices-layout.is-layout-flow > .ktv3-notices-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
@media (max-width: 767px) {
    body .wp-block-group.ktv2-news.ktv3-news-notices-layout.is-layout-flow {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body .wp-block-group.ktv2-news.ktv3-news-notices-layout.is-layout-flow > .ktv3-news-column,
    body .wp-block-group.ktv2-news.ktv3-news-notices-layout.is-layout-flow > .ktv3-notices-panel {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* =========================================================
   KENTRADE NEWS NOTICES REFERENCE DESIGN
   Desktop: three news cards + compact notices sidebar
   Mobile: stacked layout
   ========================================================= */

body .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 2.7fr) minmax(245px, 1fr) !important;
    align-items: start !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 24px !important;
}

/* Left news section */
body .wp-block-group.ktv2-news.ktv3-news-notices-layout
> .ktv3-news-column {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Right notices section */
body .wp-block-group.ktv2-news.ktv3-news-notices-layout
> .ktv3-notices-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: start !important;
    overflow: hidden;
    border: 1px solid #e3eaf3;
    border-radius: 9px;
    background: var(--kt-white);
    box-shadow: 0 2px 8px rgb(32 56 100 / 5%);
}

/* News section heading and introduction */
.ktv3-news-column > .ktv3-section-eyebrow {
    margin: 0 0 5px !important;
    color: #203864 !important;
    font-size: 1.35rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    text-transform: capitalize;
}

.ktv3-news-column > .wp-block-paragraph:not(.ktv3-section-eyebrow) {
    margin: 0 0 14px !important;
    color: #526078;
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Three equal news cards */
.ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ktv3-news-column .kentrade-news-grid > .wp-block-post-template > li {
    min-width: 0;
    overflow: hidden;
    padding: 0 0 13px !important;
    border: 1px solid #e1e8f2;
    border-radius: 7px;
    background: var(--kt-white);
    box-shadow: 0 2px 7px rgb(32 56 100 / 4%);
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
    margin: 0 0 10px !important;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #edf2f8;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-date,
.ktv3-news-column .kentrade-news-grid .wp-block-post-title,
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt,
.ktv3-news-column .kentrade-news-grid .wp-block-read-more {
    margin-right: 12px !important;
    margin-left: 12px !important;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-date {
    margin-bottom: 4px !important;
    color: #6b778c;
    font-size: 0.72rem;
    line-height: 1.4;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-title {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    color: #172f59;
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.35;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-title a:hover {
    color: #075da8;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    color: #46546b;
    font-size: 0.77rem;
    line-height: 1.4;
}

.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt p {
    margin: 0;
}

.ktv3-news-column .kentrade-news-grid .wp-block-read-more {
    display: inline-block;
    color: #0756b5;
    font-size: 0.77rem;
    font-weight: 700;
    text-decoration: none;
}

.ktv3-news-column .kentrade-news-grid .wp-block-read-more:hover {
    text-decoration: underline;
}

/* Notices header */
.ktv3-notices-panel .ktv3-notices-panel-header {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 12px 13px !important;
    border-bottom: 1px solid #e3eaf3;
    background: #edf4fd;
}

.ktv3-notices-panel-header h3 {
    margin: 0 !important;
    color: #172f59 !important;
    font-size: 0.88rem !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.ktv3-notices-panel-header p {
    margin: 0 !important;
    font-size: 0.68rem !important;
    line-height: 1.3 !important;
}

.ktv3-notices-panel-header a {
    color: #0756b5 !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    white-space: nowrap;
    text-decoration: none !important;
}

/* Compact notice rows */
.ktv3-notices-panel .ktv3-notices-list {
    padding: 0 13px !important;
}

.ktv3-notices-panel .ktv3-notices-list .ktv3-notice-item {
    padding: 10px 0 !important;
    border-bottom: 1px solid #e7edf5 !important;
}

.ktv3-notices-panel .ktv3-notices-list .ktv3-notice-item:last-child {
    border-bottom: 0 !important;
}

.ktv3-notices-panel .ktv3-notices-list .wp-block-post-date {
    margin: 0 0 3px !important;
    color: #6b778c !important;
    font-size: 0.67rem !important;
    line-height: 1.35 !important;
}

.ktv3-notices-panel .ktv3-notices-list .wp-block-post-title {
    margin: 0 !important;
    color: #172f59 !important;
    font-size: 0.77rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
}

.ktv3-notices-panel .ktv3-notices-list .wp-block-post-title a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: inherit !important;
    text-decoration: none !important;
}

.ktv3-notices-panel .ktv3-notices-list .wp-block-post-title a::after {
    content: "\2192";
    flex: 0 0 auto;
    color: #2563c7;
    font-size: 1.05rem;
    font-weight: 400;
}

.ktv3-notices-panel .ktv3-notices-list .wp-block-post-title a:hover {
    color: #075da8 !important;
}

/* Tablet: preserve a usable sidebar while space allows */
@media (max-width: 700px) {
    body .wp-block-group.ktv2-news.ktv3-news-notices-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    body .wp-block-group.ktv2-news.ktv3-news-notices-layout
    > .ktv3-news-column,
    body .wp-block-group.ktv2-news.ktv3-news-notices-layout
    > .ktv3-notices-panel {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* Mobile news cards */
@media (max-width: 600px) {
    .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .ktv3-news-column .kentrade-news-grid > .wp-block-post-template > li {
        display: grid;
        grid-template-columns: minmax(100px, 38%) minmax(0, 1fr);
        column-gap: 12px;
        padding: 0 0 10px !important;
    }

    .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
        grid-column: 1;
        grid-row: 1 / span 4;
        height: 100%;
        min-height: 100px;
        margin: 0 !important;
        aspect-ratio: auto;
    }

    .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image img {
        height: 100% !important;
        aspect-ratio: auto;
    }

    .ktv3-news-column .kentrade-news-grid .wp-block-post-date,
    .ktv3-news-column .kentrade-news-grid .wp-block-post-title,
    .ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt,
    .ktv3-news-column .kentrade-news-grid .wp-block-read-more {
        grid-column: 2;
        margin-right: 10px !important;
        margin-left: 0 !important;
    }

    .ktv3-news-column .kentrade-news-grid .wp-block-post-date {
        margin-top: 9px !important;
    }

    .ktv3-news-column .kentrade-news-grid .wp-block-post-title {
        font-size: 0.85rem !important;
    }
}

/* =====================================================
   CONSOLIDATED NEWS + NOTICES LAYOUT
   Desktop: news left, compact notices right
   Mobile/tablet: sections stack vertically
   ===================================================== */

@media (min-width: 901px) {
    html body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 2.25fr) minmax(260px, 0.85fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        gap: 22px !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout
    > .ktv3-news-column {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    html body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout
    > .ktv3-notices-panel {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 1px solid #e3eaf3;
        border-radius: 9px;
        background: var(--kt-white);
        box-shadow: 0 2px 8px rgb(32 56 100 / 5%);
    }

    html body main#main-content
    .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    html body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    html body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout
    > .ktv3-news-column,
    html body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout
    > .ktv3-notices-panel {
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

/* =========================================================
   AUTHORITATIVE NEWS + NOTICES LAYOUT
   Desktop: news left, notices right
   Mobile/tablet: stacked
   ========================================================= */

@media (min-width: 1001px) {
    body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 2.6fr) minmax(250px, 1fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        gap: 22px !important;
        width: 100% !important;
        max-width: none !important;
    }

    body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-news-column {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    body main#main-content
    .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

@media (max-width: 1000px) {
    body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-news-column,
    body main#main-content
    .wp-block-group.ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
        grid-column: 1 !important;
        grid-row: auto !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

/* KenTrade: News & Updates — 75% width */
@media (min-width: 1001px) {
  body main#main-content .wp-block-group.ktv2-news {
    width: 75% !important;
    max-width: 75% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body main#main-content .ktv2-news .kentrade-news-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  body main#main-content .ktv2-news .kentrade-news-grid > .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
  }

  body main#main-content .ktv2-news .kentrade-news-grid > .wp-block-post-template > li {
    min-width: 0 !important;
    width: auto !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 1000px) {
  body main#main-content .wp-block-group.ktv2-news {
    width: 100% !important;
    max-width: 100% !important;
  }

  body main#main-content .ktv2-news .kentrade-news-grid > .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  body main#main-content .ktv2-news .kentrade-news-grid > .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

/* Final sizing: News & Updates at 75% width */
@media (min-width: 1001px) {
  body main#main-content .wp-block-group.ktv2-news {
    width: 75% !important;
    max-width: 75% !important;
    margin-left: 20px !important;
    margin-right: 0 !important;
  }

  body main#main-content .ktv2-news .kentrade-news-grid,
  body main#main-content .ktv2-news .kentrade-news-grid > .wp-block-post-template {
    width: 100% !important;
    max-width: 100% !important;
  }

  body main#main-content .ktv2-news .kentrade-news-grid > .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  body main#main-content .ktv2-news .kentrade-news-grid > .wp-block-post-template > li {
    width: 100% !important;
    min-width: 0 !important;
  }
}
/* KenTrade: final News & Notices layout */
@media (min-width: 1001px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(240px, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    align-items: start !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-news-column,
  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    grid-row: 1 !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-news-column {
    grid-column: 1 !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    grid-column: 2 !important;
  }

  html body main#main-content
  .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body main#main-content
  .ktv3-news-column .kentrade-news-grid > .wp-block-post-template > li {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 1000px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-news-column,
  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body main#main-content
  .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* KenTrade: News and Notices visual refinement */
@media (min-width: 1001px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  html body main#main-content
  .ktv3-notices-panel h1,
  html body main#main-content
  .ktv3-notices-panel h2 {
    font-size: clamp(1.75rem, 2vw, 2.25rem) !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }
}

/* KenTrade: reduce excess space above News & Updates */
@media (min-width: 1001px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    padding-top: 32px !important;
  }
}

/* KenTrade: align News and Notices panels */
@media (min-width: 1001px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    align-items: start !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-news-column,
  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Compact notices panel */
  html body main#main-content .ktv3-notices-panel {
    padding: 20px !important;
    box-sizing: border-box !important;
  }

  html body main#main-content .ktv3-notices-panel h2 {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
  }

  html body main#main-content .ktv3-notices-panel > p {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
  }

  html body main#main-content
  .ktv3-notices-panel .ktv3-notice-item {
    margin-bottom: 14px !important;
  }

  html body main#main-content
  .ktv3-notices-panel .wp-block-post-excerpt {
    font-size: 0.85rem !important;
    line-height: 1.45 !important;
    margin-top: 6px !important;
    margin-bottom: 8px !important;
  }
}


/* KenTrade: keep Notices panel compact beside News cards */
@media (min-width: 1001px) {
  html body main#main-content .ktv3-notices-panel {
    padding: 16px !important;
  }

  html body main#main-content .ktv3-notices-panel h2 {
    font-size: 1.35rem !important;
    margin-bottom: 10px !important;
  }

  html body main#main-content .ktv3-notices-panel > p {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
  }

  html body main#main-content
  .ktv3-notices-panel .ktv3-notice-item {
    margin-bottom: 10px !important;
  }

  html body main#main-content
  .ktv3-notices-panel .wp-block-post-date {
    font-size: 0.7rem !important;
    margin-bottom: 4px !important;
  }

  html body main#main-content
  .ktv3-notices-panel .wp-block-post-excerpt {
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }

  html body main#main-content
  .ktv3-notices-panel .wp-block-post-excerpt__more-text {
    margin-top: 4px !important;
  }
}


/* KenTrade: compact Notices panel and remove Read more links */
html body main#main-content .ktv3-notices-panel
.wp-block-post-excerpt__more-text,
html body main#main-content .ktv3-notices-panel
.wp-block-post-excerpt__more-link {
  display: none !important;
}

@media (min-width: 1001px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    align-items: start !important;
  }

  html body main#main-content .ktv3-notices-panel {
    align-self: start !important;
    height: fit-content !important;
    min-height: 0 !important;
    padding: 18px !important;
    margin-top: 0 !important;
  }

  html body main#main-content .ktv3-notices-panel h2 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }

  html body main#main-content .ktv3-notices-panel > p {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  html body main#main-content .ktv3-notices-panel
  .ktv3-notice-item {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
  }

  html body main#main-content .ktv3-notices-panel
  .ktv3-notice-item:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* KenTrade: final News & Notices alignment */
@media (min-width: 1001px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    align-items: start !important;
    padding-top: 32px !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-news-column,
  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    align-self: start !important;
    height: fit-content !important;
    min-height: 0 !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    padding: 20px !important;
    margin-top: 0 !important;
  }

  /* Hide Read more buttons in News & Updates only */
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-read-more,
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt__more-text,
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt__more-link,
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-button {
    display: none !important;
  }
}

/* Hide News Read more buttons at all screen sizes */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-read-more,
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt__more-text,
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt__more-link,
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-button {
  display: none !important;
}

/* KenTrade: uniform News & Updates card images */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
  width: 100% !important;
  height: 220px !important;
  margin: 0 !important;
  overflow: hidden !important;
  aspect-ratio: auto !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 600px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
    height: 200px !important;
  }
}

/* KenTrade: uniform News & Updates card images */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
  width: 100% !important;
  height: 220px !important;
  margin: 0 !important;
  overflow: hidden !important;
  aspect-ratio: auto !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 600px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
    height: 200px !important;
  }
}

/* KenTrade Future V3: Modern News Cards */
@media (min-width: 1001px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid > .wp-block-post-template {
    align-items: stretch !important;
    gap: 20px !important;
  }
}

/* Rounded modern news cards */
html body main#main-content
.ktv3-news-column .kentrade-news-grid > .wp-block-post-template > li {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #e4eaf2 !important;
  border-radius: 14px !important;
  background: var(--kt-white) !important;
  box-shadow: 0 3px 12px rgba(20, 50, 90, 0.06) !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid > .wp-block-post-template > li:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(20, 50, 90, 0.12) !important;
}

/* Uniform image dimensions */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
  width: 100% !important;
  height: 210px !important;
  margin: 0 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Consistent spacing inside cards */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-date,
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-title,
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-date {
  margin-top: 14px !important;
  margin-bottom: 6px !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-title {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  line-height: 1.6 !important;
}

/* Match the Notices panel styling */
html body main#main-content .ktv3-notices-panel {
  border: 1px solid #e4eaf2 !important;
  border-radius: 14px !important;
  background: var(--kt-white) !important;
  box-shadow: 0 3px 12px rgba(20, 50, 90, 0.06) !important;
  align-self: start !important;
}

/* Responsive image heights */
@media (max-width: 1000px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
    height: 200px !important;
  }
}

@media (max-width: 600px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
    height: 220px !important;
  }
}


/* KenTrade Future V3: Final News & Notices polish */

/* News cards */
html body main#main-content
.ktv3-news-column .kentrade-news-grid > .wp-block-post-template > li {
  border: 1px solid #e1e8f0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: var(--kt-white) !important;
  box-shadow: 0 3px 12px rgba(20, 50, 90, 0.06) !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid > .wp-block-post-template > li:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(20, 50, 90, 0.12) !important;
}

/* Equal image height and consistent cropping */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
  width: 100% !important;
  height: 210px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Navy headlines and softer excerpt text */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-title a {
  color: #173765 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt {
  color: #52647d !important;
  line-height: 1.6 !important;
}

/* Keep news cards clean: no Read more buttons or links */
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt__more-link,
html body main#main-content
.ktv3-news-column .kentrade-news-grid .wp-block-post-excerpt .wp-block-button {
  display: none !important;
}

/* Coordinated, compact Notices panel */
html body main#main-content .ktv3-notices-panel {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  border: 1px solid #e1e8f0 !important;
  border-radius: 14px !important;
  background: var(--kt-white) !important;
  box-shadow: 0 3px 12px rgba(20, 50, 90, 0.06) !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

html body main#main-content .ktv3-notices-panel h2 {
  color: #173765 !important;
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

html body main#main-content
.ktv3-notices-panel .ktv3-notice-item {
  margin-bottom: 16px !important;
}

html body main#main-content
.ktv3-notices-panel .wp-block-post-excerpt {
  color: #52647d !important;
  font-size: 0.9rem !important;
  line-height: 1.5 !important;
}

/* Responsive image heights */
@media (max-width: 1000px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
    height: 200px !important;
  }
}

@media (max-width: 600px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid .wp-block-post-featured-image {
    height: 220px !important;
  }
}


/* KenTrade: vertically align Notices with news cards */
@media (min-width: 1001px) {
  html body main#main-content .ktv3-notices-panel {
    margin-top: 114px !important;
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

@media (max-width: 1000px) {
  html body main#main-content .ktv3-notices-panel {
    margin-top: 24px !important;
  }
}


/* Align the bottom of Notices with the News cards */
@media (min-width: 1001px) {
  html body main#main-content
  .wp-block-group.ktv2-news.ktv3-news-notices-layout {
    align-items: stretch !important;
  }

  html body main#main-content
  .ktv2-news.ktv3-news-notices-layout > .ktv3-notices-panel {
    align-self: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 114px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 1000px) {
  html body main#main-content .ktv3-notices-panel {
    margin-top: 24px !important;
  }
}


/* KenTrade: remove excess height from Notices & Alerts */
@media (min-width: 1001px) {
  html body main#main-content .ktv3-notices-panel {
    padding: 20px 18px 14px !important;
    height: fit-content !important;
    min-height: 0 !important;
    align-self: end !important;
    box-sizing: border-box !important;
  }

  html body main#main-content .ktv3-notices-panel h2 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  html body main#main-content .ktv3-notices-panel > p {
    margin-bottom: 12px !important;
  }

  html body main#main-content
  .ktv3-notices-panel .wp-block-post-template {
    gap: 12px !important;
    margin-bottom: 0 !important;
  }

  html body main#main-content
  .ktv3-notices-panel .wp-block-post-template > li {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  html body main#main-content
  .ktv3-notices-panel .wp-block-post-excerpt {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
  }
}

/* KenTrade: View All News link */
@media (min-width: 1001px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid {
    position: relative !important;
  }

  html body main#main-content
  .ktv3-news-column .kentrade-news-grid::before {
    content: "View all news →";
    position: absolute;
    top: -84px;
    right: 0;
    color: #0756b5;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }
}


/* Fine-tune View All News vertical position */
@media (min-width: 1001px) {
  html body main#main-content
  .ktv3-news-column .kentrade-news-grid::before {
    top: -68px !important;
  }
}



/* KenTrade Future V3.2 — Premium institutional footer */
.wp-site-blocks .ktv3-footer-premium {
    background: #000000 !important;
    color: var(--kt-white) !important;
    font-family: Montserrat, sans-serif;
    margin-block-start: 0 !important;
}

.ktv3-footer-premium a,
.ktv3-footer-premium p,
.ktv3-footer-premium h2,
.ktv3-footer-premium h3,
.ktv3-footer-premium h4,
.ktv3-footer-premium .wp-block-site-title,
.ktv3-footer-premium .wp-block-site-tagline {
    color: var(--kt-white);
}

.ktv3-footer-premium a {
    text-decoration: none;
    transition: color .2s ease;
}

.ktv3-footer-premium a:hover,
.ktv3-footer-premium a:focus-visible {
    color: #f05a4f !important;
    text-decoration: underline;
}

.ktv3-footer-identity,
.ktv3-footer-links-row {
    max-width: 1200px;
    margin-inline: auto;
    padding: 34px 24px;
}

.ktv3-footer-identity {
    border-bottom: 3px solid #c9362b;
}

.ktv3-footer-brandline {
    gap: 14px;
    align-items: center;
}

.ktv3-footer-brandline .wp-block-site-title {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
}

.ktv3-footer-agency-name {
    margin: 0;
    font-weight: 600;
}

.ktv3-footer-premium .wp-block-site-tagline {
    margin-top: 8px;
    color: #d1d5db;
}

.ktv3-footer-social-label {
    margin-top: 22px;
    margin-bottom: 10px;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.ktv3-footer-premium .ktv3-footer-social {
    margin: 0;
    padding: 0;
    gap: 12px;
}

.ktv3-footer-links-grid {
    gap: 48px;
    margin: 0;
}

.ktv3-footer-link-column h4 {
    margin: 0 0 18px;
    color: var(--kt-white);
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .06em;
}

.ktv3-footer-link-column p {
    margin: 0 0 12px;
    color: #d1d5db;
    font-size: .9rem;
    line-height: 1.7;
}

.ktv3-footer-copyright {
    max-width: none;
    padding: 18px 24px;
    background: #f1f3f5;
    color: #343a40;
    text-align: center;
}

.ktv3-footer-copyright p {
    margin: 4px 0;
    color: #343a40 !important;
    font-size: .8rem;
}

@media (max-width: 781px) {
    .ktv3-footer-identity,
    .ktv3-footer-links-row {
        padding: 28px 20px;
    }

    .ktv3-footer-links-grid {
        gap: 24px;
    }

    .ktv3-footer-brandline {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* KENTRADE V3.2 EDITABLE STATS BANNER */
.ktv3-stats-banner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    max-width: none;
    padding: clamp(56px, 7vw, 100px) 24px;
    color: var(--kt-white);
    background-color: #09213c;
    background-image:
        linear-gradient(90deg, rgba(5, 23, 43, .93), rgba(5, 23, 43, .73)),
        url('/wp-content/uploads/kentrade/kentrade-trade-statistics-bg.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.ktv3-stats-banner-inner {
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
}

.ktv3-stats-banner .ktv3-stats-eyebrow {
    margin: 0 0 14px;
    color: #ef4545;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-align: center;
    text-transform: uppercase;
}

.ktv3-stats-banner .ktv3-stats-heading {
    max-width: 900px;
    margin: 0 auto 16px;
    color: var(--kt-white);
    font-size: clamp(28px, 3.6vw, 46px);
    font-weight: 750;
    line-height: 1.15;
    text-align: center;
    text-wrap: balance;
}

.ktv3-stats-banner .ktv3-stats-intro {
    max-width: 720px;
    margin: 0 auto 42px;
    color: rgba(255, 255, 255, .88);
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}

.ktv3-stats-banner .ktv3-stats-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
}

.ktv3-stats-banner .ktv3-stats-columns > .wp-block-column {
    min-width: 0;
    padding: 12px 24px;
    text-align: center;
}

.ktv3-stats-banner .ktv3-stats-columns > .wp-block-column + .wp-block-column {
    border-left: 1px solid rgba(255, 255, 255, .28);
}

.ktv3-stats-banner .ktv3-stat-icon {
    margin: 0 0 12px;
    color: #f04444;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
}

.ktv3-stats-banner .ktv3-stat-value {
    margin: 0 0 10px;
    color: var(--kt-white);
    font-size: clamp(30px, 3.3vw, 44px);
    font-weight: 800;
    line-height: 1.1;
}

.ktv3-stats-banner .ktv3-stat-label {
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: 14px;
    line-height: 1.5;
}

.ktv3-stats-banner .ktv3-stats-note {
    margin: 30px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    text-align: center;
}

@media (max-width: 781px) {
    .ktv3-stats-banner {
        padding: 52px 20px;
    }

    .ktv3-stats-banner .ktv3-stats-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 26px;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column {
        padding: 14px 12px;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column + .wp-block-column {
        border-left: 0;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column:nth-child(even) {
        border-left: 1px solid rgba(255, 255, 255, .28);
    }

    .ktv3-stats-banner .ktv3-stats-intro {
        margin-bottom: 30px;
    }
}

@media (max-width: 420px) {
    .ktv3-stats-banner .ktv3-stat-value {
        font-size: 28px;
    }

    .ktv3-stats-banner .ktv3-stat-label {
        font-size: 13px;
    }
}


/* KENTRADE STATS BANNER — COMPACT HEIGHT AND ALIGNMENT */
.ktv3-stats-banner {
    padding: 38px 24px 34px;
    background-position: center 56%;
}

.ktv3-stats-banner-inner {
    max-width: 1240px;
}

.ktv3-stats-banner .ktv3-stats-eyebrow {
    margin-bottom: 8px;
}

.ktv3-stats-banner .ktv3-stats-heading {
    max-width: 850px;
    margin-bottom: 10px;
    font-size: clamp(27px, 3vw, 40px);
    line-height: 1.12;
}

.ktv3-stats-banner .ktv3-stats-intro {
    margin-bottom: 26px;
    font-size: 15px;
    line-height: 1.5;
}

.ktv3-stats-banner .ktv3-stats-columns {
    align-items: stretch;
}

.ktv3-stats-banner .ktv3-stats-columns > .wp-block-column {
    padding: 8px 20px;
}

.ktv3-stats-banner .ktv3-stat-icon {
    margin-bottom: 8px;
    font-size: 26px;
}

.ktv3-stats-banner .ktv3-stat-value {
    margin-bottom: 6px;
    font-size: clamp(28px, 2.8vw, 38px);
    line-height: 1.05;
}

.ktv3-stats-banner .ktv3-stat-label {
    font-size: 13px;
    line-height: 1.4;
}

.ktv3-stats-banner .ktv3-stats-note {
    margin-top: 18px;
    font-size: 11px;
}

@media (max-width: 781px) {
    .ktv3-stats-banner {
        padding: 34px 18px 28px;
    }

    .ktv3-stats-banner .ktv3-stats-intro {
        margin-bottom: 22px;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column {
        padding: 10px 12px;
    }

    .ktv3-stats-banner .ktv3-stats-note {
        margin-top: 20px;
    }
}

@media (max-width: 480px) {
    .ktv3-stats-banner {
        padding: 30px 14px 24px;
    }

    .ktv3-stats-banner .ktv3-stats-heading {
        font-size: 27px;
    }

    .ktv3-stats-banner .ktv3-stats-intro {
        font-size: 14px;
    }
}


/* KENTRADE STATS BANNER — CLEARER BACKGROUND */
.ktv3-stats-banner {
    background-color: #09213c;
    background-image:
        linear-gradient(
            90deg,
            rgba(5, 23, 43, 0.58) 0%,
            rgba(5, 23, 43, 0.38) 50%,
            rgba(5, 23, 43, 0.48) 100%
        ),
        url('/wp-content/uploads/kentrade/kentrade-trade-statistics-bg.png');
    background-position: center 56%;
    background-size: cover;
    background-repeat: no-repeat;
}

/* Keep the heading and statistics readable */
.ktv3-stats-banner .ktv3-stats-eyebrow {
    color: #ff6258;
}

.ktv3-stats-banner .ktv3-stats-heading,
.ktv3-stats-banner .ktv3-stat-value {
    color: var(--kt-white);
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.ktv3-stats-banner .ktv3-stats-intro,
.ktv3-stats-banner .ktv3-stat-label {
    color: var(--kt-white);
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
}

.ktv3-stats-banner .ktv3-stat-icon {
    color: #ff6258;
}

.ktv3-stats-banner .ktv3-stats-columns > .wp-block-column + .wp-block-column {
    border-left-color: rgba(255, 255, 255, 0.4);
}


/* KENTRADE STATS BANNER — BALANCED LAYOUT */
.ktv3-stats-banner {
    padding: 30px 24px 26px;
    background-position: center 54%;
}

.ktv3-stats-banner-inner {
    max-width: 1180px;
    margin-inline: auto;
}

.ktv3-stats-banner .ktv3-stats-eyebrow {
    margin-bottom: 7px;
    font-size: 11px;
    letter-spacing: 0.15em;
}

.ktv3-stats-banner .ktv3-stats-heading {
    max-width: 780px;
    margin: 0 auto 10px;
    font-size: clamp(26px, 2.7vw, 36px);
    line-height: 1.12;
}

.ktv3-stats-banner .ktv3-stats-intro {
    max-width: 680px;
    margin: 0 auto 22px;
    font-size: 14px;
    line-height: 1.5;
}

.ktv3-stats-banner .ktv3-stats-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 0;
    margin: 0;
}

.ktv3-stats-banner .ktv3-stats-columns > .wp-block-column {
    min-width: 0;
    padding: 8px 16px;
    text-align: center;
}

.ktv3-stats-banner .ktv3-stats-columns > .wp-block-column + .wp-block-column {
    border-left: 1px solid rgba(255, 255, 255, 0.4);
}

.ktv3-stats-banner .ktv3-stat-icon {
    margin: 0 0 7px;
    font-size: 23px;
    line-height: 1.1;
}

.ktv3-stats-banner .ktv3-stat-value {
    margin: 0 0 6px;
    font-size: clamp(27px, 2.5vw, 35px);
    line-height: 1.1;
}

.ktv3-stats-banner .ktv3-stat-label {
    max-width: 210px;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.ktv3-stats-banner .ktv3-stats-note {
    margin: 16px 0 0;
    font-size: 10px;
    line-height: 1.4;
}

@media (max-width: 781px) {
    .ktv3-stats-banner {
        padding: 30px 18px 24px;
    }

    .ktv3-stats-banner .ktv3-stats-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 18px;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column {
        padding: 10px 12px;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column + .wp-block-column {
        border-left: 0;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column:nth-child(even) {
        border-left: 1px solid rgba(255, 255, 255, 0.4);
    }

    .ktv3-stats-banner .ktv3-stats-intro {
        margin-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .ktv3-stats-banner {
        padding: 26px 12px 22px;
    }

    .ktv3-stats-banner .ktv3-stats-heading {
        font-size: 26px;
    }

    .ktv3-stats-banner .ktv3-stats-intro {
        font-size: 13px;
    }

    .ktv3-stats-banner .ktv3-stats-columns > .wp-block-column {
        padding-inline: 8px;
    }

    .ktv3-stats-banner .ktv3-stat-value {
        font-size: 27px;
    }

    .ktv3-stats-banner .ktv3-stat-label {
        font-size: 11px;
    }
}


/* KENTRADE FOOTER — COMPACT BALANCED LAYOUT */
.ktv3-footer-premium {
    padding-top: 30px;
    padding-bottom: 22px;
}

.ktv3-footer-premium .ktv3-footer-brand,
.ktv3-footer-premium .ktv3-footer-top {
    margin-bottom: 18px;
}

.ktv3-footer-premium .ktv3-footer-social {
    margin-top: 12px;
    gap: 12px;
}

.ktv3-footer-premium .ktv3-footer-divider {
    margin-top: 20px;
    margin-bottom: 26px;
}

.ktv3-footer-premium .ktv3-footer-columns {
    gap: 28px;
}

.ktv3-footer-premium .ktv3-footer-column h2,
.ktv3-footer-premium .ktv3-footer-column h3 {
    margin-bottom: 14px;
}

.ktv3-footer-premium .ktv3-footer-column ul {
    margin-top: 0;
    margin-bottom: 0;
}

.ktv3-footer-premium .ktv3-footer-column li {
    margin-bottom: 10px;
}

.ktv3-footer-premium .ktv3-footer-bottom {
    padding-top: 16px;
    padding-bottom: 16px;
}

@media (max-width: 781px) {
    .ktv3-footer-premium {
        padding-top: 26px;
        padding-bottom: 18px;
    }

    .ktv3-footer-premium .ktv3-footer-divider {
        margin-top: 18px;
        margin-bottom: 22px;
    }

    .ktv3-footer-premium .ktv3-footer-columns {
        gap: 22px;
    }

    .ktv3-footer-premium .ktv3-footer-bottom {
        padding: 14px 16px;
        text-align: center;
    }
}


/* KT resource cards: red hover transition */
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card {
    transition:
        transform 200ms ease,
        box-shadow 200ms ease,
        border-color 200ms ease;
}

body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card::before {
    transition:
        background-color 200ms ease,
        border-color 200ms ease,
        box-shadow 200ms ease;
}

body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:hover,
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:focus-within {
    transform: translateY(-4px);
    border-color: #c06468;
    box-shadow: 0 12px 28px rgba(29, 49, 88, 0.12);
}

body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:hover::before,
body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:focus-within::before {
    background-color: #c06468;
    box-shadow: 0 4px 12px rgba(192, 100, 104, 0.22);
}

@media (prefers-reduced-motion: reduce) {
    body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card,
    body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card::before {
        transition: none;
    }

    body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:hover,
    body.home .ktv2-resources .ktv2-resource-grid > .ktv2-resource-card:focus-within {
        transform: none;
    }
}

/* KT Contact Page Refinement 2026-10
   Scoped to Contact page markup; no global layout changes. */

.kt-contact-page .kt-locations:after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.kt-contact-page .kt-location-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
}

.kt-contact-page .kt-location-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    background: var(--kt-white);
    border: 1px solid #dce6f1;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(16, 42, 98, .06);
    transition: box-shadow .2s ease, transform .2s ease;
}

.kt-contact-page .kt-location-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(16, 42, 98, .11);
}

.kt-contact-page .kt-location-card:before {
    flex: 0 0 auto;
    width: 38px;
    height: 4px;
    margin-bottom: 18px;
    background: #c93632;
    border-radius: 4px;
}

.kt-contact-page .kt-location-card h3 {
    font-size: 18px;
    line-height: 1.4;
}

.kt-contact-page .kt-location-card p {
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.8;
}

.kt-contact-page .kt-location-card a,
.kt-contact-page .kt-detail a {
    color: #102a62;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
}

.kt-contact-page .kt-location-card a:hover,
.kt-contact-page .kt-detail a:hover {
    color: #c93632;
    text-decoration-color: currentColor;
}

.kt-contact-page a:focus-visible,
.kt-contact-page button:focus-visible,
.kt-contact-page input:focus-visible,
.kt-contact-page select:focus-visible,
.kt-contact-page textarea:focus-visible {
    outline: 3px solid #0866c5;
    outline-offset: 3px;
}

@media (max-width: 1000px) {
    .kt-contact-page .kt-location-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .kt-contact-page .kt-location-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .kt-contact-page .kt-location-card {
        padding: 20px;
    }

    .kt-contact-page .kt-location-card:hover {
        transform: none;
    }

    .kt-contact-page .kt-hero-visual img {
        object-position: center;
    }
}

/* KT Contact Hero — reference-aligned background overlay */
.kt-contact-page .kt-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 320px;
    padding: 58px 5% 70px;
    margin-top: 0;
    background: #17458A !important;
    background-image: none !important;
}

.kt-contact-page .kt-hero .kt-hero-visual {
    display: none !important;
}

.kt-contact-page .kt-hero .kt-hero-visual img {
    display: none !important;
}

.kt-contact-page .kt-hero::before {
    content: none !important;
    display: none !important;
}

.kt-contact-page .kt-hero::after,
.kt-contact-page .kt-hero .kt-hero-visual::before,
.kt-contact-page .kt-hero .kt-hero-visual::after {
    content: none !important;
    display: none !important;
}

.kt-contact-page .kt-hero .kt-hero-copy {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 760px;
}

.kt-contact-page .kt-hero .kt-eyebrow,
.kt-contact-page .kt-hero h1,
.kt-contact-page .kt-hero h1 em,
.kt-contact-page .kt-hero .kt-intro {
    color: var(--kt-white) !important;
}

.kt-contact-page .kt-hero .kt-eyebrow::before {
    background: var(--kt-white);
}

.kt-contact-page .kt-hero .kt-intro {
    max-width: 650px;
}

@media (max-width: 600px) {
    .kt-contact-page .kt-hero {
        min-height: 280px;
        padding: 40px 22px 48px;
    }

    .kt-contact-page .kt-hero::before {
        background: rgba(15, 42, 75, .72);
    }
}

/* KenTrade Contact Us — full-width hero refinement */
.kt-contact-page .kt-hero {
    width: 100vw;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    box-sizing: border-box;
    background: #17458A !important;
    background-image: none !important;
}

/* Keep hero text aligned with the site's content grid */
.kt-contact-page .kt-hero .kt-hero-copy {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
}

/* Preserve the full-width layout on smaller screens */
@media (max-width: 600px) {
    .kt-contact-page .kt-hero {
        width: 100vw;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

/* KenTrade Contact Us — reduce space above the hero */
body:has(.kt-contact-page) .wp-block-post-content > .kt-contact-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:has(.kt-contact-page) .kt-contact-page .kt-hero {
    margin-top: 0 !important;
}


/* Contact Us: eliminate the gap below the site header */
body:has(.kt-contact-page) .ktv2-main-header {
    margin-bottom: 0 !important;
}

body:has(.kt-contact-page) main#main-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

body:has(.kt-contact-page) main#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

/* Contact Us: remove WordPress root layout spacing */
body:has(.kt-contact-page) .wp-site-blocks > main#main-content {
    margin-block-start: 0 !important;
}

/* Contact Us — reduce hero height */
body:has(.kt-contact-page) .kt-contact-page .kt-hero {
    min-height: 260px !important;
    padding-top: 38px !important;
    padding-bottom: 48px !important;
}


/* =========================================================
   INTERIOR HERO DIMENSIONS — MATCH ABOUT US (PAGE 18)
   Scoped to existing interior-page heroes only.
   Homepage slider and Contact page remain unchanged.
   ========================================================= */

body:has(.kt-nesws-hero) .kt-page-hero,
body:has(.kt-services-directory) .kt-page-hero,
body:has(.kt-resources-hero-marker) .kt-page-hero {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding: 56px max(24px, calc((100% - 1200px) / 2)) 60px !important;
}

body:has(.kt-nesws-hero) .kt-page-hero h1,
body:has(.kt-services-directory) .kt-page-hero h1,
body:has(.kt-resources-hero-marker) .kt-page-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}

body:has(.kt-nesws-hero) .kt-page-hero p,
body:has(.kt-services-directory) .kt-page-hero p,
body:has(.kt-resources-hero-marker) .kt-page-hero p {
    max-width: 850px;
    line-height: 1.75;
}

@media (min-width: 601px) and (max-width: 1000px) {
    body:has(.kt-nesws-hero) .kt-page-hero,
    body:has(.kt-services-directory) .kt-page-hero,
    body:has(.kt-resources-hero-marker) .kt-page-hero {
        padding-top: 44px !important;
        padding-bottom: 48px !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-nesws-hero) .kt-page-hero,
    body:has(.kt-services-directory) .kt-page-hero,
    body:has(.kt-resources-hero-marker) .kt-page-hero {
        padding: 36px 20px 40px !important;
    }

    body:has(.kt-nesws-hero) .kt-page-hero p,
    body:has(.kt-services-directory) .kt-page-hero p,
    body:has(.kt-resources-hero-marker) .kt-page-hero p {
        font-size: 1rem;
        line-height: 1.7;
    }
}

/* =========================================================
   INTERIOR HERO VISUAL MATCH — ABOUT US
   Match background, text colours and dimensions.
   Applies only to NESWS, Services and Resources.
   ========================================================= */

body:has(.kt-nesws-hero) .kt-page-hero,
body:has(.kt-services-directory) .kt-page-hero,
body:has(.kt-resources-hero-marker) .kt-page-hero {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 56px max(24px, calc((100% - 1200px) / 2)) 60px !important;
    background: #15315f !important;
    color: var(--kt-white) !important;
}

body:has(.kt-nesws-hero) .kt-page-hero h1,
body:has(.kt-services-directory) .kt-page-hero h1,
body:has(.kt-resources-hero-marker) .kt-page-hero h1 {
    margin: 0 0 18px;
    color: var(--kt-white) !important;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}

body:has(.kt-nesws-hero) .kt-page-hero p,
body:has(.kt-services-directory) .kt-page-hero p,
body:has(.kt-resources-hero-marker) .kt-page-hero p {
    max-width: 850px;
    margin: 0;
    color: #f1f5fb !important;
    font-size: 1.1rem;
    line-height: 1.75;
}

body:has(.kt-nesws-hero) .kt-page-hero .eyebrow,
body:has(.kt-services-directory) .kt-page-hero .eyebrow,
body:has(.kt-resources-hero-marker) .kt-page-hero .eyebrow {
    margin: 0 0 14px;
    color: #d8e5f7 !important;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@media (min-width: 601px) and (max-width: 1000px) {
    body:has(.kt-nesws-hero) .kt-page-hero,
    body:has(.kt-services-directory) .kt-page-hero,
    body:has(.kt-resources-hero-marker) .kt-page-hero {
        padding-top: 44px !important;
        padding-bottom: 48px !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-nesws-hero) .kt-page-hero,
    body:has(.kt-services-directory) .kt-page-hero,
    body:has(.kt-resources-hero-marker) .kt-page-hero {
        padding: 36px 20px 40px !important;
    }

    body:has(.kt-nesws-hero) .kt-page-hero p,
    body:has(.kt-services-directory) .kt-page-hero p,
    body:has(.kt-resources-hero-marker) .kt-page-hero p {
        font-size: 1rem;
        line-height: 1.7;
    }
}

/* SERVICES HERO — FULL VIEWPORT WIDTH */
body:has(.kt-services-directory) .kt-page-hero {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box;
}


/* INTERIOR HEROES — FULL VIEWPORT WIDTH */
/* NESWS, Services and Resources only. */
body:has(.kt-nesws-hero) .kt-page-hero,
body:has(.kt-services-directory) .kt-page-hero,
body:has(.kt-resources-hero-marker) .kt-page-hero {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box;
}


/* SERVICES HERO CTA BUTTON */
body:has(.kt-services-directory) .kt-page-hero .kt-services-hero-cta {
    margin: 24px 0 0;
}

body:has(.kt-services-directory) .kt-page-hero .kt-services-hero-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border: 1px solid var(--kt-white);
    border-radius: 6px;
    background: var(--kt-white);
    color: #15315f !important;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.3;
    transition: background-color 0.2s ease;
}

body:has(.kt-services-directory) .kt-page-hero .kt-services-hero-button:hover,
body:has(.kt-services-directory) .kt-page-hero .kt-services-hero-button:focus-visible {
    background: #d8e5f7;
    color: #15315f !important;
    text-decoration: none;
}

body:has(.kt-services-directory) .kt-services-directory {
    scroll-margin-top: 100px;
}

/* SERVICES HERO CONTENT ALIGNMENT */
body:has(.kt-services-directory) .kt-page-hero {
    padding-left: max(24px, calc((100% - 1200px) / 2)) !important;
    padding-right: max(24px, calc((100% - 1200px) / 2)) !important;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-page-hero {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* SERVICES PAGE: REMOVE GAP BELOW HEADER */
body:has(.kt-services-directory) .ktv2-main-header {
    margin-bottom: 0 !important;
}

body:has(.kt-services-directory) .wp-site-blocks > main#main-content {
    margin-block-start: 0 !important;
}

body:has(.kt-services-directory) main#main-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

body:has(.kt-services-directory) main#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
    margin-top: 0 !important;
}

/* Services page: normalize card spacing and align card links */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid
> .kt-service-directory-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Remove stray line breaks directly after the card image */
body:has(.kt-services-directory) .kt-service-directory-card > br {
    display: none !important;
}

/* Keep service images consistent */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
    display: block !important;
    flex: 0 0 auto;
    width: 100% !important;
    height: 205px !important;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
    margin: 0 !important;
}

/* Remove empty paragraphs created by the existing card markup */
body:has(.kt-services-directory) .kt-service-directory-card > p:empty {
    display: none !important;
}

/* Normalize manual line breaks in card descriptions and links */
body:has(.kt-services-directory) .kt-service-directory-card > p br {
    display: none !important;
}

/* Keep card titles aligned and readable */
body:has(.kt-services-directory) .kt-service-directory-card > h3 {
    margin: 0 16px 10px !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.4 !important;
}

/* Keep descriptions consistently spaced */
body:has(.kt-services-directory) .kt-service-directory-card > p:not(:has(> a.card-link)) {
    margin: 0 16px 14px !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.6 !important;
}

/* Push the Learn more link to the bottom of each card */
body:has(.kt-services-directory) .kt-service-directory-card > p:has(> a.card-link) {
    display: flex !important;
    align-items: flex-end;
    margin: auto 16px 0 !important;
    padding: 12px 0 16px !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-decoration: none;
}


/* Services page: KenTrade signature asymmetric card corners */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-card {
    border-radius: 8px 26px 8px 26px !important;
    overflow: hidden !important;
}

/* Keep the image aligned with the card's rounded top corners */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
    border-radius: 0 !important;
}

/* Preserve the blue accent and add a subtle hover treatment */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-card:hover {
    box-shadow: 0 8px 20px rgba(21, 49, 95, 0.13) !important;
}


/* About Us hero: match the Services full-viewport width */
body:has(.kt-about-us-hero-marker) .kt-page-hero {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box;
}

body:has(.kt-about-us-hero-marker) .kt-page-hero {
    padding-left: max(24px, calc((100% - 1200px) / 2)) !important;
    padding-right: max(24px, calc((100% - 1200px) / 2)) !important;
}

@media (max-width: 600px) {
    body:has(.kt-about-us-hero-marker) .kt-page-hero {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* About Us: remove the white gap above the full-width hero */
body:has(.kt-about-us-hero-marker) .kt-page-hero {
    margin-top: 0 !important;
}

body:has(.kt-about-us-hero-marker) .kt-page-hero:first-child {
    margin-block-start: 0 !important;
}

body:has(.kt-about-us-hero-marker) main,
body:has(.kt-about-us-hero-marker) .wp-site-blocks main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ABOUT US: REMOVE GAP BELOW HEADER — MATCH SERVICES PAGE */
body:has(.kt-about-us-hero-marker) .ktv2-main-header {
    margin-bottom: 0 !important;
}

body:has(.kt-about-us-hero-marker) .wp-site-blocks > main#main-content {
    margin-block-start: 0 !important;
}

body:has(.kt-about-us-hero-marker) main#main-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

body:has(.kt-about-us-hero-marker) main#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.kt-about-us-hero-marker) .wp-block-post-content > .kt-page-hero {
    margin-top: 0 !important;
}

/* Interior page heroes: standardize on the Contact Us blue.
   Deliberately excludes the homepage slider and Contact Us page. */
body:has(.kt-about-us-hero-marker) .kt-page-hero,
body:has(.kt-nesws-hero) .kt-page-hero,
body:has(.kt-services-directory) .kt-page-hero,
body:has(.kt-resources-hero-marker) .kt-page-hero {
    background-color: #17458A !important;
    background-image: none !important;
}

/* Procurement page hero — scoped to the existing hero marker. */
body:has(.kt-procurement-hero-marker) .entry-content > h1:first-child {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: calc(50% - 50vw);
    padding: clamp(48px, 7vw, 88px) max(24px, calc((100vw - 1300px) / 2));
    background: #17458A;
    color: var(--kt-white);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.1;
}

body:has(.kt-procurement-hero-marker) .entry-content > h1:first-child + p {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-top: 0;
    margin-bottom: 2.5rem;
    margin-left: calc(50% - 50vw);
    padding: 0 max(24px, calc((100vw - 1300px) / 2)) 32px;
    background: #17458A;
    color: var(--kt-white);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.6;
}


/* Procurement: remove the gap above the full-width hero. */
body:has(.kt-procurement-hero-marker) .wp-site-blocks main,
body:has(.kt-procurement-hero-marker) main.wp-block-group {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:has(.kt-procurement-hero-marker) .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:has(.kt-procurement-hero-marker) .entry-content > h1:first-child {
    margin-top: 0 !important;
}


/* Procurement hero: more compact vertical spacing */
body:has(.kt-procurement-hero-marker) .entry-content > h1:first-child {
    padding-top: 48px;
    padding-bottom: 28px;
}

body:has(.kt-procurement-hero-marker) .entry-content > h1:first-child + p {
    padding-bottom: 36px;
}


/* KT CHILD PAGE HEROES — SERVICES AND RESOURCES
   Full-width blue heading and introduction.
   Homepage, landing pages and Procurement parent page are excluded. */

body:has(.kt-interior-hero-marker) .entry-content > .kt-interior-hero-marker {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-block: 0;
    margin-left: calc(50% - 50vw);
    padding: 48px max(24px, calc((100vw - 1300px) / 2)) 20px;
    background: #17458A;
    color: var(--kt-white);
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 1.15;
}

body:has(.kt-interior-hero-marker) .entry-content > .kt-interior-hero-marker + p {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-top: 0;
    margin-bottom: 36px;
    margin-left: calc(50% - 50vw);
    padding: 0 max(24px, calc((100vw - 1300px) / 2)) 36px;
    background: #17458A;
    color: var(--kt-white);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}

@media (max-width: 600px) {
    body:has(.kt-interior-hero-marker) .entry-content > .kt-interior-hero-marker {
        padding: 36px 20px 16px;
        font-size: clamp(1.8rem, 7vw, 2.5rem);
    }

    body:has(.kt-interior-hero-marker) .entry-content > .kt-interior-hero-marker + p {
        padding: 0 20px 28px;
        margin-bottom: 28px;
    }
}

/* Interior child-page hero preview in the WordPress editor. */
.editor-styles-wrapper .kt-interior-hero-marker {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-block: 0;
    padding: 48px 24px 20px;
    background: #17458A;
    color: var(--kt-white);
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 1.15;
}

.editor-styles-wrapper .block-editor-block-list__block:has(.kt-interior-hero-marker) + .block-editor-block-list__block p {
    box-sizing: border-box;
    margin-top: 0;
    margin-bottom: 36px;
    padding: 0 24px 36px;
    background: #17458A;
    color: var(--kt-white);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}

@media (max-width: 600px) {
    .editor-styles-wrapper .kt-interior-hero-marker {
        padding: 36px 20px 16px;
        font-size: clamp(1.8rem, 7vw, 2.5rem);
    }

    .editor-styles-wrapper .block-editor-block-list__block:has(.kt-interior-hero-marker) + .block-editor-block-list__block p {
        margin-bottom: 28px;
        padding: 0 20px 28px;
    }
}

/* KT INTERIOR HEROES — REMOVE GAP ABOVE BANNERS
   Scoped to Resources and the Services/Resources child pages.
   Does not affect the homepage or Procurement page. */

body:has(.kt-resources-hero-marker, .kt-interior-hero-marker) .ktv2-main-header {
    margin-bottom: 0 !important;
}

body:has(.kt-resources-hero-marker, .kt-interior-hero-marker) .wp-site-blocks > main#main-content,
body:has(.kt-resources-hero-marker, .kt-interior-hero-marker) main#main-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

body:has(.kt-resources-hero-marker, .kt-interior-hero-marker) main#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

/* KT FAQs — dedicated interior page hero.
   Scoped to the existing .kt-faq-document wrapper. */

body:has(.kt-faq-document) .kt-faq-page-hero {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin: 0 0 40px calc(50% - 50vw);
    padding: clamp(44px, 6vw, 72px) max(24px, calc((100vw - 1300px) / 2));
    background: #17458A;
    color: var(--kt-white);
    font-family: Montserrat, sans-serif;
}

body:has(.kt-faq-document) .kt-faq-page-hero h1 {
    margin: 0 0 14px;
    color: var(--kt-white);
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    line-height: 1.15;
}

body:has(.kt-faq-document) .kt-faq-page-hero p {
    margin: 0;
    color: var(--kt-white);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.6;
}

body:has(.kt-faq-document) .ktv2-main-header {
    margin-bottom: 0 !important;
}

body:has(.kt-faq-document) .wp-site-blocks > main#main-content,
body:has(.kt-faq-document) main#main-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

body:has(.kt-faq-document) main#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

@media (max-width: 600px) {
    body:has(.kt-faq-document) .kt-faq-page-hero {
        padding: 36px 20px;
    }
}


/* KT FAQs — extend the hero beyond the constrained Gutenberg content area */
body:has(.kt-faq-document) main#main-content > .wp-block-post-content > .kt-faq-page-hero {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}


/* KT platform detail pages — full-width interior hero */
body.single-kt_platform .kt-platform-detail-hero {
    box-sizing: border-box;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    margin: 0 0 40px -50vw !important;
    padding: clamp(44px, 6vw, 72px) max(24px, calc((100vw - 1300px) / 2));
    background: #17458A;
    color: var(--kt-white);
}

body.single-kt_platform .kt-platform-detail-hero h1,
body.single-kt_platform .kt-platform-detail-hero .wp-block-post-title {
    margin: 0;
    color: var(--kt-white);
    font-family: Montserrat, sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    line-height: 1.15;
}

@media (max-width: 600px) {
    body.single-kt_platform .kt-platform-detail-hero {
        padding: 36px 20px;
    }
}

/* KT platform detail pages — remove whitespace above the hero */
body.single-kt_platform .ktv2-main-header {
    margin-bottom: 0 !important;
}

body.single-kt_platform .wp-site-blocks > main,
body.single-kt_platform main {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body.single-kt_platform main > .wp-block-group:first-child {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

/* KT platform detail pages — refine hero alignment and spacing */
body.single-kt_platform main.wp-block-group {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
}

body.single-kt_platform .kt-platform-detail-hero {
    display: flex;
    align-items: center;
    min-height: 220px;
    padding: 48px max(24px, calc((100vw - 1300px) / 2)) !important;
    margin-bottom: 0 !important;
}

body.single-kt_platform .kt-platform-detail-hero h1,
body.single-kt_platform .kt-platform-detail-hero .wp-block-post-title {
    width: 100%;
    margin: 0 !important;
    text-align: left;
}

body.single-kt_platform main > .wp-block-post-featured-image {
    margin-top: 40px;
}

@media (max-width: 600px) {
    body.single-kt_platform .kt-platform-detail-hero {
        min-height: 160px;
        padding: 36px 20px !important;
    }
}

/* KT Careers hero — standardised full-width interior banner */
body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero {
    position: relative;
    left: 50%;
    box-sizing: border-box;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 0 32px -50vw !important;
    padding: clamp(44px, 6vw, 72px) max(24px, calc((100vw - 1300px) / 2)) !important;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    border-radius: 0 !important;
    background: #17458A !important;
    color: var(--kt-white);
}

body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero > * {
    width: 100%;
    max-width: 1300px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left;
}

body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero .kt-careers-hero-eyebrow {
    margin-top: 0;
    margin-bottom: 16px;
    color: var(--kt-white);
}

body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero .kt-careers-hero-title {
    margin-top: 0;
    margin-bottom: 18px;
    color: var(--kt-white);
    font-family: Montserrat, sans-serif;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    line-height: 1.15;
    text-align: left;
}

body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero .kt-careers-hero-description {
    margin-top: 0;
    margin-bottom: 0;
    color: var(--kt-white);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.6;
    text-align: left;
}

/* Remove the Careers-specific decorative circles for consistency */
body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero::before,
body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero::after {
    display: none !important;
}

@media (max-width: 600px) {
    body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero {
        min-height: 220px;
        padding: 36px 20px !important;
    }
}

/* KT Careers hero — balance heading scale and line length */
body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero .kt-careers-hero-title {
    max-width: 950px;
    font-size: clamp(2.1rem, 3.5vw, 3.25rem);
    line-height: 1.12;
}

body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero .kt-careers-hero-description {
    max-width: 950px;
}

@media (max-width: 600px) {
    body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero .kt-careers-hero-title {
        font-size: clamp(2rem, 8vw, 2.5rem);
    }
}

/* KT Careers — remove whitespace between navigation and hero */
body:has(.kt-careers-page) .ktv2-main-header {
    margin-bottom: 0 !important;
}

body:has(.kt-careers-page) .wp-site-blocks > main,
body:has(.kt-careers-page) main#main-content,
body:has(.kt-careers-page) main {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

body:has(.kt-careers-page) .kt-careers-page {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.kt-careers-page) .kt-careers-page > .kt-careers-hero {
    margin-top: 0 !important;
}

/* KT Careers — eliminate top gap at the template and content wrapper */
body:has(.kt-careers-page) .wp-site-blocks > main#main-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.kt-careers-page) main#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.kt-careers-page) main#main-content > .wp-block-post-content > .kt-careers-page {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
    border-block-start: 0 !important;
}

body:has(.kt-careers-page) .kt-careers-page > .kt-careers-hero {
    margin-block-start: 0 !important;
    transform: none;
}

/* =========================================================
   ABOUT KENTRADE — INTERIOR HERO
   Use the existing intro content; do not alter page content.
   Scoped to the .kt-about-page content wrapper.
   ========================================================= */

body:has(.kt-about-page) .wp-site-blocks > main#main-content,
body:has(.kt-about-page) main#main-content,
body:has(.kt-about-page) main#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

.kt-about-page {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

.kt-about-page > .kt-about-intro {
    position: relative;
    left: 50%;
    box-sizing: border-box;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 0 48px -50vw !important;
    padding: clamp(44px, 6vw, 72px) max(24px, calc((100vw - 1300px) / 2)) !important;
    background: #17458A !important;
    color: var(--kt-white) !important;
    border-radius: 0 !important;
}

.kt-about-page > .kt-about-intro > p {
    width: 100%;
    max-width: 950px;
    margin: 0 0 16px !important;
    color: var(--kt-white) !important;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
    text-align: left !important;
}

.kt-about-page > .kt-about-intro > p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 600px) {
    .kt-about-page > .kt-about-intro {
        padding: 36px 20px !important;
        margin-bottom: 36px !important;
    }
}

/* About KenTrade — hero heading */
.kt-about-page > .kt-about-intro::before {
    content: "About KenTrade";
    display: block;
    width: 100%;
    max-width: 950px;
    margin: 0 auto 22px;
    color: var(--kt-white);
    font-family: Montserrat, sans-serif;
    font-size: clamp(2.2rem, 4vw, 3.25rem);
    font-weight: 700;
    line-height: 1.15;
}


/* TFP page — remove whitespace between navigation and hero */
body.single-kt_platform .ktv2-main-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.single-kt_platform .wp-site-blocks > main,
body.single-kt_platform main {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
}

body.single-kt_platform main > .wp-block-group:first-child {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
}

body.single-kt_platform .kt-platform-detail-hero {
    margin-top: 0 !important;
}


/* NESWS page — remove white gap above the blue hero */
body:has(.kt-nesws-hero) .ktv2-main-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body:has(.kt-nesws-hero) .wp-site-blocks > main#main-content,
body:has(.kt-nesws-hero) main#main-content,
body:has(.kt-nesws-hero) main#main-content > .wp-block-post-content {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

body:has(.kt-nesws-hero) .wp-block-post-content > .kt-page-hero {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    transform: none !important;
}

/* Preserve the existing text rhythm as NESWS content becomes native blocks. */
body:has(.kt-nesws-hero) .section-heading > .wp-block-heading {
    margin-block-start: 0 !important;
    margin-block-end: 23.24px !important;
}

body:has(.kt-nesws-hero) .section-heading > .wp-block-paragraph {
    margin-block: 0 !important;
}

body:has(.kt-nesws-hero) .kt-content-section > .trade-grid {
    margin-block-start: 20px !important;
}

body:has(.kt-nesws-hero) .trade-card > .wp-block-heading {
    margin-block-start: 0 !important;
    margin-block-end: 20px !important;
}

body:has(.kt-nesws-hero) .trade-card > .wp-block-paragraph:first-of-type {
    margin-block-start: 0 !important;
    margin-block-end: 16px !important;
}

body:has(.kt-nesws-hero) .trade-card > .wp-block-paragraph:last-of-type,
body:has(.kt-nesws-hero) .kt-blue-cta > .wp-block-paragraph {
    margin-block: 0 !important;
}

/* Board of Directors and Management — full-width interior heroes */

/* Remove the top whitespace above both hero sections. */
body:has(.kt-board-page) .ktv2-main-header,
body:has(.kt-management-page) .ktv2-main-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body:has(.kt-board-page) .wp-site-blocks > main#main-content,
body:has(.kt-board-page) main#main-content,
body:has(.kt-board-page) main#main-content > .wp-block-post-content,
body:has(.kt-management-page) .wp-site-blocks > main#main-content,
body:has(.kt-management-page) main#main-content,
body:has(.kt-management-page) main#main-content > .wp-block-post-content {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
    gap: 0 !important;
}

/* Remove spacing from the page wrappers before the hero. */
body:has(.kt-board-page) .kt-board-page,
body:has(.kt-management-page) .kt-management-page {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
}

/* Full-width blue hero banners. */
body:has(.kt-board-page) .kt-board-page > .kt-board-intro,
body:has(.kt-management-page) .kt-management-page > .kt-management-intro {
    position: relative;
    left: 50%;
    box-sizing: border-box;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 48px !important;
    margin-left: -50vw !important;
    padding: clamp(44px, 6vw, 72px) max(24px, calc((100vw - 1300px) / 2)) !important;
    background: #17458A !important;
    color: var(--kt-white) !important;
    border-radius: 0 !important;
}

/* Hero labels. */
body:has(.kt-board-page) .kt-board-intro .kt-board-label,
body:has(.kt-management-page) .kt-management-intro .kt-board-label {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    color: var(--kt-white) !important;
    font-family: Montserrat, sans-serif;
    font-weight: 600;
}

/* Hero headings. */
body:has(.kt-board-page) .kt-board-intro h1,
body:has(.kt-management-page) .kt-management-intro h1 {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    color: var(--kt-white) !important;
    font-family: Montserrat, sans-serif;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.15;
}

/* Hero descriptions. */
body:has(.kt-board-page) .kt-board-intro > p:not(.kt-board-label),
body:has(.kt-management-page) .kt-management-intro > p:not(.kt-board-label) {
    width: 100%;
    max-width: 950px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    color: var(--kt-white) !important;
    font-family: Montserrat, sans-serif;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}

@media (max-width: 600px) {
    body:has(.kt-board-page) .kt-board-page > .kt-board-intro,
    body:has(.kt-management-page) .kt-management-page > .kt-management-intro {
        padding: 36px 20px !important;
        margin-bottom: 36px !important;
    }
}

/* Management hero — align description with heading */
body:has(.kt-management-page) .kt-management-page > .kt-management-intro > p:not(.kt-board-label) {
    max-width: 950px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}

/* Unified left alignment — Board and Management heroes */
body:has(.kt-board-page) .kt-board-page > .kt-board-intro,
body:has(.kt-management-page) .kt-management-page > .kt-management-intro {
    text-align: left !important;
}

body:has(.kt-board-page) .kt-board-intro .kt-board-label,
body:has(.kt-board-page) .kt-board-intro h1,
body:has(.kt-board-page) .kt-board-intro > p:not(.kt-board-label),
body:has(.kt-management-page) .kt-management-intro .kt-board-label,
body:has(.kt-management-page) .kt-management-intro h1,
body:has(.kt-management-page) .kt-management-intro > p:not(.kt-board-label) {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* KenTrade Careers — dynamic vacancy search and empty state */
body:has(.kt-careers-page) .kt-careers-dynamic {
    width: 100%;
}

body:has(.kt-careers-page) .kt-careers-search {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0 28px;
}

body:has(.kt-careers-page) .kt-careers-search label {
    flex: 0 0 100%;
    margin: 0;
    color: #263746;
    font-size: 1rem;
    font-weight: 600;
}

body:has(.kt-careers-page) .kt-careers-search input[type="search"] {
    box-sizing: border-box;
    flex: 1 1 280px;
    width: 100%;
    max-width: 520px;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid #b8c6d8;
    border-radius: 8px;
    background: var(--kt-white);
    color: #263746;
    font: inherit;
    box-shadow: none;
}

body:has(.kt-careers-page) .kt-careers-search input[type="search"]:focus-visible {
    outline: 3px solid #e8b33a;
    outline-offset: 2px;
    border-color: #17458a;
}

body:has(.kt-careers-page) .kt-careers-search button[type="submit"] {
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid #17458a;
    border-radius: 8px;
    background: #17458a;
    color: var(--kt-white);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
}

body:has(.kt-careers-page) .kt-careers-search button[type="submit"]:hover {
    border-color: #263746;
    background: #263746;
}

body:has(.kt-careers-page) .kt-careers-search button[type="submit"]:focus-visible {
    outline: 3px solid #e8b33a;
    outline-offset: 3px;
}

body:has(.kt-careers-page) .kt-careers-dynamic .ktpc-empty-state {
    margin: 0 0 28px;
    padding: 20px 22px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: var(--kt-white);
    color: #596779;
    font-size: 1rem;
    line-height: 1.7;
}

@media (max-width: 600px) {
    body:has(.kt-careers-page) .kt-careers-search input[type="search"],
    body:has(.kt-careers-page) .kt-careers-search button[type="submit"] {
        flex: 1 1 100%;
        max-width: none;
    }
}

/* Careers hero — refined heading size and alignment */
body:has(.kt-careers-page) .kt-careers-page .kt-careers-hero .kt-careers-hero-title {
    font-size: clamp(2rem, 3.4vw, 3.5rem) !important;
    line-height: 1.12 !important;
    max-width: 1000px;
}

/* KenTrade Procurement child-page hero — scoped to the rendered semantic hero. */
body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin: 0 0 2.5rem calc(50% - 50vw);
    padding: clamp(38px, 5vw, 64px) max(24px, calc((100vw - 1300px) / 2));
    background: #17458A;
    color: var(--kt-white);
}

.kt-procurement-child-hero__inner {
    width: 100%;
    max-width: 1300px;
    margin-inline: auto;
}

.kt-procurement-child-hero__breadcrumb {
    margin-bottom: 18px;
    color: var(--kt-white);
    font-size: 0.95rem;
    line-height: 1.6;
}

.kt-procurement-child-hero__breadcrumb a {
    color: var(--kt-white);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.kt-procurement-child-hero__breadcrumb a:hover,
.kt-procurement-child-hero__breadcrumb a:focus-visible {
    text-decoration-thickness: 2px;
}

.kt-procurement-child-hero h1 {
    margin: 0;
    color: var(--kt-white);
    font-size: clamp(2.2rem, 4.5vw, 3.8rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
}

/* The rendered child hero supplies the visible H1. */
body:has(.kt-procurement-child-hero) .ktv2-procurement-page > h1:first-child {
    display: none;
}

@media (max-width: 600px) {
    body:has(.kt-procurement-child-hero)
    .kt-procurement-child-hero {
        margin-bottom: 1.75rem;
    }
}

/* Fix excess space above Procurement child-page heroes */
body:has(.kt-procurement-child-hero)
#main-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.kt-procurement-child-hero)
#main-content > .wp-block-post-content {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}

body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero {
    margin-top: 0 !important;
}

/* Procurement child-page hero title alignment refinement */
body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero {
    display: flex;
    align-items: center;
    text-align: left;
}

body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1300px;
    margin-inline: auto;
    text-align: left;
}

body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero h1 {
    width: 100%;
    max-width: 1000px;
    margin: 0;
    padding: 0;
    text-align: left;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    body:has(.kt-procurement-child-hero)
    .kt-procurement-child-hero h1 {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }
}

/* Final typography and positioning refinement for Procurement child heroes */
body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero {
    display: flex;
    align-items: center;
    min-height: 250px;
    padding: 48px 0;
}

body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero__inner {
    width: min(100% - 48px, 1300px);
    max-width: 1300px;
    margin-inline: auto;
    padding: 0;
    text-align: left;
}

body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero h1 {
    max-width: 1000px;
    margin: 0;
    font-size: clamp(2.25rem, 3.5vw, 3.5rem);
    line-height: 1.15;
    font-weight: 700;
    text-align: left;
}

@media (max-width: 600px) {
    body:has(.kt-procurement-child-hero)
    .kt-procurement-child-hero {
        min-height: 180px;
        padding: 36px 0;
    }

    body:has(.kt-procurement-child-hero)
    .kt-procurement-child-hero__inner {
        width: calc(100% - 40px);
    }
}

/* Procurement child-page hero: balanced height and consistent title alignment */
body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero {
    min-height: 220px;
    padding-block: 40px;
}

body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero__inner {
    width: calc(100% - 48px);
    max-width: 1300px;
    margin-inline: auto;
}

body:has(.kt-procurement-child-hero)
.kt-procurement-child-hero h1 {
    margin: 0;
    font-size: clamp(2.25rem, 3.5vw, 3.5rem);
    line-height: 1.15;
    text-align: left;
}

@media (max-width: 600px) {
    body:has(.kt-procurement-child-hero)
    .kt-procurement-child-hero {
        min-height: 160px;
        padding-block: 32px;
    }

    body:has(.kt-procurement-child-hero)
    .kt-procurement-child-hero__inner {
        width: calc(100% - 40px);
    }
}

/* Restored management page styling copied from the reference site */
/* =========================================
   KENTRADE MANAGEMENT — EXECUTIVE DESIGN
   Scoped to WordPress page ID 81
   ========================================= */

body:has(.kt-management-page) .kt-management-page {
  color: #26364b;
  padding-bottom: 64px;
}

body:has(.kt-management-page) .kt-management-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(56px, 8vw, 100px) clamp(24px, 6vw, 84px);
  margin-bottom: 52px;
  background: #071b35;
  border-bottom: 6px solid var(--kt-red);
}

body:has(.kt-management-page) .kt-management-intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -85px;
  bottom: -190px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(255,255,255,.025),
              0 0 0 75px rgba(255,255,255,.025);
  pointer-events: none;
}

body:has(.kt-management-page) .kt-management-intro .kt-board-label,
body:has(.kt-management-page) .kt-management-section > .kt-board-label {
  margin: 0 0 14px;
  color: var(--kt-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  line-height: 1.5;
  text-transform: uppercase;
}

body:has(.kt-management-page) .kt-management-intro h1 {
  margin: 0 0 22px;
  color: var(--kt-white);
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -1.5px;
}

body:has(.kt-management-page) .kt-management-intro > p:not(.kt-board-label) {
  max-width: 780px;
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: 18px;
  line-height: 1.85;
}

body:has(.kt-management-page) .kt-management-section {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto 64px;
}

body:has(.kt-management-page) .kt-management-section > h2 {
  margin: 0 0 28px;
  padding-bottom: 16px;
  color: #071b35;
  border-bottom: 1px solid #e1e6ed;
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.7px;
}

body:has(.kt-management-page) .kt-management-section > h2::after {
  content: "";
  display: block;
  position: relative;
  top: 17px;
  width: 64px;
  height: 4px;
  background: var(--kt-red);
}

body:has(.kt-management-page) .kt-leadership-feature {
  display: grid;
  grid-template-columns: minmax(240px, .85fr) 1.15fr;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  background: #f3f6fa;
  border: 1px solid #e1e6ed;
  border-radius: 4px;
  box-shadow: 0 12px 32px rgba(7,27,53,.08);
}

body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image {
  width: 100%;
  height: 100%;
  min-height: 300px;
  margin: 0;
  background: #e7ecf2;
}

body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  max-height: 440px;
  object-fit: cover;
  object-position: center top;
}

body:has(.kt-management-page) .kt-leadership-feature-content {
  align-self: center;
  padding: clamp(28px, 5vw, 58px);
}

body:has(.kt-management-page) .kt-leadership-feature-content h3 {
  margin: 0 0 12px;
  color: #071b35;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 800;
  line-height: 1.15;
}

body:has(.kt-management-page) .kt-leadership-role {
  margin: 0 0 14px;
  color: #c81920;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.6;
}

body:has(.kt-management-page) .kt-leadership-feature-content > p:not(.kt-leadership-role) {
  margin: 18px 0 0;
  color: #536174;
  font-size: 16px;
  line-height: 1.85;
}

body:has(.kt-management-page) .kt-leadership-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 22px;
}

body:has(.kt-management-page) .kt-leadership-card {
  min-width: 0;
  overflow: hidden;
  padding: 0 0 24px;
  background: var(--kt-white);
  border: 1px solid #e1e6ed;
  border-radius: 4px;
  box-shadow: 0 6px 22px rgba(7,27,53,.055);
  transition: transform .2s ease, box-shadow .2s ease;
}

body:has(.kt-management-page) .kt-leadership-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(7,27,53,.12);
}

body:has(.kt-management-page) .kt-leadership-card > .wp-block-image {
  width: 100%;
  margin: 0 0 20px;
  overflow: hidden;
  background: #e9edf2;
  border-bottom: 3px solid var(--kt-red);
}

body:has(.kt-management-page) .kt-leadership-card > .wp-block-image img {
  display: block;
  width: 100%;
  height: 245px;
  object-fit: cover;
  object-position: center top;
  transition: transform .3s ease;
}

body:has(.kt-management-page) .kt-leadership-card:hover > .wp-block-image img {
  transform: scale(1.025);
}

body:has(.kt-management-page) .kt-leadership-card > h3,
body:has(.kt-management-page) .kt-leadership-card > .kt-leadership-role {
  margin-right: 20px;
  margin-left: 20px;
}

body:has(.kt-management-page) .kt-leadership-card > h3 {
  margin-top: 0;
  margin-bottom: 10px;
  color: #071b35;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body:has(.kt-management-page) .kt-leadership-card > .kt-leadership-role {
  margin-bottom: 0;
  font-size: 13px;
  line-height: 1.65;
}

@media (max-width: 1050px) {
  body:has(.kt-management-page) .kt-leadership-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  body:has(.kt-management-page) .kt-leadership-card > .wp-block-image img {
    height: 230px;
  }
}

@media (max-width: 760px) {
  body:has(.kt-management-page) .kt-management-intro {
    padding: 56px 26px 62px;
    margin-bottom: 44px;
  }

  body:has(.kt-management-page) .kt-management-section {
    margin-bottom: 48px;
  }

  body:has(.kt-management-page) .kt-leadership-feature {
    grid-template-columns: 1fr;
  }

  body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image,
  body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
    min-height: 0;
    height: auto;
    max-height: none;
  }

  body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
    max-height: 420px;
    object-fit: cover;
    object-position: center 25%;
  }

  body:has(.kt-management-page) .kt-leadership-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  body:has(.kt-management-page) .kt-leadership-card > .wp-block-image img {
    height: 220px;
  }

  body:has(.kt-management-page) .kt-leadership-card > h3,
  body:has(.kt-management-page) .kt-leadership-card > .kt-leadership-role {
    margin-right: 14px;
    margin-left: 14px;
  }
}

@media (max-width: 440px) {
  body:has(.kt-management-page) .kt-management-section {
    width: calc(100% - 32px);
  }

  body:has(.kt-management-page) .kt-leadership-grid {
    grid-template-columns: 1fr;
  }

  body:has(.kt-management-page) .kt-leadership-card > .wp-block-image img {
    height: auto;
    max-height: 360px;
  }
}

/* End of Management executive design */


/* Management page — final visual polish */

body:has(.kt-management-page) .kt-leadership-card {
  background: var(--kt-white);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-shadow: 0 5px 20px rgba(7, 27, 53, 0.045);
}

body:has(.kt-management-page) .kt-leadership-card > .wp-block-image {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 245px;
  padding: 16px;
  margin-bottom: 0;
  background: #f1f4f8;
  border-bottom: 3px solid var(--kt-red);
  box-sizing: border-box;
}

body:has(.kt-management-page) .kt-leadership-card > .wp-block-image img {
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 2px;
  transition: transform .25s ease;
}

body:has(.kt-management-page) .kt-leadership-card:hover > .wp-block-image img {
  transform: scale(1.025);
}

body:has(.kt-management-page) .kt-leadership-card > h3 {
  margin-top: 22px;
  margin-bottom: 8px;
  color: #071b35;
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
}

body:has(.kt-management-page) .kt-leadership-card > .kt-leadership-role {
  margin-top: 0;
  margin-bottom: 0;
  color: #536174;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
  text-align: center;
  overflow-wrap: anywhere;
}

body:has(.kt-management-page) .kt-leadership-feature-content .kt-leadership-role {
  color: #c81920;
  font-size: 14px;
  font-weight: 750;
}

@media (max-width: 760px) {
  body:has(.kt-management-page) .kt-leadership-card > .wp-block-image {
    height: 220px;
    padding: 12px;
  }
}

@media (max-width: 440px) {
  body:has(.kt-management-page) .kt-leadership-card > .wp-block-image {
    height: 260px;
  }
}

/* End Management page polish */


/* Tighten excess vertical whitespace on Management page */
body:has(.kt-management-page) .kt-management-page {
  padding-bottom: 40px !important;
}

body:has(.kt-management-page) .kt-management-intro {
  margin-bottom: 32px !important;
  padding-bottom: 32px !important;
}

body:has(.kt-management-page) .kt-management-section {
  margin-top: 36px !important;
  margin-bottom: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:has(.kt-management-page) .kt-leadership-feature {
  margin-top: 26px !important;
  margin-bottom: 40px !important;
}

body:has(.kt-management-page) .kt-leadership-grid {
  margin-top: 24px !important;
}

@media (max-width: 768px) {
  body:has(.kt-management-page) .kt-management-intro {
    margin-bottom: 24px !important;
    padding-bottom: 24px !important;
  }

  body:has(.kt-management-page) .kt-management-section {
    margin-top: 28px !important;
    margin-bottom: 30px !important;
  }

  body:has(.kt-management-page) .kt-leadership-feature {
    margin-top: 20px !important;
    margin-bottom: 28px !important;
  }
}


/* Management page: compact section spacing */
body:has(.kt-management-page) .kt-management-page {
  padding-top: 0 !important;
  padding-bottom: 24px !important;
  gap: 0 !important;
}

body:has(.kt-management-page) .kt-management-intro {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding-top: 0 !important;
  padding-bottom: 20px !important;
}

body:has(.kt-management-page) .kt-management-section {
  margin-top: 0 !important;
  margin-bottom: 36px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:has(.kt-management-page) .kt-management-section > .kt-board-label {
  margin-bottom: 10px !important;
}

body:has(.kt-management-page) .kt-management-section > h2 {
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

body:has(.kt-management-page) .kt-leadership-feature {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body:has(.kt-management-page) .kt-leadership-grid {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  row-gap: 24px !important;
}

body:has(.kt-management-page) .kt-leadership-card {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body:has(.kt-management-page) .kt-management-page p:empty {
  display: none !important;
}

@media (max-width: 768px) {
  body:has(.kt-management-page) .kt-management-intro {
    margin-bottom: 20px !important;
    padding-bottom: 16px !important;
  }

  body:has(.kt-management-page) .kt-management-section {
    margin-bottom: 28px !important;
  }

  body:has(.kt-management-page) .kt-management-section > h2 {
    margin-bottom: 16px !important;
  }

  body:has(.kt-management-page) .kt-leadership-grid {
    row-gap: 18px !important;
  }
}


/* Management page: compact leadership cards */
body:has(.kt-management-page) .kt-leadership-card {
  padding: 18px 18px 16px !important;
  overflow: hidden;
}

body:has(.kt-management-page) .kt-leadership-card figure {
  margin: 0 auto 14px !important;
}

body:has(.kt-management-page) .kt-leadership-card figure img {
  display: block;
  width: 150px !important;
  height: 175px !important;
  object-fit: cover;
  object-position: center top;
  margin: 0 auto;
}

body:has(.kt-management-page) .kt-leadership-card h3 {
  margin: 10px 0 8px !important;
  line-height: 1.25;
}

body:has(.kt-management-page) .kt-leadership-card .kt-leadership-role {
  margin-bottom: 0 !important;
  line-height: 1.5;
}

body:has(.kt-management-page) .kt-management-section {
  margin-bottom: 28px !important;
}

body:has(.kt-management-page) .kt-leadership-grid {
  row-gap: 20px !important;
}

@media (max-width: 768px) {
  body:has(.kt-management-page) .kt-leadership-card {
    padding: 14px !important;
  }

  body:has(.kt-management-page) .kt-leadership-card figure img {
    width: 135px !important;
    height: 160px !important;
  }
}


/* Align Management hero label and content */
body:has(.kt-management-page) .kt-management-intro {
  box-sizing: border-box;
  padding: 36px 48px 34px !important;
}

body:has(.kt-management-page) .kt-management-intro > .kt-board-label {
  margin: 0 0 20px !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

body:has(.kt-management-page) .kt-management-intro > h1 {
  margin: 0 0 24px !important;
  text-align: left !important;
}

body:has(.kt-management-page) .kt-management-intro > p:not(.kt-board-label) {
  margin: 0 0 0 0 !important;
  text-align: left !important;
  max-width: 1000px;
}

@media (max-width: 768px) {
  body:has(.kt-management-page) .kt-management-intro {
    padding: 28px 22px 26px !important;
  }

  body:has(.kt-management-page) .kt-management-intro > .kt-board-label {
    margin-bottom: 14px !important;
  }

  body:has(.kt-management-page) .kt-management-intro > h1 {
    margin-bottom: 18px !important;
  }
}


/* KenTrade Management — refined leadership cards */
body:has(.kt-management-page) .kt-leadership-card {
  background: var(--kt-white) !important;
  border: 1px solid #e1e7ef !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 20px rgba(11, 32, 59, 0.06) !important;
  overflow: hidden;
  padding: 18px 18px 20px !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body:has(.kt-management-page) .kt-leadership-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(11, 32, 59, 0.12) !important;
}

body:has(.kt-management-page) .kt-leadership-card figure {
  margin: 0 auto 16px !important;
}

body:has(.kt-management-page) .kt-leadership-card figure img {
  border-radius: 8px !important;
  object-fit: cover;
  object-position: center top;
}

body:has(.kt-management-page) .kt-leadership-card h3 {
  color: #0b203b !important;
  font-size: 19px;
  line-height: 1.35;
  margin: 10px 0 8px !important;
}

body:has(.kt-management-page) .kt-leadership-card .kt-leadership-role {
  color: #c81920 !important;
  font-size: 13px;
  line-height: 1.55;
  margin-bottom: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  body:has(.kt-management-page) .kt-leadership-card {
    transition: none;
  }

  body:has(.kt-management-page) .kt-leadership-card:hover {
    transform: none;
  }
}


/* Management page: refined CEO profile */
body:has(.kt-management-page) .kt-leadership-feature {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 22px !important;
  gap: 28px !important;
  border-radius: 12px !important;
}

body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
  width: 270px !important;
  max-width: 100% !important;
  height: 330px !important;
  object-fit: cover;
  object-position: center top;
  border-radius: 8px !important;
}

/* Management page: clean white leadership cards */
body:has(.kt-management-page) .kt-leadership-card {
  background: var(--kt-white) !important;
  border: 1px solid #e1e7ef !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 20px rgba(11, 32, 59, 0.06) !important;
}

body:has(.kt-management-page) .kt-leadership-card figure {
  background: transparent !important;
  padding: 0 !important;
}

body:has(.kt-management-page) .kt-leadership-card figure img {
  width: 150px !important;
  height: 175px !important;
  object-fit: cover;
  object-position: center top;
  border-radius: 8px !important;
  background: var(--kt-white) !important;
}

/* Consistent space between management sections */
body:has(.kt-management-page) .kt-management-section {
  margin-bottom: 30px !important;
}

body:has(.kt-management-page) .kt-leadership-grid {
  column-gap: 20px !important;
  row-gap: 20px !important;
}

@media (max-width: 768px) {
  body:has(.kt-management-page) .kt-leadership-feature {
    padding: 16px !important;
    gap: 18px !important;
  }

  body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 360px;
  }

  body:has(.kt-management-page) .kt-leadership-card figure img {
    width: 135px !important;
    height: 160px !important;
  }
}


/* KenTrade blue palette — Management page */
body:has(.kt-management-page) {
  --kt-deep-blue: #092747;
  --kt-corporate-blue: #174A7E;
  --kt-pale-blue: #E8F1FA;
  --kt-sky-blue: #D3E4F5;
}

body:has(.kt-management-page) .kt-leadership-feature {
  background: var(--kt-pale-blue) !important;
  border: 1px solid var(--kt-sky-blue) !important;
  box-shadow: 0 8px 26px rgba(9, 39, 71, 0.09) !important;
}

body:has(.kt-management-page) .kt-management-section > h2,
body:has(.kt-management-page) .kt-leadership-card h3,
body:has(.kt-management-page) .kt-management-intro > h1 {
  color: var(--kt-deep-blue) !important;
}

body:has(.kt-management-page) .kt-leadership-card {
  border-color: var(--kt-sky-blue) !important;
  box-shadow: 0 5px 18px rgba(9, 39, 71, 0.07) !important;
}

body:has(.kt-management-page) .kt-leadership-card:hover {
  border-color: var(--kt-corporate-blue) !important;
  box-shadow: 0 12px 28px rgba(9, 39, 71, 0.14) !important;
}

body:has(.kt-management-page) .kt-management-section > h2::after {
  background: var(--kt-corporate-blue);
}

body:has(.kt-management-page) .kt-leadership-card .kt-leadership-role {
  color: #C81920 !important;
}


/* Management hero: restore title contrast */
body:has(.kt-management-page) .kt-management-intro > h1 {
  color: var(--kt-white) !important;
}

/* Management CEO feature: align portrait and remove image gaps */
body:has(.kt-management-page) .kt-leadership-feature {
  align-items: center !important;
  min-height: 0 !important;
  padding: 20px !important;
}

body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  flex-shrink: 0;
}

body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
  display: block !important;
  width: 250px !important;
  height: 310px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 8px !important;
}

body:has(.kt-management-page) .kt-leadership-feature-content {
  min-width: 0;
}

@media (max-width: 768px) {
  body:has(.kt-management-page) .kt-leadership-feature {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 360px;
    object-fit: contain !important;
  }
}


/* Management: reduce excess space in CEO feature */
body:has(.kt-management-page) .kt-leadership-feature {
  width: min(100%, 680px) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px !important;
  gap: 28px !important;
  align-items: center !important;
}

body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image {
  flex: 0 0 240px !important;
  width: 240px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
  display: block !important;
  width: 240px !important;
  height: 300px !important;
  object-fit: cover !important;
  object-position: center top !important;
}

body:has(.kt-management-page) .kt-leadership-feature-content {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

body:has(.kt-management-page) .kt-leadership-feature-content > h3 {
  margin-top: 0 !important;
}

@media (max-width: 768px) {
  body:has(.kt-management-page) .kt-leadership-feature {
    width: 100% !important;
    gap: 18px !important;
  }

  body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image {
    flex-basis: auto !important;
    width: 100% !important;
  }

  body:has(.kt-management-page) .kt-leadership-feature > .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 360px;
    object-fit: contain !important;
  }
}


/* Management page: change staff titles from red to blue */
body:has(.kt-management-page) .kt-leadership-role,
body:has(.kt-management-page) .kt-leadership-card .kt-leadership-role,
body:has(.kt-management-page) .kt-leadership-feature-content .kt-leadership-role {
  color: #174A7E !important;
}

/* Keep staff role titles clear and readable */
body:has(.kt-management-page) .kt-leadership-role {
  font-weight: 500;
}


/* Management page: dark navy staff role titles */
body:has(.kt-management-page) .kt-leadership-role,
body:has(.kt-management-page) .kt-leadership-card .kt-leadership-role,
body:has(.kt-management-page) .kt-leadership-feature-content .kt-leadership-role {
  color: #092747 !important;
}


/* Corporate blue for all Management page staff titles */
body:has(.kt-management-page) .kt-leadership-role,
body:has(.kt-management-page) .kt-leadership-card .kt-leadership-role,
body:has(.kt-management-page) .kt-leadership-feature-content .kt-leadership-role {
  color: #174A7E !important;
}

/* Board of Directors page: match restored content styling below the existing hero.
   The .kt-board-intro hero is intentionally left unchanged. */
body:has(.kt-board-page) .kt-board-page .kt-board-section {
    background: var(--kt-white) !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 32px 24px !important;
    margin-bottom: 32px !important;
}

body:has(.kt-board-page) .kt-board-page .kt-board-section > .kt-board-label {
    color: #174A7E !important;
    line-height: 1.5;
}

body:has(.kt-board-page) .kt-board-page .kt-board-section > h2 {
    color: #092747 !important;
    margin-bottom: 20px !important;
}

body:has(.kt-board-page) .kt-board-page .kt-board-section > h2::after {
    content: "";
    display: block;
    width: 54px;
    height: 3px;
    margin-top: 12px;
    border-radius: 3px;
    background: #174A7E;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-feature {
    box-sizing: border-box;
    border: 1px solid #D3E4F5 !important;
    background: #E8F1FA !important;
    box-shadow: 0 8px 26px rgba(9, 39, 71, 0.09) !important;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-feature-content h3 {
    color: #092747 !important;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-card {
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
    background: var(--kt-white) !important;
    border: 1px solid #D3E4F5 !important;
    box-shadow: 0 5px 18px rgba(9, 39, 71, 0.07) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-card:hover {
    transform: translateY(-4px);
    border-color: #174A7E !important;
    box-shadow: 0 12px 28px rgba(9, 39, 71, 0.14) !important;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-card figure {
    text-align: center;
    line-height: 0;
    background: #edf3f9 !important;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-card figure img {
    display: block;
    width: 140px !important;
    max-width: 100% !important;
    height: 158px !important;
    margin: 0 auto;
    object-fit: cover;
    object-position: center top;
    background: transparent !important;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-card h3 {
    color: #092747 !important;
    font-size: 19px;
    line-height: 1.35;
    margin: 6px 16px 4px !important;
}

body:has(.kt-board-page) .kt-board-page .kt-leadership-card .kt-leadership-role {
    color: #174A7E !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    margin: 0 16px 18px !important;
}

@media (max-width: 600px) {
    body:has(.kt-board-page) .kt-board-page .kt-board-section {
        padding: 24px 8px !important;
        margin-bottom: 24px !important;
    }

    body:has(.kt-board-page) .kt-board-page .kt-leadership-feature {
        width: 100% !important;
        padding: 16px !important;
        gap: 18px !important;
    }

    body:has(.kt-board-page) .kt-board-page .kt-leadership-feature > .wp-block-image img {
        width: 100% !important;
        height: auto !important;
        max-height: 360px;
        object-fit: contain !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-board-page) .kt-board-page .kt-leadership-card,
    body:has(.kt-board-page) .kt-board-page .kt-leadership-card:hover {
        transition: none;
        transform: none;
    }
}

/* About KenTrade: center the existing hero copy like the restored reference. */
.kt-about-page > .kt-about-intro::before {
    text-align: center;
}

.kt-about-page > .kt-about-intro > p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* Restored About KenTrade page layout — page 77 */
/* ==========================================================
   KENTRADE ABOUT PAGE — PREMIUM VISUAL REFINEMENT
   Scoped to page ID 77. Reversible: remove this block only.
   ========================================================== */

.kt-about-page {
    --kt-about-navy: #17376f;
    --kt-about-blue: var(--kt-blue);
    --kt-about-accent: #d9b66f;
    --kt-about-ink: #24344b;
    --kt-about-muted: #617086;
    --kt-about-line: #e2e8f1;

    width: min(1200px, calc(100% - 56px));
    padding-top: 56px;
    padding-bottom: 56px;
    color: var(--kt-about-ink);
}

.kt-about-page .kt-about-intro {
    max-width: 920px;
    margin: 0 auto 64px;
    padding: 0 0 32px;
    position: relative;
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    line-height: 1.85;
    text-align: center;
}

.kt-about-page .kt-about-intro::after {
    content: "";
    display: block;
    width: 76px;
    height: 4px;
    margin: 28px auto 0;
    border-radius: 4px;
    background: linear-gradient(
        90deg,
        var(--kt-about-blue) 0 72%,
        var(--kt-about-accent) 72% 100%
    );
}

.kt-about-page .kt-about-intro p {
    margin-top: 0;
    margin-bottom: 16px;
}

.kt-about-page .kt-about-block {
    margin-bottom: 64px;
}

.kt-about-page .kt-about-label {
    display: inline-block;
    margin: 0 0 14px;
    color: var(--kt-about-blue);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.5;
    text-transform: uppercase;
}

.kt-about-page .kt-about-block h2 {
    margin: 0 0 24px;
    color: var(--kt-about-navy);
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    font-weight: 750;
    line-height: 1.18;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.kt-about-page .kt-about-block h3 {
    color: var(--kt-about-navy);
    font-size: 1.12rem;
    font-weight: 750;
    line-height: 1.35;
    text-wrap: balance;
}

.kt-about-page .kt-about-block > p:not(.kt-about-label) {
    max-width: 900px;
    color: var(--kt-about-muted);
    line-height: 1.8;
}

/* Vision and Mission */

.kt-about-page .kt-about-strategy {
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid #e2e9f3;
    border-left: 5px solid var(--kt-about-blue);
    border-radius: 4px 16px 16px 4px;
    background:
        radial-gradient(ellipse at top right, #e6eefb 0, transparent 48%),
        linear-gradient(135deg, #f7f9fd, #eef3fa);
}

.kt-about-page .kt-about-strategy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
}

.kt-about-page .kt-about-strategy-grid > * {
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(30, 67, 136, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.86);
}

.kt-about-page .kt-about-strategy-grid h3,
.kt-about-page .kt-about-strategy-grid p {
    margin-top: 0;
}

.kt-about-page .kt-about-strategy-grid p:last-child {
    margin-bottom: 0;
    color: var(--kt-about-muted);
    line-height: 1.8;
}

/* Functions: aligned cards with restrained numbered accents */

.kt-about-page .kt-functions-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 22px !important;
    counter-reset: kt-function-card;
}

.kt-about-page .kt-functions-grid > .kt-function {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start;
    min-width: 0;
    height: auto !important;
    margin: 0 !important;
    padding: 26px 23px 28px;
    border: 1px solid var(--kt-about-line);
    border-top: 3px solid var(--kt-about-blue);
    border-radius: 5px 5px 13px 13px;
    background: var(--kt-white);
    box-shadow: 0 5px 20px rgba(23, 55, 111, 0.045);
    box-sizing: border-box;
    counter-increment: kt-function-card;
    transition: transform 180ms ease, box-shadow 180ms ease,
        border-color 180ms ease;
}

.kt-about-page .kt-functions-grid > .kt-function::before {
    content: counter(kt-function-card, decimal-leading-zero);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 34px;
    margin-bottom: 20px;
    border-radius: 8px;
    color: var(--kt-about-blue);
    background: #edf3fc;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.kt-about-page .kt-functions-grid > .kt-function h3 {
    margin: 0 0 12px !important;
}

.kt-about-page .kt-functions-grid > .kt-function p {
    margin: 0;
    color: var(--kt-about-muted);
    font-size: 0.96rem;
    line-height: 1.75;
}

.kt-about-page .kt-functions-grid > .kt-function:hover {
    transform: translateY(-4px);
    border-color: #c7d5ea;
    border-top-color: var(--kt-about-accent);
    box-shadow: 0 12px 28px rgba(23, 55, 111, 0.10);
}

/* Core Values: five balanced cards */

.kt-about-page .kt-values-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 18px !important;
}

.kt-about-page .kt-values-grid > .kt-about-value {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0;
    min-height: 210px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 24px 20px !important;
    border: 1px solid var(--kt-about-line) !important;
    border-top: 3px solid var(--kt-about-blue) !important;
    border-radius: 5px 5px 13px 13px !important;
    background: linear-gradient(180deg, var(--kt-white), #f8faff) !important;
    box-shadow: 0 5px 20px rgba(23, 55, 111, 0.045);
    box-sizing: border-box !important;
    transition: transform 180ms ease, box-shadow 180ms ease,
        border-color 180ms ease;
}

/* Small decorative symbols; no icon font or plugin required */

.kt-about-page .kt-values-grid > .kt-about-value::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 18px;
    border-radius: 11px;
    color: var(--kt-about-blue);
    background: #edf3fc;
    font-size: 1.15rem;
    font-weight: 700;
}

.kt-about-page .kt-values-grid > .kt-about-value:nth-child(1)::before {
    content: "♡";
}

.kt-about-page .kt-values-grid > .kt-about-value:nth-child(2)::before {
    content: "✓";
}

.kt-about-page .kt-values-grid > .kt-about-value:nth-child(3)::before {
    content: "✦";
}

.kt-about-page .kt-values-grid > .kt-about-value:nth-child(4)::before {
    content: "↗";
}

.kt-about-page .kt-values-grid > .kt-about-value:nth-child(5)::before {
    content: "∞";
}

.kt-about-page .kt-values-grid > .kt-about-value h3 {
    margin: 0 0 12px !important;
    line-height: 1.35 !important;
}

.kt-about-page .kt-values-grid > .kt-about-value p {
    margin: 0 !important;
    color: var(--kt-about-muted);
    font-size: 0.94rem;
    line-height: 1.7 !important;
}

.kt-about-page .kt-values-grid > .kt-about-value:hover {
    transform: translateY(-4px);
    border-top-color: var(--kt-about-accent) !important;
    box-shadow: 0 12px 28px rgba(23, 55, 111, 0.10);
}

/* Our Presence: premium closing panel */

.kt-about-page .kt-about-presence {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(28px, 4vw, 52px);
    margin-top: 24px;
    margin-bottom: 0 !important;
    padding: clamp(30px, 4.5vw, 52px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background:
        radial-gradient(ellipse at 100% 0%, rgba(255,255,255,0.11), transparent 45%),
        linear-gradient(125deg, #142f61, var(--kt-blue) 72%, #28539a);
    box-shadow: 0 14px 36px rgba(23, 55, 111, 0.16);
    box-sizing: border-box;
}

.kt-about-page .kt-about-presence .kt-about-label {
    color: #e8d19b;
}

.kt-about-page .kt-about-presence h2 {
    color: var(--kt-white);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.kt-about-page .kt-about-presence p:not(.kt-about-label) {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1rem;
    line-height: 1.85;
}

/* Tablet */

@media (max-width: 1000px) {
    .kt-about-page .kt-functions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kt-about-page .kt-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kt-about-page .kt-values-grid > .kt-about-value {
        min-height: 180px !important;
    }
}

/* Mobile */

@media (max-width: 700px) {
    .kt-about-page {
        width: calc(100% - 32px);
        padding-top: 36px;
        padding-bottom: 36px;
    }

    .kt-about-page .kt-about-intro {
        margin-bottom: 42px;
        padding-bottom: 24px;
        text-align: left;
    }

    .kt-about-page .kt-about-intro::after {
        margin: 22px 0 0;
    }

    .kt-about-page .kt-about-block {
        margin-bottom: 44px;
    }

    .kt-about-page .kt-about-strategy {
        padding: 24px 18px;
    }

    .kt-about-page .kt-about-strategy-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .kt-about-page .kt-about-strategy-grid > * {
        padding: 20px;
    }

    .kt-about-page .kt-functions-grid,
    .kt-about-page .kt-values-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    .kt-about-page .kt-functions-grid > .kt-function {
        padding: 22px;
    }

    .kt-about-page .kt-values-grid > .kt-about-value {
        min-height: 0 !important;
        padding: 22px !important;
    }

    .kt-about-page .kt-about-presence {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        margin-top: 12px;
        padding: 28px 22px;
        border-radius: 13px;
    }
}

/* Accessibility: honor reduced-motion preferences */

@media (prefers-reduced-motion: reduce) {
    .kt-about-page .kt-functions-grid > .kt-function,
    .kt-about-page .kt-values-grid > .kt-about-value {
        transition: none !important;
    }

    .kt-about-page .kt-functions-grid > .kt-function:hover,
    .kt-about-page .kt-values-grid > .kt-about-value:hover {
        transform: none;
    }
}

/* End of KenTrade About page premium refinement */

/* =========================================================
   KENTRADE ABOUT — EDITORIAL REDESIGN
   Scope: About KenTrade page only (page ID 77)
   Palette: institutional navy, restrained trade red, white
   ========================================================= */

.kt-about-page {
    --kt-editorial-navy: #102b4e;
    --kt-editorial-red: #c62836;
    --kt-editorial-red-soft: #f9eeee;
    --kt-editorial-ink: #243449;
    --kt-editorial-muted: #657386;
    --kt-editorial-line: #dce2e9;
    --kt-editorial-paper: var(--kt-white);
}

/* Clear, editorial section rhythm */
.kt-about-page .kt-about-block {
    position: relative;
    margin-top: clamp(3rem, 7vw, 6.5rem);
    margin-bottom: clamp(3rem, 7vw, 6.5rem);
}

.kt-about-page h2 {
    max-width: 780px;
    color: var(--kt-editorial-navy);
    font-size: clamp(2rem, 4.2vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.kt-about-page h2::after {
    content: "";
    display: block;
    width: 54px;
    height: 4px;
    margin-top: 1.15rem;
    background: var(--kt-editorial-red);
}

.kt-about-page p {
    color: var(--kt-editorial-ink);
    line-height: 1.8;
}

/* STRATEGY — remove the repeated-card look */
.kt-about-page .kt-about-strategy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(2rem, 5vw, 5rem);
    margin-top: 2.5rem;
    border-top: 1px solid var(--kt-editorial-line);
}

.kt-about-page .kt-about-strategy-grid > * {
    position: relative;
    padding: 2rem 0 2.25rem;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--kt-editorial-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.kt-about-page .kt-about-strategy-grid > *::before {
    content: "STRATEGIC PRIORITY";
    display: block;
    margin-bottom: 1rem;
    color: var(--kt-editorial-red);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .16em;
}

/* FUNCTIONS — clean directory with red index numbers */
.kt-about-page .kt-functions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(1.5rem, 4vw, 4rem);
    margin-top: 2.5rem;
    counter-reset: kt-function;
    border-top: 1px solid var(--kt-editorial-line);
}

.kt-about-page .kt-functions-grid > .kt-function {
    counter-increment: kt-function;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-content: start;
    column-gap: 1rem;
    padding: 1.7rem 0;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--kt-editorial-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none;
}

.kt-about-page .kt-functions-grid > .kt-function::before {
    content: counter(kt-function, decimal-leading-zero);
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: .15rem;
    color: var(--kt-editorial-red);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -.04em;
}

.kt-about-page .kt-functions-grid > .kt-function h3,
.kt-about-page .kt-functions-grid > .kt-function h4 {
    color: var(--kt-editorial-navy);
    font-size: 1.12rem;
    line-height: 1.35;
}

.kt-about-page .kt-functions-grid > .kt-function p {
    grid-column: 2;
    margin-top: .45rem;
    color: var(--kt-editorial-muted);
    font-size: .96rem;
}

.kt-about-page .kt-functions-grid > .kt-function:hover {
    transform: none;
    background: var(--kt-editorial-red-soft) !important;
}

/* VALUES — a numbered manifesto, not five more cards */
.kt-about-page .kt-values-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 2.5rem;
    border-top: 1px solid var(--kt-editorial-line);
    border-bottom: 1px solid var(--kt-editorial-line);
}

.kt-about-page .kt-values-grid > .kt-about-value {
    position: relative;
    min-width: 0;
    padding: 1.7rem 1.1rem 2rem;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none;
}

.kt-about-page .kt-values-grid > .kt-about-value + .kt-about-value {
    border-left: 1px solid var(--kt-editorial-line) !important;
}

.kt-about-page .kt-values-grid > .kt-about-value::before {
    content: "0" counter(kt-value);
    display: block;
    margin-bottom: 1.5rem;
    color: var(--kt-editorial-red);
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: -.05em;
}

.kt-about-page .kt-values-grid {
    counter-reset: kt-value;
}

.kt-about-page .kt-values-grid > .kt-about-value {
    counter-increment: kt-value;
}

.kt-about-page .kt-values-grid > .kt-about-value h3,
.kt-about-page .kt-values-grid > .kt-about-value h4 {
    color: var(--kt-editorial-navy);
    font-size: 1.02rem;
    line-height: 1.35;
}

.kt-about-page .kt-values-grid > .kt-about-value p {
    color: var(--kt-editorial-muted);
    font-size: .91rem;
    line-height: 1.7;
}

.kt-about-page .kt-values-grid > .kt-about-value:hover {
    background: var(--kt-editorial-red-soft) !important;
    transform: none;
}

/* PRESENCE — make this the signature navy feature section */
.kt-about-page .kt-about-presence {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(2rem, 6vw, 5rem);
    background: var(--kt-editorial-navy) !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    color: var(--kt-white);
}

.kt-about-page .kt-about-presence::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--kt-editorial-red);
}

.kt-about-page .kt-about-presence h2,
.kt-about-page .kt-about-presence h3,
.kt-about-page .kt-about-presence p {
    color: var(--kt-white);
}

.kt-about-page .kt-about-presence h2::after {
    background: var(--kt-editorial-red);
}

.kt-about-page .kt-about-presence > p {
    padding-left: clamp(0px, 2vw, 2rem);
    border-left: 1px solid rgba(255,255,255,.28);
    font-size: 1.05rem;
}

/* Responsive layout */
@media (max-width: 900px) {
    .kt-about-page .kt-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kt-about-page .kt-values-grid > .kt-about-value + .kt-about-value {
        border-left: 0 !important;
    }

    .kt-about-page .kt-values-grid > .kt-about-value:nth-child(even) {
        border-left: 1px solid var(--kt-editorial-line) !important;
    }

    .kt-about-page .kt-about-presence {
        grid-template-columns: 1fr;
    }

    .kt-about-page .kt-about-presence > p {
        padding-left: 1rem;
    }
}

@media (max-width: 600px) {
    .kt-about-page .kt-about-strategy-grid,
    .kt-about-page .kt-functions-grid {
        grid-template-columns: 1fr;
    }

    .kt-about-page .kt-values-grid {
        grid-template-columns: 1fr;
    }

    .kt-about-page .kt-values-grid > .kt-about-value:nth-child(even) {
        border-left: 0 !important;
    }

    .kt-about-page .kt-values-grid > .kt-about-value {
        padding-left: 0;
        padding-right: 0;
        border-bottom: 1px solid var(--kt-editorial-line) !important;
    }

    .kt-about-page .kt-about-presence {
        padding: 2rem 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kt-about-page .kt-functions-grid > .kt-function,
    .kt-about-page .kt-values-grid > .kt-about-value {
        transition: none !important;
    }
}

/* End of KenTrade editorial redesign */

/* Match the restored centered introduction and editorial page layout. */
.kt-about-page {
    width: min(1200px, calc(100% - 56px)) !important;
    margin: 0 auto !important;
    padding: 56px 0 !important;
}

.kt-about-page > .kt-about-intro {
    position: relative !important;
    left: auto !important;
    width: auto !important;
    max-width: 920px !important;
    margin: 0 auto 64px !important;
    padding: 0 0 32px !important;
    background: transparent !important;
    color: #243449 !important;
    text-align: center !important;
}

.kt-about-page > .kt-about-intro::before {
    content: none !important;
    display: none !important;
}

.kt-about-page > .kt-about-intro > p {
    width: auto !important;
    max-width: none !important;
    margin: 0 0 16px !important;
    color: #243449 !important;
    font-size: clamp(1.05rem, 1.4vw, 1.2rem) !important;
    line-height: 1.85 !important;
    text-align: center !important;
}

.kt-about-page > .kt-about-intro > p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 700px) {
    .kt-about-page {
        width: calc(100% - 32px) !important;
        padding: 36px 0 !important;
    }

    .kt-about-page > .kt-about-intro {
        margin-bottom: 42px !important;
        padding-bottom: 24px !important;
    }
}

/* =========================================================
   KenTrade Future V3 — Services card refinement
   Scoped to the Services page; preserves existing content.
   ========================================================= */

body:has(.kt-services-directory)
.kt-services-directory .kt-service-directory-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

body:has(.kt-services-directory)
.kt-services-directory .kt-service-directory-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    height: 100%;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e1e7ed !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 12px rgba(22, 47, 75, 0.055) !important;
    transition: box-shadow .2s ease, transform .2s ease,
                border-color .2s ease !important;
}

/* Keep the card image as a consistent visual strip at the bottom. */
body:has(.kt-services-directory)
.kt-service-directory-card > .kt-service-card-image {
    order: 5 !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 110px !important;
    max-width: 100% !important;
    object-fit: cover !important;
    object-position: center 45% !important;
    margin: 16px 0 0 !important;
    border-radius: 0 !important;
}

/* Retain the numbered service marker and existing icon treatment. */
body:has(.kt-services-directory)
.kt-service-directory-card > .kt-service-card-number {
    order: 0 !important;
    align-self: flex-start;
    margin: 22px 22px 12px !important;
}

body:has(.kt-services-directory)
.kt-service-directory-card > h3 {
    order: 1 !important;
    margin: 0 22px 10px !important;
    font-size: clamp(1.05rem, 1.3vw, 1.2rem) !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    color: #173b60 !important;
    text-align: left !important;
}

body:has(.kt-services-directory)
.kt-service-directory-card > p:not(:has(> a.card-link)):not(:empty) {
    order: 2 !important;
    margin: 0 22px 16px !important;
    color: #526273 !important;
    font-size: .95rem !important;
    line-height: 1.65 !important;
    text-align: left !important;
}

/* Align the action consistently at the bottom of the text area. */
body:has(.kt-services-directory)
.kt-service-directory-card > p:has(> a.card-link) {
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
    margin: 12px 22px 0 !important;
    padding: 8px 0 16px !important;
}

body:has(.kt-services-directory)
.kt-service-directory-card > p > a.card-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #1769aa !important;
    font-weight: 650 !important;
    font-size: .93rem !important;
    text-decoration: none !important;
}

body:has(.kt-services-directory)
.kt-service-directory-card > p > a.card-link:hover {
    color: #123b5d !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

body:has(.kt-services-directory)
.kt-services-directory .kt-service-directory-card:hover {
    transform: translateY(-3px);
    border-color: #c5d5e5 !important;
    box-shadow: 0 10px 24px rgba(22, 47, 75, 0.11) !important;
}

@media (max-width: 900px) {
    body:has(.kt-services-directory)
    .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }
}

@media (max-width: 600px) {
    body:has(.kt-services-directory)
    .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    body:has(.kt-services-directory)
    .kt-service-directory-card > .kt-service-card-image {
        height: 150px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-services-directory)
    .kt-services-directory .kt-service-directory-card {
        transition: none !important;
    }

    body:has(.kt-services-directory)
    .kt-services-directory .kt-service-directory-card:hover {
        transform: none;
    }
}


/* Services directory: align card actions and image strips */
body:has(.kt-services-directory)
.kt-services-directory .kt-service-directory-grid {
    align-items: stretch !important;
}

body:has(.kt-services-directory)
.kt-services-directory .kt-service-directory-card {
    height: 100% !important;
    min-height: 0;
}

body:has(.kt-services-directory)
.kt-services-directory .kt-service-directory-card > p:has(> a.card-link) {
    margin-top: auto !important;
    padding-top: 12px !important;
    padding-bottom: 16px !important;
}

body:has(.kt-services-directory)
.kt-services-directory .kt-service-directory-card > .kt-service-card-image {
    margin-top: 0 !important;
}


/* =========================================================
   KenTrade Services Visual Upgrade — 30 October 2026
   Scoped to the Services page; preserves existing content.
   ========================================================= */

/* Full-width photographic hero */
body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw) !important;
    padding: clamp(64px, 8vw, 112px) max(24px, calc((100vw - 1200px) / 2)) !important;
    background-color: #123b5d !important;
    background-image:
        linear-gradient(90deg, rgba(8, 31, 56, .88), rgba(8, 31, 56, .50)),
        url('/wp-content/uploads/2026/10/01-hero-port-container-ship.jpg') !important;
    background-position: center, center 48% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    color: #fff !important;
}

body:has(.kt-services-directory) .kt-page-hero .eyebrow {
    color: #d7e8f8 !important;
    letter-spacing: .14em;
    font-weight: 700;
}

body:has(.kt-services-directory) .kt-page-hero h1 {
    max-width: 850px;
    margin: 12px 0 18px !important;
    color: #fff !important;
    font-size: clamp(2.4rem, 5vw, 4.3rem) !important;
    line-height: 1.08 !important;
    font-weight: 750;
}

body:has(.kt-services-directory) .kt-page-hero > p:not(.kt-services-hero-cta) {
    max-width: 760px;
    color: rgba(255, 255, 255, .94) !important;
    font-size: clamp(1rem, 1.5vw, 1.15rem);
    line-height: 1.75;
}

body:has(.kt-services-directory) .kt-page-hero .kt-services-hero-button {
    border-radius: 4px !important;
    padding: 14px 22px !important;
    background: #fff !important;
    border-color: #fff !important;
    color: #123b5d !important;
}

body:has(.kt-services-directory) .kt-page-hero .kt-services-hero-button:hover {
    background: #e8f2fb !important;
}

/* Services directory spacing and heading */
body:has(.kt-services-directory) .kt-services-directory {
    padding-top: clamp(44px, 6vw, 76px);
    padding-bottom: clamp(48px, 6vw, 80px);
}

body:has(.kt-services-directory) .kt-services-directory > .section-heading {
    max-width: 850px;
    margin: 0 auto 34px;
    text-align: center;
}

body:has(.kt-services-directory) .kt-services-directory > .section-heading h2 {
    color: #123b5d !important;
    font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
    line-height: 1.2;
}

body:has(.kt-services-directory) .kt-services-directory > .section-heading > p {
    color: #526273;
    line-height: 1.75;
}

/* Circular service symbols using the existing number elements */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 48px;
    height: 48px;
    min-width: 48px;
    margin: 22px 22px 14px !important;
    border-radius: 50%;
    background: #e8f2fb;
    color: #1769aa;
    font-size: 0 !important;
    line-height: 1;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number::before {
    font-size: 23px;
    font-weight: 600;
    line-height: 1;
}

body:has(.kt-services-directory) .kt-service-directory-card:nth-child(1) > .kt-service-card-number::before { content: "\1F310"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(2) > .kt-service-card-number::before { content: "\1F4C4"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(3) > .kt-service-card-number::before { content: "\2713"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(4) > .kt-service-card-number::before { content: "\2693"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(5) > .kt-service-card-number::before { content: "\1F6E1"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(6) > .kt-service-card-number::before { content: "\1F4D6"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(7) > .kt-service-card-number::before { content: "\1F393"; }
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(8) > .kt-service-card-number::before { content: "\1F4AC"; }

/* More polished card headings and service links */
body:has(.kt-services-directory) .kt-service-directory-card > h3 {
    color: #123b5d !important;
    letter-spacing: -.01em;
}

body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link {
    color: #1769aa !important;
    font-weight: 700 !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link:focus-visible,
body:has(.kt-services-directory) .kt-page-hero .kt-services-hero-button:focus-visible {
    outline: 3px solid #f2b544;
    outline-offset: 3px;
}

/* Digital Trade CTA — retain its existing content and destination */
body:has(.kt-services-directory) .kt-blue-cta {
    position: relative;
    box-sizing: border-box;
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto clamp(48px, 7vw, 88px) !important;
    padding: clamp(28px, 4vw, 48px) !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    overflow: hidden;
    border: 1px solid #d7e6f4;
    border-radius: 12px;
    background-color: #edf5fc !important;
    background-image: linear-gradient(110deg, rgba(237,245,252,.97), rgba(237,245,252,.84)),
        url('/wp-content/uploads/2026/10/06_global_trade_routes.jpg') !important;
    background-position: center;
    background-size: cover;
}

body:has(.kt-services-directory) .kt-blue-cta > div {
    max-width: 720px;
}

body:has(.kt-services-directory) .kt-blue-cta .eyebrow {
    color: #1769aa !important;
    letter-spacing: .12em;
    font-weight: 700;
}

body:has(.kt-services-directory) .kt-blue-cta h2 {
    margin-top: 8px;
    color: #123b5d !important;
    font-size: clamp(1.5rem, 2.7vw, 2.2rem) !important;
    line-height: 1.2;
}

body:has(.kt-services-directory) .kt-blue-cta p {
    color: #40566b;
    line-height: 1.7;
}

body:has(.kt-services-directory) .kt-blue-cta > p {
    flex: 0 0 auto;
}

body:has(.kt-services-directory) .kt-blue-cta .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 700;
}

@media (max-width: 700px) {
    body:has(.kt-services-directory) .kt-page-hero {
        padding-left: 22px !important;
        padding-right: 22px !important;
        background-position: center, 58% center !important;
    }

    body:has(.kt-services-directory) .kt-blue-cta {
        width: calc(100% - 36px);
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding: 26px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-services-directory) .kt-service-directory-card {
        transition: none !important;
    }
}


/* KenTrade Services — Compact Professional Hero
   Scoped to the Services page; preserves existing content and links. */

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
    box-sizing: border-box !important;
    min-height: 400px !important;
    padding: 42px clamp(28px, 7.8vw, 120px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0 !important;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero .eyebrow {
    margin: 0 0 16px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.16em !important;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero h1 {
    max-width: 760px !important;
    margin: 0 0 18px !important;
    font-size: clamp(42px, 4.2vw, 60px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    font-weight: 700 !important;
    text-wrap: balance;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero > p:not(.kt-services-hero-cta) {
    max-width: 760px !important;
    margin: 0 0 24px !important;
    font-size: clamp(16px, 1.35vw, 19px) !important;
    line-height: 1.6 !important;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero .kt-services-hero-cta {
    margin: 0 !important;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero .kt-services-hero-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    border-radius: 5px !important;
}

/* Tablet and mobile: retain comfortable spacing without overflow. */
@media (max-width: 768px) {
    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
        min-height: 360px !important;
        padding: 38px 28px !important;
    }

    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero h1 {
        font-size: clamp(36px, 7vw, 48px) !important;
        line-height: 1.12 !important;
    }

    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero > p:not(.kt-services-hero-cta) {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }
}

@media (max-width: 480px) {
    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
        min-height: 340px !important;
        padding: 32px 22px !important;
    }

    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero h1 {
        font-size: clamp(32px, 9vw, 40px) !important;
    }

    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero .kt-services-hero-button {
        padding: 11px 18px !important;
        font-size: 15px !important;
    }
}


/* KenTrade Services — High-resolution reference hero */
body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
    min-height: 280px !important;
    padding: 34px clamp(24px, 9vw, 140px) !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(12, 48, 77, 0.97) 0%,
            rgba(12, 48, 77, 0.88) 32%,
            rgba(12, 48, 77, 0.38) 58%,
            rgba(12, 48, 77, 0.08) 100%
        ),
        url('/wp-content/uploads/2026/10/Golden-Hour-Global-Logistics-Port-2048x700.png') !important;
    background-size: cover !important;
    background-position: center 55% !important;
    background-repeat: no-repeat !important;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero h1 {
    max-width: 680px !important;
    font-size: clamp(38px, 4vw, 52px) !important;
    line-height: 1.1 !important;
    margin-bottom: 12px !important;
}

body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero > p:not(.kt-services-hero-cta) {
    max-width: 560px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
}

@media (max-width: 768px) {
    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
        min-height: 320px !important;
        padding: 32px 24px !important;
        background-position: center center !important;
    }
}

@media (max-width: 480px) {
    body:has(.kt-services-directory) .wp-block-post-content > .kt-page-hero {
        min-height: 340px !important;
        padding: 28px 20px !important;
    }
}


/* KenTrade Services — consistent blue line icons */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background-color: #e5f1ff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

/* Override emoji glyphs with consistent SVG line illustrations. */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number::before {
    display: block !important;
    content: "" !important;
    width: 25px !important;
    height: 25px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background-color: #075fe8 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

body:has(.kt-services-directory) .kt-service-directory-card:nth-child(1) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='1.5'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E") !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(2) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='1.5'/%3E%3Cpath d='M9 4V2h6v2M8 10l2 2 4-4M8 16h8'/%3E%3C/svg%3E") !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(3) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E") !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(4) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v11M7 8l5-5 5 5M5 14l7 7 7-7M7 14h10'/%3E%3C/svg%3E") !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(5) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 6v5c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(6) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A3.5 3.5 0 0 1 7.5 2H20v18H7.5A3.5 3.5 0 0 0 4 23z'/%3E%3Cpath d='M4 5.5V23M8 7h8M8 11h8'/%3E%3C/svg%3E") !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(7) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 5l9 5-9 5zM7 13v5c3 2 7 2 10 0v-5M21 10v6'/%3E%3C/svg%3E") !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(8) > .kt-service-card-number::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075fe8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v12H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/svg%3E") !important;
}


/* KenTrade Services — repair icon circles after SVG rendering issue */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    flex: 0 0 56px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #e5f1ff !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 2px solid #075fe8 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Distinct, simple CSS symbols for each service */
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(1) > .kt-service-card-number::before {
    border-radius: 3px !important;
    background:
        linear-gradient(#075fe8,#075fe8) 5px 6px/10px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 5px 11px/14px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 5px 16px/10px 2px no-repeat !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(2) > .kt-service-card-number::before {
    background:
        linear-gradient(#075fe8,#075fe8) 5px 6px/10px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 5px 11px/14px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 5px 16px/8px 2px no-repeat !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(3) > .kt-service-card-number::before {
    border-radius: 50% !important;
    border-width: 2px !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(4) > .kt-service-card-number::before {
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    border-left: 12px solid transparent !important;
    border-right: 12px solid transparent !important;
    border-bottom: 22px solid #075fe8 !important;
    border-radius: 0 !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(5) > .kt-service-card-number::before {
    border-radius: 12px 12px 5px 5px !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(6) > .kt-service-card-number::before {
    border-radius: 2px !important;
    background:
        linear-gradient(#075fe8,#075fe8) 4px 6px/12px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 4px 11px/12px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 4px 16px/8px 2px no-repeat !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(7) > .kt-service-card-number::before {
    border-radius: 50% 50% 3px 3px !important;
}
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(8) > .kt-service-card-number::before {
    border-radius: 6px !important;
}


/* KenTrade Services — service-specific icon refinements */

/* Permits: clipboard with a check */
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(2) > .kt-service-card-number::before {
    width: 20px !important;
    height: 23px !important;
    border: 2px solid #075fe8 !important;
    border-radius: 3px !important;
    background:
        linear-gradient(#075fe8,#075fe8) 4px 7px/8px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 4px 12px/10px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 4px 17px/6px 2px no-repeat !important;
}

/* Impending Arrival Report: ship-inspired symbol */
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(4) > .kt-service-card-number::before {
    width: 26px !important;
    height: 22px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(135deg, transparent 48%, #075fe8 49% 57%, transparent 58%) left bottom/10px 9px no-repeat,
        linear-gradient(45deg, transparent 48%, #075fe8 49% 57%, transparent 58%) right bottom/10px 9px no-repeat,
        linear-gradient(#075fe8,#075fe8) center 5px/2px 12px no-repeat,
        linear-gradient(#075fe8,#075fe8) center 5px/13px 2px no-repeat !important;
}

/* Marine Cargo Insurance: shield */
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(5) > .kt-service-card-number::before {
    width: 22px !important;
    height: 25px !important;
    border: 2px solid #075fe8 !important;
    border-radius: 5px 5px 12px 12px !important;
    background:
        linear-gradient(45deg, transparent 43%, #075fe8 44% 53%, transparent 54%) 4px 8px/7px 8px no-repeat,
        linear-gradient(-45deg, transparent 43%, #075fe8 44% 53%, transparent 54%) 9px 8px/7px 8px no-repeat !important;
}

/* Trade Information: open-book style */
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(6) > .kt-service-card-number::before {
    width: 25px !important;
    height: 20px !important;
    border: 2px solid #075fe8 !important;
    border-radius: 3px !important;
    background:
        linear-gradient(#075fe8,#075fe8) center/2px 100% no-repeat,
        linear-gradient(#075fe8,#075fe8) 3px 5px/6px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 15px 5px/5px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 3px 10px/6px 2px no-repeat,
        linear-gradient(#075fe8,#075fe8) 15px 10px/5px 2px no-repeat !important;
}

/* E-Learning: graduation cap */
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(7) > .kt-service-card-number::before {
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    border-left: 13px solid transparent !important;
    border-right: 13px solid transparent !important;
    border-bottom: 9px solid #075fe8 !important;
    border-radius: 0 !important;
    background: none !important;
    position: relative;
}

/* Optional Premium Services: headset-inspired symbol */
body:has(.kt-services-directory) .kt-service-directory-card:nth-child(8) > .kt-service-card-number::before {
    width: 23px !important;
    height: 21px !important;
    border: 3px solid #075fe8 !important;
    border-bottom: 0 !important;
    border-radius: 14px 14px 0 0 !important;
    background:
        linear-gradient(#075fe8,#075fe8) left 12px/4px 8px no-repeat,
        linear-gradient(#075fe8,#075fe8) right 12px/4px 8px no-repeat !important;
}


/* KenTrade Services — final card spacing refinement */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-card {
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
    margin: 20px 22px 12px !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > h3 {
    margin: 0 22px 10px !important;
    line-height: 1.35 !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > p:not(:has(> a.card-link)):not(:empty) {
    margin: 0 22px 12px !important;
    line-height: 1.65 !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > p:has(> a.card-link) {
    margin: auto 22px 0 !important;
    padding: 12px 0 16px !important;
    line-height: 1.4 !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
    margin-top: 0 !important;
    flex-shrink: 0;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-number {
        margin: 18px 18px 10px !important;
    }

    body:has(.kt-services-directory) .kt-service-directory-card > h3 {
        margin-right: 18px !important;
        margin-left: 18px !important;
    }

    body:has(.kt-services-directory) .kt-service-directory-card > p:not(:has(> a.card-link)):not(:empty) {
        margin-right: 18px !important;
        margin-left: 18px !important;
    }

    body:has(.kt-services-directory) .kt-service-directory-card > p:has(> a.card-link) {
        margin-right: 18px !important;
        margin-left: 18px !important;
    }
}


/* KenTrade Services — final card and CTA polish */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-card {
    border: 1px solid #dce5ef !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(18, 59, 93, 0.06) !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
}

body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-card:hover {
    transform: translateY(-3px);
    border-color: #b8cfe8 !important;
    box-shadow: 0 10px 26px rgba(18, 59, 93, 0.12) !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > p:has(> a.card-link) {
    margin-top: auto !important;
    padding-top: 12px !important;
    padding-bottom: 16px !important;
}

body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    color: #1769aa !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, gap 0.2s ease;
}

body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link::after {
    content: "→";
}

body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link:hover {
    color: #123b5d !important;
    gap: 12px;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link:focus-visible,
body:has(.kt-services-directory) .kt-blue-cta a:focus-visible {
    outline: 3px solid #f2b544 !important;
    outline-offset: 4px;
}

/* Make the existing TradeNet action read as a button */
body:has(.kt-services-directory) .kt-blue-cta a.btn.btn-red {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 24px !important;
    border: 1px solid #123b5d !important;
    border-radius: 7px !important;
    background: #123b5d !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    white-space: nowrap;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

body:has(.kt-services-directory) .kt-blue-cta a.btn.btn-red:hover {
    background: #0b2d49 !important;
    color: #fff !important;
    transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
    body:has(.kt-services-directory) .kt-service-directory-card,
    body:has(.kt-services-directory) .kt-service-directory-card > p > a.card-link,
    body:has(.kt-services-directory) .kt-blue-cta a.btn.btn-red {
        transition: none !important;
    }

    body:has(.kt-services-directory) .kt-service-directory-card:hover,
    body:has(.kt-services-directory) .kt-blue-cta a.btn.btn-red:hover {
        transform: none !important;
    }
}


/* KenTrade Services — responsive four-column layout */
body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

body:has(.kt-services-directory) .kt-service-directory-card {
    min-width: 0;
}

/* Show the complete image instead of cropping its subject */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
    width: 100% !important;
    height: 125px !important;
    object-fit: contain !important;
    object-position: center center !important;
    background-color: #f4f7fa;
}

/* Tablet: two cards per row */
@media (max-width: 1100px) {
    body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }
}

/* Mobile: one card per row */
@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-services-directory .kt-service-directory-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
        height: 170px !important;
    }
}


/* Services cards: fill the available image row */
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
    display: block;
    width: 100% !important;
    height: 125px !important;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}

body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
        height: 170px !important;
    }
}

/* Fix Services card images: fill the complete image row */
body:has(.kt-services-directory) .kt-service-directory-card > a.kt-service-card-image {
    display: block !important;
    width: 100% !important;
    height: 125px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #f4f7fa;
}

body:has(.kt-services-directory) .kt-service-directory-card > a.kt-service-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-service-directory-card > a.kt-service-card-image {
        height: 170px !important;
    }
}

/* KenTrade Services: stretch the image element across the entire row */
body:has(.kt-services-directory) .kt-service-directory-card > img.kt-service-card-image,
body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 125px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 600px) {
    body:has(.kt-services-directory) .kt-service-directory-card > img.kt-service-card-image,
    body:has(.kt-services-directory) .kt-service-directory-card > .kt-service-card-image {
        height: 170px !important;
    }
}

/* KenTrade: centre and responsively fit the three page heroes */
body:has(.wp-block-post-title) .kt-page-hero,
body.page .kt-page-hero {
    text-align: center;
}

/* Centre hero headings and supporting text */
body.page .kt-page-hero h1,
body.page .kt-page-hero h2,
body.page .kt-page-hero p {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* Keep hero copy readable and balanced across screen sizes */
body.page .kt-page-hero p {
    max-width: 850px;
    width: 100%;
    box-sizing: border-box;
}

/* Prevent oversized headings from overflowing */
body.page .kt-page-hero h1 {
    max-width: 1100px;
    font-size: clamp(2rem, 4.2vw, 3.5rem);
    line-height: 1.15;
    overflow-wrap: break-word;
}

@media (max-width: 600px) {
    body.page .kt-page-hero {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.page .kt-page-hero h1 {
        font-size: clamp(1.8rem, 7vw, 2.5rem);
    }

    body.page .kt-page-hero p {
        font-size: 1rem;
    }
}
