.mct-directory{
    --mct-green:#09b94d;
    --mct-green-soft:#eefbf3;
    --mct-green-line:#bfe8cd;
    --mct-text:#071426;
    --mct-heading:#061223;
    --mct-muted:#687b93;
    --mct-muted-2:#8a98aa;
    --mct-line:#dfe6ed;
    --mct-line-soft:#edf1f4;
    --mct-panel:#ffffff;
    --mct-soft:#f7f9fb;

    background:#fff;
    color:var(--mct-text);
}

.mct-directory *,
.mct-directory *::before,
.mct-directory *::after{
    box-sizing:border-box;
}

.mct-directory-shell{
    width:min(1380px,calc(100% - 48px));
    margin:0 auto;
}

/* Breadcrumb */

.mct-breadcrumb{
    height:52px;
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--mct-muted);
    font-size:12px;
}

.mct-breadcrumb a{
    color:#496581;
    text-decoration:none;
}

.mct-breadcrumb svg{
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

/* Hero */

.mct-directory-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(400px,.72fr);
    gap:72px;
    align-items:center;
    padding:28px 0 31px;
}

.mct-eyebrow,
.mct-data-eyebrow,
.mct-search-kicker{
    color:var(--mct-green);
    font-size:10px;
    line-height:1.2;
    letter-spacing:.09em;
    font-weight:850;
}

.mct-directory-intro h1{
    margin:7px 0 0;
    color:var(--mct-heading);
    font-size:38px;
    line-height:1.02;
    letter-spacing:-.035em;
    font-weight:850;
}

.mct-directory-intro > p{
    max-width:650px;
    margin:9px 0 18px;
    color:#58708d;
    font-size:15px;
    line-height:1.55;
}

.mct-directory-stats{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:11px;
}

.mct-directory-stats > span{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0 11px;
    border:1px solid var(--mct-line-soft);
    border-radius:7px;
    background:#fafbfc;
    color:#708196;
    font-size:11px;
}

.mct-directory-stats svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:#527194;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.mct-directory-stats strong{
    color:#10243d;
    font-size:12px;
}

/* Search */

.mct-search-wrap{
    position:relative;
}

.mct-search-kicker{
    margin:0 0 7px 2px;
}

.mct-search-box{
    height:52px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 13px 0 16px;
    border:1px solid #cbd7e3;
    border-radius:9px;
    background:#fff;
    transition:border-color .15s ease,box-shadow .15s ease;
}

.mct-search-box:focus-within{
    border-color:#8bcda5;
    box-shadow:0 0 0 3px rgba(9,185,77,.07);
}

.mct-search-box > svg{
    width:20px;
    height:20px;
    flex:0 0 auto;
    fill:none;
    stroke:#395d83;
    stroke-width:1.8;
}

.mct-search-box input{
    min-width:0;
    width:100%;
    height:100%;
    padding:0!important;
    margin:0!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#12243a;
    font-size:14px;
}

.mct-search-box kbd{
    min-width:25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e0e5ea;
    border-radius:5px;
    background:#f8fafb;
    color:#8996a5;
    font:11px/1 monospace;
}

.mct-search-wrap > small{
    display:block;
    margin:7px 0 0 2px;
    color:#8996a8;
    font-size:10px;
}

.mct-search-results{
    position:absolute;
    z-index:100;
    top:79px;
    left:0;
    right:0;
    overflow:hidden;
    border:1px solid var(--mct-line);
    border-radius:9px;
    background:#fff;
    box-shadow:0 18px 45px rgba(20,40,65,.15);
}

.mct-search-result{
    min-height:62px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:8px 13px;
    border-bottom:1px solid var(--mct-line-soft);
    color:var(--mct-text);
    text-decoration:none;
}

.mct-search-result:last-child{
    border-bottom:0;
}

.mct-search-result:hover{
    background:#f8fcf9;
}

.mct-search-result img{
    width:38px;
    height:38px;
    object-fit:contain;
}

.mct-search-result-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.mct-search-result-copy strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}

.mct-search-result-copy small{
    margin:2px 0 0;
    color:var(--mct-muted);
    font-size:10px;
}

/* Tabs */

