/* PROPERTYTALENTS BUILD 56 — PRODUCTION FOUNDATION */
:root{
  --pt-ease:cubic-bezier(.22,.78,.2,1);--pt-border:rgba(17,19,21,.12);--pt-focus:#d00004;
  --pt-space-1:8px;--pt-space-2:12px;--pt-space-3:18px;--pt-space-4:24px;--pt-space-5:36px;--pt-space-6:56px;
}
.pt-skip-link{position:fixed;z-index:50000;left:16px;top:12px;transform:translateY(-160%);padding:10px 14px;background:#fff;color:#151719;border:1px solid rgba(17,19,21,.16);font:500 11px/1 var(--ui,"Source Sans 3",Arial,sans-serif);transition:transform .18s ease}.pt-skip-link:focus{transform:translateY(0)}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--pt-focus);outline-offset:3px}
:where(button,a){-webkit-tap-highlight-color:transparent}
.footer-link-disabled{display:block;width:max-content;max-width:100%;margin:0 0 11px;color:rgba(255,255,255,.34);font:400 11px/1.35 var(--ui,"Source Sans 3",Arial,sans-serif);cursor:not-allowed}
.footer-bottom__meta .footer-link-disabled{display:inline;margin:0;color:inherit;font:inherit}
.footer-legal-button{appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:not-allowed;opacity:1}
.social-button.pt-placeholder{cursor:not-allowed;opacity:.64}
.site-lang,.lang{appearance:none;background:transparent;color:rgba(255,255,255,.78);border:0;border-right:1px solid rgba(255,255,255,.16);padding:0 18px 0 0;cursor:pointer;text-shadow:0 1px 10px rgba(0,0,0,.22)}
.site-lang{font:400 11px/1 var(--ui,"Source Sans 3",Arial,sans-serif);letter-spacing:.08em}.lang{font:400 11px/1 var(--ui,"Source Sans 3",Arial,sans-serif);letter-spacing:.08em}

/* Desktop connected glass navigation — Build 58.
   The panel is anchored to the hovered word: its left edge begins at the
   first character of Services / Sectors / Markets / Insights and grows right.
   A translucent neck bridges the trigger and the panel so they read as one shape. */
.pt-mega-nav{
  --pt-mega-width:700px;
  --pt-mega-left:0px;
  --pt-mega-top:64px;
  --pt-mega-trigger-width:70px;
  --pt-mega-available:calc(100vw - 40px);
  --pt-mega-glass:rgba(12,15,18,.78);
  --pt-mega-border:rgba(255,255,255,.13);
  --pt-mega-blur:blur(18px) saturate(116%);
  position:absolute;
  z-index:120;
  left:var(--pt-mega-left);
  right:auto;
  top:var(--pt-mega-top);
  width:min(var(--pt-mega-width),var(--pt-mega-available));
  min-width:min(560px,var(--pt-mega-available));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(7px);
  transition:opacity .18s ease,transform .24s var(--pt-ease),visibility 0s linear .24s;
  color:#fff;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible
}
.pt-mega-nav[data-group="services"]{--pt-mega-width:700px}
.pt-mega-nav[data-group="sectors"]{--pt-mega-width:840px}
.pt-mega-nav[data-group="markets"]{--pt-mega-width:660px}
.pt-mega-nav[data-group="insights"]{--pt-mega-width:660px}

.pt-mega-nav::before{
  content:"";
  position:absolute;
  z-index:3;
  left:0;
  top:-10px;
  width:max(42px,var(--pt-mega-trigger-width));
  height:10px;
  background:var(--pt-mega-glass);
  border:1px solid var(--pt-mega-border);
  border-bottom:0;
  border-radius:6px 6px 0 0;
  box-shadow:none;
  backdrop-filter:var(--pt-mega-blur);
  -webkit-backdrop-filter:var(--pt-mega-blur);
  pointer-events:none
}
.pt-mega-nav.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .18s ease,transform .24s var(--pt-ease)
}
.pt-mega-nav__surface{
  position:relative;
  z-index:2;
  opacity:1;
  transform:translateY(0);
  color:#fff;
  background:var(--pt-mega-glass);
  border:1px solid var(--pt-mega-border);
  border-radius:0 8px 8px 8px;
  box-shadow:0 24px 62px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:var(--pt-mega-blur);
  -webkit-backdrop-filter:var(--pt-mega-blur);
  overflow:hidden;
  transition:opacity .11s ease,transform .15s var(--pt-ease)
}
.pt-mega-nav__surface.is-switching{opacity:0;transform:translateY(2px)}

.site-nav a[data-mega],.nav a[data-mega]{
  z-index:2
}
.site-nav a[data-mega].pt-mega-anchor-active,
.nav a[data-mega].pt-mega-anchor-active{
  color:#fff
}
.site-nav a[data-mega].pt-mega-anchor-active::after,
.nav a[data-mega].pt-mega-anchor-active::after{
  right:0
}

