:root{
  --bg0:#070A12;
  --bg1:#0B1022;
  --line:rgba(255,255,255,.08);
  --text:#EAF1FF;
  --muted:rgba(234,241,255,.68);

  --neon:#22D3EE;
  --neon2:#A78BFA;
  --lime:#34D399;
  --amber:#FBBF24;
  --danger:#FB7185;

  --r:18px;
  --shadow: 0 22px 60px rgba(0,0,0,.55);
  --glow: 0 0 0 1px rgba(34,211,238,.18), 0 0 28px rgba(34,211,238,.14);
  --glow2: 0 0 0 1px rgba(167,139,250,.20), 0 0 32px rgba(167,139,250,.14);
}

/* ===== ACCENT MAP (ini kunci colorful) ===== */
.acc-teal{ --c1:34,211,238; --c2:167,139,250; }
.acc-amber{ --c1:251,191,36; --c2:251,113,133; }
.acc-violet{ --c1:167,139,250; --c2:34,211,238; }
.acc-lime{ --c1:52,211,153; --c2:34,211,238; }
.acc-rose{ --c1:251,113,133; --c2:167,139,250; }

*{box-sizing:border-box}
body{
  margin:0;
  background:
    radial-gradient(1100px 700px at 20% -20%, rgba(34,211,238,.18), transparent 60%),
    radial-gradient(900px 650px at 85% 0%, rgba(167,139,250,.16), transparent 60%),
    radial-gradient(900px 650px at 80% 70%, rgba(251,113,133,.12), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  color:var(--text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height: 100vh;
}

.toast-fixed{
  position:fixed; top:14px; left:50%; transform:translateX(-50%);
  width: min(560px, calc(100% - 24px));
  border-radius:16px; border:1px solid var(--line);
  background: rgba(10,16,32,.86);
  box-shadow: var(--shadow);
  z-index:9999;
  padding:10px 12px;
  backdrop-filter: blur(10px);
}

.hero{
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(1200px 800px at 50% -300px, rgba(34,211,238,.18), transparent 70%),
    radial-gradient(800px 600px at 80% -200px, rgba(167,139,250,.16), transparent 70%);
  position: relative;
  overflow: hidden;
}
.wrap{max-width:1120px;margin:0 auto;padding:18px 16px 56px}
.hero .wrap{padding-top:22px;padding-bottom:18px}

.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.brand-left{display:flex;align-items:center;gap:12px}
.logo{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-weight:1000;letter-spacing:.4px;
  background: rgba(34,211,238,.12);
  border: 1px solid rgba(34,211,238,.30);
  box-shadow: var(--glow);
}
.bname{font-weight:1000;line-height:1.2}
.blegal{font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.online{
  font-size:11px;font-weight:900;
  padding:3px 10px;border-radius:999px;
  background: rgba(52,211,153,.14);
  border:1px solid rgba(52,211,153,.35);
  color:#A7F3D0;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.4); }
  70% { box-shadow: 0 0 0 6px rgba(52, 211, 153, 0); }
  100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); }
}

.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-chip{
  text-decoration:none;color:var(--text);
  font-weight:900;font-size:12.5px;
  padding:9px 12px;border-radius:999px;
  border:1px solid var(--line);
  background: rgba(11,18,38,.45);
  backdrop-filter: blur(10px);
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.btn-chip:hover{transform:translateY(-1px);border-color:rgba(34,211,238,.32);box-shadow:var(--glow)}

.title{
  margin-top:14px;
  font-size: clamp(20px, 2.8vw, 30px);
  font-weight:1100;line-height:1.15;letter-spacing:-.2px;
}
.sub{margin-top:8px;color:var(--muted);font-size:13.5px;line-height:1.6;max-width:780px;}

.chips{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.chip{
  font-size:11px;font-weight:900;
  border-radius:999px;padding:5px 10px;
  border:1px solid var(--line);
  background: rgba(11,18,38,.55);
  color: rgba(234,241,255,.86);
}
.chip.neon{border-color:rgba(34,211,238,.35);box-shadow: var(--glow)}
.chip.purple{border-color:rgba(167,139,250,.35);box-shadow: var(--glow2)}

.section-head{margin-top:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.h-title{margin:0;font-size:14px;font-weight:1000;letter-spacing:.2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.h-badge{
  font-size:11px;font-weight:1000;
  padding:3px 10px;border-radius:999px;
  border:1px solid rgba(251,191,36,.35);
  background: rgba(251,191,36,.12);
  color: #FFE7A1;
}
.h-sub{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.6;max-width:820px;}

.grid{margin-top:14px;display:grid;gap:14px;grid-template-columns: 1fr;}
@media (min-width: 992px){ .grid{ grid-template-columns: repeat(3, 1fr); } }

/* ===== CARD: gabungan neon + accent (ini yang bikin colorful balik) ===== */
.cardx{
  border-radius: var(--r);
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(11,18,38,.95), rgba(10,16,32,.92));
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
  display: flex;
  flex-direction: column;
}
.cardx::after{
  content:"";
  position:absolute; left:0; top:0; width:100%; height:7px;
  background: linear-gradient(90deg, rgba(var(--c1),1), rgba(var(--c2),1));
  opacity:.95;
}
.cardx::before{
  content:"";
  position:absolute; inset:-1px;
  background:
    radial-gradient(700px 220px at 10% 0%, rgba(var(--c1), .18), transparent 60%),
    radial-gradient(600px 220px at 90% -20%, rgba(var(--c2), .14), transparent 60%);
  pointer-events:none;
  opacity:.95;
}
.cardx:hover{
  transform: translateY(-2px);
  border-color: rgba(var(--c1), .28);
  box-shadow: var(--shadow), 0 0 0 1px rgba(var(--c1), .12);
}
.cardx .in{ position:relative; padding:14px; display:flex; flex-direction:column; height:100%; flex: 1; }

.top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.name{font-weight:1100;font-size:15px;margin:0;line-height:1.25;}
.brand{
  font-size:11px;font-weight:1000;
  padding:3px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(234,241,255,.90);
  white-space:nowrap;
}
.desc{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.55;min-height: 42px;}

.bullets{margin:10px 0 0 0;padding-left:18px;font-size:12.8px;line-height:1.55;color: rgba(234,241,255,.85);}
.bullets li{ margin-bottom:3px }

.tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px }
.tag{
  font-size:11px;font-weight:1000;
  padding:3px 8px;border-radius:999px;
  border:1px solid rgba(var(--c1), .26);
  background: rgba(var(--c1), .10);
  color: rgba(234,242,255,.92);
}
.tag.alt{
  border-color: rgba(var(--c2), .26);
  background: rgba(var(--c2), .10);
}

.thumbs{display:flex; gap:8px; overflow-x:auto; margin-top:12px; padding-bottom:2px; scrollbar-width:none;}
.thumbs::-webkit-scrollbar{display:none}
.thumb{
  flex:0 0 auto;width:72px;height:72px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;background: rgba(255,255,255,.05);
}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}

.bottom{
  margin-top:auto;
  display:flex; align-items:flex-end; justify-content:space-between; gap:10px; flex-wrap:wrap;
  padding-top:12px;
}
.price{
  font-size:16px;font-weight:1100;
  background: linear-gradient(90deg, rgba(var(--c1),1), rgba(var(--c2),1));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.note{margin-top:2px;font-size:11.2px;color: rgba(234,241,255,.58);line-height:1.35;}

.btn-neon{
  border:0;border-radius:999px;
  padding:10px 14px;
  font-weight:1100;font-size:13px;
  color:#061018;
  background: linear-gradient(90deg, rgba(var(--c1),1), rgba(var(--c2),1));
  box-shadow: 0 14px 28px rgba(0,0,0,.35);
  transition: transform .12s ease, filter .12s ease;
  white-space:nowrap;
  cursor: pointer;
}
.btn-neon:hover{ transform: translateY(-1px); filter:saturate(1.05) brightness(1.03); }

/* modal (tetap) */
.overlay{position:fixed; inset:0;background: rgba(0,0,0,.65);display:none;z-index: 9998;}
.overlay.show{ display:block; }
.sheet{
  position:fixed; left:50%; top:50%;
  transform: translate(-50%, -50%);
  width: min(560px, calc(100% - 24px));
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(9,14,28,.98), rgba(7,10,18,.98));
  border: 1px solid rgba(34,211,238,.22);
  box-shadow: var(--shadow), var(--glow);
  display:none;
  z-index: 9999;
  overflow:hidden;
}
.sheet.show{ display:block; }
.sheet-hd{padding:14px 14px 10px 14px;border-bottom: 1px solid var(--line);display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.sheet-title{margin:0;font-size:14px;font-weight:1100;}
.sheet-sub{margin-top:4px;font-size:12px;color: var(--muted);line-height:1.45;}
.xbtn{
  border:1px solid var(--line);
  background: rgba(255,255,255,.06);
  color: rgba(234,241,255,.9);
  width:34px;height:34px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-weight:1100;cursor:pointer;
}
.sheet-bd{ padding:14px; }
.frow{ display:grid; gap:10px; grid-template-columns:1fr; }
@media (min-width: 560px){ .f2{ grid-template-columns: 1fr 1fr; } }
.label{font-size:11px;font-weight:1000;color: rgba(234,241,255,.86);margin-bottom:6px;letter-spacing:.2px;}
.inp, .txt{
  width:100%;border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding: 11px 12px;
  font-weight:700;
  outline:none;
  transition: border-color .12s ease, box-shadow .12s ease;
}
.inp:focus, .txt:focus{border-color: rgba(34,211,238,.30);box-shadow: var(--glow);}
.txt{ min-height: 92px; resize: vertical; font-weight:650; }
.hint{margin-top:6px;font-size:11px;color: rgba(234,241,255,.56);line-height:1.35;}
.sheet-ft{
  padding:12px 14px;border-top: 1px solid var(--line);
  display:flex; gap:10px; justify-content:space-between; align-items:center; flex-wrap:wrap;
  background: rgba(255,255,255,.03);
}
.btn-ghost2{
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(234,241,255,.9);
  padding: 10px 12px;
  font-weight:1000;
  font-size:12.5px;
  cursor: pointer;
}
.btn-ghost2:hover{ border-color: rgba(34,211,238,.26); box-shadow: var(--glow); }

.footer{
  margin-top:22px;border-top:1px solid var(--line);
  padding-top:14px;color: rgba(234,241,255,.55);
  font-size:12px;line-height:1.6;text-align:center;
}

/* Service Card Enhancements */
.service-icon {
  font-size: 24px;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(var(--c1), .15);
  color: rgb(var(--c1));
  border: 1px solid rgba(var(--c1), .3);
  margin-bottom: 12px;
}

/* ===== TRUST SECTIONS ===== */

/* Process Steps */
.steps-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  position: relative;
  margin-top: 24px;
}
.steps-row::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--line);
  z-index: 0;
  display: none;
}
@media(min-width: 768px) { .steps-row::before { display: block; } }

