/* A shared editorial setting for partner creatives. The artwork keeps its
   own colours and full frame; only the surrounding furniture follows EduStats. */
.partner-showcase { margin:36px 0 48px; color:var(--text); container-type:inline-size; }
.partner-showcase__masthead { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 2px 12px; }
.partner-showcase__label { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.partner-showcase__label .icn { color:var(--accent); }
.partner-showcase__disclosure { font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--text-muted); border:1px solid var(--border-strong); border-radius:6px; padding:3px 8px; }
.partner-showcase__feature {
  position:relative;
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(0,1.8fr);
  align-items:center;
  gap:clamp(24px,4vw,56px);
  padding:28px 32px;
  border:1px solid var(--border-strong);
  border-radius:22px;
  background:var(--surface-alt);
  color:inherit;
  text-decoration:none;
  transition:border-color .2s,box-shadow .2s;
}
.partner-showcase__copy { min-width:0; padding:4px 0 4px 4px; }
.partner-showcase__byline,.partner-showcase__description { overflow-wrap:anywhere; }
.partner-showcase__byline { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--text-muted); font-size:12px; letter-spacing:.02em; margin-bottom:18px; }
.partner-showcase__byline strong { font-size:16px; color:var(--text); letter-spacing:-.035em; }
.partner-showcase__byline > span { color:var(--accent); }
.partner-showcase__title { font-size:clamp(24px,2.7vw,36px); line-height:1.12; font-weight:700; letter-spacing:-.045em; margin:0 0 14px; text-wrap:balance; overflow-wrap:anywhere; }
.partner-showcase__description { max-width:32ch; margin:0; color:var(--text-muted); font-size:13px; line-height:1.7; text-wrap:pretty; }
.partner-showcase__cta { display:inline-flex; align-items:center; gap:20px; margin-top:24px; font-size:12px; font-weight:700; }
.partner-showcase__arrow { display:grid; place-items:center; width:38px; height:38px; color:var(--text); background:var(--lime); border:1px solid var(--border-strong); border-radius:50%; transition:transform .2s,background .2s; }
.partner-showcase__stage { min-width:0; width:100%; max-width:760px; justify-self:center; position:relative; }
.partner-showcase--top .partner-showcase__stage { max-width:640px; }
.partner-showcase__image { display:block; width:100%; height:auto; aspect-ratio:1200/628; object-fit:contain; border-radius:12px; box-shadow:0 10px 28px rgb(0 0 0 / .14); }
.partner-showcase--top .partner-showcase__image { aspect-ratio:640/300; }
a.partner-showcase__feature:focus-visible { outline-offset:5px; }
@media (hover:hover) {
  a.partner-showcase__feature:hover { color:inherit; border-color:var(--accent); box-shadow:var(--shadow-lg); }
  a.partner-showcase__feature:hover .partner-showcase__arrow { transform:translate(2px,-2px); background:var(--accent-soft); }
}
@container (max-width:700px) {
  .partner-showcase__feature { grid-template-columns:1fr; gap:22px; padding:22px; }
  .partner-showcase__stage { grid-row:1; }
  .partner-showcase__copy { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:20px; padding:0; }
  .partner-showcase__byline { grid-column:1/-1; margin-bottom:12px; }
  .partner-showcase__title { font-size:26px; grid-column:1; margin-bottom:10px; }
  .partner-showcase__description { grid-column:1; max-width:42ch; }
  .partner-showcase__cta { grid-column:2; grid-row:2/4; flex-direction:column-reverse; justify-content:center; gap:10px; margin:0; text-align:center; max-width:90px; }
}
@container (max-width:400px) {
  .partner-showcase__feature { padding:18px; gap:18px; border-radius:18px; }
  .partner-showcase__copy { grid-template-columns:1fr; }
  .partner-showcase__title { font-size:26px; }
  .partner-showcase__description { font-size:12px; }
  .partner-showcase__cta { grid-column:1; grid-row:auto; flex-direction:row; max-width:none; justify-content:space-between; margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
  .partner-showcase__arrow { width:32px; height:32px; }
  .partner-showcase__image { border-radius:9px; }
}
@media (max-width:768px) {
  .partner-showcase { margin:28px 0 36px; }
  .partner-showcase.hide-desktop { display:block; }
}
@media (prefers-reduced-motion:reduce) {
  .partner-showcase__feature, .partner-showcase__arrow { transition:none; }
}
