/* PA WEB CARNIVAL — FINAL GLOBAL SYSTEM
   Shared header, navigation and footer. Page-specific CSS is loaded before this file.
*/
:root{
  --global-red:#e3131b;
  --global-red-dark:#a9070d;
  --global-navy:#071523;
  --global-text:#182332;
  --global-max:1360px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden}

/* ==================== SHARED HEADER ==================== */
.global-header{
  height:88px !important;
  width:100%;
  background:#fff !important;
  display:flex !important;
  align-items:center;
  position:sticky !important;
  top:0;
  z-index:1000;
  padding:0 28px !important;
  border-top:4px solid var(--global-red) !important;
  border-right:0 !important;
  border-bottom:1px solid #e7eaee !important;
  border-left:0 !important;
  box-shadow:0 4px 18px rgba(10,22,35,.07) !important;
}
.global-header-inner{
  width:100%;
  max-width:var(--global-max);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:24px;
  min-width:0;
}
.global-brand{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 205px !important;
  width:205px !important;
  height:60px !important;
  min-width:0;
  text-decoration:none;
  overflow:visible !important;
}
.global-brand img{
  display:block !important;
  width:205px !important;
  height:auto !important;
  max-width:100%;
  max-height:58px;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  transform:none !important;
}
.global-nav{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:3px !important;
  flex:1 1 auto;
  min-width:0;
  min-height:48px;
  padding:4px !important;
  background:linear-gradient(90deg,#c80d14 0%,#ed171f 50%,#c80d14 100%) !important;
  border:1px solid #b50910 !important;
  border-radius:10px !important;
  box-shadow:0 5px 14px rgba(200,13,20,.22),inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.global-nav a{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  height:40px !important;
  min-width:0;
  padding:0 10px !important;
  color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
  font:700 12px/1 Arial,Helvetica,sans-serif !important;
  white-space:nowrap;
  border:0 !important;
  border-radius:7px !important;
  box-shadow:none !important;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}
.global-nav a:hover{
  color:var(--global-navy) !important;
  background:rgba(255,255,255,.92) !important;
}
.global-nav a.active{
  color:#fff !important;
  background:var(--global-navy) !important;
  box-shadow:0 5px 12px rgba(0,0,0,.22) !important;
}
.global-nav a.active:after{display:none !important}
.global-talk{
  flex:0 0 112px !important;
  width:112px;
  height:46px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:0 14px !important;
  border-radius:8px !important;
  background:var(--global-navy) !important;
  color:#10243d !important;
  text-decoration:none !important;
  font:800 12px/1 Arial,Helvetica,sans-serif !important;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(7,21,35,.18) !important;
}
.global-talk:hover{background:#10283e !important;color:#fff !important}
.global-menu{
  display:none !important;
  border:0 !important;
  background:transparent !important;
  color:var(--global-navy) !important;
  font-size:28px;
  line-height:1;
  padding:8px;
  cursor:pointer;
}
.global-mobile-nav{display:none !important}

/* ==================== SHARED FOOTER ==================== */
footer.global-footer{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#eef5fc !important;
  color:#10243d !important;
  border:0 !important;
  border-top:4px solid var(--global-red) !important;
  box-shadow:none !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
footer.global-footer > .global-footer-main{
  width:100%;
  max-width:var(--global-max);
  margin:0 auto;
  display:grid !important;
  grid-template-columns:1.45fr .95fr 1.1fr 1.05fr 1.25fr !important;
  gap:0 !important;
  padding:38px 28px 32px !important;
}
footer.global-footer > .global-footer-main > .global-footer-col{
  min-width:0;
  border-right:1px solid rgba(16,36,61,.14) !important;
  border-left:0 !important;
  border-bottom:0 !important;
  padding:0 22px !important;
  margin:0 !important;
  display:block !important;
}
footer.global-footer > .global-footer-main > .global-footer-col:first-child{
  padding-left:0 !important;
}
footer.global-footer > .global-footer-main > .global-footer-col:last-child{
  border-right:0 !important;
  padding-right:0 !important;
}
.global-footer-logo{
  width:300px !important;
  height:auto !important;
  max-width:100% !important;
  max-height:92px !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
  margin:0 0 16px !important;
  padding:0 !important;
  border:0 !important;
  filter:none !important;
}
.global-footer p{
  font:400 11px/1.65 Arial,Helvetica,sans-serif !important;
  margin:0 0 10px !important;
  color:#10243d !important;
}
.global-footer h4{
  font:800 11px/1.2 Arial,Helvetica,sans-serif !important;
  margin:2px 0 14px !important;
  color:#e21a22 !important;
  letter-spacing:.2px;
}
.global-footer a{
  display:block !important;
  color:#10243d !important;
  text-decoration:none !important;
  font:400 10.5px/1.7 Arial,Helvetica,sans-serif !important;
  margin:2px 0 !important;
}
.global-footer a:hover{color:#ffb8bb !important}
.global-social{
  display:flex !important;
  gap:9px !important;
  align-items:center;
  margin-top:9px !important;
}
.global-social span{
  display:grid !important;
  place-items:center;
  width:30px !important;
  height:30px !important;
  flex:0 0 30px;
  border:1px solid rgba(16,36,61,.35) !important;
  border-radius:50% !important;
  font:800 12px/1 Arial,sans-serif !important;
  color:#10243d !important;
}
.global-social span:hover{
  background:var(--global-red) !important;
  border-color:var(--global-red) !important;
}
.global-footer-bottom{
  background:#dceaf8 !important;
  display:block !important;
  padding:11px 28px !important;
  box-sizing:border-box;
  font:400 10px/1.4 Arial,Helvetica,sans-serif !important;
  color:#10243d !important;
  border:0 !important;
}
footer.global-footer > .global-footer-bottom > div{
  max-width:var(--global-max);
  width:100%;
  margin:0 auto;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
footer.global-footer > div:not(.global-footer-main):not(.global-footer-bottom){
  display:none !important;
}

/* ==================== SHARED HERO RHYTHM ==================== */
.page-home .hero-grid,
.page-about .about-hero,
.page-services .hero,
.page-industries .hero,
.page-employers .hero{
  min-height:440px !important;
  height:440px !important;
  box-sizing:border-box;
}
.page-home .hero-art,
.page-about .about-hero-media,
.page-services .hero-art,
.page-industries .hero-media,
.page-employers .hero-right{
  height:440px !important;
  min-height:440px !important;
}

/* About Us: full visual, no destructive crop/clip. */
.page-about .about-hero{
  min-height:500px !important;
  height:500px !important;
  grid-template-columns:minmax(0,50%) minmax(0,50%) !important;
  align-items:stretch;
  overflow:hidden !important;
}
.page-about .about-hero-copy{
  min-width:0;
  min-height:500px !important;
  overflow:hidden;
  background:linear-gradient(90deg,#fff 0%,#fff 78%,#f4f7fb 100%) !important;
}
.page-about .about-hero-media{
  min-width:0;
  min-height:500px !important;
  height:500px !important;
  overflow:hidden !important;
  clip-path:none !important;
  background-color:#fff !important;
  background-image:url("assets/about-hero-clean.jpg") !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
}
.page-about .about-hero-media:after{
  display:none !important;
}
.page-about .about-hero h1{
  max-width:590px;
  overflow-wrap:normal;
  word-break:normal;
}

/* Other page hero images retain their approved compositions. */
.page-home .hero-art{background-position:center center !important;background-size:cover !important}
.page-services .hero-art img,
.page-industries .hero-media img,
.page-employers .hero-right img{
  height:440px !important;
  min-height:440px !important;
  object-fit:cover;
  object-position:center center;
}
.page-services .hero-copy,
.page-industries .hero-copy,
.page-employers .hero-left{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* ==================== RESPONSIVE ==================== */
@media(max-width:1180px){
  .global-header{padding:0 20px !important}
  .global-header-inner{gap:16px}
  .global-brand{flex-basis:195px !important;width:195px !important}
  .global-brand img{width:195px !important;max-height:55px}
  .global-nav{gap:2px !important}
  .global-nav a{padding:0 8px !important;font-size:11px !important}
  .global-talk{flex-basis:106px !important;width:106px}
  footer.global-footer > .global-footer-main{padding-left:20px !important;padding-right:20px !important}
  .global-footer-logo{width:280px !important;max-height:86px !important}
  footer.global-footer > .global-footer-main > .global-footer-col{padding-left:17px !important;padding-right:17px !important}
}
@media(max-width:980px){
  .global-header{height:78px !important;padding:0 18px !important}
  .global-header-inner{gap:10px}
  .global-brand{height:56px !important;width:190px !important;flex-basis:190px !important}
  .global-brand img{width:190px !important;max-height:53px}
  .global-nav,.global-talk{display:none !important}
  .global-menu{display:block !important;margin-left:auto}
  .global-mobile-nav{
    position:absolute !important;
    display:none !important;
    left:0;right:0;top:78px;
    background:#fff !important;
    border-top:1px solid #e7eaee;
    box-shadow:0 12px 24px rgba(0,0,0,.09);
    padding:8px 18px 14px;
    z-index:1001;
  }
  .global-mobile-nav.open{display:block !important}
  .global-mobile-nav a{
    display:block !important;
    padding:14px 6px;
    color:#172230 !important;
    text-decoration:none !important;
    font:800 12px/1.2 Arial,sans-serif !important;
    border-bottom:1px solid #edf0f3;
  }
  .global-mobile-nav a.active{color:var(--global-red) !important}
  .page-home .hero-grid,
  .page-about .about-hero,
  .page-services .hero,
  .page-industries .hero,
  .page-employers .hero{
    height:auto !important;
    min-height:0 !important;
  }
  .page-home .hero-art,
  .page-about .about-hero-media,
  .page-services .hero-art,
  .page-industries .hero-media,
  .page-employers .hero-right{
    height:330px !important;
    min-height:330px !important;
  }
  .page-about .about-hero{
    grid-template-columns:1fr !important;
  }
  .page-about .about-hero-copy{
    min-height:auto !important;
    overflow:visible !important;
  }
  .page-about .about-hero-media{
    min-height:360px !important;
    height:360px !important;
  }
  .page-services .hero-art img,
  .page-industries .hero-media img,
  .page-employers .hero-right img{
    height:330px !important;
    min-height:330px !important;
  }
  footer.global-footer > .global-footer-main{
    grid-template-columns:repeat(2,1fr) !important;
    padding:30px 20px !important;
  }
  footer.global-footer > .global-footer-main > .global-footer-col{
    border-right:0 !important;
    border-bottom:1px solid rgba(16,36,61,.14) !important;
    padding:0 0 20px !important;
    margin:0 0 20px !important;
  }
  footer.global-footer > .global-footer-main > .global-footer-col:nth-child(odd){
    padding-right:20px !important;
    border-right:1px solid rgba(16,36,61,.14) !important;
  }
  footer.global-footer > .global-footer-main > .global-footer-col:nth-child(even){
    padding-left:20px !important;
  }
  footer.global-footer > .global-footer-main > .global-footer-col:last-child{
    border-bottom:0 !important;
    margin-bottom:0 !important;
  }
  footer.global-footer > .global-footer-bottom{padding:10px 20px !important}
  footer.global-footer > .global-footer-bottom > div{
    display:block !important;
    text-align:center;
  }
  footer.global-footer > .global-footer-bottom span{
    display:block;
    margin:3px 0;
  }
}
@media(max-width:520px){
  .global-footer-logo{width:260px !important;max-height:82px !important}
  .global-header{height:70px !important;padding:0 14px !important}
  .global-mobile-nav{top:70px}
  .global-brand{width:180px !important;flex-basis:180px !important;height:54px !important}
  .global-brand img{width:180px !important;max-height:51px}
  .global-menu{font-size:26px}
  .page-about .about-hero-media{
    height:300px !important;
    min-height:300px !important;
  }
  .page-home .hero-art,
  .page-services .hero-art,
  .page-industries .hero-media,
  .page-employers .hero-right{
    height:280px !important;
    min-height:280px !important;
  }
  .page-services .hero-art img,
  .page-industries .hero-media img,
  .page-employers .hero-right img{
    height:280px !important;
    min-height:280px !important;
  }
  footer.global-footer > .global-footer-main{
    grid-template-columns:1fr !important;
    padding:26px 20px !important;
  }
  footer.global-footer > .global-footer-main > .global-footer-col,
  footer.global-footer > .global-footer-main > .global-footer-col:nth-child(odd),
  footer.global-footer > .global-footer-main > .global-footer-col:nth-child(even){
    border-right:0 !important;
    padding:0 0 18px !important;
    margin:0 0 18px !important;
  }
  footer.global-footer > .global-footer-main > .global-footer-col:last-child{
    border-bottom:0 !important;
    margin-bottom:0 !important;
  }
}
.global-nav a:focus-visible,.global-talk:focus-visible{
  outline:2px solid #071523;
  outline-offset:2px;
}
