/* Khusus halaman pelayanan publik; landing page tetap memakai custom.css apa adanya. */
.sapa-public .sapa-page {
    min-height: 62vh;
    background: var(--sapa-surface);
    padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

.sapa-public .sapa-page__hero {
    padding: 0 0 2rem;
    text-align: center;
}

.sapa-public .sapa-page__hero h1 {
    color: var(--sapa-green-ink);
    font-family: var(--sapa-display);
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -.055em;
}

.sapa-public .sapa-page__hero p {
    max-width: 42rem;
    margin: 0 auto;
    color: var(--sapa-muted);
}

.sapa-public .sapa-panel {
    border: 1px solid var(--sapa-line);
    border-radius: var(--sapa-radius);
    background: #fff;
    box-shadow: 0 .7rem 2rem rgba(24, 61, 37, .045);
}

.sapa-public .sapa-panel__body {
    padding: clamp(1.25rem, 3vw, 2rem);
}

.sapa-public .sapa-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.sapa-public .sapa-service-card {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
}

.sapa-public .sapa-service-card>i {
    color: var(--sapa-gold);
    font-size: 1.85rem;
}

.sapa-public .sapa-service-card h2 {
    margin: .8rem 0 .45rem;
    color: var(--sapa-green-ink);
    font-family: var(--sapa-display);
    font-size: 1.1rem;
}

.sapa-public .sapa-service-card p {
    color: var(--sapa-muted);
    font-size: .88rem;
}

.sapa-public .sapa-service-card .sapa-button {
    width: 100%;
    margin-top: auto;
}

.sapa-public .sapa-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.25rem;
}

.sapa-public .sapa-form {
    max-width: 900px;
    margin: 0 auto;
}

.sapa-public .sapa-form label, .sapa-public .sapa-form legend {
    color: var(--sapa-green-ink);
    font-size: .87rem;
    font-weight: 700;
}

.sapa-public .sapa-form .form-control, .sapa-public .sapa-form .form-select {
    min-height: 46px;
    border-color: var(--sapa-line);
    border-radius: .65rem;
    color: var(--sapa-ink);
}

.sapa-public .sapa-form textarea.form-control {
    min-height: 96px;
}

.sapa-public .sapa-form .form-control:focus, .sapa-public .sapa-form .form-select:focus {
    border-color: var(--sapa-green);
    box-shadow: 0 0 0 .2rem rgba(8, 115, 56, .12);
}

.sapa-public .sapa-form .select2-container {
    width: 100% !important;
}

.sapa-public .sapa-form .select2-container--default .select2-selection--single {
    display: flex;
    align-items: center;
    min-height: 46px;
    border: 1px solid var(--sapa-line);
    border-radius: .65rem;
    background: #fff;
}

.sapa-public .sapa-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: .75rem;
    color: var(--sapa-ink);
    font-size: 1rem;
    line-height: 44px;
}

.sapa-public .sapa-form .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #86948c;
}

.sapa-public .sapa-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 10px;
    right: .65rem;
}

.sapa-public .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--sapa-green);
    box-shadow: 0 0 0 .2rem rgba(8, 115, 56, .12);
}

.sapa-public .select2-dropdown {
    border: 1px solid var(--sapa-line);
    border-radius: .65rem;
    box-shadow: var(--sapa-shadow);
    overflow: hidden;
}

.sapa-public .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--sapa-green);
}

.sapa-public .sapa-stepper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem;
    margin: 0 auto 1.5rem;
}

.sapa-public .sapa-stepper__item {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--sapa-muted);
    font-size: .78rem;
    font-weight: 700;
}

.sapa-public .sapa-stepper__item span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--sapa-line);
}

.sapa-public .sapa-stepper__item.is-active, .sapa-public .sapa-stepper__item.is-complete {
    color: var(--sapa-green);
}

.sapa-public .sapa-stepper__item.is-active span, .sapa-public .sapa-stepper__item.is-complete span {
    background: var(--sapa-green);
    color: #fff;
}

.sapa-public .sapa-wizard-step[hidden] {
    display: none;
}

.sapa-public .sapa-wizard-step h2 {
    color: var(--sapa-green-ink);
    font-family: var(--sapa-display);
    font-size: 1.25rem;
}

.sapa-public .sapa-address {
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid var(--sapa-line);
    border-radius: .75rem;
    background: #fbfdfb;
}

.sapa-public .sapa-address legend {
    padding: 0 .35rem;
}

.sapa-public .sapa-form-note {
    padding: .8rem 1rem;
    border-radius: .65rem;
    background: var(--sapa-green-soft);
    color: var(--sapa-green-ink);
    font-size: .87rem;
}

.sapa-public .sapa-address.is-copied {
    padding-bottom: .85rem;
    background: var(--sapa-green-soft);
}

.sapa-public .sapa-address.is-copied .sapa-address__fields {
    display: none;
}

.sapa-public .sapa-form .copy-address.form-check-input {
    width: 1.3rem;
    height: 1.3rem;
    margin-top: .1rem;
    border: 2px solid #6b8073;
    background-color: #fff;
    accent-color: var(--sapa-green);
    opacity: 1;
}

.sapa-public .sapa-form .copy-address.form-check-input:checked {
    border-color: var(--sapa-green);
    background-color: var(--sapa-green);
}

