:root{
  --navy:#061A40;
  --navy-2:#0B2A5B;
  --blue:#0d6efd;
  --blue-dark:#0A4FC4;
  --cyan:#38BDF8;
  --ice:#EEF4FF;
  --ink:#0B1220;
  --muted:#5B6B8C;
  --radius:16px;
  --amber:#FFB020;
  --blue-900:#062a63;
  --blue-700:#0a58ca;
  --blue-600:#0d6efd;
  --blue-100:#e7f0ff;
  --ink:#0f1b2d;
  --muted:#5b6b82;
  --bg-soft:#f8fafc;
  --primary-blue: #2563eb;
  --primary-blue-hover: #1d4ed8;
  --bg-light: #f8fafc;
  --card-bg: #ffffff;
  --text-muted: #64748b;
  --text-dark: #1e293b;
  --border-color: #e2e8f0;
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
}
body{font-family:'Inter',sans-serif;color:var(--ink);background:#fff;}
h1,h2,h3,h4,.display-font{font-family:'Plus Jakarta Sans',sans-serif;}
@media (prefers-reduced-motion: reduce){*{animation:none !important; transition:none !important;}}
h1{
  font-size: 35px;
}

h2{
  font-size: 30px;
}

h3{
  font-size: 25px;
}

h4{
  font-size: 22px;
}

h5{
  font-size: 18px;
}

.rounded-2 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}
/* ===== NAVBAR ===== */
.navbar{
  padding:16px 0;
  transition:.3s;
  background:rgba(255,255,255);
  backdrop-filter:blur(10px);
}

.navbar.fixed-top{
  border-bottom: solid 1px var(--border-color);
}
/*.navbar-custom {
    top: 16px;
    left: 16px;
    right: 16px;
    max-width: 1320px;
    margin: 0 auto;
    background: #fff;
    border-radius: 999px;
    padding: .55rem 1.1rem;
    box-shadow: 0 15px 40px rgba(13, 42, 110, .15);
    transition: box-shadow .25s ease;
}*/

.navbar.scrolled{padding:10px 0;box-shadow:0 6px 24px -12px rgba(6,42,99,.18);}
.navbar-brand{font-weight:800;font-size:1.25rem;color:var(--blue-900)!important;display:flex;align-items:center;gap:10px;}
.navbar-brand .logo-mark{
  max-height:50px;
}
.nav-link{font-weight:500;color:var(--ink)!important;padding:.5rem 1rem!important;}
.nav-link:hover{color:var(--blue-700)!important;}
.dropdown-menu{border:none;border-radius:14px;box-shadow:0 20px 45px -18px rgba(6,42,99,.28);padding:10px;}
.dropdown-item{border-radius:10px;padding:.55rem .85rem;font-size:.92rem;}
.dropdown-item:hover{background:var(--blue-100);color:var(--blue-700);}
.dropdown-item i{color:var(--blue-600);width:20px;margin-right: 5px;}
.btn-cta{
  background:linear-gradient(135deg,var(--blue) 0%, var(--cyan) 130%);
  border:none;color:#fff;font-weight:500;padding: .75rem 1.6rem;
  font-size:18px;
  border-radius:999px;box-shadow:0 8px 20px rgba(13,110,253,.35);
}
.btn-cta:hover{
    background:var(--blue-700);
    color:#fff;transform:translateY(-2px);
    box-shadow:0 12px 24px -8px rgba(13,110,253,.6);
}

.btn-outline-brand{
  border:1.5px solid #d7e3f7;
  color:var(--blue-900);
  font-size:18px;
  font-weight:600;
  padding:.75rem 1.6rem;
  border-radius:12px;
  background:#fff;
  transition:.25s;
}

.btn-outline-brand:hover {
    border-color: var(--blue-600);
    color: var(--blue-700);
    background: var(--blue-100);
}

.btn-cta:hover{border-color:var(--blue-600);color:var(--blue-700);background:var(--blue-100);}

