/*====================================

HOME SECTIONS
(Intro / Journal / Banner / About / Contact)

====================================*/

/* اسپن‌های داخل تیترها (خروجی انیمیشن reveal-text) نباید استایل eyebrow بگیرند */
section h1 span,
section h2 span,
section h3 span{
    color:inherit;
    font-size:inherit;
    letter-spacing:inherit;
    text-transform:none;
    margin-bottom:0;
}

/* =========================
Intro
========================= */

.intro{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:80px;
    align-items:start;
    padding:180px 8%;
    border-top:1px solid rgba(255,255,255,.05);
}

.intro-number{
    font-family:'Bebas Neue';
    font-size:190px;
    line-height:.8;
    color:transparent;
    -webkit-text-stroke:1px rgba(255,255,255,.18);
    user-select:none;
    position:relative;
}

.intro-number::after{
    content:"";
    position:absolute;
    left:4px;
    bottom:-34px;
    width:60px;
    height:2px;
    background:var(--red);
}

.intro-text{
    max-width:760px;
}

.intro-text h2{
    margin-bottom:28px;
}

/* =========================
Journal
========================= */

.journal{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:100px;
    align-items:start;
    padding:180px 8%;
    background:#070707;
}

.journal-left{
    position:sticky;
    top:140px;
}

.journal-left p{
    max-width:480px;
}

.journal-right{
    display:flex;
    flex-direction:column;
}

.journal-item{
    display:flex;
    align-items:baseline;
    gap:36px;
    padding:42px 10px;
    border-bottom:1px solid rgba(255,255,255,.08);
    transition:var(--transition);
    position:relative;
}

.journal-item:first-child{
    border-top:1px solid rgba(255,255,255,.08);
}

.journal-item span{
    font-family:'Bebas Neue';
    font-size:22px;
    letter-spacing:3px;
    color:var(--red);
    margin-bottom:0;
    flex:0 0 auto;
}

.journal-item h3{
    font-size:32px;
    font-weight:600;
    letter-spacing:-.5px;
    transition:var(--transition);
}

.journal-item::after{
    content:"→";
    margin-inline-start:auto;
    font-size:22px;
    color:var(--gray);
    opacity:0;
    transform:translateX(-14px);
    transition:var(--transition);
}

.journal-item:hover{
    padding-inline-start:26px;
    border-bottom-color:rgba(193,18,31,.5);
}

.journal-item:hover h3{
    color:var(--red);
}

.journal-item:hover::after{
    opacity:1;
    transform:translateX(0);
}

/* =========================
Banner
========================= */

.banner{
    padding:0;
    height:80vh;
    height:80svh;
    min-height:520px;
    overflow:hidden;
}

.banner img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.banner img:hover{
    transform:none;
}

.banner::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        200deg,
        rgba(5,5,5,.1) 30%,
        rgba(5,5,5,.85)
    );
}

.banner-content{
    position:absolute;
    left:8%;
    bottom:90px;
    z-index:2;
}

.banner-content h2{
    font-family:'Bebas Neue';
    font-size:110px;
    font-weight:400;
    letter-spacing:4px;
    line-height:.95;
    margin-bottom:0;
}

/* =========================
About
========================= */

.about{
    text-align:center;
    padding:220px 8%;
}

.about::before{
    content:"改善";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    font-size:340px;
    color:rgba(255,255,255,.025);
    letter-spacing:40px;
    white-space:nowrap;
    pointer-events:none;
    user-select:none;
}

.about h2,
.about p,
.about span{
    position:relative;
}

.about p{
    margin:0 auto;
    max-width:640px;
}

/* =========================
Contact
========================= */

.contact{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:90px;
    align-items:start;
    padding:180px 8%;
    background:#070707;
    border-top:1px solid rgba(255,255,255,.05);
}

.contact-left p{
    max-width:520px;
}

.contact-right{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding-top:60px;
}

.contact-right .social-link{
    padding:18px 10px;
    border-bottom:1px solid rgba(255,255,255,.08);
    letter-spacing:2px;
    font-size:14px;
    text-transform:uppercase;
    transition:var(--transition);
}

.contact-right .social-link:first-child{
    border-top:1px solid rgba(255,255,255,.08);
}

.contact-right .social-link:hover{
    padding-inline-start:22px;
    color:var(--red);
}

/* =========================
Responsive
========================= */

@media(max-width:1100px){

    .intro{
        grid-template-columns:1fr;
        gap:60px;
        padding:130px 8%;
    }

    .intro-number{
        font-size:130px;
    }

    .journal,
    .contact{
        grid-template-columns:1fr;
        gap:70px;
        padding:130px 8%;
    }

    .journal-left{
        position:static;
    }

    .banner-content h2{
        font-size:76px;
    }

    .about::before{
        font-size:220px;
        letter-spacing:20px;
    }

}

@media(max-width:768px){

    .intro,
    .journal,
    .contact{
        padding:100px 6%;
    }

    .intro-number{
        font-size:96px;
    }

    .journal-item{
        gap:20px;
        padding:30px 4px;
    }

    .journal-item h3{
        font-size:22px;
    }

    .banner{
        height:65vh;
        height:65svh;
        min-height:420px;
    }

    .banner-content{
        left:6%;
        bottom:60px;
    }

    .banner-content h2{
        font-size:52px;
    }

    .about{
        padding:140px 6%;
    }

    .about::before{
        font-size:130px;
        letter-spacing:10px;
    }

    .contact-right{
        padding-top:0;
    }

}
