.nav a{color:#000}
.nav a:hover{background:none;color:var(--orange);text-shadow: none}

main .btn-white{background:#fff;color:#000;border:none;}
main .btn-orange {background: var(--orange);color:#fff;border:none;}
.apc-page {
  --apc-max: 1180px;
  --apc-pad: 22px;
  --apc-radius: 18px;

  --blue: #0A4F98;
  --orange: #F36721;

  --apc-border: rgba(10, 79, 152, .18);
  --apc-muted: rgba(0,0,0,.62);
  --apc-ink: rgba(0,0,0,.92);
  --apc-soft: rgba(10, 79, 152, .05);
  --apc-soft2: rgba(10, 79, 152, .08);
}

.apc-wrap {
  width: min(var(--apc-max), calc(100% - (var(--apc-pad) * 2)));
  margin-inline: auto;
}

.apc-section { padding: 74px 0; }
.apc-section--alt { background: var(--apc-soft); }

.apc-muted { color: var(--apc-muted); }
.apc-lead { color: var(--apc-muted); line-height: 1.8; font-size: 1.08rem; max-width: 70ch; }
.apc-h2 { letter-spacing: -.02em; }

.apc-breadcrumb {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: .95rem;
  color: var(--apc-muted);
  margin-bottom: 18px;
}
.apc-breadcrumb a { color: inherit; text-decoration: none; }
.apc-breadcrumb a:hover { text-decoration: underline; }

.apc-hero {
  padding: 60px 0 46px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(243, 103, 33, .14), transparent 46%),
    radial-gradient(circle at 85% 15%, rgba(10, 79, 152, .14), transparent 55%),
    linear-gradient(180deg, rgba(10, 79, 152, .06), transparent 70%);
}

.apc-hero--about::before {
  content: "";
  position: absolute;
  inset: -45% -25% auto -25%;
  height: 420px;
  pointer-events: none;
}

.apc-hero2 {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 24px;
  align-items: start;
  position: relative;
}

.apc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid var(--apc-border);
  border-radius: 999px;
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(8px);
  color: var(--blue);
  font-weight: 900;
  font-size: .95rem;
  margin-bottom: 14px;
}

.apc-dot {
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243, 103, 33, .18);
}

.apc-hero2 h1 {
  margin: 0 0 14px;
  color: var(--apc-ink);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
}

.apc-hero2__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 18px;
}

.apc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid var(--apc-border);
  font-weight: 900;
  line-height: 1;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.apc-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 38px rgba(10,79,152,.18); }

.apc-btn--primary {
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  border-color: rgba(10,79,152,.35);
}
.apc-btn--primary:hover { box-shadow: 0 16px 44px rgba(10,79,152,.26); }

.apc-btn--ghost {
  background: #fff;
  backdrop-filter: blur(8px);
  color: var(--blue);
}
.apc-btn--ghost:hover { border-color: rgba(243,103,33,.35); box-shadow: 0 14px 38px rgba(243,103,33,.16); }

.apc-btn--onDark {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.30);
}

.apc-ico { display: inline-flex; color: currentColor; }
.apc-ico svg { display: block; }

.apc-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.apc-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--apc-border);
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 800;
  color: rgba(0,0,0,.86);
  background: rgba(255,255,255,.74);
  backdrop-filter: blur(8px);
}
.apc-badge__ico { width: 18px; height: 18px; color: var(--blue); }

.apc-hero2__media {
  position: relative;
  border-radius: calc(var(--apc-radius) + 10px);
  overflow: hidden;
  border: 1px solid var(--apc-border);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}

.apc-hero2__media img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
}

