/* Compact shared footer: keep the same page gutters and all original destinations. */
.site-footer.ccs-footer{margin-top:clamp(3rem,4vw,4rem)}
.ccs-footer>.container{width:min(100% - 2 * var(--gutter),var(--container));max-width:var(--container);margin-inline:auto;padding-inline:0;min-width:0}
.ccs-footer .footer-apply{width:100%;max-width:100%;margin-inline:0;min-height:92px;padding:1rem clamp(1.5rem,6vw,4.5rem);gap:1rem 1.5rem;flex-wrap:wrap;transform:translateY(-32px);margin-bottom:-1rem}
.ccs-footer .footer-apply h2{flex:1 1 22rem;min-width:0;font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.2;overflow-wrap:anywhere}
.ccs-footer .footer-apply .btn{flex:0 1 auto;min-height:44px;max-width:100%;font-size:1rem;padding:.65rem 1.4rem;white-space:normal}
.ccs-footer .footer-reference{gap:1.25rem; padding-block:.5rem 1.25rem}
.ccs-footer .footer-reference>*{min-width:0;max-width:100%}
.ccs-footer .footer-logos{max-width:264px;gap:.625rem;margin-bottom:.75rem}
.ccs-footer .footer-management p{font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.ccs-footer .footer-network-copy{font-size:1rem;line-height:1.5;margin-bottom:.5rem}
.ccs-footer .footer-network-note{font-size:.875rem;line-height:1.5}
.ccs-footer .footer-reference__interest h2{font-size:clamp(1.5rem,2vw,1.75rem);margin-bottom:.75rem;line-height:1.25}
.ccs-footer .footer-reference__interest .btn{min-width:min(100%,136px);min-height:44px;max-width:100%;padding:.65rem 1.25rem;font-size:1rem}
.ccs-footer .footer-reference__links a{font-size:1rem;min-height:44px}
.ccs-footer .footer-honor-star{gap:.375rem}
.ccs-footer .footer-honor-star::before,.ccs-footer .footer-honor-star::after{width:22px}
.ccs-footer .footer-honor-star svg{width:36px;height:36px}
.ccs-footer .footer-honor-name{font-size:1rem}
.ccs-footer .footer-honor-name span,.ccs-footer .footer-honor-description{font-size:.875rem}
.ccs-footer .footer-honor-institute{font-size:1.375rem}
.ccs-footer .footer-reference .social{margin-top:.875rem;gap:.375rem}
.ccs-footer .footer-reference .social a{width:44px;height:44px}
.ccs-footer .footer-reference .social svg{width:20px;height:20px}
.ccs-footer .footer-bottom{padding:.75rem 0 1.25rem;font-size:.875rem}
.ccs-footer .footer-bottom li{min-width:0;max-width:100%}
.ccs-footer .footer-bottom a{min-height:44px;overflow-wrap:anywhere}

/* Reflow before four columns become crowded on smaller laptops and tablets. */
@media(max-width:1099px){
 .ccs-footer .footer-reference{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.5rem}
 .ccs-footer .footer-reference__identity{grid-column:1;grid-row:1}
 .ccs-footer .footer-reference__interest{grid-column:2;grid-row:1}
 .ccs-footer .footer-reference__links{grid-column:1;grid-row:2}
 .ccs-footer .footer-reference__honor{grid-column:2;grid-row:2}
 .ccs-footer .footer-reference__links ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.25rem .75rem}
 .ccs-footer .footer-reference__links li+li{margin-top:0}
}
@media(max-width:767px){
 .ccs-footer .footer-apply{display:grid;grid-template-columns:minmax(0,1fr);text-align:center;border-radius:28px;gap:.75rem;padding:1.25rem 1.75rem}
 .ccs-footer .footer-apply h2,.ccs-footer .footer-apply--campus h2{font-size:clamp(1.625rem,5vw,1.875rem)}
 .ccs-footer .footer-apply .btn{justify-self:center}
 .ccs-footer .footer-reference{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .ccs-footer .footer-reference>*{grid-column:auto;grid-row:auto}
 .ccs-footer .footer-logos{width:100%;max-width:264px;margin-inline:auto}
 .ccs-footer .footer-reference__honor{max-width:230px;justify-self:center}
 .ccs-footer .footer-bottom{padding-bottom:1.25rem}
}
/* On pages with sticky controls, body.has-sticky already reserves their 76px height. */
@media(max-width:359px){
 .ccs-footer .footer-apply{padding-inline:1.5rem}
 .ccs-footer .footer-reference__links ul{grid-template-columns:minmax(0,1fr)}
 .ccs-footer .footer-bottom ul{flex-direction:column;gap:0}
 .ccs-footer .footer-bottom li+li{border-left:0;padding-left:0}
}
