/* =====================================================
   HOMEPAGE
===================================================== */

.home-hero{
    position:relative;
    padding:100px 0 90px;
    background:linear-gradient(135deg,#f5f7f9 0%,#ffffff 100%);
    overflow:hidden;
}

.home-hero.has-bg-image{
    background-size:cover;
    background-position:center;
}

.home-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(115deg, rgba(15,29,42,.94) 0%, rgba(15,29,42,.82) 45%, rgba(15,29,42,.55) 100%);
}

.home-hero .container{
    position:relative;
    z-index:1;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:60px;
    align-items:center;
}

.hero-content h1{
    font-size:44px;
    font-weight:800;
    line-height:1.45;
    color:var(--primary);
    margin:0 0 20px;
}

.hero-content p{
    font-size:18px;
    color:var(--secondary);
    max-width:560px;
}

.home-hero.has-bg-image .hero-content h1{
    color:#fff;
}

.home-hero.has-bg-image .hero-content p{
    color:#dbe2e8;
}

.home-hero.has-bg-image .section-badge{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.28);
    color:#fff;
}

.home-hero.has-bg-image .hero-tags span{
    background:rgba(255,255,255,.1);
    border-color:rgba(255,255,255,.25);
    color:#fff;
}

.hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:25px;
}

.hero-tags span{
    background:#fff;
    border:1px solid var(--border);
    padding:8px 16px;
    border-radius:50px;
    font-size:14px;
    color:var(--primary);
    font-weight:600;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:35px;
}


/* ================= HERO IMAGE (frame keeps it legible over any bg) ================= */

.hero-image{
    position:relative;
}

.hero-image-frame{
    position:relative;
    z-index:1;
    background:#fff;
    padding:16px;
    border-radius:28px;
    box-shadow:0 30px 70px rgba(0,0,0,.25);
}

.hero-image-frame img{
    display:block;
    width:100%;
    border-radius:18px;
}


/* ================= START POINTS ================= */

.home-start{
    padding:80px 0;
    background:var(--light);
}

.start-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.start-box{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    padding:30px 26px;
    text-align:center;
    transition:.3s;
}

.start-box:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.start-box h3{
    color:var(--primary);
    font-size:18px;
    margin:0 0 10px;
}

.start-box p{
    color:var(--secondary);
    font-size:14.5px;
    margin:0;
}


/* ================= CATEGORIES / PRODUCTS ================= */

.home-categories,
.home-products{
    padding:90px 0;
}

.home-products{
    background:var(--light);
}

.home-products-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    text-align:right;
}

.home-products-heading h2,
.home-products-heading p{
    margin-right:0;
}

.empty-note{
    text-align:center;
    color:var(--secondary);
    background:#fff;
    border:1px dashed var(--border);
    border-radius:14px;
    padding:30px;
}


/* ================= SERVICES — FIXED 3 TOP / 2 BOTTOM GRID ================= */

.services-fixed-grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:24px;
}

.service-fixed-card{
    position:relative;
    grid-column:span 2;
    display:flex;
    align-items:flex-end;
    min-height:230px;
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(135deg, var(--primary), #1F3A52);
    background-size:cover;
    background-position:center;
    transition:transform .3s ease, box-shadow .3s ease;
}

/* center the bottom row's 2 cards within the 6-column grid */
.services-fixed-grid > .service-fixed-card:nth-child(4){
    grid-column:2 / span 2;
}

.services-fixed-grid > .service-fixed-card:nth-child(5){
    grid-column:4 / span 2;
}

.service-fixed-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.2);
}

.service-fixed-card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(15,29,42,.15) 0%, rgba(15,29,42,.88) 100%);
}

.service-fixed-card.has-bg-image .service-fixed-card-overlay{
    background:linear-gradient(180deg, rgba(15,29,42,.25) 0%, rgba(15,29,42,.92) 100%);
}

.service-fixed-card-content{
    position:relative;
    z-index:1;
    padding:26px;
    color:#fff;
}

.service-fixed-card-icon{
    display:inline-flex;
    font-size:22px;
    margin-bottom:10px;
}

.service-fixed-card-content h3{
    color:#fff;
    font-size:20px;
    margin:0 0 8px;
}

.service-fixed-card-content p{
    color:#dbe2e8;
    font-size:14px;
    margin:0;
    line-height:1.8;
}


/* ================= MID CTA (redesigned) ================= */

.mid-cta{
    padding:70px 0;
}

.mid-cta-box{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    flex-wrap:wrap;
    background:linear-gradient(120deg, var(--primary) 0%, #1F3A52 60%, var(--accent) 160%);
    border-radius:26px;
    padding:50px 55px;
    overflow:hidden;
}

.mid-cta-box::before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    left:-100px;
    top:-120px;
}

.mid-cta-text{
    position:relative;
    z-index:1;
    max-width:560px;
}

.mid-cta-text .section-badge{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.3);
    color:#fff;
}

