
:root{
  --pmh-footer-navy:#050D74;
  --pmh-footer-navy-dark:#030948;
  --pmh-footer-purple:#5637A2;
  --pmh-footer-gold:#FAD556;
  --pmh-footer-white:#FFFFFF;
  --pmh-footer-muted:#B9C2D5;
}

/* Hide the legacy Eduma / theme footer only.
   The PMhouse premium footer is injected separately. */
footer#colophon:not(#pmh-premium-footer),
#colophon.site-footer:not(#pmh-premium-footer),
.site-footer:not(#pmh-premium-footer),
footer.thim-footer,
.footer-area,
footer#footer{
  display:none!important;
}

#pmh-premium-footer{
  display:block!important;
  position:relative;
  z-index:10;
  font-family:inherit;
  color:var(--pmh-footer-white);
  margin:0;
  padding:0;
}

.pmh-footer-wrap{
  width:min(1280px,calc(100% - 72px));
  margin:0 auto;
}

.pmh-footer-main{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--pmh-footer-navy-dark) 0%,var(--pmh-footer-navy) 68%,#111B72 100%);
  padding:78px 0 70px;
}

.pmh-footer-main:before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background:var(--pmh-footer-purple);
  right:-210px;
  top:-230px;
  opacity:.42;
}

.pmh-footer-main:after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border:48px solid rgba(250,213,86,.10);
  border-radius:50%;
  left:-140px;
  bottom:-170px;
}

.pmh-footer-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.55fr .75fr .75fr 1.2fr;
  gap:60px;
}

.pmh-footer-wordmark{
  display:inline-flex;
  align-items:flex-end;
  gap:13px;
  color:#fff!important;
  text-decoration:none!important;
}

.pmh-footer-mark{
  width:49px;
  height:44px;
  display:grid;
  grid-template-columns:repeat(4,10px);
  grid-template-rows:repeat(4,9px);
  gap:3px;
  align-items:end;
}

.pmh-footer-mark i{
  display:block;
  background:#4D8AF0;
  width:10px;
  height:9px;
}

.pmh-footer-mark i:nth-child(1){grid-column:1;grid-row:4;background:#E60303}
.pmh-footer-mark i:nth-child(2){grid-column:2;grid-row:3}
.pmh-footer-mark i:nth-child(3){grid-column:2;grid-row:4}
.pmh-footer-mark i:nth-child(4){grid-column:3;grid-row:2}
.pmh-footer-mark i:nth-child(5){grid-column:3;grid-row:3}
.pmh-footer-mark i:nth-child(6){grid-column:3;grid-row:4}
.pmh-footer-mark i:nth-child(7){grid-column:4;grid-row:1 / span 4;height:45px}

.pmh-footer-name{
  font-size:32px;
  line-height:1;
  font-weight:800;
  letter-spacing:-1.3px;
}

.pmh-footer-name span{
  color:var(--pmh-footer-gold);
}

.pmh-footer-brand>p{
  max-width:380px;
  margin:27px 0 0;
  color:var(--pmh-footer-muted);
  font-size:16px;
  line-height:1.75;
}

.pmh-footer-brand-line{
  width:65px;
  height:5px;
  margin:28px 0;
  background:var(--pmh-footer-gold);
}

.pmh-footer-contact-list{
  display:grid;
  gap:9px;
}

.pmh-footer-contact-list a{
  width:max-content;
  max-width:100%;
  color:#fff!important;
  text-decoration:none!important;
  font-size:15px;
  line-height:1.5;
}

.pmh-footer-contact-list a:hover,
.pmh-footer-column>a:hover,
.pmh-footer-legal a:hover{
  color:var(--pmh-footer-gold)!important;
}

.pmh-footer-label{
  color:var(--pmh-footer-gold);
  font-size:12px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:1.8px;
  margin-bottom:27px;
}

.pmh-footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.pmh-footer-column>a{
  color:var(--pmh-footer-muted)!important;
  text-decoration:none!important;
  font-size:16px;
  line-height:1.45;
  margin:0 0 16px;
  transition:color .2s ease;
}

.pmh-footer-connect h3{
  color:#fff;
  font-size:28px;
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.6px;
  margin:0 0 17px;
}

.pmh-footer-connect p{
  color:var(--pmh-footer-muted);
  font-size:15px;
  line-height:1.7;
  margin:0 0 25px;
}

.pmh-footer-cta{
  box-sizing:border-box;
  width:100%;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:var(--pmh-footer-gold);
  color:var(--pmh-footer-navy)!important;
  text-decoration:none!important;
  padding:17px 20px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.7px;
  transition:background .2s ease,color .2s ease;
}

.pmh-footer-cta:hover{
  background:#fff;
  color:var(--pmh-footer-purple)!important;
}

.pmh-footer-cta span{
  font-size:21px;
  line-height:1;
}

.pmh-footer-bottom{
  background:#020735;
  border-top:1px solid rgba(255,255,255,.10);
  padding:23px 0;
}

.pmh-footer-bottom-grid{
  display:grid;
  grid-template-columns:1.4fr .7fr 1fr;
  gap:30px;
  align-items:center;
}

.pmh-footer-copyright,
.pmh-footer-legal a{
  color:#AEB8CE!important;
  font-size:13px;
  line-height:1.5;
  text-decoration:none!important;
}

.pmh-footer-legal{
  text-align:center;
}

.pmh-footer-social{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.pmh-footer-social a{
  width:39px;
  height:39px;
  border:1px solid rgba(255,255,255,.20);
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:800;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.pmh-footer-social a:hover{
  background:var(--pmh-footer-gold);
  border-color:var(--pmh-footer-gold);
  color:var(--pmh-footer-navy)!important;
  transform:translateY(-3px);
}

@media(max-width:1024px){
  .pmh-footer-grid{
    grid-template-columns:1.4fr 1fr 1fr;
  }
  .pmh-footer-connect{
    grid-column:1 / -1;
    max-width:620px;
  }
}

@media(max-width:700px){
  .pmh-footer-wrap{
    width:calc(100% - 40px);
  }

  .pmh-footer-main{
    padding:58px 0 52px;
  }

  .pmh-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:44px 28px;
  }

  .pmh-footer-brand,
  .pmh-footer-connect{
    grid-column:1 / -1;
  }

  .pmh-footer-bottom-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .pmh-footer-social{
    justify-content:center;
  }

  .pmh-footer-legal{
    text-align:center;
  }
}

@media(max-width:430px){
  .pmh-footer-grid{
    grid-template-columns:1fr;
  }

  .pmh-footer-brand,
  .pmh-footer-connect{
    grid-column:auto;
  }

  .pmh-footer-name{
    font-size:29px;
  }
}