.sapa-public .sapa-form .copy-address+.form-check-label {
    color: var(--sapa-green-ink);
    font-weight: 700;
}

.sapa-public .sapa-subject-toggle .form-check-input {
    width: 1.3rem;
    height: 1.3rem;
    margin-top: .1rem;
    border: 2px solid #6b8073;
    background-color: #fff;
    accent-color: var(--sapa-green);
    opacity: 1;
}

.sapa-public .sapa-subject-toggle .form-check-input:checked {
    border-color: var(--sapa-green);
    background-color: var(--sapa-green);
}

.sapa-public .sapa-subject-toggle .form-check-label {
    color: var(--sapa-green-ink);
    font-weight: 700;
}

.sapa-public .sapa-status {
    display: inline-flex;
    padding: .3rem .65rem;
    border-radius: 99px;
    background: var(--sapa-green-soft);
    color: var(--sapa-green);
    font-size: .78rem;
    font-weight: 800;
    text-transform: capitalize;
}

.sapa-public .sapa-timeline {
    display: grid;
    gap: 1rem;
    padding: 0;
    margin: 1.5rem 0;
    list-style: none;
}

.sapa-public .sapa-timeline li {
    position: relative;
    padding-left: 1.8rem;
    color: var(--sapa-muted);
}

.sapa-public .sapa-timeline li::before {
    position: absolute;
    top: .28rem;
    left: 0;
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background: var(--sapa-green);
    content: '';
}

.sapa-public .sapa-timeline li:not(:last-child)::after {
    position: absolute;
    top: 1rem;
    bottom: -1rem;
    left: .32rem;
    width: 2px;
    background: var(--sapa-line);
    content: '';
}

.sapa-public .sapa-otp {
    max-width: 510px;
    margin: 0 auto;
    text-align: center;
}

.sapa-public .sapa-otp__icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: var(--sapa-green-soft);
    color: var(--sapa-green);
    font-size: 1.8rem;
}

.sapa-public .sapa-otp input {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .6em;
}

.sapa-public .sapa-alert {
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    border-radius: .7rem;
    font-size: .9rem;
}

.sapa-public .sapa-alert--error {
    background: #fff0f0;
    color: #9b2424;
}

.sapa-public .sapa-alert--info {
    background: #fff6e4;
    color: #785300;
}

@media (max-width: 900px) {
    .sapa-public .sapa-service-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 620px) {
    .sapa-public .sapa-service-grid, .sapa-public .sapa-stepper {
        grid-template-columns: 1fr;
    }

    .sapa-public .sapa-stepper__item {
        padding: .25rem 0;
    }

    .sapa-public .sapa-actions .sapa-button {
        width: 100%;
    }
}

