/* Shared inner-page finish. The approved homepage remains the reference.
   Preserve each page's composition, photography and content. */
html.pt-site-refined{
  --report:var(--editorial);
  --pt-readable-body:16px;
  --pt-readable-card:15px;
  --pt-readable-small:12px;
  --pt-readable-control:14px;
  --pt-panel-hover:#e9edeb;
  --pt-panel-ink:#12181b;
  --pt-panel-muted:#697277;
}
html.pt-site-refined body{font-weight:400}
html.pt-site-refined main :is(h1,h2){font-weight:400;line-height:1.08;letter-spacing:-.028em}
html.pt-site-refined main h3{font-weight:400;line-height:1.12;letter-spacing:-.025em}
html.pt-site-refined :is(.pt-content-empty h3,.pt-unavailable h1){font-family:var(--editorial)}
html.pt-site-refined :is(input,select,textarea,button,.pt-unavailable){font-family:var(--ui)}
html.pt-site-refined main :is(input,select,textarea){font-size:16px!important}
html.pt-site-refined main :is(label,label>span){font-size:14px!important;line-height:1.4!important}
html.pt-site-refined :is(.market-selector__name,.insight-shelf__title){line-height:1.25}

/* The same fixed navigation, menu arrows and timing now load on every route. */
html.pt-site-refined .site-header{gap:28px}
html.pt-site-refined .site-nav{gap:clamp(17px,1.65vw,29px);font-size:14px}
html.pt-site-refined .site-consult{font-size:14px;gap:16px}
html.pt-site-refined [class$="-hero__aside"] :is(a,button){font-size:14px;line-height:1.4;min-height:50px}
html.pt-site-refined [class$="-hero__aside"]>span{font-size:12px;line-height:1.4;color:rgba(255,255,255,.76)}
html.pt-site-refined :is(.job-sidebar,.intel-sidebar){top:calc(var(--header-h) + 20px)}
html.pt-site-refined .pt-mobile-nav__panel{transition:transform var(--duration-slow) var(--ease-transform)}
html.pt-site-refined .pt-mobile-nav__backdrop{transition:opacity var(--duration-base) var(--ease-base)}
html.pt-site-refined :is(.contact-modal,.candidate-modal,.apply-modal,.download-modal){transition:opacity var(--duration-base) var(--ease-base),visibility 0s linear var(--duration-base)}
html.pt-site-refined :is(.contact-modal,.candidate-modal,.apply-modal,.download-modal).open{transition:opacity var(--duration-base) var(--ease-base)}
html.pt-site-refined :is(.contact-modal__panel,.candidate-modal__panel,.apply-modal__panel,.download-modal__panel){max-height:calc(100dvh - 44px);overflow:auto}