.apc-mediaCard {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.1);
  text-shadow: 0 0 020px #000;
}
.apc-mediaCard__ico {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgb(255 255 255 / 20%);
  color: var(--orange);
}
.apc-mediaCard__title {font-weight: 900;color: #fff;margin-bottom: 4px;}
.apc-mediaCard__text {color: #fff;line-height: 1.55;font-weight: normal;}

.apc-split {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: start;
}

.apc-featureRow {
  margin-top: 18px;
  display: grid;
  gap: 12px;
}

.apc-feature {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: calc(var(--apc-radius) + 2px);
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-feature:hover {
  transform: translateY(-2px);
  border-color: rgba(243,103,33,.30);
  box-shadow: 0 20px 56px rgba(243,103,33,.10);
}
.apc-feature__ico {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.apc-feature__title { font-weight: 900; color: var(--apc-ink); margin-bottom: 4px; letter-spacing: -.01em; }
.apc-feature__text { color: var(--apc-muted); line-height: 1.6; font-weight: 650; }

.apc-sideStack { display: grid; gap: 14px; }

.apc-infoCard {
  border: 1px solid rgba(10,79,152,.16);
  border-radius: var(--apc-radius);
  background: #fff;
  padding: 18px;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
}
.apc-infoCard__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.apc-infoCard__ico {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10,79,152,.06);
  color: var(--orange);
}
.apc-infoCard h3 { margin: 0; letter-spacing: -.01em; color: var(--blue); }

.apc-infoCard--gradient {
  background: radial-gradient(circle at 18% 20%, rgb(231 231 231 / 14%), transparent 55%), radial-gradient(circle at 80% 20%, rgba(10, 79, 152, .14), transparent 55%), #fff;
}

.apc-list { margin: 0; padding-left: 0; list-style: none; }
.apc-list--icon li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 0;
  color: var(--apc-muted);
  line-height: 1.65;
  font-weight: 750;
}
.apc-liico {
  width: 22px;
  height: 22px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(243,103,33,.10);
  border: 1px solid rgba(243,103,33,.25);
  color: var(--orange);
}
.apc-liico svg { width: 16px; height: 16px; display: block; }

.apc-miniLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.apc-miniLinks a {
  text-decoration: none;
  font-weight: 900;
  color: var(--blue);
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  padding: 8px 12px;
  border-radius: 999px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-miniLinks a:hover {
  transform: translateY(-1px);
  border-color: rgba(243,103,33,.30);
  box-shadow: 0 14px 34px rgba(243,103,33,.10);
}

.apc-section__head { margin-bottom: 22px; max-width: 860px; }

.apc-principles2 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.apc-principle2 {
  border: 1px solid rgba(10,79,152,.16);
  border-radius: var(--apc-radius);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  padding: 18px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-principle2:hover {
  transform: translateY(-2px);
  border-color: rgba(243,103,33,.30);
  box-shadow: 0 18px 46px rgba(10,79,152,.10);
}
.apc-principle2__ico {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  color: var(--blue);
}
.apc-principle2 h3 {
  margin: 0 0 10px;
  color: var(--apc-ink);
  letter-spacing: -.01em;
  font-size: 1.02rem;
}
.apc-principle2 p {
  margin: 0;
  color: var(--apc-muted);
  line-height: 1.7;
  font-weight: 650;
}

.apc-cta { padding-top: 0; }
.apc-ctaBox {
  border-radius: calc(var(--apc-radius) + 10px);
  background:
    radial-gradient(circle at 18% 20%, rgba(243,103,33,.20), transparent 55%),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  padding: 28px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items: center;
  box-shadow: 0 28px 80px rgba(10,79,152,.26);
  border: 1px solid rgba(255,255,255,.14);
}
.apc-ctaBox h2 { margin: 0 0 10px; }
.apc-ctaBox .apc-muted { color: rgba(255,255,255,.80); font-weight: 650; }
.apc-ctaBox__actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }

/* Responsive */
@media (max-width: 1100px) {
  .apc-principles2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .apc-hero2 { grid-template-columns: 1fr; }
  .apc-hero2__media img { height: 360px; }
  .apc-split { grid-template-columns: 1fr; }
  .apc-ctaBox { grid-template-columns: 1fr; }
  .apc-ctaBox__actions { justify-content: flex-start; }
}









/* pages.css (Programmes page)
   Brand consistency:
   --blue: #0A4F98;
   --orange: #F36721;
*/

.apc-programmes {
  --blue: #0A4F98;
  --orange: #F36721;
}

/* HERO */
.apc-hero--programmes {
  background:
    radial-gradient(circle at 18% 22%, rgba(243,103,33,.16), transparent 46%),
    radial-gradient(circle at 84% 16%, rgba(10,79,152,.16), transparent 55%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

.apc-proHero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: start;
}

.apc-proHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 18px;
}

.apc-proHero__media {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}
.apc-proHero__media img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}

.apc-proStamp {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.16), transparent 55%),
    linear-gradient(135deg, var(--blue), #083d78);
  box-shadow: 0 22px 60px rgba(10,79,152,.22);
}
.apc-proStamp__top { font-weight: 950; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; }
.apc-proStamp__mid { font-weight: 950; font-size: 1.05rem; }
.apc-proStamp__bot { font-weight: 950; font-size: .95rem; color: rgba(255,255,255,.85); }

/* Pillars */
.apc-proPillars {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.apc-proPillar {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-proPillar:hover {
  transform: translateY(-2px);
  border-color: rgba(243,103,33,.30);
  box-shadow: 0 22px 56px rgba(10,79,152,.12);
}

.apc-proPillar__ico {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-proPillar__title {
  font-weight: 950;
  color: rgba(0,0,0,.90);
  letter-spacing: -.01em;
  margin-bottom: 4px;
}
.apc-proPillar__text { color: rgba(0,0,0,.62); font-weight: 650; line-height: 1.6; }

/* Programme areas as premium accordion */
.apc-proAreas {
  display: grid;
  gap: 12px;
}

.apc-proArea {
  border-radius: 24px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 18px 52px rgba(10,79,152,.08);
  overflow: hidden;
}

.apc-proArea__sum {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 54px 1fr 36px;
  gap: 14px;
  align-items: center;
  padding: 16px;
}
.apc-proArea__sum::-webkit-details-marker { display: none; }

.apc-proArea__ico {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}

.apc-proArea__title {
  font-weight: 950;
  color: rgba(0,0,0,.90);
  letter-spacing: -.01em;
  margin-bottom: 4px;
}
.apc-proArea__sub { color: rgba(0,0,0,.62); font-weight: 650; line-height: 1.55; }

.apc-proArea__chev {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgb(10 79 152);
  background: rgb(10 79 152);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  color: #ffffff;
  transition: transform .18s ease;
}

.apc-proArea[open] .apc-proArea__chev { transform: rotate(45deg); }

.apc-proArea__body {
  padding: 0 16px 16px;
}
.apc-proArea__body p {
  margin: 0;
  padding-top: 12px;
  color: rgba(0,0,0,.70);
  font-weight: 650;
  line-height: 1.75;
  max-width: 90ch;
}

.apc-proBullets {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.apc-proBullet {
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.14);
  background: rgba(10,79,152,.04);
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 10px;
  align-items: start;
  color: rgba(0,0,0,.72);
  font-weight: 750;
  line-height: 1.6;
}

.apc-proBullet__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.18);
  margin-top: 4px;
}

/* Flow steps */
.apc-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.apc-flowStep {
  border-radius: 24px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
  position: relative;
  overflow: hidden;
}
.apc-flowStep::before {
  content: "";
  position: absolute;
  inset: 0% -81% auto -2%;
  height: 240px;
  background: #fff;
  pointer-events: none;
}

.apc-flowStep__num {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: grid;
  place-items: center;
  font-weight: 950;
  color: var(--blue);
  letter-spacing: .04em;
  position: relative;
  z-index: 1;
}

.apc-flowStep__body { margin-top: 12px; position: relative; z-index: 1; }
.apc-flowStep__title { font-weight: 950; color: rgba(0,0,0,.90); margin-bottom: 6px; letter-spacing: -.01em; }
.apc-flowStep__text { color: rgba(0,0,0,.62); font-weight: 650; line-height: 1.65; }

/* CTA row */
.apc-proCTArow {
  margin-top: 16px;
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.18);
  background:
    radial-gradient(circle at 18% 20%, rgba(243,103,33,.18), transparent 55%),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  padding: 22px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items: center;
  box-shadow: 0 28px 80px rgba(10,79,152,.22);
}
.apc-proCTArow h3 { margin: 0 0 8px; }
.apc-proCTArow .apc-muted { color: rgba(255,255,255,.82); }
.apc-proCTArow__right {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 1100px) {
  .apc-proHero { grid-template-columns: 1fr; }
  .apc-proHero__media img { height: 380px; }
  .apc-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apc-proBullets { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .apc-proPillars { grid-template-columns: 1fr; }
  .apc-flow { grid-template-columns: 1fr; }
  .apc-proCTArow { grid-template-columns: 1fr; }
  .apc-proCTArow__right { justify-content: flex-start; }
}







/* pages.css (Events page)
   Fix: removed orange radial background so it doesn't look yellow.
   Also: page specific button styles to avoid conflicts.
*/

.apc-events {
  --blue: #0A4F98;
  --orange: #F36721;
}

/* HERO (no yellow tint) */
.apc-hero--events {
  background:
    radial-gradient(circle at 86% 18%, rgba(10,79,152,.16), transparent 55%),
    radial-gradient(circle at 18% 22%, rgba(10,79,152,.10), transparent 50%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

/* hero layout */
.apc-evHero {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: start;
}

.apc-evHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 18px;
}

.apc-evHero__media {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}
.apc-evHero__media img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}

.apc-evBadge {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(10,79,152,.85);
  backdrop-filter: blur(10px);
  color: #fff;
  box-shadow: 0 18px 56px rgba(10,79,152,.30);
}
.apc-evBadge__top { font-weight: 950; letter-spacing: .06em; text-transform: uppercase; font-size: .85rem; }
.apc-evBadge__mid { font-weight: 900; opacity: .9; }
.apc-evBadge__bot { font-weight: 950; font-size: 1.1rem; }

/* Events page specific buttons */
.apc-btn--evPrimary {
  background: #fff;
  color: #000;
  border-color: rgba(10,79,152,.40);
}
.apc-btn--evPrimary:hover { box-shadow: 0 16px 44px rgba(10,79,152,.26); }

.apc-btn--evGhost {
  background: rgba(255,255,255,.72);
  color: var(--blue);
  border-color: rgba(10,79,152,.18);
}
.apc-btn--evGhost:hover {
  border-color: rgba(10,79,152,.28);
  box-shadow: 0 14px 38px rgba(10,79,152,.14);
}
.apc-btn--evGhostOnDark {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.30);
}

/* Highlights */
.apc-evHighlights {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.apc-evHi {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.80);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
}
.apc-evHi__ico {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-evHi__title { font-weight: 950; color: rgba(0,0,0,.90); margin-bottom: 4px; letter-spacing: -.01em; }
.apc-evHi__text { color: rgba(0,0,0,.62); font-weight: 650; line-height: 1.6; }

/* Event types */
.apc-evTypes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.apc-evType {
  border-radius: 26px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 18px 52px rgba(10,79,152,.08);
  padding: 18px;
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-evType:hover {
  transform: translateY(-2px);
  border-color: rgba(10,79,152,.26);
  box-shadow: 0 22px 60px rgba(10,79,152,.12);
}

.apc-evType__top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.apc-evType__ico {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.apc-evType h3 { margin: 0; color: rgba(0,0,0,.90); letter-spacing: -.01em; }
.apc-evType p { margin: 0 0 12px; color: rgba(0,0,0,.70); font-weight: 650; line-height: 1.75; }

.apc-evList {
  margin: 0;
  padding-left: 18px;
  color: rgba(0,0,0,.66);
  font-weight: 650;
  line-height: 1.75;
}
.apc-evList li { margin: 6px 0; }

.apc-evNote {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(10,79,152,.04);
}
.apc-evNote__ico {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(255,255,255,.80);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-evNote__title { font-weight: 950; color: var(--blue); margin-bottom: 4px; }
.apc-evNote__text { color: rgba(0,0,0,.68); font-weight: 650; line-height: 1.7; }

/* Timeline */
.apc-evTimeline {
  display: grid;
  gap: 12px;
}

.apc-evTime {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 14px;
  align-items: stretch;
}

.apc-evTime__time {
  border-radius: 20px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.80);
  display: grid;
  place-items: center;
  font-weight: 950;
  color: var(--blue);
}

.apc-evTime__box {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-evTime__title { font-weight: 950; color: rgba(0,0,0,.90); margin-bottom: 6px; }
.apc-evTime__text { color: rgba(0,0,0,.64); font-weight: 650; line-height: 1.65; }

/* CTA bar (dark background safe buttons) */
.apc-evCtaBar {
  margin-top: 16px;
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.18);
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  padding: 22px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items: center;
  box-shadow: 0 28px 80px rgba(10,79,152,.22);
}
.apc-evCtaBar h3 { margin: 0 0 8px; }
.apc-evCtaBar .apc-muted { color: rgba(255,255,255,.82); }
.apc-evCtaBar__actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 1100px) {
  .apc-evHero { grid-template-columns: 1fr; }
  .apc-evHero__media img { height: 380px; }
  .apc-evHighlights { grid-template-columns: 1fr; }
  .apc-evTypes { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .apc-evTime { grid-template-columns: 1fr; }
  .apc-evTime__time { padding: 12px; justify-content: start; }
  .apc-evCtaBar { grid-template-columns: 1fr; }
  .apc-evCtaBar__actions { justify-content: flex-start; }
}











/* pages.css (Sectors page v2)
   No yellow looking background.
   Page specific button styles to avoid conflicts with other pages.
*/

.apc-sectors {
  --blue: #0A4F98;
  --orange: #F36721;
}

/* Hero with cool blue only, plus a tiny orange accent line in UI elements (not background) */
.apc-hero--sectors2 {
  background:
    radial-gradient(circle at 85% 18%, rgba(10,79,152,.18), transparent 55%),
    radial-gradient(circle at 18% 26%, rgba(10,79,152,.10), transparent 52%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

.apc-secHero {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: start;
}

.apc-secHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 14px;
}

/* page specific buttons */
.apc-btn--secPrimary {
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  border-color: rgba(10,79,152,.40);
}
.apc-btn--secPrimary:hover { box-shadow: 0 16px 44px rgba(10,79,152,.26); }

.apc-btn--secGhost {
  background: rgba(255,255,255,.72);
  color: var(--blue);
  border-color: rgba(10,79,152,.18);
}
.apc-btn--secGhost:hover {
  border-color: rgba(10,79,152,.28);
  box-shadow: 0 14px 38px rgba(10,79,152,.14);
}
.apc-btn--secGhostOnDark {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.30);
}

.apc-secChips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.apc-secChip {
  text-decoration: none;
  font-weight: 950;
  color: var(--blue);
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  padding: 8px 12px;
  border-radius: 999px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-secChip:hover {
  transform: translateY(-1px);
  border-color: rgba(243,103,33,.22);
  box-shadow: 0 14px 34px rgba(10,79,152,.10);
}

.apc-secNote {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
}
.apc-secNote__ico {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-secNote__text { color: rgba(0,0,0,.70); font-weight: 650; line-height: 1.65; }

.apc-secHero__media {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}
.apc-secHero__media img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}

.apc-secTag {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,79,152,.18);
  backdrop-filter: blur(10px);
  font-weight: 950;
  color: var(--blue);
}
.apc-secTag__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.18);
}

/* Grid cards */
.apc-secGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.apc-secCard {
  display: grid;
  grid-template-columns: 54px 1fr 26px;
  gap: 14px;
  align-items: center;
  text-decoration: none;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-secCard:hover {
  transform: translateY(-2px);
  border-color: rgba(243,103,33,.22);
  box-shadow: 0 22px 60px rgba(10,79,152,.14);
}

.apc-secCard__ico {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.apc-secCard__title { font-weight: 950; color: rgba(0,0,0,.90); letter-spacing: -.01em; margin-bottom: 4px; }
.apc-secCard__text { color: rgba(0,0,0,.62); font-weight: 650; line-height: 1.55; }
.apc-secCard__arrow { font-weight: 950; color: var(--orange); font-size: 1.2rem; }

/* Details panels */
.apc-secDetails { display: grid; gap: 14px; }

.apc-secPanel {
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 52px rgba(10,79,152,.08);
  overflow: hidden;
}

.apc-secPanel__head {
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  background: rgba(10,79,152,.05);
  border-bottom: 1px solid rgba(10,79,152,.12);
}
.apc-secPanel__title {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: center;
}
.apc-secPanel__ico {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(255,255,255,.85);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-secPanel__head h3 { margin: 0 0 6px; letter-spacing: -.01em; }
.apc-secPanel__actions { display: flex; gap: 10px; flex-wrap: wrap; }

.apc-secPanel__body { padding: 16px; }

.apc-secCols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.apc-secBlock {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.14);
  background: #fff;
  box-shadow: 0 14px 38px rgba(10,79,152,.06);
  padding: 16px;
}
.apc-secBlock h4 { margin: 0 0 10px; color: var(--blue); }
.apc-secBlock p { margin: 0 0 10px; color: rgba(0,0,0,.70); font-weight: 650; line-height: 1.75; }
.apc-secBlock p:last-child { margin-bottom: 0; }

.apc-secGrid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.apc-secTile {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.14);
  background: rgba(10,79,152,.03);
  padding: 16px;
}
.apc-secTile h4 { margin: 0 0 10px; color: var(--blue); }
.apc-secTile p { margin: 0; color: rgba(0,0,0,.70); font-weight: 650; line-height: 1.75; }
.apc-secTile ul {margin: 0;padding-left: 18px;color: rgba(0,0,0,.68);font-weight: normal;line-height: 1.75;}
.apc-secTile li { margin: 6px 0; }

/* Bottom CTA */
.apc-secCta {
  margin-top: 16px;
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.18);
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  padding: 22px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items: center;
  box-shadow: 0 28px 80px rgba(10,79,152,.22);
}
.apc-secCta h3 { margin: 0 0 8px; }
.apc-secCta .apc-muted { color: rgba(255,255,255,.82); }
.apc-secCta__actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }

/* Responsive */
@media (max-width: 1100px) {
  .apc-secHero { grid-template-columns: 1fr; }
  .apc-secHero__media img { height: 380px; }
  .apc-secGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apc-secCols { grid-template-columns: 1fr; }
  .apc-secGrid2 { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .apc-secGrid { grid-template-columns: 1fr; }
  .apc-secPanel__head { grid-template-columns: 1fr; }
  .apc-secCta { grid-template-columns: 1fr; }
  .apc-secCta__actions { justify-content: flex-start; }
}











/* SECTORS PAGE
   Brand colors:
   --blue: #0A4F98;
   --orange: #F36721;
*/

.apc-sectors {
  --blue: #0A4F98;
  --orange: #F36721;
}

/* Hero with cool blue only (no yellow tint) */
.apc-hero--sectors2 {
  background:
    radial-gradient(circle at 85% 18%, rgba(10,79,152,.18), transparent 55%),
    radial-gradient(circle at 18% 26%, rgba(10,79,152,.10), transparent 52%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

.apc-secHero {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 24px;
  align-items: start;
}

.apc-secHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 14px;
}

/* Page specific buttons (no conflict with other pages) */
.apc-btn--secPrimary {
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  border-color: rgba(10,79,152,.40);
}
.apc-btn--secPrimary:hover { box-shadow: 0 16px 44px rgba(10,79,152,.26); }

.apc-btn--secGhost {
  background: rgba(255,255,255,.72);
  color: var(--blue);
  border-color: rgba(10,79,152,.18);
}
.apc-btn--secGhost:hover {
  border-color: rgba(10,79,152,.28);
  box-shadow: 0 14px 38px rgba(10,79,152,.14);
}
.apc-btn--secGhostOnDark {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.30);
}

.apc-secChips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.apc-secChip {
  text-decoration: none;
  font-weight: 950;
  color: var(--blue);
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  padding: 8px 12px;
  border-radius: 999px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-secChip:hover {
  transform: translateY(-1px);
  border-color: rgba(243,103,33,.22);
  box-shadow: 0 14px 34px rgba(10,79,152,.10);
}

.apc-secNote {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
}
.apc-secNote__ico {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-secNote__text { color: rgba(0,0,0,.70); font-weight: 650; line-height: 1.65; }

.apc-secHero__media {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}
.apc-secHero__media img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}

.apc-secTag {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,79,152,.18);
  backdrop-filter: blur(10px);
  font-weight: 950;
  color: var(--blue);
}
.apc-secTag__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.18);
}