/* Berita publik: melanjutkan bahasa visual SAPA tanpa membawa stylesheet terpisah. */
.sapa-news-hero, .sapa-article-hero { padding: clamp(3.5rem, 7vw, 6rem) 0; background: linear-gradient(120deg, #f6fbf7, #e7f4e9); }
.sapa-news-hero { text-align: center; }.sapa-news-hero h1, .sapa-article-hero h1 { margin: 0 0 .8rem; color: var(--sapa-green-ink); font-family: var(--sapa-display); font-size: clamp(2.25rem, 5vw, 4rem); letter-spacing: -.06em; line-height: 1.1; }.sapa-news-hero > .sapa-container > p:not(.sapa-eyebrow) { max-width: 42rem; margin: 0 auto; color: var(--sapa-muted); }
.sapa-news-search { display: flex; max-width: 630px; gap: .55rem; margin: 1.8rem auto 0; padding: .45rem; border: 1px solid #cde3d2; border-radius: .9rem; background: #fff; box-shadow: var(--sapa-shadow); }.sapa-news-search input { min-width: 0; flex: 1; border: 0; outline: 0; padding: .55rem .7rem; color: var(--sapa-ink); background: transparent; }.sapa-news-search button { display: inline-flex; align-items: center; gap: .35rem; border: 0; border-radius: .65rem; padding: .65rem 1rem; background: var(--sapa-green); color: #fff; font-weight: 700; }
.sapa-news-result { margin: -1rem 0 1.5rem; color: var(--sapa-muted); }.sapa-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }.sapa-news-card { overflow: hidden; border: 1px solid var(--sapa-line); border-radius: var(--sapa-radius); background: #fff; box-shadow: 0 .7rem 2rem rgba(24, 61, 37, .045); transition: transform .2s, box-shadow .2s; }.sapa-news-card:hover { transform: translateY(-4px); box-shadow: var(--sapa-shadow); }.sapa-news-card__image { display: grid; width: 100%; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; background: var(--sapa-green-soft); color: var(--sapa-green); font-size: 2.4rem; }.sapa-news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }.sapa-news-card:hover .sapa-news-card__image img { transform: scale(1.04); }.sapa-news-card__body { display: flex; min-height: 250px; flex-direction: column; padding: 1.3rem; }.sapa-news-card__meta { display: flex; gap: .4rem; margin-bottom: .7rem; color: var(--sapa-green); font-size: .75rem; font-weight: 700; }.sapa-news-card h2, .sapa-news-card h3 { margin: 0 0 .7rem; color: var(--sapa-green-ink); font-family: var(--sapa-display); font-size: 1.1rem; line-height: 1.38; }.sapa-news-card h2 a:hover, .sapa-news-card h3 a:hover { color: var(--sapa-green); }.sapa-news-card__body > p:not(.sapa-news-card__meta) { margin: 0; color: var(--sapa-muted); font-size: .87rem; }.sapa-news-card__link { display: inline-flex; align-items: center; gap: .25rem; margin-top: auto; padding-top: 1.2rem; color: var(--sapa-green); font-size: .86rem; font-weight: 800; }.sapa-news-card__link i { font-size: 1.1rem; }.sapa-news-pagination { display: flex; justify-content: center; margin-top: 2rem; }.sapa-news-pagination nav > div:first-child { display: none; }.sapa-news-pagination nav > div:last-child { display: flex; gap: .25rem; align-items: center; }.sapa-news-pagination span, .sapa-news-pagination a { padding: .4rem .65rem; border: 1px solid var(--sapa-line); border-radius: .45rem; color: var(--sapa-green); font-size: .85rem; }
.sapa-article-hero { background: #0b492e; }.sapa-article-hero h1 { max-width: 930px; color: #fff; }.sapa-article-hero .sapa-eyebrow { color: #f0bd50; }.sapa-article-back { display: inline-flex; align-items: center; gap: .35rem; margin-bottom: 2rem; color: #d4e9da; font-size: .9rem; font-weight: 700; }.sapa-article-meta { display: flex; flex-wrap: wrap; gap: .85rem 1.25rem; color: #d4e9da; font-size: .86rem; }.sapa-article-meta span, .sapa-article-meta time { display: inline-flex; align-items: center; gap: .35rem; }.sapa-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; align-items: start; gap: clamp(2rem, 5vw, 4rem); }.sapa-article-cover { width: 100%; max-height: 520px; margin-bottom: 1.7rem; border-radius: var(--sapa-radius); object-fit: cover; }.sapa-article-lead { padding: 1.1rem 1.25rem; border-left: 4px solid var(--sapa-gold); background: #fffaf0; color: var(--sapa-green-ink); font-size: 1.08rem; font-weight: 600; line-height: 1.75; }.sapa-article-body { color: #34453b; line-height: 1.85; }.sapa-article-body h2, .sapa-article-body h3 { margin: 1.8rem 0 .75rem; color: var(--sapa-green-ink); font-family: var(--sapa-display); }.sapa-article-body img { max-width: 100%; height: auto; border-radius: .8rem; }.sapa-article-aside { position: sticky; top: 96px; }.sapa-article-aside__card { padding: 1.2rem; }.sapa-article-aside__card h2 { margin: 0 0 .7rem; color: var(--sapa-green-ink); font-family: var(--sapa-display); font-size: 1rem; }.sapa-article-aside__card a { display: block; padding: .85rem 0; border-top: 1px solid var(--sapa-line); color: var(--sapa-green-ink); font-size: .86rem; font-weight: 700; line-height: 1.45; }.sapa-article-aside__card a:hover { color: var(--sapa-green); }.sapa-article-aside__card a span { display: block; margin-bottom: .25rem; color: var(--sapa-muted); font-size: .73rem; font-weight: 500; }
@media (max-width: 900px) { .sapa-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.sapa-article-layout { grid-template-columns: 1fr; }.sapa-article-aside { position: static; }.sapa-news-grid--landing .sapa-news-card:last-child { display: none; } }
@media (max-width: 620px) { .sapa-news-grid { grid-template-columns: 1fr; }.sapa-news-search button span { display: none; }.sapa-news-search button { padding-inline: .9rem; }.sapa-news-card__body { min-height: 0; }.sapa-news-grid--landing .sapa-news-card:last-child { display: block; }.sapa-article-meta { gap: .6rem .8rem; } }

/* Detail berita: hierarki editorial dan kontras pada latar gelap. */
.sapa-public .sapa-article-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3rem, 6vw, 5.75rem) 0 clamp(3.4rem, 7vw, 6.25rem);
    background: radial-gradient(circle at 90% 8%, rgba(241, 189, 80, .18), transparent 28rem), linear-gradient(130deg, #063d27 0%, #075534 55%, #0a653e 100%);
}
.sapa-public .sapa-article-hero::before { position: absolute; inset: 0; content: ''; pointer-events: none; opacity: .12; background-image: radial-gradient(rgba(255,255,255,.9) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(90deg, #000, transparent 74%); }
.sapa-public .sapa-article-hero__inner { position: relative; }
.sapa-public .sapa-article-hero__top { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-bottom: 1.8rem; }
.sapa-public .sapa-article-back { min-height: 38px; margin: 0; padding: .48rem .78rem; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; background: rgba(255,255,255,.1); color: #fff !important; font-size: .82rem; font-weight: 800; text-decoration: none; }
.sapa-public .sapa-article-back:hover, .sapa-public .sapa-article-back:focus-visible { border-color: #fff; background: #fff; color: #075534 !important; }
.sapa-public .sapa-article-back i { font-size: 1.1rem; }
.sapa-public .sapa-article-category { display: inline-flex; align-items: center; gap: .4rem; margin: 0; padding: .5rem .76rem; border: 1px solid rgba(240,189,80,.55); border-radius: 999px; background: rgba(48,26,1,.18); color: #ffe1a0; font-size: .74rem; font-weight: 800; letter-spacing: .075em; line-height: 1; text-transform: uppercase; }
.sapa-public .sapa-article-hero h1 { max-width: 1050px; margin-bottom: 1.25rem; color: #fff; font-size: clamp(2.3rem, 4.4vw, 3.85rem); letter-spacing: -.055em; line-height: 1.09; text-wrap: balance; }
.sapa-public .sapa-article-meta { gap: .65rem; color: #f4fbf6; }
.sapa-public .sapa-article-meta span, .sapa-public .sapa-article-meta time { padding: .38rem .58rem; border: 1px solid rgba(255,255,255,.16); border-radius: .48rem; background: rgba(0,0,0,.12); }
.sapa-public .sapa-article-meta i { color: #f6ca65; }
.sapa-public .sapa-article-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 5vw, 4.5rem); }
.sapa-public .sapa-article-aside { display: grid; gap: 1rem; }
.sapa-public .sapa-article-aside__card { padding: 1.15rem; border-color: #d6e8da; border-radius: 1rem; box-shadow: 0 .8rem 2.2rem rgba(8, 67, 38, .06); }
.sapa-public .sapa-article-aside__card.mt-3 { margin-top: 0 !important; }
.sapa-public .sapa-aside-heading { display: flex; align-items: center; gap: .65rem; padding-bottom: .9rem; border-bottom: 1px solid #dcebe0; }
.sapa-public .sapa-aside-heading h2 { margin: 0; color: #103c2a; font-size: 1.02rem; font-weight: 800; }
.sapa-public .sapa-aside-heading__icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: .55rem; background: #e8f5eb; color: #08733f; font-size: 1.05rem; }
.sapa-public .sapa-aside-list { display: grid; }
.sapa-public .sapa-aside-list > a { position: relative; display: grid; gap: .28rem; padding: .95rem 1.7rem .95rem 0; border: 0; border-bottom: 1px solid #e1eee4; color: #143f2c; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.sapa-public .sapa-aside-list > a:last-child { padding-bottom: .1rem; border-bottom: 0; }
.sapa-public .sapa-aside-list > a:hover { color: #08733f; transform: translateX(3px); }
.sapa-public .sapa-aside-list > a > strong { display: -webkit-box; overflow: hidden; font-size: .87rem; font-weight: 750; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.sapa-public .sapa-aside-list > a > time, .sapa-public .sapa-aside-stat { color: #628071; font-size: .73rem; font-weight: 700; }
.sapa-public .sapa-aside-stat { display: inline-flex; align-items: center; gap: .25rem; }
.sapa-public .sapa-aside-stat i { color: #b47b0e; font-size: .9rem; }
.sapa-public .sapa-aside-list > a > .bx-right-arrow-alt { position: absolute; top: 50%; right: 0; color: #6b9e7b; font-size: 1.15rem; transform: translateY(-50%); }
.sapa-public .sapa-aside-count { display: inline-grid; width: 25px; height: 25px; place-items: center; border-radius: 999px; background: #e8f5eb; color: #08733f; font-size: .73rem; font-weight: 800; }
.sapa-public .sapa-article-archive .sapa-aside-list > a { display: flex; align-items: center; justify-content: space-between; padding-right: 0; }
.sapa-public .sapa-aside-empty { margin: .95rem 0 .1rem; color: #628071; font-size: .84rem; }
.sapa-public .sapa-news-image[data-fallback-image] { object-fit: contain; padding: clamp(1.3rem, 5vw, 2.25rem); background: linear-gradient(145deg, #eff9f1, #dcefe1); }
.sapa-public .sapa-article-cover-wrap { margin-bottom: 1.7rem; overflow: hidden; border: 1px solid #d8e8dc; border-radius: var(--sapa-radius); background: linear-gradient(145deg, #eff9f1, #dcefe1); }
.sapa-public .sapa-article-cover-wrap .sapa-article-cover { display: block; margin: 0; }
.sapa-public .sapa-article-cover-wrap .sapa-article-cover[data-fallback-image] { min-height: 280px; object-fit: contain; padding: clamp(2rem, 8vw, 4.5rem); }
@media (max-width: 900px) { .sapa-public .sapa-article-layout { grid-template-columns: 1fr; }.sapa-public .sapa-article-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }.sapa-public .sapa-article-archive { grid-column: 1 / -1; } }
@media (max-width: 620px) { .sapa-public .sapa-article-hero { padding-block: 2.5rem 3.25rem; }.sapa-public .sapa-article-hero__top { margin-bottom: 1.35rem; }.sapa-public .sapa-article-hero h1 { font-size: clamp(2.05rem, 10vw, 2.8rem); }.sapa-public .sapa-article-meta span, .sapa-public .sapa-article-meta time { font-size: .76rem; }.sapa-public .sapa-article-aside { grid-template-columns: 1fr; }.sapa-public .sapa-article-archive { grid-column: auto; } }

/* Pencarian informasi publik. */
.sapa-public .sapa-site-search { display: flex; max-width: 650px; align-items: center; gap: .65rem; margin: 1.55rem 0 0; padding: .48rem .5rem .48rem 1rem; border: 1px solid #c8dfce; border-radius: .9rem; background: #fff; box-shadow: 0 .75rem 1.75rem rgba(8, 82, 43, .1); }
.sapa-public .sapa-site-search > .bx-search { flex: 0 0 auto; color: #117342; font-size: 1.25rem; }
.sapa-public .sapa-site-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #123d2a; font-size: .94rem; }
.sapa-public .sapa-site-search input::placeholder { color: #799184; }
.sapa-public .sapa-site-search button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .3rem; min-height: 42px; padding: .55rem .85rem; border: 0; border-radius: .62rem; background: #08733f; color: #fff; font-size: .82rem; font-weight: 800; transition: background .2s, transform .2s; }
.sapa-public .sapa-site-search button:hover { background: #065a31; transform: translateY(-1px); }
.sapa-public .sapa-site-search--landing { max-width: 610px; }
.sapa-public .sapa-nav__search { display: inline-flex; align-items: center; gap: .3rem; color: var(--sapa-green); font-weight: 750; }
.sapa-public .sapa-nav__search i { font-size: 1.1rem; }
.sapa-public .sapa-search-hero { padding-block: clamp(3.5rem, 7vw, 5rem); }
.sapa-public .sapa-search-hero .sapa-site-search { margin-right: auto; margin-left: auto; text-align: left; }
.sapa-public .sapa-search-result { margin: 0 0 1.5rem; color: #5e7668; }
.sapa-public .sapa-search-result strong { color: #08733f; }
.sapa-public .sapa-search-results { display: grid; gap: 1.25rem; }
.sapa-public .sapa-search-group { overflow: hidden; border: 1px solid #d8e8dc; border-radius: 1rem; background: #fff; box-shadow: 0 .8rem 2.1rem rgba(8, 67, 38, .05); }
.sapa-public .sapa-search-group__heading { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.2rem; border-bottom: 1px solid #e1eee4; background: #f7fbf8; }
.sapa-public .sapa-search-group__heading > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: .62rem; background: #e2f2e6; color: #08733f; font-size: 1.1rem; }
.sapa-public .sapa-search-group__heading p { margin: 0 0 .08rem; color: #55806a; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sapa-public .sapa-search-group__heading h2 { margin: 0; color: #123d2a; font-size: 1rem; font-weight: 800; }
.sapa-public .sapa-search-group__heading > a { display: grid; width: 34px; height: 34px; margin-left: auto; place-items: center; border: 1px solid #d4e7d9; border-radius: 50%; color: #08733f; }
.sapa-public .sapa-search-group__heading > a:hover { background: #08733f; color: #fff; }
.sapa-public .sapa-search-group__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sapa-public .sapa-search-group__items a { position: relative; display: grid; gap: .35rem; min-height: 93px; padding: 1rem 2.8rem 1rem 1.2rem; border-right: 1px solid #e7f0e9; border-bottom: 1px solid #e7f0e9; color: #153e2b; text-decoration: none; transition: background .18s ease; }
.sapa-public .sapa-search-group__items a:nth-last-child(-n+2) { border-bottom: 0; }.sapa-public .sapa-search-group__items a:nth-child(even) { border-right: 0; }
.sapa-public .sapa-search-group__items a:hover { background: #f4faf5; }.sapa-public .sapa-search-group__items strong { display: -webkit-box; overflow: hidden; font-size: .92rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.sapa-public .sapa-search-group__items span { color: #6b8778; font-size: .78rem; }.sapa-public .sapa-search-group__items > a > i { position: absolute; top: 50%; right: 1.15rem; color: #5b9a73; font-size: 1.2rem; transform: translateY(-50%); }
@media (max-width: 900px) { .sapa-public .sapa-nav__search span { display: none; } }
@media (max-width: 620px) { .sapa-public .sapa-site-search { gap: .4rem; padding-left: .75rem; }.sapa-public .sapa-site-search button { padding-inline: .7rem; }.sapa-public .sapa-site-search--landing button { font-size: 0; }.sapa-public .sapa-site-search--landing button i { margin: 0; font-size: 1.1rem; }.sapa-public .sapa-search-group__items { grid-template-columns: 1fr; }.sapa-public .sapa-search-group__items a { border-right: 0; }.sapa-public .sapa-search-group__items a:nth-last-child(-n+2) { border-bottom: 1px solid #e7f0e9; }.sapa-public .sapa-search-group__items a:last-child { border-bottom: 0; } }

.sapa-public .sapa-profile-page {
    background: #fff;
}

.sapa-public .sapa-profile-page__hero {
    overflow: hidden;
    padding: clamp(4rem, 8vw, 7rem) 0;
    background: #0b492e;
    color: #fff;
}

.sapa-public .sapa-profile-page__hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: center;
    gap: clamp(2.5rem, 8vw, 7rem);
}

.sapa-public .sapa-profile-page__hero .sapa-eyebrow {
    color: #f0bd50;
}

.sapa-public .sapa-profile-page__hero h1 {
    margin: 0 0 1.25rem;
    font-family: var(--sapa-display);
    font-size: clamp(2.4rem, 5vw, 4.3rem);
    font-weight: 800;
    letter-spacing: -.065em;
    line-height: 1.08;
}

.sapa-public .sapa-profile-page__hero p:not(.sapa-eyebrow) {
    max-width: 39rem;
    margin-bottom: 1.6rem;
    color: #c7dfcf;
    font-size: 1.05rem;
}

.sapa-public .sapa-profile-page__hero .sapa-button--ghost {
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.sapa-public .sapa-profile-page__mark {
    position: relative;
    display: grid;
    min-height: 280px;
    place-items: center;
}

.sapa-public .sapa-profile-page__mark::before {
    position: absolute;
    width: min(100%, 280px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    content: '';
}

.sapa-public .sapa-profile-page__mark>div:last-child {
    z-index: 1;
    display: grid;
    width: 160px;
    height: 160px;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1.4rem 3.4rem rgba(0, 0, 0, .22);
}

.sapa-public .sapa-profile-page__mark img {
    width: 78%;
    height: auto;
}

.sapa-public .sapa-profile-page__pattern {
    position: absolute;
    inset: 5% 10%;
    opacity: .14;
    background-image: radial-gradient(#fff 1.2px, transparent 1.2px);
    background-size: 15px 15px;
}

.sapa-public .sapa-detail-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    align-items: start;
    gap: clamp(2rem, 7vw, 6rem);
}

.sapa-public .sapa-detail-grid h2, .sapa-public .sapa-story h2, .sapa-public .sapa-contact-strip h2 {
    color: var(--sapa-green-ink);
    font-family: var(--sapa-display);
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    letter-spacing: -.055em;
    line-height: 1.18;
}

.sapa-public .sapa-detail-grid p {
    color: var(--sapa-muted);
}

.sapa-public .sapa-profile-facts {
    display: grid;
    padding: 1.25rem;
}

.sapa-public .sapa-profile-facts>div {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding: .9rem 0;
    border-bottom: 1px solid var(--sapa-line);
}

.sapa-public .sapa-profile-facts>div:last-child {
    border: 0;
}

.sapa-public .sapa-profile-facts i {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: .6rem;
    background: var(--sapa-green-soft);
    color: var(--sapa-green);
    font-size: 1.15rem;
}

.sapa-public .sapa-profile-facts span {
    color: var(--sapa-muted);
    font-size: .88rem;
}

.sapa-public .sapa-profile-facts strong {
    display: block;
    color: var(--sapa-green-ink);
}

.sapa-public .sapa-story {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(2rem, 7vw, 6rem);
}

.sapa-public .sapa-story__heading p, .sapa-public .sapa-story__body {
    color: var(--sapa-muted);
}

.sapa-public .sapa-story__body p {
    margin-bottom: 1.25rem;
}

.sapa-public .sapa-vision-card {
    display: flex;
    max-width: 860px;
    gap: 1rem;
    margin: 0 auto 1.25rem;
    padding: clamp(1.4rem, 3vw, 2rem);
    border-radius: var(--sapa-radius);
    background: #0b492e;
    color: #fff;
}

.sapa-public .sapa-vision-card i {
    color: #f0bd50;
    font-size: 1.8rem;
}

.sapa-public .sapa-vision-card blockquote {
    margin: 0;
    font-family: var(--sapa-display);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 700;
    line-height: 1.55;
}

.sapa-public .sapa-mission-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.sapa-public .sapa-mission-grid article {
    padding: 1.2rem;
    border: 1px solid var(--sapa-line);
    border-radius: var(--sapa-radius);
    background: #fff;
}

.sapa-public .sapa-mission-grid span {
    color: var(--sapa-green);
    font-weight: 800;
}

.sapa-public .sapa-mission-grid p {
    margin: .7rem 0 0;
    color: var(--sapa-muted);
    font-size: .88rem;
}

.sapa-public .sapa-rich-content p {
    color: var(--sapa-muted);
}

.sapa-public .sapa-profile-cover {
    display: block;
    width: 100%;
    min-height: 230px;
    border-radius: calc(var(--sapa-radius) - .3rem);
    object-fit: cover;
}

.sapa-public .sapa-vision-content {
    max-width: 920px;
    margin: 0 auto;
}

.sapa-public .sapa-vision-content h3 {
    margin: 1.5rem 0 .8rem;
    color: var(--sapa-green-ink);
    font-family: var(--sapa-display);
    font-size: 1.05rem;
    text-align: center;
}

.sapa-public .sapa-vision-content h3:first-child {
    display: none;
}

.sapa-public .sapa-vision-content h3:first-child + p {
    display: flex;
    align-items: center;
    min-height: 104px;
    margin: 0 0 1.5rem;
    padding: clamp(1.4rem, 3vw, 2rem);
    border-radius: var(--sapa-radius);
    background: #0b492e;
    color: #fff;
    font-family: var(--sapa-display);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 700;
    line-height: 1.55;
    text-align: center;
}

.sapa-public .sapa-vision-content ol {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: mission;
}

.sapa-public .sapa-vision-content ol li {
    min-height: 132px;
    padding: 1.2rem;
    border: 1px solid var(--sapa-line);
    border-radius: var(--sapa-radius);
    background: #fff;
    color: var(--sapa-muted);
    font-size: .88rem;
}

.sapa-public .sapa-vision-content ol li::before {
    display: block;
    margin-bottom: .7rem;
    color: var(--sapa-green);
    font-weight: 800;
    content: '0' counter(mission);
    counter-increment: mission;
}

.sapa-public .sapa-source-note {
    margin: 1.4rem 0 0;
    color: var(--sapa-muted);
    font-size: .82rem;
    text-align: center;
}

.sapa-public .sapa-source-note a {
    color: var(--sapa-green);
    text-decoration: underline;
}

.sapa-public .sapa-contact-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border-radius: var(--sapa-radius-lg);
    background: var(--sapa-green-soft);
}

.sapa-public .sapa-contact-strip p:not(.sapa-eyebrow) {
    margin: 0;
    color: var(--sapa-muted);
}

.sapa-public .sapa-aparatur-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.sapa-public .sapa-aparatur-card {
    overflow: hidden;
    border: 1px solid var(--sapa-line);
    border-radius: var(--sapa-radius-lg);
    background: #fff;
    box-shadow: 0 12px 35px rgba(10, 73, 46, .07);
    transition: transform .2s ease, box-shadow .2s ease;
}

.sapa-public .sapa-aparatur-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(10, 73, 46, .13);
}

.sapa-public .sapa-aparatur-card__photo {
    display: grid;
    height: 246px;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(145deg, #dcefe5, #a5d3b8);
    color: var(--sapa-green-ink);
    font-family: var(--sapa-display);
    font-size: 4rem;
    font-weight: 800;
}

.sapa-public .sapa-aparatur-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sapa-public .sapa-aparatur-card__body {
    padding: 1.15rem 1.2rem 1.3rem;
}

.sapa-public .sapa-aparatur-card__body h2 {
    margin: 0;
    color: var(--sapa-green-ink);
    font-size: 1.05rem;
}

.sapa-public .sapa-aparatur-card__body p {
    margin: .35rem 0 0;
    color: var(--sapa-muted);
    font-size: .84rem;
}

.sapa-public .sapa-aparatur-card__body .sapa-aparatur-card__role {
    color: var(--sapa-green);
    font-weight: 700;
}

.sapa-public .sapa-public-hub {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.sapa-public .sapa-hero-government {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1.35rem;
    color: var(--sapa-muted);
    font-size: .74rem;
}

.sapa-public .sapa-hero-government img {
    width: 34px;
    height: 34px;
    padding: 2px;
    border: 1px solid #cce7d3;
    border-radius: .5rem;
    background: #fff;
    object-fit: contain;
}

.sapa-public .sapa-hero-government span { display: grid; gap: .12rem; }
.sapa-public .sapa-hero-government strong { color: var(--sapa-green-ink); font-size: .77rem; }
.sapa-public .sapa-hero-government small { font-size: .7rem; }

.sapa-public .sapa-nav-dropdown { position: relative; }
.sapa-public .sapa-nav-dropdown summary { display:flex; align-items:center; gap:.2rem; cursor:pointer; list-style:none; }
.sapa-public .sapa-nav-dropdown summary::-webkit-details-marker { display:none; }
.sapa-public .sapa-nav-dropdown summary i { font-size:1rem; transition:transform .2s ease; }
.sapa-public .sapa-nav-dropdown[open] summary i { transform:rotate(180deg); }
.sapa-public .sapa-nav-dropdown>div { position:absolute; z-index:20; top:calc(100% + .7rem); left:50%; display:grid; min-width:180px; padding:.45rem; border:1px solid var(--sapa-line); border-radius:.75rem; background:#fff; box-shadow:var(--sapa-shadow); transform:translateX(-50%); }
.sapa-public .sapa-nav-dropdown>div a { padding:.55rem .65rem; border-radius:.5rem; color:var(--sapa-green-ink); font-size:.82rem; white-space:nowrap; }
.sapa-public .sapa-nav-dropdown>div a:hover { background:var(--sapa-green-soft); color:var(--sapa-green); }

.sapa-public .sapa-public-hub__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    min-height: 96px;
    padding: 1rem;
    border: 1px solid var(--sapa-line);
    border-radius: var(--sapa-radius);
    background: #fff;
    box-shadow: 0 10px 28px rgba(10, 73, 46, .05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.sapa-public .sapa-public-hub__item:hover {
    transform: translateY(-3px);
    border-color: #a8d2b5;
    box-shadow: 0 16px 34px rgba(10, 73, 46, .1);
}

.sapa-public .sapa-public-hub__icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: .7rem;
    background: var(--sapa-green-soft);
    color: var(--sapa-green);
    font-size: 1.25rem;
}

.sapa-public .sapa-public-hub__item strong, .sapa-public .sapa-public-hub__item small {
    display: block;
}

.sapa-public .sapa-public-hub__item strong {
    color: var(--sapa-green-ink);
    font-size: .93rem;
}

.sapa-public .sapa-public-hub__item small {
    margin-top: .2rem;
    color: var(--sapa-muted);
    font-size: .77rem;
}

.sapa-public .sapa-public-hub__item > .bx {
    color: var(--sapa-green);
    font-size: 1.2rem;
}

.sapa-public .sapa-transparency-highlight {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border-radius: var(--sapa-radius);
    background: #0b492e;
}

.sapa-public .sapa-transparency-highlight > div {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    color: #d4e9da;
    font-size: .8rem;
    line-height: 1.45;
}

.sapa-public .sapa-transparency-highlight i {
    color: #f0bd50;
    font-size: 1.2rem;
}

.sapa-public .sapa-transparency-highlight strong, .sapa-public .sapa-transparency-highlight span {
    display: block;
}

.sapa-public .sapa-transparency-highlight strong {
    color: #fff;
    margin-bottom: .2rem;
}

.sapa-public .sapa-priority-card { overflow: hidden; }
.sapa-public .sapa-priority-card>img { display:block; width:100%; height:210px; object-fit:cover; }
.sapa-public .sapa-priority-card h2, .sapa-public .sapa-document h2, .sapa-public .sapa-apbdes-card h2 { color:var(--sapa-green-ink); font-size:1.18rem; }
.sapa-public .sapa-filter { display:flex; gap:.75rem; justify-content:center; margin:0 0 2rem; }
.sapa-public .sapa-filter select, .sapa-public .sapa-filter input { min-width:160px; padding:.72rem .85rem; border:1px solid var(--sapa-line); border-radius:.7rem; background:#fff; }
.sapa-public .sapa-document-list { display:grid; gap:1rem; }
.sapa-public .sapa-document { display:flex; justify-content:space-between; gap:1.5rem; padding:1.35rem; }
.sapa-public .sapa-document>div { display:flex; gap:1rem; }
.sapa-public .sapa-document__icon { display:grid; width:48px; height:48px; flex:0 0 auto; place-items:center; border-radius:.75rem; background:#fff0f0; color:#cc3333; font-size:1.5rem; }
.sapa-public .sapa-document p { margin:.35rem 0 0; color:var(--sapa-muted); }
.sapa-public .sapa-apbdes-card { margin-bottom:1.5rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--sapa-line); border-radius:var(--sapa-radius-lg); background:#fff; box-shadow:0 12px 30px rgba(10,73,46,.06); }
.sapa-public .sapa-apbdes-badge { padding:.35rem .7rem; border-radius:99px; background:var(--sapa-green-soft); color:var(--sapa-green); font-size:.8rem; font-weight:700; }
.sapa-public .sapa-apbdes-table { width:100%; margin-top:1rem; border-collapse:collapse; }
.sapa-public .sapa-apbdes-table th, .sapa-public .sapa-apbdes-table td { padding:.85rem; border-bottom:1px solid var(--sapa-line); text-align:left; }
.sapa-public .sapa-apbdes-table th { color:var(--sapa-green-ink); font-size:.8rem; text-transform:uppercase; }
.sapa-public .sapa-progress { height:8px; overflow:hidden; border-radius:99px; background:#e5eee9; }
.sapa-public .sapa-progress span { display:block; height:100%; border-radius:inherit; background:var(--sapa-green); }
.sapa-public .sapa-progress__text { color:var(--sapa-green) !important; font-size:.82rem; font-weight:700; }
.sapa-public .sapa-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.sapa-public .sapa-stat-card { padding:1.25rem; }
.sapa-public .sapa-stat-card p, .sapa-public .sapa-stat-card small { color:var(--sapa-muted); }
.sapa-public .sapa-stat-card strong { color:var(--sapa-green); font-family:var(--sapa-display); font-size:2rem; }
.sapa-public .sapa-stat-card span { color:var(--sapa-muted); font-size:.85rem; }
.sapa-public .sapa-stat-card h2 { margin:.85rem 0 .5rem; color:var(--sapa-green-ink); font-size:1rem; }

@media (max-width: 900px) {
    .sapa-public .sapa-profile-page__hero-grid, .sapa-public .sapa-detail-grid, .sapa-public .sapa-story {
        grid-template-columns: 1fr;
    }

    .sapa-public .sapa-profile-page__mark {
        min-height: 210px;
    }

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

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

    .sapa-public .sapa-public-hub, .sapa-public .sapa-transparency-highlight {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sapa-public .sapa-nav-dropdown>div { position:static; min-width:0; margin:.45rem 0 0; transform:none; box-shadow:none; }
    .sapa-public .sapa-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

    .sapa-public .sapa-vision-content ol {
        grid-template-columns: repeat(2, 1fr);
    }

    .sapa-public .sapa-contact-strip {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 620px) {
    .sapa-public .sapa-mission-grid {
        grid-template-columns: 1fr;
    }

    .sapa-public .sapa-aparatur-grid {
        grid-template-columns: 1fr;
    }

    .sapa-public .sapa-public-hub, .sapa-public .sapa-transparency-highlight {
        grid-template-columns: 1fr;
    }
    .sapa-public .sapa-stat-grid { grid-template-columns:1fr; }
    .sapa-public .sapa-filter, .sapa-public .sapa-document { align-items:stretch; flex-direction:column; }

    .sapa-public .sapa-vision-content ol {
        grid-template-columns: 1fr;
    }

    .sapa-public .sapa-profile-page__mark {
        min-height: 175px;
    }

    .sapa-public .sapa-profile-page__mark>div:last-child {
        width: 125px;
        height: 125px;
    }
}