.pt-mega-nav__content{padding:16px 21px 18px}
.pt-mega-nav__top{
  min-height:34px;
  padding:0 2px 12px;
  margin-bottom:1px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid rgba(255,255,255,.11)
}
.pt-mega-nav__eyebrow{
  margin:0;
  color:rgba(255,255,255,.44);
  font:500 8px/1 var(--ui,"Source Sans 3",Arial,sans-serif);
  letter-spacing:.14em;
  text-transform:uppercase
}
.pt-mega-nav__all{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:rgba(255,255,255,.70);
  font:500 9px/1 var(--ui,"Source Sans 3",Arial,sans-serif);
  transition:color .18s ease
}
.pt-mega-nav__all span:last-child{color:#d00004}
.pt-mega-nav__all:hover,.pt-mega-nav__all:focus-visible{color:#fff}

.pt-mega-nav__links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:28px;
  align-content:start
}
.pt-mega-link{
  position:relative;
  min-height:61px;
  padding:10px 2px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 16px;
  gap:10px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.09);
  color:#fff;
  background:transparent;
  transition:padding-left .18s ease
}
.pt-mega-link:hover,.pt-mega-link:focus-visible{padding-left:6px}
.pt-mega-link__num{
  color:#d00004;
  font:500 8px/1 var(--ui,"Source Sans 3",Arial,sans-serif);
  letter-spacing:.08em
}
.pt-mega-link__copy strong{
  display:block;
  color:rgba(255,255,255,.94);
  font-family:var(--ui,"Source Sans 3",Arial,sans-serif);
  font-size:12px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:-.005em
}
.pt-mega-link__copy small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.40);
  font:400 9px/1.4 var(--ui,"Source Sans 3",Arial,sans-serif)
}
.pt-mega-link__arrow{
  justify-self:end;
  color:#d00004;
  font:400 13px/1 var(--ui,"Source Sans 3",Arial,sans-serif);
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .18s ease,transform .18s ease
}
.pt-mega-link:hover .pt-mega-link__arrow,.pt-mega-link:focus-visible .pt-mega-link__arrow{
  opacity:1;
  transform:translateX(0)
}

