:root{
  --bg:#0b1120; --fg:#e6e9f2; --muted:#a8b0c3; --card:#101731; --line:#1a2143;
  --pri:#2563eb; --pri2:#1e40af; /* biru solid + hover lebih gelap */
  --s0:8px; --s1:12px; --s2:16px; --s3:20px; --s4:24px; --s5:32px; --s6:40px;
  --fs-xs:clamp(12px,3vw,13px);
  --fs-sm:clamp(14px,3.3vw,15px);
  --fs-md:clamp(15px,3.8vw,17px);
  --fs-lg:clamp(18px,4.5vw,22px);
  --fs-xl:clamp(22px,6vw,28px);
  --fs-2xl:clamp(28px,7.5vw,40px);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--pri);text-decoration:none}
.container{width:min(1120px,92%);margin-inline:auto}
h1{font-size:var(--fs-2xl);line-height:1.15;margin:0 0 var(--s3)}
h2{font-size:var(--fs-xl);line-height:1.2;margin:0 0 var(--s3)}
h3{font-size:var(--fs-lg);margin:0 0 var(--s2)}
.sub{color:var(--muted)}

/* Buttons — seragam biru + hover/focus */
.btn{
  display:inline-flex;gap:10px;align-items:center;justify-content:center;
  padding:10px 16px;border-radius:12px;border:1px solid var(--line);color:#fff;font-weight:700;
  transition:background .15s ease, box-shadow .15s ease, transform .04s ease, border-color .15s ease;
}
.btn.primary{background:var(--pri);border-color:var(--pri);color:#fff}
.btn.primary:hover{background:var(--pri2);border-color:var(--pri2)}
.btn.primary:active{transform:translateY(1px)}
.btn.primary:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px rgba(37,99,235,.35)}

