/* PrivaxisOS - marketing.css: shared theme for the marketing pages (index, law).
   Dark hero, larger buttons/spacing. Linked after site.css, before page styles. */

/* Hero */
  .hero {
    padding: 160px 80px 100px;
    background: linear-gradient(135deg, #214663 0%, #1a3a4f 40%, #1a8d93 100%);
    position: relative; overflow: hidden; text-align: center; color: #fff;
  }
.hero::before {
    content: ''; position: absolute; top: -300px; right: -200px;
    width: 800px; height: 800px; border-radius: 50%;
    background: radial-gradient(circle, rgba(26,141,147,0.15) 0%, transparent 70%);
  }
.hero::after {
    content: ''; position: absolute; bottom: -200px; left: -100px;
    width: 600px; height: 600px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 70%);
  }
.hero-inner { max-width: 900px; margin: 0 auto; position: relative; z-index: 1; }
.hero-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15);
    color: #a5f3fc; padding: 8px 20px; border-radius: 100px;
    font-size: 13px; font-weight: 600; margin-bottom: 32px; letter-spacing: 0.5px;
  }
.hero h1 { font-size: 56px; font-weight: 900; line-height: 1.1; margin-bottom: 24px; }
.hero h1 span { color: #5eead4; }
.hero-desc { font-size: 20px; color: #94a3b8; line-height: 1.7; max-width: 700px; margin: 0 auto 40px; }
.hero-buttons { display: flex; gap: 16px; justify-content: center; margin-bottom: 64px; }
.btn-hero-primary {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 16px 36px; background: #1a8d93; color: #fff;
    border-radius: 12px; font-size: 16px; font-weight: 700;
    transition: all 0.2s; box-shadow: 0 4px 20px rgba(26,141,147,0.4);
  }
.btn-hero-primary:hover { background: #158a8f; transform: translateY(-1px); }
.btn-hero-outline {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 16px 36px; background: transparent; color: #fff;
    border: 2px solid rgba(255,255,255,0.25); border-radius: 12px;
    font-size: 16px; font-weight: 700; transition: all 0.2s;
  }
.btn-hero-outline:hover { border-color: #fff; background: rgba(255,255,255,0.05); }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; max-width: 800px; margin: 0 auto; }
.hero-stat {
    text-align: center; padding: 24px 16px;
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px; backdrop-filter: blur(8px);
  }
.hero-stat-value { font-size: 32px; font-weight: 800; color: #fff; }
.hero-stat-label { font-size: 12px; color: #94a3b8; font-weight: 500; margin-top: 4px; }
/* Sections */
  .section { padding: 100px 80px; }
.section-inner { max-width: 1200px; margin: 0 auto; }
.section-header { text-align: center; max-width: 700px; margin: 0 auto 60px; }
.section-label {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; font-weight: 600; color: #1a8d93;
    text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px;
  }
.section-title { font-size: 40px; font-weight: 800; color: #214663; margin-bottom: 16px; line-height: 1.2; }
.section-subtitle { font-size: 17px; color: #64748b; line-height: 1.7; }
.bg-slate { background: #f8fafc; }
.bg-dark { background: #0f172a; }
/* CTA */
  .cta {
    background: linear-gradient(135deg, #214663 0%, #1a3a4f 50%, #214663 100%);
    padding: 100px 80px; text-align: center; color: #fff;
  }
.cta h2 { font-size: 40px; font-weight: 800; margin-bottom: 16px; }
.cta p { font-size: 18px; color: #94a3b8; max-width: 600px; margin: 0 auto 40px; line-height: 1.7; }
.cta-buttons { display: flex; gap: 16px; justify-content: center; }
.btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 16px 36px; background: #1a8d93; color: #fff;
    border-radius: 12px; font-size: 16px; font-weight: 700;
    transition: background 0.2s;
  }
.btn-primary:hover { background: #158a8f; }
.btn-outline {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 16px 36px; background: transparent; color: #fff;
    border: 2px solid rgba(255,255,255,0.3); border-radius: 12px;
    font-size: 16px; font-weight: 700; transition: all 0.2s;
  }
.btn-outline:hover { border-color: #fff; background: rgba(255,255,255,0.05); }
/* Footer */
  .footer { background: #0f172a; color: #64748b; padding: 48px 80px 32px; }
