/* ==========================================================================
   Page Designs — Careers / Markets / Regular Main
   Dedicated template styling. No global component overrides.
   ========================================================================== */

/* Shared built-in fallback icons. */
.default-site-icon{
    display:block;
    width:48px;
    height:48px;
    object-fit:contain;
}

/* --------------------------------------------------------------------------
   CAREERS
   -------------------------------------------------------------------------- */
.careers-library{
    background:#fff;
}

.careers-library>.container{
    padding-top:56px;
    padding-bottom:76px;
}

.careers-layout{
    display:grid;
    grid-template-columns:minmax(0,1.75fr) minmax(310px,.72fr);
    gap:76px;
    align-items:start;
    margin:0;
}

.careers-layout.is-single{
    grid-template-columns:1fr;
}

.career-openings-intro{
    margin:0 0 12px;
    padding:0;
}

.career-openings-intro h2,
.career-openings-intro h3{
    margin:0 0 18px;
    color:#1d2c38;
    font-size:24px;
    font-weight:600;
    line-height:1.25;
}

.career-openings-intro p{
    max-width:760px;
    margin:0 0 18px;
    color:#596773;
    font-size:16px;
    line-height:1.55;
}

.career-jobs{
    border-top:1px solid #dbe3e9;
}

.career-job-row{
    display:grid;
    grid-template-columns:minmax(210px,1.35fr) minmax(130px,.8fr) minmax(150px,.9fr) 32px;
    min-height:54px;
    align-items:center;
    gap:18px;
    padding:0 10px;
    border-bottom:1px solid #dbe3e9;
    color:#25333e;
    transition:background .22s ease,color .22s ease,padding .22s ease;
}

a.career-job-row:hover{
    padding-inline:14px 8px;
    background:#f8fbfd;
    color:var(--blue);
}

.career-job-row strong{
    font-size:16px;
    font-weight:600;
}

.career-job-row>span:not(.career-job-arrow){
    color:#66737d;
    font-size:14px;
}

.career-job-arrow{
    color:var(--blue);
    font-size:20px;
    line-height:1;
    transition:transform .22s ease;
}

a.career-job-row:hover .career-job-arrow{
    transform:translateX(4px);
}

