/* Public site — light business agency layer (after app.css) */
:root,
html[data-theme="light"] {
  --color-primary: var(--biz-primary, #2271b1);
  --color-primary-600: var(--biz-primary-hover, #135e96);
  --color-accent: var(--biz-accent, #0d9488);
  --color-bg: #f7f8fa;
  --color-bg-soft: #eef1f5;
  --color-surface: #ffffff;
  --color-surface-2: #f8fafc;
  --color-text: #0f172a;
  --color-text-muted: #64748b;
  --color-border: rgba(15, 23, 42, 0.1);
  --shadow-md: 0 8px 28px rgba(15, 23, 42, 0.07);
  --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.05);
  --font: var(--biz-font, "DM Sans", system-ui, sans-serif);
  --font-display: var(--biz-display, "Source Serif 4", Georgia, serif);
  --premium-navy: #f7f8fa;
  --premium-midnight: #eef1f5;
  --premium-glass: rgba(255, 255, 255, 0.94);
  --premium-glow: 0 8px 28px rgba(34, 113, 177, 0.08);
  --premium-border-glow: rgba(34, 113, 177, 0.18);
}

html[data-theme="dark"] {
  --premium-navy: #0f1419;
  --premium-midnight: #111827;
  --premium-glass: rgba(26, 34, 54, 0.78);
}

body {
  font-family: var(--font);
  background: var(--color-bg);
  color: var(--color-text);
  background-image:
    linear-gradient(180deg, #ffffff 0%, var(--color-bg) 28%, var(--color-bg-soft) 100%);
}

.navbar {
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--color-border);
  backdrop-filter: blur(12px);
}

.navbar__brand {
  font-weight: 700;
  letter-spacing: -0.02em;
}

.hero {
  background:
    radial-gradient(ellipse 70% 50% at 80% 20%, rgba(34, 113, 177, 0.08), transparent),
    linear-gradient(180deg, #ffffff 0%, var(--color-bg) 100%);
  border-bottom: 1px solid var(--color-border);
}

.hero__title,
.section-title,
.plan-card__name {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  color: var(--color-text);
}

.hero__title {
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  font-weight: 700;
  max-width: 16ch;
  line-height: 1.12;
}

.hero__sub {
  color: var(--color-text-muted);
  max-width: 42ch;
  font-size: 1.05rem;
}

.btn--primary,
.btn.btn--primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
  border-radius: 6px;
  font-weight: 600;
}

.btn--primary:hover {
  background: var(--color-primary-600);
}

.service-card,
.why-card,
.plan-card,
.stat-card--premium,
.review-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  box-shadow: var(--shadow-sm);
}

.section {
  padding: var(--section-gap, clamp(64px, 8vw, 96px)) 0;
}

.section-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
}

.trust-strip {
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
}

.footer {
  background: #1d2327;
  color: #f0f0f1;
  border-top: none;
}
