/* AFR.I.PRE.S visual refinement — loaded after the original template CSS. */
:root {
  --afr-navy: #071b3b;
  --afr-blue: #174ea6;
  --afr-blue-bright: #2f67d8;
  --afr-green: #1d8b63;
  --afr-ink: #102038;
  --afr-muted: #667085;
  --afr-line: #e6ebf2;
  --afr-surface: #f5f7fb;
  --afr-radius: 16px;
  --afr-shadow: 0 18px 50px rgba(7, 27, 59, 0.10);
}

html { scroll-behavior: smooth; }
body { color: var(--afr-ink); background: #fff; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(47, 103, 216, 0.35);
  outline-offset: 3px;
}

/* Header: compact, balanced and readable on every viewport. */
.wpo-site-header {
  position: relative;
  z-index: 1000;
  border-bottom: 1px solid rgba(7, 27, 59, 0.08);
  box-shadow: 0 4px 20px rgba(7, 27, 59, 0.05);
}
.wpo-site-header .navigation { min-height: 88px; }
.wpo-site-header .navigation .row { width: 100%; margin: 0; }
.wpo-site-header .navbar-header .navbar-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 88px;
}
.wpo-site-header .navbar-header .logo-afripres {
  width: auto;
  max-width: 148px;
  max-height: 74px;
}
.wpo-site-header #navbar > ul > li > a {
  color: var(--afr-ink);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.wpo-site-header #navbar > ul > li > a:hover { color: var(--afr-blue); }
.wpo-site-header .header-right .close-form .theme-btn-s3 {
  color: var(--afr-ink);
  font-weight: 700;
}
.wpo-site-header .header-right .close-form .theme-btn-s2 {
  border-radius: 8px;
  text-transform: none;
  background: var(--afr-blue);
  box-shadow: 0 8px 20px rgba(23, 78, 166, 0.18);
}

