/* Shared PaveEDU family footer: spacious columns, compact disclosures and a
   quiet brand/legal strip. Keep all footer layout rules in this component. */
#footer.ars-site-footer {
  overflow:visible;
  padding:clamp(3rem,5vw,5.5rem) 0 0;
  background:radial-gradient(ellipse at 100% 100%,#12304a,transparent 60%),#001724;
  color:#e8eef7;
}
.ars-site-footer > .ars-container,
.ars-footer-legal > .ars-container {
  width:min(92%,106rem);
  margin-inline:auto;
}
.ars-footer-grid {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,.95fr) minmax(0,1.55fr);
  gap:0;
  align-items:stretch;
  padding-bottom:clamp(2.5rem,4.5vw,4.5rem);
}
.ars-footer-grid > * { min-width:0; }
.ars-footer-brand { padding-right:clamp(1.5rem,2.4vw,2.75rem); }
.ars-footer-grid > :not(.ars-footer-brand) {
  padding-inline:clamp(1.25rem,1.8vw,2rem);
  border-left:1px solid #9860df;
}
.ars-footer-grid > :nth-child(3) { border-color:#c35ddf; }
.ars-footer-grid > :last-child { border-color:#40bfd4; padding-right:0; }
.ars-site-footer .ars-footer-brand-link { display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; width:min(100%,21rem); padding:0; color:#fff; }
.ars-footer-schools-logo { display:block; width:100%; height:auto; mix-blend-mode:screen; }
.ars-footer-attribution { align-self:center; color:#c6d3e4; font-size:.875rem; line-height:1.4; letter-spacing:.03em; }
.ars-footer-brand > p { margin:1.4rem 0 0; max-width:21rem; color:#c6d3e4; font-size:1rem; line-height:1.55; }
.ars-site-footer h2 { margin:0 0 1.25rem; color:#e8eef7; font-size:.875rem; font-weight:600; line-height:1.4; letter-spacing:.09em; text-transform:uppercase; }
.ars-site-footer h2::after { content:""; display:block; width:2.7rem; height:2px; margin-top:.85rem; background:linear-gradient(90deg,#00d2ec,#a964ee); }
.ars-site-footer ul { list-style:none; padding:0; margin:0; gap:.35rem; }
.ars-site-footer .ars-footer-nav ul { display:grid; }
.ars-site-footer .ars-footer-nav a { display:flex; align-items:center; min-height:44px; padding:.5rem 0; font-size:1rem; line-height:1.5; color:#e8eef7; }
.ars-footer-updates > p { margin:0 0 1rem; color:#c6d3e4; font-size:1rem; line-height:1.55; }
.ars-footer-updates > .ars-route-notice { background:#123148; border-color:#54879a; color:#e8eef7; font-size:.875rem; line-height:1.5; }
.ars-site-footer .ars-footer-connect .ars-action--text { justify-content:flex-start; text-align:left; font-size:1rem; line-height:1.5; }
.ars-footer-follow { margin-top:2rem; }
.ars-site-footer .ars-footer-follow h2 { margin-bottom:1rem; }
.ars-footer-social { display:flex; flex-wrap:wrap; gap:.75rem; }
.ars-site-footer .ars-footer-social a {
  display:flex; align-items:center; justify-content:center; flex:0 0 48px;
  width:48px; height:48px; min-height:48px; padding:0;
  border:1px solid #bacbdd; border-radius:50%; background:transparent; color:#fff;
  transition:background-color var(--ars-interaction-time) ease,border-color var(--ars-interaction-time) ease;
}
.ars-footer-social img { width:24px; height:24px; filter:brightness(0) invert(1); }
.ars-site-footer .ars-footer-parent-brand { display:inline-flex; max-width:100%; margin-top:1.75rem; border-radius:.25rem; transition:opacity var(--ars-interaction-time) ease; }
.ars-footer-parent-brand .ars-footer-paveedu { display:block; width:min(100%,17rem); height:auto; mix-blend-mode:screen; }
.ars-site-footer .ars-footer-social a:active { background:#ffffff20; border-color:#8bdcff; }
.ars-site-footer .ars-footer-parent-brand:active { opacity:.75; }
.ars-site-footer .ars-footer-toggle {
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  width:100%; min-height:60px; margin:0; padding:1rem .25rem;
  border:0; border-radius:.25rem; background:transparent; color:#d0c2f6;
  font:inherit; letter-spacing:inherit; text-transform:inherit; text-align:left; cursor:pointer;
  transition:background-color var(--ars-interaction-time) ease,color var(--ars-interaction-time) ease;
}
.ars-site-footer .ars-footer-toggle::after {
  content:""; display:block; width:.6rem; height:.6rem; flex:0 0 .6rem;
  margin:.1rem .5rem .35rem 0; border:solid #d5e4f5; border-width:0 2px 2px 0;
  transform:rotate(45deg); transition:transform var(--ars-interaction-time) ease;
}
.ars-site-footer .ars-footer-toggle[aria-expanded="true"] { color:#fff; background:#ffffff08; }
.ars-site-footer .ars-footer-toggle[aria-expanded="true"]::after { transform:translateY(.25rem) rotate(225deg); }
.ars-site-footer .ars-footer-toggle:active { background:#ffffff14; color:#8bdcff; }
.ars-site-footer [hidden] { display:none!important; }
.ars-footer-legal { display:block; min-height:0; padding:1.25rem 0; border-top:1px solid #3b5063; color:#bbc9dc; background:#000a141f; }
.ars-footer-legal > .ars-container { display:flex; align-items:center; justify-content:space-between; gap:.75rem 1.5rem; }
.ars-footer-legal .ars-footer-copyright { flex:0 0 auto; margin:0; color:#bbc9dc; font-size:.875rem; line-height:1.5; white-space:nowrap; }
.ars-footer-legal .ars-footer-legal-links { min-width:0; margin-left:auto; }
.ars-footer-legal .ars-footer-legal-links ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.15rem clamp(.5rem,1vw,1rem); }
.ars-footer-legal .ars-footer-legal-links li { display:flex; align-items:center; min-height:44px; color:#bbc9dc; font-size:.875rem; line-height:1.5; }
.ars-site-footer .ars-footer-legal-links a { display:inline-flex; align-items:center; min-height:44px; color:#e8eef7; font-size:.875rem; white-space:nowrap; }
.ars-footer-legal .ars-footer-place { gap:.55rem; white-space:nowrap; }
.ars-footer-legal .ars-footer-canada-mark { display:block; width:32px; height:32px; flex:0 0 auto; background:transparent; }
@media(max-width:70rem) {
  .ars-footer-legal > .ars-container { display:grid; grid-template-columns:minmax(0,1fr); gap:.15rem; }
  .ars-footer-legal .ars-footer-copyright { white-space:normal; }
  .ars-footer-legal .ars-footer-legal-links { width:100%; margin-left:0; }
}
@media(max-width:87.4375rem) {
  .ars-footer-grid { grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr); gap:0 clamp(2rem,6vw,5rem); max-width:70rem; }
  .ars-footer-grid > :not(.ars-footer-brand),.ars-footer-grid > .ars-footer-brand { padding:0; border-left:0; }
  .ars-footer-grid .ars-footer-brand { grid-column:1; grid-row:1/4; padding-right:0; }
  .ars-footer-grid .ars-footer-nav { grid-column:2; border-bottom:1px solid #3b5063; }
  .ars-footer-grid .ars-footer-connect { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(2rem,6vw,5rem); margin-top:2.5rem; }
  .ars-footer-follow { margin-top:0; }
  .ars-footer-nav h2 { margin:0; font-size:1rem; letter-spacing:.075em; }
  .ars-footer-nav h2::after { display:none; }
  .ars-site-footer .ars-footer-nav ul { padding:.25rem .25rem 1rem; gap:0; }
  .ars-site-footer .ars-footer-nav a { font-size:1rem; }
}
@media(max-width:47.9375rem) {
  #footer.ars-site-footer { padding-top:2.5rem; }
  .ars-site-footer > .ars-container,.ars-footer-legal > .ars-container { width:calc(100% - 2.5rem); }
  .ars-footer-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-bottom:2.25rem; }
  .ars-footer-grid .ars-footer-brand { grid-column:1; grid-row:auto; text-align:center; margin-bottom:1.75rem; }
  .ars-site-footer .ars-footer-brand-link { width:min(100%,19rem); margin-inline:auto; }
  .ars-footer-brand > p { margin-inline:auto; max-width:22rem; font-size:.9375rem; }
  .ars-footer-grid .ars-footer-nav,.ars-footer-grid .ars-footer-connect { grid-column:1; }
  .ars-footer-connect h2 { font-size:.9375rem; }
  .ars-footer-updates > p { font-size:.9375rem; }
  .ars-footer-grid .ars-footer-connect { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .ars-footer-legal > .ars-container { text-align:left; }
}
@media(hover:hover) and (pointer:fine) {
  .ars-site-footer .ars-footer-toggle:hover { background:#ffffff0c; color:#fff; }
  .ars-site-footer .ars-footer-social a:hover { border-color:#8bdcff; background:#ffffff12; }
  .ars-site-footer .ars-footer-parent-brand:hover { opacity:.85; }
}
@media(prefers-reduced-motion:reduce) {
  .ars-site-footer .ars-footer-toggle,.ars-site-footer .ars-footer-toggle::after,.ars-site-footer .ars-footer-social a,.ars-site-footer .ars-footer-parent-brand { transition:none; }
}
@media(forced-colors:active) {
  .ars-site-footer h2::after { background:CanvasText; }
  .ars-site-footer .ars-footer-toggle::after { border-color:ButtonText; }
}
