.about-hero{
    height:400px;
    background:url('../img/bg-about.png') center/cover no-repeat;
    position:relative;
    margin-top: 100px;
    background-position: center 20%;
}

.about-overlay{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:40px;
   top: 266px;
}

.about-title{
    background:#fff;
    display:inline-block;
    padding:20px 40px;
    box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

.about-title .jp{
    font-size:36px;
    color:#e60023;
    font-weight:700;
    margin-right:15px;
}

.about-title .en{
    font-size:28px;
    color:#555;
}

/* HEAD */
.about-head{
    text-align:center;
    background:#eee;
    padding:40px 20px;
}

.about-head h1{
    font-size:36px;
    color:#888;
    letter-spacing:2px;
}

.about-head h2{
    font-size:20px;
    color:#aaa;
    margin-top:10px;
}

.about-head .lang{
    margin-top:20px;
    font-size:14px;
    color:#333;
}

.philosophy-img{
    width:100%;
    overflow:hidden;
     position:relative;
}
.philosophy-img::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(255,255,255,0.05);
}

.philosophy-img img{
    width:100%;
    display:block;
}

/* POLICY */
.policy{
    position:relative;
    padding:100px 60px;
}

/* label merah kanan */
.policy-label{
    position:absolute;
    top:0;
    right:0;
    background:#d60000;
    color:#fff;
    padding:30px 60px;
    text-align:right;
    clip-path:polygon(20% 0,100% 0,100% 100%,0 100%);
}

.policy-label .jp{
    font-size:36px;
    font-weight:bold;
    display:block;
}

.policy-label .en{
    font-size:18px;
}

/* text atas */
.policy-text{
    max-width:900px;
    margin:0 auto 60px;
    text-align:center;
    font-size:18px;
    line-height:1.8;
}

/* wrap */
.policy-wrap{
    display:flex;
    justify-content:space-between;
    gap:40px;
}

/* item */
.policy-item{
    width:32%;
    text-align:center;
    position:relative;
}

/* number kotak */
.policy-item .number{
    position:absolute;
    top:-10px;
    right:20px;
    background:linear-gradient(45deg,#ff3c3c,#ff7a00);
    color:#fff;
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    font-weight:bold;
}

.policy-item{
    transition:.3s;
}

.policy-item:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

/* title */
.policy-item h3{
    margin-top:40px;
    font-size:22px;
}

.policy-item p{
    color:#e60023;
    margin-bottom:15px;
}

/* image */
.policy-item img{
    width:100%;
    height:220px;
    object-fit:cover;
}

/* FOUNDER */
.founder{
    padding:100px 80px;
}

/* title */
.title-jp{
    text-align:center;
    font-size:28px;
    font-weight:bold;
}

.title-en{
    text-align:center;
    font-size:22px;
    color:#555;
    margin-bottom:60px;
}

/* layout */
.founder-wrap{
    display:flex;
    gap:60px;
}

/* kiri */
.founder-left{
    flex:2;
}

/* timeline */
.timeline div{
    margin-bottom:12px;
    font-size:16px;
}

.timeline span{
    display:inline-block;
    width:90px;
    font-weight:bold;
}

/* paragraf */
.desc{
    margin-top:20px;
    line-height:1.8;
}

/* kanan */
.founder-right{
    flex:1;
    text-align:center;
}

.founder-right img{
    width:100%;
    max-width:260px;
    margin-bottom:15px;

    box-shadow:0 30px 50px rgba(0,0,0,0.2);
}
/* nama */
.founder-name{
    font-size:18px;
}

.timeline{
    border-left:3px solid #ddd;
    padding-left:20px;
}

/* ================= PRINCIPAL ================= */

.principal{
    padding:100px 80px;
}

/* layout */
.principal-wrap{
    display:flex;
    gap:80px;
    align-items:flex-start;
}

/* kiri (text gede) */
.principal-left{
    flex:2;
}

.principal-left p{
    margin-bottom:25px;
    line-height:2.2;
    font-size:20px; /* 🔥 diperbesar */
}

/* kanan */
.principal-right{
    flex:1;
}

/* banner */
.banner{
    width:100%;
    margin-bottom:30px;
}

/* bawah (nama + foto sejajar) */
.principal-bottom{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:20px;
}

/* nama (di kiri foto) */
.principal-name{
    text-align:right;
    font-size:18px;
    line-height:1.6;
}

/* foto */
.principal-img{
    width:120px;
    height:140px;
    object-fit:cover;

    box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

@media(max-width:768px){

    .principal-wrap{
        flex-direction:column;
    }

    .principal-left p{
        font-size:16px;
        line-height:1.8;
    }

    .principal-bottom{
        justify-content:center;
    }

    .principal-name{
        text-align:center;
    }

}

.principal-left{
    max-width:700px;
}

/* ACCESS */
.access{
    padding:100px 80px;
}

/* layout */
.access-wrap{
    display:flex;
    gap:60px;
    align-items:flex-start;
}

/* kiri */
.access-left{
    flex:1;
}

.access-img img{
    width:100%;
}


.map-section{
    padding:60px 80px;
}

.map-section iframe{
    width:100%;
    height:500px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

/* ================= GLOBAL MOBILE ================= */
@media(max-width:768px){

    section{
        padding:60px 20px !important;
    }

    h1{
        font-size:26px !important;
    }

    h2{
        font-size:18px !important;
    }

}

/* ================= HERO ================= */
@media(max-width:768px){
    .about-hero{
        height:250px;
        margin-top:80px;
    }

    .about-overlay{
        top:auto;
        bottom:20px;
        padding:20px;
    }

    .about-title{
        padding:15px 20px;
    }

    .about-title .jp{
        font-size:22px;
    }

    .about-title .en{
        font-size:18px;
    }
}

/* ================= POLICY ================= */
@media(max-width:768px){

    .policy{
        padding:60px 20px;
    }

    .policy-label{
        position:relative;
        clip-path:none;
        text-align:center;
        padding:20px;
        margin-bottom:30px;
    }

    .policy-wrap{
        flex-direction:column;
        gap:30px;
    }

    .policy-item{
        width:100%;
    }

    .policy-item img{
        height:180px;
    }

}

/* ================= FOUNDER ================= */
@media(max-width:768px){

    .founder{
        padding:60px 20px;
    }

    .founder-wrap{
        flex-direction:column;
        gap:40px;
    }

    .founder-right img{
        max-width:200px;
    }

}

/* ================= PRINCIPAL ================= */
@media(max-width:768px){

    .principal{
        padding:60px 20px;
    }

    .principal-wrap{
        flex-direction:column;
        gap:40px;
    }

    .principal-left{
        max-width:100%;
    }

    .principal-left p{
        font-size:16px;
    }

    .principal-bottom{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .principal-name{
        text-align:center;
    }

}

/* ================= ACCESS ================= */
@media(max-width:768px){

    .access{
        padding:60px 20px;
    }

    .access-img img{
        border-radius:10px;
    }

}

/* ================= MAP ================= */
@media(max-width:768px){

    .map-section{
        padding:40px 15px;
    }

    .map-section iframe{
        height:300px;
        border-radius:10px;
    }

}
