:root{--ck-navy:#10233f;--ck-white:#fff;--ck-soft:#f5f7fa;--ck-border:#dbe2ea;--ck-muted:#627083;--ck-canvas:430px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body.ck-custom-page{margin:0;background:var(--ck-navy);font-family:"Manrope",Arial,sans-serif;color:var(--ck-navy);line-height:1.55}
body.ck-custom-page a{color:inherit;text-decoration:none}body.ck-custom-page button,body.ck-custom-page input,body.ck-custom-page textarea,body.ck-custom-page select{font:inherit}
.ck-canvas{width:100%;max-width:var(--ck-canvas);margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 60px rgba(0,0,0,.22);overflow-x:clip;overflow-y:visible}
.ck-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,35,63,.08)}
.ck-brand{display:flex;align-items:center}.ck-brand .custom-logo{max-height:34px;width:auto}.ck-logo-img{height:34px;width:auto}.ck-logo-word{font-weight:800;font-size:18px}.ck-logo-word span{font-weight:500}
.ck-header-actions{display:flex;align-items:center;gap:8px}.ck-menu-btn{width:38px;height:38px;border:1px solid var(--ck-border);border-radius:12px;background:#fff;display:grid;place-content:center;gap:4px}.ck-menu-btn span{width:16px;height:2px;background:var(--ck-navy);display:block}
.ck-mobile-menu{padding:10px 18px 18px;border-bottom:1px solid var(--ck-border);background:#fff;position:sticky;top:67px;z-index:45}.ck-mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid #edf1f4;font-weight:700}.ck-mobile-menu .ck-btn{margin-top:14px}
.ck-section{padding:54px 22px}.ck-section+.ck-section{border-top:1px solid rgba(16,35,63,.06)}.ck-section-navy{background:var(--ck-navy);color:#fff}.ck-section-soft{background:var(--ck-soft)}.ck-hero{padding-top:64px;padding-bottom:56px}
.ck-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.ck-eyebrow-light{color:#cdd8e7}
h1,h2,h3,p{margin-top:0}h1{font-size:39px;line-height:1.03;letter-spacing:-.048em;margin-bottom:20px}h2{font-size:30px;line-height:1.08;letter-spacing:-.04em;margin-bottom:20px}h3{font-size:18px;line-height:1.2;letter-spacing:-.025em;margin-bottom:8px}p{font-size:15px}.ck-lead{font-size:17px;color:#4c5b6d;line-height:1.65;margin-bottom:26px}.ck-section-navy p{color:#e3eaf2}.ck-muted{color:var(--ck-muted);font-size:13px}
.ck-btn{appearance:none;border:none;border-radius:13px;background:var(--ck-navy);color:#fff!important;padding:13px 16px;font-weight:800;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease}.ck-btn:hover{transform:translateY(-1px)}.ck-btn-small{padding:9px 11px;font-size:11px;border-radius:10px}.ck-btn-light{background:#fff;color:var(--ck-navy)!important}.ck-btn-full{width:100%;margin-top:8px}.ck-text-link{font-weight:800;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:2px}.ck-hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ck-proof-strip{display:flex;gap:7px;flex-wrap:wrap;margin-top:28px}.ck-proof-strip span,.ck-chip{font-size:11px;font-weight:700;padding:7px 9px;border-radius:999px;background:var(--ck-soft);border:1px solid var(--ck-border)}
.ck-stack{display:grid;gap:12px;margin:24px 0}.ck-card{display:block;border:1px solid var(--ck-border);border-radius:18px;padding:22px;background:#fff;box-shadow:0 8px 20px rgba(16,35,63,.04)}.ck-card p{color:#59697b;margin-bottom:12px}.ck-card>span:last-child{font-size:13px;font-weight:800}.ck-card-dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#fff}.ck-card-dark p{color:#d9e1eb}.ck-card-index{display:block;font-weight:800;font-size:12px;color:#aebed2;margin-bottom:22px}
.ck-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.ck-mini-card,.ck-metric-card{border:1px solid var(--ck-border);border-radius:16px;padding:16px;background:#fff;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.ck-mini-card strong{font-size:15px}.ck-mini-card span{font-size:12px;color:var(--ck-muted)}
.ck-process-row{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid var(--ck-border)}.ck-process-num{font-size:12px;font-weight:800;letter-spacing:.08em;padding-top:3px}.ck-process-row p{margin:0;color:var(--ck-muted)}.ck-process-row h3{margin-bottom:5px}
.ck-check-list{display:grid;gap:10px;margin-top:22px}.ck-check-item{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06)}.ck-check-item p{margin:0}
.ck-chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.ck-link-list{display:grid;border-top:1px solid var(--ck-border)}.ck-link-list a{display:grid;grid-template-columns:1fr auto;column-gap:8px;align-items:center;padding:16px 0;border-bottom:1px solid var(--ck-border)}.ck-link-list small{grid-column:1;color:var(--ck-muted)}.ck-link-list b{grid-row:1/3;grid-column:2}
.ck-case-card{padding:20px;border-radius:18px;background:#fff;color:var(--ck-navy);margin:22px 0}.ck-case-tag{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ck-muted);margin-bottom:10px}.ck-section-navy .ck-metric-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.ck-metric{font-weight:800;font-size:34px;line-height:1}.ck-section-navy .ck-metric-card span{font-size:12px;color:#cdd8e7}.ck-pr-value-card{margin-top:10px;border-radius:18px;padding:20px;background:#fff;color:var(--ck-navy);display:grid;gap:4px}.ck-pr-value-card span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ck-pr-value-card strong{font-size:28px}.ck-pr-value-card small{font-size:11px;color:var(--ck-muted)}
.ck-feature-article{display:block;background:var(--ck-navy);color:#fff!important;padding:22px;border-radius:18px;margin:20px 0}.ck-feature-article>span{font-size:10px;letter-spacing:.12em;font-weight:800;color:#cbd7e6}.ck-feature-article h3{font-size:23px;margin-top:12px}.ck-feature-article p{color:#d9e1eb;margin-bottom:0}
.ck-package-card{position:relative;border:1px solid var(--ck-border);border-radius:18px;padding:22px;background:#fff}.ck-package-featured{border:2px solid var(--ck-navy);box-shadow:0 16px 44px rgba(16,35,63,.12)}.ck-package-label{font-size:10px;letter-spacing:.14em;font-weight:800}.ck-badge{position:absolute;right:14px;top:14px;background:var(--ck-navy);color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}
.ck-transparency{border-left:5px solid var(--ck-navy);margin:0 22px;padding-left:18px;padding-right:18px}.ck-faq{border-top:1px solid var(--ck-border);padding:15px 0}.ck-faq:last-child{border-bottom:1px solid var(--ck-border)}.ck-faq summary{font-weight:800;cursor:pointer;list-style:none;padding-right:24px;position:relative}.ck-faq summary::-webkit-details-marker{display:none}.ck-faq summary:after{content:"+";position:absolute;right:0;top:-2px;font-size:20px}.ck-faq[open] summary:after{content:"–"}.ck-faq p{margin:12px 0 0;color:var(--ck-muted)}
.ck-final-cta{background:var(--ck-navy);color:#fff}.ck-final-cta p{color:#dce5ef}.ck-final-cta small{display:block;margin-top:12px;color:#bbc9d9}
.ck-footer{padding:34px 22px 26px;background:#091a2f;color:#fff}.ck-footer p{color:#bcc9d7}.ck-footer-links,.ck-socials{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:18px}.ck-footer-links a,.ck-socials a{font-size:12px;color:#d5dfeb}.ck-contact-block{display:grid;gap:5px;margin-top:20px;font-size:13px}.ck-legal{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;color:#8fa0b3}
.ck-admin-draft{margin:16px 22px;padding:14px;background:#fff7d7;border:1px solid #ead38c;border-radius:12px;font-size:12px}
.ck-modal{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center}.ck-modal.is-open{display:flex}.ck-modal-backdrop{position:absolute;inset:0;background:rgba(4,13,25,.72);backdrop-filter:blur(3px)}.ck-modal-card{position:relative;z-index:1;background:#fff;width:100%;max-width:430px;max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;padding:26px 22px 30px;box-shadow:0 -20px 50px rgba(0,0,0,.2)}.ck-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--ck-border);background:#fff;border-radius:50%;font-size:22px;cursor:pointer}.ck-modal-card h2{font-size:28px}.ck-modal-card label{display:grid;gap:7px;font-size:12px;font-weight:800;margin:14px 0}.ck-modal-card input,.ck-modal-card textarea,.ck-modal-card select{width:100%;border:1px solid var(--ck-border);border-radius:12px;padding:12px;background:#fff;color:var(--ck-navy);outline:none}.ck-consent{grid-template-columns:20px 1fr!important;align-items:start;font-weight:500!important;font-size:11px!important}.ck-consent input{width:18px!important;margin-top:1px}.ck-consent a{text-decoration:underline}.ck-form-status{font-size:12px;margin-top:10px;color:var(--ck-muted)}.ck-honeypot{position:absolute!important;left:-99999px!important}
.ck-reveal{opacity:1;transform:none}.ck-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ck-reveal{opacity:1;transform:none;transition:none}}
@media(max-width:360px){h1{font-size:34px}h2{font-size:27px}.ck-header{padding-left:14px;padding-right:14px}.ck-section{padding-left:18px;padding-right:18px}}
/* === CASA V2 — HEADER & HERO POLISH === */

.ck-header {
    padding: 12px 18px;
}

.ck-brand .custom-logo,
.ck-logo-img {
    max-height: 30px;
    width: auto;
}

.ck-header-actions {
    gap: 7px;
}

.ck-btn-small {
    padding: 9px 12px;
    font-size: 10.5px;
    border-radius: 10px;
    white-space: nowrap;
}

.ck-menu-btn {
    width: 34px;
    height: 34px;
    border: 0;
}

.ck-hero {
    padding-top: 58px;
    padding-bottom: 46px;
}

.ck-hero h1 {
    max-width: 380px;
    margin-bottom: 26px;
}

.ck-hero .ck-lead {
    max-width: 365px;
    margin-bottom: 30px;
}

.ck-hero-actions {
    gap: 18px;
}

.ck-proof-strip {
    margin-top: 32px;
    gap: 8px;
}

.ck-proof-strip span {
    background: transparent;
    border: 1px solid rgba(16, 35, 63, .16);
    padding: 7px 11px;
    font-size: 10.5px;
}

@media (max-width: 380px) {
    .ck-brand .custom-logo,
    .ck-logo-img {
        max-height: 26px;
    }

    .ck-btn-small {
        padding: 8px 9px;
        font-size: 9.5px;
    }
}
/* === CASA V2 — MOMENTUM SECTION === */

#solusi {
    padding-top: 58px;
    padding-bottom: 58px;
}

#solusi h2 {
    max-width: 355px;
    margin-bottom: 28px;
}

#solusi .ck-stack {
    gap: 10px;
    margin-top: 0;
    margin-bottom: 26px;
}

#solusi .ck-card-dark {
    position: relative;
    padding: 20px 52px 20px 20px;
    min-height: 0;
    border-radius: 16px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: none;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

#solusi .ck-card-dark:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.28);
    transform: translateY(-2px);
}

#solusi .ck-card-index {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 9px;
    font-size: 10px;
    color: rgba(255,255,255,.8);
}

#solusi .ck-card-dark h3 {
    font-size: 19px;
    margin-bottom: 8px;
    letter-spacing: -.025em;
}

#solusi .ck-card-dark p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255,255,255,.74);
}

#solusi .ck-card-dark::after {
    content: "→";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    opacity: .55;
    transition: transform .2s ease, opacity .2s ease;
}

#solusi .ck-card-dark:hover::after {
    transform: translate(3px,-50%);
    opacity: 1;
}

#solusi > .ck-btn {
    width: 100%;
    margin-top: 2px;
}
/* === CASA V2 — CORE SERVICES === */

#layanan {
    padding-top: 58px;
    padding-bottom: 58px;
}

#layanan h2 {
    max-width: 360px;
    margin-bottom: 28px;
}

#layanan .ck-stack {
    counter-reset: casa-service;
    gap: 10px;
    margin: 0;
}

