
:root{
  --pfams-header:#071725;
  --pfams-footer:#07131f;
  --pfams-blue:#2d79ef;
  --pfams-line:rgba(255,255,255,.16);
}

/* GLOBAL HEADER STANDARD */
.header{
  height:100px !important;
  min-height:100px !important;
  background:var(--pfams-header) !important;
  display:flex !important;
  align-items:center !important;
  border-bottom:1px solid var(--pfams-line) !important;
  position:relative !important;
  z-index:20 !important;
  padding:0 !important;
}
.header-inner{
  width:89.6% !important;
  height:100% !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.brand-text{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:.88 !important;
  color:var(--pfams-blue) !important;
}
.brand-main{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:48px !important;
  font-weight:700 !important;
  letter-spacing:.015em !important;
}
.brand-sub{
  margin-top:5px !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
}
.nav{
  display:flex !important;
  gap:clamp(24px,3.2vw,46px) !important;
  font-size:17px !important;
  align-items:center !important;
  color:#f4f5f6 !important;
}
.nav > a{
  position:relative !important;
  padding:39px 0 36px !important;
}
.nav > a.active::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:24px !important;
  height:2px !important;
  background:var(--pfams-blue) !important;
}
.language-switcher{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  margin-left:0 !important;
}
.language-switcher button{
  position:relative !important;
  border:0 !important;
  background:transparent !important;
  padding:39px 0 36px !important;
  font:inherit !important;
  color:#7f8e9d !important;
  cursor:pointer !important;
}
.language-switcher button.active{
  color:#fff !important;
}
.language-switcher button.active::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:24px !important;
  height:2px !important;
  background:var(--pfams-blue) !important;
}

/* GLOBAL HERO STANDARD */
.hero,
.hero-slider{
  width:100% !important;
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
  overflow:hidden !important;
}
.hero{
  display:flex !important;
  align-items:center !important;
}
.hero-inner{
  width:min(1240px,92vw) !important;
  margin:0 auto !important;
  padding:72px 0 !important;
}

/* GLOBAL FOOTER STANDARD */
.footer{
  height:176px !important;
  min-height:176px !important;
  background:var(--pfams-footer) !important;
  color:#fff !important;
  border-top:1px solid var(--pfams-line) !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
}
.footer-inner{
  width:90% !important;
  height:100% !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:44% repeat(6,1fr) !important;
  align-items:center !important;
}
.footer-company{
  height:100% !important;
  padding:18px 28px 16px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.footer-company-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}
