/**
 * PragmaApps V2 — Base Styles
 * Reset, typography, utility classes, and container.
 * All selectors prefixed with .newV2- to avoid Enfold conflicts.
 */

/* ── Box Sizing Reset ─────────────────────────────────────────────────────── */
.newV2-hero *, .newV2-header *, .newV2-footer *,
.newV2-approach *, .newV2-results *, .newV2-contact *,
.newV2-case-studies *, .newV2-cards-section * {
  box-sizing: border-box;
}

/* ── Font Application ─────────────────────────────────────────────────────── */
.newV2-hero, .newV2-header, .newV2-footer,
.newV2-approach, .newV2-results, .newV2-contact,
.newV2-case-studies, .newV2-cards-section,
.newV2-section-header {
  font-family: var(--pav2-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Container ────────────────────────────────────────────────────────────── */
.newV2-container {
  max-width: var(--pav2-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--pav2-container-pad);
  padding-right: var(--pav2-container-pad);
  width: 100%;
}

/* ── Section Defaults ─────────────────────────────────────────────────────── */
.newV2-hero,
.newV2-approach,
.newV2-results,
.newV2-case-studies,
.newV2-contact,
.newV2-cards-section {
  padding-top: var(--pav2-space-3xl);
  padding-bottom: var(--pav2-space-3xl);
}

/* ── Section Header ───────────────────────────────────────────────────────── */
.newV2-section-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--pav2-red);
  background: var(--pav2-red-light);
  border-radius: var(--pav2-radius-pill);
  padding: 6px 16px;
  margin-bottom: 16px;
}

.newV2-section-title {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  color: var(--pav2-black);
  line-height: 1.15;
  margin: 0 0 16px;
}

.newV2-section-sub {
  font-size: 17px;
  color: var(--pav2-gray-700);
  max-width: 560px;
  line-height: 1.7;
  margin: 0;
}

.newV2-section-header[style*="text-align:center"] .newV2-section-sub,
.newV2-section-header[style*="text-align: center"] .newV2-section-sub {
  margin-left: auto;
  margin-right: auto;
}

/* Dark header variant */
.newV2-section-header--dark .newV2-section-title { color: var(--pav2-white); }
.newV2-section-header--dark .newV2-section-sub   { color: rgba(255,255,255,0.7); }
.newV2-section-header--dark .newV2-section-tag   { background: rgba(215,38,56,0.2); color: #f5a0a8; }

/* ── Logo ─────────────────────────────────────────────────────────────────── */
.newV2-logo {
  font-family: var(--pav2-font);
  font-weight: 800;
  font-size: 22px;
  color: var(--pav2-black);
  text-decoration: none;
  letter-spacing: -0.3px;
}

.newV2-logo span { color: var(--pav2-red); }

.newV2-logo--white,
.newV2-logo--white span {
  color: var(--pav2-white) !important;
}

/* ── Link Base ────────────────────────────────────────────────────────────── */
.newV2-contact a,
.newV2-footer a,
.newV2-card__link,
.newV2-case-slide__link {
  text-decoration: none;
  transition: color var(--pav2-transition-fast);
}

/* ── Keyframe Animations ──────────────────────────────────────────────────── */
@keyframes pav2FadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes pav2CardIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes pav2TabProgress {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

@keyframes pav2PulseGreen {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.5; }
}