#layanan .ck-card {
    counter-increment: casa-service;
    position: relative;
    padding: 20px 56px 20px 22px;
    border-radius: 16px;
    min-height: 0;
    box-shadow: none;
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

#layanan .ck-card::before {
    content: "0" counter(casa-service);
    display: block;
    margin-bottom: 22px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    opacity: .52;
}

#layanan .ck-card::after {
    content: "→";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    opacity: .4;
}

#layanan .ck-card:hover {
    transform: translateY(-2px);
    border-color: rgba(16,35,63,.28);
}

#layanan .ck-card h3 {
    font-size: 20px;
    margin-bottom: 7px;
}

#layanan .ck-card p {
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.55;
}

#layanan .ck-card > span:last-child {
    font-size: 12px;
}

/* Featured entry service */
#layanan .ck-card:first-child {
    background: var(--ck-navy);
    border-color: var(--ck-navy);
    color: #fff;
}

#layanan .ck-card:first-child p {
    color: rgba(255,255,255,.72);
}

#layanan .ck-card:first-child::after {
    color: #fff;
    opacity: .7;
}
/* === CASA V2 — PROCESS / CARA KERJA === */

#cara-kerja {
    padding-top: 58px;
    padding-bottom: 58px;
}

#cara-kerja h2 {
    max-width: 350px;
    margin-bottom: 30px;
}