.footer-logo{
  width:66.6667% !important;
  align-self:flex-start !important;
  text-align:center !important;
  margin:0 0 13px !important;
  color:var(--pfams-blue) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:24px !important;
  line-height:.95 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.footer-logo span{
  display:block !important;
  margin-top:5px !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:700 !important;
}
.footer-office{
  text-align:center !important;
  min-width:0 !important;
}
.footer-label{
  display:block !important;
  margin-bottom:5px !important;
  color:#9fc3ff !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.footer-office p{
  margin:0 !important;
  color:#d8dde4 !important;
  font-size:14px !important;
  line-height:1.42 !important;
  white-space:normal !important;
}
.footer-contact-link{
  display:inline !important;
  min-height:0 !important;
  border:0 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:14px !important;
  color:#d8dde4 !important;
}
.footer-inner > a{
  min-height:50px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-left:1px solid rgba(255,255,255,.20) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:18px !important;
  color:#f2f2f2 !important;
  white-space:nowrap !important;
}

/* 
   GLOBAL TWO-COLUMN ALIGNMENT STANDARD
   The explanatory text on the right begins in exactly the same grid row
   as the large section title on the left — NOT the kicker above it.
*/
@media (min-width:801px){

  .section-inner,
  .intro-inner,
  .products-head,
  .brand-wrap,
  .approach-grid{
    align-items:start !important;
    row-gap:0 !important;
  }

  .section-inner > div:first-child,
  .intro-inner > div:first-child,
  .products-head > div:first-child,
  .brand-wrap > div:first-child,
  .approach-grid > div:first-child{
    display:contents !important;
  }

  .section-inner > div:first-child > .kicker,
  .intro-inner > div:first-child > .kicker,
  .products-head > div:first-child > .kicker,
  .brand-wrap > div:first-child > .kicker,
  .approach-grid > div:first-child > .kicker{
    grid-column:1 !important;
    grid-row:1 !important;
    margin-bottom:0 !important;
    align-self:start !important;
  }

  .section-inner > div:first-child > .rule,
  .intro-inner > div:first-child > .rule,
  .products-head > div:first-child > .rule,
  .brand-wrap > div:first-child > .rule,
  .approach-grid > div:first-child > .rule{
    grid-column:1 !important;
    grid-row:2 !important;
    align-self:start !important;
  }

  .section-inner > div:first-child > h2,
  .intro-inner > div:first-child > h2,
  .products-head > div:first-child > h2,
  .brand-wrap > div:first-child > h2,
  .approach-grid > div:first-child > h2{
    grid-column:1 !important;
    grid-row:3 !important;
    align-self:start !important;
    margin-top:0 !important;
  }

  .section-inner > div:nth-child(2),
  .intro-inner > p:nth-child(2),
  .products-head > p:nth-child(2),
  .brand-wrap > div:nth-child(2),
  .approach-grid > div:nth-child(2){
    grid-column:2 !important;
    grid-row:3 !important;
    align-self:start !important;
    margin-top:0 !important;
  }

  .section-inner > div:nth-child(2) > p:first-child,
  .brand-wrap > div:nth-child(2) > p:first-child,
  .approach-grid > div:nth-child(2) > p:first-child{
    margin-top:0 !important;
  }
}

@media (max-width:800px){
  .header{
    height:auto !important;
    min-height:92px !important;
    padding:14px 0 !important;
  }
  .header-inner{
    width:90% !important;
    height:auto !important;
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:13px !important;
  }
  .brand-main{font-size:39px !important}
  .brand-sub{font-size:16px !important}
  .nav{
    width:100% !important;
    justify-content:space-between !important;
    gap:10px !important;
    font-size:13px !important;
  }
  .nav > a,
  .language-switcher button{
    padding:6px 0 12px !important;
  }
  .nav > a.active::after,
  .language-switcher button.active::after{
    bottom:5px !important;
  }

  .hero,
  .hero-slider{
    height:430px !important;
    min-height:430px !important;
    max-height:430px !important;
  }

  .footer{
    height:auto !important;
    min-height:0 !important;
    padding:22px 0 !important;
  }
  .footer-inner{
    width:88% !important;
    height:auto !important;
    grid-template-columns:1fr 1fr !important;
  }
  .footer-company{
    grid-column:1/-1 !important;
    height:auto !important;
    padding:0 0 22px !important;
  }
  .footer-logo{font-size:22px !important}
  .footer-company-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .footer-logo{
    width:100% !important;
    align-self:center !important;
    margin:0 0 14px !important;
  }
  .footer-office p{font-size:15px !important}
  .footer-contact-link{font-size:15px !important}
  .footer-inner > a{
    min-height:44px !important;
    justify-content:flex-start !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    font-size:16px !important;
  }

  /* Return split-section markup to normal stacked flow on mobile. */
  .section-inner > div:first-child,
  .intro-inner > div:first-child,
  .products-head > div:first-child,
  .brand-wrap > div:first-child,
  .approach-grid > div:first-child{
    display:block !important;
  }
  .section-inner > div:first-child > *,
  .intro-inner > div:first-child > *,
  .products-head > div:first-child > *,
  .brand-wrap > div:first-child > *,
  .approach-grid > div:first-child > *,
  .section-inner > div:nth-child(2),
  .intro-inner > p:nth-child(2),
  .products-head > p:nth-child(2),
  .brand-wrap > div:nth-child(2),
  .approach-grid > div:nth-child(2){
    grid-column:auto !important;
    grid-row:auto !important;
  }
}

@media (max-width:520px){
  .footer-inner{grid-template-columns:1fr !important}
}
