/* ==========================================================================
   ASIS — Advanced / P2 pages
   changelog · kemitraan · press · karir · status · voting · direktori
   Builds on style.css + index.css (nav, footer, buttons, .section-shell).
   ========================================================================== */

:root {
  --adv-navy: #071b3b;
  --adv-ink: #0a1b36;
  --adv-blue: #176bff;
  --adv-soft: #f3f7fc;
  --adv-line: #e2e8f0;
  --adv-muted: #56637a;
  --adv-orange: #f28a35;
  --adv-green: #16a34a;
  --adv-amber: #d97706;
  --adv-red: #dc2626;
}

body.adv-page {
  font-family: 'Manrope', sans-serif;
  color: var(--adv-ink);
  overflow-x: hidden;
  background:
    radial-gradient(circle at top right, rgba(23, 107, 255, 0.08), transparent 34%),
    radial-gradient(circle at bottom left, rgba(242, 138, 53, 0.06), transparent 26%),
    var(--adv-soft);
}

/* ---------- Shared page hero ---------- */
.page-hero {
  position: relative;
  background: var(--adv-navy);
  color: #fff;
  overflow: hidden;
  padding: 118px 0 88px;
}

.page-hero .hero-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(100, 140, 200, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100, 140, 200, 0.08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, #000, transparent 94%);
}

.page-hero .hero-glow {
  position: absolute;
  right: -160px;
  top: -220px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: rgba(23, 107, 255, 0.14);
  filter: blur(20px);
}

.page-hero-inner {
  position: relative;
  max-width: 780px;
}

.page-hero h1 {
  color: #fff;
  font-size: clamp(38px, 5vw, 62px);
  line-height: 1.05;
  letter-spacing: -0.05em;
  margin-top: 14px;
}

.page-hero .lead {
  color: #a8b6cb;
  font-size: 16px;
  line-height: 1.8;
  max-width: 640px;
  margin-top: 20px;
}

.page-hero .hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.hero-stat-strip {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 46px;
  margin-top: 46px;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.hero-stat-strip div {
  display: flex;
  flex-direction: column;
}

.hero-stat-strip strong {
  font-size: 30px;
  color: #fff;
  letter-spacing: -0.03em;
}

.hero-stat-strip small {
  font-size: 12px;
  color: #8ea0bd;
  margin-top: 5px;
  letter-spacing: 0.02em;
}

/* ---------- Section scaffolding ---------- */
.adv-section {
  padding: 90px 0;
}

.adv-section.tight {
  padding: 64px 0;
}

.adv-head {
  max-width: 720px;
  margin-bottom: 44px;
}

.adv-head.centered {
  margin-inline: auto;
  text-align: center;
}

.adv-head h2 {
  font-size: clamp(30px, 3.4vw, 44px);
  letter-spacing: -0.04em;
  line-height: 1.12;
}

.adv-head h2 span {
  color: var(--adv-blue);
}

.adv-head p {
  font-size: 15px;
  line-height: 1.8;
  color: var(--adv-muted);
  margin-top: 14px;
}

/* ---------- Generic card + chips ---------- */
.adv-card {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 26px;
  box-shadow: 0 14px 34px rgba(17, 48, 90, 0.05);
}

.chip {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  border-radius: 20px;
  padding: 4px 11px;
  white-space: nowrap;
}

.chip.new,
.chip.ok { background: #e7f7ee; color: #15803d; }
.chip.fix,
.chip.warn { background: #fdf0d9; color: #b45309; }
.chip.improve,
.chip.info { background: #e7efff; color: var(--adv-blue); }
.chip.down { background: #fde8e8; color: var(--adv-red); }
.chip.soon { background: #efe9fb; color: #6d28d9; }

/* ---------- CTA band (shared footer band) ---------- */
.cta-band {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #0b2449, #102f5a);
  color: #fff;
  border-radius: 22px;
  padding: 54px 48px;
  text-align: center;
}

.cta-band:after {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(23, 107, 255, 0.14);
}

.cta-band h2 {
  position: relative;
  color: #fff;
  font-size: clamp(28px, 3.2vw, 42px);
  letter-spacing: -0.04em;
  max-width: 640px;
  margin: 0 auto;
}

.cta-band p {
  position: relative;
  color: #a8b6cb;
  font-size: 15px;
  max-width: 560px;
  margin: 16px auto 0;
}

.cta-band .hero-actions {
  position: relative;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 28px;
}

/* ==========================================================================
   CHANGELOG — timeline
   ========================================================================== */
.timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.timeline:before {
  content: "";
  position: absolute;
  left: 112px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: var(--adv-line);
}

.log-entry {
  display: grid;
  grid-template-columns: 98px 1fr;
  gap: 34px;
  position: relative;
}

.log-date {
  text-align: right;
  padding-top: 22px;
  font-size: 14px;
  font-weight: 700;
  color: var(--adv-ink);
}

.log-date small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  margin-top: 3px;
}

.log-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 14px 34px rgba(17, 48, 90, 0.05);
}

.log-card:before {
  content: "";
  position: absolute;
  left: -30px;
  top: 28px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--adv-blue);
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--adv-line);
}

.log-ver {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  color: var(--adv-blue);
  background: #e7efff;
  border-radius: 20px;
  padding: 4px 12px;
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}

.log-card h3 {
  font-size: 19px;
  margin-bottom: 12px;
}

.log-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

.log-card ul {
  margin: 0;
  padding-left: 18px;
}

.log-card li {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--adv-muted);
  margin: 6px 0;
}

/* ==========================================================================
   STATUS — service board
   ========================================================================== */
.status-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(145deg, #0d7a3f, #16a34a);
  color: #fff;
  border-radius: 16px;
  padding: 22px 26px;
  box-shadow: 0 18px 40px rgba(22, 163, 74, 0.22);
}

.status-banner.warn {
  background: linear-gradient(145deg, #b45309, #d97706);
  box-shadow: 0 18px 40px rgba(217, 119, 6, 0.22);
}

.status-banner .dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #eafff1;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.22);
  flex-shrink: 0;
}

.status-banner strong {
  display: block;
  font-size: 19px;
  color: #fff;
}

.status-banner small {
  display: block;
  font-size: 12.5px;
  color: #e4fff0;
  margin-top: 3px;
}

.status-banner .time {
  margin-left: auto;
  font-size: 12px;
  color: #e4fff0;
  text-align: right;
}

.status-list {
  margin-top: 26px;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(17, 48, 90, 0.05);
}

.status-row {
  display: grid;
  grid-template-columns: 1.5fr 2fr auto;
  gap: 20px;
  align-items: center;
  padding: 18px 24px;
  border-top: 1px solid var(--adv-line);
}

.status-row:first-child {
  border-top: 0;
}

.status-row .svc {
  font-weight: 700;
  font-size: 14.5px;
}

.status-row .svc small {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--adv-muted);
  margin-top: 3px;
}

