/* Konsep beranda (diporting dari preview/final-concept.html) - hanya dipakai halaman Beranda. */

    /* Placeholder gambar */
    .ph {
        background: linear-gradient(135deg, #0D3B66 0%, #14508C 55%, #1A5A9A 100%);
        display: flex; align-items: center; justify-content: center; text-align: center;
        color: rgba(255,255,255,.8); font-size: .78rem; letter-spacing: .04em;
        border: 1px solid rgba(255,255,255,.18);
    }
    .ph-gold { background: linear-gradient(135deg, #0D3B66 0%, #0A2540 45%, #FBA504 100%); }
    .ph-light {
        background: linear-gradient(135deg, #E8EDF5 0%, #DCE3EC 100%);
        color: #0D3B66; border: 1px solid #DCE3EC; font-weight: 600;
    }


    /* ============ HERO FOTO (gaya F) ============ */
    .fc-hero { position: relative; overflow: hidden; background: #0A2540; }
    .fc-sky {
        position: absolute; left: 0; right: 0; top: -90px; bottom: -90px;
        background: linear-gradient(180deg, #0b3f77 0%, #2f7fc4 40%, #74aeda 64%, #cfe3f4 80%, #e9f1f8 100%);
    }
    .fc-sky:after {
        content: ""; position: absolute; inset: 0;
        background:
            radial-gradient(360px 130px at 16% 30%, rgba(255,255,255,.7), transparent 65%),
            radial-gradient(440px 150px at 58% 22%, rgba(255,255,255,.55), transparent 65%),
            radial-gradient(320px 120px at 86% 40%, rgba(255,255,255,.5), transparent 70%);
    }
    /* Siluet rig minyak */
    .fc-rig { position: absolute; right: 12%; bottom: 0; width: 4px; height: 268px; background: rgba(13,26,40,.85); }
    .fc-rig:before {
        content: ""; position: absolute; left: -50px; top: 22px; width: 104px; height: 210px;
        border: 3px solid rgba(13,26,40,.7); border-bottom: 0;
        background: repeating-linear-gradient(to bottom, transparent 0 17px, rgba(13,26,40,.5) 17px 20px);
    }
    .fc-rig:after {
        content: ""; position: absolute; left: -76px; top: 0; width: 156px; height: 64px;
        border-bottom: 3px solid rgba(13,26,40,.65); transform: skewX(-24deg);
    }
    .fc-fade {
        position: absolute; left: 0; right: 0; bottom: 0; height: 62%;
        background: linear-gradient(180deg, rgba(7,27,51,0) 0%, rgba(7,27,51,.55) 45%, rgba(7,27,51,.94) 100%);
    }
    .fc-hero-inner { position: relative; z-index: 5; padding: 34px 0 150px; }
    .fc-logos {
        display: inline-flex; gap: 8px; align-items: center; background: rgba(255,255,255,.92);
        border-radius: 999px; padding: 8px 18px; margin-bottom: 34px;
    }
    .fc-logos .ph { width: 84px; height: 34px; border-radius: 6px; font-size: .55rem; color: #0D3B66; background: #EEF3F9; border: 1px solid #DCE6F1; font-weight: 700; }
    .fc-kicker {
        font-family: 'Jost', sans-serif; font-weight: 600; font-size: 12.5px; letter-spacing: .34em;
        text-transform: uppercase; color: #FFC044; display: flex; align-items: center; gap: 14px;
    }
    .fc-kicker:before { content: ""; width: 44px; height: 2px; background: #FBA504; }
    .fc-h1 {
        font-family: 'Jost', sans-serif; font-weight: 700; font-size: 54px; line-height: 1.08;
        letter-spacing: -.01em; color: #fff; margin: 20px 0 0; max-width: 860px;
    }
    .fc-h1 .sub {
        display: block; font-weight: 400; font-size: 26px; line-height: 1.45; color: rgba(255,255,255,.9);
        margin-top: 14px; max-width: 720px;
    }
    .fc-h1 .sub em { font-style: normal; font-weight: 600; color: #FFC044; }
    .fc-btns { display: flex; gap: 14px; align-items: center; margin-top: 34px; flex-wrap: wrap; }
    .fc-b1 {
        background: #FBA504; color: #071B33; font-family: 'Jost', sans-serif; font-weight: 600; font-size: 15px;
        padding: 15px 30px; border-radius: 8px; text-decoration: none; display: inline-block;
        box-shadow: 0 12px 30px rgba(251,166,38,.28);
    }
    .fc-b2 {
        border: 1.5px solid rgba(255,255,255,.55); color: #fff; font-family: 'Jost', sans-serif; font-weight: 500;
        font-size: 15px; padding: 14px 28px; border-radius: 8px; text-decoration: none; display: inline-block;
    }

    /* ============ KARTU MENGAMBANG (gaya H) ============ */
    .fc-float { position: relative; z-index: 8; margin-top: -92px; }
    .fc-float-grid {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px;
        transition: grid-template-columns .45s cubic-bezier(.22,1,.36,1);
    }
    .fc-fc {
        background: #fff; border-radius: 16px; overflow: hidden;
        box-shadow: 0 24px 60px rgba(10,37,64,.16); display: flex; flex-direction: column;
    }
    .fc-fc-top {
        height: 74px; background: linear-gradient(135deg, #0D3B66, #14508C);
        display: flex; align-items: center; padding: 0 26px;
        font-family: 'Jost', sans-serif; font-weight: 600; font-size: 11.5px; letter-spacing: .22em;
        text-transform: uppercase; color: rgba(255,255,255,.85);
    }
    .fc-fc:nth-child(2) .fc-fc-top { background: linear-gradient(135deg, #14508C, #3E7CB8); }
    .fc-fc:nth-child(3) .fc-fc-top { background: linear-gradient(135deg, #0A2540, #0D3B66); }
    .fc-fc-body { padding: 24px 26px 26px; display: flex; flex-direction: column; flex: 1; }
    .fc-fc-val { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 27px; color: #0A2540; letter-spacing: -.01em; }
    .fc-fc-txt { font-family: 'Heebo', sans-serif; font-size: 14.5px; line-height: 1.6; color: #5B6C82; margin-top: 8px; flex: 1; }
    .fc-fc-link {
        font-family: 'Jost', sans-serif; font-weight: 600; font-size: 13.5px; color: #0D3B66;
        margin-top: 16px; text-decoration: none; letter-spacing: .02em;
        border-bottom: 2px solid #FBA504; align-self: flex-start; padding-bottom: 3px;
    }

    /* ============ RUANG PUTIH / TENTANG (gaya G) ============ */
    .fc-sec { padding: 88px 0; }
    .fc-sec-tight { padding: 64px 0; }
    .fc-bg-soft { background: #F7FAFD; }
    .fc-grid2 { display: grid; grid-template-columns: 1.04fr .96fr; gap: 64px; align-items: center; }
    .fc-k {
        font-family: 'Jost', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: .26em;
        text-transform: uppercase; color: #14508C; display: flex; align-items: center; gap: 12px;
    }
    .fc-k:before { content: ""; width: 34px; height: 2px; background: #FBA504; }
    .fc-h2 {
        font-family: 'Jost', sans-serif; font-weight: 600; font-size: 40px; line-height: 1.2;
        letter-spacing: -.015em; color: #0A2540; margin-top: 18px;
    }
    .fc-h2 .accent { color: #0D3B66; font-weight: 700; }
    .fc-h2 .mark {
        background: linear-gradient(180deg, transparent 62%, rgba(251,166,38,.4) 62%);
    }
    .fc-lead { font-family: 'Heebo', sans-serif; font-size: 16.5px; line-height: 1.75; color: #5B6C82; margin-top: 20px; }
    .fc-mosaic { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 170px 170px; gap: 16px; }
    .fc-mosaic .m1 { grid-row: 1 / 3; border-radius: 14px; overflow: hidden; }
    .fc-mosaic .m2, .fc-mosaic .m3 { border-radius: 14px; overflow: hidden; }
    .fc-mosaic .ph { width: 100%; height: 100%; }
    .fc-mosaic-note { font-family: 'Heebo', sans-serif; font-size: 13px; color: #8496AD; margin-top: 14px; display: flex; gap: 8px; align-items: center; }
    .fc-mosaic-note i { color: #FBA504; }

    /* ============ JUDUL BAGIAN TENGAH ============ */
    .fc-head-center { text-align: center; margin-bottom: 46px; }
    .fc-head-center .fc-k { justify-content: center; }
    .fc-head-center .fc-k:after { content: ""; width: 34px; height: 2px; background: #FBA504; }

    /* ============ SUB-MENU DI DALAM KARTU MENGAMBANG ============ */
    .fc-fc-list { list-style: none; margin: 16px 0 0; padding: 0; }
    .fc-fc-list li { border-top: 1px solid #EEF2F7; }
    .fc-fc-list li:first-child { border-top: 0; }
    .fc-fc-list a {
        display: flex; justify-content: space-between; align-items: center; gap: 12px;
        padding: 9px 0; font-family: 'Heebo', sans-serif; font-size: 14.5px; color: #5B6C82;
        text-decoration: none; transition: color .25s ease, padding-left .25s ease;
    }
    .fc-fc-list a:after { content: "\2192"; color: #FBA504; font-size: 13px; transition: transform .25s ease; }
    .fc-fc-list a:hover { color: #0D3B66; padding-left: 6px; }
    .fc-fc-list a:hover:after { transform: translateX(4px); }

    /* ============ KARTU KLIK-UNTUK-BUKA (tertutup dulu, isi tampil saat diklik) ============ */
    .fc-fc-toggle {
        background: none; border: 0; padding: 0; width: 100%;
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        cursor: pointer; text-align: left; font: inherit;
    }
    .fc-fc-plus {
        flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%;
        border: 1.5px solid #FBA504; color: #0D3B66;
        display: inline-flex; align-items: center; justify-content: center;
        font-size: 20px; font-weight: 400; line-height: 1;
        transition: transform .35s ease, background .3s ease, color .3s ease, border-color .3s ease;
    }
    .fc-fc-toggle:hover .fc-fc-plus { background: rgba(251,166,38,.14); }
    .fc-fc-toggle:focus-visible { outline: 2px solid #FBA504; outline-offset: 4px; border-radius: 6px; }
    .fc-fc.open .fc-fc-plus { transform: rotate(45deg); background: #0D3B66; border-color: #0D3B66; color: #fff; }
    .fc-fc-detail {
        display: grid; grid-template-rows: 0fr; opacity: 0;
        transition: grid-template-rows .5s cubic-bezier(.22,1,.36,1), opacity .35s ease;
    }
    .fc-fc.open .fc-fc-detail { grid-template-rows: 1fr; opacity: 1; }
    .fc-fc-detail-in { overflow: hidden; min-height: 0; }

    /* ============ TENTANG & WILAYAH KERJA ASLI (dipertahankan dari website) ============ */
    .orig-tentang .content-section { --d: .14s; }
    @media (min-width: 992px) {
        .orig-wilayah .mobile-wilayah { display: none !important; }
        .orig-wilayah .desktop-wilayah { display: block !important; }
    }

    /* ============ PANEL DATA WK (gaya I) ============ */
    .fc-data-wrap { display: grid; grid-template-columns: 1fr 1.05fr; gap: 34px; align-items: stretch; }
    .fc-data {
        background: #071B33; border-radius: 16px; padding: 34px 34px 30px; color: #fff; position: relative; overflow: hidden;
    }
    .fc-data:before {
        content: ""; position: absolute; right: -50px; top: -50px; width: 170px; height: 170px; border-radius: 50%;
        background: radial-gradient(circle, rgba(251,166,38,.3), transparent 70%);
    }
    .fc-data-head { display: flex; justify-content: space-between; align-items: center; position: relative; }
    .fc-data-title { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.7); }
    .fc-badge { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 10.5px; color: #071B33; background: #FBA504; padding: 5px 12px; border-radius: 999px; letter-spacing: .1em; }
    .fc-rows { margin-top: 22px; position: relative; }
    .fc-row { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.12); }
    .fc-row:first-child { border-top: 0; }
    .fc-row .l { font-family: 'Heebo', sans-serif; font-size: 14.5px; color: rgba(255,255,255,.6); }
    .fc-row .v { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 15px; color: #fff; text-align: right; }
    .fc-row .v.gold { color: #FFC044; }
    .fc-map { border-radius: 16px; overflow: hidden; position: relative; min-height: 330px; }
    .fc-map .ph { position: absolute; inset: 0; font-size: .85rem; letter-spacing: .1em; }
    .fc-map-cap {
        position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(180deg, rgba(7,27,51,0), rgba(7,27,51,.9));
        padding: 40px 26px 20px; color: #fff; font-family: 'Jost', sans-serif; font-weight: 600; font-size: 15px;
        display: flex; justify-content: space-between; align-items: flex-end;
    }
    .fc-map-cap span { font-family: 'Heebo', sans-serif; font-weight: 400; font-size: 13px; color: rgba(255,255,255,.7); display: block; margin-top: 4px; }
    .fc-map-cap i { color: #FFC044; }

    /* ============ PENGUMUMAN ============ */
    .fc-ann { display: flex; flex-direction: column; gap: 14px; }
    .fc-ann-item {
        display: flex; align-items: center; gap: 22px; background: #fff; border: 1px solid #E7EEF6;
        border-radius: 12px; padding: 18px 24px; text-decoration: none; box-shadow: 0 6px 22px rgba(10,37,64,.05);
    }
    .fc-ann-date {
        flex: 0 0 auto; width: 62px; text-align: center; background: #0D3B66; color: #fff; border-radius: 10px; padding: 9px 0;
    }
    .fc-ann-date b { display: block; font-family: 'Jost', sans-serif; font-weight: 700; font-size: 20px; line-height: 1; }
    .fc-ann-date span { font-family: 'Heebo', sans-serif; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75); }
    .fc-ann-body { flex: 1; }
    .fc-ann-t { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 16.5px; color: #0A2540; }
    .fc-ann-m { font-family: 'Heebo', sans-serif; font-size: 13.5px; color: #8496AD; margin-top: 4px; }
    .fc-ann-go { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 13.5px; color: #0D3B66; white-space: nowrap; }
    .fc-ann-go i { color: #FBA504; margin-left: 6px; }

    /* Judul bagian dengan link kanan */
    .fc-sec-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 34px; gap: 20px; }
    .fc-sec-head h1 { margin: 0; }
    .fc-seeall { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 14.5px; color: #0D3B66; text-decoration: none; white-space: nowrap; border-bottom: 2px solid #FBA504; padding-bottom: 4px; }

    /* Filter kategori (pada aslinya inline di kategori_filter.php) */
    .kategori-berita-filter {
        display: flex; flex-wrap: nowrap; justify-content: flex-start;
        align-items: center; gap: 8px; margin: 0; padding: 4px 2px 10px;
        overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: thin;
    }
    .kategori-berita-filter-item { flex: 0 0 auto; white-space: nowrap; list-style: none; margin: 0; }
    .kategori-berita-filter-item,
    .kategori-berita-filter-item a {
        display: inline-block; padding: 6px 18px; border-radius: 30px;
        border: 1px solid #DCE3EC; color: #0A2540; font-size: 0.9rem;
        font-weight: 500; text-decoration: none; cursor: pointer;
        transition: all 0.2s ease; background: #fff;
    }
    .kategori-berita-filter-item.active,
    .kategori-berita-filter-item.active a { background: #0D3B66; border-color: #0D3B66; color: #fff; }

    /* Badge kategori pada kartu berita (seperti badge pada situs asli) */
    .fc-b {
        display: inline-block; font-size: .7rem; font-weight: 700;
        letter-spacing: .5px; text-transform: uppercase; color: #0D3B66;
        background: rgba(13, 59, 102, .07); border: 1px solid rgba(13, 59, 102, .16);
        border-radius: 999px; padding: 3px 10px; line-height: 1.5;
    }
    @keyframes fcFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
    .berita-item.fc-fresh { animation: fcFadeUp .38s ease both; }
    html.fc-noanim .berita-item.fc-fresh { animation: none; }
    @media (min-width: 992px) {
        .kategori-berita-filter { flex-wrap: wrap; justify-content: center; overflow-x: visible; }
        .kategori-berita-filter-item { white-space: normal; }
    }

    /* Manajemen ringkas */
    .fc-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 360px)); gap: 26px; justify-content: center; }

    /* ============ ANIMASI (reveal on scroll + micro-interaction) ============ */
    .fc-reveal {
        opacity: 0; transform: translateY(26px);
        transition:
            opacity .8s cubic-bezier(.22,1,.36,1) var(--d, 0s),
            transform .8s cubic-bezier(.22,1,.36,1) var(--d, 0s),
            translate .45s cubic-bezier(.22,1,.36,1),
            box-shadow .45s ease;
    }
    .fc-reveal.is-in { opacity: 1; transform: none; }

    /* Garis emas pada judul bagian "menggambar" diri saat muncul */
    .fc-reveal .fc-k:before, .fc-reveal .fc-k:after {
        width: 0; transition: width .7s cubic-bezier(.22,1,.36,1) calc(var(--d, 0s) + .25s);
    }
    .fc-reveal.is-in .fc-k:before, .fc-reveal.is-in .fc-k:after { width: 34px; }
    .fc-kicker.fc-reveal:before { width: 0; transition: width .7s cubic-bezier(.22,1,.36,1) calc(var(--d, 0s) + .3s); }
    .fc-kicker.fc-reveal.is-in:before { width: 44px; }

    /* Stagger hero & kartu mengambang (entrance saat halaman dibuka) */
    .fc-logos { --d: .05s; }
    .fc-kicker { --d: .18s; }
    .fc-h1 { --d: .30s; }
    .fc-btns { --d: .46s; }
    .fc-float-grid .fc-fc:nth-child(1) { --d: .58s; }
    .fc-float-grid .fc-fc:nth-child(2) { --d: .70s; }
    .fc-float-grid .fc-fc:nth-child(3) { --d: .82s; }

    /* Stagger blok per bagian */
    .fc-grid2 > *:nth-child(2), .fc-data-wrap > *:nth-child(2) { --d: .14s; }
    .row.g-4 > .col-lg-4:nth-child(2) { --d: .1s; }
    .row.g-4 > .col-lg-4:nth-child(3) { --d: .2s; }
    .pemegang-saham-card { --d: .1s; }
    .row.g-4 > .col-md-6:nth-child(2) .pemegang-saham-card { --d: .22s; }
    .fc-ann .fc-ann-item:nth-child(2) { --d: .1s; }
    .fc-ann .fc-ann-item:nth-child(3) { --d: .2s; }
    .fc-team-grid .team-item:nth-child(2) { --d: .12s; }

    /* Hover micro-interaction */
    .fc-fc:hover { translate: 0 -8px; box-shadow: 0 34px 70px rgba(10,37,64,.20); }
    .fc-fc:hover .fc-fc-link { letter-spacing: .06em; }
    .fc-fc-link { transition: letter-spacing .3s ease, color .3s ease; }
    .news-card:hover { translate: 0 -8px; }
    .fc-ann-item:hover { translate: 0 -4px; border-color: #F3D9A3; box-shadow: 0 16px 40px rgba(10,37,64,.10); }
    .fc-ann-item .fc-ann-date { transition: background .3s ease; }
    .fc-ann-item:hover .fc-ann-date { background: #0A2540; }
    .team-item:hover { translate: 0 -8px; box-shadow: 0 24px 54px rgba(10,37,64,.12); }
    .pemegang-saham-card:hover { translate: 0 -6px; box-shadow: 0 24px 54px rgba(10,37,64,.10); }
    .fc-seeall { transition: color .25s ease, border-color .25s ease; }
    .fc-seeall:hover { color: #14508C; border-color: #0A2540; }

    /* Zoom foto saat hover */
    .fc-mosaic .ph, .news-card .ph, .team-item .ph { transition: transform .7s cubic-bezier(.22,1,.36,1); }
    .fc-mosaic > div:hover .ph { transform: scale(1.06); }
    .news-card > a { display: block; overflow: hidden; }
    .news-card > a:hover .ph { transform: scale(1.06); }
    .team-item a:hover .ph { transform: scale(1.05); }

    /* Tombol hero */
    .fc-b1 { transition: background .3s ease, transform .3s ease, box-shadow .3s ease; }
    .fc-b1:hover { background: #FFC044; transform: translateY(-3px); box-shadow: 0 18px 38px rgba(251,166,38,.40); }
    .fc-b2 { transition: background .3s ease, transform .3s ease; }
    .fc-b2:hover { background: rgba(255,255,255,.14); transform: translateY(-3px); }

    /* Awan awan di hero bergerak sangat pelan */
    .fc-sky:after { animation: fcCloudDrift 46s ease-in-out infinite alternate; }
    @keyframes fcCloudDrift { from { transform: translateX(-16px); } to { transform: translateX(16px); } }

    /* Bayangan navbar saat halaman digulir */
    nav.navbar { transition: box-shadow .35s ease; }
    nav.navbar.nav-shrink { box-shadow: 0 14px 34px rgba(7,27,51,.12); }

    /* Mode statis: screenshot & prefers-reduced-motion (semua langsung tampil final) */
    html.fc-noanim *, html.fc-noanim *::before, html.fc-noanim *::after {
        animation-duration: .001s !important; animation-delay: 0s !important;
        transition-duration: .001s !important; transition-delay: 0s !important;
    }
    html.fc-noanim .fc-reveal { opacity: 1 !important; transform: none !important; }

    @media (prefers-reduced-motion: reduce) {
        .fc-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
        .fc-sky:after { animation: none !important; }
    }

    /* ============ HARMONISASI TIPOGRAFI & TEMA (seluruh beranda serasi) ============ */
    /* Satu keluarga judul: Jost + navy #0A2540 di semua section */
    .company-name, .modern-title, .orig-wilayah .card-title {
        font-family: 'Jost', sans-serif !important;
        color: #0A2540 !important;
        letter-spacing: -.015em;
    }
    .company-name { font-weight: 700; font-size: clamp(30px, 3.4vw, 40px); line-height: 1.2; }
    .modern-title { font-weight: 600; font-size: clamp(28px, 3vw, 34px); }
    .fc-h2, .company-name, .modern-title { text-wrap: balance; }
    /* Underline judul Wilayah Kerja: garis emas statis 34px (selaras fc-k), tanpa denyut */
    .modern-title::after {
        animation: none; width: 34px; height: 2px;
        background: #FBA504; border-radius: 2px;
        box-shadow: none;
    }
    .modern-title:hover::after { transform: translateX(-50%); }
    /* Satu warna & ritme teks isi: Heebo #5B6C82, line-height 1.75 (nyaman dibaca) */
    .company-description, .checklist-text {
        font-family: 'Heebo', sans-serif !important;
        color: #5B6C82 !important;
        line-height: 1.75;
    }
    .company-description { font-size: 16.5px; }
    /* Kartu Wilayah Kerja: judul Jost, radius & bayangan disamakan dengan kartu lain */
    .orig-wilayah .card-title { font-weight: 600; }
    .orig-wilayah .card a { font-family: 'Heebo', sans-serif; }
    .orig-wilayah .card { border-radius: 16px !important; box-shadow: 0 18px 44px rgba(10,37,64,.10) !important; }
    /* Pembatas antar section: hairline + aksen emas tengah (clean) */
    .fc-divider { background: #fff; padding: 6px 0; }
    .fc-divider span {
        display: block; max-width: 1200px; margin: 0 auto; height: 1px;
        background: #E4EAF2; position: relative;
    }
    .fc-divider span:after {
        content: ""; position: absolute; left: 50%; top: -1px; transform: translateX(-50%);
        width: 72px; height: 3px; border-radius: 2px; background: #FBA504;
    }
    /* Tombol Tentang: font Jost agar serasi dengan tombol hero */
    .orig-tentang .btn { font-family: 'Jost', sans-serif; font-weight: 600; }

    @media (max-width: 991px) {
        .fc-h1 { font-size: 38px; }
        .fc-h1 .sub { font-size: 20px; }
        /* 3 kartu TETAP sejajar di semua lebar layar (kotak ikut mengecil) */
        .fc-float-grid { gap: 16px; }
        /* Saat ada kartu dibuka di layar sempit: kartu terbuka melebar penuh & di atas,
           2 kartu lainnya tetap berdampingan di baris bawah supaya isi tetap terbaca */
        .fc-float-grid:has(.fc-fc.open) { grid-template-columns: repeat(2, 1fr); }
        .fc-float-grid .fc-fc.open { grid-column: 1 / -1; order: -1; }
        .fc-float { margin-top: -50px; }
        .fc-grid2, .fc-data-wrap { grid-template-columns: 1fr; }
        .fc-h2 { font-size: 30px; }
        .fc-team-grid { grid-template-columns: 1fr; }
    }

    /* Tablet sempit / HP landscape — kompak agar 3 kotak tetap muat sejajar */
    @media (max-width: 767px) {
        .fc-float-grid { gap: 12px; }
        .fc-fc-top {
            height: auto; min-height: 58px; padding: 12px 16px;
            font-size: 10px; letter-spacing: .16em; line-height: 1.5;
        }
        .fc-fc-body { padding: 16px 16px 18px; }
        .fc-fc-val { font-size: 20px; }
        .fc-fc-plus { width: 26px; height: 26px; font-size: 17px; }
        .fc-fc-toggle { gap: 8px; }
        .fc-fc-txt { font-size: 13.5px; }
        .fc-fc-list a { font-size: 13.5px; }
    }

    /* HP — super kompak: 3 kotak tetap 1 baris, judul & label mengecil */
    @media (max-width: 575px) {
        .fc-float-grid { gap: 8px; }
        /* Judul bagian + link "Lihat semua" boleh turun baris supaya tidak overflow */
        .fc-sec-head { flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
        .fc-seeall { white-space: normal; }
        .fc-fc-top {
            height: auto; min-height: 46px; padding: 9px 9px;
            font-size: 8px; letter-spacing: .08em; line-height: 1.4;
        }
        .fc-fc-body { padding: 12px 9px 14px; }
        .fc-fc-val { font-size: 14.5px; line-height: 1.25; }
        .fc-fc-plus { width: 20px; height: 20px; font-size: 13px; border-width: 1.25px; }
        .fc-fc-toggle { gap: 4px; }
        .fc-fc-txt { font-size: 12.5px; }
        .fc-fc-list a { font-size: 12.5px; padding: 7px 0; }
        .fc-fc-link { font-size: 12px; margin-top: 12px; }
        /* Kartu terbuka melebar penuh → kembalikan ukuran nyaman */
        .fc-fc.open .fc-fc-val { font-size: 18px; }
        .fc-fc.open .fc-fc-top { font-size: 10px; padding: 11px 16px; min-height: 50px; }
        .fc-fc.open .fc-fc-body { padding: 16px 16px 18px; }
        .fc-fc.open .fc-fc-txt, .fc-fc.open .fc-fc-list a { font-size: 14px; }
        .fc-fc.open .fc-fc-plus { width: 26px; height: 26px; font-size: 17px; }
    }
/* ============ V5: bahasa desain mockup kiriman user (scoped .rpm-home) ============ */
.rpm-home { background: #F5F3EE; }
.rpm-home .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8A6200; }
.rpm-home .eyebrow::before { content: ""; width: 28px; height: 2px; background: #D9A21B; }
.rpm-home .rpm-h2 { margin: 18px 0 0; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 44px; line-height: 1.12; letter-spacing: -.015em; color: #0E2240; }
.rpm-home .rpm-tab { min-height: 40px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: #5A6475; font: 600 14px 'Plus Jakarta Sans', sans-serif; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.rpm-home .rpm-tab:hover { color: #0E2240; }
.rpm-home .rpm-tab.on { background: #FFFFFF; color: #0E2240; box-shadow: 0 1px 2px rgba(14,34,64,.12); }
.rpm-home .rpm-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: #EAE6DC; border-radius: 12px; }
.rpm-home .rpm-card { transition: transform .25s ease, box-shadow .25s ease; }
.rpm-home .rpm-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(14,34,64,.35); }
.rpm-home .rpm-lnk-t { transition: color .2s ease; }
.rpm-home a:hover .rpm-lnk-t { color: #0E7A45 !important; }
.rpm-home .rpm-btn { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.rpm-home .rpm-btn:hover { transform: translateY(-1px); }
.rpm-home .rpm-btn-solid:hover { background-color: #0A5C34 !important; color: #FFFFFF !important; }
.rpm-home .rpm-btn-ghost:hover { border-color: #13233B !important; color: #13233B !important; }
/* foto tentang: ikut latar krem seragam */
.rpm-home .orig-tentang { background: #F5F3EE; }
/* hero asli lebih pendek dari hero konsep: overlap kartu dikecilkan */
.rpm-home .bg-gradient-header.fact { padding-bottom: 84px !important; }
.rpm-home .bg-gradient-header.fact.rig-hero { padding-bottom: 0 !important; }
.rpm-home .fc-float { margin-top: -48px; }
/* bingkai kartu tim */
.rpm-home .team-item { border: 1px solid #E7EEF6 !important; border-radius: 14px !important; box-shadow: 0 10px 30px rgba(10,37,64,.07); overflow: hidden; }
/* pompa angguk hero */
.rpm-home .bg-gradient-header > .pj-wrap { position: absolute; bottom: auto; z-index: 1; pointer-events: none; line-height: 0; }
.pj-wrap.pj-left { left: 2.5%; top: 34%; width: min(200px, 18vw); }
.pj-wrap.pj-right { right: 2.5%; top: 42%; width: min(140px, 13vw); opacity: .85; }
.pj-wrap svg { display: block; width: 100%; height: auto; }
/* V5 REVISI 4a: pompa angguk kanan dibalik menghadap sebaliknya (kinematika ikut ter-mirror, aman) */
.pj-wrap.pj-right svg { transform: scaleX(-1); }
@media (max-width: 767px) { .pj-wrap { display: none; } }
/* ============================================================
   V5 REVISI 6 - JARAK ANTAR-SECTION DISERAGAMKAN
   Patokan: whitespace Pemegang Saham -> Wilayah Kerja = 72px.
   Sebelumnya tiap section baru pakai padding:112px (inline di
   _berita_/_galeri_/_pengumuman_ section) sehingga antar dua
   section jadi 112+112 = 224px; dan di <=768px aturan !important
   di bawah ini berlaku ganda (section luar + div dalam) -> 128px.
   Kini padding per-partial = 36px, diprediksi:
     Wilayah Kerja -> Berita      = 28 + 36      = 64px
     Berita -> Galeri             = 36 + 36 + 1  = 73px
     Galeri -> Pengumuman         = 36 + 36      = 72px
     Pengumuman -> Manajemen      = 36 + 20 + 15 = 71px
   Aturan padding luar dihapus agar tidak menumpuk (class
   .rpm-sec dipakai 2x di berita: <section> + <div>).
   ============================================================ */
@media (max-width: 768px) {
  .rpm-home .rpm-h2 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .rpm-home .rpm-card:hover, .rpm-home .rpm-btn:hover,
  .rpm-home .rpm-news-card:hover, .rpm-home .rpm-news-card:hover .rpm-news-ph img { transform: none; }
}

/* ============ V5 REVISI 1: berita grid 3 kolom (sesuai screenshot user) ============ */
.rpm-home .rpm-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.rpm-home .rpm-news-card {
    display: flex; flex-direction: column; height: 100%; text-decoration: none;
    background: #FFFFFF; border-radius: 12px; overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}
.rpm-home .rpm-news-card:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(14, 34, 64, .16); }
.rpm-home .rpm-news-ph { display: block; position: relative; overflow: hidden; background: #DCE3EA; border-bottom: 1px solid #F0F0F0; }
.rpm-home .rpm-news-ph img { display: block; width: 100%; height: 220px; object-fit: cover; transition: transform .5s ease; }
.rpm-home .rpm-news-card:hover .rpm-news-ph img { transform: scale(1.05); }
/* tombol play untuk kartu video galeri (dipakai .rpm-gal-ph) */
.rpm-home .rpm-gal-play {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(7, 27, 51, .3); transition: background-color .25s ease;
}
.rpm-home .rpm-gal-item:hover .rpm-gal-play { background: rgba(7, 27, 51, .45); }
.rpm-home .rpm-gal-play i { font-size: 46px; color: #FFFFFF; }
.rpm-home .rpm-news-body { display: flex; flex-direction: column; flex: 1; padding: 16px 16px 18px; }
.rpm-home .rpm-news-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.rpm-home .rpm-news-date { font-size: .9rem; font-weight: 500; color: #00A86B; white-space: nowrap; }
.rpm-home .rpm-news-date i { margin-right: 6px; }
.rpm-home .rpm-news-kat {
    font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: #8A6200; background: #F6EEDC; padding: 4px 9px; border-radius: 20px; white-space: nowrap;
}
.rpm-home .rpm-news-title {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: 48px; margin-bottom: 8px;
    font-size: 1.05rem; font-weight: 600; line-height: 1.4; color: #1A1A40;
}
.rpm-home .rpm-news-ex {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
    font-size: .9rem; line-height: 1.6; color: #555555; text-align: justify;
}
.rpm-home .rpm-news-foot { display: block; margin-top: auto; padding-top: 14px; }
.rpm-home .rpm-news-more { font-size: .9rem; font-weight: 600; color: #E63946; }
@media (max-width: 991px) { .rpm-home .rpm-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .rpm-home .rpm-news-grid { grid-template-columns: 1fr; } .rpm-home .rpm-news-title { min-height: 0; } }

/* ============ V5 REVISI 4: Berita Terkini gaya dokumen mockup (artikel utama + daftar ringkas) ============
   Keputusan user: gaya grid 3 kolom dipindahkan ke Galeri Foto/Video,
   Berita Terkini kembali ke layout mockup Main.dc.html L156-201. */
.rpm-home .rpm-news-featwrap { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.rpm-home .rpm-news-feat {
    flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column;
    background: #FFFFFF; border: 1px solid #E2DED4; border-radius: 18px;
    overflow: hidden; text-decoration: none; color: #13233B;
    transition: transform .25s ease, box-shadow .25s ease;
}
.rpm-home .rpm-news-feat:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(14,34,64,.35); }
.rpm-home .rpm-news-feat-ph { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #DCE3EA; }
.rpm-home .rpm-news-feat-ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rpm-home .rpm-news-feat:hover .rpm-news-feat-ph img { transform: scale(1.04); }
.rpm-home .rpm-news-feat-body { display: block; padding: 30px 32px 34px; }
.rpm-home .rpm-news-feat-date { display: block; font-size: 13px; font-weight: 600; color: #5A6475; }
.rpm-home .rpm-news-feat-title {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 14px; font-family: 'Fraunces', Georgia, serif; font-size: 28px; font-weight: 500;
    line-height: 1.25; color: #0E2240;
}
.rpm-home .rpm-news-feat-ex {
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
    margin: 14px 0 0; font-size: 15px; line-height: 1.7; color: #4E5A6B;
}
.rpm-home .rpm-news-feat-more { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 600; color: #0D3B66; }
/* Badge kategori berita - warna mengikuti identitas beranda: biru tua
   #0D3B66 (warna utama heading/tombol beranda) dgn teks putih. */
.rpm-home .rpm-news-cat {
    display: inline-block; padding: 5px 11px; border-radius: 999px;
    background: #0D3B66; color: #FFFFFF; font-size: 12px; font-weight: 700;
    line-height: 1.35; letter-spacing: .2px; white-space: nowrap;
}
.rpm-home .rpm-news-feat .rpm-news-cat { position: absolute; top: 14px; left: 14px; z-index: 2; }
.rpm-home .rpm-news-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rpm-home .rpm-news-row .rpm-news-cat { padding: 3px 9px; font-size: 11px; }
/* Pengumuman Terkini: kolom kiri berisi foto (atas) + tanggal (bawah),
   dipisah proporsi kira-kira 70:30 - foto dominan, tanggal footer kecil.
   Di layar sempit kolom itu dikecilkan agar judul/isi tetap lega. */
@media (max-width: 520px) {
    .rpm-home .rpm-peng-media { width: 78px !important; }
    .rpm-home .rpm-peng-day { font-size: 18px !important; }
}
.rpm-home .rpm-news-list { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; }
.rpm-home .rpm-news-row {
    display: flex; gap: 20px; padding: 24px 0;
    border-bottom: 1px solid #E2DED4; text-decoration: none; color: #13233B;
}
.rpm-home .rpm-news-rows > .rpm-news-row:first-child { padding-top: 0; }
.rpm-home .rpm-news-row-ph {
    flex: none; width: 132px; aspect-ratio: 4 / 3; border-radius: 12px;
    overflow: hidden; background: #DCE3EA;
}
.rpm-home .rpm-news-row-ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rpm-home .rpm-news-row:hover .rpm-news-row-ph img { transform: scale(1.06); }
.rpm-home .rpm-news-row-body { min-width: 0; align-self: center; }
.rpm-home .rpm-news-row-date { display: block; font-size: 13px; font-weight: 600; color: #5A6475; }
.rpm-home .rpm-news-row-title {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 6px; font-size: 16px; font-weight: 700; line-height: 1.45; color: #0E2240;
}
.rpm-home .rpm-news-list-more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 24px; font-size: 15px; font-weight: 600; color: #0E7A45; }
@media (max-width: 991px) {
    .rpm-home .rpm-news-featwrap { flex-direction: column; gap: 24px; }
    .rpm-home .rpm-news-feat, .rpm-home .rpm-news-list { flex: 1 1 auto; width: 100%; }
    .rpm-home .rpm-news-feat-body { padding: 24px 22px 28px; }
    .rpm-home .rpm-news-feat-title { font-size: 24px; }
}
@media (max-width: 520px) {
    .rpm-home .rpm-news-row { gap: 14px; }
    .rpm-home .rpm-news-row-ph { width: 96px; }
}
@media (prefers-reduced-motion: reduce) {
    .rpm-home .rpm-news-feat:hover, .rpm-home .rpm-news-feat:hover .rpm-news-feat-ph img,
    .rpm-home .rpm-news-row:hover .rpm-news-row-ph img { transform: none; }
}

/* ============ V5 REVISI 4b: Galeri Foto/Video gaya dokumen mockup (L206-229) ============
   Grid auto-fit minmax(280px,1fr) gap 24 — sengaja pakai CLASS (bukan style inline)
   agar selector pasti menempuh di peramban user. Item polos: foto 4/3 radius 14,
   tanggal 13px, judul 15px/600 — TANPA kartu putih (sesuai mockup). */
.rpm-home .rpm-gal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}
.rpm-home .rpm-gal-item {
    display: flex; flex-direction: column;
    text-decoration: none; color: #13233B;
}
.rpm-home .rpm-gal-ph {
    display: block; position: relative;
    aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden;
    background: #DCE3EA;
    transition: transform .25s ease, box-shadow .25s ease;
}
.rpm-home .rpm-gal-item:hover .rpm-gal-ph {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -24px rgba(14, 34, 64, .35);
}
.rpm-home .rpm-gal-ph img {
    display: block; width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s ease;
}
.rpm-home .rpm-gal-item:hover .rpm-gal-ph img { transform: scale(1.05); }
.rpm-home .rpm-gal-date { margin-top: 14px; font-size: 13px; color: #5A6475; }
/* V5 REVISI 7 — judul galeri boleh tampil lebih panjang (limit PHP dinaikkan
   60 → 160 karakter). Clamp 4 baris hanya jaring pengaman agar judul sangat
   panjang tidak membuat satu kartu melompat tinggi dan merusak baris grid. */
.rpm-home .rpm-gal-title {
    margin-top: 4px; font-size: 15px; font-weight: 600; line-height: 1.45;
    transition: color .2s ease;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4;
    line-clamp: 4; overflow: hidden;
}
.rpm-home .rpm-gal-item:hover .rpm-gal-title { color: #0E7A45; }
@media (prefers-reduced-motion: reduce) {
    .rpm-home .rpm-gal-item:hover .rpm-gal-ph,
    .rpm-home .rpm-gal-item:hover .rpm-gal-ph img { transform: none; box-shadow: none; }
}

/* ============ V5 REVISI 2: seragamkan semua section ke krem #F5F3EE ============ */
.rpm-home .background-wrapper { background: #F5F3EE !important; }
.rpm-home .stats-simple { background: #F5F3EE; border-top-color: #E7E3DA; }

/* ============ V5 REVISI 3: sambung gelap di belakang 3 kartu mengambang ============ */
/* (menghilangkan pita krem kosong antara hero dan banner) */
.rpm-home .fc-float::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    max-width: 100vw;
    background: linear-gradient(180deg, rgba(11, 20, 35, 0) 0, #0B1423 48px);
    pointer-events: none;
}
.rpm-home .fc-float-grid { position: relative; z-index: 1; }

/* ============ V5 REVISI 6: responsif mobile ============ */

/* 6a - galeri: di layar kecil tampil 2 foto per baris, bukan 1 per 1.
   (default minmax(280px,1fr) membuat hanya muat 1 kolom di hp) */
@media (max-width: 575.98px) {
    .rpm-home .rpm-gal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .rpm-home .rpm-gal-ph { border-radius: 10px; }
    .rpm-home .rpm-gal-play i { font-size: 30px; }
    .rpm-home .rpm-gal-date { margin-top: 10px; font-size: 11.5px; }
    .rpm-home .rpm-gal-title { margin-top: 3px; font-size: 13px; line-height: 1.35; }
}

/* 6b - hero: hanya SATU pompa angguk, dibuat besar, responsif, dan menjadi
   siluet di belakang judul (transparan 30%). Pompa kanan disembunyikan.
   Lapisan teks tetap di atas: .bg-gradient-header > .container punya z-index 3,
   sedangkan pompa di sini z-index 1. */
.rpm-home .bg-gradient-header > .pj-wrap { display: block; }
.rpm-home .bg-gradient-header > .pj-wrap.pj-right { display: none; }
.rpm-home .bg-gradient-header > .pj-wrap.pj-left {
    display: block;
    left: 50%;
    right: auto;
    top: 58%;
    width: min(760px, 92vw);
    transform: translate(-50%, -50%);
    opacity: .30;
    z-index: 1;
}
@media (max-width: 767px) {
    .rpm-home .bg-gradient-header > .pj-wrap.pj-left { top: 56%; width: min(760px, 118vw); }
}

/* ============ V5 REVISI 5: latar halaman beranda ============ */
/* bootstrap.min.css bawaan situs menetapkan body { background-color: #f6f4f9 }
   (lavender terang), sedangkan seluruh section beranda memakai krem #F5F3EE
   sesuai mockup. Perbedaan itu bocor sebagai pita tipis di celah antar-section
   (mis. di atas "Manajemen" yang punya margin-top). Samakan latarnya ke krem
   supaya celah tidak terlihat. Berlaku hanya di beranda: file ini dimuat
   khusus oleh _home_head_assets_part2.php (dipanggil v_home.php), sehingga
   halaman lain tidak ikut terpengaruh. */
body { background-color: #F5F3EE !important; }

/* ============================================================
   V6 - HERO ADEGAN: POMPA ANGGUK (30%) + RIG DRILLING (70%)
   + KARTU KE-4 "WILAYAH KERJA" (4 kolom, responsif HP)
   Semua dibungkus .rpm-home / kelas baru -> tidak bocor ke halaman lain.
   ============================================================ */
.rpm-home .bg-gradient-header.fact.rig-hero { overflow: hidden; }
.rpm-home .rig-stage { position: relative; display: grid; max-width: 1400px; margin: 0 auto; }
.rpm-home .rig-stage > .rig-text,
.rpm-home .rig-stage > .rig-scene { grid-area: 1 / 1; }
.rpm-home .rig-text { position: relative; z-index: 4; width: 56%; align-self: start; padding: 0 2% 0 2.5%; }
.rpm-home .rig-text > .container { max-width: 100% !important; width: 100%; padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; }
.rpm-home .rig-text .row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
.rpm-home .rig-scene { position: relative; z-index: 1; align-self: end; width: 100%; aspect-ratio: 1000 / 640; pointer-events: none; }
.rpm-home .rig-svg { display: block; width: 100%; height: 100%; overflow: visible; }
.rpm-home .rig-map {
  position: absolute; left: 73.5%; top: 2%; width: 24.5%; z-index: 3; display: block; line-height: 0;
  pointer-events: auto; filter: drop-shadow(0 12px 26px rgba(0,0,0,.38)); transition: transform .3s ease;
}
.rpm-home .rig-map img { display: block; width: 100%; height: auto; }
.rpm-home .rig-map:hover { transform: scale(1.03); }
.rpm-home .fc-float { margin-top: -96px; }

/* kartu: 4 kolom di desktop */
.fc-float-grid.fc-four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; align-items: start; }
.fc-float-grid.fc-four .fc-fc-val { font-size: 23px; }
.fc-float-grid.fc-four .fc-fc-top { padding: 0 22px; }
.fc-float-grid.fc-four .fc-fc-body { padding: 22px 22px 24px; }
.fc-fc:nth-child(4) .fc-fc-top { background: linear-gradient(135deg, #0D3B66, #3E7CB8); }
.fc-float-grid .fc-fc:nth-child(4) { --d: .94s; }
.fc-fc-sub {
  margin: 18px 0 10px; padding-top: 14px; border-top: 1px solid #EEF2F7;
  font-family: 'Jost', sans-serif; font-weight: 600; font-size: 11.5px; letter-spacing: .2em;
  text-transform: uppercase; color: #8496AD;
}
.fc-sh-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fc-sh-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #EEF2F7; border-radius: 12px; background: #F8FAFD; }
.fc-sh-logo { width: 34px; height: 34px; object-fit: contain; flex: 0 0 auto; }
.fc-sh-pct { font-family: 'Jost', sans-serif; font-weight: 700; font-size: 19px; color: #0D3B66; min-width: 44px; }
.fc-sh-name { font-family: 'Heebo', sans-serif; font-weight: 600; font-size: 13px; line-height: 1.3; color: #0A2540; }
.fc-sh-name small { display: block; font-weight: 400; color: #8496AD; font-size: 11.5px; margin-top: 2px; }

@media (max-width: 991px) {
  .rpm-home .rig-stage { display: block; }
  .rpm-home .rig-text { width: 100%; padding: 0 16px; }
  .rpm-home .rig-scene { margin-top: 6px; }
  .rpm-home .fc-float { margin-top: -54px; }
  /* 4 kartu: 2 x 2 di tablet & HP */
  .fc-float-grid.fc-four { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .fc-float-grid.fc-four:has(.fc-fc.open) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fc-float-grid.fc-four .fc-fc.open { grid-column: 1 / -1; order: -1; }
  .fc-float-grid.fc-four .fc-fc-val { font-size: 22px; }
}
@media (max-width: 767px) {
  .fc-float-grid.fc-four { gap: 12px; }
  .fc-float-grid.fc-four .fc-fc-top { min-height: 50px; padding: 10px 14px; font-size: 9.5px; letter-spacing: .14em; }
  .fc-float-grid.fc-four .fc-fc-body { padding: 14px 14px 16px; }
  .fc-float-grid.fc-four .fc-fc-val { font-size: 17px; line-height: 1.25; }
}
@media (max-width: 575px) {
  .rpm-home .fc-float { margin-top: -40px; }
  .fc-float-grid.fc-four { gap: 10px; }
  .fc-float-grid.fc-four .fc-fc-top { min-height: 44px; padding: 9px 12px; font-size: 8.5px; letter-spacing: .1em; }
  .fc-float-grid.fc-four .fc-fc-val { font-size: 15.5px; }
  .fc-float-grid.fc-four .fc-fc-body { padding: 12px 12px 14px; }
  .fc-float-grid.fc-four .fc-fc.open .fc-fc-val { font-size: 18px; }
  .fc-float-grid.fc-four .fc-fc.open .fc-fc-top { font-size: 10px; padding: 11px 16px; min-height: 50px; }
  .fc-float-grid.fc-four .fc-fc.open .fc-fc-body { padding: 16px 16px 18px; }
  .fc-float-grid.fc-four .fc-fc.open .fc-fc-top,
  .fc-float-grid.fc-four .fc-fc.open .fc-fc-val { letter-spacing: normal; }
  .fc-sh-item { padding: 9px 10px; }
}
@media (prefers-reduced-motion: reduce) { .rpm-home .rig-map { transition: none; } }


/* ============================================================
   V6.1 - REVISI HERO (14-10-2026)
   - desktop: logo & judul turun (tidak sejajar bendera rig), peta turun
   - rig digeser sedikit ke kanan (bor di 69% lebar adegan)
   - kartu desktop: celah lebar antara kartu 03 & 04 tepat di bawah bor,
     bor SVG menembus turun di celah itu
   - HP/tablet: peta di kiri atas, di atas pompa angguk; kartu 2 x 2
   ============================================================ */
@media (min-width: 992px) {
  .rpm-home .rig-text { padding-top: 6.5%; }
  .rpm-home .rig-map { left: 75.5%; top: 15%; width: 22%; }

  /* lebar baris kartu = lebar adegan, supaya posisi celah pas di bawah bor */
  .rpm-home .container.fc-float.fc-float-rig { max-width: 1400px; width: 100%; padding-left: 0; padding-right: 0; }
  .fc-float-rig .fc-float-grid.fc-four {
    grid-template-columns: 3.5% 19.83% 1.5% 19.83% 1.5% 19.83% 6% 19.83% minmax(0, 1fr);
    column-gap: 0;
  }
  .fc-float-rig .fc-float-grid.fc-four > .fc-fc { grid-row: 1; }
  .fc-float-rig .fc-float-grid.fc-four > .fc-fc:nth-child(1) { grid-column: 2; }
  .fc-float-rig .fc-float-grid.fc-four > .fc-fc:nth-child(2) { grid-column: 4; }
  .fc-float-rig .fc-float-grid.fc-four > .fc-fc:nth-child(3) { grid-column: 6; }
  .fc-float-rig .fc-float-grid.fc-four > .fc-fc:nth-child(4) { grid-column: 8; }
  .fc-float-rig .fc-float-grid.fc-four .fc-fc-top { padding: 0 18px; letter-spacing: .16em; }
  .fc-float-rig .fc-float-grid.fc-four .fc-fc-body { padding: 20px 18px 22px; }

  /* V6.3: area bawah tanah hero diperpanjang 96px; kartu masuk ke area itu,
     sehingga celah kartu 03 & 04 memperlihatkan bor SVG yang utuh */
  .rpm-home .rig-stage { padding-bottom: 96px; }
  .rpm-home .fc-float.fc-float-rig { margin-top: -192px; }
  .rpm-home .fc-float.fc-float-rig::before { top: 192px; background: #0B1423; }
}

@media (max-width: 991px) {
  /* peta di atas pompa angguk, di kiri rig; pompa & peta digeser ke kanan supaya dekat dengan rig */
  .rpm-home .rig-map { left: 12%; top: 3%; width: 36%; }
  #rg-pump { transform: translate(150px, 393.2px) scale(.38); }
  /* kartu selalu 2 x 2 (bukan 3 + 1), tinggi seragam */
  .rpm-home .fc-float-grid.fc-four { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
  .rpm-home .fc-float-grid.fc-four:not(:has(.fc-fc.open)) { grid-auto-rows: 1fr; }
  .rpm-home .fc-float-grid.fc-four:not(:has(.fc-fc.open)) .fc-fc-body { display: flex; flex: 1; align-items: center; }
  .rpm-home .fc-float-grid.fc-four:not(:has(.fc-fc.open)) .fc-fc-toggle { width: 100%; }
  /* kartu turun sedikit agar lubang bor di bawah tanah terlihat */
  .rpm-home .fc-float { margin-top: -14px; }
  /* sambungan gelap mulai tepat di batas bawah hero (tidak ada pita krem) */
  .rpm-home .fc-float::before { top: 14px; background: linear-gradient(180deg, #0D2349 0, #0B1423 44px); }
}
@media (max-width: 575px) {
  .rpm-home .fc-float { margin-top: -2px; }
  .rpm-home .fc-float::before { top: 2px; }
  .rpm-home .fc-float-grid.fc-four:not(:has(.fc-fc.open)) .fc-fc-val { font-size: 14.5px; line-height: 1.25; }
  .rpm-home .fc-float-grid.fc-four:not(:has(.fc-fc.open)) .fc-fc-top { min-height: 44px; }
  .rpm-home .fc-float-grid.fc-four:not(:has(.fc-fc.open)) .fc-fc-top { white-space: normal; }
}