/* timeline */
#cara-kerja .ck-process-row {
    position: relative;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 0;
}

/* vertical connector */
#cara-kerja .ck-process-row:not(:last-of-type)::after {
    content: "";
    position: absolute;
    left: 15px;
    top: 48px;
    bottom: -8px;
    width: 1px;
    background: rgba(16, 35, 63, .14);
}

/* number becomes node */
#cara-kerja .ck-process-num {
    width: 31px;
    height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(16, 35, 63, .18);
    border-radius: 9px;
    background: #fff;
    font-size: 10px;
    font-weight: 800;
    z-index: 2;
}

/* content */
#cara-kerja .ck-process-row h3 {
    font-size: 19px;
    margin-bottom: 6px;
}

#cara-kerja .ck-process-row p {
    font-size: 14px;
    line-height: 1.6;
    max-width: 300px;
}

/* emphasize final outcome */
#cara-kerja .ck-process-row:last-child {
    margin-top: 8px;
    padding: 20px 18px;
    grid-template-columns: 48px 1fr;
    background: var(--ck-navy);
    border-radius: 16px;
    color: #fff;
}

#cara-kerja .ck-process-row:last-child .ck-process-num {
    background: #fff;
    color: var(--ck-navy);
    border-color: #fff;
}

#cara-kerja .ck-process-row:last-child p {
    color: rgba(255,255,255,.72);
}

#cara-kerja .ck-process-row:last-child h3 {
    color: #fff;
}
/* === CASA V2 — WHY CASA === */

#cara-kerja + .ck-section {
    padding-top: 58px;
    padding-bottom: 58px;
}

#cara-kerja + .ck-section h2 {
    max-width: 365px;
    margin-bottom: 28px;
}

#cara-kerja + .ck-section .ck-grid-2 {
    gap: 10px;
    margin-top: 0;
}

/* Compact cards */
#cara-kerja + .ck-section .ck-mini-card {
    min-height: 126px;
    padding: 17px;
    justify-content: flex-start;
    gap: 25px;
    box-shadow: none;
}

#cara-kerja + .ck-section .ck-mini-card strong {
    font-size: 15px;
    line-height: 1.3;
}

#cara-kerja + .ck-section .ck-mini-card span {
    font-size: 11.5px;
    line-height: 1.5;
}