.uptime-bars {
  display: flex;
  gap: 2px;
  height: 26px;
}

.uptime-bars i {
  flex: 1;
  border-radius: 2px;
  background: #22c55e;
}

.uptime-bars i.dip { background: #f59e0b; }
.uptime-bars i.down { background: #ef4444; }

.uptime-legend {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 14px;
  font-size: 12px;
  color: var(--adv-muted);
}

.uptime-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.uptime-legend b {
  width: 11px;
  height: 11px;
  border-radius: 3px;
  display: inline-block;
}

.incident-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.incident {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-left: 4px solid var(--adv-green);
  border-radius: 12px;
  padding: 20px 22px;
  box-shadow: 0 10px 26px rgba(17, 48, 90, 0.04);
}

.incident.warn { border-left-color: var(--adv-amber); }
.incident.down { border-left-color: var(--adv-red); }

.incident .inc-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.incident h3 {
  font-size: 16px;
}

.incident time {
  font-size: 12px;
  color: #94a3b8;
  margin-left: auto;
}

.incident p {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--adv-muted);
  margin: 0;
}

/* ==========================================================================
   KEMITRAAN — partners
   ========================================================================== */
.partner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.partner-card {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 14px 34px rgba(17, 48, 90, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.partner-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 46px rgba(17, 48, 90, 0.1);
}

.partner-card .pc-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 18px;
}

.pc-icon.blue { background: linear-gradient(145deg, #176bff, #0043ce); }
.pc-icon.violet { background: linear-gradient(145deg, #7c3aed, #5b21b6); }
.pc-icon.green { background: linear-gradient(145deg, #059669, #047857); }
.pc-icon.orange { background: linear-gradient(145deg, #ea580c, #c2410c); }

.partner-card h3 {
  font-size: 18px;
  margin-bottom: 10px;
}

.partner-card p {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--adv-muted);
  margin: 0 0 14px;
}

.partner-card ul {
  margin: 0;
  padding: 0;
}

.partner-card li {
  position: relative;
  font-size: 13px;
  line-height: 1.6;
  color: var(--adv-ink);
  padding-left: 22px;
  margin: 7px 0;
}

.partner-card li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--adv-green);
  font-weight: 800;
}

.logo-wall {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
}

.logo-slot {
  height: 84px;
  border: 1px dashed #c6d3e4;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #93a3ba;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.03em;
}

.step-flow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  counter-reset: step;
}

.step-flow article {
  position: relative;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 26px 24px;
  box-shadow: 0 12px 30px rgba(17, 48, 90, 0.05);
}

.step-flow article b {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #e7efff;
  color: var(--adv-blue);
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 16px;
}

.step-flow h3 {
  font-size: 16.5px;
  margin-bottom: 8px;
}

.step-flow p {
  font-size: 13px;
  line-height: 1.65;
  color: var(--adv-muted);
  margin: 0;
}

/* ==========================================================================
   KARIR — careers
   ========================================================================== */
.value-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
}

.value-grid article {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 12px 30px rgba(17, 48, 90, 0.05);
}

.value-grid .v-icon {
  font-size: 24px;
  margin-bottom: 12px;
  display: block;
}

.value-grid h3 {
  font-size: 16.5px;
  margin-bottom: 8px;
}

.value-grid p {
  font-size: 13px;
  line-height: 1.65;
  color: var(--adv-muted);
  margin: 0;
}

.job-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.job-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 14px;
  padding: 22px 26px;
  box-shadow: 0 10px 26px rgba(17, 48, 90, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.job-card:hover {
  border-color: #b9ccec;
  box-shadow: 0 16px 36px rgba(17, 48, 90, 0.09);
}

.job-card h3 {
  font-size: 17px;
  margin-bottom: 8px;
}

.job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 12.5px;
  color: var(--adv-muted);
}

.job-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.job-apply {
  white-space: nowrap;
  font-weight: 800;
  font-size: 13px;
  color: var(--adv-blue);
}

.perk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}

.perk-grid span {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--adv-ink);
}

.perk-grid b {
  color: var(--adv-blue);
  font-size: 16px;
}

/* ==========================================================================
   PRESS — press kit
   ========================================================================== */
.press-split {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 28px;
  align-items: start;
}

.fact-card {
  background: linear-gradient(145deg, #0b2449, #102f5a);
  color: #fff;
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 22px 50px rgba(12, 37, 72, 0.18);
}

.fact-card > small {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: #7aaaff;
  margin-bottom: 18px;
}

.fact-rows {
  display: flex;
  flex-direction: column;
}

.fact-rows > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 13.5px;
}

.fact-rows > div:first-child { border-top: 0; }
.fact-rows dt { color: #a8b6cb; }
.fact-rows dd { color: #fff; font-weight: 700; text-align: right; margin: 0; }

.kit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.kit-card {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 10px 26px rgba(17, 48, 90, 0.04);
}

.kit-card .k-icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: #e7efff;
  color: var(--adv-blue);
  display: grid;
  place-items: center;
  font-size: 18px;
  margin-bottom: 14px;
}

.kit-card h3 {
  font-size: 15.5px;
  margin-bottom: 6px;
}

.kit-card p {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--adv-muted);
  margin: 0 0 14px;
}

.kit-card a {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--adv-blue);
}

.boilerplate {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 14px 34px rgba(17, 48, 90, 0.05);
}

.boilerplate h3 {
  font-size: 17px;
  margin-bottom: 12px;
}

.boilerplate p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--adv-muted);
  margin-bottom: 14px;
}

