/* AGGRO v65 - contact actions, elevator hero and mobile quality pass */

/* Contacts - two real, large and unmistakably separate actions */
body.page-contacts .contact-panel--general{
  padding:44px!important;
  overflow:hidden;
}
body.page-contacts .contact-panel--general h3{
  max-width:760px;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.08!important;
}
body.page-contacts .contact-panel--general>p{
  max-width:760px!important;
  margin-bottom:0!important;
  font-size:15px!important;
}
body.page-contacts .general-contact__actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
body.page-contacts .general-contact-action{
  position:relative;
  min-height:150px;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  padding:28px 72px 28px 30px!important;
  margin:0!important;
  overflow:hidden;
  border:1px solid rgba(12,24,52,.12);
  border-radius:30px!important;
  background:linear-gradient(145deg,#fff 0%,#f4eee4 100%);
  color:#101c35!important;
  text-decoration:none!important;
  box-shadow:0 18px 38px rgba(25,34,48,.08);
  transition:transform .55s cubic-bezier(.18,.78,.18,1),box-shadow .55s ease,border-color .55s ease!important;
}
body.page-contacts .general-contact-action--phone{
  background:linear-gradient(145deg,#173153 0%,#0d203b 100%);
  color:#fff!important;
  border-color:rgba(255,255,255,.12);
}
body.page-contacts .general-contact-action span{
  display:block;
  margin-bottom:10px;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#717782;
}
body.page-contacts .general-contact-action--phone span{color:rgba(255,255,255,.63)}
body.page-contacts .general-contact-action strong{
  display:block;
  font-size:clamp(24px,2.35vw,36px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}
body.page-contacts .general-contact-action b{
  position:absolute;
  right:28px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(12,24,52,.14);
  font-size:22px;
  font-weight:400;
  transition:transform .5s cubic-bezier(.18,.78,.18,1),background .4s ease;
}
body.page-contacts .general-contact-action--phone b{border-color:rgba(255,255,255,.25)}
body.page-contacts .general-contact-action:hover{
  transform:translateY(-4px);
  border-color:rgba(53,88,70,.26);
  box-shadow:0 26px 50px rgba(25,34,48,.13);
}
body.page-contacts .general-contact-action:hover b{transform:translate(3px,-50%)}

/* Elevator hero - generated specifically for the wide hero crop */
body.page-elevator .subhero__image{
  object-fit:cover!important;
  object-position:center 52%!important;
  transform:scale(1.012)!important;
  filter:saturate(.94) contrast(1.04)!important;
}
body.page-elevator .subhero__shade{
  background:linear-gradient(90deg,rgba(6,16,34,.90) 0%,rgba(6,16,34,.72) 33%,rgba(6,16,34,.27) 63%,rgba(6,16,34,.08) 100%),linear-gradient(180deg,rgba(0,0,0,.03),rgba(4,14,31,.34))!important;
}

/* Mobile quality pass for all internal pages */
.luxe-page{overflow-x:clip}
@media(max-width:900px){
  .luxe-page .subhero__image{object-position:center center}
  body.page-elevator .subhero__image{object-position:66% center!important}
  .luxe-page .editorial-intro__copy h2{font-size:clamp(30px,7vw,42px)!important;line-height:1.1!important}
  .luxe-page .editorial-intro__copy p,
  .luxe-page .content-section__intro,
  .luxe-page .section-note{font-size:14px!important;line-height:1.72!important}
  .luxe-page .facts-grid,.luxe-page .info-grid,.luxe-page .contacts-grid,.luxe-page .location-grid,.luxe-page .benefits-grid{gap:14px!important}
  .luxe-page .split-contact{gap:14px!important}
  .luxe-page .arrow-link{min-height:44px;padding:11px 18px!important}
  .luxe-motion.motion-left,.luxe-motion.motion-right,.luxe-motion.motion-up{--mx:0!important;--my:18px!important}
  .luxe-motion{filter:blur(.7px)!important;transition:opacity .78s cubic-bezier(.18,.78,.18,1),transform .86s cubic-bezier(.18,.82,.18,1),filter .72s ease!important}
}
@media(max-width:600px){
  .luxe-page .subhero,.luxe-page .subhero__inner{min-height:545px!important}
  .luxe-page .subhero__inner{padding-top:84px!important;padding-bottom:42px!important}
  .luxe-page .subhero__inner::before{min-height:405px!important}
  .luxe-page .subhero__inner::after{height:405px!important}
  .luxe-page .subhero h1{font-size:clamp(40px,12vw,50px)!important;line-height:.98!important;letter-spacing:-.045em!important}
  .luxe-page .subhero p{font-size:13.5px!important;line-height:1.66!important;max-width:none!important}
  .luxe-page .subhero__kicker{font-size:9.5px!important}
  .luxe-page .editorial-intro__inner{padding:30px 22px!important}
  .luxe-page .editorial-intro__mark{font-size:10px!important}
  .luxe-page .editorial-intro__copy h2{font-size:31px!important}
  .luxe-page .editorial-intro__copy p{font-size:13.5px!important;line-height:1.7!important}
  .luxe-page .content-section>.shell{padding:32px 21px 35px!important}
  .luxe-page .content-section__head h2{font-size:31px!important;line-height:1.12!important;letter-spacing:-.035em!important}
  .luxe-page .content-section__intro{font-size:13.5px!important;line-height:1.68!important}
  .luxe-page .fact-card,.luxe-page .info-card,.luxe-page .address-card,.luxe-page .location-card,.luxe-page .career-card,.luxe-page .benefit-card,.luxe-page .contact-panel{padding:23px!important}
  .luxe-page .fact-card strong{font-size:36px!important}
  .luxe-page .fact-card span,.luxe-page .info-card p,.luxe-page .address-card p,.luxe-page .contact-panel span{font-size:12.5px!important;line-height:1.62!important}
  .luxe-page .contact-panel h3,.luxe-page .address-card h3,.luxe-page .location-card h3{font-size:21px!important;line-height:1.28!important}
  .luxe-page .contact-panel a{font-size:15px!important;line-height:1.5!important;overflow-wrap:anywhere}
  .luxe-page .chip-list{gap:8px!important}
  .luxe-page .chip-list span,.luxe-page .vacancy-list span{font-size:11.5px!important;padding:10px 12px!important}
  .luxe-page .feature-callout,.luxe-page .career-cta{padding:28px 22px!important}
  .luxe-page .footer__grid{gap:22px!important}
  .luxe-page .footer h4{font-size:10px!important}
  .luxe-page .footer__grid>div>a{font-size:9px!important;line-height:1.5!important}
  body.page-elevator .subhero__image{object-position:72% center!important}
  body.page-contacts .contact-panel--general{padding:28px 22px!important}
  body.page-contacts .contact-panel--general h3{font-size:29px!important}
  body.page-contacts .general-contact__actions{grid-template-columns:1fr;gap:12px;margin-top:22px}
  body.page-contacts .general-contact-action{min-height:128px;padding:23px 58px 23px 22px!important;border-radius:24px!important}
  body.page-contacts .general-contact-action span{font-size:10px!important;margin-bottom:7px}
  body.page-contacts .general-contact-action strong{font-size:clamp(21px,6.2vw,27px)!important}
  body.page-contacts .general-contact-action b{right:18px;width:38px;height:38px;font-size:19px}
  .direction-hub-card{min-height:330px!important;border-radius:26px 14px 26px 14px!important}
  .direction-hub-card>div{left:22px!important;right:22px!important;bottom:22px!important}
  .direction-hub-card h3{font-size:25px!important}
  .direction-hub-card p{font-size:12.5px!important}
  .project-feature img{height:260px!important;min-height:260px!important}
  .project-feature>div{padding:28px 22px!important}
}
@media(hover:none){
  .luxe-page .fact-card:hover,.luxe-page .info-card:hover,.luxe-page .location-card:hover,.luxe-page .contact-panel:hover,.direction-hub-card:hover,.general-contact-action:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .luxe-motion{transition:none!important;transform:none!important;filter:none!important;opacity:1!important}
}

/* v70 - mobile sharpness fix for all internal pages */
@media (max-width:900px){
  .luxe-page .luxe-motion,
  .luxe-page .luxe-motion.motion-left,
  .luxe-page .luxe-motion.motion-right,
  .luxe-page .luxe-motion.motion-up{
    --mx:0!important;
    --my:16px!important;
    opacity:0;
    transform:translateY(16px)!important;
    filter:none!important;
    -webkit-filter:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    -webkit-font-smoothing:antialiased;
    transition:opacity .64s cubic-bezier(.18,.78,.18,1),transform .72s cubic-bezier(.18,.82,.18,1)!important;
  }
  .luxe-page .luxe-motion.is-visible{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    -webkit-filter:none!important;
    will-change:auto!important;
  }
  .luxe-page .editorial-intro__copy,
  .luxe-page .content-section__head,
  .luxe-page .fact-card,
  .luxe-page .info-card,
  .luxe-page .address-card,
  .luxe-page .location-card,
  .luxe-page .career-card,
  .luxe-page .benefit-card,
  .luxe-page .contact-panel,
  .luxe-page .feature-callout,
  .luxe-page .career-cta,
  .luxe-page .chip-list,
  .luxe-page .vacancy-list,
  .luxe-page .section-note{
    filter:none!important;
    -webkit-filter:none!important;
    text-rendering:optimizeLegibility;
  }
}
