:root{
  /* Theme derived from the ARPOAP police logo: deep maroon-red + navy */
  --navy:#3a0a0a;          /* deep maroon (logo text ring) — primary dark */
  --navy-dark:#280505;     /* darker maroon */
  --gold:#9e0b0f;          /* police red — accent */
  --steel:#7a1418;         /* mid red */
  --logo-red:#b8121a;      /* bright brand red for the logo text */
  --logo-navy:#0d1b40;     /* eagle navy (secondary) */
}
body{ font-family:"Segoe UI",system-ui,Arial,sans-serif; color:#24323f; background:#f4f6f9; }

/* header */
.site-top{ background:#fff; border-top:4px solid var(--gold); }
.site-logo{ height:64px;width:auto;object-fit:contain; }
.brand-title{ font-weight:800;color:var(--logo-red);font-size:1.3rem;line-height:1.1;letter-spacing:.3px; }
.brand-sub{ color:var(--logo-navy);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:2px; }

/* nav */
.main-nav{ background:var(--navy); }
.main-nav .nav-link{ color:#dbe4ef;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;padding:.7rem 1rem; }
.main-nav .nav-link:hover,.main-nav .nav-link.active{ color:var(--gold); }
.main-nav .dropdown-menu{ border:0;border-top:3px solid var(--gold);border-radius:0; }
.main-nav .dropdown-item{ font-size:.85rem;font-weight:500; }

/* hero */
.hero{
  background:linear-gradient(rgba(9,31,56,.82),rgba(9,31,56,.82));
  color:#fff;padding:4.5rem 0;text-align:center;border-bottom:4px solid var(--gold);
}
.hero h1{ font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.4); }
.hero p{ font-size:1.1rem;opacity:.92; }

/* section headings */
.section-title{ color:var(--navy);font-weight:700;position:relative;padding-bottom:.6rem;margin-bottom:1.5rem; }
.section-title:after{ content:"";position:absolute;left:0;bottom:0;width:60px;height:3px;background:var(--gold); }
.text-center .section-title:after{ left:50%;transform:translateX(-50%); }

/* cards */
.card-thumb{ height:190px;object-fit:cover;object-position:top center;width:100%; }
.event-card .card-title{ font-size:1rem;font-weight:600;color:var(--navy); }
.event-card{ transition:transform .15s,box-shadow .15s;border:0;box-shadow:0 1px 4px rgba(0,0,0,.08); }
.event-card:hover{ transform:translateY(-4px);box-shadow:0 6px 18px rgba(0,0,0,.15); }

/* member */
.member-card img{ height:280px;object-fit:cover;object-position:top center;width:100%;background:#e9eef4; }
.member-card .name{ color:var(--navy);font-weight:600; }
.profile-table td:first-child{ width:40px;text-align:center;font-weight:600;background:#f0f4f8; }
.profile-table td:nth-child(2){ width:34%;font-weight:600;color:var(--navy);background:#f7f9fc; }

/* gallery grid */
.gallery-grid img{ height:170px;width:100%;object-fit:cover;object-position:top center;border-radius:4px;cursor:pointer;transition:opacity .15s; }
.gallery-grid img:hover{ opacity:.85; }

/* lightbox prev/next navigation arrows */
.lb-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  border:0; width:46px; height:64px; cursor:pointer;
  background:rgba(0,0,0,.4); color:#fff; font-size:1.6rem; line-height:1;
  display:flex; align-items:center; justify-content:center;
  border-radius:6px; transition:background .15s;
}
.lb-nav:hover{ background:var(--gold,#c9a24b); color:#1a1a1a; }
.lb-prev{ left:8px; }
.lb-next{ right:8px; }
@media (max-width:576px){ .lb-nav{ width:38px; height:52px; font-size:1.3rem; } }

/* footer */
.site-footer{ background:var(--navy);color:#c9d4e2;margin-top:2rem; }
.footer-h{ color:var(--gold);text-transform:uppercase;letter-spacing:1px;font-size:.85rem;margin-bottom:1rem; }
.footer-links a{ color:#c9d4e2;text-decoration:none; }
.footer-links a:hover{ color:var(--gold); }
.footer-bottom{ background:var(--navy-dark);color:#8ea1ba; }
.footer-bottom a{ color:var(--gold); }

.breadcrumb{ background:transparent;padding-left:0; }
.page-body img{ max-width:100%;height:auto; }
.page-body table{ width:100%;margin:1rem 0; }

/* ============================================================
   CORPORATE HOME — components
   ============================================================ */

/* top info bar above header */
.info-bar{ background:var(--navy-dark); color:#c9d4e2; font-size:.82rem; }
.info-bar a{ color:#c9d4e2; text-decoration:none; }
.info-bar a:hover{ color:var(--gold); }

/* hero (corporate, full-bleed with overlay + image) */
.hero-corp{
  position:relative; color:#fff; overflow:hidden;
  background:linear-gradient(120deg, rgba(9,31,56,.94) 0%, rgba(13,43,78,.86) 55%, rgba(31,78,121,.78) 100%);
  border-bottom:4px solid var(--gold);
}
.hero-corp .hero-bg{
  position:absolute; inset:0; z-index:0; opacity:.18;
  background-size:cover; background-position:center;
}
.hero-corp .container{ position:relative; z-index:1; }
.hero-corp .eyebrow{ color:var(--gold); letter-spacing:3px; text-transform:uppercase; font-weight:600; font-size:.8rem; }
.hero-corp h1{ font-weight:800; font-size:2.6rem; text-shadow:0 3px 12px rgba(0,0,0,.45); line-height:1.15; }
.hero-corp p.lead{ font-size:1.12rem; opacity:.94; max-width:620px; }
.hero-corp .btn-gold{ background:var(--gold); border:0; color:#1a1a1a; font-weight:600; }
.hero-corp .btn-gold:hover{ background:#d8b75c; }
.hero-corp .btn-ghost{ border:1px solid rgba(255,255,255,.6); color:#fff; }
.hero-corp .btn-ghost:hover{ background:#fff; color:var(--navy); }

/* floating stat strip overlapping hero */
.stat-strip{ margin-top:-50px; position:relative; z-index:5; }
.stat-box{ background:#fff; border-radius:10px; box-shadow:0 8px 24px rgba(9,31,56,.12); padding:1.4rem 1rem; text-align:center; height:100%; }
.stat-box .ico{ width:54px;height:54px;border-radius:12px;background:rgba(31,78,121,.1);color:var(--steel);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.5rem; }
.stat-box .num{ font-size:2rem;font-weight:800;color:var(--navy);line-height:1; }
.stat-box .lbl{ color:#6b7a8d;font-size:.82rem;text-transform:uppercase;letter-spacing:1px; }

/* feature cards (aims) */
.feature{ background:#fff;border-radius:10px;padding:1.6rem;height:100%;border:1px solid #eef2f6;transition:.2s; }
.feature:hover{ box-shadow:0 10px 28px rgba(9,31,56,.1); transform:translateY(-4px); border-color:transparent; }
.feature .fico{ width:58px;height:58px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1rem; }
.feature h5{ color:var(--navy);font-weight:700;font-size:1.05rem; }

/* section band variations */
.band{ padding:4rem 0; }
.band-light{ background:#fff; }
.band-soft{ background:#eef2f7; }
.band-navy{ background:var(--navy); color:#dbe4ef; }
.band-navy .section-title{ color:#fff; }
.band-navy .section-title:after{ background:var(--gold); }

/* leadership cards */
.leader{ background:#fff;border-radius:10px;overflow:hidden;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.06);height:100%;transition:.2s; }
.leader:hover{ transform:translateY(-5px);box-shadow:0 12px 30px rgba(9,31,56,.16); }
.leader img{ width:100%;height:300px;object-fit:cover;object-position:top center;background:#e9eef4; }
.leader .lbody{ padding:1rem; }
.leader .lname{ font-weight:700;color:var(--navy); }
.leader .ldesig{ color:#7a8a9c;font-size:.82rem; }
.leader .lbar{ height:4px;background:var(--gold); }

/* activity row */
.activity-item{ background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);height:100%; }
.activity-item img{ width:100%;height:180px;object-fit:cover;object-position:top center; }
.activity-item .abody{ padding:1rem; }

/* CTA banner */
.cta{ background:linear-gradient(120deg,var(--steel),var(--navy)); color:#fff; border-radius:14px; padding:2.6rem; position:relative; overflow:hidden; }
.cta:before{ content:"\F470"; font-family:"bootstrap-icons"; position:absolute; right:-10px; bottom:-30px; font-size:11rem; opacity:.08; }

/* district pill grid */
.unit-pill{ display:block;background:#fff;border-radius:8px;padding:1rem;text-align:center;text-decoration:none;color:var(--navy);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.06);transition:.15s;border-bottom:3px solid transparent; }
.unit-pill:hover{ border-bottom-color:var(--gold); color:var(--steel); transform:translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,.1); }
.unit-pill i{ font-size:1.6rem;color:var(--steel);display:block;margin-bottom:.4rem; }

/* in-memoriam */
.memoriam{ background:#fff;border-left:4px solid var(--gold);border-radius:6px;padding:1rem 1.2rem;box-shadow:0 1px 4px rgba(0,0,0,.05); }

@media (max-width:768px){
  .hero-corp h1{ font-size:1.9rem; }
  .stat-strip{ margin-top:1.5rem; }
}

/* ============ ROTATING HERO SLIDESHOW ============ */
.hero-slides{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center 25%;  /* bias toward top so faces/heads stay in frame */
  opacity:0; transition:opacity 1.6s ease-in-out;
  animation:kenburns 9s ease-out infinite alternate;
}
.hero-slide.active{ opacity:.28; }            /* sits under the navy gradient overlay */
@keyframes kenburns{
  from{ transform:scale(1.02); }
  to  { transform:scale(1.1); }               /* gentle zoom only — no vertical drift that would clip heads */
}
/* slide indicator dots */
.hero-dots{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:8px; }
.hero-dots button{ width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:.2s; }
.hero-dots button.on{ background:var(--gold); width:26px;border-radius:6px; }

/* member card placeholder (no photo) — matches photo height so grid stays even */
.member-noimg{ height:280px; background:linear-gradient(160deg,#e9eef4,#dfe6ee); color:var(--steel); }
.member-noimg i{ font-size:3.4rem; opacity:.5; }
.member-noimg span{ font-size:1.4rem; color:var(--navy); }

/* aims & objectives — numbered cards */
.aim-card{ background:#fff;border:1px solid #eef2f6;border-radius:10px;padding:1.4rem 1.4rem 1.4rem 3.6rem;position:relative;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:.2s; }
.aim-card:hover{ box-shadow:0 8px 22px rgba(58,10,10,.12);transform:translateY(-3px);border-color:transparent; }
.aim-num{ position:absolute;left:1rem;top:1.4rem;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.95rem; }

/* ============ MEGA MENU (70% width, centered, colourful) ============ */
.main-nav .position-static{ position:static; }
.mega-menu{
  width:70%; max-width:1000px; left:50% !important; right:auto;
  transform:translateX(-50%);
  border:0; border-radius:0 0 14px 14px; padding:1.6rem 1.8rem;
  margin-top:0; box-shadow:0 18px 44px rgba(40,5,5,.28);
  background:linear-gradient(180deg,#ffffff 0%,#fbf6f6 100%);
  border-top:4px solid var(--gold);
}
.mega-menu .container{ max-width:100%; padding:0; }
.mega-menu .mega-h{
  color:#fff; font-size:.74rem; text-transform:uppercase; letter-spacing:1.2px;
  font-weight:700; padding:.4rem .8rem; margin-bottom:.6rem; border:0; border-radius:6px;
  background:linear-gradient(120deg,var(--navy),var(--steel)); display:inline-block;
}
/* colourful icon items */
.mega-menu .dropdown-item{
  font-size:.85rem; padding:.5rem .7rem; color:#2b3642; border-radius:8px;
  white-space:normal; display:flex; align-items:center; gap:.6rem; margin-bottom:.15rem;
  transition:.15s;
}
.mega-menu .dropdown-item i{
  width:30px; height:30px; flex:0 0 30px; border-radius:8px; display:inline-flex;
  align-items:center; justify-content:center; font-size:.95rem; color:#fff;
}
.mega-menu .dropdown-item:hover{ background:#fff; color:var(--logo-red); box-shadow:0 3px 10px rgba(0,0,0,.08); transform:translateX(3px); }
/* icon colour palette — rotates by column */
.mega-c1 i{ background:linear-gradient(135deg,#b8121a,#7a1418); }
.mega-c2 i{ background:linear-gradient(135deg,#1f4e79,#0d1b40); }
.mega-c3 i{ background:linear-gradient(135deg,#c8881a,#9e6a0b); }
.mega-c4 i{ background:linear-gradient(135deg,#1c7a4d,#0e5233); }
.mega-menu .mega-cta{ background:var(--gold);color:#fff;font-weight:600; }
@media (min-width:992px){
  .main-nav .dropdown:hover > .mega-menu{ display:block; }
}
@media (max-width:991px){
  .mega-menu{ width:100%; transform:none; left:0 !important; }
}

/* ============ PAGE BANNER (inner page hero) ============ */
.page-banner{
  position:relative; padding:3.2rem 0; margin-bottom:2rem; overflow:hidden;
  background:var(--navy); color:#fff; border-bottom:4px solid var(--gold);
}
.page-banner .pb-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:.22; z-index:0;
}
.page-banner:before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(120deg, rgba(40,5,5,.92), rgba(122,20,24,.7));
}
.page-banner .container{ position:relative; z-index:2; }
.page-banner h1{ font-weight:800; margin:0; text-shadow:0 2px 8px rgba(0,0,0,.4); }
.page-banner .pb-crumb{ color:#f0d9d9; font-size:.85rem; opacity:.9; }
.page-banner .pb-crumb a{ color:#fff; text-decoration:none; }

/* nicer typography for content pages */
.page-body{ font-size:1rem; line-height:1.7; color:#2b3642; }
.page-body h4{ color:var(--logo-red); }
.page-body .lead{ color:var(--navy)!important; font-weight:500; }
.page-body img{ border-radius:10px; }

/* sitemap page */
.sitemap-list li{ padding:.3rem 0; border-bottom:1px dashed #eee; }
.sitemap-list a{ color:#33414f; text-decoration:none; font-size:.92rem; }
.sitemap-list a:hover{ color:var(--logo-red); padding-left:4px; transition:.15s; }