.btn.ghost{background:transparent;color:#fff}
.btn.outline{background:transparent;color:var(--pri);border-color:var(--pri)}
.btn.small{padding:8px 12px;font-size:var(--fs-sm)}
.w-100{width:100%}

/* HEADER */
.lp-nav{position:sticky;top:0;z-index:50;background:rgba(11,17,32,.6);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;transition:box-shadow .2s,border-color .2s,background .2s}
.lp-nav.scrolled{background:rgba(11,17,32,.86);border-color:var(--line);box-shadow:0 4px 22px rgba(0,0,0,.25)}
.nav{display:flex;gap:var(--s2);align-items:center;padding:10px 0;min-height:56px}
.brand{display:flex;align-items:center;gap:10px;color:#fff}
.nav-toggle{margin-left:auto;display:none;background:transparent;border:1px solid var(--line);color:#fff;border-radius:10px;padding:8px 12px}
.nav-toggle:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px rgba(37,99,235,.35)}
.nav-links{display:flex;gap:clamp(8px,2.2vw,18px);align-items:center}
.nav-links a{color:#fff;font-size:var(--fs-sm)}
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav-links{
    position:fixed;inset:56px 0 auto 0;background:#0b1120f2;border-bottom:1px solid var(--line);
    display:grid;gap:14px;padding:14px 16px;transform:translateY(-110%);transition:transform .25s ease;
  }
  .nav-links.open{transform:translateY(0)}
}

/* HERO */
.hero{padding: clamp(32px,6svh,72px) 0}
.hero-grid{display:grid;gap:var(--s5);align-items:center}
@media (min-width:960px){ .hero-grid{grid-template-columns:1.1fr 1fr} }
.eyebrow{color:#cfe0ff;font-weight:700;letter-spacing:.02em;margin-bottom:8px}
.lead{color:var(--muted);font-size:var(--fs-md)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin:var(--s3) 0 var(--s2)}
.proof{list-style:none;color:var(--muted);font-size:var(--fs-sm);display:grid;gap:6px;padding:0;margin:0}

/* Carousel (tanpa duplikasi) */
.car-viewport{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  width:100%;aspect-ratio:16/9;max-height:60svh;
}
.car-track{height:100%;display:flex;align-items:center;transition:transform .4s ease}
.car-slide{min-width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px}
.car-slide img{width:100%;height:100%;object-fit:contain}
.car-slide figcaption{margin-top:8px;color:var(--muted);font-size:var(--fs-sm);text-align:center}
.car-btn{
  position:absolute;top:50%;transform:translateY(-50%);background:#0b1120cc;border:1px solid var(--line);
  color:#fff;border-radius:8px;padding:6px 10px
}
.car-btn.prev{left:8px} .car-btn.next{right:8px}
.car-btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px rgba(37,99,235,.35)}
.car-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.car-dots button{width:8px;height:8px;border-radius:99px;border:none;background:#4e5b82}
.car-dots button.is-active{background:#d9e8ff}
.car-dots button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px rgba(37,99,235,.6)}

@media (max-width:600px){
  .car-viewport{aspect-ratio:16/10;max-height:240px}
}

/* STRIP */
.strip{border-block:1px solid var(--line);background:linear-gradient(180deg,#0d152e,#0b1120)}
.strip-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:10px 0;color:#c9d5f5}
.strip-row i{width:1px;height:14px;background:var(--line);display:inline-block}

/* SECTIONS */
.section{padding: clamp(36px,6svh,72px) 0}
.alt{background:linear-gradient(180deg,#0b1120,#0e1730)}
.grid-3{display:grid;gap:var(--s3)}
@media (min-width:960px){ .grid-3{grid-template-columns:repeat(3,1fr)} }
.cards-4{display:grid;gap:var(--s3);grid-template-columns:repeat(2,1fr)}
@media (min-width:960px){ .cards-4{grid-template-columns:repeat(4,1fr)} }
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:var(--s3)}
.card .icon{font-size:22px;margin-bottom:8px}

/* modules grid */
.mod-grid{display:grid;gap:var(--s3);grid-template-columns:repeat(2,1fr);margin-top:var(--s4)}
@media (min-width:900px){ .mod-grid{grid-template-columns:repeat(4,1fr)} }
.mcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.mcard img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.mcard h4{margin:10px 12px 0}
.mcard p{margin:4px 12px 12px;color:var(--muted)}

/* outcomes */
.out{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:var(--s4)}
.out .num{font-size: clamp(28px,8vw,46px);font-weight:800;color:#d9e8ff}

/* testi */
.testi{display:grid;gap:var(--s3)}
.testi blockquote{margin:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:var(--s3);color:#dfe7ff}
.testi blockquote span{color:var(--muted)}

/* pricing */
.cards-3{display:grid;gap:var(--s3)}
@media (min-width:900px){ .cards-3{grid-template-columns:repeat(3,1fr)} }
.p-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:var(--s3)}
.p-card .price{font-size:var(--fs-xl);font-weight:800;margin:8px 0}
.p-card .price span{font-weight:600;color:var(--muted);font-size:var(--fs-sm)}
.p-card ul{margin:0 0 var(--s2);padding-left:18px}
.p-card.highlight{border-color:#3f79ff;box-shadow:0 0 0 1px #3f79ff2a}
.p-card .tag{display:inline-block;background:#173056;border:1px solid #325aa8;color:#d7e6ff;padding:3px 8px;border-radius:999px;font-size:var(--fs-xs);margin-bottom:8px}
.note{color:var(--muted);margin-top:8px}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700}

/* CTA blok */
.cta .cta-box{
  display:grid;gap:var(--s3);align-items:center;background:linear-gradient(135deg,#10214a,#0f1833);
  border:1px solid var(--line);border-radius:16px;padding:var(--s4)
}
@media (min-width:900px){ .cta .cta-box{grid-template-columns:1fr auto} }
.cta-actions{display:flex;gap:10px;flex-wrap:wrap}

/* FOOTER */
.footer{margin-top:20px;border-top:1px solid var(--line);background:#0b1120}
.foot-grid{display:grid;gap:var(--s3);padding:var(--s4) 0}
@media (min-width:900px){ .foot-grid{grid-template-columns:1.3fr .7fr .7fr} }
.foot-brand p{color:var(--muted);margin:.4rem 0 0}
.foot-col{display:grid;align-content:start;gap:8px}
.foot-col h5{margin:0 0 8px;font-size:var(--fs-md)}
.foot-col a{color:#d9e8ff}
.foot-bar{border-top:1px solid var(--line);background:#0a1022}
.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}
.bar-links{display:flex;gap:14px}
.bar a{color:#cfe0ff}

/* anchors offset */
[id]{scroll-margin-top:72px}

/* Landscape phones */
@media (max-height:520px) and (orientation:landscape){
  .car-viewport{height:min(42svh,360px)}
}

/* Reduce motion preference */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
  .car-track{transition:none}
}

/* CTA di landing semuanya biru (opsional — kalau HTML belum diubah semua ke .btn.primary) */
.cta-row .btn,
.cta-row .btn.ghost{
  background:var(--pri); border-color:var(--pri); color:#fff;
}
.cta-row .btn:hover,
.cta-row .btn.ghost:hover{
  background:var(--pri2); border-color:var(--pri2);
}