/* Reporting = signature differentiator */
#cara-kerja + .ck-section .ck-mini-card:nth-child(3) {
    background: var(--ck-navy);
    border-color: var(--ck-navy);
    color: #fff;
}

#cara-kerja + .ck-section .ck-mini-card:nth-child(3) span {
    color: rgba(255,255,255,.72);
}

#cara-kerja + .ck-section .ck-mini-card:nth-child(3)::after {
    content: "PR VALUE";
    display: inline-flex;
    width: fit-content;
    margin-top: auto;
    padding: 5px 7px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 7px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
}
/* === CASA V2 — SUPPORTING CAPABILITIES === */

#layanan ~ .ck-section .ck-link-list a {
    transition: padding-left .2s ease, background .2s ease;
}

.ck-link-list a:hover {
    padding-left: 8px;
}

.ck-link-list a span {
    font-weight: 700;
}

.ck-link-list a small {
    margin-top: 2px;
    font-size: 11px;
}


/* === CASA V2 — ABOUT / FAQ === */

.ck-section .ck-text-link {
    display: inline-flex;
    margin-top: 4px;
}

.ck-faq summary {
    line-height: 1.5;
}

.ck-faq p {
    line-height: 1.65;
}


/* === CASA V2 — FINAL CTA === */

.ck-final-cta {
    padding-top: 58px;
    padding-bottom: 58px;
}

.ck-final-cta h2 {
    max-width: 350px;
}

.ck-final-cta p {
    max-width: 350px;
}

.ck-final-cta .ck-btn {
    margin-top: 8px;
}


/* === CASA V2 — FOOTER === */

.ck-footer {
    padding-top: 38px;
}

.ck-footer-brand {
    display: inline-flex;
    background: #fff;
    padding: 7px 10px;
    border-radius: 9px;
}

.ck-footer-brand .custom-logo,
.ck-footer-brand .ck-logo-img {
    max-height: 27px;
    width: auto;
}

.ck-footer > p {
    margin-top: 12px;
    margin-bottom: 0;
    font-size: 13px;
}

.ck-footer-links {
    margin-top: 26px;
}

.ck-footer-links a,
.ck-socials a {
    transition: opacity .2s ease;
}

.ck-footer-links a:hover,
.ck-socials a:hover {
    opacity: .65;
}

.ck-contact-block {
    padding-top: 4px;
}

.ck-legal {
    line-height: 1.5;
}
/* === CASA V2 — BRIEF MODAL POLISH === */

.ck-modal-card {
    padding: 26px 22px 26px;
}

/* Fix required star turun baris */
.ck-modal-card label:not(.ck-consent) {
    display: block;
    margin: 13px 0;
}

.ck-modal-card label:not(.ck-consent) > span {
    display: inline;
}

.ck-modal-card label:not(.ck-consent) input,
.ck-modal-card label:not(.ck-consent) textarea,
.ck-modal-card label:not(.ck-consent) select {
    margin-top: 7px;
}

/* Form lebih compact */
.ck-modal-card input,
.ck-modal-card textarea,
.ck-modal-card select {
    padding: 11px 12px;
}

.ck-modal-card textarea {
    min-height: 92px;
}

.ck-modal-card .ck-muted {
    margin-bottom: 20px;
}

/* Consent */
.ck-consent {
    margin-top: 17px !important;
    margin-bottom: 18px !important;
    line-height: 1.55;
}

/* CTA submit */
.ck-modal-card .ck-btn-full {
    min-height: 48px;
    border-radius: 12px;
}

/* Scrollbar lebih subtle */
.ck-modal-card {
    scrollbar-width: thin;
    scrollbar-color: rgba(16,35,63,.35) transparent;
}

.ck-modal-card::-webkit-scrollbar {
    width: 5px;
}

.ck-modal-card::-webkit-scrollbar-thumb {
    background: rgba(16,35,63,.3);
    border-radius: 10px;
}
/* === CASA V2 — STABILITY / FIXES === */

/* Keep sticky header functional while preventing horizontal spill */
.ck-canvas {
    overflow-x: clip;
    overflow-y: visible;
}

/* Guarantee field label + required star stay on the same line */
.ck-modal-card label:not(.ck-consent) {
    display: block;
}

.ck-modal-card label:not(.ck-consent) > input,
.ck-modal-card label:not(.ck-consent) > textarea,
.ck-modal-card label:not(.ck-consent) > select {
    display: block;
    width: 100%;
    margin-top: 7px;
}

/* Consent must remain a two-column grid */
.ck-modal-card .ck-consent {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    column-gap: 8px;
    align-items: start;
}

/* Better viewport behavior on mobile browsers */
@supports (height: 100dvh) {
    .ck-modal-card {
        max-height: 92dvh;
    }
}

/* Accessible keyboard focus */
.ck-btn:focus-visible,
.ck-menu-btn:focus-visible,
.ck-text-link:focus-visible,
.ck-card:focus-visible,
.ck-link-list a:focus-visible,
.ck-faq summary:focus-visible,
.ck-footer a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.ck-menu-btn {
    cursor: pointer;
}

/* === CASA V1.1 — COMMERCIAL SERVICE POLISH === */
body[data-ck-context="media-relations"] .ck-hero,
body[data-ck-context="press-conference"] .ck-hero,
body[data-ck-context="media-visit"] .ck-hero {
    padding-top: 58px;
    padding-bottom: 48px;
}