/* Hero: premium photography, calmer motion and stronger content hierarchy. */
.afr-hero-slider { height: min(720px, calc(100vh - 88px)); min-height: 600px; }
.afr-hero-slider .slide-bg { background-position: center center; }
.afr-hero-slider .slide-overlay-blue,
.afr-hero-slider .slide-overlay-green,
.afr-hero-slider .slide-overlay-red {
  background: linear-gradient(90deg, rgba(3, 17, 43, .94) 0%, rgba(3, 25, 61, .80) 40%, rgba(3, 22, 50, .32) 70%, rgba(3, 17, 43, .14) 100%);
}
.afr-hero-slider .slide-content { padding-left: max(5vw, 32px); }
.afr-hero-slider .slide-inner-content { max-width: 720px; }
.afr-hero-slider .slide-heading {
  font-size: clamp(42px, 4.4vw, 68px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  text-shadow: 0 4px 24px rgba(0, 0, 0, .25);
}
.afr-hero-slider .slide-sub { max-width: 620px; font-size: 18px; }
.afr-hero-slider .btn-primary-hero,
.afr-hero-slider .btn-outline-hero { border-radius: 8px; }
.afr-hero-slider .btn-primary-hero { background: var(--afr-blue-bright); }
.afr-hero-stats { background: var(--afr-navy); padding: 20px 0; }
.afr-hero-stats .stat-item { min-height: 54px; }
.afr-hero-stats .stat-num { font-size: 20px; letter-spacing: -.02em; }
.afr-hero-stats .stat-label { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }

/* Shared spacing and headings. */
.wpo-about-section,
.wpo-feature-section,
.wpo-history-section,
.wpo-faq-section,
.wpo-brand-partner-section,
.wpo-blog-section { position: relative; }
.wpo-section-title h2,
.wpo-section-title-s2 h2,
.about-title-right h2 {
  color: var(--afr-ink);
  letter-spacing: -0.035em;
}
.wpo-section-title-s2 > span,
.about-title-left > span {
  color: var(--afr-blue);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* About and strengths: cleaner cards and less template decoration. */
.wpo-about-section { padding-top: 110px; }
.wpo-about-section .about-wrap { gap: 20px; }
.wpo-about-section .about-items,
.wpo-feature-section .feature-items {
  border: 1px solid var(--afr-line);
  border-radius: var(--afr-radius);
  background: #fff;
  box-shadow: 0 12px 35px rgba(7, 27, 59, .06);
}
.wpo-about-section .about-items .items-image { overflow: hidden; border-radius: var(--afr-radius); }
.wpo-feature-section { background: var(--afr-surface); }
.wpo-feature-section .feature-max .feature-wrap .feature-items {
  transition: transform .25s ease, box-shadow .25s ease;
}
.wpo-feature-section .feature-max .feature-wrap .feature-items:hover {
  transform: translateY(-5px);
  box-shadow: var(--afr-shadow);
}

/* Intervention cards: consistent photographic crop with permanently readable labels. */
.wpo-project-section { padding-top: 110px; background: #fff; }
.wpo-project-section .project-wrapper .project-card .image {
  position: relative;
  overflow: hidden;
  border-radius: var(--afr-radius);
  background: var(--afr-navy);
}
.wpo-project-section .project-wrapper .project-card .image > img {
  max-width: none;
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .45s ease;
}
.wpo-project-section .project-wrapper .project-card:hover .image > img { transform: scale(1.035); }
.wpo-project-section .project-wrapper .project-card .image::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(180deg, transparent, rgba(3, 17, 43, .92));
  pointer-events: none;
}
.wpo-project-section .project-wrapper .project-card .image .content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: none;
  width: auto;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  transform: none;
  opacity: 1;
  visibility: visible;
  padding: 22px 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(7, 27, 59, .78);
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.wpo-project-section .project-wrapper .project-card .image .content h2 { max-width: 270px; }
.wpo-project-section .project-wrapper .project-card .image .content h2 a { color: #fff; }

/* Editorial cards replace all grey template placeholders. */
.wpo-blog-section { background: var(--afr-surface); }
.wpo-blog-section .blog-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--afr-line);
  border-radius: var(--afr-radius);
  background: #fff;
  box-shadow: 0 14px 40px rgba(7, 27, 59, .07);
}
.wpo-blog-section .blog-card .blog-image { aspect-ratio: 4 / 3; }
.wpo-blog-section .blog-card .blog-image img { width: 100%; height: 100%; object-fit: cover; }
.wpo-blog-section .blog-card .blog-text { padding: 28px 30px 30px; }
.wpo-blog-section .blog-card .blog-text h2,
.wpo-blog-section .blog-card .blog-text h3 {
  max-width: none;
  font-size: 25px;
  line-height: 1.28;
  letter-spacing: -.02em;
}
.wpo-blog-section .blog-card .blog-text h2 a,
.wpo-blog-section .blog-card .blog-text h3 a { color: var(--afr-ink); }
.wpo-blog-section .blog-card .blog-text .blog-bottom .more-btn { color: var(--afr-blue); font-weight: 700; }

/* Process, partners, CTA and footer. */
.wpo-history-section .history-item { border-radius: var(--afr-radius); border-color: var(--afr-line); }
.wpo-brand-partner-section .client-logo img { filter: grayscale(100%); opacity: .72; transition: .25s ease; }
.wpo-brand-partner-section .client-logo img:hover { filter: none; opacity: 1; }
.wpo-cta-section {
  background-image: linear-gradient(90deg, rgba(3, 17, 43, .96), rgba(3, 24, 58, .76)), url('../images/professional/hero-maintenance.webp');
  background-size: cover;
  background-position: center;
}
.footer-common,
.footer-section-s1 { background: #050f23; }

@media (max-width: 1199px) {
  .wpo-site-header .header-quote-btn span { display: none; }
  .wpo-site-header .header-right .close-form .theme-btn-s2 { padding: 12px 14px; }
  .afr-hero-slider { min-height: 580px; }
}

@media (max-width: 991px) {
  .wpo-site-header .navigation { min-height: 74px; padding: 0; }
  .wpo-site-header .navbar-header .navbar-brand { height: 74px; }
  .wpo-site-header .navbar-header .logo-afripres { max-height: 62px; max-width: 124px; }
  .wpo-site-header .mobail-menu button span { background: var(--afr-ink); }
  .afr-hero-slider { height: 640px; min-height: 0; }
  .afr-hero-slider .slide-bg { background-position: 65% center; }
  .afr-hero-slider .slide-overlay-blue,
  .afr-hero-slider .slide-overlay-green,
  .afr-hero-slider .slide-overlay-red {
    background: linear-gradient(90deg, rgba(3,17,43,.95), rgba(3,24,58,.70));
  }
  .wpo-project-section .project-wrapper .project-card .image > img { height: 460px; }
}

@media (max-width: 767px) {
  .wpo-site-header .header-quote-btn { display: none; }
  .afr-hero-slider { height: 610px; }
  .afr-hero-slider .slide-content { align-items: center; padding: 40px 22px 70px; }
  .afr-hero-slider .slide-heading { font-size: 37px; }
  .afr-hero-slider .slide-sub { font-size: 16px; line-height: 1.55; }
  .afr-hero-slider .btn-primary-hero,
  .afr-hero-slider .btn-outline-hero { width: 100%; justify-content: center; }
  .afr-hero-stats .stat-item { padding: 12px 5px; gap: 10px; }
  .afr-hero-stats .stat-icon { width: 38px; height: 38px; }
  .afr-hero-stats .stat-num { font-size: 16px; }
  .wpo-about-section { padding-top: 70px; }
  .wpo-project-section { padding-top: 70px; }
  .wpo-project-section .project-wrapper .project-card .image > img { height: 420px; }
  .wpo-project-section .project-wrapper .project-card .image .content { left: 14px; right: 14px; bottom: 14px; padding: 18px; }
  .wpo-blog-section .blog-card .blog-text { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
