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

body {
  font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #1a2332;
  line-height: 1.6;
  background: #fff;
}

.wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }

h1 { font-size: 2.4rem; line-height: 1.2; margin-bottom: 1rem; }
h2 { font-size: 1.8rem; margin-bottom: 1.5rem; text-align: center; }
h3 { font-size: 1.15rem; margin-bottom: .5rem; }

.lede { font-size: 1.15rem; color: #3c4a5e; max-width: 640px; }
.micro { font-size: .85rem; color: #6b7a90; }

.btn {
  display: inline-block;
  background: #0b5fff;
  color: #fff;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  border: none;
  cursor: pointer;
  font-size: 1rem;
}
.btn:hover { background: #0047c2; }
.btn-small { padding: 10px 18px; font-size: .9rem; }
.btn-ghost { background: transparent; color: #0b5fff; border: 2px solid #0b5fff; }
.btn-ghost:hover { background: #eaf1ff; }

.topbar {
  position: sticky; top: 0; z-index: 10;
  background: rgba(255,255,255,.95);
  border-bottom: 1px solid #e6ebf2;
}
.topbar .wrap {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 12px; padding-bottom: 12px;
}
.logo { font-weight: 800; font-size: 1.2rem; }

.hero { padding: 80px 0 70px; background: linear-gradient(180deg, #f2f6ff 0%, #fff 100%); }
.hero .lede { margin: 0 0 1.5rem; }
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 1rem; }

section { padding: 64px 0; }
.problem { background: #f7f9fc; }

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}
.card {
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 24px;
}
.problem .card { background: #fff; }

.paket .cards { margin-bottom: 32px; }
.pricebox {
  max-width: 520px; margin: 0 auto; text-align: center;
  border: 2px solid #0b5fff; border-radius: 16px; padding: 32px;
  background: #f7faff;
}
.price { font-size: 3rem; font-weight: 800; color: #0b5fff; }
.price span { font-size: 1.2rem; font-weight: 400; color: #3c4a5e; }
.pricebox ul { list-style: none; margin: 1rem 0 1.5rem; }
.pricebox li { padding: 6px 0; }
.pricebox li::before { content: "✓ "; color: #0b5fff; font-weight: 700; }

.steps-list { list-style: none; max-width: 640px; margin: 0 auto; }
.steps-list li {
  background: #f7f9fc; border-radius: 12px; padding: 20px 24px; margin-bottom: 12px;
}
.steps-list strong { display: block; font-size: 1.1rem; margin-bottom: 4px; }
.steps-list span { color: #3c4a5e; }

.faq .wrap { max-width: 720px; }
details {
  border: 1px solid #e6ebf2; border-radius: 10px;
  padding: 16px 20px; margin-bottom: 10px; background: #fff;
}
summary { font-weight: 600; cursor: pointer; }
details p { margin-top: 8px; color: #3c4a5e; }

.booking { background: #0b5fff; color: #fff; }
.booking h2 { color: #fff; }
.booking .lede { color: #dbe7ff; margin-bottom: 1.5rem; }
.booking form {
  max-width: 560px; background: #fff; border-radius: 16px; padding: 28px;
  color: #1a2332;
}
.booking label { display: block; font-weight: 600; margin-bottom: 14px; font-size: .95rem; }
.booking input, .booking textarea {
  display: block; width: 100%; margin-top: 6px;
  padding: 12px; border: 1px solid #c9d4e4; border-radius: 8px; font-size: 1rem;
}
.booking .btn { width: 100%; margin-top: 6px; }
.booking .micro { margin-top: 12px; }
.tack {
  max-width: 560px; background: #fff; color: #1a2332;
  border-radius: 16px; padding: 28px; font-size: 1.1rem; font-weight: 600;
}

footer { padding: 32px 0; border-top: 1px solid #e6ebf2; text-align: center; }
footer a { color: #0b5fff; }

@media (max-width: 640px) {
  h1 { font-size: 1.8rem; }
  .hero { padding: 56px 0 48px; }
  section { padding: 44px 0; }
}

.topnav { display: flex; align-items: center; gap: 22px; }
.topnav a { color: #1a2332; text-decoration: none; font-weight: 600; font-size: .95rem; }
.topnav a:hover { color: #0b5fff; }
.topnav a.btn { color: #fff; }
.topnav a.btn:hover { color: #fff; }
@media (max-width: 640px) { .topnav a:not(.btn) { display: none; } }

.demo { background: #f2f6ff; }
.demobox {
  max-width: 440px; margin: 0 auto; text-align: center;
  background: #fff; border: 1px solid #d6e4ff; border-radius: 16px; padding: 28px;
}
.demobox p { margin-bottom: 16px; line-height: 1.9; }

#chat-bubble {
  position: fixed; right: 20px; bottom: 20px; z-index: 50;
  background: #0b5fff; color: #fff; border: none; border-radius: 999px;
  padding: 14px 22px; font-size: 1rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 10px 30px rgba(2,8,30,.35);
}
#chat-bubble:hover { background: #0047c2; }
#chat-panel {
  position: fixed; right: 20px; bottom: 84px; z-index: 50;
  width: 340px; max-width: calc(100vw - 40px);
  background: #fff; border: 1px solid #e6ebf2; border-radius: 16px;
  box-shadow: 0 18px 50px rgba(2,8,30,.3); overflow: hidden;
  display: flex; flex-direction: column;
}
#chat-panel[hidden] { display: none; }
.chat-head { background: #0b1220; color: #fff; padding: 14px 16px; font-weight: 700; }
.chat-head span { color: #9db8e8; font-weight: 400; font-size: .85rem; }
#chat-log { padding: 14px; max-height: 260px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.msg { padding: 9px 12px; border-radius: 12px; font-size: .92rem; max-width: 88%; }
.msg.bot { background: #eef2f7; align-self: flex-start; }
.msg.me { background: #0b5fff; color: #fff; align-self: flex-end; }
.chat-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; }
.chat-chips button {
  background: #eaf1ff; color: #0b5fff; border: 1px solid #c9dbff; border-radius: 999px;
  padding: 6px 12px; font-size: .82rem; font-weight: 600; cursor: pointer;
}
.chat-chips button:hover { background: #d6e4ff; }
#chat-form { display: flex; border-top: 1px solid #e6ebf2; }
#chat-form input { flex: 1; border: none; padding: 12px 14px; font-size: .95rem; outline: none; }
#chat-form button { background: #0b5fff; color: #fff; border: none; padding: 0 18px; font-weight: 700; cursor: pointer; }