.mct-region-tabs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:13px 0;
    border-top:1px solid var(--mct-line-soft);
    border-bottom:1px solid var(--mct-line-soft);
    scrollbar-width:none;
}

.mct-region-tabs::-webkit-scrollbar{
    display:none;
}

.mct-region-tabs button{
    flex:0 0 auto;
    height:34px;
    padding:0 17px;
    border:1px solid var(--mct-line);
    border-radius:7px;
    background:#fff;
    color:#47607e;
    font:inherit;
    font-size:10px;
    font-weight:750;
}

.mct-region-tabs button.is-active{
    border-color:var(--mct-green);
    background:var(--mct-green);
    color:#fff;
}

/* Sections */

.mct-data-section{
    padding:30px 0 31px;
    border-bottom:1px solid var(--mct-line-soft);
}

.mct-data-head{
    min-height:58px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
}

.mct-data-head h2{
    margin:4px 0 0;
    color:var(--mct-heading);
    font-size:23px;
    line-height:1.1;
    letter-spacing:-.02em;
    font-weight:850;
}

.mct-data-head p{
    margin:5px 0 0;
    color:#73839a;
    font-size:11px;
}

.mct-data-badge{
    min-width:67px;
    height:44px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
}

.mct-data-badge strong{
    color:#10243c;
    font-size:20px;
    line-height:1;
}

.mct-data-badge span{
    margin-top:2px;
    color:#8995a5;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.07em;
}

/* 50-team database */

.mct-team-database{
    overflow:hidden;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    border:1px solid var(--mct-line);
    border-radius:10px;
    background:var(--mct-panel);
}

.mct-team-row{
    min-width:0;
    min-height:84px;
    display:grid;
    grid-template-columns:27px 47px minmax(0,1fr) 16px;
    gap:9px;
    align-items:center;
    padding:10px 11px;
    border-right:1px solid var(--mct-line-soft);
    border-bottom:1px solid var(--mct-line-soft);
    color:var(--mct-text);
    text-decoration:none;
    transition:background .12s ease;
}

.mct-team-row:nth-child(5n){
    border-right:0;
}

.mct-team-row:nth-last-child(-n+5){
    border-bottom:0;
}

.mct-team-row:hover{
    background:#f9fcfa;
}

.mct-team-index{
    align-self:start;
    width:24px;
    height:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:5px;
    background:#f1f4f7;
    color:#55708d;
    font-size:9px;
    font-weight:600;
}

.mct-team-logo{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.mct-team-logo img{
    display:block;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

.mct-team-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.mct-team-copy strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#102137;
    font-size:13px;
    font-weight:600;
}

.mct-team-copy small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#8492a3;
    font-size:11px;
}

.mct-team-arrow{
    width:13px;
    height:13px;
    fill:none;
    stroke:#91a0af;
    stroke-width:1.9;
}

/* Competition cards */

.mct-competition-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.mct-competition-card{
    min-width:0;
    min-height:78px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr) 16px;
    gap:12px;
    align-items:center;
    padding:10px 13px;
    border:1px solid var(--mct-line);
    border-radius:9px;
    color:var(--mct-text);
    text-decoration:none;
    transition:background .12s ease,border-color .12s ease;
}

.mct-competition-card:hover{
    border-color:#b9ddc5;
    background:#fbfefc;
}

.mct-competition-logo{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.mct-competition-logo img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

.mct-competition-copy{
    min-width:0;
}

.mct-competition-copy strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}

.mct-competition-copy small{
    display:block;
    margin-top:4px;
    color:#8190a3;
    font-size:11px;
}

.mct-competition-card > svg{
    width:14px;
    height:14px;
    fill:none;
    stroke:#607d9e;
    stroke-width:1.8;
}

/* Countries */

.mct-country-panel{
    display:grid;
    grid-template-columns:290px minmax(0,1fr);
    overflow:hidden;
    border:1px solid var(--mct-line);
    border-radius:10px;
}

.mct-country-feature{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:20px;
    border-right:1px solid var(--mct-line-soft);
    background:
        linear-gradient(
            145deg,
            #f7fff9 0%,
            #fff 72%
        );
}