/* Grid cards */
.apc-secGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.apc-secCard {
  display: grid;
  grid-template-columns: 54px 1fr 26px;
  gap: 14px;
  align-items: center;
  text-decoration: none;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-secCard:hover {
  transform: translateY(-2px);
  border-color: rgba(243,103,33,.22);
  box-shadow: 0 22px 60px rgba(10,79,152,.14);
}

.apc-secCard__ico {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.apc-secCard__ico svg { width: 26px; height: 26px; }

.apc-secCard__title { font-weight: 950; color: rgba(0,0,0,.90); letter-spacing: -.01em; margin-bottom: 4px; }
.apc-secCard__text {color: #333;font-weight: normal;line-height: 1.55;font-size: 14px;}
.apc-secCard__arrow { font-weight: 950; color: var(--orange); font-size: 1.2rem; }

/* Details panels */
.apc-secDetails { display: grid; gap: 14px; }

.apc-secPanel {
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 52px rgba(10,79,152,.08);
  overflow: hidden;
}

.apc-secPanel__head {
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  background: rgba(10,79,152,.05);
  border-bottom: 1px solid rgba(10,79,152,.12);
}
.apc-secPanel__title {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: center;
}
.apc-secPanel__ico {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(255,255,255,.85);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-secPanel__ico svg { width: 26px; height: 26px; }
.apc-secPanel__head h3 { margin: 0 0 6px; letter-spacing: -.01em; }
.apc-secPanel__actions { display: flex; gap: 10px; flex-wrap: wrap; }

.apc-secPanel__body { padding: 16px; }

.apc-secCols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.apc-secBlock {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.14);
  background: #fff;
  box-shadow: 0 14px 38px rgba(10,79,152,.06);
  padding: 16px;
}
.apc-secBlock h4 { margin: 0 0 10px; color: var(--blue); }
.apc-secBlock p {margin: 0 0 10px;color: rgba(0,0,0,.70);font-weight: normal;line-height: 1.75;}
.apc-secBlock p:last-child { margin-bottom: 0; }

.apc-secGrid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.apc-secTile {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.14);
  background: rgba(10,79,152,.03);
  padding: 16px;
}
.apc-secTile h4 { margin: 0 0 10px; color: var(--blue); }
.apc-secTile p {margin: 0 0 10px;color: rgba(0,0,0,.70);font-weight: normal;line-height: 1.75;}
.apc-secTile p:last-child { margin-bottom: 0; }

.apc-secH5 {
  margin: 12px 0 8px;
  color: rgba(0,0,0,.88);
  font-weight: 950;
  letter-spacing: -.01em;
}

.apc-secList {
  margin: 0 0 10px;
  padding-left: 18px;
  color: rgba(0,0,0,.68);
  font-weight: 650;
  line-height: 1.75;
}
.apc-secList li { margin: 6px 0; }

.apc-secCta {
  margin-top: 16px;
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.18);
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  padding: 22px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items: center;
  box-shadow: 0 28px 80px rgba(10,79,152,.22);
}
.apc-secCta h3 { margin: 0 0 8px; }
.apc-secCta .apc-muted { color: rgba(255,255,255,.82); }
.apc-secCta__actions { display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }

/* Responsive */
@media (max-width: 1100px) {
  .apc-secHero { grid-template-columns: 1fr; }
  .apc-secHero__media img { height: 380px; }
  .apc-secGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apc-secCols { grid-template-columns: 1fr; }
  .apc-secGrid2 { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .apc-secGrid { grid-template-columns: 1fr; }
  .apc-secPanel__head { grid-template-columns: 1fr; }
  .apc-secCta { grid-template-columns: 1fr; }
  .apc-secCta__actions { justify-content: flex-start; }
}













/* RESOURCES PAGE (page specific styles) */
.apc-resources {
  --blue: #0A4F98;
  --orange: #F36721;
}

/* Hero background without yellow */
.apc-hero--resources {
  background:
    radial-gradient(circle at 16% 22%, rgba(10,79,152,.16), transparent 56%),
    radial-gradient(circle at 88% 18%, rgba(10,79,152,.10), transparent 55%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

.apc-resHero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: start;
}

.apc-resHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 14px;
}

/* Page specific buttons */
.apc-btn--resPrimary {
  background: #fff;
  color: #000;
  border-color: rgba(10,79,152,.40);
}
.apc-btn--resPrimary:hover { box-shadow: 0 16px 44px rgba(10,79,152,.26); }

.apc-btn--resGhost {
  background: rgba(255,255,255,.72);
  color: var(--blue);
  border-color: rgba(10,79,152,.18);
}
.apc-btn--resGhost:hover {
  border-color: rgba(10,79,152,.28);
  box-shadow: 0 14px 38px rgba(10,79,152,.14);
}
.apc-btn--resGhostSoft {
  background: rgba(10,79,152,.06);
}
.apc-btn--resGhostOnDark {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.30);
}

.apc-resHero__media {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}
.apc-resHero__media img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}
.apc-resMediaTag {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,79,152,.18);
  backdrop-filter: blur(10px);
  font-weight: 950;
  color: var(--blue);
}
.apc-resMediaTag__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.18);
}