.boilerplate p:last-child { margin-bottom: 0; }

.media-contact {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  background: #eef4ff;
  border: 1px solid #d4e2fb;
  border-radius: 14px;
  padding: 20px 24px;
}

.media-contact b {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--adv-blue);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 18px;
}

.media-contact strong { font-size: 15px; display: block; }
.media-contact small { font-size: 13px; color: var(--adv-muted); }
.media-contact a { margin-left: auto; font-weight: 800; font-size: 13px; }

/* ==========================================================================
   VOTING — feature request dashboard
   ========================================================================== */
.vote-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-bottom: 40px;
}

.vote-stats .adv-card {
  padding: 22px;
}

.vote-stats strong {
  display: block;
  font-size: 30px;
  letter-spacing: -0.03em;
  color: var(--adv-ink);
}

.vote-stats small {
  font-size: 12.5px;
  color: var(--adv-muted);
}

.filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.filter-tabs button {
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  color: var(--adv-muted);
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 20px;
  padding: 8px 16px;
  cursor: pointer;
  transition: all 0.18s ease;
}

.filter-tabs button:hover {
  border-color: #b9ccec;
}

.filter-tabs button.active {
  background: var(--adv-navy);
  border-color: var(--adv-navy);
  color: #fff;
}

.request-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.request-card {
  display: grid;
  grid-template-columns: 74px 1fr auto;
  gap: 20px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 14px;
  padding: 18px 22px;
  box-shadow: 0 10px 26px rgba(17, 48, 90, 0.04);
}

.vote-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 66px;
  padding: 10px 0;
  border: 1px solid var(--adv-line);
  border-radius: 12px;
  background: #f7faff;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.18s ease;
}

.vote-btn:hover {
  border-color: var(--adv-blue);
  background: #eef4ff;
}

.vote-btn.voted {
  border-color: var(--adv-blue);
  background: var(--adv-blue);
}

.vote-btn.voted .v-arrow,
.vote-btn.voted .v-count { color: #fff; }

.vote-btn .v-arrow {
  font-size: 15px;
  line-height: 1;
  color: var(--adv-blue);
  font-weight: 800;
}

.vote-btn .v-count {
  font-size: 16px;
  font-weight: 800;
  color: var(--adv-ink);
}

.request-body h3 {
  font-size: 16px;
  margin-bottom: 6px;
}

.request-body h3 a { color: inherit; }
.request-body h3 a:hover { color: var(--adv-blue); }

.request-body p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--adv-muted);
  margin: 0 0 8px;
}

.request-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  color: #94a3b8;
}

.status-chip {
  font-size: 11px;
  font-weight: 800;
  border-radius: 6px;
  padding: 3px 9px;
  letter-spacing: 0.02em;
}

.status-chip.dipertimbangkan { background: #eef2f7; color: #64748b; }
.status-chip.direncanakan { background: #e7efff; color: var(--adv-blue); }
.status-chip.dikembangkan { background: #efe9fb; color: #6d28d9; }
.status-chip.dirilis { background: #e7f7ee; color: #15803d; }

/* Roadmap board */
.roadmap-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.roadmap-col {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 10px 26px rgba(17, 48, 90, 0.04);
}

.roadmap-col > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--adv-line);
}

.roadmap-col h3 {
  font-size: 14px;
}

.roadmap-col header span {
  font-size: 12px;
  font-weight: 800;
  color: #94a3b8;
}

.roadmap-item {
  border: 1px solid var(--adv-line);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
}

.roadmap-item p {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--adv-ink);
  margin: 0 0 6px;
  line-height: 1.4;
}

.roadmap-item small {
  font-size: 11.5px;
  color: #94a3b8;
}

/* ==========================================================================
   DIREKTORI — contributor school directory
   ========================================================================== */
.dir-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-bottom: 28px;
}