body[data-ck-context="media-relations"] .ck-hero h1,
body[data-ck-context="press-conference"] .ck-hero h1,
body[data-ck-context="media-visit"] .ck-hero h1 {
    font-size: 36px;
    line-height: 1.06;
    max-width: 365px;
}

body[data-ck-context="media-relations"] .ck-hero .ck-lead,
body[data-ck-context="press-conference"] .ck-hero .ck-lead,
body[data-ck-context="media-visit"] .ck-hero .ck-lead {
    font-size: 15.5px;
    line-height: 1.65;
    max-width: 360px;
}

#scope {
    padding-top: 58px;
    padding-bottom: 58px;
}

#scope .ck-check-list { gap: 8px; }
#scope .ck-check-item {
    grid-template-columns: 24px 1fr;
    gap: 10px;
    padding: 13px 14px;
    border-radius: 13px;
}
#scope .ck-check-item span { font-size: 13px; }
#scope .ck-check-item p { font-size: 13.5px; line-height: 1.45; }
#scope + .ck-section h2 { font-size: 27px; line-height: 1.1; max-width: 350px; }
#scope + .ck-section { padding-top: 54px; padding-bottom: 54px; }

body[data-ck-context="media-relations"] .ck-section-soft .ck-process-row,
body[data-ck-context="press-conference"] .ck-section-soft .ck-process-row,
body[data-ck-context="media-visit"] .ck-section-soft .ck-process-row {
    grid-template-columns: 64px 1fr;
    gap: 14px;
    padding: 17px 0;
    border-bottom: 1px solid rgba(16,35,63,.12);
}

body[data-ck-context="media-relations"] .ck-section-soft .ck-process-num,
body[data-ck-context="press-conference"] .ck-section-soft .ck-process-num,
body[data-ck-context="media-visit"] .ck-section-soft .ck-process-num {
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
}

body[data-ck-context="media-relations"] .ck-section-soft .ck-process-row h3,
body[data-ck-context="press-conference"] .ck-section-soft .ck-process-row h3,
body[data-ck-context="media-visit"] .ck-section-soft .ck-process-row h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
}

body[data-ck-context="media-relations"] .ck-section-soft .ck-process-row:last-of-type,
body[data-ck-context="press-conference"] .ck-section-soft .ck-process-row:last-of-type,
body[data-ck-context="media-visit"] .ck-section-soft .ck-process-row:last-of-type {
    margin-top: 10px;
    padding: 16px 14px;
    grid-template-columns: 60px 1fr;
    border: 0;
    border-radius: 14px;
    background: var(--ck-navy);
    color: #fff;
}

body[data-ck-context="media-relations"] .ck-section-soft .ck-process-row:last-of-type .ck-process-num,
body[data-ck-context="press-conference"] .ck-section-soft .ck-process-row:last-of-type .ck-process-num,
body[data-ck-context="media-visit"] .ck-section-soft .ck-process-row:last-of-type .ck-process-num {
    color: rgba(255,255,255,.7);
}

body[data-ck-context="media-relations"] .ck-section-soft .ck-process-row:last-of-type h3,
body[data-ck-context="press-conference"] .ck-section-soft .ck-process-row:last-of-type h3,
body[data-ck-context="media-visit"] .ck-section-soft .ck-process-row:last-of-type h3 { color: #fff; }

body[data-ck-context="media-relations"] .ck-section-soft + .ck-section,
body[data-ck-context="press-conference"] .ck-section-soft + .ck-section,
body[data-ck-context="media-visit"] .ck-section-soft + .ck-section {
    padding-top: 54px;
    padding-bottom: 54px;
}

body[data-ck-context="media-relations"] .ck-section-soft + .ck-section h2,
body[data-ck-context="press-conference"] .ck-section-soft + .ck-section h2,
body[data-ck-context="media-visit"] .ck-section-soft + .ck-section h2 {
    font-size: 27px;
    line-height: 1.1;
    max-width: 355px;
    margin-bottom: 26px;
}

body[data-ck-context="media-relations"] .ck-section-soft + .ck-section .ck-grid-2,
body[data-ck-context="press-conference"] .ck-section-soft + .ck-section .ck-grid-2,
body[data-ck-context="media-visit"] .ck-section-soft + .ck-section .ck-grid-2 { margin-top: 0; }

body[data-ck-context="media-relations"] .ck-section-soft + .ck-section .ck-mini-card,
body[data-ck-context="press-conference"] .ck-section-soft + .ck-section .ck-mini-card,
body[data-ck-context="media-visit"] .ck-section-soft + .ck-section .ck-mini-card {
    min-height: 112px;
    padding: 15px;
}

/* === CASA V1.1 — PACKAGE DETAIL === */
.ck-service-packages { gap: 12px; }
.ck-service-packages .ck-package-card { padding: 22px 20px; }
.ck-service-packages .ck-package-card h3 {
    margin-top: 8px;
    margin-bottom: 18px;
    font-size: 19px;
}
.ck-package-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}
.ck-package-list li {
    position: relative;
    padding-left: 20px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--ck-muted);
}
.ck-package-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 11px;
    font-weight: 800;
    color: var(--ck-navy);
}
.ck-package-featured .ck-package-list li { color: #4e5c6d; }
.ck-package-featured { position: relative; }

/* Universal brief form */
.ck-required-mark {
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
    line-height: inherit !important;
}
/* =========================================================
   CASA V2 — FLOATING MODAL CLOSE
========================================================= */

.ck-modal-card {
    position: relative;
}

.ck-modal-close {
    position: sticky;
    top: 14px;
    z-index: 50;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-left: auto;
    margin-right: 0;
    margin-bottom: 8px;

    padding: 0;

    border: 1px solid rgba(16, 35, 63, 0.12);
    border-radius: 999px;

    background: #ffffff;

    font-size: 26px;
    line-height: 1;
    font-weight: 400;

    color: #10233f;

    cursor: pointer;

    box-shadow:
        0 8px 24px rgba(16, 35, 63, 0.12);
}

.ck-modal-close:hover,
.ck-modal-close:focus-visible {
    transform: scale(1.04);
}

.ck-modal-close:focus-visible {
    outline: 2px solid #10233f;
    outline-offset: 3px;
}
/* =========================================================
   CASA V2 — MOBILE UX REFINEMENT
========================================================= */

@media (max-width: 390px) {

    .ck-header {
        gap: 8px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .ck-brand {
        flex: 1 1 auto;
        min-width: 0;
    }

    .ck-brand img {
        width: 100%;
        max-width: 132px;
        height: auto;
    }

    .ck-header-actions {
        gap: 6px;
        flex-shrink: 0;
    }

    .ck-header .ck-btn-small {
        min-height: 44px;
        padding: 0 12px;
        font-size: 13px;
        white-space: nowrap;
    }

    .ck-menu-btn {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }
}


@media (max-width: 350px) {

    .ck-brand img {
        max-width: 112px;
    }

    .ck-header .ck-btn-small {
        padding-left: 9px;
        padding-right: 9px;
        font-size: 12px;
    }
}
/* =========================================================
   CASA V2 — COMPACT MOMENTUM
========================================================= */

#solusi .ck-card {
    min-height: 0;
    padding-top: 24px;
    padding-bottom: 24px;
}

#solusi .ck-card h3 {
    margin-top: 16px;
    margin-bottom: 8px;
}

