/* The pillar hub and the four pillar pages. Everything beyond brand.css. */
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; padding: 14px 16px; border-bottom: 1px solid rgba(244,241,236,.16);
         vertical-align: top; }
th { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: #A9C6D4;
     font-weight: 700; }
.pcol { display: block; text-decoration: none; color: inherit;
        transition: transform .3s cubic-bezier(.2,.7,.3,1), filter .3s ease; }
.pcol:hover { transform: translateY(-7px); filter: drop-shadow(0 22px 34px rgba(0,0,0,.45)); }
.pcol:focus-visible { outline: 3px solid #7ACBEA; outline-offset: 7px; border-radius: 10px; }
@media (max-width: 900px) {
  .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 40px !important; }
  .pcol img { height: 320px !important; }
  .pname { font-size: 1.08rem !important; }
}
@media (max-width: 480px) {
  .pcol img { height: 250px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .pcol, .pcol:hover { transition: none; transform: none; }
}
@media (min-width: 901px) { .sticky { position: sticky; top: 32px; } }
.navcard { transition: transform .22s cubic-bezier(.2,.7,.3,1), border-color .22s ease, box-shadow .22s ease; }
.navcard:hover { transform: translateY(-3px); border-color: #7ACBEA; box-shadow: 0 16px 30px rgba(0,0,0,.35); }
@media (max-width: 760px) { .hcol { max-width: none !important; } .hcol img { height: 360px !important; } }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll table { min-width: 560px; }
/* The hub's accountability cards and the spokes' two by two grids go to one
   column on a phone; the long pillar names do not fit two abreast. */
@media (max-width: 700px) { .two { grid-template-columns: 1fr !important; } }
@media (max-width: 900px) { .three { grid-template-columns: 1fr !important; } }
