*, *::before, *::after { box-sizing: border-box; }
    html { background: transparent; scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      font-size: 16px;
      line-height: 1.55;
      color: #0f172a;
      background: transparent;
      min-height: 100vh;
      padding-bottom: env(safe-area-inset-bottom);
    }
    .fp-header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 255, 255, 0.85);
      border-bottom: 1px solid rgba(255,255,255,0.1);
      padding: 14px 20px;
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .fp-header h1 {
      margin: 0;
      font-size: 18px;
      font-weight: 600;
      color: #0f172a;
    }
    .fp-main {
      max-width: 720px;
      margin: 0 auto;
      padding: 32px 20px 48px;
    }
    .fp-page { display: none; }
    .fp-page.active { display: block; }
    .fp-page h2 {
      font-size: 22px;
      font-weight: 600;
      margin: 0 0 20px;
      color: #0f172a;
    }
    .fp-page h3 {
      font-size: 17px;
      font-weight: 600;
      margin: 24px 0 12px;
      color: #0f172a;
    }
    .fp-page p {
      margin: 0 0 14px;
      color: #475569;
    }
    .fp-page ul {
      margin: 0 0 14px;
      padding-left: 22px;
      color: #475569;
    }
    .fp-page li { margin-bottom: 6px; }
    .fp-page a { color: #007AFF; text-decoration: none; }
    .fp-page a:hover { text-decoration: underline; color: #6366f1; }
    .fp-card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 20px;
      margin-top: 24px;
    }
    .fp-card {
      background: rgba(255,255,255,0.75);
      border: 1px solid rgba(148,163,184,0.35);
      border-radius: 16px;
      padding: 24px;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .fp-card:hover { border-color: rgba(255,255,255,0.2); box-shadow: 0 4px 24px rgba(0,0,0,0.3); }
    .fp-card h3 { margin: 0 0 8px; font-size: 18px; }
    .fp-card p { margin: 0; font-size: 14px; color: #64748b; }
    .fp-card .price { font-size: 24px; font-weight: 700; color: #0f172a; margin: 12px 0 4px; }
    .fp-card .price span { font-size: 14px; font-weight: 400; color: rgba(255,255,255,0.6); }
    .fp-form {
      max-width: 480px;
      margin-top: 24px;
    }
    .fp-form label {
      display: block;
      font-size: 14px;
      font-weight: 500;
      color: rgba(255,255,255,0.9);
      margin-bottom: 6px;
    }
    .fp-form input,
    .fp-form select,
    .fp-form textarea {
      width: 100%;
      padding: 12px 14px;
      margin-bottom: 16px;
      font: inherit;
      font-size: 15px;
      color: #fff;
      background: #1a1a1a;
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 10px;
      box-sizing: border-box;
    }
    .fp-form input::placeholder,
    .fp-form textarea::placeholder { color: #6e6e73; }
    .fp-form textarea { min-height: 120px; resize: vertical; }
    .fp-form button {
      padding: 14px 24px;
      font: inherit;
      font-size: 15px;
      font-weight: 600;
      color: #fff;
      border: none;
      border-radius: 12px;
      cursor: pointer;
    }
    .fp-contact-list {
      list-style: none;
      padding: 0;
      margin: 20px 0;
    }
    .fp-contact-list li {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 14px;
      color: #475569;
    }
    .fp-contact-list i { color: #007AFF; width: 20px; text-align: center; }
    .fp-updated { font-size: 13px; color: #64748b; margin-top: 32px; }
    .fp-coming-soon { max-width: 480px; }
    .fp-cta { display: inline-block; padding: 12px 20px; color: #fff; border-radius: 12px; font-weight: 600; }
    body.embedded .fp-header h1 { margin-left: 0; }