#solusi .ck-card p {
    margin-bottom: 0;
}
/* =========================================================
   CASA V2 — SERVICE SCOPE COMPACT
========================================================= */

#scope .ck-check-item {
    min-height: 0;
    padding: 14px 16px;
}

#scope .ck-check-item p {
    margin: 0;
    line-height: 1.5;
}
/* =========================================================
   CASA V2 — STICKY HEADER ANCHOR OFFSET
========================================================= */

.ck-section[id] {
    scroll-margin-top: 110px;
}

/* =========================================================
   CASA V2 — NAVY SECTION WHITE CARD GLOBAL FIX
   Fix white-on-white text across all service pages
========================================================= */

/* White cards inside navy sections */
.ck-section-navy .ck-mini-card {
    background: #ffffff;
    border-color: var(--ck-border);
    color: var(--ck-navy);
}

/* All possible card headings */
.ck-section-navy .ck-mini-card strong,
.ck-section-navy .ck-mini-card h2,
.ck-section-navy .ck-mini-card h3,
.ck-section-navy .ck-mini-card h4 {
    color: var(--ck-navy) !important;
}

/* Supporting text */
.ck-section-navy .ck-mini-card span,
.ck-section-navy .ck-mini-card p,
.ck-section-navy .ck-mini-card small {
    color: var(--ck-muted) !important;
}

/* Make sure heading is visible and separated */
.ck-section-navy .ck-mini-card strong {
    display: block;
    font-size: 15px;
    line-height: 1.35;
    margin-bottom: 8px;
}

/* Supporting copy */
.ck-section-navy .ck-mini-card span {
    display: block;
    font-size: 12px;
    line-height: 1.5;
}

/* =========================================================
   EXCEPTION:
   Intentionally dark mini cards must stay white text
========================================================= */

.ck-section-navy .ck-mini-card.ck-card-dark,
.ck-section-navy .ck-mini-card.is-dark {
    background: var(--ck-navy);
    color: #ffffff;
}

.ck-section-navy .ck-mini-card.ck-card-dark strong,
.ck-section-navy .ck-mini-card.ck-card-dark h3,
.ck-section-navy .ck-mini-card.is-dark strong,
.ck-section-navy .ck-mini-card.is-dark h3 {
    color: #ffffff !important;
}

.ck-section-navy .ck-mini-card.ck-card-dark span,
.ck-section-navy .ck-mini-card.ck-card-dark p,
.ck-section-navy .ck-mini-card.is-dark span,
.ck-section-navy .ck-mini-card.is-dark p {
    color: rgba(255,255,255,.72) !important;
}

/* =========================================================
   CASA V3 — COMPACT FOOTER
   Replaces the old "directory-style" footer visually.
========================================================= */

.ck-footer.ck-footer-v3 {
    padding: 34px 22px 22px;
    background: #091a2f;
    color: #ffffff;
}

.ck-footer-v3 a {
    color: inherit;
}

.ck-footer-v3 .ck-footer-intro {
    margin-bottom: 28px;
}

.ck-footer-v3 .ck-footer-brand {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 9px;
    background: #ffffff;
}

.ck-footer-v3 .ck-footer-brand .custom-logo,
.ck-footer-v3 .ck-footer-brand .ck-logo-img {
    display: block;
    width: auto;
    max-height: 24px;
}

