/* ==========================================================================
   APR — Hero
   ========================================================================== */
.apr-hero {
  position: relative; min-height: 100vh; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center;
  color: #fff; overflow: hidden; padding: 7rem 1.5rem 9rem;
}
.apr-hero__bg { position: absolute; inset: 0; z-index: 0; }
.apr-hero__bg img, .apr-hero__bg video { width: 100%; height: 100%; object-fit: cover; }
.apr-hero__bg::after { content: ""; position: absolute; inset: 0; background: var(--apr-grad-hero); }
/* Default (no photo): industrial steel gradient + blueprint grid. */
.apr-hero__bg--default { background: linear-gradient(135deg, #1A2F4E 0%, #2B4C7E 55%, #1A202C 100%); }
.apr-hero__bg--default::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(61,107,173,0.12) 1px, transparent 1px), linear-gradient(90deg, rgba(61,107,173,0.12) 1px, transparent 1px);
  background-size: 44px 44px;
}
.apr-hero__inner { position: relative; z-index: 3; max-width: 920px; }
.apr-hero__shield { display: block; width: min(280px, 56vw); margin: 0 auto 1.5rem; color: #fff; }
.apr-hero__shield img, .apr-hero__shield svg, .apr-hero__shield .apr-shield { display: block; width: 100%; height: auto; margin: 0 auto; }
.apr-hero h1 { color: #fff; font-size: clamp(2.6rem, 6vw, 4.5rem); }
.apr-hero__sub { font-family: var(--apr-font-body); color: rgba(255,255,255,0.95); text-shadow: 0 1px 10px rgba(0,0,0,0.5); font-size: clamp(1.05rem, 2vw, 1.25rem); margin: 1.1rem auto 1.6rem; max-width: 680px; }
.apr-hero__sub strong { color: #fff; }

/* Award badge in hero */
.apr-hero-award {
  display: inline-flex; align-items: center; gap: 0.85rem; margin-bottom: 1.9rem;
  background: rgba(26,32,44,0.55); border: 2px solid var(--apr-trophy-gold);
  border-radius: var(--apr-radius); padding: 0.7rem 1.25rem; backdrop-filter: blur(4px);
}
.apr-hero-award svg { width: 38px; height: 38px; color: var(--apr-trophy-gold); flex: none; }
.apr-hero-award__txt { text-align: left; line-height: 1.15; }
.apr-hero-award__txt b { font-family: var(--apr-font-head); font-weight: 700; color: var(--apr-trophy-gold); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.95rem; display: block; }
.apr-hero-award__txt span { font-family: var(--apr-font-label); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; color: #fff; }

.apr-hero .apr-trust-bar { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 3; }

@media (max-width: 768px) {
  /* On mobile the trust bar wraps to multiple rows, growing taller than any fixed
     reserved padding — so it floated over the Call button. Pull it into normal flow
     (pinned to the bottom via margin-top:auto) so content and bar never overlap. */
  .apr-hero { min-height: 92vh; padding: 5rem 1.25rem 1.5rem; justify-content: flex-start; }
  .apr-hero .apr-trust-bar { position: static; width: 100%; margin-top: auto; }
  .apr-hero h1 { font-size: clamp(1.9rem, 7.4vw, 2.8rem); overflow-wrap: break-word; }
  .apr-hero-award { padding: 0.55rem 1rem; }
  .apr-hero-award svg { width: 30px; height: 30px; }
}

/* --- Page hero (interior pages) --- */
.apr-page-hero {
  position: relative; min-height: 46vh; display: flex; align-items: center; justify-content: center;
  text-align: center; color: #fff; padding: 6rem 1.5rem 4rem; overflow: hidden;
}
.apr-page-hero__bg { position: absolute; inset: 0; z-index: 0; background: linear-gradient(135deg, #1A2F4E 0%, #2B4C7E 55%, #1A202C 100%); }
.apr-page-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.apr-page-hero__bg::after { content: ""; position: absolute; inset: 0; background: var(--apr-grad-hero); }
.apr-page-hero__inner { position: relative; z-index: 2; max-width: 820px; }
.apr-page-hero h1 { color: #fff; }
.apr-page-hero__sub { color: rgba(255,255,255,0.95); text-shadow: 0 1px 10px rgba(0,0,0,0.55); font-size: 1.15rem; margin-top: 0.75rem; font-family: var(--apr-font-body); }