/* Badges */
.apc-resBadges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}
.apc-resBadge {
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(10px);
  padding: 14px;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
}
.apc-resBadge__ico {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-resBadge__ico svg { width: 22px; height: 22px; }
.apc-resBadge__title { font-weight: 950; color: rgba(0,0,0,.88); line-height: 1.2; }
.apc-resBadge__text { margin-top: 4px; color: rgba(0,0,0,.65); font-weight: 650; line-height: 1.4; }

/* Purpose layout */
.apc-resPurpose {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
  align-items: start;
}
.apc-resPurpose__panel {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-resList {
  margin: 0;
  padding-left: 18px;
  color: rgba(0,0,0,.70);
  font-weight: normal;
  line-height: 1.75;
}
.apc-resList li { margin: 8px 0; }
.apc-resPurpose__note {
  margin: 12px 0 0;
  color: rgba(0,0,0,.70);
  font-weight: normal;
  line-height: 1.75;
}

.apc-resMini {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-resMini__head {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
}
.apc-resMini__ico {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.apc-resMini__ico svg { width: 24px; height: 24px; }
.apc-resMini__title { font-weight: 950; color: rgba(0,0,0,.88); }
.apc-resMini__text { color: rgba(0,0,0,.62); font-weight: 650; margin-top: 4px; }
.apc-resMini__items { margin-top: 12px; display: grid; gap: 10px; }
.apc-resMiniItem {
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.14);
  background: rgba(10,79,152,.03);
  color: rgba(0,0,0,.70);
  font-weight: normal;
}
.apc-resMiniItem__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.16);
}
.apc-resMini__actions { margin-top: 12px; }

/* Types */
.apc-resSection--alt {
  background:
    radial-gradient(circle at 20% 20%, rgba(10,79,152,.06), transparent 60%),
    radial-gradient(circle at 90% 30%, rgba(243,103,33,.06), transparent 58%);
}
.apc-resTypeGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.apc-resTypeCard {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-resTypeCard__ico {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
  margin-bottom: 10px;
}
.apc-resTypeCard__ico svg { width: 26px; height: 26px; }
.apc-resTypeCard h3 { margin: 0 0 8px; }
.apc-resTypeCard p {margin: 0 0 10px;color: rgba(0,0,0,.70);font-weight: normal;line-height: 1.75;}
.apc-resTypeCard p:last-child { margin-bottom: 0; }
.apc-resTypeCard__sub { color: rgba(0,0,0,.62); }

/* Library */
.apc-resFilters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
  display: none;
}
.apc-resFilter {
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  color: var(--blue);
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 950;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-resFilter:hover {
  transform: translateY(-1px);
  border-color: rgba(243,103,33,.22);
  box-shadow: 0 14px 34px rgba(10,79,152,.10);
}
.apc-resFilter.is-active {
  background: linear-gradient(135deg, var(--blue), #083d78);
  border-color: rgba(10,79,152,.40);
  color: #fff;
}

.apc-resGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.apc-resItem {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
  display: grid;
  gap: 10px;
}
.apc-resItem__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.apc-resPill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 950;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  color: var(--blue);
}
.apc-resPill--brief { background: rgba(243,103,33,.08); color: rgba(0,0,0,.86); border-color: rgba(243,103,33,.20); }
.apc-resPill--report { background: rgba(10,79,152,.06); }
.apc-resPill--tool { background: rgba(10,79,152,.04); }
.apc-resPill--media { background: rgba(243,103,33,.06); border-color: rgba(243,103,33,.18); }

.apc-resMeta { color: rgba(0,0,0,.55); font-weight: 850; }
.apc-resItem h3 { margin: 0; }
.apc-resItem p {margin: 0;color: rgba(0,0,0,.70);font-weight: normal;line-height: 1.7;}
.apc-resItem__actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Contribute section */
.apc-resSection--deep {
  background:
    radial-gradient(circle at 18% 35%, rgba(10,79,152,.10), transparent 58%),
    linear-gradient(135deg, rgba(10,79,152,.04), rgba(243,103,33,.04));
}
.apc-resContrib {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
  align-items: start;
}
.apc-resContrib__p {
  margin-top: 10px;
  color: rgba(0,0,0,.70);
  font-weight: 650;
  line-height: 1.75;
}

.apc-resSteps { margin-top: 14px; display: grid; gap: 10px; }
.apc-resStep {
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.06);
  padding: 12px;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
}
.apc-resStep__num {
  width: 40px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 1000;
  color: var(--blue);
}
.apc-resStep__title { font-weight: 950; color: rgba(0,0,0,.88); }
.apc-resStep__text {margin-top: 4px;color: rgba(0,0,0,.65);font-weight: normal;line-height: 1.5;}

.apc-resCtaCard {
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.18);
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  padding: 22px;
  box-shadow: 0 28px 80px rgba(10,79,152,.22);
}
.apc-resCtaCard__icon {
  width: 56px;
  height: 56px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-bottom: 12px;
}
.apc-resCtaCard__icon svg { width: 28px; height: 28px; }
.apc-resCtaCard h3 { margin: 0 0 8px; }
.apc-resCtaCard p { margin: 0 0 14px; color: rgba(255,255,255,.84); font-weight: 650; line-height: 1.7; }
.apc-resCtaCard__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.apc-resCtaCard__note {
  margin-top: 14px;
  color: rgba(255,255,255,.78);
  font-weight: 650;
}

