:root {
  --pp-primary: #1565c0;
  --pp-primary-dark: #0d47a1;
  --pp-accent: #64b5f6;
  --pp-text: #222;
  --pp-bg: #f8fbff;
}

html, body {
  height: 100%;
}

body {
  font-family: 'Roboto', Arial, sans-serif;
  background: var(--pp-bg);
  color: var(--pp-text);
  line-height: 1.6;
}

/* Navbar */
.navbar.bg-primary {
  background: linear-gradient(90deg, var(--pp-primary) 0%, var(--pp-primary-dark) 100%) !important;
}

/* Hero sections */
.hero {
  color: #fff;
  padding: 88px 0 72px 0;
  background:
    linear-gradient(115deg, rgba(21,101,192,0.88), rgba(13,71,161,0.88)),
    url('../../header-team.jpeg') center/cover no-repeat;
}
.hero .tagline {
  font-style: italic;
  opacity: 0.95;
  margin-bottom: 8px;
}
.subhero {
  background: linear-gradient(90deg, #e3f2fd 0%, #bbdefb 100%);
  padding: 48px 0 36px 0;
}

/* Sections */
.section-title {
  color: var(--pp-primary);
  font-weight: 700;
  margin-top: 12px;
  margin-bottom: 16px;
}

/* Cards */
.card {
  border: none;
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(33,150,243,0.12);
}
.card .card-img-top {
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  height: 200px;
}
.hover-card {
  transition: transform .2s ease, box-shadow .2s ease;
}
.hover-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(33,150,243,0.18);
}

/* Buttons */
.btn-primary {
  background-color: var(--pp-primary);
  border-color: var(--pp-primary);
}
.btn-primary:hover {
  background-color: var(--pp-primary-dark);
  border-color: var(--pp-primary-dark);
}

/* Footer */
.footer {
  background: var(--pp-primary-dark);
  color: #fff;
  text-align: center;
  padding: 24px 0 12px 0;
  margin-top: 48px;
}

/* Imagery */
.img-fluid {
  max-width: 100%;
  height: auto;
}
.rounded-3 {
  border-radius: 1rem !important;
}

/* Utilities */
@media (max-width: 600px) {
  .hero { padding: 64px 0 52px 0; }
  .subhero { padding: 36px 0 24px 0; }
}
