/* Edumax · an open, useful footer in the existing red and charcoal system.
 * Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 */
.edumax-landing .em-footer {
 --footer-rule: color-mix(in oklch, var(--color-on-dark) 16%, var(--color-dark));
 --footer-control: color-mix(in oklch, var(--color-on-dark) 5%, var(--color-dark));
 --footer-hover: color-mix(in oklch, var(--color-on-dark) 10%, var(--color-dark));
 --footer-control-border: color-mix(in oklch, var(--color-on-dark) 35%, var(--color-dark));
 position: relative;
 background: var(--color-dark);
 color: var(--color-on-dark);
 border-radius: var(--radius-hero) var(--radius-hero) 0 0;
 padding-block: var(--space-2xl) var(--space-lg);
}
.edumax-landing .em-footer a {
 color: var(--color-dark-muted);
 text-decoration: none;
 background-image: none;
 border-radius: var(--radius-input);
}
.edumax-landing .em-footer a:focus-visible {
 outline: 2px solid var(--color-on-dark);
 outline-offset: 4px;
 color: var(--color-on-dark);
 text-decoration: none;
}
.edumax-landing .em-footer .em-icon {
 width: 1.25rem;
 height: 1.25rem;
 flex: 0 0 auto;
 color: inherit;
}
.edumax-landing .em-footer-top {
 display: flex;
 flex-direction: row;
 align-items: center;
 justify-content: space-between;
 gap: var(--space-xl);
 padding-bottom: var(--space-xl);
 border-bottom: 1px solid var(--footer-rule);
}
.edumax-landing .em-footer-brand {
 display: flex;
 align-items: center;
 gap: var(--space-xl);
 min-width: 0;
}
.edumax-landing .em-footer-top .em-logo {
 display: flex;
 align-items: center;
 flex-shrink: 0;
 min-height: 44px;
 padding: 0;
 border: 0;
 background: transparent;
 border-radius: var(--radius-input);
}
.edumax-landing .em-footer-top .em-logo img {
 display: block;
 width: 11.5rem;
 height: auto;
 max-width: 100%;
 opacity: 1;
}
.edumax-landing .em-footer-top .em-logo img[src*="edumaxconsultency_logo"] {
 filter: brightness(0) invert(1);
}
.edumax-landing .em-footer-brand > p {
 max-width: 31ch;
 margin: 0;
 padding-left: var(--space-xl);
 border-left: 2px solid var(--color-accent);
 color: var(--color-dark-muted);
 font-family: var(--font-body);
 font-size: var(--text-md);
 font-weight: 400;
 line-height: 1.6;
 text-wrap: pretty;
}
.edumax-landing .em-footer a.em-footer-directions {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 gap: var(--space-xs);
 min-height: 52px;
 padding: var(--space-xs) var(--space-md);
 border: 1px solid var(--footer-control-border);
 background: var(--footer-control);
 color: var(--color-on-dark);
 font-family: var(--font-display);
 font-size: var(--text-xs);
 font-weight: 600;
 line-height: 1.4;
 white-space: nowrap;
}
.edumax-landing .em-footer-directions > .em-icon:last-child {
 width: 1rem;
 height: 1rem;
 margin-left: var(--space-2xs);
}
.edumax-landing .em-footer-details {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.25fr);
 gap: var(--space-xl);
 padding-block: var(--space-xl);
 border: 0;
}
.edumax-landing .em-footer-details :is(nav, address) {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 0;
 min-width: 0;
 margin: 0;
 font-style: normal;
}
.edumax-landing .em-footer-details strong {
 display: block;
 margin-bottom: var(--space-sm);
 color: var(--color-on-dark);
 font-family: var(--font-display);
 font-size: var(--text-sm);
 font-weight: 700;
 line-height: 1.5;
}
.edumax-landing .em-footer-details a {
 display: inline-flex;
 align-items: center;
 justify-content: flex-start;
 min-height: 44px;
 max-width: 100%;
 gap: var(--space-xs);
 padding-block: var(--space-2xs);
 color: var(--color-dark-muted);
 font-size: var(--text-sm);
 line-height: 1.5;
 white-space: nowrap;
}
.edumax-landing .em-footer-details .em-location-link {
 align-items: flex-start;
 white-space: normal;
 padding-top: var(--space-2xs);
}
.edumax-landing .em-footer .em-location-link > .em-icon {
 margin-top: .15em;
 translate: none;
}
.edumax-landing .em-footer :is(.em-location-link, .em-contact-action) > span {
 text-decoration: none;
}
.edumax-landing .em-footer .em-contact-actions {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 align-items: stretch;
 gap: var(--space-2xs);
 width: 100%;
 margin-top: var(--space-md);
}
.edumax-landing .em-footer .em-contact-action {
 justify-content: center;
 gap: var(--space-2xs);
 margin: 0;
 padding: var(--space-2xs) var(--space-xs);
 min-height: 48px;
 border: 1px solid var(--footer-rule);
 background: var(--footer-control);
 font-size: var(--text-xs);
 font-weight: 600;
}
.edumax-landing .em-footer .em-contact-action > .em-icon {
 width: 1rem;
 height: 1rem;
 translate: none;
}
.edumax-landing .em-footer-bottom {
 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;
 flex-wrap: wrap;
 gap: var(--space-sm) var(--space-lg);
 padding-top: var(--space-lg);
 border-top: 1px solid var(--footer-rule);
 color: var(--color-dark-muted);
}
.edumax-landing .em-footer-bottom .em-footer-credit {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: var(--space-3xs);
 margin-right: auto;
}
.edumax-landing .em-footer-bottom .em-footer-meta {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 0;
 min-width: 0;
 margin-right: auto;
}
.edumax-landing .em-footer-bottom .em-footer-legal-row {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 0 var(--space-md);
}
.edumax-landing .em-footer-legal-row > small { min-height: 44px; }
.edumax-landing .em-footer-bottom small {
 display: flex;
 align-items: center;
 gap: .3em;
 min-height: 24px;
 font-size: var(--text-xs);
 line-height: 1.5;
}
.edumax-landing .em-footer-bottom a {
 min-height: 44px;
 color: var(--color-dark-muted);
 font-size: var(--text-xs);
 white-space: nowrap;
}
.edumax-landing .em-footer-credit small > a {
 min-height: 44px;
 text-decoration: none;
}
.edumax-landing .em-footer-bottom .em-footer-socials {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: flex-end;
 gap: var(--space-2xs);
}
.edumax-landing .em-footer-socials a.em-social-link {
 display: inline-flex;
 justify-content: center;
 align-items: center;
 width: 44px;
 height: 44px;
 padding: var(--space-2xs);
 border: 1px solid var(--footer-rule);
 background: var(--footer-control);
 color: var(--color-on-dark);
}
.edumax-landing .em-footer .em-social-link .em-brand-icon {
 width: 1.125rem;
 height: 1.125rem;
}
.edumax-landing .em-footer-bottom .em-footer-legal {
 display: inline-flex;
 align-items: center;
 gap: var(--space-sm);
}
@media (hover: hover) {
 .edumax-landing .em-footer a:hover {
  color: var(--color-on-dark);
  text-decoration: none;
 }
 .edumax-landing .em-footer-details nav > a:hover,
 .edumax-landing .em-footer-credit a:hover,
 .edumax-landing .em-footer-legal a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
 }
 .edumax-landing .em-footer a.em-footer-directions:hover,
 .edumax-landing .em-footer a.em-contact-action:hover,
 .edumax-landing .em-footer a.em-social-link:hover {
  background: var(--footer-hover);
  border-color: var(--footer-control-border);
 }
 .edumax-landing .em-footer-top .em-logo:hover img { opacity: 1; }
}
@media (max-width: 1100px) {
 .edumax-landing .em-footer-brand { gap: var(--space-lg); }
 .edumax-landing .em-footer-brand > p { padding-left: var(--space-lg); }
 .edumax-landing .em-footer-details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg) var(--space-xl);
 }
 .edumax-landing .em-footer-details address { max-width: 24rem; }
}
@media (max-width: 900px) {
 .edumax-landing .em-footer-brand { flex-direction: column; align-items: flex-start; gap: var(--space-sm); }
 .edumax-landing .em-footer-brand > p { border: 0; padding: 0; max-width: 36ch; }
 .edumax-landing .em-footer-top { align-items: flex-start; }
}
@media (max-width: 599px) {
 .edumax-landing .em-footer { padding-block: var(--space-xl) var(--space-md); }
 .edumax-landing .em-footer-top {
  flex-direction: column;
  gap: var(--space-lg);
  padding-bottom: var(--space-lg);
 }
 .edumax-landing .em-footer-top .em-logo img { width: 11.5rem; }
 .edumax-landing .em-footer-brand > p { font-size: var(--text-sm); }
 .edumax-landing .em-footer a.em-footer-directions { width: 100%; }
 .edumax-landing .em-footer-details {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding-block: 0;
 }
 .edumax-landing .em-footer-details :is(nav, address) {
  padding-block: var(--space-lg);
  border-bottom: 1px solid var(--footer-rule);
  width: 100%;
  max-width: none;
 }
 .edumax-landing .em-footer-details strong { margin-bottom: var(--space-2xs); }
 .edumax-landing .em-footer-details a { font-size: var(--text-sm); }
 .edumax-landing .em-footer-details address { border-bottom: 0; }
 .edumax-landing .em-footer-bottom {
  align-items: flex-start;
  gap: var(--space-xs) var(--space-lg);
 }
 .edumax-landing .em-footer-bottom .em-footer-credit { width: 100%; }
 .edumax-landing .em-footer-bottom .em-footer-meta { width: 100%; gap: 0; }
 .edumax-landing .em-footer-bottom .em-footer-socials { justify-content: flex-start; }
 .edumax-landing .em-footer-bottom .em-footer-legal { margin-right: auto; }
}
@media (prefers-reduced-motion: reduce) {
 .edumax-landing .em-footer a,
 .edumax-landing .em-footer .em-icon { transition: none; }
}