.ck-footer-v3 .ck-footer-positioning {
    max-width: 315px;
    margin: 12px 0 0;
    color: #b9c7d6;
    font-size: 13px;
    line-height: 1.55;
}


/* Primary navigation */

.ck-footer-nav-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
    gap: 24px;
    padding: 24px 0;
    border-top: 1px solid rgba(255,255,255,.11);
}

.ck-footer-nav-group {
    display: grid;
    align-content: start;
    gap: 9px;
}

.ck-footer-label {
    display: block;
    margin-bottom: 4px;
    color: #8799ad;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ck-footer-nav-group a {
    width: fit-content;
    color: #eef3f8;
    font-size: 12.5px;
    line-height: 1.45;
}


/* Supporting */

.ck-footer-support {
    padding: 20px 0 24px;
    border-top: 1px solid rgba(255,255,255,.11);
}

.ck-footer-support-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.ck-footer-support-links a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    color: #dce5ef;
    font-size: 10.5px;
    line-height: 1.25;
}


/* Mini CTA */

.ck-footer-cta {
    display: grid;
    gap: 17px;
    margin: 0 -4px;
    padding: 22px 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 17px;
    background: rgba(255,255,255,.055);
}

.ck-footer-cta .ck-footer-label-light {
    margin-bottom: 8px;
    color: #aebed0;
}

.ck-footer-cta strong {
    display: block;
    max-width: 330px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -.015em;
}

.ck-footer-cta .ck-btn {
    width: fit-content;
    min-height: 42px;
    margin: 0;
    padding: 10px 14px;
    font-size: 11px;
}


/* Contact */

.ck-footer-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 24px 0 20px;
}

.ck-footer-contact a {
    min-width: 0;
    color: #e8eef5;
    font-size: 11px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.ck-footer-contact a span {
    display: block;
    margin-bottom: 4px;
    color: #8093a9;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}


/* Social */

.ck-footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,.11);
}

.ck-footer-social a {
    color: #d7e1eb;
    font-size: 10.5px;
}


/* Legal */

.ck-footer-legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    padding: 17px 0;
    border-top: 1px solid rgba(255,255,255,.11);
}

.ck-footer-legal-links a {
    color: #8fa1b5;
    font-size: 9.5px;
}


/* Corporate */

.ck-footer-corporate {
    display: flex;
    justify-content: space-between;
    gap: 8px 14px;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.11);
    color: #72869c;
    font-size: 8.5px;
    line-height: 1.5;
}


/* Interaction */

.ck-footer-v3 a,
.ck-footer-v3 .ck-btn {
    transition:
        opacity .18s ease,
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.ck-footer-v3 a:hover {
    opacity: .7;
}

.ck-footer-support-links a:hover {
    opacity: 1;
    border-color: rgba(255,255,255,.28);
    background: rgba(255,255,255,.05);
}

.ck-footer-v3 a:focus-visible,
.ck-footer-v3 .ck-btn:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}


/* Small mobile */

@media (max-width: 360px) {

    .ck-footer.ck-footer-v3 {
        padding-left: 18px;
        padding-right: 18px;
    }

    .ck-footer-nav-grid {
        gap: 18px;
    }

    .ck-footer-contact {
        grid-template-columns: 1fr;
    }

    .ck-footer-corporate {
        flex-direction: column;
    }
}

/* =========================================================
   CASA KREATIF — UNIVERSAL FORM V2
   Paste at the END of assets/css/casa.css
========================================================= */

#ckLeadModalV2 .ck-modal-card {
    padding: 24px 22px 28px;
}

#ckLeadModalV2 .ck-modal-card h2 {
    margin-bottom: 8px;
}

#ckLeadModalV2 .ck-modal-card > .ck-muted {
    margin-top: 0;
    margin-bottom: 18px;
    line-height: 1.55;
}

#ckLeadFormV2 label {
    display: block;
    margin: 14px 0;
}

#ckLeadFormV2 label > span {
    display: inline;
}

#ckLeadFormV2 input,
#ckLeadFormV2 select {
    display: block;
    width: 100%;
    min-height: 48px;
    margin-top: 7px;
    padding: 11px 12px;
    border-radius: 12px;
}

#ckLeadFormV2 #ckServiceSelectRowV2[hidden] {
    display: none !important;
}

#ckLeadFormV2 .ck-btn-full {
    width: 100%;
    min-height: 50px;
    margin-top: 18px;
    border-radius: 12px;
}

#ckLeadFormV2 .ck-btn-full:disabled {
    opacity: .65;
    cursor: wait;
}

.ck-form-note-v2 {
    margin: 12px 0 0;
    font-size: 10.5px;
    line-height: 1.55;
    color: var(--ck-muted);
}

.ck-form-note-v2 a {
    color: var(--ck-navy);
    text-decoration: underline;
}

#ckLeadStatusV2 {
    min-height: 18px;
    margin-top: 8px;
}

/* Keep mobile form genuinely short. */
@media (max-width: 430px) {
    #ckLeadModalV2 .ck-modal-card {
        max-height: 88vh;
        max-height: 88dvh;
    }
}

/* =========================================================
   CASA KREATIF — SERVICES HUB
   Paste at the END of assets/css/casa.css
========================================================= */

body[data-ck-context="layanan"] .ck-services-hero h1 {
    max-width: 360px;
}

