/* SALA — Customers / Proof page */
.chero{ padding:76px 0 56px; text-align:center; background:
  radial-gradient(900px 440px at 50% -10%, var(--blue-tint) 0%, rgba(233,240,255,0) 62%); }
.chero .h1{ max-width:16ch; margin:18px auto 0; }
.chero .lead{ max-width:54ch; margin:18px auto 0; }

/* big proof grid */
.bigproof{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); }
.bigproof .cell{ padding:34px 28px; border-right:1px solid var(--line); }
.bigproof .cell:last-child{ border-right:0; }
.bigproof .cell .n{ font-size:clamp(34px,3.6vw,48px); font-weight:700; letter-spacing:-0.04em; color:var(--blue); }
.bigproof .cell .l{ font-size:14px; color:var(--muted); margin-top:10px; line-height:1.45; }

/* partners */
.partners{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.partner{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; gap:12px; min-height:150px; }
.partner .plogo{ height:40px; border-radius:10px; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; width:fit-content; padding:0 14px; font-weight:700; color:var(--blue-700); font-size:15px; letter-spacing:-0.01em; }
.partner .pn{ font-weight:600; font-size:16px; letter-spacing:-0.01em; }
.partner .pd{ font-size:13.5px; color:var(--muted); line-height:1.45; margin-top:auto; }

/* testimonials */
.quotes{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.quote{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.quote .qm{ font-size:18px; line-height:1.5; letter-spacing:-0.01em; color:var(--ink); }
.quote .qmark{ font-size:40px; line-height:1; color:var(--blue-tint-2); font-family:Georgia, serif; height:24px; }
.quote .qby{ display:flex; align-items:center; gap:12px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line-2); }
.quote .qav{ width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#c9dbff,#9cc2ff); flex:none; }
.quote .qn{ font-weight:600; font-size:14.5px; }
.quote .qr{ font-size:12.5px; color:var(--muted); }
.ph-note{ font-family:var(--mono); font-size:11px; color:var(--muted-2); margin-top:14px; }

/* case studies */
.cases{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.case{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; }
.case-top{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.case-chip{ height:34px; padding:0 13px; border-radius:9px; background:var(--blue-tint); color:var(--blue-700); font-weight:700; font-size:14px; letter-spacing:-0.01em; display:inline-flex; align-items:center; flex:none; }
.case-tag{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); line-height:1.3; }
.case-name{ font-size:16.5px; font-weight:600; letter-spacing:-0.015em; margin:0 0 18px; line-height:1.25; }
.case-metric{ display:flex; gap:28px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line-2); }
.case-metric .cm{ display:flex; flex-direction:column; gap:6px; }
.case-metric .cm-n{ font-size:26px; font-weight:700; letter-spacing:-0.03em; color:var(--blue); line-height:1; }
.case-metric .cm-l{ font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.case-body{ font-size:14px; line-height:1.55; color:var(--ink-2); margin:0; }
.case-mods{ display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:18px; }
.case-mods span{ font-size:11.5px; font-weight:600; color:var(--blue-700); background:var(--blue-tint); border-radius:999px; padding:5px 10px; }

/* recognition / awards */
.award-feature{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:0; background:#fff;
  border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:var(--shadow-sm); }
.award-feature .af-badge{ display:flex; align-items:center; justify-content:center; padding:48px;
  background:radial-gradient(420px 300px at 30% 20%, var(--blue-tint) 0%, #fff 75%); border-right:1px solid var(--line-2); }
.award-feature .af-badge img{ width:100%; max-width:280px; filter:drop-shadow(0 10px 24px rgba(8,30,90,.12)); }
.award-feature .af-copy{ padding:44px 46px; display:flex; flex-direction:column; justify-content:center; }
.af-year{ font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.af-title{ font-size:clamp(26px,2.6vw,34px); font-weight:700; letter-spacing:-0.03em; margin:12px 0 0; line-height:1.08; }
.af-desc{ font-size:16px; line-height:1.62; color:var(--ink-2); margin:16px 0 0; max-width:48ch; }
.af-tag{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono);
  font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.af-tag .star{ color:#f0a020; }
.af-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:22px; }
.af-link{ display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:14px; color:var(--blue); }
.af-link:hover{ color:var(--blue-700); }
.af-link .arr{ display:inline-block; transition:transform .16s ease; }
.af-link:hover .arr{ transform:translate(2px,-2px); }

/* edtech 50 streak */
.award-streak{ margin-top:22px; background:#fff; border:1px solid var(--line); border-radius:22px;
  padding:36px 44px 40px; box-shadow:var(--shadow-sm); }
.as-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.as-head .as-t{ font-size:23px; font-weight:700; letter-spacing:-0.02em; }
.as-head .as-d{ font-size:15px; color:var(--muted); line-height:1.55; margin-top:8px; max-width:62ch; }
.as-streak-badge{ display:inline-flex; align-items:center; gap:9px; height:38px; padding:0 16px; border-radius:999px;
  background:var(--blue-tint); color:var(--blue-700); font-weight:700; font-size:14px; letter-spacing:-0.01em; flex:none; white-space:nowrap; }
.as-streak-badge .dot3{ display:inline-flex; gap:3px; }
.as-streak-badge .dot3 i{ width:6px; height:6px; border-radius:50%; background:var(--blue); }
.as-badges{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:28px; }
.as-badge{ display:block; background:#fff; border:1px solid var(--line-2); border-radius:16px; overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; }
.as-badge:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.as-badge img{ width:100%; display:block; }
.as-badge .yr{ text-align:center; font-family:var(--mono); font-size:12px; letter-spacing:.06em;
  color:var(--ink-2); padding:13px 0; border-top:1px solid var(--line-2); font-weight:500;
  display:flex; align-items:center; justify-content:center; gap:6px; }
.as-badge .yr .arr{ color:var(--blue); transition:transform .16s ease; }
.as-badge:hover .yr{ color:var(--blue); }
.as-badge:hover .yr .arr{ transform:translate(2px,-2px); }
.as-foot{ margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.as-foot .src{ font-size:13px; color:var(--muted); }
.as-link{ display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:14px; color:var(--blue); }
.as-link:hover{ color:var(--blue-700); }
.as-link .arr{ transition:transform .16s ease; }
.as-link:hover .arr{ transform:translateX(3px); }

@media(max-width:760px){
  .award-feature{ grid-template-columns:1fr; }
  .award-feature .af-badge{ border-right:0; border-bottom:1px solid var(--line-2); padding:40px; }
  .award-feature .af-copy{ padding:34px 30px; }
  .as-badges{ grid-template-columns:1fr; max-width:300px; margin-left:auto; margin-right:auto; }
}

/* institution logo wall */
.wall{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.wall .w{ height:108px; border:1px solid var(--line); border-radius:14px; background:#fff;
  display:flex; align-items:center; justify-content:center; padding:18px 16px;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease; }
.wall .w:hover{ box-shadow:var(--shadow-sm); border-color:var(--line-2); transform:translateY(-2px); }
.wall .w img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block; }
.wall .w.wide img{ max-height:50px; }
.wall .w.tall img{ max-height:78px; }
.wall .w.boost img{ transform:scale(1.4); }

/* presence */
.presence{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.country{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px; box-shadow:var(--shadow-sm); }
.country .cflag{ font-size:30px; }
.country .cn{ font-weight:700; font-size:22px; letter-spacing:-0.02em; margin-top:10px; }
.country .cstats{ display:flex; gap:32px; margin-top:18px; }
.country .cstats .n{ font-size:24px; font-weight:700; letter-spacing:-0.03em; }
.country .cstats .l{ font-family:var(--mono); font-size:10.5px; text-transform:uppercase; color:var(--muted); margin-top:4px; }

@media(max-width:920px){
  .bigproof{ grid-template-columns:1fr 1fr; }
  .bigproof .cell:nth-child(2n){ border-right:0; }
  .bigproof .cell:nth-child(-n+2){ border-bottom:1px solid var(--line); }
  .partners{ grid-template-columns:1fr 1fr; }
  .cases{ grid-template-columns:1fr 1fr; }
  .quotes{ grid-template-columns:1fr; }
  .wall{ grid-template-columns:repeat(3,1fr); }
}
@media(max-width:560px){ .bigproof{ grid-template-columns:1fr; } .partners,.presence,.cases{ grid-template-columns:1fr; } }