.btn{
  transition:transform .22s ease, box-shadow .22s ease;
}
.btn:hover{transform:translateY(-2px);}
/* ===== Hero ===== */
.hero{
  position:relative;
  overflow:hidden;
  padding:150px 0 100px;
  background:linear-gradient(180deg,#f5f9ff 0%,#ffffff 70%);
}
.hero::before{
  content:"";position:absolute;top:-180px;right:-160px;width:560px;height:560px;
  background:radial-gradient(circle,rgba(13,110,253,.16),transparent 70%);
  border-radius:50%;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blue-100);color:var(--blue-700);
  font-weight:600;font-size:.85rem;
  padding:.45rem .9rem;border-radius:999px;margin-bottom:22px;
}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:rgba(56,189,248,.12);
  border:1px solid rgba(56,189,248,.35);
  color:var(--blue-700);
  font-size:.82rem;
  font-weight:600;
  padding:.35rem .9rem;
  border-radius:999px;
  letter-spacing:.02em;
}
.hero-eyebrow .pulse{
  width:7px;height:7px;border-radius:50%;background:var(--cyan);
  box-shadow:0 0 0 0 rgba(56,189,248,.6);
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(56,189,248,.55);}
  70%{box-shadow:0 0 0 10px rgba(56,189,248,0);}
  100%{box-shadow:0 0 0 0 rgba(56,189,248,0);}
}
.hero h1{
  color:var(--blue-900);;
  font-weight:800;
  font-size:clamp(2.1rem, 4vw, 3.35rem);
  line-height:1.12;
  letter-spacing:-.02em;
}
.hero h1 .grad{
  background:linear-gradient(135deg, var(--blue-600), #2072d1);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero p.lead{
  color:var(--muted);
  font-size:1.08rem;
  max-width:520px;
}
.stat-mini{color:#fff;}
.stat-mini .num{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.5rem;color:var(--blue-900);}
.stat-mini .lbl{font-size:.8rem;color:rgba(15, 15, 15, 0.6);}

/* Browser mockup — signature element: a site building itself */
.browser-mock{
  background:#fff;
  border-radius:14px;
  box-shadow:0 30px 70px rgba(2,10,30,.45);
  overflow:hidden;
  transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);
  transition:transform .5s ease;
}
.browser-mock:hover{transform:perspective(1200px) rotateY(0deg) rotateX(0deg);}
.browser-topbar{
  background:#EDF1F7;
  padding:.6rem .8rem;
  display:flex;
  align-items:center;
  gap:.4rem;
}
.browser-topbar span{width:10px;height:10px;border-radius:50%;display:inline-block;}
.browser-topbar .r1{background:#FF6159;}
.browser-topbar .r2{background:#FFBD2E;}
.browser-topbar .r3{background:#28C840;}
.browser-url{
  margin-left:.6rem;
  background:#fff;
  border-radius:6px;
  font-size:.72rem;
  color:var(--muted);
  padding:.15rem .7rem;
  flex-grow:1;
}
.browser-body{padding:1.1rem;background:#F7FAFF;}
.skel{background:linear-gradient(90deg,#E4ECFB 25%,#F1F6FF 37%,#E4ECFB 63%);
  background-size:400% 100%;
  border-radius:8px;
  animation:shimmer 2.4s ease infinite;
}
@keyframes shimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}
.skel-block{height:70px;}
.skel-line{height:12px;}

/* ===== Hero carousel controls ===== */
.hero .carousel-control-prev, .hero .carousel-control-next{
  width:52px;opacity:1;top:50%;transform:translateY(-50%);bottom:auto;
}
.hero-control-icon{
  width:44px;height:44px;border-radius:50%;
  background:rgba(0, 0, 0, 0);
  border:1px solid var(--border-color);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);
  transition:background .2s ease;font-size:1rem;
}

.hero-control-icon:hover{background:var(--blue-dark);color: var(--bg-soft);}
.hero-indicators{bottom:14px;margin-bottom:0;}
.hero-indicators button{
  width:9px;height:9px;border-radius:50%;background:rgba(255, 255, 255, 0);
  border:none;opacity:1;margin:0 5px;transition:background .2s ease, transform .2s ease;
}
.hero-indicators button.active{background:var(--cyan);transform:scale(1.2);}
@media (max-width:767px){
  .hero .carousel-control-prev, .hero .carousel-control-next{display:none;}
}


/* Stats strip */
.stats-strip{margin-top:-34px;position:relative;z-index:5;}
.stat-card{
  background:#fff;border-radius:16px;padding:1.4rem 1rem;text-align:center;
  box-shadow:0 15px 35px rgba(13,42,110,.1);height:100%;
}
.stat-card .num{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.7rem;color:var(--navy);}
.stat-card .lbl{color:var(--muted);font-size:.82rem;}


/* ===== Logo marquee berjalan ===== */
.logo-marquee-wrap{background:#fff;padding:2.4rem 0 2.6rem;border-bottom:1px solid #E7EEFC;}
.logo-marquee-label{color:var(--muted);font-size:.85rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:0;}
.logo-marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.logo-track{
  display:flex;gap:2.4rem;width:max-content;
  animation:marquee 28s linear infinite;
}
.logo-marquee:hover .logo-track{animation-play-state:paused;}


@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
.logo-chip{
  display:flex;align-items:center;gap:.55rem;white-space:nowrap;
  color:var(--muted);font-weight:700;font-size:.98rem;letter-spacing:-.01em;
  opacity:.75;transition:opacity .2s ease;
}
.logo-chip:hover{opacity:1;color:var(--navy);}
.logo-chip i{color:var(--blue);font-size:1.15rem;}


/* Wadah utama pembatas layar (overflow tersembunyi) */
.klien-marquee-container {
    overflow: hidden;
    width: 100%;
    position: relative;
    background: #ffffff; /* Sesuaikan warna latar belakang */
}

/* Efek gradasi pudar di sisi kiri dan kanan agar terlihat rapi */
.klien-marquee-container::before,
.klien-marquee-container::after {
    content: "";
    position: absolute;
    top: 0;
    width: 200px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}
.klien-marquee-container::before {
    left: 0;
    background: linear-gradient(to right, #ffffff, rgba(255,255,255,0));
}
.klien-marquee-container::after {
    right: 0;
    background: linear-gradient(to left, #ffffff, rgba(255,255,255,0));
}

/* Jalur/Track tempat logo berbaris memanjang */
.klien-track {
    display: flex;
    width: max-content;
    animation: marqueeRightToLeft 25s linear infinite;
}

/* Berhenti saat kursor diarahkan ke logo */
.klien-track:hover {
    animation-play-state: paused;
}
/* Item Kotak Logo */
.klien-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    box-sizing: border-box;
}

/* Link Wrapper */
.klien-link {
    text-decoration: none;
    color: inherit;
    display: block;
    transition: transform 0.2s ease;
}
.klien-link:hover {
    transform: scale(1.05);
}

/* Box Gambar Logo */
.klien-logo-box {
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.klien-img {
    max-height: 100%;
    max-width: 140px;
    object-fit: contain;
    filter: grayscale(100%); /* Opsional: Membuat logo jadi abu-abu agar seragam */
    opacity: 0.7;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

/* Logo berwarna normal saat disorot mouse */
.klien-item:hover .klien-img {
    filter: grayscale(0%);
    opacity: 1;
}

/* Chip style jika tidak pakai gambar */
.logo-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    white-space: nowrap;
}


@keyframes marqueeRightToLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-33.333%); }
}

.klien-empty {
    text-align: center;
    color: #64748b;
    font-style: italic;
    width: 100%;
}

/* Page head */
.page-head{
  background:radial-gradient(900px 400px at 90% -20%, rgba(56,189,248,.3), transparent 60%), linear-gradient(180deg,var(--navy),var(--navy-2));
  padding:130px 0 55px;color:#fff;
}

.page-head h1{font-weight:800;letter-spacing:-.02em;font-size:clamp(1.9rem,3.4vw,2.5rem);}
.page-head p{color:rgba(255,255,255,.72);max-width:560px;}

.breadcrumb-custom{font-size:.83rem;margin-bottom:1.2rem;}
.breadcrumb-custom a{color:rgba(255,255,255,.6);text-decoration:none;}
.breadcrumb-custom a:hover{color:#fff;}
.breadcrumb-custom .active{color:rgba(255,255,255,.9);font-weight:600;}
.post-cat-badge{background:rgba(56,189,248,.15);border:1px solid rgba(56,189,248,.4);color:var(--cyan);font-size:.78rem;font-weight:700;padding:.35rem .9rem;border-radius:999px;}
.article-title{font-weight:800;letter-spacing:-.02em;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.2;max-width:760px;}
.article-meta{display:flex;gap:1.4rem;flex-wrap:wrap;color:rgba(255,255,255,.7);font-size:.87rem;margin-top:1.5rem;}
.article-meta i{color:var(--cyan);margin-right:.35rem;}
.author-chip{display:flex;align-items:center;gap:.6rem;margin-top: -8px;}
.author-avatar-lg{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;font-family:'Plus Jakarta Sans';}

.cover-wrap {
    margin-top: -40px;
    position: relative;
    z-index: 5;
}

.cover-mock {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 25px 55px rgba(13, 42, 110, .25);
    background: linear-gradient(135deg, var(--blue), var(--cyan));
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 4rem;
}

/* Search bar */
.search-bar{margin-top:-26px;position:relative;z-index:5;}
.search-box{
  background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(13,42,110,.14);
  padding:.5rem .5rem .5rem 1.2rem;display:flex;align-items:center;gap:.6rem;
}
.search-box input{border:none;flex-grow:1;font-size:.95rem;}
.search-box input:focus{outline:none;box-shadow:none;}
.search-box button{
  background:linear-gradient(135deg,var(--blue),var(--cyan));border:none;color:#fff;
  border-radius:12px;padding:.6rem 1.3rem;font-weight:600;white-space:nowrap;
}

/* Filter pills */
.filter-bar{margin-top:-28px;position:relative;z-index:5;}
.filter-pill{
  background:#fff;border:1px solid #E7EEFC;color:var(--muted);
  font-weight:600;font-size:.85rem;padding:.48rem 1.1rem;border-radius:999px;
  transition:all .2s ease;white-space:nowrap;
}
a.filter-pill{
  text-decoration: none;
}
.filter-pill.active, .filter-pill:hover{background:var(--navy);border-color:var(--navy);color:#fff;}



/* Cerita kami */
.story-mock{
  border-radius:20px;overflow:hidden;box-shadow:0 25px 55px rgba(13,42,110,.14);background:#fff;
}
.story-topbar{background:#EDF1F7;padding:.6rem .9rem;display:flex;align-items:center;gap:.4rem;}
.story-topbar span{width:10px;height:10px;border-radius:50%;display:inline-block;}
.story-topbar .r1{background:#FF6159;} .story-topbar .r2{background:#FFBD2E;} .story-topbar .r3{background:#28C840;}
.story-body{padding:1.5rem;background:linear-gradient(135deg,#F7FAFF,#EEF4FF);min-height:320px;}
.sk{background:linear-gradient(90deg,#E4ECFB 25%,#F1F6FF 37%,#E4ECFB 63%);background-size:400% 100%;border-radius:8px;animation:shimmer 2.4s ease infinite;}
@keyframes shimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}
.story-badge{position:absolute;background:#fff;border-radius:14px;padding:.9rem 1.2rem;box-shadow:0 15px 35px rgba(13,42,110,.18);display:flex;align-items:center;gap:.7rem;}
.story-badge .icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.05rem;}
.story-badge .num{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.1rem;color:var(--navy);}
.story-badge .lbl{font-size:.72rem;color:var(--muted);}
.story-wrap{position:relative;}

/* Visi Misi */
.vm-card{
  background:#fff;border:1px solid #E7EEFC;border-radius:var(--radius);
  padding:2rem 1.8rem;height:100%;transition:transform .25s ease, box-shadow .25s ease;
}
.vm-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(13,42,110,.1);}
.vm-icon{
  width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--blue-dark));
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.2rem;
}
.vm-card h5{font-weight:700;}
.vm-card p{color:var(--muted);font-size:.92rem;}

/* Nilai */
.value-card{
  background:var(--ice);border-radius:var(--radius);padding:1.8rem 1.5rem;height:100%;
  transition:transform .22s ease;
}
.value-card:hover{transform:translateY(-4px);}
.value-icon{
  width:48px;height:48px;border-radius:12px;background:#fff;color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:1rem;
  box-shadow:0 6px 16px rgba(13,42,110,.08);
}
.value-card h6{font-weight:700;}
.value-card p{color:var(--muted);font-size:.86rem;margin-bottom:0;}

/* Timeline */
.timeline{position:relative;padding-left:2.2rem;}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:#D7E2F6;}
.timeline-item{position:relative;padding-bottom:2.4rem;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-dot{
  position:absolute;left:-2.2rem;top:2px;width:20px;height:20px;border-radius:50%;
  background:var(--navy);border:4px solid #fff;box-shadow:0 0 0 2px #D7E2F6;
}
.timeline-year{font-family:'Plus Jakarta Sans';font-weight:800;color:var(--blue);font-size:1rem;}
.timeline-item h6{font-weight:700;margin-top:.2rem;}
.timeline-item p{color:var(--muted);font-size:.9rem;margin-bottom:0;}

/* Tim */
.team-card{
  background:#fff;border:1px solid #E7EEFC;border-radius:var(--radius);overflow:hidden;
  text-align:center;transition:transform .25s ease, box-shadow .25s ease;
}
.team-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(13,42,110,.1);}
.team-photo{
  height:180px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.6rem;
  font-family:'Plus Jakarta Sans';font-weight:800;
}
.team-body{padding:1.3rem 1rem 1.5rem;}
.team-name{font-weight:700;font-size:1rem;margin-bottom:.1rem;}
.team-role{color:var(--blue);font-size:.82rem;font-weight:600;margin-bottom:.7rem;}
.team-social{display:flex;justify-content:center;gap:.5rem;}
.team-social a{
  width:32px;height:32px;border-radius:50%;background:var(--ice);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s ease;
}
.team-social a:hover{background:var(--navy);color:#fff;}

/* ===== Layanan cards ===== */
.layanan-card{
  background:#fff;border-radius:var(--radius);padding:2rem 1.6rem;height:100%;
  border:1px solid #E7EEFC;transition:transform .25s ease, box-shadow .25s ease;
}
.layanan-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(13,42,110,.1);}
.layanan-icon{
  width:56px;height:56px;border-radius:14px;
  background:linear-gradient(135deg,var(--navy),var(--blue-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;
  margin-bottom:1.2rem;
}
.layanan-card h5{font-weight:700;font-size:1.08rem;}
.layanan-card p{color:var(--muted);font-size:.9rem;}
.layanan-link{color:var(--blue);font-weight:600;font-size:.88rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;}
.layanan-link:hover{gap:.6rem;}

/* ===== Section generic ===== */
section{padding:80px 0;}
.section-tag{
  background-color: rgba(255, 255, 255, 0.15);
  color: var(--bg-soft);
  font-weight: 800;
  font-size: .7rem;
  padding: .3rem .7rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .04em;
  display: inline-block;
}
.section-title{
  font-weight:800;
  letter-spacing:-.02em;
  font-size:clamp(1.7rem,3vw,2.4rem);
  color:var(--ink);
}
.section-sub{color:var(--muted);font-size:1.02rem;max-width:620px;}

.section-tag {
    color: var(--cyan);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.eyebrow{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--blue-700);
  margin-bottom:10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--blue-600);display:inline-block;border-radius:2px;}


/* ===== Fitur ===== */
.bg-ice{background:var(--ice);}
.feature-card{
  background:#fff;
  border-radius:var(--radius);
  padding:1.9rem 1.6rem;
  height:100%;
  border:1px solid #E7EEFC;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.feature-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(13,42,110,.1);
  border-color:var(--blue-600);
}


.feature-icon{
  width:52px;height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.35rem;
  margin-bottom:1.1rem;
}
.feature-card h5{font-weight:700;font-size:1.06rem;}
.feature-card p{color:var(--muted);font-size:.92rem;margin-bottom:0;}

/* ===== Proses ===== */
.process-line{
  position:absolute;
  top:26px;left:0;right:0;
  height:2px;
  background:repeating-linear-gradient(90deg,#CBDCFC 0 10px, transparent 10px 20px);
  z-index:0;
}
.process-step{position:relative;z-index:1;}
.process-num{
  width:54px;height:54px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-family:'Plus Jakarta Sans';
  font-weight:800;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.1rem;
  border:4px solid #fff;
  box-shadow:0 6px 18px rgba(6,26,64,.25);
}
.process-step h6{font-weight:700;}
.process-step p{color:var(--muted);font-size:.88rem;}

.btn-outline-navy{
  border:1.5px solid var(--navy);
  color:var(--navy);
  font-weight:600;
  border-radius:999px;
}
.btn-outline-navy:hover{background:var(--navy);color:#fff;}
.btn-light-cta{
  background:#fff;color:var(--navy);
  font-weight:700;border-radius:999px;
  border:none;
}
.btn-light-cta:hover{background:var(--cyan);}



/* Featured strip */
.featured-card{
  border-radius:20px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,var(--navy) 0%, var(--navy-2) 55%, var(--blue-dark) 130%);
  color:#fff;padding:2rem;height:100%;
}
.featured-card::after{
  content:"";position:absolute;bottom:-50px;left:-50px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.3),transparent 70%);
}
.featured-badge{
  background:var(--amber);color:var(--navy);font-weight:800;font-size:.7rem;
  letter-spacing:.04em;padding:.3rem .7rem;border-radius:999px;text-transform:uppercase;
}
.featured-price{font-family:'Plus Jakarta Sans';font-weight:800;font-size:2rem;}
.old-price{color:rgba(255,255,255,.55);text-decoration:line-through;font-size:1rem;}

/* ===== Produk Rekomendasi ===== */
.product-card{
  border:1px solid #E7EEFC;border-radius:var(--radius);height:100%;
  background:#fff;overflow:hidden;position:relative;
  transition:transform .22s ease, box-shadow .22s ease;
}
.product-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(13,42,110,.12);}
.product-thumb{height:150px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;position:relative;}
.product-badges{position:absolute;top:.7rem;left:.7rem;display:flex;gap:.4rem;flex-wrap:wrap;}
.badge-promo{background:#FF5A5F;color:#fff;font-weight:700;font-size:.68rem;padding:.28rem .6rem;border-radius:999px;}
.badge-best{background:var(--amber);color:var(--navy);font-weight:800;font-size:.68rem;padding:.28rem .6rem;border-radius:999px;}
.product-body{padding:1.2rem 1.3rem 1.4rem;}
.product-cat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    flex-wrap: wrap;
}
.product-cat{color:var(--blue);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.tier-badge{font-size:.66rem;font-weight:800;padding:.2rem .55rem;border-radius:6px;text-transform:uppercase;letter-spacing:.03em;}
.tier-free{background:#E7FBEF;color:#16A34A;}
.tier-premium{background:linear-gradient(135deg,#0A1E42,#0A4FC4);color:#FFD37A;}

.product-title{font-weight:700;font-size:1.02rem;margin:.25rem 0 .5rem; height: 70px;}
.product-desc{color:var(--muted);font-size:.84rem;min-height:2.6em;}
.price-row{display:flex;align-items:baseline;gap:.5rem;margin:.7rem 0 1rem;flex-wrap:wrap;}
.price-now{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.28rem;color:var(--navy);}
.price-old{color:#B3BED6;text-decoration:line-through;font-size:.85rem;}
.discount-tag{background:#FFEDEE;color:#FF5A5F;font-weight:700;font-size:.72rem;padding:.15rem .5rem;border-radius:6px;}
.price-free {
  font-weight: 800;
  font-size: 1rem;
  color: #16A34A;
  display: flex;
  align-items: center;
  gap: .4rem;
}

.btn-row {
    display: flex;
    gap: .6rem;
}
.btn-order{
  border:1.5px solid var(--navy);color:var(--navy);font-weight:600;font-size:.86rem;
  border-radius:999px;flex:1;padding:.5rem 0;background:#fff;transition:all .2s ease;text-align:center;
}
.btn-order:hover{background:var(--navy);color:#fff;}
.btn-detail{
  border:1.5px solid #E7EEFC;color:var(--blue);font-weight:600;font-size:.86rem;
  border-radius:999px;flex:1;padding:.5rem 0;background:#fff;transition:all .2s ease;text-align:center;
}
.btn-detail:hover{background:var(--ice);border-color:var(--blue);}
.rating-mini{color:var(--amber);font-size:.78rem;}

section.detail{padding:50px 0 90px;}
/* Gallery */
.gallery-main{
  border-radius:20px;overflow:hidden;
  background:#fff;box-shadow:0 20px 45px rgba(13,42,110,.1);
  border:1px solid #E7EEFC;
}
.browser-topbar{background:#EDF1F7;padding:.6rem .9rem;display:flex;align-items:center;gap:.4rem;}
.browser-topbar span{width:10px;height:10px;border-radius:50%;display:inline-block;}
.browser-topbar .r1{background:#FF6159;} .browser-topbar .r2{background:#FFBD2E;} .browser-topbar .r3{background:#28C840;}
.browser-url{margin-left:.6rem;background:#fff;border-radius:6px;font-size:.72rem;color:var(--muted);padding:.15rem .7rem;flex-grow:1;font-family:'JetBrains Mono',monospace;}
.gallery-body{padding:1.4rem;background:#F7FAFF;}
.skel{background:linear-gradient(90deg,#E4ECFB 25%,#F1F6FF 37%,#E4ECFB 63%);background-size:400% 100%;border-radius:8px;animation:shimmer 2.4s ease infinite;}
@keyframes shimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}
.gallery-thumbs{display:flex;gap:.7rem;margin-top:1rem;}
.gallery-thumb{
  flex:1;height:64px;border-radius:10px;cursor:pointer;
  border:2px solid transparent;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.1rem;transition:border-color .2s ease;
}
.gallery-thumb.active{border-color:var(--blue);}

.product-cat-link {
    color: var(--blue);
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    text-decoration: none;
}
.price-block {
    background: var(--ice);
    border-radius: 16px;
    padding: 1.3rem 1.5rem;
}


/* Product info */
.badge-promo{background:#FF5A5F;color:#fff;font-weight:700;font-size:.72rem;padding:.3rem .65rem;border-radius:999px;}
.badge-best{background:var(--amber);color:var(--navy);font-weight:800;font-size:.72rem;padding:.3rem .65rem;border-radius:999px;}
.product-cat-link{color:var(--blue);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;}
.product-name{font-weight:800;letter-spacing:-.02em;font-size:clamp(1.5rem,2.4vw,2rem);}
.rating-line i{color:var(--amber);font-size:.85rem;}
.price-block{background:var(--ice);border-radius:16px;padding:1.3rem 1.5rem;}
.price-now-big{font-family:'Plus Jakarta Sans';font-weight:800;font-size:2.1rem;color:var(--navy);}
.price-old-big{color:#9AA9C7;text-decoration:line-through;font-size:1.1rem;}
.discount-chip{background:#FFEDEE;color:#FF5A5F;font-weight:700;font-size:.78rem;padding:.25rem .6rem;border-radius:8px;}
.promo-note{color:var(--muted);font-size:.85rem;}
.promo-note i{color:var(--blue);}

.check-list li{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.65rem;font-size:.94rem;}
.check-list i{color:var(--blue);margin-top:.2rem;}

.qty-box{border:1.5px solid #E7EEFC;border-radius:999px;display:inline-flex;align-items:center;overflow:hidden;}
.qty-box button{border:none;background:#fff;width:38px;height:38px;font-weight:700;color:var(--navy);}
.qty-box button:hover{background:var(--ice);}
.qty-box input{width:44px;border:none;text-align:center;font-weight:700;}
.qty-box input:focus{outline:none;}

.btn-order-big{
  background:linear-gradient(135deg,var(--blue),var(--cyan));border:none;color:#fff;
  font-weight:700;border-radius:999px;padding:.85rem 1rem;box-shadow:0 12px 26px rgba(13,110,253,.35);
}
.btn-order-big:hover{color:#fff;transform:translateY(-1px);}
.btn-wa{border:1.5px solid #25D366;color:#128C4A;border-radius:999px;font-weight:600;background:#fff;line-height: 24px;padding: .85rem 1rem;}
.btn-wa:hover{background:#25D366;color:#fff;}

.trust-item{display:flex;align-items:center;gap:.6rem;font-size:.84rem;color:var(--muted);}
.trust-item i{color:var(--blue);font-size:1.1rem;}

/* Tabs */
.nav-tabs-custom .nav-link{
  border:none;color:var(--muted);font-weight:600;padding:.9rem 1.3rem;border-radius:0;
}
.nav-tabs-custom .nav-link.active{color:var(--blue);border-bottom:3px solid var(--blue);background:transparent;}
.nav-tabs-custom{border-bottom:1px solid #E7EEFC;}
.tab-content-box{padding:2rem 0;}

.spec-table th{color:var(--muted);font-weight:600;width:220px;font-size:.9rem;}
.spec-table td{font-weight:500;font-size:.9rem;}
/* ===== Portfolio menarik ===== */
.case-featured{
  background:linear-gradient(135deg,var(--navy) 0%, var(--navy-2) 60%, var(--blue-dark) 130%);
  border-radius:24px;color:#fff;padding:2.6rem;position:relative;overflow:hidden;
}
.case-featured::after{content:"";position:absolute;top:-60px;right:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.35),transparent 70%);}
.case-badge{background:var(--amber);color:var(--navy);font-weight:800;font-size:.7rem;padding:.3rem .7rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;}
.case-stat{border-left:2px solid rgba(255,255,255,.2);padding-left:1rem;}
.case-stat .num{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.4rem;color:var(--cyan);}
.case-stat .lbl{font-size:.74rem;color:rgba(255,255,255,.6);}
.case-mock{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 25px 55px rgba(0,0,0,.35);transform:perspective(1200px) rotateY(-5deg);}
.case-mock .bar{background:#EDF1F7;padding:.5rem .7rem;display:flex;gap:.35rem;}
.case-mock .bar span{width:8px;height:8px;border-radius:50%;display:inline-block;}
.case-mock .r1{background:#FF6159;}.case-mock .r2{background:#FFBD2E;}.case-mock .r3{background:#28C840;}
.case-mock .body{padding:1rem;background:#F7FAFF;}
.case-sk{background:linear-gradient(90deg,#E4ECFB 25%,#F1F6FF 37%,#E4ECFB 63%);background-size:400% 100%;border-radius:7px;animation:shimmer 2.4s ease infinite;}

/* Sticky order bar (mobile) */
.sticky-order{
  position:fixed;bottom:0;left:0;right:0;background:#fff;
  box-shadow:0 -8px 24px rgba(6,26,64,.12);padding:.8rem 1rem;z-index:1000;
  display:none;align-items:center;justify-content:space-between;gap:1rem;
}




/* Custom Cards & Shadows */
.custom-card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.03);
}

.banner-svg-wrapper{
  border-bottom: solid 1px var(--border-color);
}
.badge-custom-blue {
  background-color: #eff6ff;
  color: #2563eb;
  border: 1px solid #bfdbfe;
}

.badge-custom-green {
  background-color: #f0fdf4;
  color: #16a34a;
  border: 1px solid #bbf7d0;
}

.badge-custom-red {
  background-color: #fdf0f0;
  color: #a31616;
  border: 1px solid #f7bbbb;
}


/* Primary Action Buttons */
.btn-primary-custom {
  background-color: var(--primary-blue);
  border-color: var(--primary-blue);
  color: #fff;
  font-weight: 600;
  border-radius: 12px;
  padding: 12px 20px;
  transition: all 0.2s ease;
}

.btn-primary-custom:hover {
  background-color: var(--primary-blue-hover);
  border-color: var(--primary-blue-hover);
  color: #fff;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

.btn-outline-custom {
  border: 1px solid var(--primary-blue);
  color: var(--primary-blue);
  font-weight: 600;
  border-radius: 12px;
  padding: 12px 20px;
  background-color: #ffffff;
  transition: all 0.2s ease;
}

.btn-outline-custom:hover {
  background-color: #eff6ff;
  color: var(--primary-blue-hover);
}

/* Info Boxes under product image */
.info-box {
  background: #eff6ff;
  border-radius: 12px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 100%;
}

.info-box-icon {
  width: 38px;
  height: 38px;
  background: #dbeafe;
  color: var(--primary-blue);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* Custom Checkmark List */
.check-list-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.925rem;
  margin-bottom: 8px;
  color: #334155;
}

.check-list-item i {
  color: #16a34a;
  font-size: 1rem;
  margin-top: 2px;
}

/* Nav Tabs Styling */
.custom-nav-tabs {
  gap: 10px;
  border-bottom: solid 1px var(--border-color);
}

.custom-nav-tabs .nav-link {
  border: 1px solid var(--border-color);
  border-radius: 20px !important;
  color: var(--text-dark);
  font-weight: 500;
  padding: 8px 18px;
  background: #fff;
}

.custom-nav-tabs .nav-link.active {
  background: linear-gradient(135deg, var(--blue) 0%, var(--cyan) 130%);
  color: #fff!important;
}


/* Stepper Header */
.stepper-container {
  background: #f1f5f9;
  border-radius: 50px;
  padding: 4px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.825rem;
}

.stepper-step {
  padding: 4px 12px;
  border-radius: 50px;
  font-weight: 600;
  color: #64748b;
}

.stepper-step.active {
  background: var(--primary-blue);
  color: #ffffff;
}

/* Inputs with icons */
.input-icon-group {
  position: relative;
}

.input-icon-group .icon-prefix {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 1.1rem;
}

.input-icon-group .form-control {
  padding-left: 42px;
  border-radius: 10px;
  border-color: #cbd5e1;
  height: 46px;
  font-size: 0.925rem;
}

.input-icon-group .form-control:focus {
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* Alert Notice */
.alert-green-notice {
  background-color: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #15803d;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 0.85rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Payment Option Card */
.payment-option {
  border: 1px solid var(--border-color, #dee2e6);
  border-radius: 12px;
  padding: 14px 18px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

/* Sembunyikan radio button bawaan browser/Bootstrap agar tidak berantakan */
.payment-option input[type="radio"] {
  display: none;
}

/* Kotak Kustom untuk Ceklis/Radio di Sebelah Kanan (Posisi pas di tengah) */
.payment-option-radio {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

/* Efek saat Card Dipilih (Active) menggunakan selector :has() */
.payment-option:has(input[type="radio"]:checked) {
  border-color: var(--bs-primary, #0d6efd) !important;
  background-color: rgba(13, 110, 253, 0.03); 
  box-shadow: 0 0 0 1px var(--bs-primary, #0d6efd);
}

/* Mengubah warna kotak kustom saat dipilih */
.payment-option:has(input[type="radio"]:checked) .payment-option-radio {
  background-color: var(--bs-primary, #0d6efd);
  border-color: var(--bs-primary, #0d6efd);
}

/* Memunculkan simbol centang (✓) di tengah-tengah kotak saat dipilih */
.payment-option:has(input[type="radio"]:checked) .payment-option-radio::after {
  content: "✓";
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  line-height: 1;
}

.badge-verif-manual {
  font-size: 0.65rem;
  padding: 3px 8px;
  border-radius: 4px;
  background-color: #dbeafe;
  color: #1e40af;
  font-weight: 700;
  letter-spacing: 0.3px;
}

.badge-manual {
  font-size: 0.65rem;
  padding: 3px 8px;
  border-radius: 4px;
  background-color: #f1f5f9;
  color: #475569;
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* Summary Card Styling */
.product-preview-card {
  border: 1px solid var(--border-color);
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

.product-banner-graphic {
  color: white;
  position: relative;
  padding: 10px;
  border-bottom: solid 1px var(--border-color);
}

.total-box-highlight {
  background-color: #f3e8ff;
  border-radius: 12px;
  padding: 16px;
}

.btn-pay-now {
  background-color: var(--primary-blue);
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 12px;
  padding: 14px;
  width: 100%;
  border: none;
  transition: all 0.2s ease;
}

.btn-pay-now:hover,
.btn-pay-now:focus {
  background-color: var(--primary-blue-hover, #0b5ed7);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3);
  color: #ffffff;
  outline: none;
  border: solid 1px var(--border-color);
}


 /* Primary Action Button */
.btn-submit-upload {
  background-color: var(--primary-blue);
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 12px;
  padding: 14px;
  width: 100%;
  border: none;
  transition: all 0.2s ease;
}

.btn-submit-upload:hover {
  background-color: var(--primary-blue-hover);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3);
}


.trust-badge-item {
  font-size: 0.775rem;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 6px;
}

.trust-badge-item i {
  color: var(--primary-blue);
  font-size: 0.9rem;
}


/* Feature Bullets */
.feature-list {
  columns: 1;
  padding-left: 18px;
}

@media (min-width: 768px) {
  .feature-list {
    columns: 1;
  }
}

.feature-list li {
  margin-bottom: 6px;
  color: #475569;
  font-size: 0.95rem;
}


@media (max-width:991px){.sticky-order{display:flex;}}


.portfolio-card{
  border-radius:20px;overflow:hidden;position:relative;background:#fff;
  box-shadow:0 12px 32px rgba(13,42,110,.1);
  transition:transform .25s ease, box-shadow .25s ease;
}
.portfolio-card:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(13,42,110,.16);}
.portfolio-thumb{height:200px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;}
.portfolio-mock{width:82%;border-radius:10px;overflow:hidden;box-shadow:0 15px 30px rgba(0,0,0,.25);background:#fff;}
.portfolio-mock .bar{background:#EDF1F7;padding:.35rem .6rem;display:flex;gap:.3rem;}
.portfolio-mock .bar span{width:6px;height:6px;border-radius:50%;background:#C9D3E5;display:inline-block;}
.portfolio-mock .body{padding:.7rem;}
.portfolio-mock .sk{background:rgba(13,42,110,.08);border-radius:5px;}
.portfolio-overlay{
  position:absolute;inset:0;background:rgba(6,26,64,0);
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  transition:background .25s ease;opacity:0;
}
.portfolio-card:hover .portfolio-overlay{background:rgba(6,26,64,.68);opacity:1;}
.overlay-btn{
  width:42px;height:42px;border-radius:50%;background:#fff;color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-size:1rem;
  transform:translateY(10px);opacity:0;transition:all .25s ease;
}
.portfolio-card:hover .overlay-btn{transform:translateY(0);opacity:1;}
.portfolio-body{padding:1.1rem 1.2rem 1.3rem;}
.portfolio-cat{color:var(--blue);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.portfolio-title{font-weight:700;font-size:1.02rem;margin:.25rem 0 .35rem;}
.portfolio-meta{display:flex;gap:1rem;margin-top:.6rem;font-size:.76rem;color:var(--muted);}
.portfolio-meta i{color:var(--blue);margin-right:.3rem;}




/* Featured post */
.featured-post{
  border-radius:22px;overflow:hidden;background:#fff;
  border:1px solid #E7EEFC;box-shadow:0 15px 40px rgba(13,42,110,.08);
}
.featured-thumb{
  height:100%;min-height:280px;position:relative;
  background:linear-gradient(135deg,var(--navy),var(--blue-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem;
}
.featured-badge{position:absolute;top:1rem;left:1rem;background:var(--amber);color:var(--navy);font-weight:800;font-size:.7rem;padding:.3rem .7rem;border-radius:999px;text-transform:uppercase;}
.post-cat{color:var(--blue);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;}
.post-title-lg{font-weight:800;letter-spacing:-.02em;font-size:1.5rem;}
.post-meta{color:var(--muted);font-size:.82rem;display:flex;gap:1rem;flex-wrap:wrap;}
.post-meta i{color:var(--blue);margin-right:.3rem;}


/* Blog grid cards */
.blog-card{
  border:1px solid #E7EEFC;border-radius:var(--radius);overflow:hidden;
  height:100%;background:#fff;transition:transform .22s ease, box-shadow .22s ease;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(13,42,110,.12);}
.blog-thumb{height:170px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;position:relative;}
.blog-body{padding:1.2rem 1.3rem 1.4rem;}
.post-title-sm{font-weight:700;font-size:1rem;margin:.4rem 0 .5rem;line-height:1.35;}
.post-excerpt{color:var(--muted);font-size:.87rem;}
.author-row{display:flex;align-items:center;gap:.5rem;margin-top:1rem;}
.author-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.75rem;font-family:'Plus Jakarta Sans';}
.author-name{font-size:.82rem;font-weight:600;color:var(--ink);}
.author-date{font-size:.74rem;color:var(--muted);}
.read-link{color:var(--blue);font-weight:600;font-size:.85rem;text-decoration:none;}
.read-link:hover{text-decoration:underline;}

/* Sidebar */
.sidebar-box{background:var(--ice);border-radius:16px;padding:1.5rem;}
.sidebar-box h6{font-weight:700;}
.popular-post{display:flex;gap:.8rem;margin-bottom:1rem;}
.popular-thumb{width:64px;height:56px;border-radius:10px;flex:0 0 64px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;}
.popular-title{font-size:.85rem;font-weight:600;line-height:1.3;}
.popular-date{font-size:.72rem;color:var(--muted);}
.tag-chip{background:#fff;border:1px solid #E7EEFC;color:var(--muted);font-size:.78rem;font-weight:600;padding:.3rem .75rem;border-radius:999px;}
.tag-chip:hover{background:var(--navy);color:#fff;border-color:var(--navy);}

/* Newsletter */
.newsletter-box{
  background:linear-gradient(135deg,var(--navy),var(--navy-2));
  border-radius:20px;padding:2rem;color:#fff;position:relative;overflow:hidden;
}
.newsletter-box::after{content:"";position:absolute;bottom:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.35),transparent 70%);}
.newsletter-box input{border:none;border-radius:10px;padding:.6rem .8rem;width:100%;margin-bottom:.7rem;font-size:.88rem;}
.newsletter-box button{background:var(--cyan);border:none;color:var(--navy);font-weight:700;border-radius:10px;padding:.6rem;width:100%;}

/* Pagination */
.pagination-custom .page-link{border:none;color:var(--muted);font-weight:600;border-radius:10px !important;margin:0 .2rem;}
.pagination-custom .page-item.active .page-link{background:var(--navy);color:#fff;}


/* Article layout */
.article-body{font-size:1.02rem;line-height:1.85;color:#28324A;}
.article-body h2{font-weight:800;font-size:1.4rem;margin-top:2.2rem;margin-bottom:1rem;color:var(--ink);scroll-margin-top:100px;}
.article-body h3{font-weight:700;font-size:1.15rem;margin-top:1.6rem;margin-bottom:.8rem;color:var(--ink);}
.article-body p{margin-bottom:1.2rem;}
.article-body ul{margin-bottom:1.2rem;}
.article-body ul li{margin-bottom:.5rem;}
.article-body blockquote{
  border-left:4px solid var(--blue);background:var(--ice);border-radius:0 12px 12px 0;
  padding:1.2rem 1.5rem;margin:1.8rem 0;font-style:italic;color:var(--navy);font-weight:500;
}

.article-body img,
.article-body video,
.article-body iframe,
.article-body table{
  max-width: 100%;
  border-radius: var(--bs-border-radius-xl);
}

.article-body img{
  border-radius: var(--bs-border-radius-xl);
}

.inline-stat-box{
  background:var(--ice);border-radius:14px;padding:1.3rem 1.5rem;display:flex;gap:1.5rem;margin:1.8rem 0;flex-wrap:wrap;
}
.inline-stat-box .stat{text-align:center;flex:1;min-width:110px;}
.inline-stat-box .stat .num{font-family:'Plus Jakarta Sans';font-weight:800;font-size:1.5rem;color:var(--blue-dark);}
.inline-stat-box .stat .lbl{font-size:.78rem;color:var(--muted);}

/* Table of contents */
.toc-box{background:var(--ice);border-radius:16px;padding:1.4rem;position:sticky;top:100px;}
.toc-box h6{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.toc-box ol{padding-left:0;list-style:none;margin:0;}
.toc-box li{margin-bottom:.65rem;}
.toc-box a{color:var(--ink);text-decoration:none;font-size:.88rem;font-weight:500;display:flex;gap:.5rem;}
.toc-box a:hover{color:var(--blue);}
.toc-box .num{color:var(--blue);font-weight:700;}

/* Share */
.share-col{display:flex;flex-direction:column;gap:.7rem;position:sticky;top:100px;}
.share-btn{
  width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid #E7EEFC;
  display:flex;align-items:center;justify-content:center;color:var(--navy);transition:all .2s ease;
}
.share-btn:hover{background:var(--navy);color:#fff;}

/* Author box */
.author-box{background:var(--ice);border-radius:18px;padding:1.6rem;display:flex;gap:1.2rem;align-items:flex-start;}
.author-avatar-xl{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.2rem;font-family:'Plus Jakarta Sans';flex:0 0 64px;}

/* Tag chips */
.tag-chip{background:#fff;border:1px solid #E7EEFC;color:var(--muted);font-size:.8rem;font-weight:600;padding:.35rem .8rem;border-radius:999px;}

/* Comments */
.comment-box{border:1px solid #E7EEFC;border-radius:16px;padding:1.3rem;margin-bottom:1rem;}
.comment-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;font-family:'Plus Jakarta Sans';}
.comment-form textarea{border-radius:14px;border:1px solid #E7EEFC;}
.comment-form input{border-radius:12px;border:1px solid #E7EEFC;}

/* ===== Testimoni ===== */
.testi-card{
  background:#fff;
  border-radius:var(--radius);
  padding:1.8rem;
  border:1px solid #E7EEFC;
  height:100%;
}
.testi-avatar{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-family:'Plus Jakarta Sans';
}
.testi-card i.bi-star-fill{color:#FFC845;font-size:.85rem;}

/* ===== FAQ ===== */
.accordion-button{font-weight:600;}
.accordion-button:not(.collapsed){
  color:var(--blue-dark);
  background:var(--ice);
  box-shadow:none;
}
.accordion-button:focus{box-shadow:none;border-color:#E7EEFC;}

/* ===== CTA banner ===== */
.cta-banner{
  background:linear-gradient(120deg,var(--navy) 0%, var(--navy-2) 60%, var(--blue-dark) 130%);
  border-radius:24px;
  padding:3.2rem;
  position:relative;
  overflow:hidden;
}
.cta-banner::before{
  content:"";
  position:absolute;top:-60px;right:-60px;
  width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.35),transparent 70%);
}



/* Contact quick cards */
.quick-strip{margin-top:-32px;position:relative;z-index:5;}
.quick-card{
  background:#fff;border-radius:16px;padding:1.4rem;height:100%;
  box-shadow:0 15px 35px rgba(13,42,110,.1);display:flex;gap:1rem;align-items:flex-start;
  transition:transform .2s ease, box-shadow .2s ease;
}
.quick-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(13,42,110,.16);}
.quick-icon{
  width:46px;height:46px;border-radius:12px;flex:0 0 46px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;
}
.quick-card h6{font-weight:700;margin-bottom:.2rem;}
.quick-card p{color:var(--muted);font-size:.85rem;margin-bottom:.3rem;}
.quick-card a.quick-link{color:var(--blue);font-weight:600;font-size:.85rem;text-decoration:none;}
.quick-card a.quick-link:hover{text-decoration:underline;}

/* Form */
.form-box{background:#fff;border:1px solid #E7EEFC;border-radius:20px;padding:2.2rem;box-shadow:0 15px 40px rgba(13,42,110,.06);}
.form-label-custom{font-weight:600;font-size:.88rem;color:var(--ink);margin-bottom:.4rem;}
.form-control-custom{
  border:1.5px solid #E7EEFC;border-radius:12px;padding:.7rem .9rem;font-size:.92rem;
}
.form-control-custom:focus{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(13,110,253,.12);}
.service-pill-input{display:none;}
.service-pill{
  border:1.5px solid #E7EEFC;color:var(--muted);font-weight:600;font-size:.85rem;
  padding:.5rem 1.1rem;border-radius:999px;cursor:pointer;transition:all .2s ease;display:inline-block;
}
.service-pill-input:checked + .service-pill{background:var(--navy);border-color:var(--navy);color:#fff;}
.btn-submit{
  background:linear-gradient(135deg,var(--blue),var(--cyan));border:none;color:#fff;
  font-weight:700;border-radius:999px;padding:.8rem 2rem;box-shadow:0 12px 26px rgba(13,110,253,.35);
}
.btn-submit:hover{color:#fff;transform:translateY(-1px);}

/* Info sidebar */
.info-card{background:var(--ice);border-radius:20px;padding:2rem;}
.info-card h5{font-weight:700;}
.info-row{display:flex;gap:.9rem;margin-bottom:1.3rem;align-items:flex-start;}
.info-row-icon{
  width:42px;height:42px;border-radius:11px;background:#fff;color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex:0 0 42px;
  box-shadow:0 4px 10px rgba(13,42,110,.06);
}
.info-row h6{font-weight:700;font-size:.9rem;margin-bottom:.15rem;}
.info-row p{color:var(--muted);font-size:.85rem;margin-bottom:0;}
.hours-row{display:flex;justify-content:space-between;font-size:.87rem;padding:.5rem 0;border-bottom:1px dashed #D7E2F6;}
.hours-row:last-child{border-bottom:none;}
.hours-row .day{font-weight:600;color:var(--ink);}
.hours-row .time{color:var(--muted);}
.social-row{display:flex;gap:.6rem;margin-top:1.2rem;}
.social-btn{
  width:40px;height:40px;border-radius:50%;background:#fff;color:var(--navy);
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(13,42,110,.08);
  transition:all .2s ease;
}
.social-btn:hover{background:var(--navy);color:#fff;}

/* Map */
.map-box{
  border-radius:20px;overflow:hidden;height:100%;min-height:320px;
  background:linear-gradient(135deg,var(--navy),var(--navy-2));
  position:relative;display:flex;align-items:center;justify-content:center;color:#fff;
}
.map-box iframe{
  width: 100%;
  min-height:320px;
  opacity: 0.3;
}
.map-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:36px 36px;
}
.map-pin{
  position:relative;z-index:2;text-align:center;
}
.map-pin i{font-size:2.4rem;color:var(--cyan);}
.map-pin-label{
  background:#fff;color:var(--navy);font-weight:700;font-size:.85rem;
  padding:.5rem 1rem;border-radius:12px;margin-top:.6rem;box-shadow:0 10px 25px rgba(0,0,0,.25);
}



/* -------------- Custom Drag And Drop ------------*/
.file-upload {
    position: relative;
    background-color:#ffffff;
    width:100%;
    margin: 0 auto;
    border-radius:8px;
    -moz-border-radius:8px;
    border: 2px dashed #cccccc;
  }
  
  .file-upload-input {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    outline: none;
    opacity: 0;
    cursor: pointer;
  }
  
  .image-upload-wrap {
    position: relative;
    border-radius: 5px;
  }
  .image-upload-wrap:hover{
    border-color: #333333;
  }
  
  .image-title-wrap {
    padding: 0;
    color: #222;
  }
  
  .drag-text {
    padding:13px 0;
    text-align: center;
  }
  
  .drag-text i,
  .drag-text svg{
    font-size:40px;
    color: #789bec;
    margin-bottom:5px;
    height: 30px;
  }
  
  .drag-text h3 {
    font-size:15px;
    font-weight: 500;
    color: #333333;
    margin: 0px;
  }
  
  .file-upload-image {
    max-width:300px;
    margin: auto;
    padding: 10px;
  }
  
  img.file-upload-image{
    padding:5px;
    margin:5px;
    max-width:400px;
    object-fit: contain;
  }
  
  .file-upload-content {
    display: none;
    text-align: center;
    padding:5px;
    background: #f8fcff;
  }
  
.btn-remove-image {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 25px;
    height: 25px;
    padding: 0;
    border-radius: 50%;
    border: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ff4e60b0;
    color: #fff;
    z-index: 10;
}

.btn-remove-image:hover {
    background-color: #bb2d3b;
    color: #fff;
}

/* ===== Footer ===== */
footer{background:var(--navy);color:rgba(255,255,255,.7);}
footer h6{color:#fff;font-weight:700;}
footer a{color:rgba(255,255,255,.62);text-decoration:none;font-size:.92rem;}
footer a:hover{color:var(--cyan);}
.footer-social{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  color:#fff;transition:background .2s ease;
}
.footer-social:hover{background:var(--blue);}

/* ===== WhatsApp float ===== */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:1000;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
  box-shadow:0 10px 25px rgba(37,211,102,.45);
  animation:float 3s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

/* focus visibility */
a:focus-visible, button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}



/* Jika lebar layar maksimal 768px (Tablet / HP) */
@media (max-width: 768px) {
  .navbar-brand .logo-mark{
    max-height:40px;
  }
  .custom-card {
    padding: 1rem !important;
  }
  .stepper-container{
    padding:0px;
    background:transparent;
  }
  .stepper-step{
    padding:3px;
    font-size: 10px;
  }
  .invoiceCode{
    display: none!important;
  }

  .badge{
    padding: 6px !important;
  }
}