.mid-cta-text h2{
    color:#fff;
    font-size:28px;
    margin:12px 0 10px;
}

.mid-cta-text p{
    color:#dfe6ea;
    margin:0;
    font-size:15.5px;
    line-height:1.9;
}

.mid-cta-actions{
    position:relative;
    z-index:1;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.btn-light{
    background:var(--accent);
    border-color:var(--accent);
    color:#fff;
    gap:8px;
}

.btn-light:hover{
    background:#c2470a;
    border-color:#c2470a;
    color:#fff;
}

.btn-outline-light{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 32px;
    border-radius:10px;
    font-weight:600;
    border:2px solid rgba(255,255,255,.5);
    color:#fff;
    transition:.3s;
}

.btn-outline-light:hover{
    background:#fff;
    color:var(--primary);
    border-color:#fff;
}


/* ================= WHY ================= */

.why-section{
    padding:90px 0;
}


/* ================= PROCESS ================= */

.home-process{
    padding:90px 0;
    background:var(--light);
}

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

.process-grid div{
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    padding:22px 16px;
    text-align:center;
    font-size:14.5px;
    color:var(--primary);
    font-weight:600;
}

.process-grid span{
    display:block;
    color:var(--accent);
    font-size:22px;
    font-weight:800;
    margin-bottom:8px;
}


/* ================= RESPONSIVE ================= */

@media(max-width:992px){

    .hero-grid{
        grid-template-columns:1fr;
    }

    .hero-image{
        order:-1;
    }

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

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

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

    .service-fixed-card,
    .services-fixed-grid > .service-fixed-card:nth-child(4),
    .services-fixed-grid > .service-fixed-card:nth-child(5){
        grid-column:span 1;
    }

    .mid-cta-box{
        flex-direction:column;
        align-items:flex-start;
        padding:40px;
    }

}

@media(max-width:600px){

    .hero-content h1{
        font-size:32px;
    }

    .start-grid,
    .process-grid,
    .services-fixed-grid{
        grid-template-columns:1fr;
    }

    .mid-cta-actions{
        width:100%;
    }

    .mid-cta-actions a{
        width:100%;
    }

}

/* =====================================================
   HOMEPAGE EDITORIAL SECTIONS
===================================================== */

.home-forging-spotlight{
    padding:92px 0;
    background:#fff;
}

.spotlight-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}

.spotlight-media img{
    display:block;
    width:100%;
    aspect-ratio:3 / 2;
    object-fit:cover;
    border-radius:24px;
    box-shadow:0 24px 55px rgba(20,41,59,.14);
}

.spotlight-content h2{
    margin:0 0 16px;
    color:var(--primary);
    font-size:32px;
    line-height:1.55;
}

.spotlight-content > p{
    color:var(--secondary);
    font-size:16px;
    line-height:2;
}

.check-list{
    margin:22px 0 0;
}

.check-list li{
    position:relative;
    padding:8px 28px 8px 0;
    color:var(--primary);
    font-size:15px;
}

.check-list li::before{
    content:'✓';
    position:absolute;
    right:0;
    top:7px;
    color:var(--accent);
    font-weight:900;
}

.spotlight-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:26px;
}

.home-sectors{
    padding:86px 0;
    background:var(--light);
}

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

.sector-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:220px;
    padding:24px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.sector-card:hover{
    transform:translateY(-6px);
    border-color:rgba(225,85,10,.45);
    box-shadow:0 18px 36px rgba(20,41,59,.09);
}

.sector-card > span{
    color:var(--accent);
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
}

.sector-card h3{
    margin:22px 0 8px;
    color:var(--primary);
    font-size:20px;
}

.sector-card p{
    margin:0;
    color:var(--secondary);
    font-size:13.5px;
    line-height:1.9;
}

.sector-card strong{
    margin-top:auto;
    padding-top:18px;
    color:var(--accent);
    font-size:13px;
}

.home-articles{
    padding:90px 0;
    background:#fff;
}

.home-articles-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    text-align:right;
}

.home-articles-heading .section-badge{
    margin-bottom:10px;
}

.home-articles-heading h2{
    margin:0;
}

.text-link{
    color:var(--accent);
    font-weight:700;
    white-space:nowrap;
}

.home-articles-grid .post-card img{
    height:210px;
}

@media(max-width:992px){

    .spotlight-grid{
        grid-template-columns:1fr;
        gap:38px;
    }

    .spotlight-media{
        max-width:760px;
        margin:0 auto;
    }

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

}

@media(max-width:600px){

    .home-forging-spotlight,
    .home-sectors,
    .home-articles{
        padding:58px 0;
    }

    .spotlight-content h2{
        font-size:27px;
    }

    .sector-grid{
        grid-template-columns:1fr;
    }

    .home-articles-heading{
        align-items:stretch;
        flex-direction:column;
        text-align:center;
    }

    .home-products-heading{
        align-items:stretch;
        flex-direction:column;
        text-align:center;
    }

}