.step-item {
  flex: 1;
  min-width: 140px;
  position: relative;
  z-index: 1;
  text-align: center;
}
.step-num {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--bg1);
  border: 2px solid var(--line);
  color: var(--muted);
  font-weight: 1000;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px auto;
  transition: all .3s ease;
}
.step-item:hover .step-num {
  border-color: rgba(34,211,238,.5);
  color: #22D3EE;
  box-shadow: 0 0 15px rgba(34,211,238,.2);
}
.step-title { font-weight: 800; font-size: 14px; margin-bottom: 4px; }
.step-desc { font-size: 12px; color: var(--muted); line-height: 1.4; }

/* Testimonials - GOOGLE STYLE */
.testi-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}
@media(min-width: 768px) { .testi-grid { grid-template-columns: repeat(2, 1fr); } }

.g-card {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  color: #333;
  font-family: Roboto, Arial, sans-serif;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.g-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.g-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #7b1fa2;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 18px;
  flex-shrink: 0;
}

.g-meta {
  flex: 1;
}

.g-name {
  font-size: 14px;
  font-weight: 700;
  color: #202124;
  line-height: 1.2;
}

.g-date {
  font-size: 12px;
  color: #70757a;
  margin-top: 2px;
}

.g-logo {
  width: 20px;
  height: 20px;
  opacity: 0.8;
}

.g-stars {
  display: flex;
  gap: 1px;
  margin-bottom: 8px;
  color: #fb8c00;
  font-size: 14px;
}

.g-text {
  font-size: 13px;
  line-height: 1.5;
  color: #4d5156;
}

/* Floating WA */
.float-wa {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  z-index: 9990;
  transition: transform .2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  text-decoration: none;
}
.float-wa:hover { transform: scale(1.1); }
.float-wa svg { width: 30px; height: 30px; fill: white; }
.float-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ef4444;
  color: white;
  font-size: 10px;
  font-weight: 800;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bg0);
}

/* Gallery Grid */
.gal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
@media(min-width: 768px) { .gal-grid { grid-template-columns: repeat(4, 1fr); } }
.gal-item {
  aspect-ratio: 1/1;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  position: relative;
  group: hover;
}
.gal-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .3s ease;
}
.gal-item:hover img { transform: scale(1.05); }
.gal-cap {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.8), transparent);
  padding: 14px 10px 8px 10px;
  font-size: 11px;
  font-weight: 700;
  color: white;
  opacity: 0;
  transition: opacity .2s ease;
}
.gal-item:hover .gal-cap { opacity: 1; }
