/* aboutus.css - load AFTER report.css */
.ab-hero{padding-block:3rem}
.ab-hero .hero-grid{justify-content:center}
.ab-hero .hero-content{align-items:center;max-width:46rem}
@media(min-width:1024px){
.ab-hero h1,.ab-hero .hero-text{text-align:center}}
.ic{width:1.3rem;height:1.3rem;flex-shrink:0}
/* what we do */
.val-grid{grid-template-columns:1fr}
@media(min-width:768px){.val-grid{grid-template-columns:repeat(3,1fr)}}
.val-card{padding:1.5rem}.val-card .rp-emoji{width:3rem;height:3rem;padding:0;margin-bottom:1rem;border-radius:50%;background:var(--foreground);color:#fff}
.val-card h3{font-size:1.1rem}
/* team */
.team-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.team-grid{grid-template-columns:repeat(3,1fr)}}
.team-card{padding:1.1rem 1.1rem 1.4rem}.team-card .rp-photo{margin-bottom:1rem}
.team-card h3{font-size:1.2rem}.team-role{margin-bottom:.6rem;font-weight:700;color:var(--primary)!important}
/* coverage map */
.map-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:1024px){.map-grid{grid-template-columns:1.7fr 1fr;gap:2.5rem}}
.map-card{padding:.75rem}
.map{position:relative;z-index:0;isolation:isolate;height:26rem;border-radius:var(--radius);overflow:hidden;background:#dfe6ec}
@media(min-width:1024px){.map{height:32rem}}
.map-cap{margin:.75rem .25rem .1rem;font-size:.85rem;color:var(--muted-foreground)}
.map-side{display:grid;gap:1rem}
.map-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}
.map-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.55rem .6rem;border:0;border-radius:var(--radius);background:transparent;font:inherit;font-weight:500;text-align:start;color:var(--foreground);cursor:pointer;transition:background-color .2s}
.map-item:hover,.map-item:focus-visible{background:var(--primary-soft);outline:none}
.map-tile{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#eaeef2}
.map-tile .rp-emoji{width:3.2rem;height:3.2rem;padding:0;border-radius:50%;background:var(--primary);color:#fff}
.map-tile h3{margin:0;font-size:1.25rem}.map-tile p{margin:0}
.map-help{margin:0;font-size:.92rem;line-height:1.55;color:var(--muted-foreground)}
/* numbered pins on the map */
.map-pin{display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--primary);color:#fff;border:3px solid #fff;box-shadow:0 3px 10px rgba(16,24,40,.35);font-size:.9rem}
.map-pin.is-star{background:#f59e0b}.map-pin svg{width:1.1rem;height:1.1rem}
.leaflet-popup-content{font-family:inherit;line-height:1.4}
/* ---- trust marquee ---- */
.ab-marquee{overflow:hidden;padding:1rem 0;background:#fff;border-block:1px solid var(--border);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ab-track{display:flex;width:max-content;direction:ltr;animation:abScroll 40s linear infinite}
.ab-marquee:hover .ab-track{animation-play-state:paused}
.ab-chip{display:inline-flex;align-items:center;gap:.55rem;margin-inline-end:1rem;padding:.45rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.9rem;font-weight:600;white-space:nowrap}
.ab-chip::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--primary)}
@keyframes abScroll{to{transform:translateX(-50%)}}

/* ---- how we work: connected steps ---- */
.tl{display:grid;gap:1.25rem;grid-template-columns:1fr;margin:0 0 1.25rem;padding:0;list-style:none}
@media(min-width:1100px){.tl{grid-template-columns:repeat(5,1fr);gap:1.5rem}}
.tl-step{padding:1.4rem 1.2rem}
.tl-num{display:flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;margin-bottom:.9rem;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;box-shadow:0 0 0 6px var(--primary-soft)}
.tl-step h3{font-size:1.05rem}
.tl-step::after{content:"";position:absolute;background:repeating-linear-gradient(180deg,#aebcc4 0 5px,transparent 5px 9px);left:2.3rem;top:100%;width:2px;height:1.25rem}
.tl-step:last-child::after{display:none}
@media(min-width:1100px){.tl-step::after{left:100%;top:2.55rem;width:1.5rem;height:2px;background:repeating-linear-gradient(90deg,#aebcc4 0 5px,transparent 5px 9px)}}
.rp-js .tl-step::after{transform:scaleY(0);transform-origin:top;transition:transform .7s ease calc(var(--d,0s) + .6s)}
.rp-js .tl-step.rp-in::after{transform:none}
@media(min-width:1100px){.rp-js .tl-step::after{transform:scaleX(0);transform-origin:left}}
.rp-center-text{text-align:center;margin-inline:auto}

/* ---- standards: icon pops in when the card appears ---- */
.rp-js .std-card.rp-in .rp-emoji{animation:rpPop .8s cubic-bezier(.3,1.4,.5,1) calc(var(--d,0s) + .25s) backwards}
.std-card:hover .rp-emoji{background:var(--primary);transform:scale(1.08)}
.std-card .rp-emoji{transition:background-color .3s,transform .3s}

/* ---- our promise (dark band) ---- */
.ab-promise{position:relative;overflow:hidden;padding-block:4.5rem;background:linear-gradient(135deg,#1a2332,#0f1722);color:#fff}
.ab-promise::before{content:"";position:absolute;top:-8rem;right:-6rem;width:26rem;height:26rem;border-radius:50%;background:rgba(232,89,12,.22);filter:blur(60px);animation:float 9s ease-in-out infinite}
.ab-promise .rp-head h2{color:#fff}
.ab-promise .rp-letter{background:rgba(255,255,255,.12);color:#fff}
.pledges{grid-template-columns:1fr}
@media(min-width:900px){.pledges{grid-template-columns:repeat(3,1fr)}}
.pledge{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);box-shadow:none}
.pledge h3{color:#fff;font-size:1.15rem}
.pledge p{color:rgba(255,255,255,.78)}
.pledge>.ic{flex-shrink:0;width:2.4rem;height:2.4rem;padding:.55rem;border-radius:50%;background:var(--g-excellent);color:#fff}
.pledge path{stroke-dasharray:30;stroke-dashoffset:0}
.rp-js .pledge path{stroke-dashoffset:30}
.rp-js .pledge.rp-in path{stroke-dashoffset:0;transition:stroke-dashoffset .8s ease calc(var(--d,0s) + .45s)}
/* five stats on one line */
/* stats strip: 4 cards, centred, 2 per row on phones */
/* ===== Stats strip: 2 x 2 on phones, 4 in a row from 768px ===== */
.rp-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(.6rem, 2.5vw, 1rem) !important;
  max-width: 72rem !important;
  margin-inline: auto !important;
  padding-bottom: 3rem;
}
.rp-stats .rp-stat {
  flex: none !important;
  width: auto !important;
  min-width: 0;
  grid-column: auto !important;
  padding: clamp(.9rem, 3.5vw, 1.25rem) clamp(.5rem, 2vw, .75rem) !important;
}
.rp-stats .rp-stat strong { font-size: clamp(1.5rem, 6vw, 2rem); }
.rp-stats .rp-stat span {
  display: block;
  font-size: clamp(.78rem, 3vw, .9rem);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

@media (min-width: 768px) {
  .rp-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* wide screens: remove the extra right padding reserved for the section rail */
@media (min-width: 1280px) {
  .rp-has-rail main .container-wide { padding-right: 1.5rem !important; }
}


/* ============================================================
   RESPONSIVE ADDITIONS — phones & tablets
   (added during reorganization; layout safety only)
   ============================================================ */
@media (max-width: 1023px) {
  .map { height: 22rem; }
}
@media (max-width: 640px) {
  .ab-marquee { padding: .75rem 0; }
  .map-pin { width: 1.9rem; height: 1.9rem; font-size: .8rem; }
  .ab-promise { padding-block: 3.5rem; }
}
/* ===== FAQ ===== */
.faq-list {
  max-width: 52rem;
  margin: 2rem auto 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.faq-item {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  transition: border-color .25s, box-shadow .25s;
}

.faq-item:hover { border-color: color-mix(in srgb, var(--primary) 45%, var(--border)); }
.faq-item[open] { border-color: var(--primary); box-shadow: var(--shadow); }

.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  font-weight: 600;
  font-size: 1.05rem;
  cursor: pointer;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }

.faq-item summary::after {
  content: "";
  flex-shrink: 0;
  width: .6rem;
  height: .6rem;
  border-right: 2px solid var(--primary);
  border-bottom: 2px solid var(--primary);
  transform: rotate(45deg);
  transition: transform .25s;
}
.faq-item[open] summary::after { transform: rotate(-135deg); }

.faq-item summary:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
  border-radius: var(--radius-lg);
}

.faq-answer { padding: 0 1.25rem 1.2rem; }
.faq-answer p { color: var(--muted-foreground); line-height: 1.7; }

/* Tablets */
@media (max-width: 1023px) {
  .faq-list { max-width: 44rem; }
}

/* Phones */
@media (max-width: 640px) {
  .faq-list { margin-top: 1.5rem; gap: .6rem; }
  .faq-item summary { padding: 1rem; font-size: 1rem; min-height: 3rem; }
  .faq-answer { padding: 0 1rem 1rem; }
  .faq-answer p { font-size: .95rem; line-height: 1.65; }
}

/* Very small phones (320 to 360px) */
@media (max-width: 360px) {
  .faq-item summary { font-size: .95rem; gap: .75rem; }
}

/* Long words never overflow the card */
.faq-item summary,
.faq-answer p { overflow-wrap: anywhere; }