.mct-country-feature-top{
    display:flex;
    align-items:center;
    gap:12px;
}

.mct-country-feature-top img{
    width:42px;
    height:31px;
    object-fit:contain;
}

.mct-country-feature-top div{
    display:flex;
    flex-direction:column;
}

.mct-country-feature-top span{
    color:var(--mct-green);
    font-size:9px;
    font-weight:850;
    letter-spacing:.07em;
}

.mct-country-feature-top strong{
    margin-top:3px;
    font-size:15px;
}

.mct-country-feature > a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:25px;
    color:#079943;
    text-decoration:none;
    font-size:10px;
    font-weight:750;
}

.mct-country-feature > a svg{
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.mct-country-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.mct-country-list > a{
    min-width:0;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:8px 14px;
    border-right:1px solid var(--mct-line-soft);
    border-bottom:1px solid var(--mct-line-soft);
    color:var(--mct-text);
    text-decoration:none;
}

.mct-country-list > a:nth-child(3n){
    border-right:0;
}

.mct-country-list > a:nth-last-child(-n+3){
    border-bottom:0;
}

.mct-country-list > a:hover{
    background:#fbfdfc;
}

.mct-country-name{
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
}

.mct-country-name img{
    width:26px;
    height:18px;
    object-fit:contain;
}

.mct-country-name strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
}

.mct-country-list > a > svg{
    width:12px;
    height:12px;
    flex:0 0 auto;
    fill:none;
    stroke:#7187a0;
    stroke-width:1.8;
}

/* Footer stats */

.mct-directory-footer{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding:22px 0 8px;
}

.mct-directory-footer > div{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    border-right:1px solid var(--mct-line-soft);
}

.mct-directory-footer > div:last-child{
    border-right:0;
}

.mct-directory-footer svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:#6281a5;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.mct-directory-footer span{
    display:flex;
    flex-direction:column;
    color:#7f8da0;
    font-size:9px;
}

.mct-directory-footer strong{
    color:#152a43;
    font-size:16px;
}

/* Tablet */

@media(max-width:1100px){

    .mct-directory-head{
        grid-template-columns:1fr;
        gap:20px;
    }

    .mct-team-database{
        grid-template-columns:repeat(3,1fr);
    }

    .mct-team-row:nth-child(5n){
        border-right:1px solid var(--mct-line-soft);
    }

    .mct-team-row:nth-child(3n){
        border-right:0;
    }

    .mct-team-row:nth-last-child(-n+5){
        border-bottom:1px solid var(--mct-line-soft);
    }

    .mct-competition-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mct-country-panel{
        grid-template-columns:230px 1fr;
    }

    .mct-country-list{
        grid-template-columns:repeat(2,1fr);
    }

    .mct-country-list > a:nth-child(3n){
        border-right:1px solid var(--mct-line-soft);
    }

    .mct-country-list > a:nth-child(2n){
        border-right:0;
    }
}

/* Mobile */