/* Responsive */
@media (max-width: 1100px) {
  .apc-resHero { grid-template-columns: 1fr; }
  .apc-resHero__media img { height: 380px; }
  .apc-resBadges { grid-template-columns: 1fr; }
  .apc-resPurpose { grid-template-columns: 1fr; }
  .apc-resGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apc-resContrib { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .apc-resTypeGrid { grid-template-columns: 1fr; }
  .apc-resGrid { grid-template-columns: 1fr; }
}







/* JOIN PAGE (page specific styles) */
.apc-join {
  --blue: #0A4F98;
  --orange: #F36721;
}

.apc-hero--join {
  background:
    radial-gradient(circle at 18% 22%, rgba(10,79,152,.16), transparent 56%),
    radial-gradient(circle at 88% 18%, rgba(10,79,152,.10), transparent 55%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

.apc-joinHero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: start;
}
.apc-joinHero__sub {
  margin-top: 12px;
  color: rgba(0,0,0,.70);
  font-weight: 650;
  line-height: 1.75;
}
.apc-joinHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 18px 0 14px;
}

/* Page specific buttons */
.apc-btn--joinPrimary {
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  border-color: rgba(10,79,152,.40);
}
.apc-btn--joinPrimary:hover { box-shadow: 0 16px 44px rgba(10,79,152,.26); }

.apc-btn--joinGhost {
  background: rgba(255,255,255,.72);
  color: var(--blue);
  border-color: rgba(10,79,152,.18);
}
.apc-btn--joinGhost:hover {
  border-color: rgba(10,79,152,.28);
  box-shadow: 0 14px 38px rgba(10,79,152,.14);
}
.apc-btn--joinGhostSoft {
  background: rgba(10,79,152,.06);
}

/* Hero highlights */
.apc-joinHighlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}
.apc-joinHighlight {
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(10px);
  padding: 14px;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
}
.apc-joinHighlight__ico {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-joinHighlight__ico svg { width: 22px; height: 22px; }
.apc-joinHighlight__title { font-weight: 950; color: rgba(0,0,0,.88); }
.apc-joinHighlight__text {margin-top: 4px;color: rgba(0,0,0,.65);font-weight: normal;line-height: 1.4;}

.apc-joinHero__media {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}
.apc-joinHero__media img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}
.apc-joinMediaTag {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,79,152,.18);
  backdrop-filter: blur(10px);
  font-weight: 950;
  color: var(--blue);
}
.apc-joinMediaTag__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.18);
}