/* Text selectors: retain readable secondary labels in every state. */
html.pt-site-refined :is(.sector-selector,.market-selector,.insight-shelf)>:is(a,button),
html.pt-site-refined .jobs-filter{
  color:#41494e;
  transition:background-color var(--duration-base) var(--ease-base),color var(--duration-base) var(--ease-base),border-color var(--duration-base) var(--ease-base),box-shadow var(--duration-base) var(--ease-base);
}
html.pt-site-refined :is(.sector-selector,.market-selector,.insight-shelf)>:is(a,button):is(:hover,:focus-visible,.active),
html.pt-site-refined .jobs-filter:is(:hover,:focus-visible,.active){background:var(--pt-panel-hover);color:var(--pt-panel-ink)}
html.pt-site-refined :is(.sector-selector,.market-selector,.insight-shelf)>:is(a,button):is(:focus-visible,.active),
html.pt-site-refined .jobs-filter:is(:focus-visible,.active){box-shadow:inset 0 -2px 0 var(--red)}
html.pt-site-refined .jobs-filter:is(:hover,:focus-visible,.active){border-color:#c8cfcc}
html.pt-site-refined :is(.sector-selector__num,.market-selector__num,.insight-shelf__num){color:#717b80}
html.pt-site-refined :is(.sector-selector,.market-selector,.insight-shelf)>:is(a,button):is(:focus-visible,.active) :is(.sector-selector__num,.market-selector__num,.insight-shelf__num){color:var(--red)}
html.pt-site-refined :is(.market-selector__city,.insight-shelf__type),
html.pt-site-refined :is(.market-selector,.insight-shelf)>:is(a,button):is(:hover,:focus-visible,.active) :is(.market-selector__city,.insight-shelf__type){color:var(--pt-panel-muted)}
html.pt-site-refined :is(.market-selector__city,.insight-shelf__type){font-size:12px!important;line-height:1.4!important}

/* Real links receive matching pointer and keyboard feedback. Image-backed
   Services cards and static informational panels keep their own treatment. */
html.pt-site-refined :is(a.service-link,a.format-card,a.archive-row,a.related-row,a.role-card,a.country-sector-row,.contact-routes a.route-card){
  transition:background-color var(--duration-base) var(--ease-base),color var(--duration-base) var(--ease-base),border-color var(--duration-base) var(--ease-base),box-shadow var(--duration-base) var(--ease-base),transform var(--duration-slow) var(--ease-transform);
}
html.pt-site-refined :is(a.service-link,a.format-card,a.archive-row,a.related-row,a.role-card,a.country-sector-row,.contact-routes a.route-card):is(:hover,:focus-visible){
  background:var(--pt-panel-hover);color:var(--pt-panel-ink);box-shadow:inset 0 -2px 0 var(--red);
}
html.pt-site-refined :is(a.archive-row,a.role-card):is(:hover,:focus-visible){padding-inline:0}
html.pt-site-refined a.role-card:focus-visible .role-card__arrow{background:var(--red);color:#fff;border-color:var(--red)}
html.pt-site-refined :is(.service-link em,.format-card em,.archive-row__meta,.role-card__company,.role-card__meta-value){color:var(--pt-panel-muted)}
html.pt-site-refined :is(.service-link em,.format-card em,.archive-row__arrow,.related-row__arrow,.role-card__arrow){transition:color var(--duration-base) var(--ease-base),background-color var(--duration-base) var(--ease-base),transform var(--duration-slow) var(--ease-transform)}
html.pt-site-refined :is(a.service-link,a.format-card):is(:hover,:focus-visible) em{color:var(--red)}

/* Use the approved solid red CTA and simple fields for data-driven pages too. */
html.pt-site-refined :is(.contact-modal__submit,.candidate-modal__submit,.apply-modal__submit,.candidate-actions .primary){animation:none!important;background-image:none!important}
html.pt-site-refined :is(.site-consult,main a.primary,main button.primary,.pt-direct-enquiry__action,.pt-publication-filters button){transition:background-color var(--duration-base) var(--ease-base),border-color var(--duration-base) var(--ease-base),transform var(--duration-slow) var(--ease-transform)}
html.pt-site-refined :is(.site-consult,main a.primary,main button.primary,.pt-direct-enquiry__action,.pt-publication-filters button):is(:hover,:focus-visible){background-color:var(--red-hover)!important;border-color:var(--red-hover);color:#fff}
html.pt-site-refined .pt-publication-filters :is(input,select,button){border-radius:0}
html.pt-site-refined .pt-publication-filters :is(input,select){border-color:#c8cfcc;color:var(--ink)}
html.pt-site-refined .pt-publication-filters button{background:var(--red);border-color:var(--red);font-weight:500}
html.pt-site-refined :is(.pt-publication-filters label,.pt-publication-filters a,.pt-content-empty h3,.pt-content-empty p,.pt-content-empty a,.pt-salary-table){color:var(--ink)}
html.pt-site-refined .pt-content-empty{border-radius:0;border-color:#d6dcd8;background:#fcfdfb}
html.pt-site-refined .pt-salary-table thead{background:var(--dark)}
html.pt-site-refined :is(.pt-source-links a,.pt-sources a){color:inherit;text-decoration:underline}
html.pt-site-refined :is(.pt-content-empty a,.pt-publication-filters a,.pt-source-links a,.pt-sources a):is(:hover,:focus-visible){color:var(--red)}
html.pt-site-refined :focus-visible{outline-color:var(--red)!important}

@media(min-width:981px) and (max-width:1200px){
  html.pt-site-refined .site-header{gap:20px!important;padding-inline:28px}
  html.pt-site-refined .site-nav{gap:12px!important;font-size:13px!important}
  html.pt-site-refined .site-brand img{width:168px!important}
  html.pt-site-refined .site-consult{font-size:12px!important;padding-inline:12px!important;gap:14px!important}
  html.pt-site-refined .site-header-actions{gap:12px!important}
  html.pt-site-refined .site-lang{display:none}
  html.pt-site-refined .footer-top{grid-template-columns:1fr;gap:40px}
}
@media(max-width:980px){
  html.pt-site-refined .site-header-actions{grid-column:3;justify-self:end}
  html.pt-site-refined :is(.contact-modal__visual,.candidate-modal__visual,.apply-modal__visual,.download-modal__visual){display:none}
  /* Leave a separate bottom row for the motion control on smaller screens. */
  html.pt-site-refined :is(.dev-hero,.sector-detail-hero,.markets-hero,.country-hero,.about-hero,.contact-hero,.jobs-hero,.insights-hero){height:auto}
  html.pt-site-refined :is(.dev-hero__inner,.sector-detail-hero__inner,.markets-hero__inner,.country-hero__inner,.about-hero__inner,.contact-hero__inner,.jobs-hero__inner,.insights-hero__inner){height:auto;min-height:inherit;padding-bottom:90px}
  html.pt-site-refined :is(.job-hero,.intel-detail-hero){padding-bottom:90px}
}
@media(prefers-reduced-motion:reduce){
  html.pt-site-refined :is(a.service-link,a.format-card,a.archive-row,a.related-row,a.role-card,a.country-sector-row,.contact-routes a.route-card):is(:hover,:focus-visible){transform:none}
}

/* Readability corrections preserve all original design elements. */
html.pt-site-refined :is(.country-service-card a,.service-link em,.contact-routes .route-card em){font-size:14px!important;line-height:1.4!important}
html.pt-site-refined .country-service-card a{display:inline-flex;align-items:center;min-height:44px}
html.pt-site-refined .country-service-card a:is(:hover,:focus-visible){color:var(--red);text-decoration:underline;text-underline-offset:4px}
html.pt-site-refined :is(.subsector-card__foot,.asset-card__foot,.country-next__label){font-size:12px!important;line-height:1.4!important}
@media(max-width:600px){
  html.pt-site-refined :is(.function-row,.country-sector-row,.method-row){padding-block:18px;row-gap:10px}
}
html.pt-site-refined :is(.candidate-modal__intro,.apply-modal__intro,.contact-modal__intro){font-size:14px!important;line-height:1.55!important}
html.pt-site-refined :is(.candidate-path__actions a,.candidate-path__actions button,.job-sidebar button,.job-hero__apply){font-size:14px!important;line-height:1.4!important}