.ck-services-intro {
    max-width: 360px;
    margin-bottom: 24px;
}

.ck-services-stack {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}

.ck-service-hub-card {
    display: block;
    padding: 22px 20px;
    border: 1px solid var(--ck-border);
    border-radius: 18px;
    background: #fff;
    color: var(--ck-navy);
    text-decoration: none;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.ck-service-hub-card:hover {
    transform: translateY(-2px);
    border-color: rgba(16, 35, 63, .28);
    box-shadow: 0 12px 30px rgba(16, 35, 63, .07);
}

.ck-service-hub-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.ck-service-hub-card__eyebrow {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .15em;
}

.ck-service-hub-card__arrow {
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 1;
}

.ck-service-hub-card h3 {
    margin: 0 0 9px;
    font-size: 22px;
    line-height: 1.15;
    color: var(--ck-navy);
}

.ck-service-hub-card p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ck-muted);
}

.ck-service-hub-card__link {
    display: inline-block;
    margin-top: 16px;
    font-size: 11px;
    font-weight: 800;
}

.ck-support-service-list {
    display: grid;
    margin-top: 24px;
    border-top: 1px solid var(--ck-border);
}

.ck-support-service-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    gap: 14px;
    align-items: center;
    padding: 19px 0;
    border-bottom: 1px solid var(--ck-border);
    color: var(--ck-navy);
    text-decoration: none;
}

.ck-support-service-row strong,
.ck-support-service-row span {
    display: block;
}

.ck-support-service-row strong {
    margin-bottom: 5px;
    font-size: 15px;
    line-height: 1.35;
}

.ck-support-service-row div > span {
    font-size: 12px;
    line-height: 1.55;
    color: var(--ck-muted);
}

.ck-support-service-row__arrow {
    font-size: 17px;
    text-align: right;
    transition: transform .2s ease;
}

.ck-support-service-row:hover .ck-support-service-row__arrow {
    transform: translateX(3px);
}

.ck-services-momentum > p {
    max-width: 350px;
}

.ck-momentum-stack {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}

.ck-momentum-card {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 17px;
    background: rgba(255, 255, 255, .06);
}

.ck-momentum-card h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.25;
    color: #fff;
}

.ck-momentum-card p {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .75);
}

.ck-momentum-links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 15px;
}

.ck-momentum-links a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.ck-momentum-links a:hover {
    background: rgba(255, 255, 255, .14);
}

.ck-services-path .ck-process-list {
    margin-top: 22px;
}

.ck-services-path .ck-process-row {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 0;
    border-bottom: 1px solid var(--ck-border);
}

.ck-services-path .ck-process-row:last-child {
    border-bottom: 0;
}

.ck-services-path .ck-process-num {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.ck-services-path .ck-process-row strong {
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
    color: var(--ck-navy);
}

.ck-services-path .ck-process-row p {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--ck-muted);
}

.ck-services-final p {
    max-width: 350px;
}

@media (max-width: 360px) {
    .ck-service-hub-card {
        padding: 19px 17px;
    }

    .ck-momentum-card {
        padding: 18px;
    }
}

/* =========================================================
   CASA V3 — CONTEXTUAL RELATED SERVICES
========================================================= */
.ck-related-services .ck-link-list { margin-top: 24px; }
.ck-related-services .ck-related-all { margin-top: 22px; }
.ck-related-services .ck-link-list a span { font-weight: 800; }
.ck-related-services .ck-link-list small { line-height: 1.5; }

/* =========================================================
   CASA v2.0.2 — STABILITY + TYPOGRAPHY + OUTPUT HIERARCHY
========================================================= */
body.ck-custom-page .ck-canvas,
body.ck-custom-page .ck-canvas button,
body.ck-custom-page .ck-canvas input,
body.ck-custom-page .ck-canvas textarea,
body.ck-custom-page .ck-canvas select {
    font-family: "Manrope", Arial, sans-serif;
}
body.ck-custom-page .ck-canvas h1,
body.ck-custom-page .ck-canvas h2,
body.ck-custom-page .ck-canvas h3,
body.ck-custom-page .ck-canvas h4,
body.ck-custom-page .ck-canvas h5,
body.ck-custom-page .ck-canvas h6 {
    font-family: "Manrope", Arial, sans-serif !important;
}
/* Core content is visible without waiting for JavaScript. */
body.ck-custom-page .ck-reveal,
body.ck-custom-page .ck-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
}
.ck-core-deliverables .ck-grid-2 { margin-top: 24px; }
.ck-core-deliverables .ck-mini-card { min-height: 118px; }
.ck-core-deliverables .ck-mini-card strong { line-height: 1.3; }

/* =========================================================
   CASA v2.1 — FINAL ACCESSIBILITY / ROUTING POLISH
========================================================= */

.ck-momentum-card[id] {
    scroll-margin-top: 110px;
}

#ckLeadFormV2 input:focus-visible,
#ckLeadFormV2 select:focus-visible {
    border-color: var(--ck-navy);
    box-shadow: 0 0 0 3px rgba(16, 35, 63, .10);
    outline: 0;
}

#ckLeadFormV2 [aria-invalid="true"] {
    border-width: 2px;
    border-color: var(--ck-navy);
}
/* Casa Contact — conversion spacing */
.ck-contact-brief-cta { margin-top: 22px; }