/* Who can join */
.apc-joinWhoGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.apc-joinWho {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-joinWho__ico {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
  margin-bottom: 10px;
}
.apc-joinWho__ico svg { width: 26px; height: 26px; }
.apc-joinWho h3 { margin: 0 0 8px; }
.apc-joinWho p {margin: 0;color: rgba(0,0,0,.70);font-weight: normal;line-height: 1.75;}

.apc-joinNote {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
}
.apc-joinNote__ico {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-joinNote__text { color: rgba(0,0,0,.70); font-weight: 650; line-height: 1.65; }

/* Why join */
.apc-joinSection--alt {
  background:
    radial-gradient(circle at 20% 20%, rgba(10,79,152,.06), transparent 60%),
    radial-gradient(circle at 90% 30%, rgba(243,103,33,.06), transparent 58%);
}
.apc-joinWhyGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.apc-joinWhy {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-joinWhy__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.apc-joinWhy__tag {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  color: var(--blue);
  font-weight: 950;
}
.apc-joinWhy__ico {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.apc-joinWhy__ico svg { width: 24px; height: 24px; }
.apc-joinWhy h3 { margin: 0 0 8px; }
.apc-joinWhy p {margin: 0;color: rgba(0,0,0,.70);font-weight: normal;line-height: 1.75;}

/* Apply layout */
.apc-joinApply {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
  align-items: start;
}

.apc-joinForm {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}

.apc-joinForm__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.apc-joinField--full { grid-column: 1 / -1; }

.apc-joinField label {
  display: block;
  font-weight: 900;
  color: rgba(0,0,0,.80);
  margin-bottom: 6px;
}
.apc-joinField input,
.apc-joinField select,
.apc-joinField textarea {
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  padding: 12px 12px;
  background: rgba(10,79,152,.03);
  outline: none;
  font-weight: normal;
  color: rgba(0,0,0,.86);
}
.apc-joinField textarea { resize: vertical; }
.apc-joinField input:focus,
.apc-joinField select:focus,
.apc-joinField textarea:focus {
  border-color: rgba(243,103,33,.35);
  box-shadow: 0 0 0 4px rgba(243,103,33,.12);
  background: #fff;
}

.apc-joinForm__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
  align-items: center;
}
.apc-joinForm__fine {
  margin-top: 12px;
  color: rgba(0,0,0,.60);
  font-weight: normal;
  line-height: 1.6;
}

/* Side card */
.apc-joinSideCard {
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.18);
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  padding: 22px;
  box-shadow: 0 28px 80px rgba(10,79,152,.22);
}
.apc-joinSideCard__head {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.apc-joinSideCard__ico {
  width: 56px;
  height: 56px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.apc-joinSideCard__ico svg { width: 28px; height: 28px; }
.apc-joinSideCard__title { font-weight: 1000; }
.apc-joinSideCard__text { margin-top: 4px; color: rgba(255,255,255,.80); font-weight: 700; }

.apc-joinSteps { display: grid; gap: 10px; margin-top: 12px; }
.apc-joinStep {
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  padding: 12px;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
}
.apc-joinStep__num {
  width: 40px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 1000;
}
.apc-joinStep__title { font-weight: 950; }
.apc-joinStep__text {margin-top: 4px;color: rgba(255,255,255,.80);line-height: 1.5;}

.apc-joinSideCard__cta {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 1100px) {
  .apc-joinHero { grid-template-columns: 1fr; }
  .apc-joinHero__media img { height: 380px; }
  .apc-joinHighlights { grid-template-columns: 1fr; }
  .apc-joinWhoGrid { grid-template-columns: 1fr; }
  .apc-joinWhyGrid { grid-template-columns: 1fr; }
  .apc-joinApply { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .apc-joinForm__grid { grid-template-columns: 1fr; }
}

















/* CONTACT PAGE (page specific styles) */
.apc-contact {
  --blue: #0A4F98;
  --orange: #F36721;
}

.apc-hero--contact {
  background:
    radial-gradient(circle at 18% 22%, rgba(10,79,152,.16), transparent 56%),
    radial-gradient(circle at 88% 18%, rgba(10,79,152,.10), transparent 55%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

.apc-ctHero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: start;
}

.apc-ctHero__quick {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.apc-ctChip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  color: rgba(0,0,0,.84);
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-ctChip:hover {
  transform: translateY(-1px);
  border-color: rgba(243,103,33,.24);
  box-shadow: 0 18px 54px rgba(10,79,152,.12);
}
.apc-ctChip__ico {
  width: 34px;
  height: 34px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-ctChip__ico svg { width: 18px; height: 18px; }

.apc-ctHero__note {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
}
.apc-ctHero__noteIco {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-ctHero__noteText {
  color: rgba(0,0,0,.70);
  font-weight: 650;
  line-height: 1.65;
}

.apc-ctHero__media {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.18);
}
.apc-ctHero__media img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
}
.apc-ctMediaTag {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,79,152,.18);
  backdrop-filter: blur(10px);
  font-weight: 950;
  color: var(--blue);
}
.apc-ctMediaTag__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.18);
}

/* Page specific buttons */
.apc-btn--ctPrimary {
  background: linear-gradient(135deg, var(--blue), #083d78);
  color: #fff;
  border-color: rgba(10,79,152,.40);
}
.apc-btn--ctPrimary:hover { box-shadow: 0 16px 44px rgba(10,79,152,.26); }

.apc-btn--ctGhost {
  background: rgba(255,255,255,.72);
  color: var(--blue);
  border-color: rgba(10,79,152,.18);
}
.apc-btn--ctGhost:hover {
  border-color: rgba(10,79,152,.28);
  box-shadow: 0 14px 38px rgba(10,79,152,.14);
}
.apc-btn--ctGhostSoft {
  background: rgba(10,79,152,.06);
}

/* Form grid */
.apc-ctGrid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
  align-items: start;
}

.apc-ctForm {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}

.apc-ctForm__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.apc-ctField--full { grid-column: 1 / -1; }

.apc-ctField label {
  display: block;
  font-weight: 900;
  color: rgba(0,0,0,.80);
  margin-bottom: 6px;
}
.apc-ctField input,
.apc-ctField select,
.apc-ctField textarea {
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(10,79,152,.18);
  padding: 12px 12px;
  background: rgba(10,79,152,.03);
  outline: none;
  font-weight: normal;
  color: rgba(0,0,0,.86);
}
.apc-ctField textarea { resize: vertical; }
.apc-ctField input:focus,
.apc-ctField select:focus,
.apc-ctField textarea:focus {
  border-color: rgba(243,103,33,.35);
  box-shadow: 0 0 0 4px rgba(243,103,33,.12);
  background: #fff;
}

.apc-ctForm__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
  align-items: center;
}

.apc-ctFine {
  margin-top: 12px;
  color: rgba(0,0,0,.60);
  line-height: 1.6;
}

/* Side card */
.apc-ctSideCard {
  border-radius: 28px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-ctSideCard h3 { margin: 0 0 12px; }
.apc-ctChannels { display: grid; gap: 10px; }

.apc-ctChannel {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.14);
  background: rgba(10,79,152,.03);
}
.apc-ctChannel__ico {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
}
.apc-ctChannel__ico svg { width: 26px; height: 26px; }
.apc-ctChannel__title { font-weight: 950; color: rgba(0,0,0,.88); }
.apc-ctChannel__text {margin-top: 4px;color: rgba(0,0,0,.64);font-weight: normal;line-height: 1.4;}

.apc-ctSideCard__cta {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Topic cards */
.apc-ctSection--alt {
  background:
    radial-gradient(circle at 20% 20%, rgba(10,79,152,.06), transparent 60%),
    radial-gradient(circle at 90% 30%, rgba(243,103,33,.06), transparent 58%);
}
.apc-ctTopicGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.apc-ctTopic {
  border-radius: 22px;
  border: 1px solid rgba(10,79,152,.16);
  background: #fff;
  box-shadow: 0 16px 44px rgba(10,79,152,.08);
  padding: 16px;
}
.apc-ctTopic__ico {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(10,79,152,.18);
  background: rgba(10,79,152,.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
  margin-bottom: 10px;
}
.apc-ctTopic__ico svg { width: 26px; height: 26px; }
.apc-ctTopic h3 { margin: 0 0 8px; }
.apc-ctTopic p {margin: 0;color: rgba(0,0,0,.70);font-weight: normal;line-height: 1.75;}

/* Responsive */
@media (max-width: 1100px) {
  .apc-ctHero { grid-template-columns: 1fr; }
  .apc-ctHero__media img { height: 380px; }
  .apc-ctGrid { grid-template-columns: 1fr; }
  .apc-ctTopicGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .apc-ctForm__grid { grid-template-columns: 1fr; }
  .apc-ctTopicGrid { grid-template-columns: 1fr; }
}
/* JOIN PAGE - membership blocks (doc based) */
.apc-memGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.apc-memCard{
  border-radius:22px;
  border:1px solid rgba(10,79,152,.16);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 44px rgba(10,79,152,.08);
  padding:16px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.apc-memCard:hover{
  transform:translateY(-2px);
  border-color:rgba(243,103,33,.22);
  box-shadow:0 22px 60px rgba(10,79,152,.12);
}
.apc-memCard__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.apc-memTag{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(10,79,152,.18);
  background:rgba(10,79,152,.06);
  color:var(--blue);
  font-weight:950;
}
.apc-memIco{
  width:46px;height:46px;
  border-radius:16px;
  border:1px solid rgba(10,79,152,.18);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--blue);
}
.apc-memIco svg{width:24px;height:24px;}
.apc-memCard h3{margin:0 0 8px;}
.apc-memCard p{margin:0;color:rgba(0,0,0,.70);line-height:1.75;}

.apc-memSplit{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}

.apc-memPanel{
  border-radius:28px;
  border:1px solid rgba(10,79,152,.16);
  background:#fff;
  box-shadow:0 18px 52px rgba(10,79,152,.08);
  padding:16px;
}
.apc-memPanel--soft{
  background:rgba(10,79,152,.03);
}
.apc-memPanel__head{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
}
.apc-memPanel__ico{
  width:46px;height:46px;
  border-radius:16px;
  border:1px solid rgba(10,79,152,.18);
  background:rgba(10,79,152,.06);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--orange);
}
.apc-memPanel h3{margin:0;letter-spacing:-.01em;color:rgba(0,0,0,.90);}

.apc-memList{
  margin:0;
  padding-left:18px;
  color:rgba(0,0,0,.70);
  line-height:1.75;
}
.apc-memList li{margin:8px 0;}

.apc-memLinks{
  margin-top:14px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.apc-checks{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(10,79,152,.14);
  background:rgba(10,79,152,.03);
}
.apc-check{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:start;
  color:rgba(0,0,0,.72);
  font-weight:650;
  line-height:1.6;
}
.apc-check input{margin-top:4px;width: 20px;}

.apc-principlesDoc{
  border-radius:28px;
  border:1px solid rgba(10,79,152,.16);
  background:#fff;
  box-shadow:0 18px 52px rgba(10,79,152,.08);
  padding:16px;
}
.apc-principlesList{
  margin:0;
  padding-left:18px;
  color:rgba(0,0,0,.70);
  line-height:1.75;
}
.apc-principlesList li{margin:10px 0;}

@media (max-width:1100px){
  .apc-memGrid{grid-template-columns:1fr;}
}
@media (max-width:920px){
  .apc-memSplit{grid-template-columns:1fr;}
}
.apc-formMsg{
  margin-top:14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(10,79,152,.14);
  background: rgba(10,79,152,.03);
  color: rgba(0,0,0,.75);
  font-weight:650;
  line-height:1.6;
}

.apc-formMsg.is-success{
  border-color: rgba(22,163,74,.22);
  background: rgba(22,163,74,.10);
  color: rgba(10,60,28,.95);
}

.apc-formMsg.is-error{
  border-color: rgba(220,38,38,.22);
  background: rgba(220,38,38,.10);
  color: rgba(90,10,10,.95);
}

.apc-btn.is-loading{
  opacity:.75;
  pointer-events:none;
}

.apc-btn .apc-spinner{
  width:18px;
  height:18px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.55);
  border-top-color: rgba(255,255,255,1);
  display:inline-block;
  vertical-align:middle;
  animation: apcSpin .8s linear infinite;
}

@keyframes apcSpin{
  to{ transform: rotate(360deg); }
}
/* LEGAL PAGES (Privacy, Terms, Ethics, Neutrality) */
.apc-legal {
  --blue: #0A4F98;
  --orange: #F36721;
}

/* Hero background */
.apc-hero--legal{
  background:
    radial-gradient(circle at 16% 22%, rgba(10,79,152,.16), transparent 56%),
    radial-gradient(circle at 88% 18%, rgba(243,103,33,.14), transparent 55%),
    linear-gradient(180deg, rgba(10,79,152,.07), transparent 72%);
}

.apc-legalHero{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: start;
}

.apc-legalHero__media{
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(10,79,152,.18);
  background: #fff;
  box-shadow: 0 22px 60px rgba(10,79,152,.14);
}

.apc-legalHero__media img{
  width: 100%;
  height: 520px;
  object-fit: cover;
  display:block;
}

.apc-legalTag{
  position:absolute;
  top:16px;
  left:16px;
  padding:10px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,79,152,.18);
  backdrop-filter: blur(10px);
  font-weight: 950;
  color: var(--blue);
}

.apc-legalBadges{
  display:flex;
  gap:10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.apc-legalBadge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(10,79,152,.16);
  background: rgba(10,79,152,.06);
  font-weight: 900;
  color: rgba(0,0,0,.78);
}

.apc-legalBadge__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(243,103,33,.18);
}

.apc-legalSection{ padding: 74px 0; }

.apc-legalGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.apc-legalCard{
  background:#fff;
  border: 1px solid rgba(10,79,152,.14);
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: 0 16px 40px rgba(10,79,152,.08);
}

.apc-legalCard h2{
  margin: 0 0 10px;
}

.apc-legalList{
  margin: 10px 0 0;
  padding-left: 18px;
  color: rgba(0,0,0,.82);
  line-height: 1.8;
}

.apc-legalNote{
  margin-top: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(243,103,33,.08);
  border: 1px solid rgba(243,103,33,.18);
  color: rgba(0,0,0,.78);
  font-weight: 650;
}

@media (max-width: 980px){
  .apc-legalHero{ grid-template-columns: 1fr; }
  .apc-legalHero__media img{ height: 360px; }
  .apc-legalGrid{ grid-template-columns: 1fr; }
}
