/* Smart Motor Security: keamanan kendaraan, charcoal + red, minim gimmick */
:root{
  --char-900: #16181d;
  --char-800: #20242b;
  --char-700: #2b3039;
  --red-600: #b91c1c;
  --red-500: #dc2626;
  --red-100: #fee2e2;
  --ink: #171a1f;
  --muted: #5f6773;
  --line: #e2e5ea;
  --bg: #f5f6f8;
  --panel: #ffffff;
  --good: #16a34a;
  --radius: 10px;
  --shadow: 0 4px 14px rgba(22,24,29,.08);
  --mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

*{box-sizing:border-box}
html,body{height:100%}
body{ margin:0; font: 16px/1.55 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--ink); background: var(--bg); }
.container{ max-width: 1120px; margin: 0 auto; padding: 0 20px; }
a{ color: var(--red-600); }

.topbar{ border-bottom: 1px solid var(--line); background: rgba(245,246,248,.9); backdrop-filter: blur(6px); position: sticky; top:0; z-index:20; }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; padding: 14px 20px; max-width:1120px; margin:0 auto; gap:16px; flex-wrap:wrap; }
.brand-mark{ display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; }
.brand-mark .logo-dot{ width:32px; height:32px; border-radius:9px; background: linear-gradient(135deg, var(--char-700), var(--char-900)); display:grid; place-items:center; color: var(--red-500); font-weight:800; font-size:13px; border:1px solid rgba(220,38,38,.3); }
.brand-mark .name{ font-weight:800; font-size:16px; letter-spacing:.2px; color: var(--ink); }
.brand-mark .name small{ display:block; font-weight:500; font-size:11px; color:var(--muted); letter-spacing:.4px; text-transform:uppercase; }
.back-link{ font-size:13.5px; color: var(--muted); text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.back-link:hover{ color: var(--red-600); }

.hero{ padding: 64px 0 52px; display:grid; grid-template-columns: 1.1fr .9fr; gap:48px; align-items:center; }
.hero .eyebrow{ text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:700; color: var(--red-600); margin:0 0 10px; }
.hero h1{ margin:0 0 10px; font-size: clamp(28px, 4vw, 42px); line-height:1.15; letter-spacing:-.01em; }
.hero p.lead{ margin:0 0 22px; color: var(--muted); font-size: 17px; max-width: 62ch; }
.hero-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.tag{ font-size:12.5px; font-weight:600; padding:5px 10px; border-radius:999px; border:1px solid var(--line); background:#fff; color: var(--char-800); }
.hero-cta-row{ display:flex; flex-wrap:wrap; gap:10px; }
.hero-cta-row .btn{ text-decoration:none; }

/* ===== HERO DEVICE: security panel ===== */
.hero-device{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.device-panel{
  width:100%; max-width:320px;
  background: linear-gradient(180deg, var(--char-700), var(--char-900));
  border-radius: 20px; padding: 18px 18px 20px;
  box-shadow: 0 24px 48px rgba(22,24,29,.32), inset 0 1px 0 rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.06);
}
.device-topline{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.device-chip{ font-family: var(--mono); font-size:11px; font-weight:700; color:#ffb4b4; background: rgba(255,255,255,.08); padding:3px 8px; border-radius:6px; letter-spacing:.05em; }
.led{ width:8px; height:8px; border-radius:50%; display:inline-block; }
.led-ok{ background:#22c55e; box-shadow:0 0 6px rgba(34,197,94,.8); }
.led-alert{ background: var(--red-500); box-shadow:0 0 6px rgba(220,38,38,.8); }

.lock-status{
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:#0e1013; border-radius:10px; padding:18px 12px; margin-bottom:12px;
  box-shadow: inset 0 2px 6px rgba(0,0,0,.4);
}
.lock-icon{ width:30px; height:30px; color: var(--red-500); }
.lock-icon svg{ width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.lock-text{ font-family: var(--mono); font-size:16px; font-weight:700; color:#ffdada; letter-spacing:.06em; }

.rf-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.rf-item{ text-align:center; flex:1; }
.rf-label{ font-family: var(--mono); font-size:9px; color:#9aa0aa; text-transform:uppercase; letter-spacing:.05em; }
.rf-bars{ display:flex; gap:2px; justify-content:center; align-items:flex-end; height:16px; margin-top:4px; }
.rf-bars i{ width:4px; background: var(--red-500); border-radius:1px; display:block; }

.device-controls{ display:flex; align-items:center; justify-content:space-between; }
.device-status{ display:flex; align-items:center; gap:6px; font-family: var(--mono); font-size:11px; color:#c7cbd1; }
.device-buttons{ display:flex; gap:8px; }
.device-btn{ font-size:11px; font-weight:700; color:#ffdcdc; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); padding:6px 12px; border-radius:7px; }
.device-caption{ font-size:12.5px; color: var(--muted); text-align:center; max-width:280px; }
.mock-hint{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#b91c1c; background: rgba(220,38,38,.1); border:1px solid rgba(220,38,38,.25); padding:2px 8px; border-radius:999px; display:inline-block; margin-bottom:6px; }

.section{ padding: 56px 0; border-top: 1px solid var(--line); }
.section-head{ max-width: 680px; margin: 0 0 28px; }
.section-head .kicker{ font-size:12.5px; font-weight:700; color: var(--red-600); text-transform:uppercase; letter-spacing:.1em; margin:0 0 8px; }
.section-head h2{ margin:0 0 8px; font-size: clamp(22px,3vw,28px); letter-spacing:-.01em; }
.section-head p{ margin:0; color: var(--muted); font-size:15.5px; }

.checklist{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.checklist.grid-2{ grid-template-columns: repeat(2, 1fr); }
.checklist li{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color: var(--ink); }
.checklist svg{ flex-shrink:0; width:18px; height:18px; margin-top:2px; stroke: var(--good); fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:640px){ .checklist.grid-2{ grid-template-columns:1fr; } }

.flow-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:18px; }
.flow-step{ background: var(--red-100); border:1px solid rgba(220,38,38,.18); border-radius:999px; padding:8px 14px; font-size:13px; font-weight:700; color: var(--red-600); white-space:nowrap; }
.flow-arrow{ color: var(--muted); font-size:14px; flex-shrink:0; }

.grid-3{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:16px; }
.panel{ background: var(--panel); border:1px solid var(--line); border-radius: var(--radius); padding:18px; box-shadow: var(--shadow); }
.panel .icon-chip{ width:38px; height:38px; border-radius:9px; margin-bottom:10px; background: var(--red-100); color: var(--red-600); display:grid; place-items:center; }
.panel .icon-chip svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.panel h3{ margin:0 0 6px; font-size:15.5px; }
.panel p{ margin:0; color: var(--muted); font-size:14px; }

.focus-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.focus-tag{ background: var(--red-100); color: var(--red-600); border:1px solid rgba(185,28,28,.2); border-radius:999px; padding:6px 12px; font-size:13px; font-weight:700; }

.status-card{ background: linear-gradient(135deg, var(--char-800), var(--char-900)); color:#fff; border-radius:16px; padding:26px 28px; }
.status-card .kicker{ color:#ff9d9d; }
.status-card h3{ margin:0 0 8px; font-size:19px; }
.status-card p{ margin:0; color:#d6d9de; font-size:14.5px; max-width:62ch; }

.btn{ display:inline-flex; align-items:center; gap:6px; text-decoration:none; padding:11px 18px; border-radius:10px; font-weight:700; font-size:14.5px; border:1px solid var(--line); color: var(--ink); background:#fff; cursor:pointer; transition: transform .12s ease, box-shadow .12s ease; }
.btn.primary{ background: linear-gradient(135deg, var(--red-500), var(--red-600)); border-color:transparent; color:#fff; box-shadow: 0 8px 18px rgba(185,28,28,.28); }
.btn:hover{ transform: translateY(-1px); }

.site-footer{ padding: 32px 0 48px; text-align:center; color: var(--muted); font-size:13.5px; }
.site-footer a{ color: var(--red-600); }

@media (max-width:840px){ .hero{ grid-template-columns:1fr; } }
