:root{
  --pf-bg:#061f55;
  --pf-deep:#04163c;
  --pf-text:#fff;
  --pf-muted:#c8d4e8;
  --pf-line:rgba(255,255,255,.12);
  --pf-accent:#35a3ff
}
.ph-footer,.ph-footer *{box-sizing:border-box}
.ph-footer{
  position:relative;
  overflow:hidden;
  margin-top:48px;
  color:var(--pf-text);
  background:
    radial-gradient(circle at 10% 20%,rgba(30,103,215,.18),transparent 30%),
    linear-gradient(135deg,var(--pf-deep),var(--pf-bg));
  font-family:inherit
}
.ph-footer a{color:inherit;text-decoration:none}
.ph-footer__container{width:min(1440px,calc(100% - 48px));margin:0 auto}
.ph-footer__grid{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1.25fr;
  padding:48px 0 42px
}
.ph-footer__brand,.ph-footer__column{
  min-width:0;
  padding:0 36px;
  border-right:1px solid var(--pf-line)
}
.ph-footer__brand{padding-left:0}
.ph-footer__contact{padding-right:0;border-right:0}
.ph-footer__logo{
  display:inline-block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.75rem,2.25vw,2.4rem);
  font-style:italic;
  font-weight:900;
  letter-spacing:-.04em;
  transition:color .18s
}
.ph-footer__logo:hover{color:var(--pf-accent)}
.ph-footer h2{
  margin:2px 0 0;
  font-size:1.02rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase
}
.ph-footer__accent{
  display:block;
  width:56px;
  height:3px;
  margin:14px 0 20px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--pf-accent),#75c6ff)
}
.ph-footer__description{
  max-width:350px;
  margin:0 0 16px;
  color:var(--pf-muted);
  font-size:.96rem;
  line-height:1.55
}
.ph-footer__feature-list,.ph-footer__links{padding:0;margin:0;list-style:none}
.ph-footer__feature-list{display:grid;gap:9px}
.ph-footer__feature-list li{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:22px;
  font-size:.96rem
}
.ph-footer__dot{
  flex:0 0 auto;
  width:9px;
  height:9px;
  border:2px solid var(--pf-accent);
  border-radius:50%
}
.ph-footer__links{display:grid;gap:3px}
.ph-footer__links a{
  display:flex;
  align-items:center;
  min-height:34px;
  gap:10px;
  color:var(--pf-muted);
  font-size:.96rem;
  transition:color .18s,transform .18s
}
.ph-footer__links a span{
  color:var(--pf-accent);
  font-size:1.5rem;
  line-height:1
}
.ph-footer__links a:hover,.ph-footer__links a:focus-visible{
  color:#fff;
  transform:translateX(4px)
}
.ph-footer__contact address{
  display:grid;
  gap:11px;
  margin:0;
  color:var(--pf-muted);
  font-style:normal;
  font-size:.95rem;
  line-height:1.45
}
.ph-footer__contact strong{color:#fff}
.ph-footer__contact-item{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:9px;
  color:var(--pf-muted);
  overflow-wrap:anywhere;
  transition:color .18s,transform .18s
}
a.ph-footer__contact-item:hover,
a.ph-footer__contact-item:focus-visible{
  color:#fff;
  transform:translateX(3px)
}
.ph-footer__contact-icon{
  display:grid;
  place-items:center;
  width:18px;
  height:20px;
  color:var(--pf-accent)
}
.ph-footer__contact-icon svg{
  display:block;
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.ph-footer__map-link{
  width:max-content;
  max-width:100%;
  margin-top:1px;
  color:#e2ecfa!important;
  font-weight:600
}
.ph-footer__map-link:hover{color:var(--pf-accent)!important}
.ph-footer__bottom{
  border-top:1px solid rgba(79,174,255,.4);
  background:rgba(1,12,37,.18)
}
.ph-footer__bottom-inner{
  display:grid;
  grid-template-columns:1fr auto 42px;
  align-items:center;
  gap:26px;
  min-height:68px;
  padding:12px 0
}
.ph-footer__bottom p{margin:0;color:var(--pf-muted);font-size:.88rem}
.ph-footer__bottom strong{color:var(--pf-accent)}
.ph-footer__legal{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:center
}
.ph-footer__legal a{
  color:var(--pf-muted);
  padding:2px 15px;
  border-right:1px solid rgba(255,255,255,.28);
  font-size:.88rem;
  transition:color .18s
}
.ph-footer__legal a:last-child{border-right:0}
.ph-footer__legal a:hover{color:#fff}
.ph-footer__back-to-top{
  display:grid;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:6px;
  color:#fff;
  background:rgba(255,255,255,.03);
  place-items:center;
  cursor:pointer;
  font-size:1.2rem;
  transition:.18s
}
.ph-footer__back-to-top:hover{
  border-color:var(--pf-accent);
  background:rgba(53,163,255,.16);
  transform:translateY(-3px)
}
.ph-footer a:focus-visible,.ph-footer button:focus-visible{
  outline:3px solid rgba(117,198,255,.65);
  outline-offset:4px
}
@media(max-width:1120px){
  .ph-footer__grid{
    grid-template-columns:1fr 1fr;
    row-gap:40px;
    padding:44px 0 38px
  }
  .ph-footer__brand,.ph-footer__column{padding:0 30px}
  .ph-footer__brand,.ph-footer__column:nth-child(3){padding-left:0}
  .ph-footer__column:nth-child(2),.ph-footer__contact{
    padding-right:0;
    border-right:0
  }
  .ph-footer__bottom-inner{grid-template-columns:1fr 42px}
  .ph-footer__legal{
    grid-column:1/-1;
    grid-row:2;
    justify-content:flex-start
  }
}
@media(max-width:680px){
  .ph-footer{margin-top:40px}
  .ph-footer__container{width:min(100% - 32px,1440px)}
  .ph-footer__grid{
    grid-template-columns:1fr;
    gap:28px;
    padding:38px 0 34px
  }
  .ph-footer__brand,.ph-footer__column,.ph-footer__column:nth-child(3){
    padding:0 0 26px;
    border-right:0;
    border-bottom:1px solid var(--pf-line)
  }
  .ph-footer__contact{padding-bottom:0;border-bottom:0}
  .ph-footer__accent{margin:12px 0 17px}
  .ph-footer__bottom-inner{
    grid-template-columns:1fr 40px;
    gap:16px;
    min-height:0;
    padding:22px 0
  }
  .ph-footer__legal{gap:8px 0}
  .ph-footer__legal a{padding:2px 11px}
  .ph-footer__legal a:first-child{padding-left:0}
}
@media(prefers-reduced-motion:reduce){
  .ph-footer *{scroll-behavior:auto!important;transition:none!important}
}
