/* Factory and partnership pages */
:root{
    --fp-ink:#17232c;
    --fp-muted:#60727d;
    --fp-soft:#f7fafb;
    --fp-line:#e3edf3;
    --fp-blue:#2d81bd;
    --fp-blue-soft:#eef7fb;
    --fp-shadow:0 18px 46px rgba(31,67,92,.06);
}

body{
    background:linear-gradient(180deg,#fff 0%,var(--fp-soft) 34%,#fff 100%);
    color:var(--fp-ink);
}

.container{
    max-width:1180px !important;
    padding:88px 5% !important;
}

.title{
    color:var(--fp-ink) !important;
    font-size:clamp(30px,2.8vw,40px) !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    margin:0 0 20px !important;
}

.title::after{
    display:none !important;
}

.factory-lead,
.content-text,
.text{
    color:var(--fp-muted) !important;
    font-size:16px !important;
    line-height:2 !important;
    text-indent:0 !important;
}

.factory-lead{
    max-width:760px;
    margin:0 0 52px !important;
}

.factory-stats,
.join-grid,
.partner-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin:0 0 54px;
}

.factory-stat,
.join-card,
.partner-card,
.step,
.sup{
    background:#fff !important;
    border:1px solid var(--fp-line) !important;
    border-radius:8px !important;
    box-shadow:var(--fp-shadow) !important;
}

.factory-stat{
    position:relative;
    overflow:hidden;
    padding:28px 24px;
}

.factory-stat::before,
.join-card::before,
.step::before,
.sup::before{
    content:"";
    display:block;
    width:34px;
    height:2px;
    margin-bottom:18px;
    background:var(--fp-blue);
}

.factory-stat strong{
    display:block;
    color:var(--fp-ink);
    font-size:32px;
    line-height:1;
    font-weight:500;
    margin-bottom:12px;
}

.factory-stat span{
    color:var(--fp-muted) !important;
    font-size:14px !important;
    line-height:1.75 !important;
}

.factory-section-head,
.partner-section-head{
    max-width:760px;
    margin:0 0 34px;
}

.factory-section-head h2,
.partner-section-head h2{
    color:var(--fp-ink);
    font-size:clamp(28px,2.5vw,36px);
    line-height:1.24;
    font-weight:500;
    margin-bottom:14px;
}

.factory-section-head p,
.partner-section-head p{
    color:var(--fp-muted);
    font-size:15px;
    line-height:1.9;
}

.factory-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px !important;
    margin:0 0 74px !important;
}

.factory-card{
    overflow:hidden;
    padding:0 !important;
    background:#fff !important;
    border:1px solid var(--fp-line) !important;
    border-radius:8px !important;
    box-shadow:var(--fp-shadow) !important;
}

.factory-card:hover,
.join-card:hover,
.step:hover,
.sup:hover{
    transform:translateY(-4px) !important;
    box-shadow:0 24px 56px rgba(31,67,92,.1) !important;
}

.factory-img{
    height:250px !important;
    margin:0 !important;
    border-radius:0 !important;
}

.factory-img img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.factory-card h3{
    color:var(--fp-ink) !important;
    font-size:19px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
    margin:24px 24px 10px !important;
}

.factory-card p{
    color:var(--fp-muted) !important;
    font-size:15px !important;
    line-height:1.8 !important;
    margin:0 24px 28px !important;
}

.factory-process,
.flow-steps,
.support-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:16px;
    margin:0 0 74px;
}

.process-step,
.step,
.sup{
    padding:26px 24px !important;
    border-left:0 !important;
    color:var(--fp-muted) !important;
    font-size:14.5px !important;
    line-height:1.86 !important;
    transition:.22s ease;
}

.process-step{
    background:#fff;
    border:1px solid var(--fp-line);
    border-radius:8px;
    box-shadow:0 16px 38px rgba(31,67,92,.045);
}

.process-step span,
.flow-index,
.support-index{
    display:block;
    color:var(--fp-blue);
    font-size:12px;
    letter-spacing:.08em;
    margin-bottom:14px;
}

.process-step strong,
.step strong,
.sup strong{
    display:block;
    color:var(--fp-ink);
    font-size:17px;
    line-height:1.45;
    font-weight:500;
    margin-bottom:10px;
}

.factory-proof,
.join-hero,
.channel-strip,
.partner-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
    gap:30px;
    align-items:center;
    padding:42px;
    margin:0 0 60px;
    background:#fff !important;
    border:1px solid var(--fp-line) !important;
    border-radius:8px !important;
    box-shadow:var(--fp-shadow) !important;
}

.factory-proof h2,
.join-summary h2,
.channel-strip h3,
.partner-cta strong{
    color:var(--fp-ink);
    font-size:clamp(28px,2.5vw,36px);
    line-height:1.24;
    font-weight:500;
    margin-bottom:16px;
}

.factory-proof p,
.join-summary p,
.channel-strip p,
.partner-cta span{
    color:var(--fp-muted);
    font-size:15.5px;
    line-height:1.95;
}

.proof-list,
.channel-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

.proof-list span,
.channel-tags span{
    display:inline-flex;
    min-height:36px;
    align-items:center;
    padding:0 14px;
    border:1px solid var(--fp-line);
    border-radius:999px;
    background:#fbfdfe;
    color:#526b78;
    font-size:14px;
}

.factory-proof img{
    width:100%;
    border-radius:8px;
    border:1px solid var(--fp-line);
    box-shadow:0 18px 40px rgba(31,67,92,.08);
}

.join-summary,
.contact-card{
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
}

.contact-card{
    align-self:stretch;
    justify-content:center;
    padding:30px !important;
    border-radius:8px !important;
    background:linear-gradient(135deg,#17232c 0%,#21485f 100%) !important;
    color:#fff !important;
}

.contact-card h3{
    font-size:24px;
    font-weight:500;
    margin-bottom:18px;
}

.contact-card p{
    color:rgba(255,255,255,.82);
    line-height:1.9;
}

.contact-actions{
    margin-top:22px;
}

.contact-btn{
    border-radius:999px !important;
}

.join-card{
    position:relative;
    overflow:hidden;
    padding:26px !important;
}

.join-card h3{
    color:var(--fp-ink) !important;
    font-size:20px !important;
    line-height:1.4;
    font-weight:500 !important;
    margin-bottom:12px !important;
}

.join-card p{
    color:var(--fp-muted) !important;
    font-size:14.5px !important;
    line-height:1.85 !important;
}

.partner-cta{
    grid-template-columns:minmax(0,1fr) auto;
}

.partner-cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 22px;
    border-radius:999px;
    background:var(--fp-blue);
    color:#fff;
    font-size:15px;
    font-weight:600;
    white-space:nowrap;
}

@media(max-width:1080px){
    .factory-grid,
    .factory-stats,
    .join-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .factory-process,
    .flow-steps,
    .support-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:768px){
    .container{
        padding:46px 16px !important;
    }
    .factory-grid,
    .factory-stats,
    .factory-process,
    .flow-steps,
    .support-grid,
    .join-grid,
    .factory-proof,
    .join-hero,
    .channel-strip,
    .partner-cta{
        grid-template-columns:1fr !important;
    }
    .factory-proof,
    .join-hero,
    .channel-strip,
    .partner-cta{
        padding:26px;
    }
}
