/* PropertyTalents Build 74 — header/navigation/CTA emphasis
   Additive only. No layout or content redesign. */

/* --- Desktop top navigation --- */
@media (min-width:981px){
  .site-nav,
  .nav{
    font-size:15px!important;
    gap:clamp(25px,2.15vw,40px)!important;
  }

  .site-nav a,
  .nav a{
    padding-top:15px!important;
    padding-bottom:15px!important;
  }

  .site-header-actions,
  .header-actions{
    gap:18px!important;
  }

  .site-lang,
  .lang{
    font-size:13px!important;
    font-weight:500!important;
    padding-right:20px!important;
    min-height:48px;
    display:inline-flex;
    align-items:center;
  }

  .site-consult,
  .consult{
    min-width:190px;
    min-height:48px;
    padding:0 20px!important;
    gap:24px!important;
    justify-content:space-between;
    font-size:13px!important;
    font-weight:500!important;
    white-space:nowrap;
  }
}

/* Keep normal laptops readable; do not collapse back to micro-type. */
@media (min-width:981px) and (max-width:1320px){
  .site-nav,
  .nav{
    font-size:14px!important;
    gap:clamp(17px,1.65vw,25px)!important;
  }

  .site-consult,
  .consult{
    min-width:178px;
    min-height:46px;
    padding:0 17px!important;
    font-size:12.5px!important;
  }

  .site-lang,
  .lang{
    font-size:12.5px!important;
    min-height:46px;
  }
}

/* Extra-short laptops still remain readable while fitting the first screen. */
@media (min-width:981px) and (max-height:680px){
  .site-nav,
  .nav{
    font-size:13px!important;
  }

  .site-consult,
  .consult{
    min-height:44px;
    font-size:12px!important;
  }

  .site-lang,
  .lang{
    font-size:12px!important;
    min-height:44px;
  }
}

/* --- Desktop mega-menu readability --- */
@media (min-width:981px){
  .pt-mega-nav__eyebrow{
    font-size:10px!important;
    line-height:1.2!important;
  }

  .pt-mega-nav__all{
    font-size:11px!important;
    line-height:1.2!important;
  }

  .pt-mega-link{
    min-height:70px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }

  .pt-mega-link__num{
    font-size:9.5px!important;
  }

  .pt-mega-link__copy strong{
    font-size:14px!important;
    line-height:1.28!important;
  }

  .pt-mega-link__copy small{
    margin-top:5px!important;
    font-size:11px!important;
    line-height:1.42!important;
  }

  .pt-mega-link__arrow{
    font-size:15px!important;
  }

  .pt-mega-market-col__label{
    font-size:9px!important;
    line-height:1.2!important;
  }

  .pt-mega-market-link{
    min-height:33px!important;
    font-size:12px!important;
    line-height:1.25!important;
  }

  .pt-language-menu{
    width:205px!important;
  }

  .pt-language-menu__row{
    padding:12px 10px!important;
    font-size:12px!important;
    line-height:1.3!important;
  }

  .pt-language-menu__row small{
    font-size:9px!important;
  }
}

/* --- Homepage hero CTAs: equal size, stronger visual weight --- */
.hero-actions{
  gap:14px!important;
}

.hero-btn{
  width:200px!important;
  min-width:200px!important;
  min-height:50px!important;
  padding:0 20px!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1!important;
  position:relative;
  overflow:hidden;
}

.hero-btn span{
  font-size:14px;
  position:relative;
  z-index:2;
}

/* A restrained moving reflection on the main employer CTA. */
.hero-btn.primary{
  background-color:var(--red)!important;
  background-image:
    linear-gradient(
      112deg,
      transparent 0%,
      transparent 40%,
      rgba(255,255,255,0.05) 44%,
      rgba(255,255,255,0.34) 50%,
      rgba(255,255,255,0.06) 56%,
      transparent 60%,
      transparent 100%
    )!important;
  background-size:260% 100%!important;
  background-position:150% 0;
  animation:ptEmployerSweep 4.6s ease-in-out infinite;
}

@keyframes ptEmployerSweep{
  0%,16%{background-position:150% 0}
  38%{background-position:-55% 0}
  100%{background-position:-55% 0}
}

.hero-btn.primary:hover{
  background-color:#b90004!important;
}

/* Laptop fit: keep both hero buttons equal and clearly legible. */
@media (min-width:981px) and (max-height:780px){
  .hero-btn{
    width:190px!important;
    min-width:190px!important;
    min-height:48px!important;
    padding:0 18px!important;
    font-size:13px!important;
  }
}

@media (min-width:981px) and (max-height:680px){
  .hero-btn{
    width:182px!important;
    min-width:182px!important;
    min-height:46px!important;
    padding:0 17px!important;
    font-size:12.5px!important;
  }
}

/* Mobile CTA consistency. */
@media (max-width:980px){
  .pt-mobile-nav__primary > a,
  .pt-mobile-group__trigger{
    font-size:26px!important;
  }

  .pt-mobile-group__links a{
    font-size:13px!important;
    line-height:1.45!important;
  }

  .pt-mobile-nav__cta{
    min-height:52px!important;
    padding:0 17px!important;
    font-size:12.5px!important;
  }
}

@media (max-width:720px){
  .hero-btn{
    width:min(280px,100%)!important;
    min-width:0!important;
    min-height:50px!important;
    font-size:13px!important;
  }
}

/* Accessibility: no forced attention animation for reduced-motion users. */
@media (prefers-reduced-motion:reduce){
  .hero-btn.primary{
    animation:none!important;
    background-image:none!important;
  }
}
