@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Special+Gothic&display=swap');

@font-face {
  font-family: 'Schabo';
  src: url('/fonts/schabo.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --green: #00C853;
    --blue: #1565C0;
    --dark: #0D0D0D;
    --gray: #6B7280;
    --light: #F8FAFC;
    --white: #FFFFFF;
    --border: #E5E7EB;
    --section-pad: 80px 0;
  }
  #app {
    width: 100%;
    min-width: 100%;
  }
  html { scroll-behavior: smooth; }

  body {
    font-family: 'Inter', sans-serif;
    color: var(--dark);
    background: var(--white);
    overflow-x: hidden;
    
  }


  /* ── NAVBAR ── */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    display: flex; align-items: center; justify-content: center;
    padding: 0; height: 64px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid transparent;
    transition: border-color .3s, box-shadow .3s;
  }
  .nav-inner {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; 
    max-width: 1180px;
    padding: 0 0px;
    box-sizing: border-box;
  }
  nav.scrolled {
    border-color: var(--border);
    box-shadow: 0 2px 20px rgba(0,0,0,.08);
  }
  nav.navbar-dark {
    background: var(--dark);
  }
  nav.navbar-dark .nav-logo,
  nav.navbar-dark .nav-links a {
    color: var(--light);
  }
  nav.navbar-dark .btn-outline {
    border-color: var(--light);
    color: var(--light);
  }
  nav.navbar-dark .btn-outline:hover {
    background: var(--light);
    color: var(--dark);
  }
  nav.navbar-dark .btn-primary {
    background: var(--light);
    color: var(--dark);
  }
  nav.navbar-dark .btn-primary:hover {
    background: #e2e8f0;
    color: var(--dark);
  }
  nav.navbar-dark .hamburger span {
    background: var(--light);
  }
  nav.navbar-dark.scrolled {
    border-color: rgba(255,255,255,.15);
    box-shadow: 0 2px 20px rgba(0,0,0,.3);
  }
  nav.navbar-light {
    background: var(--light);
  }
  .nav-logo {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px; font-weight: 800;
    color: var(--dark);
    letter-spacing: -0.5px;
    white-space: nowrap;
  }
  .nav-logo span { color: var(--green); }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a {
    font-size: 14px; font-weight: 500;
    color: var(--dark); text-decoration: none;
    transition: color .2s;
  }
  .nav-links a:hover { color: var(--green); }
  .nav-actions { display: flex; gap: 12px; align-items: center; }
  .btn-outline {
    padding: 8px 20px; border: 1.5px solid var(--dark);
    border-radius: 6px; font-size: 13px; font-weight: 600;
    background: transparent; cursor: pointer;
    transition: all .2s; font-family: inherit;
  }
  .btn-outline:hover { background: var(--dark); color: white; }
  .btn-primary {
    padding: 8px 20px; border: none;
    border-radius: 6px; font-size: 13px; font-weight: 600;
    background: var(--dark); color: var(--white); cursor: pointer;
    transition: all .2s; font-family: inherit;
    text-decoration: none;
  }
  .btn-primary:hover { background: #333; transform: translateY(-1px); }

  /* ── HERO ── */
  .hero {
    min-height: 100vh;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    padding: 120px 24px 80px;
    background: var(--dark);
    position: relative; overflow: hidden;
  }
  .hero::before {
    content: '';
    position: absolute; top: -200px; transform: translateX(-50%);
    height: 800px;
    background: radial-gradient(circle, rgba(0,200,83,.06) 0%, transparent 70%);
    pointer-events: none;
  }
  .hero-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: #F0FDF4; border: 1px solid #BBF7D0;
    border-radius: 100px; padding: 6px 16px;
    font-size: 12px; font-weight: 600; color: #15803D;
    margin-bottom: 24px;
    opacity: 0; transform: translateY(20px);
    animation: fadeUp .6s .2s forwards;
  }
  .hero-badge::before { content: '●'; color: var(--green); font-size: 8px; }
  .hero h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(36px, 5.5vw, 72px);
    font-weight: 800; line-height: 1.1;
    letter-spacing: -2px; max-width: 980px;
    opacity: 0; transform: translateY(30px);
    animation: fadeUp .7s .35s forwards;
    color: var(--white) !important;
  }
  .hero h1 .green { color: var(--green); }
  .hero h1 .blue { color: var(--blue); }
  .hero p {
    margin-top: 20px; max-width: 500px;
    font-size: 16px; line-height: 1.7;
    color: var(--gray);
    opacity: 0; transform: translateY(20px);
    animation: fadeUp .6s .5s forwards;
  }
  .hero-cta {
    margin-top: 36px;
    opacity: 0; transform: translateY(20px);
    animation: fadeUp .6s .65s forwards;
  }
  .btn-cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 32px;
    background: var(--dark); color: white;
    border: 1px solid var(--border); border-radius: 8px;
    font-size: 15px; font-weight: 700;
    font-family: inherit; cursor: pointer;
    transition: all .25s;
    box-shadow: 0 4px 20px rgba(0,0,0,.15);
  }
  .btn-cta:hover {
    background: #1a1a1a;
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0,0,0,.2);
  }
  .btn-cta svg { width: 16px; height: 16px; }

  /* ── MOCKUP SECTION ── */
  .mockup-section {
    background: var(--white);
    display: flex; gap: 80px; align-items: center;
    max-width: 1200px; margin: 0 auto;
    padding: 100px 60px;
    min-height: 85vh;
  }
  .mockup-text { flex: 1; }
  .mockup-text h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 3.5vw, 46px);
    font-weight: 800; line-height: 1.15;
    letter-spacing: -1.5px; margin-bottom: 20px;
  }
  .mockup-text p { font-size: 16px; color: var(--gray); line-height: 1.8; margin-bottom: 32px; max-width: 420px; }
  .mockup-visual {
    flex: 1.1; position: relative;
    display: flex; justify-content: center; align-items: center;
    min-height: 700px;
  }

  /* divider between mockup and google */
  .section-divider {
    height: 1px;
    background: linear-gradient(to right, transparent, var(--border), transparent);
    margin: 0 60px;
  }

  /* ── REALISTIC WHATSAPP PHONE ── */
  .phone-wrap {
    position: relative;
    width: 360px;
    filter: drop-shadow(0 40px 80px rgba(0,0,0,.3));
    transform: perspective(1200px) rotateY(-8deg) rotateX(4deg);
    transition: transform .5s ease;
    animation: float 4s ease-in-out infinite;
  }
  .phone-wrap:hover {
    transform: perspective(1200px) rotateY(0deg) rotateX(0deg);
    animation-play-state: paused;
  }
  .phone-shell {
    background: #1a1a1a;
    border-radius: 44px;
    padding: 13px;
    position: relative;
  }
  .phone-shell::before {
    content: '';
    position: absolute; top: 13px; left: 50%; transform: translateX(-50%);
    width: 70px; height: 7px;
    background: #333; border-radius: 4px; z-index: 10;
  }
  .phone-screen {
    background: #fff;
    border-radius: 34px;
    overflow: hidden;
    position: relative;
    height: 660px;
  }
  /* status bar */
  .wa-statusbar {
    background: #fff;
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 18px 5px;
    font-size: 11px; font-weight: 700; color: #111;
  }
  .wa-statusbar-icons { display: flex; align-items: center; gap: 4px; }
  .signal-bars { display: flex; align-items: flex-end; gap: 1px; }
  .signal-bars span {
    width: 3px; background: #111; border-radius: 1px;
    display: block;
  }
  .signal-bars span:nth-child(1) { height: 4px; }
  .signal-bars span:nth-child(2) { height: 7px; }
  .signal-bars span:nth-child(3) { height: 10px; }
  .signal-bars span:nth-child(4) { height: 13px; }
  .battery-icon {
    width: 18px; height: 10px;
    border: 1.5px solid #111; border-radius: 2px;
    position: relative; margin-left: 2px;
  }
  .battery-icon::after {
    content: ''; position: absolute;
    right: -4px; top: 50%; transform: translateY(-50%);
    width: 2px; height: 5px; background: #111; border-radius: 0 1px 1px 0;
  }
  .battery-fill {
    position: absolute; left: 1px; top: 1px; bottom: 1px;
    width: 60%; background: #111; border-radius: 1px;
  }

  /* ── SCREEN 1: CHAT LIST ── */
  .wa-screen { position: absolute; inset: 0; transition: opacity .4s, transform .4s; }
  .wa-screen.hidden { opacity: 0; pointer-events: none; transform: translateX(-20px); }

  .wa-topbar {
    background: #fff;
    padding: 10px 16px 12px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .wa-topbar-title {
    font-size: 22px; font-weight: 800; color: #111; font-family: 'Inter', sans-serif;
  }
  .wa-topbar-icons { display: flex; gap: 16px; align-items: center; }
  .wa-icon-btn {
    width: 24px; height: 24px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
  }

  .wa-search {
    margin: 0 12px 8px;
    background: #f0f0f0; border-radius: 20px;
    padding: 8px 14px;
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: #888;
  }

  .wa-chat-list { overflow-y: auto; height: calc(100% - 130px); }
  .wa-chat-item {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background .15s;
    position: relative;
  }
  .wa-chat-item:active, .wa-chat-item.tapping { background: #f0f0f0; }
  .wa-chat-item::after {
    content: '';
    position: absolute; bottom: 0; left: 64px; right: 0;
    height: 0.5px; background: #f0f0f0;
  }
  .wa-chat-avatar {
    width: 52px; height: 52px; border-radius: 50%;
    flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 20px; color: white;
  }
  .av-wb  { background: #25D366; }
  .av-si  { background: linear-gradient(135deg,#f97316,#dc2626); }
  .av-tri { background: linear-gradient(135deg,#a855f7,#ec4899); }
  .av-fp  { background: #c7d2fe; color: #4338ca; }
  .av-ga  { background: #ddd6fe; color: #7c3aed; }
  .av-ws  { background: #25D366; }
  .av-tr  { background: #fed7aa; }

  .wa-chat-info { flex: 1; min-width: 0; }
  .wa-chat-name-row {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: 2px;
  }
  .wa-chat-name { font-size: 15px; font-weight: 600; color: #111; }
  .wa-chat-time { font-size: 12px; color: #999; flex-shrink: 0; }
  .wa-chat-preview { font-size: 13px; color: #888; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .wa-badge {
    background: #25D366; color: white;
    border-radius: 50%; width: 18px; height: 18px;
    font-size: 10px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }

  /* bottom tabs */
  .wa-tabs {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: #fff;
    border-top: 0.5px solid #e5e5e5;
    display: flex; height: 54px;
  }
  .wa-tab {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 3px;
    font-size: 10px; color: #888; cursor: pointer;
    transition: color .2s;
  }
  .wa-tab.active { color: #25D366; font-weight: 700; }
  .wa-tab svg { width: 20px; height: 20px; }

  /* ── SCREEN 2: CHAT DETAIL ── */
  .wa-chat-topbar {
    background: #075E54;
    padding: 8px 12px;
    display: flex; align-items: center; gap: 10px;
  }
  .wa-back-btn { color: white; cursor: pointer; padding: 4px; }
  .wa-chat-contact { flex: 1; }
  .wa-chat-contact-name { font-size: 14px; font-weight: 700; color: white; }
  .wa-chat-contact-status { font-size: 11px; color: rgba(255,255,255,.7); }
  .wa-chat-topbar-actions { display: flex; gap: 14px; align-items: center; }
  .wa-chat-topbar-actions svg { color: white; width: 20px; height: 20px; cursor: pointer; }

  /* wallpaper */
  .wa-chat-bg {
    flex: 1; overflow-y: auto;
    background-color: #e5ddd5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ctext x='5' y='20' font-size='14' opacity='.06'%3E💬%3C/text%3E%3Ctext x='35' y='50' font-size='14' opacity='.06'%3E📱%3C/text%3E%3C/svg%3E");
    padding: 10px 10px 0;
    height: calc(100% - 80px);
  }

  .wa-date-chip {
    text-align: center; margin: 8px 0;
  }
  .wa-date-chip span {
    background: rgba(255,255,255,.85);
    border-radius: 8px; padding: 3px 10px;
    font-size: 10px; color: #555;
  }
  .wa-encrypt-notice {
    background: #fff9e6; border-radius: 8px;
    padding: 8px 10px; margin-bottom: 8px; text-align: center;
    font-size: 10px; color: #777; line-height: 1.5;
  }
  .wa-encrypt-notice a { color: #25D366; font-weight: 700; }
  .wa-contact-chip {
    text-align: center; margin: 4px 0 10px;
  }
  .wa-contact-chip span {
    background: rgba(255,255,255,.85);
    border-radius: 8px; padding: 3px 10px;
    font-size: 10px; color: #555;
  }

  .wa-msg {
    margin-bottom: 6px; max-width: 80%;
  }
  .wa-msg.received { margin-right: auto; }
  .wa-msg.sent { margin-left: auto; }
  .wa-msg-bubble {
    padding: 8px 12px 20px;
    border-radius: 8px;
    position: relative;
    font-size: 13px; line-height: 1.5; color: #111;
    box-shadow: 0 1px 2px rgba(0,0,0,.13);
  }
  .wa-msg.received .wa-msg-bubble {
    background: #fff;
    border-top-left-radius: 0;
  }
  .wa-msg.sent .wa-msg-bubble {
    background: #dcf8c6;
    border-top-right-radius: 0;
  }
  .wa-msg-time {
    position: absolute; bottom: 3px; right: 8px;
    font-size: 9px; color: #999;
    display: flex; align-items: center; gap: 2px;
  }
  .wa-msg.sent .wa-msg-time { color: #6a9c6a; }
  .wa-tick { font-size: 10px; }

  /* link preview bubble */
  .wa-link-preview {
    background: #fff; border-radius: 8px;
    overflow: hidden; margin-bottom: 6px;
    max-width: 80%; margin-left: auto;
    box-shadow: 0 1px 2px rgba(0,0,0,.13);
    font-size: 11px;
  }
  .wa-link-preview-bar { width: 3px; background: #25D366; float: left; min-height: 100%; }
  .wa-link-preview-body { padding: 8px 10px 20px; overflow: hidden; position: relative; }
  .wa-link-preview-title { font-weight: 700; color: #111; margin-bottom: 2px; font-size: 11px; }
  .wa-link-preview-desc { color: #888; font-size: 10px; margin-bottom: 3px; }
  .wa-link-preview-url { color: #25D366; font-size: 10px; }
  .wa-link-preview-time {
    position: absolute; bottom: 3px; right: 8px;
    font-size: 9px; color: #6a9c6a;
    display: flex; align-items: center; gap: 2px;
  }

  /* input bar */
  .wa-input-bar {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 8px 10px;
    display: flex; align-items: center; gap: 8px;
    background: #f0f0f0;
  }
  .wa-input-field {
    flex: 1; background: white; border-radius: 20px;
    padding: 8px 14px; font-size: 12px; color: #888;
    display: flex; align-items: center;
  }
  .wa-mic-btn {
    width: 36px; height: 36px; background: #25D366;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }

  /* ── CURSOR ── */
  .fake-cursor {
    position: absolute;
    width: 18px; height: 18px;
    pointer-events: none;
    z-index: 999;
    opacity: 0;
    transition: opacity .2s;
  }
  .fake-cursor svg { filter: drop-shadow(1px 2px 3px rgba(0,0,0,.4)); }
  .cursor-click-ring {
    position: absolute; top: -4px; left: -4px;
    width: 26px; height: 26px;
    border: 2px solid rgba(37,211,102,.8);
    border-radius: 50%; opacity: 0;
    transform: scale(0.5);
    transition: all .3s;
  }
  .cursor-click-ring.pop {
    opacity: 1; transform: scale(1.4);
  }

  /* FAB button */
  .wa-fab {
    position: absolute; bottom: 62px; right: 10px;
    width: 42px; height: 42px;
    background: #25D366; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
  }

  /* ── PRICE BADGE ── */
  .svc-price-wrap { margin: 16px 0 12px; }
  .svc-price {
    display: inline-flex; align-items: baseline; gap: 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px; font-weight: 900; color: var(--dark);
    background: linear-gradient(135deg, #00C853, #009624);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .svc-price span {
    font-size: 12px; font-weight: 600; color: var(--gray);
    -webkit-text-fill-color: var(--gray);
  }

  /* ── WEB DINAMIS MOCKUP ── */
  .wd-bg { position:absolute;inset:0;background:linear-gradient(135deg,#f0fdf4,#dcfce7); }
  .wd-mockup { position:relative;z-index:2;width:100%;max-width:600px;display:flex;gap:14px;align-items:flex-end; }
  .wd-browser { flex:1.6;background:white;border-radius:10px 10px 0 0;border:1px solid #D1D5DB;border-bottom:none;box-shadow:0 12px 40px rgba(0,0,0,.12);overflow:hidden; }
  .wd-bar { background:#1e2a1e;border-bottom:1px solid #2d3d2d;padding:6px 10px;display:flex;align-items:center;gap:8px; }
  .wd-screen { display:flex;min-height:200px; }
  .wd-sidebar { width:80px;background:#1e2a1e;padding:10px 0;flex-shrink:0; }
  .wd-sb-brand { text-align:center;font-size:9px;font-weight:900;color:#00C853;padding:4px 0 10px;border-bottom:1px solid rgba(255,255,255,.08); }
  .wd-sb-menu { padding:6px 0;display:flex;flex-direction:column;gap:1px; }
  .wd-sb-item { font-size:8px;color:rgba(255,255,255,.5);padding:5px 8px;border-radius:0;cursor:pointer;white-space:nowrap;overflow:hidden; }
  .wd-sb-item.active { color:#00C853;background:rgba(0,200,83,.12); }
  .wd-main { flex:1;display:flex;flex-direction:column; }
  .wd-topbar { background:#f8fafc;border-bottom:1px solid #E5E7EB;padding:6px 10px;display:flex;align-items:center;justify-content:space-between; }
  .wd-topbar-title { font-size:9px;font-weight:700;color:#374151; }
  .wd-btn-new { background:#00C853;color:white;border-radius:5px;padding:3px 8px;font-size:8px;font-weight:700; }
  .wd-article-list { flex:1;padding:6px 8px;display:flex;flex-direction:column;gap:5px; }
  .wd-article-item { display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #E5E7EB;border-radius:7px;background:white; }
  .wd-art-thumb { width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0; }
  .wd-art-body { flex:1; }
  .wd-art-title { font-size:9px;font-weight:700;color:#111;margin-bottom:2px; }
  .wd-art-meta { font-size:7.5px;color:#9CA3AF;display:flex;align-items:center;gap:4px; }
  .wd-badge { padding:1px 5px;border-radius:3px;font-size:7px;font-weight:700; }
  .wd-badge.pub { background:#DCFCE7;color:#15803D; }
  .wd-badge.dft { background:#FEF9C3;color:#a16207; }
  .wd-art-actions { display:flex;gap:3px; }
  .wd-act-btn { width:20px;height:20px;background:#F3F4F6;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;cursor:pointer; }
  .wd-stats-row { display:flex;gap:5px;padding:6px 8px;border-top:1px solid #E5E7EB; }
  .wd-stat { flex:1;text-align:center;padding:4px; }
  .wd-stat-val { font-size:12px;font-weight:800;color:#111; }
  .wd-stat-lbl { font-size:7px;color:#9CA3AF; }
  /* wd phone */
  .wd-phone { flex:0 0 82px;background:#1a1a1a;border-radius:18px;padding:5px;box-shadow:0 16px 40px rgba(0,0,0,.28);transform:translateY(-10px); }
  .wd-phone-screen { background:white;border-radius:14px;overflow:hidden;height:174px; }
  .wd-ph-notch-bar { background:#1e2a1e;height:10px;display:flex;align-items:center;justify-content:center; }
  .wd-ph-pill { width:22px;height:3px;background:#2d3d2d;border-radius:2px; }
  .wd-ph-header { background:#1e2a1e;padding:5px 7px;display:flex;align-items:center;justify-content:space-between; }
  .wd-ph-body { background:white; }
  .wd-ph-hero-strip { height:24px;background:linear-gradient(90deg,#1e2a1e,#2a4a2a);display:flex;align-items:center;padding:0 6px; }
  .wd-ph-article { display:flex;align-items:flex-start;gap:4px;padding:3px 6px; }
  .wd-ph-art-dot { width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:2px; }
  .wd-ph-readmore { margin:4px 6px;background:#00C853;border-radius:4px;padding:3px 0;font-size:7px;font-weight:700;color:white;text-align:center; }

  /* ── WEB SEKOLAH CMS MOCKUP ── */
  .ws-bg { position:absolute;inset:0;background:linear-gradient(135deg,#eff6ff,#dbeafe); }
  .ws-mockup { position:relative;z-index:2;width:100%;max-width:600px;display:flex;gap:14px;align-items:flex-end; }
  .ws-browser { flex:1.6;background:white;border-radius:10px 10px 0 0;border:1px solid #D1D5DB;border-bottom:none;box-shadow:0 12px 40px rgba(0,0,0,.12);overflow:hidden; }
  .ws-bar { background:#1565C0;border-bottom:1px solid #1044a3;padding:6px 10px;display:flex;align-items:center;gap:8px; }
  .ws-screen { display:flex;min-height:200px; }
  .ws-sidebar { width:90px;background:#1565C0;padding:8px 0;flex-shrink:0; }
  .ws-sb-brand { text-align:center;font-size:16px;padding:4px 0 8px;border-bottom:1px solid rgba(255,255,255,.15); }
  .ws-sb-menu { padding:6px 0;display:flex;flex-direction:column; }
  .ws-sb-item { font-size:8px;color:rgba(255,255,255,.6);padding:5px 8px;white-space:nowrap;overflow:hidden; }
  .ws-sb-item.active { color:white;background:rgba(255,255,255,.15); }
  .ws-main { flex:1;display:flex;flex-direction:column; }
  .ws-topbar { background:#f8fafc;border-bottom:1px solid #E5E7EB;padding:6px 10px;display:flex;align-items:center;justify-content:space-between; }
  .ws-topbar-title { font-size:9px;font-weight:700;color:#374151; }
  .ws-topbar-user { font-size:8px;color:#6B7280; }
  .ws-content { padding:7px 8px;display:flex;flex-direction:column;gap:7px; }
  .ws-stat-row { display:flex;gap:5px; }
  .ws-stat { flex:1;border-radius:7px;border:1px solid;padding:6px;display:flex;flex-direction:column;align-items:center;gap:1px; }
  .ws-stat-ico { font-size:12px; }
  .ws-stat-val { font-size:11px;font-weight:800; }
  .ws-stat-lbl { font-size:7px;color:#9CA3AF; }
  .ws-announce-box { border:1px solid #E5E7EB;border-radius:7px;overflow:hidden; }
  .ws-ann-header { display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background:#f8fafc;border-bottom:1px solid #E5E7EB;font-size:8.5px;font-weight:700;color:#374151; }
  .ws-ann-add { background:#1565C0;color:white;border-radius:4px;padding:2px 6px;font-size:7px;font-weight:700; }
  .ws-ann-item { display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid #F3F4F6; }
  .ws-ann-item:last-child { border-bottom:none; }
  .ws-ann-dot { width:6px;height:6px;border-radius:50%;flex-shrink:0; }
  .ws-ann-text { flex:1;font-size:8px;color:#374151; }
  .ws-ann-date { font-size:7.5px;color:#9CA3AF; }
  /* ws phone */
  .ws-phone { flex:0 0 82px;background:#1a1a1a;border-radius:18px;padding:5px;box-shadow:0 16px 40px rgba(0,0,0,.28);transform:translateY(-10px); }
  .ws-phone-screen { background:white;border-radius:14px;overflow:hidden;height:174px; }
  .ws-ph-notch-bar { background:#1565C0;height:10px;display:flex;align-items:center;justify-content:center; }
  .ws-ph-pill { width:22px;height:3px;background:#1044a3;border-radius:2px; }
  .ws-ph-header { background:#1565C0;padding:5px 7px;display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:800;color:white; }
  .ws-ph-body { padding:5px; }
  .ws-ph-stats { display:flex;gap:4px;margin-bottom:5px; }
  .ws-ph-stat { flex:1;background:#EFF6FF;border-radius:5px;padding:4px;text-align:center; }
  .ws-ph-sv { font-size:10px;font-weight:800;display:block; }
  .ws-ph-sl { font-size:6px;color:#9CA3AF;display:block; }
  .ws-ph-ann-item { font-size:7px;color:#374151;padding:3px 4px;border-bottom:1px solid #F3F4F6;line-height:1.4; }
  .ws-ph-add-btn { margin-top:4px;background:#1565C0;border-radius:4px;padding:3px 0;font-size:7px;font-weight:700;color:white;text-align:center; }

  /* ══════════════════════════════════════
     TEMPLATE SECTION
  ══════════════════════════════════════ */
  .template-section { padding: 100px 0 80px; background: var(--white); }
  .template-inner { max-width: 1200px; margin: 0 auto; padding: 0 60px; }
  .template-header { text-align: center; margin-bottom: 40px; }
  .template-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px,3.5vw,44px);
    font-weight: 800; letter-spacing: -1.5px; margin-bottom: 12px;
  }
  .template-subtitle { font-size:15px;color:var(--gray);max-width:520px;margin:0 auto;line-height:1.7; }

  /* Category filter tabs */
  .tmpl-tabs { display:flex;justify-content:center;gap:8px;margin-bottom:36px;flex-wrap:wrap; }
  .tmpl-tab {
    padding:8px 20px; border-radius:100px; font-size:13px; font-weight:600;
    border:1.5px solid var(--border); background:white; cursor:pointer;
    transition:all .2s; color:var(--gray); font-family:inherit;
  }
  .tmpl-tab.active, .tmpl-tab:hover { background:var(--dark); color:white; border-color:var(--dark); }

  /* Splide carousel wrapper */
  .template-carousel-wrap { position:relative; }

  /* Custom prev/next buttons */
  .tmpl-arrow {
    position:absolute; top:50%; transform:translateY(-50%);
    width:44px; height:44px; border-radius:50%;
    background:white; border:1.5px solid var(--border);
    box-shadow:0 4px 16px rgba(0,0,0,.1);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; z-index:10; transition:all .2s;
    font-size:16px; color:var(--dark);
  }
  .tmpl-arrow:hover { background:var(--dark); color:white; border-color:var(--dark); }
  .tmpl-arrow.prev { left:-22px; }
  .tmpl-arrow.next { right:-22px; }

  /* Template card */
  .tmpl-card {
    background:white; border-radius:16px;
    border:1px solid var(--border);
    overflow:hidden;
    box-shadow:0 2px 16px rgba(0,0,0,.06);
    transition:transform .3s, box-shadow .3s;
    display:flex; flex-direction:column;
    height:100%;
  }
  .tmpl-card:hover { transform:translateY(-5px); box-shadow:0 12px 36px rgba(0,0,0,.12); }

  /* Thumbnail area */
  .tmpl-thumb {
    height:180px; position:relative; overflow:hidden;
    display:flex; align-items:flex-end; justify-content:center;
  }
  .tmpl-cat-badge {
    position:absolute; top:12px; left:12px;
    padding:3px 10px; border-radius:100px;
    font-size:10px; font-weight:700;
  }

  /* Mini browser inside thumbnail */
  .tmpl-mini-browser {
    width:85%; background:white;
    border-radius:6px 6px 0 0;
    border:1px solid rgba(0,0,0,.1); border-bottom:none;
    box-shadow:0 -6px 20px rgba(0,0,0,.15);
    overflow:hidden; position:relative; z-index:2;
  }
  .tmpl-mini-bar {
    background:#F3F4F6; padding:4px 8px;
    display:flex; align-items:center; gap:5px;
    border-bottom:1px solid #E5E7EB;
  }
  .tmpl-mini-dots { display:flex; gap:3px; }
  .tmpl-mini-dots span { width:6px;height:6px;border-radius:50%; }
  .tmpl-mini-dots span:nth-child(1){background:#FC5754;}
  .tmpl-mini-dots span:nth-child(2){background:#FEBC2E;}
  .tmpl-mini-dots span:nth-child(3){background:#28C840;}
  .tmpl-mini-url { flex:1;background:white;border-radius:3px;height:10px; border:1px solid #E5E7EB; }
  .tmpl-mini-screen { padding:6px; }

  /* Card body */
  .tmpl-body { padding:18px 20px; display:flex; flex-direction:column; flex:1; }
  .tmpl-name { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:800; margin-bottom:5px; color:var(--dark); }
  .tmpl-desc { font-size:12.5px; color:var(--gray); line-height:1.6; flex:1; margin-bottom:14px; }
  .tmpl-footer { display:flex; align-items:center; justify-content:space-between; }
  .tmpl-type-tag { font-size:11px; font-weight:600; color:var(--gray); }
  .btn-demo {
    padding:7px 16px; background:var(--dark); color:white;
    border:none; border-radius:7px; font-size:12px; font-weight:700;
    cursor:pointer; font-family:inherit; transition:background .2s;
    text-decoration:none; display:inline-block;
  }
  .btn-demo:hover { background:#333; }

  /* See all button */
  .tmpl-see-all-wrap { text-align:center; margin-top:40px; }
  .btn-see-all {
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 36px; border:2px solid var(--dark);
    border-radius:10px; font-size:15px; font-weight:700;
    background:transparent; color:var(--dark);
    cursor:pointer; font-family:inherit; transition:all .2s;
  }
  .btn-see-all:hover { background:var(--dark); color:white; }

  /* Splide overrides */
  .splide__track { overflow:visible !important; }
  .splide { overflow:hidden !important; }
  .splide__slide { padding: 0 8px; box-sizing:border-box; }

  @media (max-width:900px) {
    .template-inner { padding:0 20px; }
    .tmpl-arrow.prev { left:-14px; }
    .tmpl-arrow.next { right:-14px; }
  }

  /* ══════════════════════════════════════
     CONTACT SECTION
  ══════════════════════════════════════ */
  .contact-section {
    padding: 100px 0;
    background: var(--white);
  }
  .contact-inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 60px;
  }
  .contact-header {
    text-align: center;
    margin-bottom: 56px;
  }
  .contact-label {
    display: inline-flex; align-items: center; gap: 6px;
    background: #F0FDF4; border: 1px solid #BBF7D0;
    border-radius: 100px; padding: 5px 14px;
    font-size: 12px; font-weight: 600; color: #15803D;
    margin-bottom: 16px;
  }
  .contact-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1.15;
    margin-bottom: 14px;
  }
  .contact-subtitle {
    font-size: 16px;
    color: var(--gray);
    line-height: 1.7;
    max-width: 480px;
    margin: 0 auto;
  }
  .contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
  }
  /* WA Card */
  .contact-wa-card {
    background: #0B1E12;
    border-radius: 20px;
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    position: relative;
    overflow: hidden;
  }
  .contact-wa-card::before {
    content: '';
    position: absolute;
    top: -80px; right: -80px;
    width: 220px; height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,200,83,.18) 0%, transparent 70%);
    pointer-events: none;
  }
  .wa-card-top { display: flex; align-items: center; gap: 14px; }
  .wa-icon-wrap {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: #25D366;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .wa-icon-wrap svg { width: 28px; height: 28px; fill: white; }
  .wa-card-label { font-size: 11px; color: rgba(255,255,255,.45); font-weight: 500; margin-bottom: 4px; }
  .wa-card-number { font-size: 18px; font-weight: 700; color: white; letter-spacing: .02em; }
  .wa-response-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    padding: 9px 14px;
    font-size: 12px;
    color: rgba(255,255,255,.6);
    width: fit-content;
  }
  .wa-response-badge .pulse-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #25D366;
    box-shadow: 0 0 0 0 rgba(37,211,102,.5);
    animation: pulse-green 2s infinite;
    flex-shrink: 0;
  }
  @keyframes pulse-green {
    0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.5); }
    70%  { box-shadow: 0 0 0 7px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
  }
  .wa-response-badge strong { color: white; }
  .wa-hours { font-size: 11px; color: rgba(255,255,255,.3); margin-top: -10px; }
  .wa-cta-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; padding: 15px 24px;
    background: #25D366; border: none; border-radius: 12px;
    font-family: inherit; font-size: 15px; font-weight: 700;
    color: white; cursor: pointer; text-decoration: none;
    transition: background .2s, transform .15s, box-shadow .2s;
    box-shadow: 0 4px 20px rgba(37,211,102,.3);
  }
  .wa-cta-btn:hover { background: #1ebe5a; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(37,211,102,.4); }
  .wa-cta-btn svg { width: 18px; height: 18px; fill: white; flex-shrink: 0; }
  /* Info cards */
  .contact-info-col { display: flex; flex-direction: column; gap: 14px; }
  .contact-info-card {
    background: var(--light);
    border: 1.5px solid var(--border);
    border-radius: 16px;
    padding: 20px 22px;
    display: flex; align-items: flex-start; gap: 14px;
    transition: border-color .2s, box-shadow .2s, transform .2s;
  }
  .contact-info-card:hover {
    border-color: var(--green);
    box-shadow: 0 4px 20px rgba(0,200,83,.08);
    transform: translateY(-2px);
  }
  .info-icon {
    width: 42px; height: 42px; border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-size: 18px;
  }
  .info-icon.email    { background: #EFF6FF; }
  .info-icon.hours    { background: #FFF7ED; }
  .info-icon.location { background: #F0FDF4; }
  .info-icon.social   { background: #FDF4FF; }
  .info-text-label {
    font-size: 11px; font-weight: 600; color: var(--gray);
    text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px;
  }
  .info-text-value { font-size: 14px; font-weight: 600; color: var(--dark); line-height: 1.5; }
  .info-text-sub { font-size: 12px; color: var(--gray); margin-top: 2px; }
  .contact-social-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
  .social-pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 13px; border-radius: 8px;
    border: 1.5px solid var(--border);
    font-size: 12px; font-weight: 600; color: var(--dark);
    text-decoration: none; background: var(--white);
    transition: border-color .2s, background .2s, transform .15s;
  }
  .social-pill:hover { border-color: var(--green); background: #F0FDF4; transform: translateY(-1px); }
  .social-pill svg { width: 14px; height: 14px; }
  @media (max-width: 768px) {
    .contact-inner { padding: 0 20px; }
    .contact-grid  { grid-template-columns: 1fr; }
    .contact-wa-card { padding: 28px 22px; }
    .wa-card-number { font-size: 16px; }
  }

  /* ══════════════════════════════════════
     FAQ SECTION
  ══════════════════════════════════════ */
  .faq-section {
    padding: 100px 0;
    background: var(--light);
  }
  .faq-inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 60px;
  }
  .faq-header {
    text-align: center;
    margin-bottom: 56px;
  }
  .faq-label {
    display: inline-flex; align-items: center; gap: 6px;
    background: #F0FDF4; border: 1px solid #BBF7D0;
    border-radius: 100px; padding: 5px 14px;
    font-size: 12px; font-weight: 600; color: #15803D;
    margin-bottom: 16px;
  }
  .faq-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1.15;
    margin-bottom: 14px;
  }
  .faq-subtitle {
    font-size: 16px;
    color: var(--gray);
    line-height: 1.7;
    max-width: 500px;
    margin: 0 auto;
  }
  .faq-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .faq-item {
    background: var(--white);
    border: 1.5px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
  }
  .faq-item.open {
    border-color: var(--green);
    box-shadow: 0 4px 20px rgba(0, 200, 83, .1);
  }
  .faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    color: var(--dark);
    transition: color .2s;
  }
  .faq-question:hover { color: var(--green); }
  .faq-item.open .faq-question { color: var(--green); }
  .faq-icon {
    flex-shrink: 0;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--light);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    font-weight: 400;
    transition: background .2s, transform .3s;
    color: var(--gray);
  }
  .faq-item.open .faq-icon {
    background: var(--green);
    color: white;
    transform: rotate(45deg);
  }
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease, padding .3s ease;
    font-size: 14px;
    color: var(--gray);
    line-height: 1.8;
    padding: 0 24px;
  }
  .faq-item.open .faq-answer {
    max-height: 400px;
    padding: 0 24px 20px;
  }
  .faq-cta {
    text-align: center;
    margin-top: 52px;
  }
  .faq-cta p {
    font-size: 15px;
    color: var(--gray);
    margin-bottom: 16px;
  }
  .faq-cta p strong { color: var(--dark); }

  @media (max-width: 768px) {
    .faq-inner { padding: 0 20px; }
    .faq-question { font-size: 14px; padding: 16px 18px; }
    .faq-item.open .faq-answer { padding: 0 18px 16px; }
  }

  /* ══════════════════════════════════════
     FITUR UTAMA SECTION
  ══════════════════════════════════════ */
  .fitur-section {
    background: var(--light);
    padding: 100px 0 60px;
  }
  .fitur-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 60px;
  }
  .fitur-header {
    text-align: center;
    margin-bottom: 64px;
  }
  .fitur-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1.15;
    margin-bottom: 16px;
  }
  .fitur-subtitle {
    font-size: 16px;
    color: var(--gray);
    max-width: 540px;
    margin: 0 auto;
    line-height: 1.7;
  }
  .fitur-cards {
    display: flex;
    flex-direction: column;
    gap: 48px;
  }
  .fitur-card {
    background: var(--white);
    border-radius: 20px;
    border: 1px solid var(--border);
    overflow: hidden;
    padding: 36px 36px 0;
    box-shadow: 0 4px 24px rgba(0,0,0,.05);
    transition: transform .3s, box-shadow .3s;
  }
  .fitur-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,.1);
  }
  .fitur-card-top {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 32px;
  }
  .fitur-icon-wrap {
    width: 52px; height: 52px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .fitur-card-label { flex: 1; }
  .fitur-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 100px;
    font-size: 11px; font-weight: 700;
    margin-bottom: 8px;
  }
  .fitur-card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
    color: var(--dark);
  }
  .fitur-card-desc {
    font-size: 14px;
    color: var(--gray);
    line-height: 1.7;
    max-width: 620px;
  }

  /* Mockup wrapper: desktop left, mobile right */
  .fitur-mockup-wrapper {
    display: flex;
    gap: 24px;
    align-items: flex-end;
    margin-top: 8px;
  }
  .fitur-mockup-desktop {
    flex: 1.8;
    min-width: 0;
  }
  .fitur-mockup-mobile {
    flex: 0 0 auto;
    width: 160px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }

  /* ── BROWSER CHROME ── */
  .fmock-browser {
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    border-bottom: none;
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
  }
  .fmock-bar {
    background: #F3F4F6;
    border-bottom: 1px solid #E5E7EB;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .fmock-dots { display: flex; gap: 5px; }
  .fmock-dots span {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: #d1d5db;
  }
  .fmock-dots span:nth-child(1) { background: #FC5754; }
  .fmock-dots span:nth-child(2) { background: #FEBC2E; }
  .fmock-dots span:nth-child(3) { background: #28C840; }
  .fmock-url {
    flex: 1;
    background: white;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 10px;
    color: #6B7280;
    border: 1px solid #E5E7EB;
    text-align: center;
  }
  .fmock-screen {
    background: white;
    display: flex;
    min-height: 220px;
  }

  /* ── PAYMENT GATEWAY DESKTOP ── */
  .pg-screen { padding: 20px; gap: 20px; align-items: flex-start; }
  .pg-left {
    flex: 1;
    background: #F8FAFC;
    border-radius: 10px;
    padding: 16px;
    border: 1px solid #E5E7EB;
  }
  .pg-right { flex: 1.2; }
  .pg-section-title {
    font-size: 11px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .pg-item {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #6B7280;
    margin-bottom: 8px;
  }
  .pg-divider { height: 1px; background: #E5E7EB; margin: 10px 0; }
  .pg-methods { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
  .pg-method {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1.5px solid #E5E7EB;
    border-radius: 8px;
    font-size: 11px;
    color: #374151;
    cursor: pointer;
    transition: border-color .2s;
    background: white;
  }
  .pg-method.active { border-color: #1565C0; background: #EFF6FF; }
  .pg-method-icon {
    width: 36px; height: 20px;
    border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .pg-check {
    margin-left: auto;
    color: #1565C0;
    font-size: 12px;
    font-weight: 700;
  }
  .pg-pay-btn {
    width: 100%;
    background: #1565C0;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 10px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: background .2s;
  }
  .pg-pay-btn:hover { background: #1044a3; }
  .pg-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 8px;
    font-size: 10px;
    color: #6B7280;
  }

  /* ── CEK ONGKIR DESKTOP ── */
  .co-screen { padding: 20px; gap: 20px; align-items: flex-start; }
  .co-left { flex: 1; }
  .co-right { flex: 1.3; }
  .co-form { display: flex; flex-direction: column; gap: 0; }
  .co-field-group { display: flex; flex-direction: column; gap: 4px; }
  .co-field-group label { font-size: 10px; font-weight: 600; color: #9CA3AF; text-transform: uppercase; letter-spacing: 0.4px; }
  .co-field {
    background: #F8FAFC;
    border: 1.5px solid #E5E7EB;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 11px;
    color: #374151;
  }
  .co-field-active { border-color: #00C853; background: #F0FDF4; color: #15803D; }
  .co-arrow { text-align: center; color: #9CA3AF; font-size: 16px; padding: 4px 0; }
  .co-weight-row { display: flex; gap: 8px; margin-top: 6px; }
  .co-cek-btn {
    margin-top: 12px;
    background: var(--dark);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    width: 100%;
  }
  .co-result-title {
    font-size: 11px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .co-results { display: flex; flex-direction: column; gap: 8px; }
  .co-result-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 1.5px solid #E5E7EB;
    border-radius: 8px;
    background: white;
    position: relative;
  }
  .co-result-item.best { border-color: #00C853; background: #F0FDF4; }
  .co-courier-logo {
    width: 32px; height: 20px;
    border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .co-courier-info { flex: 1; }
  .co-courier-name { font-size: 11px; font-weight: 700; color: #374151; }
  .co-courier-eta { font-size: 10px; color: #9CA3AF; }
  .co-courier-price { font-size: 12px; font-weight: 800; color: #1565C0; }
  .co-badge-best {
    position: absolute; top: -7px; right: 8px;
    background: #00C853; color: white;
    font-size: 8px; font-weight: 700;
    padding: 2px 6px; border-radius: 10px;
  }

  /* ── MOBILE PHONE MOCKUP ── */
  .fm-phone { width: 140px; }
  .fm-shell {
    background: #1a1a1a;
    border-radius: 24px;
    padding: 8px;
    position: relative;
    box-shadow: 0 20px 50px rgba(0,0,0,.3);
  }
  .fm-notch {
    position: absolute;
    top: 8px; left: 50%; transform: translateX(-50%);
    width: 40px; height: 5px;
    background: #333; border-radius: 3px;
    z-index: 10;
  }
  .fm-screen {
    background: white;
    border-radius: 17px;
    overflow: hidden;
    height: 280px;
    display: flex;
    flex-direction: column;
  }
  .fm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 10px 8px;
    font-size: 11px;
    font-weight: 700;
    color: white;
    flex-shrink: 0;
  }
  .fm-body { flex: 1; overflow: hidden; }

  /* Payment mobile */
  .fm-total-card {
    background: #EFF6FF;
    border-radius: 8px;
    padding: 10px;
    text-align: center;
    margin-bottom: 2px;
  }
  .fm-pay-list { display: flex; flex-direction: column; gap: 5px; }
  .fm-pay-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border: 1.5px solid #E5E7EB;
    border-radius: 6px;
    font-size: 9px;
    color: #374151;
  }
  .fm-pay-item.active-pay { border-color: #1565C0; background: #EFF6FF; }
  .fm-pay-logo {
    width: 26px; height: 16px;
    border-radius: 3px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .fm-radio-on {
    margin-left: auto;
    width: 12px; height: 12px;
    border-radius: 50%;
    border: 2px solid #1565C0;
    position: relative;
  }
  .fm-radio-on::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 5px; height: 5px;
    background: #1565C0;
    border-radius: 50%;
  }
  .fm-radio-off {
    margin-left: auto;
    width: 12px; height: 12px;
    border-radius: 50%;
    border: 2px solid #D1D5DB;
  }
  .fm-pay-btn {
    display: block;
    width: 100%;
    background: #1565C0;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 8px;
    font-family: inherit;
  }

  /* Ongkir mobile */
  .fm-ongkir-form {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #F8FAFC;
    border-radius: 8px;
    padding: 8px;
    border: 1px solid #E5E7EB;
  }
  .fm-ongkir-field {
    background: white;
    border-radius: 6px;
    padding: 5px 8px;
    border: 1.5px solid #E5E7EB;
  }
  .fm-ongkir-sep {
    text-align: center;
    font-size: 12px;
    color: #9CA3AF;
    padding: 1px 0;
  }
  .fm-kurir-list { display: flex; flex-direction: column; gap: 4px; }
  .fm-kurir-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border: 1.5px solid #E5E7EB;
    border-radius: 6px;
  }
  .fm-kurir-item.best-kurir { border-color: #00C853; background: #F0FDF4; }
  .fm-kurir-logo {
    width: 26px; height: 16px;
    border-radius: 3px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }

  /* ── RESPONSIVE FITUR ── */
  @media (max-width: 900px) {
    .fitur-inner { padding: 0 24px; }
    .fitur-card { padding: 24px 20px 0; }
    .fitur-card-top { flex-direction: column; gap: 12px; }
    .fitur-mockup-wrapper { flex-direction: column; align-items: stretch; }
    .fitur-mockup-mobile {
      width: 100%;
      justify-content: center;
      padding-bottom: 0;
    }
    .fm-phone { width: 160px; }
    .fm-screen { height: 300px; }
    .fmock-screen { flex-direction: column; min-height: auto; }
    .pg-screen, .co-screen { padding: 14px; gap: 14px; }
    .pg-left, .pg-right, .co-left, .co-right { flex: unset; width: 100%; }
    .co-weight-row { flex-direction: column; }
    .fitur-section { padding: 60px 0 40px; }
  }
  @media (max-width: 600px) {
    .fitur-title { font-size: 24px; }
    .fitur-header { margin-bottom: 40px; }
  }

  /* ── GOOGLE SECTION ── */
  .google-section {
    background: var(--light);
    padding: 80px 40px 60px;
  }
  .google-inner {
    max-width: 1100px; margin: 0 auto;
    display: flex; flex-direction: column;
    gap: 48px; align-items: center;
    text-align: center;
  }
  .google-text { max-width: 640px; }
  .google-text h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 800; line-height: 1.2;
    letter-spacing: -1px; margin-bottom: 16px;
  }
  .google-text p { font-size: 15px; color: var(--gray); line-height: 1.7; margin-bottom: 28px; }

  /* ── REALISTIC MACBOOK PRO CSS MOCKUP ── */
  .google-visual { width: 100%; }
  .laptop-wrap {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    margin-top: -50px !important;
     /* pull up to overlap with text section, creating a more integrated look */
  }

  .laptop-frame {
    position: relative;
    width: 100%;
    transform: perspective(1200px) rotateX(1.2deg);
    transform-origin: bottom center;
  }

  .laptop-frame::before {
    content: '';
    position: absolute;
    bottom: -12px; left: 5%; right: 5%;
    height: 40px;
    background: radial-gradient(ellipse at center, rgba(0,0,0,.18) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
  }



  .laptop-frame-img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
    filter: brightness(1.04) contrast(1.06);
    backface-visibility: hidden;
  }

  .google-screen {
    position: absolute;
    top: 4.5%;
    left: 11.5%;
    right: 11.5%;
    bottom: calc(42% + 60px);
    transform: translateY(90px);
    width: auto;
    height: auto;
    background: white;
    font-family: 'Inter', Arial, sans-serif;
    overflow: hidden;
    border-radius: 4px;
    z-index: 1;
  }

  /* ── LID (screen half) ── */
  .mbp-lid {
    position: relative;
    background: linear-gradient(160deg, #b0b4b8 0%, #9da1a6 30%, #8e9297 60%, #979b9f 100%);
    border-radius: 14px 14px 0 0;
    padding: 3px 3px 0;
    /* Slight perspective tilt like the reference photo */
    transform: perspective(1400px) rotateX(2deg);
    transform-origin: bottom center;
  }
  /* outer aluminum shine on lid */
  .mbp-lid::before {
    content: '';
    position: absolute; inset: 0;
    border-radius: 14px 14px 0 0;
    background: linear-gradient(120deg,
      rgba(255,255,255,.35) 0%,
      rgba(255,255,255,.08) 35%,
      transparent 60%,
      rgba(0,0,0,.06) 100%
    );
    pointer-events: none; z-index: 5;
  }
  /* Apple logo indent on back of lid */
  .mbp-lid-back-logo {
    display: none; /* front-facing only, not visible */
  }

  /* ── SCREEN BEZEL (black inner frame) ── */
  .mbp-bezel {
    background: #0d0d0d;
    border-radius: 10px 10px 0 0;
    padding: 10px 10px 0;
    position: relative;
    overflow: hidden;
  }
  /* subtle inner bezel highlight */
  .mbp-bezel::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
    z-index: 3;
  }

  /* ── CAMERA NOTCH ── */
  .mbp-notch {
    position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 88px; height: 22px;
    background: #0d0d0d;
    border-radius: 0 0 16px 16px;
    z-index: 10;
    display: flex; align-items: center; justify-content: center;
    gap: 5px;
  }
  .mbp-camera-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #3a3a3a, #111);
    border: 1px solid #222;
    position: relative;
  }
  .mbp-camera-dot::after {
    content: '';
    position: absolute; top: 1px; left: 1px;
    width: 2px; height: 2px;
    background: rgba(255,255,255,.25); border-radius: 50%;
  }
  .mbp-notch-indicator {
    width: 4px; height: 4px; border-radius: 50%;
    background: #1a1a1a;
  }

  /* ── SCREEN AREA ── */
  .mbp-screen {
    background: #000;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
    aspect-ratio: 16/10;
    position: relative;
  }
  /* screen glass glare */
  .mbp-screen::after {
    content: '';
    position: absolute; inset: 0;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,.07) 0%,
        rgba(255,255,255,.02) 30%,
        transparent 55%
      );
    pointer-events: none; z-index: 20;
  }

  /* .google-screen moved up — now defined inside .laptop-frame block */

  /* ── HINGE BAND ── */
  .mbp-hinge {
    height: 5px;
    background: linear-gradient(to bottom,
      #5a5d62 0%, #6b6e73 30%, #787b80 60%, #6b6e73 100%
    );
    position: relative;
    transform: perspective(1400px) rotateX(2deg);
    transform-origin: top center;
  }
  .mbp-hinge::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(90deg,
      transparent 0%, rgba(255,255,255,.18) 25%,
      rgba(255,255,255,.08) 50%, transparent 100%
    );
  }

  /* ── BASE (keyboard deck) ── */
  .mbp-base {
    background: linear-gradient(180deg,
      #9da1a6 0%, #a8acb1 15%, #b2b6bb 50%, #a5a9ae 85%, #989ca1 100%
    );
    border-radius: 0 0 10px 10px;
    padding: 10px 18px 0;
    position: relative;
    transform: perspective(1400px) rotateX(-1.5deg);
    transform-origin: top center;
  }
  .mbp-base::before {
    content: '';
    position: absolute; inset: 0;
    border-radius: 0 0 10px 10px;
    background: linear-gradient(160deg,
      rgba(255,255,255,.22) 0%,
      rgba(255,255,255,.06) 40%,
      transparent 70%,
      rgba(0,0,0,.05) 100%
    );
    pointer-events: none;
  }

  /* ── KEYBOARD ── */
  .mbp-keyboard {
    background: linear-gradient(180deg, #2a2b2d 0%, #1e1f21 100%);
    border-radius: 6px;
    padding: 6px 6px 5px;
    margin-bottom: 8px;
    position: relative;
  }
  .mbp-keyboard::before {
    content: '';
    position: absolute; inset: 0; border-radius: 6px;
    background: linear-gradient(160deg, rgba(255,255,255,.06) 0%, transparent 50%);
  }
  .mbp-key-row {
    display: flex; gap: 3px; margin-bottom: 3px; justify-content: center;
  }
  .mbp-key-row:last-child { margin-bottom: 0; }
  .mbp-key {
    flex: 1;
    height: 8px;
    background: linear-gradient(180deg, #3a3b3e 0%, #2e2f32 100%);
    border-radius: 2px;
    border-bottom: 1px solid #111;
    max-width: 18px;
    position: relative;
  }
  .mbp-key::after {
    content: '';
    position: absolute; top: 1px; left: 1px; right: 1px; height: 2px;
    background: rgba(255,255,255,.06); border-radius: 1px;
  }
  .mbp-key.wide { max-width: 28px; }
  .mbp-key.xwide { max-width: 40px; }
  .mbp-key.space { max-width: 160px; flex: 3; }
  .mbp-key.fn { max-width: 14px; height: 6px; }

  /* Touch bar row */
  .mbp-touchbar-row {
    display: flex; gap: 3px; margin-bottom: 3px; justify-content: center;
  }
  .mbp-touchbar {
    height: 7px;
    background: linear-gradient(180deg, #1c1d1f 0%, #141516 100%);
    border-radius: 3px;
    flex: 1; max-width: 380px;
    border: 1px solid #111;
  }

  /* ── BOTTOM STRIP (rubber feet area) ── */
  .mbp-base-bottom {
    height: 6px;
    background: linear-gradient(180deg, #888c91 0%, #797d82 100%);
    border-radius: 0 0 10px 10px;
    position: relative;
  }
  .mbp-base-bottom::before {
    content: '';
    position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    width: 100px; height: 2px;
    background: rgba(0,0,0,.2); border-radius: 0 0 3px 3px;
  }
  /* rubber feet */
  .mbp-feet {
    position: absolute; bottom: 1px;
    left: 0; right: 0;
    display: flex; justify-content: space-between;
    padding: 0 20px;
  }
  .mbp-foot {
    width: 14px; height: 3px;
    background: linear-gradient(90deg, #555, #444, #555);
    border-radius: 0 0 2px 2px;
  }

  /* ── TRACKPAD ── */
  .mbp-trackpad-row {
    display: flex; justify-content: center;
    padding: 0 0 8px;
  }
  .mbp-trackpad {
    width: 120px; height: 22px;
    background: linear-gradient(180deg, #8e9297 0%, #979b9f 100%);
    border-radius: 5px;
    border: 1px solid rgba(0,0,0,.15);
    position: relative;
  }
  .mbp-trackpad::before {
    content: '';
    position: absolute; inset: 1px;
    border-radius: 4px;
    background: linear-gradient(135deg, rgba(255,255,255,.2) 0%, transparent 60%);
  }

  /* Screen 1: Google homepage */
  .gscreen { position: absolute; inset: 0; transition: opacity .5s, transform .5s; overflow: hidden; }
  .gscreen.g-hidden { opacity: 0; pointer-events: none; transform: translateY(-6px); }

  .g-topbar {
    display: flex; align-items: center; justify-content: flex-end;
    padding: 8px 16px; gap: 12px;
    font-size: 11px; color: #444;
  }
  .g-topbar-link { color: #444; text-decoration: none; }
  .g-topbar-avatar {
    width: 26px; height: 26px; border-radius: 50%;
    background: linear-gradient(135deg, #4285F4, #34A853);
    display: flex; align-items: center; justify-content: center;
    color: white; font-size: 11px; font-weight: 700;
  }
  .g-center {
    display: flex; flex-direction: column; align-items: center;
    padding: 40px 20px 20px;
  }
  .g-doodle {
    display: flex; align-items: center; gap: 1px;
    margin-bottom: 20px;
  }
  .g-letter-block {
    width: 44px; height: 44px;
    border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px; font-weight: 900; color: white;
  }
  .g-logo-large {
    font-size: 52px; font-weight: 700; letter-spacing: -2px;
    margin-bottom: 24px; line-height: 1;
  }
  .g-blue { color: #4285F4; } .g-red { color: #EA4335; }
  .g-yellow { color: #FBBC04; } .g-green { color: #34A853; }

  .g-searchbox-wrap {
    width: 100%; max-width: 480px;
    border: 1.5px solid #dfe1e5; border-radius: 24px;
    padding: 10px 16px;
    display: flex; align-items: center; gap: 10px;
    font-size: 13px; color: #555;
    box-shadow: none;
    transition: box-shadow .2s, border-color .2s;
    background: white;
    position: relative;
    margin-bottom: 20px;
  }
  .g-searchbox-wrap:focus-within, .g-searchbox-wrap.active {
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    border-color: transparent;
  }
  .g-search-input-text {
    flex: 1;
    font-size: 13px; color: #333;
    overflow: hidden; white-space: nowrap;
    min-height: 18px;
  }
  .g-cursor-blink {
    display: inline-block;
    width: 1.5px; height: 14px;
    background: #333;
    vertical-align: middle;
    margin-left: 1px;
    animation: blink .8s step-end infinite;
    opacity: 0;
  }
  @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
  .g-search-icons { display: flex; align-items: center; gap: 10px; }
  .g-mic-icon, .g-img-icon {
    width: 18px; height: 18px;
    display: flex; align-items: center; justify-content: center;
  }
  .g-btns {
    display: flex; gap: 10px; justify-content: center;
    margin-top: 8px;
  }
  .g-btn {
    padding: 8px 18px; font-size: 12px;
    background: #f8f9fa; border: 1px solid #f8f9fa;
    border-radius: 4px; color: #3c4043;
    cursor: pointer;
  }

  /* Fake pointer for Google animation */
  .g-fake-pointer {
    position: absolute;
    width: 20px; height: 28px;
    pointer-events: none;
    z-index: 99;
    opacity: 0;
    transition: opacity .2s;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.15));
  }
  .g-click-ring {
    position: absolute; top: -2px; left: -2px;
    width: 32px; height: 32px;
    border: 2.5px solid rgba(66,133,244,.7);
    border-radius: 50%; opacity: 0;
    transform: scale(0.3);
    transition: all .35s cubic-bezier(.34,1.56,.64,1);
    background: radial-gradient(circle, rgba(66,133,244,.15) 0%, transparent 70%);
  }
  .g-click-ring.pop {
    opacity: 1;
    transform: scale(1.6);
    border-color: rgba(66,133,244,.2);
  }

  /* Screen 2: Google results */
  .gresult-topbar {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 16px; border-bottom: 1px solid #ebebeb;
  }
  .g-logo-small {
    font-size: 22px; font-weight: 700; letter-spacing: -0.5px; flex-shrink: 0;
  }
  .g-result-searchbox {
    flex: 1; border: 1px solid #dfe1e5; border-radius: 20px;
    padding: 6px 14px; font-size: 12px; color: #333;
    display: flex; align-items: center; gap: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
  }
  .g-result-tabs {
    display: flex; gap: 16px; padding: 6px 80px;
    font-size: 11px; color: #70757a; border-bottom: 1px solid #ebebeb;
    overflow-x: auto;
  }
  .g-tab { padding: 4px 0; cursor: pointer; white-space: nowrap; }
  .g-tab.active { color: #1a73e8; border-bottom: 2px solid #1a73e8; }

  .g-results-area { padding: 10px 80px; overflow-y: auto; height: calc(100% - 100px); }
  .g-location-chip {
    display: flex; align-items: center; gap: 6px;
    font-size: 11px; color: #444; margin-bottom: 10px;
  }
  .g-places-heading { font-size: 16px; font-weight: 700; color: #202124; margin-bottom: 12px; }
  .g-place-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
  .g-place-item {
    display: flex; gap: 10px; align-items: flex-start;
    padding: 8px; border-radius: 8px;
    transition: background .15s;
  }
  .g-place-item:hover { background: #f8f9fa; }
  .g-place-thumb {
    width: 50px; height: 50px; border-radius: 6px;
    object-fit: cover; flex-shrink: 0;
    background: #e5e7eb;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px;
  }
  .g-place-name { font-size: 13px; font-weight: 600; color: #1a0dab; margin-bottom: 2px; }
  .g-place-stars { color: #e77600; font-size: 11px; margin-bottom: 2px; }
  .g-place-detail { font-size: 10px; color: #555; }
  .g-place-detail span { margin-right: 6px; }

  /* Map side */
  .g-results-flex { display: flex; gap: 12px; }
  .g-results-left { flex: 1; }
  .g-map-thumb {
    width: 240px; flex-shrink: 0;
    background: #e8f4e8; border-radius: 8px;
    overflow: hidden; position: relative;
    height: 200px;
  }

  /* Mobile Google phone mockup — matches WhatsApp phone-shell style */
  .google-mobile-mock {
    display: none; /* shown only on mobile via media query */
    flex-direction: column;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
  .gmob-wrap {
    position: relative;
    width: 100%;
    filter: drop-shadow(0 32px 64px rgba(0,0,0,.3));
    animation: float 4s ease-in-out infinite;
  }
  .gmob-shell {
    background: #1a1a1a;
    border-radius: 44px;
    padding: 13px;
    position: relative;
  }
  /* pill notch — same as .phone-shell::before */
  .gmob-shell::before {
    content: '';
    position: absolute; top: 13px; left: 50%; transform: translateX(-50%);
    width: 70px; height: 7px;
    background: #333; border-radius: 4px; z-index: 10;
  }
  .gmob-screen {
    background: #fff;
    border-radius: 34px;
    overflow: hidden;
    position: relative;
    height: 560px;
  }
  /* status bar inside google phone — same style as .wa-statusbar */
  .gmob-statusbar {
    background: #fff;
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 18px 5px;
    font-size: 11px; font-weight: 700; color: #111;
    position: relative; z-index: 5;
  }
  .gmob-statusbar-icons { display: flex; align-items: center; gap: 4px; }
  .gmob-signal { display: flex; align-items: flex-end; gap: 1px; }
  .gmob-signal span { width: 3px; background: #111; border-radius: 1px; display: block; }
  .gmob-signal span:nth-child(1) { height: 4px; }
  .gmob-signal span:nth-child(2) { height: 7px; }
  .gmob-signal span:nth-child(3) { height: 10px; }
  .gmob-signal span:nth-child(4) { height: 13px; }
  .gmob-battery {
    width: 18px; height: 10px;
    border: 1.5px solid #111; border-radius: 2px;
    position: relative; margin-left: 2px;
  }
  .gmob-battery::after {
    content: ''; position: absolute;
    right: -4px; top: 50%; transform: translateY(-50%);
    width: 2px; height: 5px; background: #111; border-radius: 0 1px 1px 0;
  }
  .gmob-battery-fill {
    position: absolute; left: 1px; top: 1px; bottom: 1px;
    width: 60%; background: #111; border-radius: 1px;
  }

  /* screens inside google phone */
  .gmob-content { position: relative; }
  .gmob-s { transition: opacity .5s, transform .4s; }
  .gmob-s.gmob-hidden { opacity: 0; pointer-events: none; position: absolute; inset: 0; transform: translateY(-6px); }

  /* Screen 1 - homepage */
  .gmob-home {
    padding: 16px 14px;
    display: flex; flex-direction: column; align-items: center;
    background: white;
  }
  .gmob-logo {
    font-size: 32px; font-weight: 700; letter-spacing: -1px;
    margin-bottom: 14px; line-height: 1;
  }
  .gmob-searchbar {
    width: 100%;
    border: 1.5px solid #dfe1e5; border-radius: 20px;
    padding: 8px 12px;
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; color: #555;
    background: white;
    box-shadow: 0 1px 6px rgba(0,0,0,.1);
    margin-bottom: 14px;
  }
  .gmob-typed { flex: 1; font-size: 11px; color: #333; min-height: 14px; }
  .gmob-cursor {
    display: inline-block;
    width: 1px; height: 12px;
    background: #333; vertical-align: middle;
    animation: blink .8s step-end infinite;
    opacity: 0;
  }
  .gmob-btns {
    display: flex; gap: 8px; justify-content: center; margin-bottom: 6px;
  }
  .gmob-btn {
    padding: 6px 12px; font-size: 10px;
    background: #f8f9fa; border: 1px solid #ddd;
    border-radius: 4px; color: #3c4043; cursor: pointer;
  }
  .gmob-lang { font-size: 9px; color: #70757a; margin-top: 8px; }

  /* Screen 2 - results */
  .gmob-results {
    background: white;
    font-size: 10px;
  }
  .gmob-result-topbar {
    display: flex; align-items: center; gap: 6px;
    padding: 6px 10px; border-bottom: 1px solid #ebebeb;
  }
  .gmob-logo-sm { font-size: 16px; font-weight: 700; letter-spacing: -0.5px; }
  .gmob-result-searchbox {
    flex: 1; border: 1px solid #dfe1e5; border-radius: 14px;
    padding: 5px 10px; font-size: 10px; color: #333;
    display: flex; align-items: center; gap: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
  }
  .gmob-tabs {
    display: flex; gap: 12px; padding: 6px 10px;
    font-size: 9px; color: #70757a;
    border-bottom: 1px solid #ebebeb;
    overflow-x: auto;
  }
  .gmob-tab { white-space: nowrap; padding: 2px 0; }
  .gmob-tab.active { color: #1a73e8; border-bottom: 2px solid #1a73e8; font-weight: 600; }
  .gmob-results-body { padding: 8px 10px; }
  .gmob-loc {
    display: flex; align-items: center; gap: 4px;
    font-size: 9px; color: #1a73e8; margin-bottom: 8px;
  }
  .gmob-places-title { font-size: 11px; font-weight: 700; color: #202124; margin-bottom: 8px; }
  .gmob-place {
    display: flex; gap: 8px; align-items: flex-start;
    margin-bottom: 8px; padding-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
  }
  .gmob-place:last-child { border: none; }
  .gmob-thumb {
    width: 40px; height: 40px; border-radius: 6px;
    background: #f0f4f0; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
  }
  .gmob-place-name { font-size: 10px; font-weight: 600; color: #1a0dab; margin-bottom: 2px; }
  .gmob-stars { color: #e77600; font-size: 9px; margin-bottom: 1px; }
  .gmob-detail { font-size: 8px; color: #555; }
  .gmob-more { font-size: 9px; color: #1a73e8; padding: 4px 0; }

  /* Fake pointer mobile */
  .gmob-pointer {
    position: absolute;
    width: 14px; height: 14px;
    pointer-events: none;
    z-index: 99;
    opacity: 0;
    transition: opacity .2s;
  }
  .gmob-pointer svg { filter: drop-shadow(1px 1px 2px rgba(0,0,0,.4)); }
  .gmob-ring {
    position: absolute; top: -4px; left: -4px;
    width: 22px; height: 22px;
    border: 2px solid rgba(66,133,244,.85);
    border-radius: 50%; opacity: 0;
    transform: scale(0.5); transition: all .3s;
  }
  .gmob-ring.pop { opacity: 1; transform: scale(1.4); }

  /* search-bar old compat */
  .search-bar {
    display: flex; align-items: center; gap: 8px;
    border: 1.5px solid var(--border); border-radius: 24px;
    padding: 10px 16px; margin-bottom: 20px;
    font-size: 13px; color: var(--gray);
  }
  .search-result { padding: 8px 0; border-bottom: 1px solid var(--border); }
  .search-result:last-child { border: none; }
  .result-url { font-size: 11px; color: #4285F4; margin-bottom: 2px; }
  .result-title { font-size: 14px; color: #1a0dab; font-weight: 500; margin-bottom: 3px; }
  .result-desc { font-size: 12px; color: var(--gray); line-height: 1.4; }
  .result-highlight { background: #fff3cd; padding: 0 2px; border-radius: 2px; }

  /* ── FEATURES ── */
  .features-section {
    background: #1a1a2e;
    padding: 80px 40px;
  }
  .features-inner {
    max-width: 1100px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  }
  .feature-card {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px; padding: 36px;
    transition: all .3s;
  }
  .feature-card:hover {
    background: rgba(255,255,255,.08);
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0,0,0,.3);
  }
  .feature-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px; font-weight: 800;
    color: white; margin-bottom: 12px;
  }
  .feature-card p { font-size: 14px; color: rgba(255,255,255,.6); line-height: 1.7; }
  .chart-mock {
    margin-top: 20px; height: 80px;
    background: rgba(255,255,255,.05); border-radius: 8px;
    overflow: hidden; position: relative;
  }
  .chart-line {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 100%;
    background: linear-gradient(to top, rgba(0,200,83,.3), transparent);
  }
  .chart-line svg { width: 100%; height: 100%; }
  .features-cta {
    text-align: center; margin-top: 40px;
    grid-column: 1/-1;
  }
  .btn-green {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 32px;
    background: var(--green); color: white;
    border: none; border-radius: 8px;
    font-size: 15px; font-weight: 700;
    font-family: inherit; cursor: pointer;
    transition: all .25s;
  }
  .btn-green:hover { background: #00b34a; transform: translateY(-2px); }

  /* ── ABOUT ── */
  .about-section {
    padding: 80px 40px;
    max-width: 1100px; margin: 0 auto;
    display: flex; gap: 60px;
  }
  .about-left { flex: 1; }
  .about-left h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 28px; font-weight: 800; margin-bottom: 16px;
  }
  .about-left p { font-size: 14px; color: var(--gray); line-height: 1.8; margin-bottom: 20px; }
  .about-right { flex: 1; }
  .about-right h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px; font-weight: 800; margin-bottom: 20px;
    text-align: right;
  }
  .team-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  }
  .team-card {
    text-align: center;
    transition: transform .3s;
  }
  .team-card:hover { transform: translateY(-6px); }
  .team-avatar {
    width: 80px; height: 80px; border-radius: 50%;
    margin: 0 auto 10px;
    overflow: hidden; position: relative;
    border: 3px solid var(--border);
  }
  .team-avatar-img {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex; align-items: center; justify-content: center;
    font-size: 28px;
  }
  .team-avatar-img.designer { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); }
  .team-avatar-img.seo { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); }
  .team-avatar-img.digital { background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); }
  .team-role {
    font-size: 11px; font-weight: 600; color: var(--gray);
    background: var(--light); border-radius: 4px;
    padding: 2px 8px; display: inline-block;
    margin-bottom: 4px;
  }
  .team-name { font-size: 12px; font-weight: 700; }

  /* ── WHY US ── */
  .why-section {
    background: var(--light);
    padding: 80px 40px;
  }
  .why-inner {
    max-width: 1100px; margin: 0 auto;
    display: flex; gap: 60px;
  }
  .why-left { flex: 1; }
  .why-item {
    margin-bottom: 28px;
    opacity: 0; transform: translateX(-20px);
    transition: all .5s;
  }
  .why-item.visible { opacity: 1; transform: none; }
  .why-item h4 {
    font-weight: 700; font-size: 15px; margin-bottom: 6px;
    display: flex; align-items: center; gap: 8px;
  }
  .why-item h4::before {
    content: '✓'; width: 20px; height: 20px;
    background: var(--green); color: white;
    border-radius: 50%; font-size: 11px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .why-item p { font-size: 13px; color: var(--gray); line-height: 1.7; padding-left: 28px; }
  .why-right { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
  .stars { color: #FBBF24; font-size: 20px; margin-bottom: 8px; }
  .review-card {
    background: white; border-radius: 12px;
    padding: 20px; box-shadow: 0 4px 20px rgba(0,0,0,.06);
    transition: transform .3s;
  }
  .review-card:hover { transform: translateY(-3px); }
  .review-card p { font-size: 13px; color: var(--gray); font-style: italic; margin-bottom: 10px; }
  .reviewer { font-size: 12px; font-weight: 700; }

  /* ── SERVICES ── */
  .services-section { padding: 100px 40px; background: var(--light); }
  .services-inner { max-width: 1200px; margin: 0 auto; }
  .section-header { text-align: center; margin-bottom: 64px; }
  .section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 800; letter-spacing: -1.5px;
    margin-bottom: 12px;
  }
  .section-subtitle {
    font-size: 16px; color: var(--gray); line-height: 1.7;
  }

  /* ── SERVICE CARD — NEW LAYOUT ── */
  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .service-card-new {
    background: var(--white);
    border-radius: 24px;
    border: 1px solid var(--border);
    overflow: hidden;
    box-shadow: 0 4px 30px rgba(0,0,0,.06);
    transition: transform .35s ease, box-shadow .35s ease;
  }
  .service-card-new:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 60px rgba(0,0,0,.12);
  }

  .service-card-new.featured {
    border-color: var(--green);
    border-width: 2px;
    box-shadow: 0 4px 30px rgba(34,197,94,.1), 0 0 0 1px rgba(34,197,94,.08);
    position: relative;
  }
  .service-card-new.featured:hover {
    box-shadow: 0 20px 60px rgba(34,197,94,.18);
  }

  .svc-badge {
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--green);
    color: white;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 18px;
    border-radius: 0 0 10px 10px;
    letter-spacing: 0.3px;
    z-index: 2;
  }

  .svc-info {
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
  }
  .svc-tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 100px;
    font-size: 11px; font-weight: 700;
    margin-bottom: 14px;
  }
  .svc-info h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 800;
    letter-spacing: -0.8px;
    margin-bottom: 12px;
    line-height: 1.2;
  }
  .svc-info p {
    font-size: 13.5px;
    color: var(--gray);
    line-height: 1.75;
    margin-bottom: 20px;
  }
  .svc-features {
    list-style: none;
    margin-bottom: 28px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .svc-features li {
    font-size: 12.5px;
    color: #374151;
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .svc-features li::before {
    content: '✓';
    width: 17px; height: 17px;
    background: var(--green);
    color: white; border-radius: 50%;
    font-size: 9px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .btn-service {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 11px 22px;
    border: 2px solid var(--dark); border-radius: 8px;
    font-size: 13px; font-weight: 700; font-family: inherit;
    background: transparent; cursor: pointer;
    transition: all .2s; align-self: flex-start;
    text-decoration: none; color: var(--dark);
  }
  .btn-service:hover { background: var(--dark); color: white; }

  /* Right: mockup panel */
  .svc-mockup {
    flex: 1;
    min-height: 340px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 24px 0;
  }

  /* ── LANDING PAGE MOCKUP ── */
  .lp-bg {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%);
  }
  .lp-mockup {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 600px;
    display: flex;
    gap: 14px;
    align-items: flex-end;
  }
  /* Browser window */
  .lp-browser {
    flex: 1.6;
    background: white;
    border-radius: 10px 10px 0 0;
    border: 1px solid #D1D5DB;
    border-bottom: none;
    box-shadow: 0 12px 40px rgba(0,0,0,.12);
    overflow: hidden;
  }
  .lp-browser-bar {
    background: #F3F4F6;
    border-bottom: 1px solid #E5E7EB;
    padding: 7px 10px;
    display: flex; align-items: center; gap: 8px;
  }
  .lp-dots { display: flex; gap: 4px; }
  .lp-dots span { width: 8px; height: 8px; border-radius: 50%; }
  .lp-dots span:nth-child(1) { background: #FC5754; }
  .lp-dots span:nth-child(2) { background: #FEBC2E; }
  .lp-dots span:nth-child(3) { background: #28C840; }
  .lp-url {
    flex: 1; background: white; border-radius: 4px;
    padding: 3px 8px; font-size: 9px; color: #6B7280;
    border: 1px solid #E5E7EB; text-align: center;
  }
  .lp-browser-screen { overflow: hidden; }
  /* Hero band */
  .lp-hero-band {
    background: linear-gradient(135deg, #667eea, #764ba2);
    padding: 18px 14px 14px;
    display: flex; flex-direction: column; align-items: flex-start;
  }
  .lp-nav-bar {
    display: flex; justify-content: space-between; align-items: center;
    width: 100%; margin-bottom: 16px;
  }
  .lp-logo-chip {
    background: rgba(255,255,255,.25); border-radius: 4px;
    padding: 2px 7px; font-size: 8px; font-weight: 800; color: white;
  }
  .lp-nav-links { display: flex; gap: 8px; }
  .lp-nav-link { width: 18px; height: 4px; background: rgba(255,255,255,.4); border-radius: 2px; }
  .lp-hero-title { font-size: 11px; font-weight: 800; color: white; margin-bottom: 5px; line-height: 1.3; }
  .lp-hero-sub { font-size: 8px; color: rgba(255,255,255,.75); margin-bottom: 10px; }
  .lp-cta-chip {
    background: #00C853; border-radius: 4px;
    padding: 4px 10px; font-size: 8px; font-weight: 800; color: white;
  }
  /* Content strips */
  .lp-content { padding: 10px 12px; }
  .lp-strip { height: 5px; background: #F3F4F6; border-radius: 3px; margin-bottom: 5px; }
  .lp-strip.w80 { width: 80%; }
  .lp-strip.w60 { width: 60%; }
  .lp-strip.accent { background: #667eea; width: 40%; }
  .lp-cards-row { display: flex; gap: 6px; margin: 8px 0; }
  .lp-card-chip {
    flex: 1; height: 40px; border-radius: 6px;
    background: #F8FAFC; border: 1px solid #E5E7EB;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 2px;
  }
  .lp-card-chip .ic { font-size: 12px; }
  .lp-card-chip .lb { font-size: 7px; color: #9CA3AF; }
  /* Phone beside browser */
  .lp-phone {
    flex: 0 0 90px;
    background: #1a1a1a;
    border-radius: 18px;
    padding: 6px;
    box-shadow: 0 16px 40px rgba(0,0,0,.28);
    align-self: flex-end;
    transform: translateY(-10px);
  }
  .lp-phone-screen {
    background: white;
    border-radius: 13px;
    overflow: hidden;
    height: 160px;
  }
  .lp-phone-notch {
    background: #1a1a1a;
    height: 10px;
    display: flex; align-items: center; justify-content: center;
  }
  .lp-phone-notch-pill { width: 24px; height: 4px; background: #333; border-radius: 2px; }
  .lp-phone-hero {
    background: linear-gradient(135deg, #667eea, #764ba2);
    padding: 8px 7px 6px;
  }
  .lp-ph-title { font-size: 7px; font-weight: 800; color: white; margin-bottom: 3px; }
  .lp-ph-btn {
    background: #00C853; border-radius: 3px;
    padding: 3px 7px; font-size: 6px; font-weight: 700; color: white;
    display: inline-block;
  }
  .lp-phone-body { padding: 6px; }
  .lp-ph-strip { height: 4px; background: #F3F4F6; border-radius: 2px; margin-bottom: 4px; }
  .lp-ph-strip.w70 { width: 70%; }
  .lp-ph-strip.ac { background: #667eea; width: 50%; }

  /* ── TOKO ONLINE MOCKUP ── */
  .to-bg {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #fff0fa 0%, #ffe4f0 100%);
  }
  .to-mockup {
    position: relative; z-index: 2;
    width: 100%; max-width: 580px;
    display: flex; gap: 12px; align-items: flex-end;
  }
  .to-browser {
    flex: 1.7;
    background: white; border-radius: 10px 10px 0 0;
    border: 1px solid #D1D5DB; border-bottom: none;
    box-shadow: 0 12px 40px rgba(0,0,0,.12);
    overflow: hidden;
  }
  .to-bar {
    background: #F3F4F6; border-bottom: 1px solid #E5E7EB;
    padding: 7px 10px;
    display: flex; align-items: center; gap: 8px;
  }
  .to-screen { overflow: hidden; }
  .to-shopbar {
    background: linear-gradient(90deg,#f093fb,#f5576c);
    padding: 8px 10px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .to-shop-logo { font-size: 9px; font-weight: 900; color: white; }
  .to-shop-icons { display: flex; gap: 6px; }
  .to-shop-icon { width: 14px; height: 14px; background: rgba(255,255,255,.3); border-radius: 50%; }
  .to-search {
    margin: 6px 8px;
    background: #f9f9f9; border: 1px solid #E5E7EB;
    border-radius: 20px; padding: 4px 10px;
    font-size: 8px; color: #9CA3AF;
    display: flex; align-items: center; gap: 4px;
  }
  .to-cats {
    display: flex; gap: 6px; padding: 0 8px 6px; overflow: hidden;
  }
  .to-cat {
    background: #fce7f3; border-radius: 100px;
    padding: 2px 8px; font-size: 7.5px; font-weight: 700; color: #db2777;
    white-space: nowrap; flex-shrink: 0;
  }
  .to-cat.active { background: #f5576c; color: white; }
  .to-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 6px; padding: 0 8px 8px;
  }
  .to-product {
    background: #fafafa; border: 1px solid #F3F4F6;
    border-radius: 8px; overflow: hidden;
  }
  .to-product-img {
    height: 38px;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
  }
  .to-product-info { padding: 4px 5px; }
  .to-product-name { font-size: 7px; font-weight: 700; color: #111; margin-bottom: 2px; }
  .to-product-price { font-size: 7.5px; font-weight: 800; color: #f5576c; }
  .to-product-stars { font-size: 6px; color: #FBBF24; }
  .to-phone {
    flex: 0 0 85px;
    background: #1a1a1a; border-radius: 18px;
    padding: 5px; box-shadow: 0 16px 40px rgba(0,0,0,.28);
    transform: translateY(-8px);
  }
  .to-phone-screen {
    background: white; border-radius: 14px;
    overflow: hidden; height: 170px;
  }
  .to-ph-header {
    background: linear-gradient(90deg,#f093fb,#f5576c);
    padding: 10px 6px 5px;
    font-size: 8px; font-weight: 900; color: white;
  }
  .to-ph-notch { width: 22px; height: 4px; background: #1a1a1a; border-radius: 2px; margin: 0 auto 6px; }
  .to-ph-body { padding: 5px; }
  .to-ph-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
  .to-ph-item {
    background: #fafafa; border-radius: 5px;
    padding: 3px; text-align: center;
  }
  .to-ph-item .ico { font-size: 12px; display: block; margin-bottom: 1px; }
  .to-ph-item .prc { font-size: 6.5px; font-weight: 800; color: #f5576c; }
  .to-ph-cart {
    margin-top: 5px; background: #f5576c;
    border-radius: 4px; padding: 3px 0;
    font-size: 7px; font-weight: 700; color: white;
    text-align: center;
  }

  /* ── WEB CUSTOM MOCKUP ── */
  .wc-bg {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #f0fbff 0%, #e0f2fe 100%);
  }
  .wc-mockup {
    position: relative; z-index: 2;
    width: 100%; max-width: 600px;
    display: flex; gap: 12px; align-items: flex-end;
  }
  .wc-browser {
    flex: 1.6;
    background: white; border-radius: 10px 10px 0 0;
    border: 1px solid #D1D5DB; border-bottom: none;
    box-shadow: 0 12px 40px rgba(0,0,0,.12);
    overflow: hidden;
  }
  .wc-bar {
    background: #1a1a2e; border-bottom: 1px solid #2d2d5e;
    padding: 6px 10px;
    display: flex; align-items: center; gap: 8px;
  }
  .wc-bar-title { font-size: 8px; font-weight: 700; color: #8b9cf4; margin-left: auto; }
  .wc-screen { display: flex; height: 200px; }
  /* Sidebar */
  .wc-sidebar {
    width: 54px; background: #1a1a2e;
    display: flex; flex-direction: column;
    align-items: center; padding: 10px 0; gap: 8px;
    flex-shrink: 0;
  }
  .wc-sb-logo { font-size: 10px; font-weight: 900; color: #4facfe; margin-bottom: 4px; }
  .wc-sb-icon {
    width: 28px; height: 28px; border-radius: 7px;
    background: rgba(255,255,255,.07);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; cursor: pointer;
    transition: background .2s;
  }
  .wc-sb-icon.active { background: rgba(79,172,254,.2); }
  /* Main content */
  .wc-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
  .wc-topbar2 {
    background: #f8fafc; border-bottom: 1px solid #E5E7EB;
    padding: 5px 10px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .wc-topbar2-title { font-size: 9px; font-weight: 700; color: #374151; }
  .wc-topbar2-badge {
    background: #EEF2FF; border-radius: 100px;
    padding: 2px 6px; font-size: 7.5px; font-weight: 700; color: #4338ca;
  }
  .wc-content-area { flex: 1; padding: 8px 10px; overflow: hidden; }
  .wc-stat-row { display: flex; gap: 5px; margin-bottom: 8px; }
  .wc-stat-chip {
    flex: 1; border-radius: 7px; padding: 6px;
    border: 1px solid #E5E7EB;
  }
  .wc-stat-chip .val { font-size: 11px; font-weight: 800; color: #111; }
  .wc-stat-chip .lbl { font-size: 7px; color: #9CA3AF; }
  .wc-chart-area {
    background: #f8fafc; border-radius: 6px;
    border: 1px solid #E5E7EB; padding: 6px;
    display: flex; flex-direction: column; gap: 3px;
  }
  .wc-chart-label { font-size: 7.5px; font-weight: 700; color: #374151; margin-bottom: 2px; }
  .wc-chart-bars { display: flex; align-items: flex-end; gap: 3px; height: 32px; }
  .wc-bar-item {
    flex: 1; border-radius: 3px 3px 0 0;
    background: #E5E7EB;
  }
  .wc-bar-item.hi { background: #4facfe; }
  .wc-bar-item.mid { background: #93c5fd; }
  .wc-phone {
    flex: 0 0 80px;
    background: #1a1a1a; border-radius: 17px;
    padding: 5px; box-shadow: 0 16px 40px rgba(0,0,0,.28);
    transform: translateY(-12px);
  }
  .wc-phone-screen {
    background: white; border-radius: 13px;
    overflow: hidden; height: 162px;
  }
  .wc-ph-statusbar {
    background: #1a1a2e;
    height: 10px; position: relative;
    display: flex; align-items: center; justify-content: center;
  }
  .wc-ph-pill { width: 22px; height: 3px; background: #333; border-radius: 2px; }
  .wc-ph-topbar {
    background: #1a1a2e;
    padding: 5px 6px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .wc-ph-title { font-size: 7.5px; font-weight: 700; color: #4facfe; }
  .wc-ph-body { padding: 5px; }
  .wc-ph-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-bottom: 5px; }
  .wc-ph-stat {
    background: #f8fafc; border-radius: 5px;
    border: 1px solid #E5E7EB;
    padding: 4px; text-align: center;
  }
  .wc-ph-stat .v { font-size: 9px; font-weight: 800; color: #4facfe; }
  .wc-ph-stat .l { font-size: 6px; color: #9CA3AF; }
  .wc-ph-chart { background: #f8fafc; border-radius: 5px; border: 1px solid #E5E7EB; padding: 4px; }
  .wc-ph-bars { display: flex; gap: 2px; height: 24px; align-items: flex-end; }
  .wc-ph-bar { flex: 1; border-radius: 2px 2px 0 0; background: #E5E7EB; }
  .wc-ph-bar.h { background: #4facfe; }

  @media (max-width: 900px) {
    .service-card-new { flex-direction: column; }
    .service-card-new.reverse { flex-direction: column; }
    .svc-info {
      flex: none; border-right: none; border-bottom: 1px solid var(--border);
      border-left: none !important; padding: 30px 24px;
    }
    .svc-mockup { min-height: 260px; padding: 24px 16px 0; }
    .services-section { padding: 60px 20px; }
    .lp-mockup, .to-mockup, .wc-mockup { max-width: 100%; }
    .lp-phone, .to-phone, .wc-phone { display: none; }
  }

  /* ── FOOTER ── */
  footer {
    background: var(--dark); color: white;
    padding: 60px 40px 30px;
  }
  .footer-inner {
    max-width: 1100px; margin: 0 auto;
  }
  .footer-grid {
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px; margin-bottom: 48px;
  }
  .footer-brand .nav-logo { font-size: 20px; margin-bottom: 16px; display: block; }
  .footer-brand p { font-size: 13px; color: rgba(255,255,255,.5); line-height: 1.7; }
  .footer-col h4 {
    font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1px; color: rgba(255,255,255,.4);
    margin-bottom: 16px;
  }
  .footer-col ul { list-style: none; }
  .footer-col li { margin-bottom: 10px; }
  .footer-col a {
    font-size: 13px; color: rgba(255,255,255,.65);
    text-decoration: none; transition: color .2s;
  }
  .footer-col a:hover { color: var(--green); }
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 24px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .footer-bottom p { font-size: 12px; color: rgba(255,255,255,.3); }
  .social-links { display: flex; gap: 12px; }
  .social-links a {
    width: 32px; height: 32px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.5); text-decoration: none; font-size: 14px;
    transition: all .2s;
  }
  .social-links a:hover { border-color: var(--green); color: var(--green); }
  .email-contact { font-size: 12px; color: rgba(255,255,255,.4); margin-top: 8px; }

  /* ── SCROLL REVEAL ── */
  .reveal {
    opacity: 0; transform: translateY(40px);
    transition: opacity .7s ease, transform .7s ease;
  }
  .reveal.visible { opacity: 1; transform: none; }
  .reveal-left {
    opacity: 0; transform: translateX(-40px);
    transition: opacity .7s ease, transform .7s ease;
  }
  .reveal-left.visible { opacity: 1; transform: none; }
  .reveal-right {
    opacity: 0; transform: translateX(40px);
    transition: opacity .7s ease, transform .7s ease;
  }
  .reveal-right.visible { opacity: 1; transform: none; }

  /* ── PARALLAX ── */
  .parallax-bg { will-change: transform; }

  /* ── SLIDER ── */
  .slider-section {
    background: var(--dark); padding: 60px 0; overflow: hidden;
  }
  .slider-label {
    text-align: center; margin-bottom: 20px;
    font-size: 12px; font-weight: 700; letter-spacing: 2px;
    color: var(--gray); text-transform: uppercase;
  }
  .slider-track-wrap { overflow: hidden; }
  .slider-track {
    display: flex; gap: 40px;
    animation: slide 20s linear infinite;
    width: max-content;
  }
  .slider-track:hover { animation-play-state: paused; }
  .slider-item {
    padding: 14px 32px; 
    background: var(--dark); color: var(--white);
    border-radius: 100px; border: 1.5px solid var(--border);
    font-size: 14px; font-weight: 600; white-space: nowrap;
    flex-shrink: 0;
    transition: all .2s;
  }
  .slider-item:hover {
    border-color: var(--green);
    background: #f0fdf4;
    transform: scale(1.05);
  }

  /* ── COUNTER ── */
  .stats-section {
    background: var(--white); padding: 60px 40px; text-align: center;

  }
  .stats-inner {
    max-width: 900px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(4,1fr); gap: 24px;
  }
  .stat-item .stat-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 40px; font-weight: 800; color: white;
    margin-bottom: 6px;
    color: var(--dark);
  }
  .stat-item p { font-size: 13px; color: var(--dark); font-weight: 500; }

  /* ── KEYFRAMES ── */
  @keyframes fadeUp {
    to { opacity: 1; transform: none; }
  }
  @keyframes slide {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  @keyframes float {
    0%, 100% { transform: translateY(0px) perspective(800px) rotateY(-5deg) rotateX(2deg); }
    50% { transform: translateY(-10px) perspective(800px) rotateY(-5deg) rotateX(2deg); }
  }
  .floating { animation: float 4s ease-in-out infinite; }

  /* ── CTA BANNER ── */
  .cta-banner {
    background: var(--dark); padding: 60px 40px; text-align: center;
  }
  .cta-banner h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 4vw, 48px);
    font-weight: 800; color: white;
    letter-spacing: -1px; margin-bottom: 8px;
  }
  .cta-banner h2 span { color: var(--green); }
  .cta-banner p { color: rgba(255,255,255,.6); font-size: 15px; margin-bottom: 28px; }

  /* Scroll indicator */
  .scroll-indicator {
    position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    opacity: 100; animation: fadeUp .6s 1.2s forwards;
    color: var(--white) !important;
  }
  .scroll-dot {
    width: 24px; height: 40px; border: 2px solid var(--light);
    border-radius: 12px; position: relative;
  }
  .scroll-dot::after {
    content: ''; position: absolute;
    top: 5px; left: 50%; transform: translateX(-50%);
    width: 4px; height: 8px; background: var(--light); border-radius: 2px;
    animation: scrollBounce 1.5s ease-in-out infinite;
  }
  @keyframes scrollBounce {
    0%, 100% { top: 5px; opacity: 1; }
    100% { top: 22px; opacity: 0; }
  }
  .scroll-label { font-size: 11px; color: var(--light); font-weight: 500; letter-spacing: 1px; }

  /* ═══════════════════════════════════════
     HAMBURGER MENU
  ═══════════════════════════════════════ */
  .hamburger {
    display: none;
    flex-direction: column; gap: 5px;
    background: none; border: none; cursor: pointer; padding: 4px;
  }
  .hamburger span {
    display: block; width: 22px; height: 2px;
    background: var(--dark); border-radius: 2px;
    transition: all .3s;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .mobile-drawer {
    position: fixed; top: 56px; left: 0; right: 0;
    background: white; z-index: 999;
    border-bottom: 1px solid var(--border);
    padding: 16px 24px 24px;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    transition: transform .25s ease, opacity .25s ease, visibility .25s;
    pointer-events: none;
  }
  .mobile-drawer.open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  .mobile-drawer a {
    display: block; padding: 13px 0;
    font-size: 16px; font-weight: 600; color: var(--dark);
    text-decoration: none; border-bottom: 1px solid var(--border);
    transition: color .2s;
  }
  .mobile-drawer a:last-child { border: none; }
  .mobile-drawer a:hover { color: var(--green); }
  .mobile-drawer .btn-primary { color: var(--white); }
  .drawer-overlay {
    position: fixed; inset: 0; z-index: 998;
    background: rgba(0,0,0,.3);
    backdrop-filter: blur(2px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s;
  }
  .drawer-overlay.open {
    opacity: 1;
    visibility: visible;
  }

  /* ═══════════════════════════════════════
     RESPONSIVE — TABLET (max 1024px)
  ═══════════════════════════════════════ */
  @media (max-width: 1024px) {
    nav { padding: 0; }
    .nav-inner { padding: 0 32px; }

    /* HERO */
    .hero h1 { font-size: clamp(32px, 5vw, 56px); }

    /* MOCKUP */
    .mockup-section {
      flex-direction: column; gap: 48px;
      padding: 72px 40px; min-height: auto; text-align: center;
    }
    .mockup-text { max-width: 560px; margin: 0 auto; }
    .mockup-text p { max-width: 100%; }
    .mockup-visual { min-height: auto; width: 100%; }
    .phone-wrap {
      width: 310px;
      transform: perspective(1000px) rotateY(-4deg) rotateX(2deg);
    }
    .phone-shell { border-radius: 40px; padding: 11px; }
    .phone-shell::before { width: 65px; height: 7px; top: 11px; }
    .phone-screen { height: 590px; border-radius: 31px; }

    /* SECTION DIVIDER */
    .section-divider { margin: 0 40px; }

    /* GOOGLE */
    .google-section { padding: 72px 40px; }
    .google-inner { gap: 36px; }
    .google-text { max-width: 560px; }
    .laptop-wrap { max-width: 720px; }
    .g-results-area { padding: 10px 40px; }
    .g-map-thumb { width: 180px; }
    .g-logo-large { font-size: 40px; }

    /* STATS */
    .stats-inner { gap: 16px; }
    .stat-item .stat-title { font-size: 32px; }
    .stat-description { color: var(--dark) !important; }

    /* FEATURES */
    .features-section { padding: 72px 40px; }
    .features-inner { grid-template-columns: 1fr 1fr; }

    /* ABOUT */
    .about-wrap { flex-direction: column !important; gap: 40px; padding: 72px 40px !important; }
    .about-wrap > div:first-child { text-align: center; }
    .about-wrap > div:last-child h3 { text-align: center; }

    /* WHY US */
    .why-section { padding: 72px 40px; }
    .why-inner { flex-direction: column; gap: 40px; }

    /* SERVICES */
    .services-section { padding: 72px 40px; }
    .services-grid { grid-template-columns: 1fr 1fr; gap: 20px; }

    /* FOOTER */
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .footer-brand { grid-column: 1 / -1; }
  }

  /* ═══════════════════════════════════════
     RESPONSIVE — MOBILE (max 768px)
  ═══════════════════════════════════════ */
  @media (max-width: 768px) {

    html { overflow-x: hidden; }

    /* ── NAVBAR ── */
    nav { padding: 0; height: 56px; overflow: hidden; }
    .nav-inner { padding: 0 16px; }
    .nav-links { display: none; }
    .nav-actions { margin-left: auto; gap: 6px; flex-shrink: 0; }
    .nav-logo { overflow: hidden; text-overflow: ellipsis; }
    .nav-actions .btn-outline { display: none; }
    .nav-actions .btn-primary { display: none; }
    .hamburger { display: flex; padding: 2px; }

    /* ── HERO ── */
    .hero { padding: 100px 24px 60px; min-height: 100svh; }
    .hero h1 { font-size: clamp(28px, 8vw, 40px); letter-spacing: -1px; }
    .hero p { font-size: 14px; }
    .btn-cta { font-size: 14px; padding: 12px 24px; }
    .scroll-indicator { display: none; }

    /* ── SLIDER ── */
    .slider-section { padding: 40px 0; }
    .slider-label { font-size: 11px; }

    /* ── MOCKUP SECTION ── */
    .mockup-section {
      flex-direction: column; gap: 36px;
      padding: 60px 24px; min-height: auto; text-align: center;
    }
    .mockup-text h2 { font-size: clamp(22px, 6vw, 30px); letter-spacing: -0.5px; }
    .mockup-text p { font-size: 14px; max-width: 100%; }
    .mockup-visual { min-height: auto; width: 100%; }
    .phone-wrap {
      width: 255px;
      transform: none !important;
      animation: float 4s ease-in-out infinite !important;
      filter: drop-shadow(0 20px 40px rgba(0,0,0,.2));
    }
    .phone-shell { border-radius: 34px; padding: 9px; }
    .phone-shell::before { width: 54px; height: 6px; top: 9px; }
    .phone-screen { height: 490px; border-radius: 27px; }

    /* WA elements scaled for small phone */
    .wa-statusbar { padding: 8px 14px 4px; font-size: 10px; }
    .wa-topbar { padding: 8px 12px 10px; }
    .wa-topbar-title { font-size: 17px; }
    .wa-topbar-icons svg { width: 18px; height: 18px; }
    .wa-search { margin: 0 10px 6px; padding: 6px 12px; font-size: 12px; }
    .wa-chat-list { height: calc(100% - 120px); }
    .wa-chat-item { padding: 9px 12px; gap: 9px; }
    .wa-chat-avatar { width: 42px; height: 42px; font-size: 15px; }
    .wa-chat-name { font-size: 13px; }
    .wa-chat-time { font-size: 10px; }
    .wa-chat-preview { font-size: 11px; }
    .wa-tabs { height: 48px; }
    .wa-tab { font-size: 9px; }
    .wa-tab svg { width: 18px; height: 18px; }
    .wa-fab { width: 36px; height: 36px; bottom: 56px; right: 8px; }
    .wa-chat-topbar { padding: 8px 10px; }
    .wa-chat-contact-name { font-size: 13px; }
    .wa-chat-contact-status { font-size: 10px; }
    .wa-chat-topbar-actions svg { width: 17px; height: 17px; }
    .wa-msg-bubble { font-size: 11px; padding: 7px 10px 18px; }
    .wa-msg-time { font-size: 8px; }
    .wa-link-preview-title { font-size: 10px; }
    .wa-link-preview-desc { font-size: 9px; }
    .wa-link-preview-url { font-size: 9px; }
    .wa-input-bar { padding: 6px 8px; gap: 6px; }
    .wa-input-field { font-size: 11px; padding: 6px 10px; }
    .wa-mic-btn { width: 30px; height: 30px; }
    .wa-encrypt-notice { font-size: 9px; }
    .wa-date-chip span { font-size: 9px; }
    .wa-contact-chip span { font-size: 9px; }

    /* ── SECTION DIVIDER ── */
    .section-divider { margin: 0 24px; }

    /* ── GOOGLE SECTION ── */
    .google-section { padding: 56px 20px; }
    .google-inner { gap: 28px; }
    .google-text h2 { font-size: clamp(22px, 6vw, 30px); }
    .google-text p { font-size: 14px; }

    /* Switch to phone mockup on mobile */
    .laptop-wrap { display: none; }
    .google-mobile-mock { display: flex; }
    .gmob-wrap { max-width: 280px; margin: 0 auto; }
    .gmob-screen { height: 520px; }

    /* ── STATS ── */
    .stats-section { padding: 48px 24px; }
    .stats-inner { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .stat-item .stat-title { font-size: 28px; }
    .stat-item p { font-size: 12px; }

    /* ── FEATURES ── */
    .features-section { padding: 60px 24px; }
    .features-inner { grid-template-columns: 1fr; gap: 16px; }
    .feature-card { padding: 28px; }
    .feature-card h3 { font-size: 20px; }

    /* ── ABOUT ── */
    .about-wrap {
      flex-direction: column !important;
      gap: 36px; padding: 60px 24px !important;
    }
    .about-wrap > div:first-child { text-align: center; }
    .about-wrap > div:first-child h2 { font-size: 24px; }
    .about-wrap > div:last-child h3 { text-align: center; font-size: 18px; }
    .team-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
    .team-avatar { width: 60px; height: 60px; }
    .team-role { font-size: 9px; padding: 2px 6px; }
    .team-name { font-size: 10px; }

    /* ── WHY US ── */
    .why-section { padding: 60px 24px; }
    .why-inner { flex-direction: column; gap: 36px; }
    .why-item h4 { font-size: 14px; }
    .why-item p { font-size: 12px; }
    .review-card { padding: 16px; }
    .review-card p { font-size: 12px; }
    .stars { font-size: 16px; }

    /* ── SERVICES ── */
    .services-section { padding: 60px 24px; }
    .services-grid { grid-template-columns: 1fr; gap: 20px; }
    .section-title { font-size: clamp(24px, 7vw, 36px); margin-bottom: 32px; }
    .service-preview { height: 160px; }
    .service-info { padding: 20px; }
    .service-info h3 { font-size: 18px; }
    .service-info p { font-size: 13px; }

    /* ── CTA BANNER ── */
    .cta-banner { padding: 48px 24px; }
    .cta-banner h2 { font-size: clamp(22px, 6vw, 32px); }
    .cta-banner p { font-size: 14px; }

    /* ── FOOTER ── */
    footer { padding: 48px 24px 24px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
  }

  /* ═══════════════════════════════════════
     RESPONSIVE — SMALL MOBILE (max 480px)
  ═══════════════════════════════════════ */
  @media (max-width: 480px) {
    /* NAVBAR */
    nav { height: 52px; padding: 0; }
    .nav-inner { padding: 0 8px; }
    .mobile-drawer { top: 52px; }
    .nav-logo { font-size: 12px; }
    .nav-actions { gap: 4px; }
    .btn-primary { padding: 7px 14px; font-size: 12px; }

    /* HERO */
    .hero { padding: 88px 20px 56px; }
    .hero h1 { font-size: clamp(24px, 7.5vw, 34px); }
    .hero p { font-size: 13px; }
    .hero-badge { font-size: 11px; padding: 5px 14px; }
    .btn-cta { font-size: 13px; padding: 11px 22px; }

    /* PHONE — smaller */
    .phone-wrap { width: 220px; }
    .phone-shell { border-radius: 30px; padding: 8px; }
    .phone-shell::before { width: 46px; height: 5px; top: 8px; }
    .phone-screen { height: 430px; border-radius: 24px; }
    .wa-statusbar { padding: 7px 12px 4px; font-size: 9px; }
    .wa-topbar-title { font-size: 15px; }
    .wa-chat-list { height: calc(100% - 112px); }
    .wa-chat-avatar { width: 36px; height: 36px; font-size: 13px; }
    .wa-chat-name { font-size: 12px; }
    .wa-chat-preview { font-size: 10px; }
    .wa-chat-item { padding: 8px 10px; gap: 8px; }
    .wa-tabs { height: 44px; }
    .wa-tab { font-size: 8px; }
    .wa-tab svg { width: 15px; height: 15px; }
    .wa-fab { width: 32px; height: 32px; }
    .wa-fab svg { width: 16px; height: 16px; }
    .wa-chat-topbar { padding: 7px 8px; gap: 6px; }
    .wa-chat-contact-name { font-size: 12px; }
    .wa-msg-bubble { font-size: 10px; }
    .wa-link-preview { font-size: 10px; }
    .wa-input-bar { padding: 5px 6px; gap: 5px; }
    .wa-mic-btn { width: 28px; height: 28px; }

    /* MOCKUP TEXT */
    .mockup-section { padding: 56px 20px; gap: 32px; }
    .mockup-text h2 { font-size: clamp(20px, 6vw, 26px); }
    .mockup-text p { font-size: 13px; }

    /* SLIDER */
    .slider-item { padding: 10px 20px; font-size: 12px; }

    /* STATS */
    .stats-inner { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .stat-item .stat-title { font-size: 24px; }
    .stat-item p { font-size: 11px; }

    /* FEATURES */
    .features-section { padding: 56px 20px; }
    .feature-card { padding: 24px; }
    .feature-card h3 { font-size: 18px; }
    .feature-card p { font-size: 13px; }

    /* ABOUT */
    .about-wrap { padding: 56px 20px !important; }
    .team-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .team-avatar { width: 52px; height: 52px; }

    /* WHY US */
    .why-section { padding: 56px 20px; }
    .why-item h4 { font-size: 13px; }

    /* SERVICES */
    .services-section { padding: 56px 20px; }
    .section-title { font-size: clamp(22px, 7vw, 28px); }
    .service-info h3 { font-size: 17px; }

    /* CTA */
    .cta-banner { padding: 40px 20px; }
    .cta-banner h2 { font-size: clamp(20px, 6vw, 28px); }
    .btn-green { font-size: 13px; padding: 12px 24px; }

    /* GOOGLE */
    .google-section { padding: 48px 16px; }
    .google-mobile-mock { max-width: 260px; }
    .gmob-screen { height: 480px; }
    .gmob-logo { font-size: 26px; }
    .gmob-home { padding: 12px 10px; }

    /* FOOTER */
    footer { padding: 40px 20px 20px; }
    .footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .footer-brand { grid-column: auto; }
    .footer-col h4 { font-size: 11px; }
    .footer-col a { font-size: 12px; }
    .footer-bottom p { font-size: 11px; }
  }

  /* ═══════════════════════════════════════
     RESPONSIVE — EXTRA SMALL (max 360px)
  ═══════════════════════════════════════ */
  @media (max-width: 360px) {
    .hero h1 { font-size: 22px; }
    .phone-wrap { width: 195px; }
    .phone-screen { height: 385px; }
    .nav-logo { font-size: 14px; }
    .stat-item .stat-title { font-size: 20px; }
    .feature-card h3 { font-size: 16px; }
    .google-mobile-mock { max-width: 240px; }
    .gmob-screen { height: 440px; }
    .gmob-logo { font-size: 22px; }
  }

  /* ══════════════════════════════════════
     PROSES KERJA SECTION
  ══════════════════════════════════════ */
  .proses-section {
    background: var(--light);
    padding: 100px 0 80px;
    overflow: hidden;
  }
  .proses-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 60px;
  }
  .proses-header {
    text-align: center;
    margin-bottom: 64px;
  }
  .proses-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1.15;
    margin-bottom: 16px;
  }
  .proses-subtitle {
    font-size: 16px;
    color: var(--gray);
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.7;
  }

  /* Timeline grid: 2 columns */
  .proses-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    position: relative;
  }
  /* Vertical center line */
  .proses-grid::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 24px;
    bottom: 24px;
    width: 2px;
    background: linear-gradient(to bottom, var(--green), #009624);
    transform: translateX(-50%);
    z-index: 0;
  }

  .proses-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px 40px 20px 0;
    position: relative;
    z-index: 1;
  }
  /* Right column items */
  .proses-item.right {
    flex-direction: row-reverse;
    padding: 20px 0 20px 40px;
    text-align: right; /* removed - keep left align for readability */
  }
  .proses-item.right .proses-content {
    align-items: flex-start;
  }

  /* Number bubble */
  .proses-num {
    flex-shrink: 0;
    width: 48px; height: 48px;
    border-radius: 50%;
    background: var(--dark);
    color: white;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px; font-weight: 800;
    box-shadow: 0 4px 16px rgba(0,0,0,.18);
    border: 3px solid var(--white);
    position: relative;
    z-index: 2;
    transition: background .3s, transform .3s;
  }
  .proses-item:hover .proses-num {
    background: var(--green);
    transform: scale(1.12);
  }

  /* Connector dot to center line — left items */
  .proses-item:not(.right)::after {
    content: '';
    position: absolute;
    right: -1px;
    top: 42px;
    width: 40px; height: 2px;
    background: var(--border);
  }
  /* Connector dot to center line — right items */
  .proses-item.right::after {
    content: '';
    position: absolute;
    left: -1px;
    top: 42px;
    width: 40px; height: 2px;
    background: var(--border);
  }

  .proses-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 4px;
  }
  .proses-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--green);
    text-transform: uppercase;
    letter-spacing: 1px;
  }
  .proses-name {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 800;
    color: var(--dark);
    letter-spacing: -0.3px;
    line-height: 1.3;
  }
  .proses-desc {
    font-size: 13px;
    color: var(--gray);
    line-height: 1.6;
    max-width: 300px;
  }

  /* Special highlight for key steps */
  .proses-item.highlight .proses-num {
    background: var(--green);
  }
  .proses-item.highlight:hover .proses-num {
    background: var(--dark);
  }

  /* CTA below timeline */
  .proses-cta {
    text-align: center;
    margin-top: 56px;
  }
  .proses-cta p {
    font-size: 15px;
    color: var(--gray);
    margin-bottom: 20px;
  }

  @media (max-width: 768px) {
    .proses-inner { padding: 0 20px; }
    .proses-grid {
      grid-template-columns: 1fr;
      padding-left: 28px;
    }
    .proses-grid::before {
      left: 24px;
      top: 0; bottom: 0;
    }
    .proses-item,
    .proses-item.right {
      flex-direction: row;
      padding: 12px 0 12px 20px;
      text-align: left;
    }
    .proses-item::after,
    .proses-item.right::after { display: none; }
    .proses-desc { max-width: 100%; }
  }
  @media (max-width: 480px) {
    .proses-name { font-size: 14px; }
    .proses-num { width: 40px; height: 40px; font-size: 13px; }
  }

/* =============================================
   COMPONENT STYLES (moved from Vue SFC scoped)
   ============================================= */

/* ── Hero.vue ── */
.hero > h1 {
  font-family: 'Special Gothic', sans-serif;
  font-size: clamp(2.8rem, 6vw, 4rem);
  letter-spacing: 4px;
  line-height: 1.2;
  color: #1f1f1f;
}
.particle-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
@keyframes highlightSlide {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
.green, .blue {
  position: relative;
  display: inline-block;
  z-index: 1;
  font-family: 'Black Ops One', cursive;
}
.green::after, .blue::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -2px;
  right: -2px;
  height: 0.35em;
  z-index: -1;
  border-radius: 2px;
  transform-origin: left;
  transform: scaleX(0);
  animation: highlightSlide 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.green { color: #EAB308 !important; }
.green::after  { background: rgba(234, 179, 8, 0.3); animation-delay: 0.3s; }
.blue::after   { background: rgba(21, 101, 192, 0.2); animation-delay: 0.5s; }
.hero-btn-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.btn-wa {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: #25D366;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s, transform .2s;
  font-family: 'Inter', sans-serif;
}
.btn-wa:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
}

/* ── Blog.vue ── */
.blog-page {
  --bg:      #ffffff;
  --surface: #f4f4f4;
  --border:  #e2e2e2;
  --text:    #111111;
  --muted:   #666666;
  --green:   #00e676;
  --green-d: #00b359;
  --r:       8px;
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--text);
}
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

/* ── HERO (Blog) ── */
.blog-page .hero {
  position: relative;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  min-height: 380px;
}
.hero-track { position: relative; min-height: 380px; }
.hero-slide {
  display: none;
  align-items: center;
  gap: 48px;
  padding: 56px 40px 72px;
  max-width: 1280px;
  margin: 0 auto;
}
.hero-slide.is-active { display: flex; }
.hero-left {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hero-title {
  font-size: clamp(1.6rem, 2.8vw, 2.5rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
  margin: 0;
}
.hero-excerpt {
  font-size: 0.875rem;
  color: var(--muted);
  line-height: 1.75;
  margin: 0;
}
.hero-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--muted);
}
.dot-sep { opacity: 0.35; }
.views-wrap {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.hero-link {
  display: inline-block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--green-d);
  text-decoration: none;
  margin-top: 6px;
  transition: letter-spacing 0.2s;
}
.hero-link:hover { letter-spacing: 0.03em; }
.hero-right {
  flex: 0 0 44%;
  aspect-ratio: 4 / 3;
  border-radius: var(--r);
  overflow: hidden;
  background: var(--border);
}
.hero-right img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.hero-slide.is-active .hero-right img { transform: scale(1.02); }

/* Arrows */
.harrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--bg);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--text);
  transition: background 0.15s, box-shadow 0.15s;
}
.harrow:hover { background: #ebebeb; box-shadow: 0 2px 8px rgba(0,0,0,0.12); }
.harrow--prev { left: 12px; }
.harrow--next { right: 12px; }

/* Dots */
.hero-dots {
  position: absolute;
  bottom: 20px;
  left: 40px;
  display: flex;
  gap: 7px;
}
.hdot {
  width: 8px; height: 8px;
  border-radius: 50%;
  border: none; padding: 0;
  background: #c0c0c0;
  cursor: pointer;
  transition: background 0.2s, width 0.2s;
}
.hdot--on {
  background: var(--text);
  width: 22px;
  border-radius: 4px;
}

/* Skeleton hero */
.hero-skeleton {
  display: flex; align-items: center; gap: 48px;
  padding: 56px 0 72px;
}
.hsk-left { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.hsk-right {
  flex: 0 0 44%; aspect-ratio: 4/3;
  border-radius: var(--r);
  background: linear-gradient(90deg, #e4e4e4 25%, #efefef 50%, #e4e4e4 75%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
}
.hero-empty {
  display: flex; align-items: center; justify-content: center;
  min-height: 300px; color: var(--muted); font-size: 0.9rem;
}

/* ── CONTENT SECTION (Blog) ── */
.content-section { padding: 36px 0 72px; }
.content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 200px;
  gap: 28px;
  align-items: start;
}
.featured-card {
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  border-radius: var(--r);
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--surface);
  transition: box-shadow 0.2s;
}
.featured-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.09); }
.featured-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--border);
}
.featured-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}
.featured-card:hover .featured-img img { transform: scale(1.04); }
.featured-body {
  padding: 18px 18px 20px;
  display: flex; flex-direction: column; gap: 8px;
}
.featured-title {
  font-size: 1rem; font-weight: 700; line-height: 1.4;
  margin: 0; color: var(--text);
}
.featured-excerpt {
  font-size: 0.85rem; color: var(--muted);
  line-height: 1.65; margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.col-list { display: flex; flex-direction: column; gap: 10px; }
.list-card {
  display: flex; gap: 12px;
  padding: 14px 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  text-decoration: none; color: inherit;
  transition: box-shadow 0.2s;
}
.list-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.08); }
.list-img {
  flex: 0 0 96px; height: 76px;
  border-radius: 6px; overflow: hidden;
  background: var(--border);
}
.list-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.list-card:hover .list-img img { transform: scale(1.06); }
.list-body {
  flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0;
}
.list-title {
  font-size: 0.875rem; font-weight: 700; line-height: 1.35;
  margin: 0; color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.list-excerpt {
  font-size: 0.78rem; color: var(--muted); line-height: 1.5; margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-meta {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; color: var(--muted);
  flex-wrap: wrap; margin-top: auto; padding-top: 4px;
}
.badge {
  display: inline-block;
  background: var(--green);
  color: #000;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 10px;
  border-radius: 20px;
  width: fit-content;
}
.selengkapnya {
  margin-left: auto;
  color: var(--green-d);
  font-weight: 600;
  font-size: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.img-ph { width: 100%; height: 100%; background: #d4d4d4; }

/* ── Sidebar (Blog) ── */
.col-sidebar {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 18px 16px;
}
.sidebar-title {
  font-size: 0.9rem; font-weight: 700;
  margin: 0 0 12px; color: var(--text);
}
.cat-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 2px;
}
.cat-item {
  font-size: 0.875rem; color: var(--muted);
  padding: 6px 8px; border-radius: 5px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.cat-item:hover { background: var(--border); color: var(--text); }
.cat-item--on { color: var(--text); font-weight: 600; }

/* ── Skeleton (Blog) ── */
.sk-line {
  height: 13px; border-radius: 5px;
  background: linear-gradient(90deg, #e4e4e4 25%, #efefef 50%, #e4e4e4 75%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
}
.sk-line.h28 { height: 28px; }
.sk-line.h18 { height: 18px; }
.sk-line.h16 { height: 16px; }
.w25 { width: 25%; }
.w40 { width: 40%; }
.w50 { width: 50%; }
.w55 { width: 55%; }
.w60 { width: 60%; }
.w70 { width: 70%; }
.w80 { width: 80%; }
.w90 { width: 90%; }
.mb8  { margin-bottom: 8px; }
.mb12 { margin-bottom: 12px; }
.sk-img-big {
  aspect-ratio: 4/3; border-radius: var(--r);
  background: linear-gradient(90deg, #e4e4e4 25%, #efefef 50%, #e4e4e4 75%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
}
.sk-body { padding: 14px 0 0; display: flex; flex-direction: column; gap: 9px; }
.sk-list-row {
  display: flex; gap: 12px; padding: 14px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r);
}
.sk-li-img {
  flex: 0 0 96px; height: 76px; border-radius: 6px;
  background: linear-gradient(90deg, #e4e4e4 25%, #efefef 50%, #e4e4e4 75%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
}
.sk-li-body { flex: 1; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
.empty-note { color: var(--muted); font-size: 0.875rem; padding: 24px 0; text-align: center; }

/* ── Responsive (Blog) ── */
@media (max-width: 1024px) {
  .content-grid {
    grid-template-columns: 1fr 1fr;
  }
  .col-sidebar { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .hero-slide, .hero-skeleton {
    flex-direction: column;
    padding: 36px 24px 60px;
    gap: 24px;
  }
  .hero-right, .hsk-right { flex: none; width: 100%; }
  .content-grid { grid-template-columns: 1fr; }
  .col-sidebar { grid-column: auto; }
  .container { padding: 0 20px; }
}
@media (max-width: 480px) {
  .harrow { display: none; }
  .hero-dots { left: 20px; }
}

/* ── AppFooter.vue ── */
.footer-col-title {
  font-size: 18px;
  margin-bottom: 12px;
  color: var(--white);
}
.footer-bottom p {
  font-size: 14px;
  color: var(--white);
}

/* ── Why.vue ── */
.sub-section-title {
  font-size: 14px;
  color: var(--gray);
  margin-top: -16px;
  padding-bottom: 32px;
}

/* ── Project.vue ── */
.project-section {
  padding    : 100px 0;
  background : #fff;
  overflow   : hidden;
}
.project-inner {
  max-width : 1200px;
  margin    : 0 auto;
  padding   : 0 40px;
}
.project-header {
  text-align    : center;
  margin-bottom : 72px;
}
.project-title {
  font-family   : 'Montserrat', sans-serif;
  font-size     : clamp(28px, 4vw, 42px);
  font-weight   : 900;
  color         : #0D0D0D;
  margin-bottom : 12px;
}
.project-subtitle {
  font-size  : 16px;
  color      : #6B7280;
  max-width  : 500px;
  margin     : 0 auto;
  line-height: 1.7;
}
.project-list {
  display       : flex;
  flex-direction: column;
  gap           : 100px;
}
.project-showcase {
  display        : grid;
  grid-template-columns: 1fr 1fr;
  gap            : 64px;
  align-items    : center;
}
.project-showcase.reverse {
  direction: rtl;
}
.project-showcase.reverse > * {
  direction: ltr;
}
.project-visual { position: relative; }
.project-mockup {
  position      : relative;
  border-radius : 20px;
  padding       : 32px;
  overflow      : hidden;
  box-shadow    : 0 32px 80px rgba(0,0,0,0.2);
  min-height    : 340px;
}
.project-glow {
  position      : absolute;
  width         : 300px;
  height        : 300px;
  border-radius : 50%;
  top           : -100px;
  right         : -100px;
  filter        : blur(80px);
  pointer-events: none;
}
.project-status-float {
  position      : absolute;
  top           : 16px;
  right         : 16px;
  font-size     : 10px;
  font-weight   : 800;
  padding       : 4px 10px;
  border-radius : 20px;
  letter-spacing: 0.5px;
}
.project-browser {
  position      : relative;
  border-radius : 10px;
  overflow      : hidden;
  background    : rgba(255,255,255,0.06);
  border        : 1px solid rgba(255,255,255,0.1);
  box-shadow    : 0 8px 32px rgba(0,0,0,0.3);
}
.project-browser-bar {
  display        : flex;
  align-items    : center;
  gap            : 10px;
  padding        : 8px 12px;
  background     : rgba(0,0,0,0.3);
  border-bottom  : 1px solid rgba(255,255,255,0.06);
}
.project-browser-dots {
  display : flex;
  gap     : 5px;
}
.project-browser-dots span {
  width         : 9px;
  height        : 9px;
  border-radius : 50%;
  display       : block;
}
.project-browser-url {
  font-size  : 10px;
  color      : rgba(255,255,255,0.4);
  font-family: monospace;
  display    : flex;
  align-items: center;
  gap        : 5px;
}
.project-browser-screen {
  display   : flex;
  height    : 200px;
}
.project-screen-sidebar {
  width          : 48px;
  padding        : 10px 8px;
  display        : flex;
  flex-direction : column;
  align-items    : center;
  gap            : 8px;
  border-right   : 1px solid rgba(255,255,255,0.06);
  flex-shrink    : 0;
}
.project-screen-logo {
  font-size  : 14px;
  font-weight: 900;
  width      : 28px;
  height     : 28px;
  display    : flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background : rgba(255,255,255,0.1);
  margin-bottom: 4px;
}
.project-screen-nav-item {
  width        : 28px;
  height       : 6px;
  border-radius: 3px;
}
.project-screen-content {
  flex    : 1;
  padding : 10px;
  display : flex;
  flex-direction: column;
  gap     : 8px;
  overflow: hidden;
}
.project-screen-topbar {
  display        : flex;
  align-items    : center;
  justify-content: space-between;
  gap            : 8px;
}
.project-screen-title-bar {
  height       : 8px;
  border-radius: 4px;
  flex         : 1;
}
.project-screen-avatar {
  width        : 20px;
  height       : 20px;
  border-radius: 50%;
  flex-shrink  : 0;
}
.project-screen-cards {
  display: flex;
  gap    : 6px;
}
.project-screen-card {
  flex         : 1;
  border-radius: 6px;
  padding      : 6px;
  display      : flex;
  flex-direction: column;
  gap          : 4px;
}
.project-screen-card-line {
  height       : 5px;
  border-radius: 3px;
}
.project-screen-table {
  display       : flex;
  flex-direction: column;
  gap           : 3px;
  flex          : 1;
}
.project-screen-row {
  display      : flex;
  gap          : 6px;
  align-items  : center;
  padding      : 3px 4px;
  border-radius: 3px;
}
.project-screen-cell {
  height       : 5px;
  border-radius: 3px;
}
.project-tag {
  display      : inline-block;
  font-size    : 12px;
  font-weight  : 700;
  padding      : 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.project-name {
  font-family  : 'Montserrat', sans-serif;
  font-size    : clamp(28px, 4vw, 44px);
  font-weight  : 900;
  color        : #0D0D0D;
  margin-bottom: 16px;
  line-height  : 1.1;
}
.project-desc {
  font-size    : 15px;
  color        : #4B5563;
  line-height  : 1.8;
  margin-bottom: 24px;
}
.project-features {
  list-style   : none;
  padding      : 0;
  margin       : 0 0 32px;
  display      : flex;
  flex-direction: column;
  gap          : 10px;
}
.project-features li {
  display    : flex;
  align-items: center;
  gap        : 12px;
  font-size  : 14px;
  font-weight: 600;
  color      : #1F2937;
}
.project-feature-icon {
  width        : 32px;
  height       : 32px;
  border-radius: 8px;
  display      : flex;
  align-items  : center;
  justify-content: center;
  font-size    : 16px;
  flex-shrink  : 0;
}
.project-actions {
  display    : flex;
  align-items: center;
  gap        : 16px;
  flex-wrap  : wrap;
}
.project-btn-primary {
  display      : inline-block;
  padding      : 12px 28px;
  border-radius: 8px;
  color        : white;
  font-weight  : 700;
  font-size    : 14px;
  text-decoration: none;
  transition   : opacity .2s, transform .2s;
}
.project-btn-primary:hover {
  opacity  : 0.9;
  transform: translateY(-2px);
}
.project-status-badge {
  font-size    : 12px;
  font-weight  : 700;
  padding      : 6px 14px;
  border-radius: 20px;
}
@media (max-width: 900px) {
  .project-showcase,
  .project-showcase.reverse {
    grid-template-columns: 1fr;
    direction            : ltr;
    gap                  : 40px;
  }
  .project-showcase.reverse > * {
    direction: ltr;
  }
  .project-list { gap: 72px; }
}
@media (max-width: 640px) {
  .project-inner { padding: 0 20px; }
  .project-section { padding: 72px 0; }
}

/* ── Template.vue ── */
.tmpl-popular-badge {
  position     : absolute;
  top          : 10px;
  right        : 10px;
  background   : #FFD700;
  color        : #7c5a00;
  font-size    : 10px;
  font-weight  : 800;
  padding      : 2px 8px;
  border-radius: 20px;
  z-index      : 2;
}
.tmpl-thumb { position: relative; overflow: hidden; }
.tmpl-preview-img {
  position   : absolute;
  inset      : 0;
  width      : 100%;
  height     : 100%;
  object-fit : cover;
  border-radius: inherit;
  transition : transform .4s ease;
}
.tmpl-card:hover .tmpl-preview-img {
  transform: scale(1.05);
}
.tmpl-empty-state {
  text-align    : center;
  padding       : 64px 24px;
  animation     : fadeIn .4s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.tmpl-empty-icon {
  font-size     : 56px;
  margin-bottom : 16px;
  line-height   : 1;
}
.tmpl-empty-title {
  font-size     : 20px;
  font-weight   : 800;
  color         : #0D0D0D;
  margin-bottom : 10px;
  font-family   : 'Montserrat', sans-serif;
}
.tmpl-empty-desc {
  font-size     : 14px;
  color         : #6B7280;
  line-height   : 1.7;
  margin-bottom : 28px;
}
.tmpl-empty-actions {
  display       : flex;
  gap           : 12px;
  justify-content: center;
  flex-wrap     : wrap;
}
.tmpl-empty-btn-secondary {
  padding       : 10px 20px;
  border        : 2px solid #E5E7EB;
  border-radius : 8px;
  background    : white;
  font-size     : 14px;
  font-weight   : 600;
  cursor        : pointer;
  transition    : all .2s;
  color         : #0D0D0D;
}
.tmpl-empty-btn-secondary:hover {
  border-color  : #0D0D0D;
}
.tmpl-empty-btn-primary {
  padding       : 10px 20px;
  border        : none;
  border-radius : 8px;
  background    : #0D0D0D;
  color         : white;
  font-size     : 14px;
  font-weight   : 600;
  cursor        : pointer;
  transition    : all .2s;
}
.tmpl-empty-btn-primary:hover {
  background    : #00C853;
}

/* ── Howitworks.vue ── */
.proses-fase {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 32px 0 8px;
}
.proses-fase-badge {
  background: var(--green, #00C853);
  color: white;
  font-size: 11px;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.proses-fase-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--dark, #0D0D0D);
  font-family: 'Montserrat', sans-serif;
}
.proses-fase::after {
  content: '';
  flex: 1;
  height: 2px;
  background: var(--border, #E5E7EB);
  border-radius: 2px;
}