.dir-search {
  flex: 1;
  min-width: 220px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 12px;
  padding: 12px 16px;
}

.dir-search input {
  border: 0;
  outline: 0;
  font-family: inherit;
  font-size: 14px;
  width: 100%;
  background: transparent;
  color: var(--adv-ink);
}

.dir-select {
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--adv-ink);
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 12px;
  padding: 12px 16px;
  cursor: pointer;
}

.dir-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.school-card {
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 12px 30px rgba(17, 48, 90, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.school-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 44px rgba(17, 48, 90, 0.1);
}

.school-card .sc-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.school-avatar {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  background: linear-gradient(145deg, #176bff, #0043ce);
}

.school-avatar.violet { background: linear-gradient(145deg, #7c3aed, #5b21b6); }
.school-avatar.green { background: linear-gradient(145deg, #059669, #047857); }
.school-avatar.orange { background: linear-gradient(145deg, #ea580c, #c2410c); }
.school-avatar.cyan { background: linear-gradient(145deg, #0891b2, #0e7490); }

.school-card h3 {
  font-size: 16px;
  margin-bottom: 3px;
}

.school-card .sc-loc {
  font-size: 12.5px;
  color: var(--adv-muted);
}

.contributor-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--adv-amber);
  background: #fdf5e6;
  border-radius: 20px;
  padding: 5px 11px;
}

.contributor-badge.plus {
  color: #6d28d9;
  background: #f1ecfb;
}

.school-card .sc-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--adv-line);
  font-size: 12.5px;
  color: var(--adv-muted);
}

.school-card p{font-size:13px;line-height:1.65;color:var(--adv-muted);margin:15px 0}.directory-badge{display:inline-flex;margin-top:14px;padding:6px 9px;border-radius:999px;background:#e7f7ee;color:#15803d;font-size:11px;font-weight:800}.sc-services{display:flex;flex-wrap:wrap;gap:6px}.sc-services span{padding:5px 8px;border-radius:7px;background:#eef3fa;color:#52637b;font-size:11px;font-weight:700}.school-card .sc-foot a{font-weight:800;color:var(--adv-blue)}
.profile-identity{display:flex;align-items:center;gap:24px}.profile-identity h1{margin:0 0 12px}.profile-avatar{width:90px;height:90px;border-radius:24px;font-size:24px;flex:0 0 auto}.profile-layout{display:grid;grid-template-columns:1fr 320px;gap:36px}.profile-main,.profile-contact,.profile-service-grid article{background:#fff;border:1px solid var(--adv-line);border-radius:18px;padding:30px}.profile-main h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}.profile-main>p,.profile-contact p,.profile-service-grid p,.profile-service-grid li{font-size:15px;line-height:1.75;color:var(--adv-muted)}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.profile-facts span{padding:16px;background:#f3f7fc;border-radius:12px}.profile-facts b,.profile-facts small{display:block}.profile-facts b{font-size:18px}.profile-facts small{font-size:12px;color:var(--adv-muted)}.profile-contact h3{font-size:19px}.profile-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.profile-service-grid article>span{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--adv-blue)}.profile-service-grid h3{font-size:24px;margin:10px 0}.profile-service-grid ul{padding-left:20px}.catalog-list{display:grid;gap:8px;margin:20px 0}.catalog-list span{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#f3f7fc;border-radius:10px}.catalog-list b{font-size:13px}.catalog-list small{font-size:11px;color:var(--adv-muted)}
@media(max-width:760px){.profile-identity{align-items:flex-start;flex-direction:column}.profile-layout,.profile-service-grid{grid-template-columns:1fr}.profile-facts{grid-template-columns:1fr}.catalog-list span{flex-direction:column}}

/* Detailed public school profile */
.school-profile-hero{padding-bottom:76px}.school-identity-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.school-identity-meta span{padding:5px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#c8d7eb;font-size:11px;font-weight:700}.school-section-nav{position:sticky;top:72px;z-index:7;background:#fff;border-bottom:1px solid var(--adv-line)}.school-section-nav .section-shell{display:flex;gap:4px;overflow:auto;padding-block:11px}.school-section-nav a{padding:8px 12px;border-radius:8px;white-space:nowrap;font-size:12px;font-weight:800;color:#607087}.school-section-nav a:hover{background:#edf3fb;color:var(--adv-blue)}.school-soft-section{background:#eaf1f9}.school-vision{display:grid;grid-template-columns:.75fr 1.25fr;gap:12px;margin-top:26px}.school-vision>div{padding:18px;border-radius:12px;background:#f3f7fc}.school-vision small{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--adv-blue)}.school-vision p,.school-vision li{font-size:14px;line-height:1.7;color:var(--adv-muted)}.school-vision ul{padding-left:18px;margin-bottom:0}.profile-facts{grid-template-columns:repeat(4,1fr)}.public-detail-list{margin:18px 0 0}.public-detail-list div{padding:11px 0;border-top:1px solid #e9eef5}.public-detail-list dt{font-size:11px;font-weight:800;color:#8490a1;text-transform:uppercase}.public-detail-list dd{font-size:13px;line-height:1.55;margin:4px 0 0;color:var(--adv-ink)}
.curriculum-grid{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:18px}.curriculum-grid>article{background:#fff;border:1px solid var(--adv-line);border-radius:16px;padding:26px}.curriculum-main>span{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--adv-blue)}.curriculum-grid h3{font-size:21px;margin:8px 0 12px}.curriculum-grid p{font-size:14px;line-height:1.75;color:var(--adv-muted)}.learning-methods,.subject-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.learning-methods span,.subject-list span{padding:7px 9px;border-radius:8px;background:#eef3fa;color:#516279;font-size:11px;font-weight:700}.program-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.program-strip article{display:flex;gap:13px;background:var(--adv-navy);color:#fff;border-radius:14px;padding:20px}.program-strip article>b{width:38px;height:38px;border-radius:10px;background:var(--adv-blue);display:grid;place-items:center;flex:0 0 auto;font-size:11px}.program-strip h3{font-size:15px;margin:0 0 5px}.program-strip p{font-size:12px;line-height:1.6;color:#aebed4;margin:0}
.school-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.school-section-heading h2{font-size:clamp(30px,3.7vw,46px);letter-spacing:-.045em;margin:0}.school-section-heading>p{max-width:470px;font-size:14px;line-height:1.7;color:var(--adv-muted);margin:0}.calendar-layout{display:grid;grid-template-columns:360px 1fr;gap:24px}.calendar-month,.event-list article{background:#fff;border:1px solid var(--adv-line);border-radius:16px}.calendar-month{padding:24px}.calendar-month header{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--adv-line);padding-bottom:14px;margin-bottom:16px}.calendar-month header span{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--adv-blue)}.calendar-month h3{font-size:24px;margin:0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-days small{font-size:10px;font-weight:800;color:#8a96a8;padding:6px 0}.calendar-days b,.calendar-days i{height:34px;display:grid;place-items:center;border-radius:9px;font-size:12px;font-style:normal}.calendar-days b.event{background:var(--adv-blue);color:#fff}.event-list{display:grid;gap:10px}.event-list article{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:18px}.event-list time{font-size:13px;font-weight:800;color:var(--adv-blue)}.event-list h3{font-size:16px;margin:6px 0}.event-list p{font-size:13px;line-height:1.6;color:var(--adv-muted);margin:0}.event-type{font-size:9px;font-weight:800;letter-spacing:.1em;color:#6d28d9}.event-type.parent{color:#15803d}.event-type.activity{color:#c35b12}.event-type.exam{color:#b91c1c}
.staff-lead{display:flex;gap:18px;align-items:center;background:var(--adv-navy);color:#fff;border-radius:18px;padding:24px;margin-bottom:16px}.staff-lead small,.staff-grid small{font-size:9px;font-weight:800;letter-spacing:.1em;color:#79a8ff}.staff-lead h3{font-size:21px;margin:4px 0}.staff-lead p{font-size:13px;color:#b8c6da;margin:0}.staff-avatar{width:48px;height:48px;border-radius:14px;background:#e5edfa;color:var(--adv-blue);display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-weight:800}.staff-avatar.head{width:68px;height:68px;background:var(--adv-blue);color:#fff;font-size:17px}.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.staff-grid article{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--adv-line);border-radius:14px;padding:16px}.staff-grid h3{font-size:13px;margin:3px 0}.staff-grid p{font-size:11px;color:var(--adv-muted);margin:0}.school-data-note{font-size:12px;color:var(--adv-muted);text-align:center;margin:20px 0 0}
.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.facility-grid article{background:#fff;border:1px solid var(--adv-line);border-radius:16px;padding:22px}.facility-grid .facility-featured{grid-column:span 2;display:grid;grid-template-columns:180px 1fr;gap:22px}.facility-visual{min-height:150px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#164d91,#071b3b);color:#fff;font-size:28px;font-weight:800;letter-spacing:.14em}.facility-icon{width:42px;height:42px;border-radius:11px;background:#e8f0ff;color:var(--adv-blue);display:grid;place-items:center;font-size:11px;font-weight:800}.facility-grid h3{font-size:17px;margin:13px 0 8px}.facility-grid p{font-size:13px;line-height:1.65;color:var(--adv-muted)}.facility-grid article>span,.facility-count{font-size:11px;font-weight:800;color:var(--adv-blue)}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.activity-grid article{background:#fff;border:1px solid var(--adv-line);border-radius:15px;padding:22px}.activity-grid b{width:40px;height:40px;border-radius:11px;background:var(--adv-navy);color:#fff;display:grid;place-items:center;font-size:11px}.activity-grid h3{font-size:17px;margin:14px 0 7px}.activity-grid p{font-size:13px;line-height:1.65;color:var(--adv-muted);margin:0}.admission-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.admission-info span{padding:12px;background:#eef3fa;border-radius:10px}.admission-info b,.admission-info small{display:block}.admission-info b{font-size:13px}.admission-info small{font-size:10px;color:var(--adv-muted);margin-top:3px}.catalog-search{display:flex;align-items:center;gap:8px;border:1px solid var(--adv-line);border-radius:10px;padding:0 12px;margin-top:18px}.catalog-search input{width:100%;border:0;outline:0;padding:11px 0;background:transparent;font:500 13px Manrope,sans-serif}
@media(max-width:1000px){.curriculum-grid{grid-template-columns:1fr 1fr}.curriculum-main{grid-column:1/-1}.staff-grid{grid-template-columns:repeat(2,1fr)}.facility-grid{grid-template-columns:1fr 1fr}.activity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.school-section-nav{top:64px}.school-section-heading{display:block}.school-section-heading>p{margin-top:12px}.school-vision,.curriculum-grid,.program-strip,.calendar-layout,.staff-grid,.facility-grid,.activity-grid{grid-template-columns:1fr}.curriculum-main,.facility-grid .facility-featured{grid-column:auto}.facility-grid .facility-featured{grid-template-columns:1fr}.profile-facts{grid-template-columns:1fr 1fr}.admission-info{grid-template-columns:1fr}.event-list article{grid-template-columns:60px 1fr}}

/* Public SPMB form */
.spmb-form-section{background:#fff}.spmb-form-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start}.spmb-form-aside{position:sticky;top:140px;display:grid;gap:16px}.spmb-school-card,.spmb-reminder,.spmb-form-card{border:1px solid var(--adv-line);border-radius:18px;background:#fff}.spmb-school-card{display:flex;gap:14px;align-items:center;padding:20px}.spmb-school-card .school-avatar{flex:0 0 auto}.spmb-school-card small{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--adv-blue)}.spmb-school-card h3{font-size:17px;margin:4px 0}.spmb-school-card p{font-size:11px;line-height:1.55;color:var(--adv-muted);margin:0}.spmb-steps{display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;border-radius:16px;background:var(--adv-navy)}.spmb-steps span{display:flex;flex-direction:column;align-items:center;gap:6px;color:#748aa9;min-width:62px}.spmb-steps b{width:30px;height:30px;border:1px solid #46617f;border-radius:50%;display:grid;place-items:center;font-size:11px}.spmb-steps em{font-size:9px;font-style:normal;font-weight:700;text-align:center}.spmb-steps i{height:1px;width:25px;background:#46617f;margin-top:15px}.spmb-steps span.active,.spmb-steps span.done{color:#fff}.spmb-steps span.active b{background:var(--adv-blue);border-color:var(--adv-blue)}.spmb-steps span.done b{background:#15803d;border-color:#15803d}.spmb-reminder{padding:20px}.spmb-reminder strong{font-size:14px}.spmb-reminder ul{padding-left:18px;margin:10px 0 0}.spmb-reminder li{font-size:12px;line-height:1.65;color:var(--adv-muted);margin:5px 0}.spmb-form-card{padding:30px;box-shadow:0 20px 50px rgba(17,48,90,.07)}.spmb-step{display:none}.spmb-step.active{display:block}.spmb-card-heading{padding-bottom:20px;border-bottom:1px solid var(--adv-line);margin-bottom:4px}.spmb-card-heading>span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--adv-blue)}.spmb-card-heading h3{font-size:25px;margin:6px 0}.spmb-card-heading p{font-size:13px;color:var(--adv-muted);margin:0}.spmb-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.spmb-fields label{display:flex;flex-direction:column;gap:7px;margin-top:17px}.spmb-fields label.wide{grid-column:1/-1}.spmb-fields label>span{font-size:12px;font-weight:800;color:#536279}.spmb-fields input,.spmb-fields select,.spmb-fields textarea{width:100%;border:1px solid #d8e1ec;border-radius:10px;background:#fbfcfe;color:var(--adv-ink);padding:12px 13px;font:500 14px Manrope,sans-serif;outline:0}.spmb-fields textarea{resize:vertical;line-height:1.6}.spmb-fields input:focus,.spmb-fields select:focus,.spmb-fields textarea:focus{border-color:var(--adv-blue);box-shadow:0 0 0 3px rgba(23,107,255,.1);background:#fff}.spmb-fields [aria-invalid=true],.spmb-consent input[aria-invalid=true]{border-color:#d9485f}.guardian-panel{margin-top:18px;padding:20px;border:1px solid var(--adv-line);border-radius:14px;background:#f8fafe}.guardian-panel header{display:flex;align-items:center;gap:10px}.guardian-panel header>span{width:36px;height:36px;border-radius:10px;background:#e8f0ff;color:var(--adv-blue);display:grid;place-items:center;font-weight:800}.guardian-panel header small{font-size:9px;font-weight:800;color:#8390a1}.guardian-panel h4{font-size:16px;margin:2px 0}.spmb-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.spmb-summary article{padding:16px;border:1px solid var(--adv-line);border-radius:12px;background:#f8fafe}.spmb-summary small,.spmb-summary strong,.spmb-summary span{display:block}.spmb-summary small{font-size:9px;font-weight:800;color:#8290a3;letter-spacing:.08em}.spmb-summary strong{font-size:14px;margin-top:6px}.spmb-summary span{font-size:11px;color:var(--adv-muted);margin-top:4px}.spmb-consent{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;margin-top:18px;padding:14px;border-radius:10px;background:#eef4ff}.spmb-consent span{font-size:12px;line-height:1.6;color:#40536d}.spmb-feedback{display:none;margin-top:16px;padding:12px;border-radius:9px;font-size:12px}.spmb-feedback.visible{display:block}.spmb-feedback.error{background:#fff0f2;color:#9f3045}.spmb-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.spmb-form-actions .button-ghost{color:var(--adv-ink);border-color:var(--adv-line)}.spmb-success{text-align:center;padding:34px 12px}.spmb-success-icon{width:62px;height:62px;margin:0 auto 16px;border-radius:18px;background:#e5f7ee;color:#15803d;display:grid;place-items:center;font-size:26px;font-weight:800}.spmb-success>small{font-size:10px;font-weight:800;letter-spacing:.14em;color:#15803d}.spmb-success h3{font-size:26px;margin:8px 0}.spmb-success>p{font-size:14px;line-height:1.7;color:var(--adv-muted);max-width:590px;margin:0 auto}.spmb-registration-code{max-width:440px;margin:22px auto;padding:16px;border:1px dashed #b8c8da;border-radius:12px;background:#f7faff}.spmb-registration-code span,.spmb-registration-code strong{display:block}.spmb-registration-code span{font-size:9px;font-weight:800;color:#8290a3}.spmb-registration-code strong{font-size:22px;letter-spacing:.05em;margin:6px 0}.spmb-registration-code button{border:0;background:transparent;color:var(--adv-blue);font:800 11px Manrope,sans-serif;cursor:pointer}.spmb-next-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:650px;margin:0 auto 22px;text-align:left}.spmb-next-info span{display:flex;gap:9px;padding:12px;background:#eef3fa;border-radius:10px;font-size:11px;line-height:1.5;color:var(--adv-muted)}.spmb-next-info b{width:22px;height:22px;border-radius:7px;background:var(--adv-blue);color:#fff;display:grid;place-items:center;flex:0 0 auto;font-size:10px}
@media(max-width:900px){.spmb-form-layout{grid-template-columns:1fr}.spmb-form-aside{position:static;grid-template-columns:1fr 1fr}.spmb-steps{grid-column:1/-1;grid-row:1}.spmb-reminder{grid-column:2}.spmb-school-card{grid-column:1}}
@media(max-width:760px){.spmb-form-aside{display:block}.spmb-form-aside>*{margin-bottom:12px}.spmb-form-card{padding:20px}.spmb-fields,.spmb-summary,.spmb-next-info{grid-template-columns:1fr}.spmb-fields label.wide{grid-column:auto}.spmb-form-actions{justify-content:stretch}.spmb-form-actions .button{flex:1;padding-inline:12px}.spmb-steps span{min-width:55px}}

/* Sticky profile navigation: desktop main nav scrolls away; mobile main nav stays at 60px. */
@media(min-width:761px){.school-section-nav{top:0}}
@media(max-width:760px){.school-section-nav{top:60px}}

/* Symmetrical school-profile secondary navigation. */
@media(min-width:761px){.school-section-nav .section-shell{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;overflow:visible;padding-block:7px}.school-section-links{display:flex;align-items:center;justify-content:center;gap:2px}.school-section-brand{justify-self:start;color:var(--adv-ink)!important;font-size:14px!important}.school-section-cta{justify-self:end;background:var(--adv-blue);color:#fff!important;padding:8px 13px!important;border-radius:8px;font-size:12px!important}.school-section-cta:hover{background:#4085ff!important;color:#fff!important}}
@media(min-width:761px) and (max-width:900px){.school-section-nav .section-shell{gap:6px}.school-section-links a{font-size:10.5px;padding-inline:7px}.school-section-brand{font-size:12px!important}.school-section-cta{font-size:11px!important;padding-inline:9px!important}}
@media(max-width:760px){.school-section-nav .section-shell{display:flex;align-items:center;overflow-x:auto;padding-block:8px}.school-section-brand{display:none}.school-section-links{display:flex;align-items:center}.school-section-cta{position:sticky;right:0;margin-left:8px;background:var(--adv-blue);color:#fff!important;box-shadow:-12px 0 15px #fff;padding:8px 12px!important;border-radius:8px}}

.dir-note {
  margin-top: 26px;
  font-size: 12.5px;
  color: var(--adv-muted);
  text-align: center;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 900px) {
  .press-split { grid-template-columns: 1fr; }
  .roadmap-board { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .page-hero { padding: 96px 0 64px; }
  .adv-section { padding: 64px 0; }

  .timeline:before { left: 6px; }
  .log-entry { grid-template-columns: 1fr; gap: 10px; }
  .log-date { text-align: left; padding-top: 0; padding-left: 26px; }
  .log-card { margin-left: 26px; }
  .log-card:before { left: -26px; }

  .status-row { grid-template-columns: 1fr; gap: 12px; }
  .status-row .pill, .status-row .chip { justify-self: start; }

  .request-card { grid-template-columns: 66px 1fr; }
  .request-card .status-chip { grid-column: 2; justify-self: start; }

  .job-card { grid-template-columns: 1fr; gap: 14px; }
  .roadmap-board { grid-template-columns: 1fr; }

  .cta-band { padding: 40px 24px; }
  .hero-actions .button { width: 100%; }
}

/* Readability pass — P2 content pages. */
@media (min-width: 761px) {
  .page-hero .lead { font-size: 18px; }
  .hero-stat-strip small { font-size: 12.5px; }
  .adv-head p, .cta-band p { font-size: 15px; line-height: 1.8; }
  .chip, .status-chip { font-size: 12.5px; }
  .log-date { font-size: 14px; }
  .log-date small, .log-ver { font-size: 12.5px; }
  .log-card h3, .partner-card h3, .step-flow h3, .value-grid h3, .job-card h3, .kit-card h3, .boilerplate h3, .request-body h3, .roadmap-col h3, .school-card h3 { font-size: 19px; }
  .log-card li, .partner-card li { font-size: 14px; line-height: 1.7; }
  .status-row .svc { font-size: 15px; }
  .status-row .svc small, .uptime-legend, .incident time, .job-meta, .fact-card > small, .kit-card a, .media-contact small, .request-tags, .roadmap-col header span, .roadmap-item small, .school-card .sc-loc, .school-card .sc-meta { font-size: 12.5px; }
  .incident h3 { font-size: 18px; }
  .incident p, .partner-card p, .step-flow p, .value-grid p, .kit-card p, .request-body p, .roadmap-item p, .school-card p { font-size: 15px; line-height: 1.7; }
  .partner-card li, .perk-grid span, .fact-rows, .boilerplate p { font-size: 14px; }
  .job-apply, .media-contact a { font-size: 13px; }
  .filter-tabs button, .dir-toolbar input, .dir-toolbar select { font-size: 14px; }
}

@media (max-width: 760px) {
  .page-hero .lead { font-size: 17px; line-height: 1.75; }
  .hero-stat-strip small { font-size: 12px; }
  .adv-head p, .cta-band p, .incident p, .partner-card p, .step-flow p, .value-grid p, .kit-card p, .request-body p, .roadmap-item p, .school-card p { font-size: 15px; line-height: 1.75; }
  .chip, .status-chip, .status-row .svc small, .uptime-legend, .incident time, .job-meta, .fact-card > small, .kit-card a, .media-contact small, .request-tags, .roadmap-col header span, .roadmap-item small, .school-card .sc-loc, .school-card .sc-meta { font-size: 12px; }
  .log-card h3, .partner-card h3, .step-flow h3, .value-grid h3, .job-card h3, .kit-card h3, .boilerplate h3, .request-body h3, .roadmap-col h3, .school-card h3, .incident h3 { font-size: 18px; }
  .log-card li, .partner-card li, .perk-grid span, .fact-rows, .boilerplate p { font-size: 14px; line-height: 1.7; }
  .status-row .svc { font-size: 15px; }
  .job-apply, .media-contact a { min-height: 44px; font-size: 13px; }
  .filter-tabs { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; }
  .filter-tabs button { min-height: 44px; min-width: max-content; font-size: 13px; }
  .dir-toolbar input, .dir-toolbar select { min-height: 46px; font-size: 16px; }

  .school-section-nav .section-shell { scrollbar-width: none; }
  .school-section-nav .section-shell::-webkit-scrollbar { display: none; }
  .school-section-nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: 12.5px; }
  .school-section-cta { min-height: 40px !important; display: inline-flex !important; align-items: center; }
  .school-section-heading > p, .school-vision p, .school-vision li, .event-list p, .staff-lead p, .facility-grid p, .activity-grid p { font-size: 15px; line-height: 1.75; }
  .school-vision small, .public-detail-list dt, .event-type, .staff-lead small, .staff-grid small, .facility-grid article > span, .facility-count { font-size: 11.5px; }
  .public-detail-list dd, .event-list time, .admission-info b { font-size: 13px; }
  .event-list h3, .staff-grid h3, .facility-grid h3, .activity-grid h3 { font-size: 17px; }
  .staff-grid p, .school-data-note, .admission-info small { font-size: 12.5px; }

  .spmb-school-card small, .spmb-card-heading > span, .guardian-panel header small, .spmb-summary small, .spmb-success > small, .spmb-registration-code span { font-size: 11.5px; }
  .spmb-school-card h3 { font-size: 17px; }
  .spmb-school-card p, .spmb-reminder li, .spmb-card-heading p, .spmb-summary span, .spmb-consent span, .spmb-feedback, .spmb-next-info span { font-size: 14px; line-height: 1.7; }
  .spmb-reminder strong, .spmb-summary strong { font-size: 15px; }
  .spmb-card-heading h3 { font-size: 24px; }
  .spmb-fields label > span { font-size: 14px; }
  .guardian-panel h4 { font-size: 17px; }
  .spmb-steps { overflow-x: auto; justify-content: flex-start; }
  .spmb-steps em { font-size: 11px; }
  .spmb-form-actions .button { min-height: 46px; }
  .spmb-success > p { font-size: 15px; line-height: 1.75; }
  .spmb-registration-code button { min-height: 44px; font-size: 13px; }
}
/* Secondary nav consistency: horizontal only, active item visible. */
.school-section-nav {
  overflow: hidden;
}

.school-section-nav .section-shell {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
}

.school-section-links a {
  position: relative;
}

.school-section-links a.active {
  color: var(--adv-blue) !important;
  background: #edf3fb;
}

.school-section-links a.active::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 2px;
  border-radius: 2px;
  background: var(--adv-blue);
}
