/* Compact horizon footer */
footer.practice-footer {
  background: linear-gradient(108deg, #132d3d 35%, #1a4148 82%, #254e51);
  color: #f6f5ef;
  padding: 14px 6% 18px;
  font: 14px/1.5 Arial, sans-serif;
  text-align: left;
}

.practice-footer-horizon {
  position: relative;
  height: 13px;
  margin-bottom: 18px;
  border-bottom: 1px solid #a7d8c26b;
}

.practice-footer-horizon span {
  position: absolute;
  bottom: -1px;
  left: var(--sun-position, 25%);
  transform: translateX(-50%);
  width: 20px;
  height: 10px;
  background: #ffe3a0;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -3px 16px #ffe3a038;
}

.practice-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, .8fr);
  gap: 14px clamp(16px, 4vw, 56px);
  padding-bottom: 16px;
}

.practice-footer-wordmark { display: inline-block; width: min(100%, 200px); }

footer.practice-footer .practice-footer-brand > p {
  font: 400 clamp(20px, 2vw, 26px)/1.15 Georgia, serif;
  margin: 8px 0 0;
}

.practice-footer-brand em { color: #bce6d3; }

.practice-footer-apply {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 4px 0;
  color: #ffe3a0;
  font-size: 12px;
  text-align: left;
}

footer.practice-footer .practice-footer-nav {
  position: static;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 5px 12px;
  width: auto;
  padding: 0;
  background: transparent;
}

.practice-footer-nav h2,
.practice-footer-connect h2 {
  grid-column: 1 / -1;
  margin: 0 0 3px;
  color: #bce6d3;
  font: 400 12px/1.5 Arial, sans-serif;
}

.practice-footer-connect { display: grid; align-content: start; gap: 5px; }

.practice-footer-nav a,
.practice-footer-connect a,
.practice-footer-connect span {
  color: #f6f5ef;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.practice-footer-nav a:hover,
.practice-footer-connect a:hover,
.practice-footer-apply:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.practice-footer-legal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 16px;
  border-top: 1px solid #c6e0db48;
  padding-top: 10px;
  font-size: 11px;
}

.practice-footer-legal button { padding: 0; font-size: inherit; color: inherit; }
.practice-footer-legal button:hover { text-decoration: underline; }

@media (prefers-reduced-motion: no-preference) {
  .practice-footer-horizon span { transition: left 420ms cubic-bezier(.18, .7, .25, 1); }
  .practice-footer-apply span { transition: transform 180ms ease; }
  .practice-footer-apply:is(:hover, :focus-visible) span { transform: translate(3px, -3px); }
}

@media (max-width: 620px) {
  .practice-footer-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .practice-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 380px) {
  footer.practice-footer .practice-footer-nav { grid-template-columns: 1fr; }
}


footer.practice-footer *, footer.practice-footer { box-sizing: border-box; }
.practice-footer-wordmark img { display: block; width: 100%; height: auto; }
footer.practice-footer a { text-decoration: none; }
footer.practice-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
footer.practice-footer .practice-footer-apply { background: none; border: 0; font-family: inherit; }
.practice-footer-legal a { color: inherit; }
@media (max-width: 760px) {
  footer.practice-footer { padding-bottom: 18px !important; }
}