.pt-mega-markets{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  grid-template-rows:auto auto;
  column-gap:18px;
  row-gap:12px;
  padding-top:11px
}
.pt-mega-market-col{min-width:0}
.pt-mega-market-col:nth-child(1){grid-column:1;grid-row:1 / span 2}
.pt-mega-market-col:nth-child(2){grid-column:2;grid-row:1}
.pt-mega-market-col:nth-child(3){grid-column:2;grid-row:2}
.pt-mega-market-col__label{
  margin:0 0 6px;
  color:rgba(255,255,255,.34);
  font:500 7px/1 var(--ui,"Source Sans 3",Arial,sans-serif);
  letter-spacing:.12em;
  text-transform:uppercase
}
.pt-mega-market-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:29px;
  padding:4px 1px;
  border-bottom:1px solid rgba(255,255,255,.065);
  color:rgba(255,255,255,.79);
  font:400 10.5px/1.2 var(--ui,"Source Sans 3",Arial,sans-serif);
  transition:color .18s ease,padding-left .18s ease
}
.pt-mega-market-link span:last-child{
  color:#d00004;
  opacity:0;
  transform:translateX(-3px);
  transition:opacity .18s ease,transform .18s ease
}
.pt-mega-market-link:hover,.pt-mega-market-link:focus-visible{color:#fff;padding-left:4px}
.pt-mega-market-link:hover span:last-child,.pt-mega-market-link:focus-visible span:last-child{opacity:1;transform:none}

.pt-mega-nav,.pt-mega-nav *{box-sizing:border-box}


/* English-only launch language menu; future languages stay visibly planned but non-interactive. */
.pt-language-menu{position:absolute;z-index:140;right:calc(var(--pad,clamp(24px,5vw,82px)) + 158px);top:calc(100% - 5px);width:190px;padding:10px;background:#fff;color:#151719;border:1px solid rgba(17,19,21,.12);box-shadow:0 18px 48px rgba(5,8,11,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:.18s ease}.pt-language-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.pt-language-menu__row{display:flex;justify-content:space-between;gap:12px;padding:10px 9px;border-bottom:1px solid rgba(17,19,21,.08);font:400 10px/1.2 var(--ui,"Source Sans 3",Arial,sans-serif)}.pt-language-menu__row:last-child{border-bottom:0}.pt-language-menu__row.current{font-weight:500}.pt-language-menu__row.disabled{color:#a0a5a8}.pt-language-menu__row small{font-size:8px;color:#d00004;text-transform:uppercase;letter-spacing:.08em}

/* Mobile navigation: one shared interaction for homepage and every inner page. */
.pt-mobile-nav{position:fixed;z-index:30000;inset:0;visibility:hidden;pointer-events:none}.pt-mobile-nav.is-open{visibility:visible;pointer-events:auto}.pt-mobile-nav__backdrop{position:absolute;inset:0;background:rgba(4,6,8,.72);opacity:0;transition:opacity .28s ease}.pt-mobile-nav.is-open .pt-mobile-nav__backdrop{opacity:1}.pt-mobile-nav__panel{position:absolute;right:0;top:0;bottom:0;width:min(440px,92vw);background:#f7f7f4;color:#151719;transform:translateX(102%);transition:transform .36s var(--pt-ease);overflow:auto;overscroll-behavior:contain}.pt-mobile-nav.is-open .pt-mobile-nav__panel{transform:none}.pt-mobile-nav__head{min-height:74px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(17,19,21,.10)}.pt-mobile-nav__head img{width:168px}.pt-mobile-nav__close{width:40px;height:40px;border:1px solid rgba(17,19,21,.15);background:transparent;color:#151719;font:300 25px/1 var(--ui,"Source Sans 3",Arial,sans-serif);cursor:pointer}.pt-mobile-nav__body{padding:15px 20px 28px}.pt-mobile-nav__primary>a,.pt-mobile-group__trigger{width:100%;min-height:53px;border:0;border-bottom:1px solid rgba(17,19,21,.10);background:transparent;color:#151719;display:flex;align-items:center;justify-content:space-between;text-align:left;font-family:var(--editorial,"Manrope",Arial,sans-serif);font-size:25px;font-weight:400}.pt-mobile-group__trigger{cursor:pointer}.pt-mobile-group__trigger span:last-child{font-family:var(--ui,"Source Sans 3",Arial,sans-serif);font-size:17px;color:#d00004;transition:transform .2s ease}.pt-mobile-group.open .pt-mobile-group__trigger span:last-child{transform:rotate(45deg)}.pt-mobile-group__links{display:none;padding:8px 0 12px 15px;border-bottom:1px solid rgba(17,19,21,.10)}.pt-mobile-group.open .pt-mobile-group__links{display:block}.pt-mobile-group__links a{display:block;padding:9px 0;color:#5c6266;font:400 11px/1.35 var(--ui,"Source Sans 3",Arial,sans-serif)}.pt-mobile-nav__cta{margin-top:24px;min-height:50px;padding:14px 15px;background:#d00004;color:#fff;display:flex;align-items:center;justify-content:space-between;font:500 10px/1 var(--ui,"Source Sans 3",Arial,sans-serif)}.pt-mobile-nav__meta{margin:20px 0 0;color:#969b9f;font:400 9px/1.5 var(--ui,"Source Sans 3",Arial,sans-serif)}
body.pt-nav-open{overflow:hidden}

/* Keep the seven-item desktop navigation disciplined at laptop widths. */
@media (min-width:981px) and (max-width:1320px){.site-header,.header{gap:22px!important}.site-nav,.nav{gap:18px!important;font-size:12px!important}.site-brand img,.brand img{width:180px!important}.site-consult,.consult{padding:12px 15px!important;gap:18px!important;font-size:11px!important}.site-header-actions,.header-actions{gap:13px!important}.pt-mega-nav__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.pt-mega-nav,.pt-language-menu{display:none!important}.site-menu,.menu{cursor:pointer}.site-menu[aria-expanded="true"]::before,.menu[aria-expanded="true"]::before{top:20px;transform:rotate(45deg)}.site-menu[aria-expanded="true"]::after,.menu[aria-expanded="true"]::after{top:20px;transform:rotate(-45deg)}.site-menu::before,.site-menu::after,.menu::before,.menu::after{transition:transform .2s ease,top .2s ease}}

/* Layout safety & responsive media */
main{min-width:0}.pt-media-safe,img,video{height:auto}iframe{max-width:100%}input,textarea,select{min-width:0}
@media(max-width:600px){.footer-nav{gap:24px}.footer-social__links{flex-wrap:wrap}}

/* Reduced motion: preserve access without forcing the cinematic intro. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}.intro{display:none!important}}

/* Build 59 — Markets-specific density */
.pt-mega-nav[data-group="markets"] .pt-mega-nav__content{padding:14px 18px 15px}
.pt-mega-nav[data-group="markets"] .pt-mega-nav__top{padding-bottom:10px;min-height:30px}
.pt-mega-nav[data-group="markets"] .pt-mega-nav__eyebrow{font-size:7.5px}

/* Build 60 — dropdown typography consistency
   All desktop mega-menu content now uses Source Sans 3.
   Canela / editorial serif remains untouched everywhere else on the site. */
.pt-mega-nav .pt-mega-nav__eyebrow,
.pt-mega-nav .pt-mega-nav__all,
.pt-mega-nav .pt-mega-link__num,
.pt-mega-nav .pt-mega-link__copy strong,
.pt-mega-nav .pt-mega-link__copy small,
.pt-mega-nav .pt-mega-market-col__label,
.pt-mega-nav .pt-mega-market-link{
  font-family:var(--ui,"Source Sans 3",Arial,sans-serif)
}
