/* =========================================================
   SITE COMPACT V9
   Target: tampilan browser 100% terasa seperti zoom sekitar 90%
   Berlaku untuk seluruh HALAMAN PUBLIK desktop + homepage hero.
   Tablet/mobile tetap memakai ukuran responsif sebelumnya.
   ========================================================= */

@media (min-width:1100px){

    /* Sedikit mengecilkan skala tipografi global desktop. */
    html{
        font-size:15px;
    }

    body{
        line-height:1.52;
    }

    /* =====================================================
       GLOBAL WIDTH / SPACING
       ===================================================== */
    .wrap{
        width:min(1220px, calc(100% - 72px)) !important;
    }

    main{
        padding-top:52px;
        padding-bottom:16px;
    }

    section.content-section{
        padding-bottom:50px;
    }

    .two-col{
        gap:24px;
    }

    .three-col{
        gap:19px;
    }

    /* =====================================================
       HEADER / NAVBAR
       ===================================================== */
    .nav{
        width:min(1280px, calc(100% - 72px)) !important;
        min-height:74px !important;
        padding:9px 0 !important;
        gap:20px !important;
    }

    .brand-logo{
        width:150px !important;
        height:49px !important;
    }

    .nav-shell{
        gap:20px !important;
    }

    .nav-links{
        gap:15px !important;
        font-size:.80rem !important;
    }

    .nav-links>li>a,
    .nav-parent{
        padding-top:8px !important;
        padding-bottom:8px !important;
    }

    .dropdown{
        min-width:205px;
    }

    .dropdown li>a,
    .submenu li>a{
        padding:9px 12px;
        font-size:.82rem;
    }

    .nav-cta{
        gap:9px;
    }

    .nav-cta .btn,
    .btn{
        padding:10px 19px;
        font-size:.84rem;
    }

    .btn-sm{
        padding:7px 14px;
        font-size:.77rem;
    }

    /* =====================================================
       HOMEPAGE HERO - TETAP FULLSCREEN
       Navbar 74px + hero = 1 viewport.
       Isi hero diperkecil agar terasa seperti zoom 90%.
       ===================================================== */
    .hero{
        height:calc(100svh - 74px) !important;
        min-height:500px !important;
    }

    .hero-inner{
        width:min(1220px, calc(100% - 72px)) !important;
        padding:0 0 88px !important;
    }

    .hero-copy-clean{
        max-width:690px !important;
    }

    .hero h1{
        max-width:690px !important;
        font-size:clamp(2.65rem,4.35vw,4.65rem) !important;
        line-height:.99 !important;
        letter-spacing:-.05em !important;
    }

    .hero-link{
        margin-top:21px !important;
        gap:8px !important;
        font-size:.82rem !important;
        padding-bottom:4px !important;
    }

    /* Overlay tetap transparan seperti konsep terakhir. */
    .hero-overlay{
        background:linear-gradient(90deg,
            rgba(5,18,42,.34) 0%,
            rgba(5,18,42,.17) 42%,
            rgba(5,18,42,.045) 72%,
            rgba(5,18,42,0) 100%) !important;
    }

    /* 1969 / OJK / LPS tetap dipertahankan dan dibuat lebih compact. */
    .hero-stats{
        width:min(1220px, calc(100% - 72px)) !important;
    }

    .hero-stats .stat{
        min-height:80px !important;
        padding:14px 16px 13px !important;
    }

    .hero-stats .num{
        font-size:clamp(1.18rem,1.5vw,1.48rem) !important;
    }

    .hero-stats .label{
        margin-top:5px !important;
        font-size:.69rem !important;
        line-height:1.32 !important;
    }

    /* Ornamen gunung tetap ada, hanya proporsinya sedikit dikecilkan. */
    .hero-ridge{
        height:165px !important;
    }

    .hero-dots{
        bottom:101px !important;
        gap:7px !important;
    }

    .hero-dot{
        width:6px !important;
        height:6px !important;
        min-width:6px !important;
    }

    .hero-dot.is-active{
        width:20px !important;
    }

    /* =====================================================
       PAGE HEADER - SEMUA HALAMAN SELAIN HOME
       ===================================================== */
    .page-header{
        padding:36px 0 33px !important;
    }

    .page-header::after{
        width:320px;
        height:320px;
        right:-100px;
        top:-165px;
    }

    .breadcrumb{
        margin-bottom:13px;
        gap:7px;
        font-size:.73rem;
    }

    .page-header h1{
        font-size:clamp(1.8rem,3vw,2.5rem) !important;
        line-height:1.16;
    }

    .page-header p{
        margin-top:9px;
        font-size:.90rem;
        max-width:60ch;
    }

    /* =====================================================
       SECTION / TYPOGRAPHY
       ===================================================== */
    .section-head{
        max-width:620px;
        margin-bottom:30px;
    }

    .eyebrow,
    .section-head .eyebrow{
        margin-bottom:15px;
        font-size:.68rem;
    }

    .section-head h2{
        font-size:clamp(1.38rem,2.2vw,1.78rem);
        line-height:1.34;
    }

    .section-head p{
        margin-top:9px;
        font-size:.90rem;
        line-height:1.6;
    }

    .prose{
        font-size:.91rem;
        line-height:1.65;
    }

    .prose p{
        margin-bottom:15px;
    }

    .prose h2{
        font-size:1.30rem;
        margin:28px 0 12px;
    }

    .prose h3{
        font-size:1.06rem;
        margin:23px 0 10px;
    }

    .text-link{
        font-size:.82rem;
    }

    .empty-state{
        padding:34px 22px;
    }

    /* =====================================================
       GENERIC PANELS / CARDS
       ===================================================== */
    .info-card{
        padding:23px;
    }

    .info-card h3{
        font-size:.98rem;
        margin-bottom:8px;
    }

    .info-card p{
        font-size:.87rem;
    }

    .content-panel{
        padding:28px;
    }

    .content-sidebar{
        grid-template-columns:minmax(0,1fr) 305px;
        gap:31px;
    }

    .image-frame{
        min-height:250px;
    }

    .badge{
        padding:4px 9px;
        font-size:.67rem;
    }

    .filter-tabs{
        gap:8px;
        margin-bottom:24px;
    }

    .filter-tabs a{
        padding:8px 14px;
        font-size:.78rem;
    }

    .meta-row{
        gap:12px;
        font-size:.77rem;
    }

    /* =====================================================
       HOMEPAGE
       ===================================================== */
    .home-main{
        padding-top:54px !important;
    }

    .home-main > .wrap{
        width:min(1220px, calc(100% - 72px)) !important;
    }

    .home-main section.content-section{
        padding-bottom:50px;
    }

    .products-grid,
    .home-news{
        gap:20px;
    }

    .product-card{
        padding:25px 23px;
        border-radius:13px;
    }

    .product-card .idx{
        font-size:.70rem;
    }

    .product-card h3{
        margin:13px 0 7px;
        font-size:1.02rem;
    }

    .product-card p{
        font-size:.84rem;
        line-height:1.55;
        margin-bottom:14px;
    }

    .product-card .card-link{
        font-size:.80rem;
    }

    .home-split{
        gap:36px;
    }

    .home-split .image-frame{
        min-height:350px;
    }

    .feature-points{
        gap:12px;
        margin-top:20px;
    }

    .feature-point{
        padding:14px;
    }

    .feature-point strong{
        font-size:.86rem;
    }

    .feature-point span{
        font-size:.76rem;
    }

    .home-action-grid{
        gap:16px;
    }

    .home-action-card{
        grid-template-columns:48px minmax(0,1fr) 28px;
        gap:15px;
        min-height:155px;
        padding:22px;
        border-radius:16px;
    }

    .home-action-icon{
        width:48px;
        height:48px;
        border-radius:14px;
        font-size:1.05rem;
    }

    .home-action-card h3{
        font-size:1rem;
        margin-bottom:6px;
    }

    .home-action-card p{
        font-size:.82rem;
        line-height:1.55;
    }

    .home-action-kicker{
        font-size:.64rem;
    }

    .home-action-arrow{
        width:28px;
        height:28px;
    }

    .home-highlight-panel{
        gap:40px;
        padding:38px 42px;
        border-radius:20px;
    }

    .home-highlight-copy .eyebrow{
        margin-bottom:12px;
        font-size:.67rem;
    }

    .home-highlight-copy h2{
        font-size:clamp(1.42rem,2vw,1.82rem);
    }

    .home-highlight-copy p{
        margin-top:11px;
        font-size:.86rem;
        line-height:1.6;
    }

    .home-highlight-link{
        margin-top:19px;
        font-size:.80rem;
    }

    .home-highlight-item{
        min-height:140px;
        padding:20px 18px;
    }

    .home-highlight-item strong{
        margin-bottom:7px;
        font-size:clamp(1.22rem,1.7vw,1.62rem);
    }

    .home-highlight-item span{
        font-size:.76rem;
    }

    .home-step-grid{
        gap:18px;
    }

    .home-step-card{
        min-height:200px;
        padding:24px 22px;
        border-radius:16px;
    }

    .home-step-number{
        right:18px;
        top:14px;
        font-size:2rem;
    }

    .home-step-icon{
        width:42px;
        height:42px;
        margin-bottom:22px;
    }

    .home-step-card h3{
        font-size:.96rem;
    }

    .home-step-card p{
        font-size:.80rem;
        line-height:1.55;
    }

    .latest-tabs-nav{
        gap:30px;
        margin-bottom:22px;
    }

    .latest-tab-button{
        font-size:.90rem;
        padding-bottom:12px;
    }

    .info-latest-grid{
        gap:20px;
    }

    .home-latest-section .news-photo{
        height:155px;
    }

    .home-latest-section .news-body{
        padding:17px;
    }

    .home-latest-section .news-body h3{
        font-size:.92rem;
    }

    .home-latest-section .news-body p{
        font-size:.79rem;
    }

    .home-latest-section .news-date{
        font-size:.68rem;
    }

    .cta-section{
        padding:40px 42px;
        border-radius:20px;
    }

    .cta-section h2{
        font-size:1.38rem;
    }

    .cta-section p{
        font-size:.84rem;
    }

    /* =====================================================
       LIST / GRID PAGES
       Jaringan kantor, berita, agunan, fasilitas, direksi, dll.
       ===================================================== */
    .branch-grid,
    .news-grid,
    .listing-grid,
    .facility-grid,
    .people-grid{
        gap:19px;
    }

    .branch-photo{
        height:155px;
    }

    .branch-body{
        padding:20px;
    }

    .branch-card .tag{
        margin-bottom:10px;
        font-size:.65rem;
    }

    .branch-card h3{
        font-size:.94rem;
    }

    .branch-card p{
        font-size:.81rem;
    }

    .branch-actions{
        margin-top:14px;
        gap:8px;
    }

    .award-grid{
        gap:17px;
    }

    .award-card{
        gap:15px;
        padding:20px;
    }

    .award-photo{
        width:94px;
        height:86px;
    }

    .award-year{
        font-size:1.03rem;
    }

    .award-card h3{
        font-size:.92rem;
    }

    .award-card p{
        font-size:.79rem;
    }

    .news-photo{
        height:155px;
    }

    .news-body{
        padding:17px;
    }

    .news-date{
        font-size:.68rem;
        margin-bottom:7px;
    }

    .news-body h3{
        font-size:.93rem;
        margin-bottom:7px;
    }

    .news-body p{
        font-size:.80rem;
    }

    .news-category{
        margin-bottom:8px;
        padding:4px 7px;
        font-size:.63rem;
    }

    .listing-photo{
        height:170px;
    }

    .listing-body{
        padding:17px;
    }

    .listing-body h3{
        font-size:.92rem;
    }

    .listing-body p{
        font-size:.79rem;
    }

    .listing-price{
        font-size:.89rem;
    }

    .job-list{
        gap:13px;
    }

    .job-card{
        gap:17px;
        padding:20px 23px;
    }

    .job-card h3{
        font-size:.95rem;
    }

    .job-meta{
        font-size:.76rem;
    }

    .facility-image{
        height:150px;
    }

    .facility-body{
        padding:19px;
    }

    .facility-body h3{
        font-size:.94rem;
    }

    .facility-body p{
        font-size:.81rem;
    }

    .person-photo{
        height:245px;
    }

    .person-body{
        padding:17px;
    }

    .person-body h3{
        font-size:.94rem;
    }

    .person-body p{
        font-size:.78rem;
    }

    /* =====================================================
       PRODUCT DETAIL / REPORT / ORGANIZATION
       ===================================================== */
    .product-detail{
        gap:38px;
    }

    .feature-list{
        margin-top:17px;
    }

    .feature-list li{
        gap:10px;
        padding:10px 0;
        font-size:.86rem;
    }

    .rate-panel{
        padding:23px;
        top:90px;
    }

    .rate-panel .big{
        font-size:1.58rem;
    }

    .rate-panel .cap{
        margin:4px 0 16px;
        font-size:.76rem;
    }

    .doc-row{
        gap:17px;
        padding:16px 4px;
    }

    .doc-info{
        gap:13px;
    }

    .doc-icon{
        width:38px;
        height:38px;
    }

    .doc-title{
        font-size:.87rem;
    }

    .doc-date{
        font-size:.74rem;
    }

    .org-chart{
        gap:15px;
    }

    .org-tree,
    .org-tree ul{
        gap:13px;
    }

    .org-tree ul{
        padding-top:26px;
    }

    .org-box{
        padding:12px 17px;
        font-size:.80rem;
        min-width:145px;
    }

    .org-box .role{
        font-size:.70rem;
    }

    /* =====================================================
       FORMS / COMPLAINT / CONTACT
       ===================================================== */
    .form-panel{
        padding:30px;
        max-width:720px;
    }

    .form-grid{
        gap:15px;
    }

    .field{
        margin-bottom:17px;
    }

    .field label{
        margin-bottom:7px;
        font-size:.79rem;
    }

    .field input,
    .field select,
    .field textarea{
        padding:10px 12px;
        font-size:.85rem;
    }

    .field textarea{
        min-height:105px;
    }

    .field small,
    .field-error{
        font-size:.71rem;
    }

    .alert{
        padding:13px 15px;
        margin-bottom:20px;
        font-size:.84rem;
    }

    .step-item{
        gap:17px;
        padding:18px 0;
    }

    .step-num{
        width:34px;
        height:34px;
    }

    .step-item h4{
        font-size:.94rem;
    }

    .step-item p{
        font-size:.83rem;
    }

    .data-table{
        font-size:.82rem;
    }

    .data-table th{
        padding:11px 14px;
        font-size:.74rem;
    }

    .data-table td{
        padding:11px 14px;
    }

    .contact-grid{
        gap:32px;
    }

    .contact-list{
        gap:15px;
    }

    .contact-row{
        gap:13px;
    }

    .contact-row .icon{
        width:38px;
        height:38px;
    }

    .contact-row h4{
        font-size:.87rem;
    }

    .contact-row p,
    .contact-row a{
        font-size:.81rem;
    }

    .map-box{
        min-height:300px;
    }

    .social-pill{
        padding:8px 14px;
        font-size:.78rem;
    }

    /* =====================================================
       PAGINATION
       ===================================================== */
    .pagination-wrap{
        margin-top:28px;
    }

    .pagination{
        gap:6px;
    }

    .pagination li a,
    .pagination li span{
        min-width:34px;
        height:34px;
        padding:0 9px;
        font-size:.77rem;
    }

    /* =====================================================
       FOOTER
       ===================================================== */
    .site-footer{
        padding:50px 0 26px;
        margin-top:64px;
    }

    .footer-grid{
        gap:34px;
        padding-bottom:36px;
    }

    .footer-logo{
        width:170px;
        max-height:60px;
    }

    .footer-grid p{
        margin-top:13px;
        font-size:.79rem;
    }

    .footer-badges{
        margin-top:15px;
    }

    .footer-badges span{
        padding:6px 9px;
        font-size:.67rem;
    }

    .footer-col h5{
        margin-bottom:13px;
        font-size:.77rem;
    }

    .footer-col a{
        margin-bottom:9px;
        font-size:.78rem;
    }

    .footer-bottom{
        padding-top:18px;
        font-size:.71rem;
    }
}

/* Jangan memaksa skala compact desktop pada tablet/mobile. */
@media (max-width:1099px){
    html{
        font-size:16px;
    }
}


/* =========================================================
   V45 - AWARDS GRID COMPACT
   Ubah layout penghargaan dari 2 card lebar menjadi grid 4/3/2/1.
   ========================================================= */
.award-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
}

.award-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:18px;
    height:100%;
}

.award-photo{
    width:100%;
    height:auto;
    aspect-ratio:4 / 3;
    object-fit:cover;
    border-radius:12px;
    background:var(--bg);
}

.award-card > div{
    width:100%;
}

.award-year{
    font-size:1rem;
    margin-bottom:6px;
}

.award-card h3{
    font-size:1rem;
    line-height:1.35;
    margin:0 0 6px;
}

.award-card p{
    font-size:.84rem;
    line-height:1.55;
    margin:0;
}

@media (max-width: 1279px){
    .award-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 991px){
    .award-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 640px){
    .award-grid{
        grid-template-columns:1fr;
    }

    .award-card{
        padding:16px;
    }
}
