/* MySchool OS 7.0.8 — final platform landing presentation layer.
   New filename is intentional: live browsers cannot reuse the old cached landing CSS. */
.v2-platform .v2-search nav{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.v2-platform .v2-search nav a,
.v2-platform .v2-search nav .v2-platform-action,
.v2-platform .v2-search nav .pq-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:40px!important;padding:10px 17px!important;box-sizing:border-box!important;
  border:1px solid #1d5f40!important;border-radius:999px!important;
  background:#246b49!important;color:#fff!important;font-size:13px!important;font-weight:700!important;
  line-height:1!important;text-decoration:none!important;box-shadow:0 3px 10px rgba(24,83,56,.12)!important;
  transition:background .16s ease,transform .16s ease,box-shadow .16s ease!important
}
.v2-platform .v2-search nav a:hover,.v2-platform .v2-search nav a:focus-visible{
  background:#1d5a3e!important;color:#fff!important;transform:translateY(-1px)!important;
  box-shadow:0 5px 14px rgba(24,83,56,.18)!important
}

/* Flush, compact lead row: ranking and carousel are the exact same height. */
.v2-platform .v2-platform-lead{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(285px,1fr)!important;gap:14px!important;align-items:stretch!important}
.v2-platform .v2-platform-carousel,
.v2-platform .v2-platform-carousel.v2-live-carousel{
  height:330px!important;min-height:330px!important;max-height:330px!important;border-radius:20px!important
}
.v2-platform .v2-platform-lead>aside.v2-national-ranks{
  display:flex!important;flex-direction:column!important;align-self:stretch!important;
  height:330px!important;min-height:330px!important;max-height:330px!important;
  gap:5px!important;padding:8px!important;box-sizing:border-box!important;overflow:hidden!important;
  border-radius:18px!important;background:#ffffffd9!important
}
.v2-platform .v2-rank-title{display:block!important;flex:0 0 auto!important;margin:0!important;padding:1px 5px 5px!important;font-size:18px!important;line-height:1.15!important}
.v2-platform .v2-rank-list{
  display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;
  flex:1 1 auto!important;min-height:0!important;gap:4px!important;margin:0!important;padding:0!important
}
.v2-platform .v2-rank{
  display:flex!important;align-items:center!important;min-height:0!important;height:auto!important;gap:8px!important;
  padding:5px 8px!important;border-radius:12px!important;overflow:hidden!important;box-sizing:border-box!important
}
.v2-platform .v2-rank img{width:32px!important;height:32px!important;flex:0 0 32px!important;padding:2px!important;border-radius:9px!important;background:#f4f8f5!important;object-fit:contain!important}
.v2-platform .v2-rank span{display:block!important;min-width:0!important;overflow:hidden!important}
.v2-platform .v2-rank b,.v2-platform .v2-rank small,.v2-platform .v2-rank em{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v2-platform .v2-rank b{font-size:12.5px!important;line-height:1.12!important}
.v2-platform .v2-rank small{margin-top:2px!important;font-size:9.5px!important;line-height:1.08!important;color:#60746b!important}
.v2-platform .v2-rank em{margin-top:2px!important;font-size:8.8px!important;line-height:1.05!important;color:#718078!important}
.v2-platform .v2-rank-empty{grid-row:1/-1!important;display:grid!important;place-content:center!important;min-height:0!important}

/* Professional article attribution. Logo/badge + school are a glass pill at top-left;
   headline stays separate and is deliberately smaller than the previous oversized title. */
.v2-platform .v2-platform-carousel.v2-live-carousel>.v2-carousel-slide>h2{
  left:22px!important;right:22px!important;bottom:43px!important;margin:0!important;
  font-size:clamp(24px,3vw,38px)!important;font-weight:500!important;line-height:1.04!important;
  letter-spacing:-.015em!important;text-shadow:0 3px 18px rgba(0,0,0,.65)!important
}
.v2-platform .v2-carousel-school{
  position:absolute!important;z-index:4!important;left:18px!important;top:16px!important;bottom:auto!important;
  display:flex!important;align-items:center!important;gap:8px!important;max-width:min(72%,440px)!important;
  padding:5px 11px 5px 5px!important;border:1px solid rgba(255,255,255,.38)!important;border-radius:999px!important;
  background:rgba(8,39,28,.72)!important;backdrop-filter:blur(9px)!important;color:#fff!important;
  text-shadow:none!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important
}
.v2-platform .v2-carousel-school>img{
  display:block!important;width:34px!important;height:34px!important;flex:0 0 34px!important;padding:3px!important;
  box-sizing:border-box!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:50%!important;
  background:#fff!important;object-fit:contain!important;box-shadow:0 2px 8px rgba(0,0,0,.14)!important
}
.v2-platform .v2-carousel-school>span{display:grid!important;min-width:0!important;gap:1px!important}
.v2-platform .v2-carousel-school b,.v2-platform .v2-carousel-school small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v2-platform .v2-carousel-school b{font-size:12px!important;line-height:1.1!important;font-weight:750!important}
.v2-platform .v2-carousel-school small{margin:0!important;font-size:9.5px!important;line-height:1.1!important;opacity:.88!important}
.v2-platform .v2-carousel-controls{right:16px!important;bottom:12px!important}
.v2-platform .v2-carousel-controls>button{width:30px!important;height:30px!important}

@media(max-width:900px){
 .v2-platform .v2-platform-lead{grid-template-columns:1fr!important}
 .v2-platform .v2-platform-carousel,.v2-platform .v2-platform-carousel.v2-live-carousel{height:310px!important;min-height:310px!important;max-height:310px!important}
 .v2-platform .v2-platform-lead>aside.v2-national-ranks{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
 .v2-platform .v2-rank-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important}
 .v2-platform .v2-rank{min-height:58px!important}
}
@media(max-width:560px){
 .v2-platform .v2-search nav{gap:7px!important}
 .v2-platform .v2-search nav a{min-height:38px!important;padding:9px 14px!important;font-size:12px!important}
 .v2-platform .v2-platform-carousel,.v2-platform .v2-platform-carousel.v2-live-carousel{height:285px!important;min-height:285px!important;max-height:285px!important}
 .v2-platform .v2-platform-carousel.v2-live-carousel>.v2-carousel-slide>h2{left:17px!important;right:17px!important;bottom:44px!important;font-size:clamp(22px,8vw,31px)!important}
 .v2-platform .v2-carousel-school{left:14px!important;top:13px!important;max-width:82%!important}
 .v2-platform .v2-rank-list{grid-template-columns:1fr!important}
}