.career-editor-card{
    position:relative;
    min-height:230px;
    padding:34px 34px 32px 92px;
    overflow:hidden;
    border:1px solid #e3e9ee;
    border-radius:14px;
    background:linear-gradient(145deg,#f7fafd,#eef4f9);
    box-shadow:0 10px 30px rgba(29,58,76,.05);
}

.career-editor-card::before{
    content:"";
    position:absolute;
    top:34px;
    left:30px;
    width:50px;
    height:50px;
    border:0;
    border-radius:0;
    background:url("../icons/default/mail.svg") center/50px 50px no-repeat;
    box-shadow:none;
}

.career-editor-card h2,
.career-editor-card h3{
    margin:0 0 16px;
    color:#1e2c37;
    font-size:21px;
    font-weight:600;
    line-height:1.25;
}

.career-editor-card p{
    margin:0 0 16px;
    color:#52616c;
    font-size:15px;
    line-height:1.55;
}

.career-editor-card .button,
.career-editor-card .btn{
    margin-top:8px;
}

.career-editor-card .button:hover,
.career-editor-card .btn:hover{color:#fff;}

.career-application{margin:64px 0 18px;padding:42px 46px;background:#f4f8fb;border-radius:16px;box-shadow:0 10px 34px rgba(26,67,96,.06);}
.career-application-head{max-width:760px;margin:0 0 30px;}
.career-application-head h2{margin:0 0 10px;color:var(--blue);font-size:30px;font-weight:300;}
.career-application-head p{margin:0;color:#596b78;line-height:1.6;}
@media(max-width:680px){.career-application{margin-top:42px;padding:28px 22px;}.career-application-head h2{font-size:26px;}}


/* Career Item — dedicated metadata belongs to the item, not the listing only. */
.career-item-page>.container{padding-top:54px;}
.career-item-meta{display:grid;margin:0 0 58px;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid #dfe7ec;}
.career-item-meta-entry{display:flex;min-width:0;padding:24px 30px;gap:18px;align-items:center;}
.career-item-meta-entry+.career-item-meta-entry{border-left:1px solid #dfe7ec;}
.career-item-meta-icon{display:block;flex:0 0 48px;width:48px;height:48px;object-fit:contain;}
.career-item-meta-entry div{min-width:0;}
.career-item-meta-entry span{display:block;margin-bottom:3px;color:#86919a;font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;}
.career-item-meta-entry strong{display:block;color:#263641;font-size:18px;font-weight:500;line-height:1.35;overflow-wrap:anywhere;}

/* --------------------------------------------------------------------------
   MARKETS LIST
   -------------------------------------------------------------------------- */
.markets-library{
    background:#fff;
}

.markets-library>.container{
    padding-top:58px;
    padding-bottom:84px;
}

.markets-library .inner-editorial-section{
    margin-bottom:54px;
}

.markets-listing-section{
    margin-top:8px;
}

.markets-list-grid{
    display:grid;
    gap:30px 34px;
}

.markets-list-grid.layout-grid_3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.markets-list-grid.layout-grid_4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.markets-list-grid.layout-list{
    grid-template-columns:1fr;
}

.market-list-card{min-width:0;}
.markets-list-grid .market-list-card-inner.fhm-card{display:block;min-height:340px;border-radius:28px;color:#13243a;clip-path:polygon(0 0,67% 0,72% 1%,77% 4%,81% 9%,95% 37%,98.5% 45%,100% 50%,100% 55%,98% 62%,82% 91%,78% 96%,73% 99%,67% 100%,0 100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);}
.markets-list-grid a.market-list-card-inner:hover{transform:translateY(-4px);}
.markets-list-grid .market-list-media{position:absolute;inset:0;min-height:0;border-radius:0;box-shadow:none;}
.markets-list-grid .market-list-copy{position:relative;z-index:4;display:flex;width:64%;min-height:340px;padding:34px 16px 26px 28px;flex-direction:column;align-items:flex-start;}
.market-list-title{color:#17283e;font-size:21px;font-weight:400;line-height:1.18;}
.market-list-abstract{display:-webkit-box;margin-top:12px;overflow:hidden;color:#53616b;font-size:14px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3;}
.market-list-readmore{margin:0;margin-top:auto;padding-top:18px;}
.markets-list-grid.layout-list .market-list-card-inner.fhm-card,.markets-list-grid.layout-list .market-list-copy{min-height:270px;}
@media(max-width:1260px){.markets-list-grid.layout-grid_4{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:980px){.markets-list-grid.layout-grid_3,.markets-list-grid.layout-grid_4{grid-template-columns:repeat(2,minmax(0,1fr));}.markets-list-grid .market-list-card-inner.fhm-card,.markets-list-grid .market-list-copy{min-height:320px}.markets-list-grid .market-list-copy{width:68%;padding:30px 15px 24px 24px;}}
@media(max-width:620px){.markets-list-grid.layout-grid_3,.markets-list-grid.layout-grid_4{grid-template-columns:1fr}.markets-list-grid .market-list-card-inner.fhm-card{min-height:330px;border-radius:24px;clip-path:none}.markets-list-grid .market-list-copy{width:74%;min-height:330px;padding:28px 20px 22px}}




    

    .regular-main-template .inner-editorial-grid.has-one{
        width:100%;
    }

    .regular-main-template .inner-editorial-grid.has-two{
        grid-template-columns:1fr;
        gap:34px;
    }

    .regular-main-template .inner-editorial-column{
        padding:10px 26px;
    }

    .regular-main-template .inner-editorial-grid.has-two .inner-editorial-column+ .inner-editorial-column{
        border-left:0;
        border-top:1px solid #dfe6eb;
        padding-top:34px;
    }
}

@media(max-width:760px){
    .careers-library>.container,
    .markets-library>.container,
    .market-item-page>.container,
    .regular-main-template .universal-inner-page>.container{
        padding-top:38px;
        padding-bottom:60px;
    }

    .career-job-row{
        grid-template-columns:minmax(0,1fr) 28px;
        gap:3px 12px;
        padding:13px 8px;
    }

    .career-job-row>span:not(.career-job-arrow){
        grid-column:1;
        font-size:13px;
    }

    .career-job-arrow{
        grid-column:2;
        grid-row:1 / span 3;
    }

    .career-editor-card{
        padding:84px 24px 28px;
    }

    .career-editor-card::before{
        top:24px;
        left:24px;
    }

    .markets-list-grid.layout-grid_3,
    .markets-list-grid.layout-grid_4,
    .markets-list-grid.layout-list{
        grid-template-columns:1fr;
        gap:20px;
    }

    .market-list-card-inner,
    .markets-list-grid.layout-list .market-list-card-inner{
        min-height:240px;
        clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);
    }

    .market-list-copy,
    .markets-list-grid.layout-list .market-list-copy{
        width:68%;
        min-height:240px;
        padding:30px 14px 26px 22px;
    }

    .market-list-copy strong{
        font-size:20px;
    }

    .market-list-copy small{
        font-size:13px;
    }

    .related-markets-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .regular-main-template .inner-editorial-column{
        padding:8px 0;
    }
}



/* ==========================================================================
   MARKET ITEM — editorial flow
   The future right-side visual/banner can be added beside this flow without
   changing the content hierarchy.
   ========================================================================== */
.market-item-page>.container{
    padding-top:62px;
    padding-bottom:88px;
}

.market-editorial-section{
    margin:0 0 70px;
}

.market-editorial-flow{
    width:min(100%,1440px);
}

.market-editorial-block{
    color:#33444f;
    font-size:17px;
    line-height:1.65;
}

.market-editorial-block+.market-editorial-block{
    margin-top:42px;
}

.market-editorial-block :is(h2,h3,h4){
    color:var(--blue);
    font-weight:300;
    letter-spacing:-.025em;
}

.market-editorial-block h2{
    margin:0 0 22px;
    font-size:clamp(30px,2.15vw,40px);
    line-height:1.12;
}

.market-editorial-block h2:not(:first-child){
    margin-top:42px;
}

.market-editorial-block h3{
    margin:34px 0 14px;
    font-size:clamp(24px,1.7vw,31px);
    line-height:1.18;
}



.market-editorial-block h4{
    margin:28px 0 12px;
    font-size:20px;
    line-height:1.25;
}

.market-editorial-block p{
    max-width:1320px;
    margin:0 0 13px;
}

.market-editorial-block :is(ul,ol,blockquote,table){
    max-width:1320px;
}

.market-item-after-editorial{
    display:grid;
    gap:66px;
}

@media(max-width:980px){
    .market-item-page>.container{padding-top:48px;padding-bottom:72px;}
    .market-editorial-section{margin-bottom:54px;}
    .market-editorial-block{font-size:16px;}
}

@media(max-width:620px){
    .market-item-page>.container{padding-top:36px;padding-bottom:58px;}
    .market-editorial-section{margin-bottom:44px;}
    .market-editorial-block h2{font-size:28px;}
    .market-editorial-block h3{margin-top:28px;font-size:23px;}
    .market-editorial-block+.market-editorial-block{margin-top:32px;}
    .market-item-after-editorial{gap:46px;}
}

/* ==========================================================================
   REGULAR PAGE — MAIN / PARENT HUB
   ========================================================================== */
.regular-main-page{
    background:#fff;
}

.regular-main-page>.container{
    padding-top:58px;
    padding-bottom:88px;
}

.regular-main-page .inner-editorial-section{
    margin-bottom:64px;
}

.regular-child-section{
    margin:10px 0 76px;
}

.regular-child-grid{
    display:grid;
    gap:26px;
}

.regular-child-grid.layout-grid_3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.regular-child-grid.layout-grid_4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.regular-child-grid.layout-list{
    grid-template-columns:1fr;
    gap:14px;
}

.regular-child-card{
    min-width:0;
}

.regular-child-link{
    display:flex;
    height:100%;
    min-height:390px;
    overflow:hidden;
    flex-direction:column;
    border:1px solid #e2e8ed;
    border-radius:12px;
    background:#fff;
    color:#182737;
    box-shadow:0 8px 28px rgba(31,61,81,.045);
    transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .25s ease,box-shadow .3s ease;
}

.regular-child-link:hover{
    border-color:rgba(3,186,240,.34);
    color:var(--blue);
    box-shadow:0 15px 38px rgba(31,61,81,.09);
    transform:translateY(-5px);
}

.regular-child-media{
    position:relative;
    display:block;
    aspect-ratio:1.55;
    overflow:hidden;
    background:#f1f4f7;
}

.regular-child-media::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:36%;
    background:linear-gradient(to top,#fff 0%,rgba(255,255,255,.62) 38%,transparent 100%);
    pointer-events:none;
}

.regular-child-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.regular-child-link:hover .regular-child-media img{
    transform:scale(1.035);
}

.regular-child-body{
    display:flex;
    min-height:0;
    padding:22px 24px 20px;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
}

.regular-child-title{
    color:#17283e;
    font-size:22px;
    font-weight:600;
    line-height:1.2;
    transition:color .25s ease;
}

.regular-child-link:hover .regular-child-title{
    color:var(--blue);
}

.regular-child-abstract{
    margin-top:12px;
    color:#68747d;
    font-size:15px;
    line-height:1.5;
}

.regular-child-readmore{display:inline-flex;min-height:20px;align-items:center;gap:8px;margin-top:auto;padding-top:24px;color:var(--cyan);font-size:12px;font-weight:400;line-height:20px;letter-spacing:.02em;text-transform:uppercase;}

.regular-child-readmore>span{display:inline-flex;height:20px;align-items:center;}

.regular-child-readmore .ui-target-icon{position:static;width:14px;height:14px;flex:0 0 14px;transition:transform .3s ease;}

.regular-child-link:hover .regular-child-readmore .ui-target-icon{
    transform:rotate(90deg) scale(1.08);
}

/* List mode: visual parent index rather than a stretched grid card. */
.regular-child-grid.layout-list .regular-child-link{
    display:grid;
    min-height:190px;
    grid-template-columns:minmax(220px,30%) minmax(0,1fr);
    flex-direction:initial;
}

.regular-child-grid.layout-list .regular-child-media{
    height:100%;
    min-height:190px;
    aspect-ratio:auto;
}

.regular-child-grid.layout-list .regular-child-media::after{
    inset:0 0 0 auto;
    width:32%;
    height:100%;
    background:linear-gradient(to left,#fff 0%,rgba(255,255,255,.55) 45%,transparent 100%);
}

.regular-child-grid.layout-list .regular-child-body{
    padding:28px 34px 24px;
}

.regular-child-grid.layout-list .regular-child-title{
    font-size:25px;
}

.regular-child-grid.layout-list .regular-child-abstract{
    max-width:820px;
}

@media(max-width:1260px){
    .regular-child-grid.layout-grid_4{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:980px){
    .regular-child-grid.layout-grid_3,
    .regular-child-grid.layout-grid_4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .regular-child-grid.layout-list .regular-child-link{
        grid-template-columns:minmax(190px,34%) minmax(0,1fr);
    }
}

@media(max-width:680px){
    .regular-main-page>.container{
        padding-top:38px;
        padding-bottom:62px;
    }

    .regular-child-section{
        margin-bottom:54px;
    }

    .regular-child-grid.layout-grid_3,
    .regular-child-grid.layout-grid_4,
    .regular-child-grid.layout-list{
        grid-template-columns:1fr;
    }

    .regular-child-grid.layout-list .regular-child-link{
        display:flex;
        min-height:0;
        flex-direction:column;
    }

    .regular-child-grid.layout-list .regular-child-media{
        min-height:0;
        aspect-ratio:1.55;
    }

    .regular-child-grid.layout-list .regular-child-media::after{
        inset:auto 0 0;
        width:100%;
        height:36%;
        background:linear-gradient(to top,#fff 0%,rgba(255,255,255,.62) 38%,transparent 100%);
    }

    .regular-child-link{
        min-height:0;
    }

    .regular-child-body,
    .regular-child-grid.layout-list .regular-child-body{
        padding:20px 20px 18px;
    }

    .regular-child-title,
    .regular-child-grid.layout-list .regular-child-title{
        font-size:21px;
    }
}


/* Component-owned mobile refinements for Page Designs. */
@media(max-width:760px){
    .careers-layout{gap:34px;}
    .career-openings-intro h2,.career-openings-intro h3{font-size:22px;}
    .career-job-row strong{font-size:15px;}
    .career-editor-card{min-height:0;border-radius:10px;}

    .career-item-page>.container{padding-top:38px;}
    .career-item-meta{margin-bottom:42px;grid-template-columns:1fr;}
    .career-item-meta-entry{padding:18px 0;gap:14px;}
    .career-item-meta-entry+.career-item-meta-entry{border-left:0;border-top:1px solid #dfe7ec;}
    .career-item-meta-icon{flex-basis:42px;width:42px;height:42px;}
    .career-item-meta-entry strong{font-size:16px;}

    
    
    .market-item-after-editorial{gap:48px;}

    .regular-main-template .inner-editorial-section,.regular-main-page .inner-editorial-section{margin-bottom:48px;}
    .regular-child-section{margin-top:0;}
    .regular-child-readmore{padding-top:18px;}
}

@media(max-width:420px){
    .related-markets-strip{grid-template-columns:1fr;}
    .market-list-card-inner,.markets-list-grid.layout-list .market-list-card-inner{clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%);}
    .market-list-copy,.markets-list-grid.layout-list .market-list-copy{width:76%;}
}


/* Clients — dedicated logo wall. Client is not a normal content card. */
.clients-page>.container{padding-top:0;}
.clients-page .inner-editorial-section{max-width:1160px;margin:0 auto 48px;}
.clients-library{padding:42px 0 76px;}
.clients-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;}
.client-logo-card{min-height:170px;display:flex;align-items:center;justify-content:center;padding:28px;background:#fff;border-radius:14px;box-shadow:0 10px 34px rgba(26,67,96,.07);transition:transform .25s ease,box-shadow .25s ease;}
.client-logo-link{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.client-logo-media{width:100%;height:112px;display:flex;align-items:center;justify-content:center;}
.client-logo-media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}
.client-logo-placeholder{font-size:18px;font-weight:500;text-align:center;color:var(--fontcolor);}
.client-logo-card:has(.client-logo-link):hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(26,67,96,.11);}
@media(max-width:1200px){.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:900px){.clients-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:620px){.clients-library{padding:28px 0 52px;}.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.client-logo-card{min-height:132px;padding:20px;}.client-logo-media{height:88px;}}