@media(max-width:767px){

    .mct-directory-shell{
        width:calc(100% - 32px);
    }

    .mct-breadcrumb{
        height:44px;
    }

    .mct-directory-head{
        padding:20px 0 22px;
    }

    .mct-directory-intro h1{
        font-size:30px;
    }

    .mct-directory-intro > p{
        margin-bottom:14px;
        font-size:13px;
    }

    .mct-directory-stats{
        gap:6px;
    }

    .mct-directory-stats > span{
        min-height:30px;
        padding:0 8px;
        font-size:9px;
    }

    .mct-search-kicker{
        display:none;
    }

    .mct-search-box{
        height:46px;
    }

    .mct-search-box input{
        font-size:16px;
    }

    .mct-search-box kbd{
        display:none;
    }

    .mct-region-tabs{
        margin-left:-16px;
        margin-right:-16px;
        padding-left:16px;
        padding-right:16px;
    }

    .mct-data-section{
        padding:24px 0;
    }

    .mct-data-head{
        min-height:0;
        align-items:flex-start;
        margin-bottom:12px;
    }

    .mct-data-head h2{
        font-size:20px;
    }

    .mct-data-head p{
        font-size:10px;
    }

    .mct-data-badge{
        height:36px;
    }

    .mct-data-badge strong{
        font-size:16px;
    }

    /*
     * Mobile = data list.
     * Not a squeezed card grid.
     */
    .mct-team-database{
        display:block;
        border-radius:9px;
    }

    .mct-team-row{
        min-height:66px;
        grid-template-columns:29px 42px minmax(0,1fr) 16px;
        border-right:0!important;
        border-bottom:1px solid var(--mct-line-soft)!important;
        padding:8px 11px;
    }

    .mct-team-row:last-child{
        border-bottom:0!important;
    }

    .mct-team-index{
        align-self:center;
    }

    .mct-team-logo{
        width:39px;
        height:39px;
    }

    .mct-team-copy strong{
        font-size:13px;
    }

    .mct-team-copy small{
        font-size:11px;
    }

    .mct-competition-grid{
        grid-template-columns:1fr;
    }

    .mct-competition-card{
        min-height:68px;
        grid-template-columns:46px 1fr 14px;
    }

    .mct-competition-logo{
        width:44px;
        height:44px;
    }

    .mct-country-panel{
        display:block;
    }

    .mct-country-feature{
        min-height:120px;
        border-right:0;
        border-bottom:1px solid var(--mct-line-soft);
    }

    .mct-country-list{
        grid-template-columns:1fr;
    }

    .mct-country-list > a{
        border-right:0!important;
        border-bottom:1px solid var(--mct-line-soft)!important;
    }

    .mct-country-list > a:last-child{
        border-bottom:0!important;
    }

    .mct-directory-footer{
        grid-template-columns:1fr;
        padding-top:16px;
    }

    .mct-directory-footer > div{
        justify-content:flex-start;
        padding:8px 3px;
        border-right:0;
        border-bottom:1px solid var(--mct-line-soft);
    }

    .mct-directory-footer > div:last-child{
        border-bottom:0;
    }
}

/* =========================================================
   MC TIMES — typography alignment with site
   ========================================================= */

.mct-directory,
.mct-directory button,
.mct-directory input,
.mct-directory select,
.mct-directory textarea,
.mct-directory a,
.mct-directory span,
.mct-directory strong,
.mct-directory small,
.mct-directory p,
.mct-directory h1,
.mct-directory h2,
.mct-directory h3,
.mct-directory h4{
    font-family:
        "Barlow Condensed",
        "Arial Narrow",
        Arial,
        sans-serif !important;
}

.mct-directory h1,
.mct-directory h2,
.mct-directory h3,
.mct-directory .mct-team-copy strong,
.mct-directory .mct-competition-copy strong,
.mct-directory .mct-data-badge strong,
.mct-directory .mct-directory-stats strong{
    font-weight:700 !important;
}

.mct-directory input{
    font-weight:400 !important;
}

/* =========================================================
   MC TIMES — typography system
   Headings: Barlow Condensed
   Data / UI: Rajdhani
   ========================================================= */

/* Base / data UI */
.mct-directory,
.mct-directory button,
.mct-directory input,
.mct-directory select,
.mct-directory textarea,
.mct-directory a,
.mct-directory span,
.mct-directory small,
.mct-directory p{
    font-family:
        Rajdhani,
        "Arial Narrow",
        Arial,
        sans-serif !important;
}

/* Product headings */
.mct-directory h1,
.mct-directory h2,
.mct-directory h3,
.mct-directory h4,
.mct-directory .mct-team-copy strong,
.mct-directory .mct-competition-copy strong,
.mct-directory .mct-country-name strong,
.mct-directory .mct-country-feature-top strong{
    font-family:
        "Barlow Condensed",
        "Arial Narrow",
        Arial,
        sans-serif !important;
    font-weight:700 !important;
}

/* Numeric/data emphasis */
.mct-directory .mct-team-index,
.mct-directory .mct-data-badge,
.mct-directory .mct-directory-stats,
.mct-directory .mct-directory-footer,
.mct-directory .mct-eyebrow,
.mct-directory .mct-data-eyebrow,
.mct-directory .mct-search-kicker{
    font-family:
        Rajdhani,
        "Arial Narrow",
        Arial,
        sans-serif !important;
    font-weight:600 !important;
}
