/* Approved refinements. All section markup, widths, grids, imagery and order
   are inherited unchanged from the original homepage. */
html.pt-home-refined{--editorial:'Space Grotesk',Arial,sans-serif;--ui:'IBM Plex Sans',Arial,sans-serif}
html.pt-home-refined body{-webkit-font-smoothing:antialiased}
/* Give section labels one readable size throughout the shared design system. */
html.pt-home-refined #main-content :is(.section-kicker,.services-premium__kicker,.section-bridge__kicker,.sector-frame__kicker,.candidate-visual__kicker,.candidate-opportunities__kicker,.intel-frame__kicker,.employer-cinematic__kicker,.service-film__eyebrow,.candidate-op-card__eyebrow,.services-hero__kicker,.exec-hero__kicker,.recruit-hero__kicker,.market-hero__kicker,.career-hero__kicker,.sectors-hero__kicker,.dev-hero__kicker,.sector-detail-kicker,.market-kicker,.about-kicker,.contact-kicker,.jobs-hero__kicker,.insights-hero__kicker,.intel-sidebar__kicker,.route-card__label){font-size:.875rem!important}
/* Size the intelligence frame for every topic, not only the active copy. */
html.pt-home-refined .intel-edition-stack{display:grid;min-width:0}
html.pt-home-refined .intel-edition-stack>.intel-frame__edition{grid-area:1/1;min-width:0}
html.pt-home-refined .intel-edition-reserve{visibility:hidden;pointer-events:none;user-select:none}
/* Match the image/copy division to the first three tabs and the fourth tab. */
@media(min-width:1101px){
 html.pt-home-refined #insights-section .intel-frame{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
}
html.pt-home-refined .hero-title{font-weight:400;letter-spacing:-.035em;line-height:1.06}
/* Licensed stock films retain the original hero crop, overlays and controls. */
html.pt-home-refined .hero-slide{filter:brightness(.64) saturate(.82)}
/* Finished city films already share the grade; retain their colour and shadow detail. */
html.pt-home-refined .hero-slide[data-graded="true"]{filter:brightness(.98) saturate(1)}
/* Let the camera provide motion without enlarging and resampling a playing film. */
html.pt-home-refined .hero-slide[data-graded="true"][data-has-video="true"]{animation:none;transform:none}
html.pt-home-refined :is(.services-premium__title,.sector-frame__heading,.candidate-visual__title,.intel-frame__heading,.employer-cinematic__title){font-weight:400;line-height:1.08;letter-spacing:-.028em}
html.pt-home-refined :is(.service-film h3,.candidate-op-card__title){line-height:1.12;letter-spacing:-.025em}
html.pt-home-refined .hero-eyebrow{font-size:12px;line-height:1.45;letter-spacing:.11em;color:rgba(255,255,255,.88)}
html.pt-home-refined .hero-sub{font-size:16px;line-height:1.65;color:rgba(255,255,255,.92);text-wrap:pretty}
html.pt-home-refined .hero-actions{margin-top:25px}
html.pt-home-refined :is(.hero-btn,.consult){font-size:14px!important;letter-spacing:.005em;transition:background-color .25s ease,border-color .25s ease,transform .25s ease}
html.pt-home-refined .hero-btn:not(.primary){border-color:rgba(255,255,255,.48);background-color:rgba(12,18,22,.18);backdrop-filter:blur(4px)}
html.pt-home-refined :is(.hero-btn.primary,.candidate-visual__link.primary){animation:none!important;background-image:none!important}
html.pt-home-refined :is(.hero-btn,.consult,.candidate-visual__link,.employer-cinematic__open) span{display:inline-block;transition:transform .28s cubic-bezier(.22,.68,.2,1)}
html.pt-home-refined :is(.hero-btn,.consult,.candidate-visual__link,.employer-cinematic__open):is(:hover,:focus-visible) span{transform:translateX(3px)}
html.pt-home-refined :is(.services-premium__aside,.candidate-visual__sub,.candidate-opportunities__copy,.intel-frame__strap,.intel-edition__summary,.employer-cinematic__sub){font-size:16px!important;line-height:1.65!important;text-wrap:pretty}
html.pt-home-refined :is(.service-film p,.candidate-op-card__copy){font-size:15px!important;line-height:1.6!important}
html.pt-home-refined :is(.sector-tile__name,.candidate-op-card__cta,.intel-shelf__content strong){font-size:14px!important;line-height:1.4!important}
/* Sector navigation uses the same regular UI font in every page and menu. */
html.pt-home-refined body :is(.sector-tile,.sector-tile__name,.sector-selector>a,.sector-selector>button,.sector-selector__name,.country-sector-row,.country-sector-row strong,.sector-next__link,.sector-frame__link,.sector-stage__link,.pt-mega-link[href^="/sectors/"] .pt-mega-link__copy strong,.pt-mobile-group__links a[href^="/sectors/"]){font-family:var(--ui)!important;font-weight:400;letter-spacing:0}
html.pt-home-refined .service-film{transition:flex .65s cubic-bezier(.22,.68,.2,1),transform .3s ease}
html.pt-home-refined .service-film:is(:hover,:focus-visible){transform:translateY(-2px)}
html.pt-home-refined .service-film__eyebrow{color:rgba(255,255,255,.84)}
html.pt-home-refined .service-film__image{transition:transform 1s cubic-bezier(.22,.68,.2,1),filter .55s ease}
html.pt-home-refined :is(.services-premium__aside a,.sectors-premium__all,.intelligence-premium__all){text-underline-offset:5px;transition:color .2s ease,border-color .2s ease}
html.pt-home-refined :is(.services-premium__aside a,.sectors-premium__all,.intelligence-premium__all):is(:hover,:focus-visible){color:var(--red);border-color:var(--red)}
/* Keep the existing slide/media transforms and gradients intact. */
html.pt-home-refined .hero-media{transform:translate3d(var(--pt-cursor-x,0px),var(--pt-cursor-y,0px),0);inset:-8px}
.pt-home-light{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse 500px 380px at var(--pt-light-x,50%) var(--pt-light-y,40%),rgba(215,235,250,.16),transparent 76%);opacity:0;transition:opacity .55s ease;mix-blend-mode:screen}
html.pt-home-refined .pt-home-light{opacity:var(--pt-light-opacity,0)}
/* Separate slide selection from the pause control, with real hit areas. */
html.pt-home-refined .hero-index{bottom:24px;right:170px;gap:0}
html.pt-home-refined .hero-index button{position:relative;width:30px;height:44px;background:transparent;border-radius:0}
html.pt-home-refined .hero-index button::after{content:'';position:absolute;width:5px;height:5px;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.65);transition:width .25s ease,background-color .25s ease}
html.pt-home-refined .hero-index button.active::after{background:var(--red);width:17px;border-radius:3px}
html.pt-home-refined.pt-home-paused .hero-slide{animation-play-state:paused!important}
html.pt-home-refined.pt-home-paused .hero-media{transform:none}
html.pt-home-refined.pt-home-paused .pt-home-light{opacity:0}
/* Comparison controls belong only to this temporary test, outside the website. */
.pt-compare{position:fixed;z-index:1700;top:104px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;padding:7px 8px 7px 15px;background:rgba(18,22,25,.94);color:#fff;border:1px solid #ffffff40;box-shadow:0 4px 22px #0002;backdrop-filter:blur(14px);font:400 12px/1.3 Arial,sans-serif;white-space:nowrap;max-width:calc(100vw - 24px)}
.pt-compare__label{color:#e4e8eb}.pt-compare__choices{display:flex;gap:2px}.pt-compare button{font:400 13px/1.3 Arial,sans-serif;min-height:38px;border:0;cursor:pointer;padding:8px 13px;color:#e1e5e7;background:transparent}
.pt-compare button[aria-pressed=true]{background:#fff;color:#181b1e}.pt-compare button:hover{background:#ffffff20;color:white}.pt-compare button[aria-pressed=true]:hover{background:#e9ecef;color:#181b1e}
.pt-compare .pt-compare__collapse{font-size:19px;padding:6px 9px;min-width:34px}.pt-compare.is-collapsed .pt-compare__choices{display:none}.pt-compare__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:981px) and (max-width:1150px){html.pt-home-refined :is(.nav,.site-nav){gap:17px!important;font-size:14px!important}html.pt-home-refined .consult{min-width:176px;font-size:13px!important}}
@media(max-width:980px){.pt-compare{top:86px}html.pt-home-refined .hero-title{line-height:1.05}html.pt-home-refined .hero-media{inset:0;transform:none}html.pt-home-refined .hero-index{right:auto;left:18px;bottom:20px}}
@media(max-width:560px){html.pt-home-refined .hero-message{bottom:92px}html.pt-home-refined .hero-sub{font-size:16px;line-height:1.55}html.pt-home-refined .hero-eyebrow{font-size:11px;line-height:1.45;max-width:320px;margin-left:auto;margin-right:auto}html.pt-home-refined .hero-title{font-size:41px;line-height:1.08}html.pt-home-refined .hero-actions{margin-top:22px}html.pt-home-refined .hero{min-height:780px}.pt-compare{gap:6px;padding-left:11px}.pt-compare button{padding-left:11px;padding-right:11px}html.pt-home-test .pt-development-badge{max-width:calc(100vw - 24px);font-size:10px;padding:5px 8px;bottom:0;left:0}}
@media(prefers-reduced-motion:reduce){html.pt-home-refined .hero-message{transform:translate(-50%,0)!important}html.pt-home-refined .hero-media{transform:none}.pt-home-light{display:none}html.pt-home-refined .hero-slide{animation:none!important}html.pt-home-refined *{scroll-behavior:auto!important}}

/* Refined+ is a second, reversible layer. Refined v1 above is unchanged. */
.pt-compare.is-below-hero{top:auto;bottom:12px;left:auto;right:12px;transform:none}
html.pt-home-plus .city-track__label{color:rgba(255,255,255,.85)}
html.pt-home-plus .city-item.revealed{opacity:.55!important;color:rgba(255,255,255,.72)!important}
html.pt-home-plus .city-item.current{opacity:1!important;color:#fff!important}
html.pt-home-plus .service-film{isolation:isolate}
html.pt-home-plus .service-film::after{content:'';position:absolute;z-index:3;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.22,.68,.2,1);pointer-events:none}
html.pt-home-plus .service-film:is(.active,:focus-visible)::after{transform:scaleX(1)}
html.pt-home-plus .service-film__shade{background:linear-gradient(180deg,rgba(7,10,13,.03),rgba(7,10,13,.13) 38%,rgba(7,10,13,.88) 100%),linear-gradient(90deg,rgba(7,10,13,.14),transparent 70%)}
html.pt-home-plus .service-film__eyebrow{letter-spacing:.11em}
html.pt-home-plus .service-film__cta{opacity:.82;transition:opacity .25s ease}
html.pt-home-plus .service-film__cta>span{display:inline-block;transition:transform .28s ease}
html.pt-home-plus .service-film:is(.active,:focus-visible) .service-film__cta{opacity:1}
html.pt-home-plus .service-film:is(.active,:focus-visible) .service-film__cta>span{transform:translateX(4px)}
html.pt-home-plus .service-film p{color:rgba(255,255,255,.9)}
html.pt-home-plus .service-film:is(.active,:focus-visible) p{max-height:180px;opacity:1;transform:none}
html.pt-home-plus :is(.sector-tile,.intel-shelf__item){transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;color:#41494e}
html.pt-home-plus :is(.sector-tile,.intel-shelf__item):is(:hover,:focus-visible,.active){background:#e9edeb;color:#12181b}
html.pt-home-plus :is(.sector-tile,.intel-shelf__item):is(:focus-visible,.active){box-shadow:inset 0 -2px 0 var(--red)}
html.pt-home-plus :is(.sector-tile__num,.intel-shelf__num){color:#717b80}
html.pt-home-plus :is(.sector-tile,.intel-shelf__item):is(:focus-visible,.active) :is(.sector-tile__num,.sector-tile__arrow,.intel-shelf__num,.intel-shelf__arrow){color:var(--red)}
html.pt-home-plus :is(.sector-tile,.intel-shelf__item):focus-visible :is(.sector-tile__arrow,.intel-shelf__arrow){transform:translateX(3px)}
html.pt-home-plus .intel-shelf__type{color:#697277}
/* Four clear candidate routes, with room for a title and one useful sentence. */
html.pt-home-plus .candidate-opportunities{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:clamp(28px,4vw,58px)}
html.pt-home-plus .candidate-opportunities__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:18px}
html.pt-home-plus .candidate-op-card{min-width:0;grid-column:auto;min-height:260px;padding:26px;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;background:#fcfdfb;border:1px solid #d6dcd8;box-shadow:none;transition:border-color .3s ease,background-color .3s ease,transform .3s ease,box-shadow .3s ease}
html.pt-home-plus .candidate-op-card__title{margin:0;font-size:clamp(24px,2.05vw,29px);line-height:1.14;max-width:18ch}
html.pt-home-plus .candidate-op-card__copy{margin:0;max-width:34ch}
html.pt-home-plus .candidate-op-card__cta{margin:4px 0 0;padding-top:14px;border-top:1px solid #dfe3df;display:flex;justify-content:space-between;gap:16px;color:#1e2225;align-self:end}
html.pt-home-plus .candidate-op-card__cta span:last-child{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #cdd4ce;border-radius:50%;color:#414b50;transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .35s ease}
@media(max-width:980px){html.pt-home-plus .candidate-opportunities{grid-template-columns:1fr}}
@media(max-width:640px){html.pt-home-plus .candidate-opportunities__grid{grid-template-columns:minmax(0,1fr);gap:14px}html.pt-home-plus .candidate-op-card{min-height:240px;padding:24px;gap:12px}}
html.pt-home-plus .candidate-op-card:is(:hover,:focus-visible){background:#f2f5f1;transform:translateY(-2px);border-color:#bac7be;box-shadow:inset 3px 0 0 var(--red)}
html.pt-home-plus .candidate-op-card__eyebrow{color:#626d73;letter-spacing:.08em}
html.pt-home-plus .candidate-op-card:is(:hover,:focus-visible) .candidate-op-card__cta{color:var(--red)}
html.pt-home-plus .candidate-op-card:is(:hover,:focus-visible) .candidate-op-card__cta span:last-child{transform:translateX(3px);background:var(--red);border-color:var(--red);color:#fff}
/* A branded divider gives the transition a purpose without another content block. */
.pt-intelligence-bridge__inner{display:none}
html.pt-home-refined .editorial-breath.pt-intelligence-bridge{height:auto!important;padding:28px var(--pad);background:#f7f7f4}
html.pt-home-refined .pt-intelligence-bridge__inner{display:flex;align-items:center;gap:26px;max-width:var(--content-max);margin:0 auto;color:#586168;font:400 13px/1.5 var(--ui);letter-spacing:.08em;text-transform:uppercase}
html.pt-home-refined .pt-intelligence-bridge__rule{height:1px;flex:1;min-width:24px;background:linear-gradient(90deg,var(--red) 0 48px,#cdd3ce 48px 100%)}
@media(max-width:640px){html.pt-home-refined .pt-intelligence-bridge__inner{flex-wrap:wrap;gap:14px;font-size:12px}html.pt-home-refined .pt-intelligence-bridge__inner>span:first-child{flex-basis:100%}html.pt-home-refined .editorial-breath.pt-intelligence-bridge{padding:24px 22px}}
@media(hover:hover) and (pointer:fine) and (min-width:981px){html.pt-home-plus .service-film:not(.active) .service-film__image{filter:saturate(.7) brightness(.88)}html.pt-home-plus .service-film.active .service-film__image{filter:saturate(.97) contrast(1.035)}}
@media(max-width:560px){.pt-compare:not(.is-collapsed) .pt-compare__label{display:none}.pt-compare{gap:4px;padding-left:7px}.pt-compare button{padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){html.pt-home-plus .candidate-op-card:is(:hover,:focus-visible){transform:none}html.pt-home-plus .service-film:is(:hover,:focus-visible){transform:none}}

/* Homepage navigation trial: preserve the header layout and connected menus. */
html.pt-home-refined{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px)}
html.pt-home-refined :is(.header,.site-header){position:fixed;z-index:2000;background:transparent;transition:opacity .52s ease}
/* A separate glass layer lets the original logo and menus stay crisp. */
html.pt-home-refined :is(.header,.site-header)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(11,15,18,.62);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);box-shadow:0 1px 0 rgba(255,255,255,.12),0 6px 20px rgba(0,0,0,.06);opacity:var(--pt-header-progress,0);transition:opacity var(--duration-base,.3s) ease-in-out}
html.pt-home-refined .pt-mega-link__copy small{color:rgba(255,255,255,.72)}
html.pt-home-refined :is(.nav,.site-nav) a[data-mega]{padding-right:17px}
html.pt-home-refined :is(.nav,.site-nav) a[data-mega]::before{content:'';position:absolute;right:1px;top:calc(50% - 4px);width:5px;height:5px;border-right:1.25px solid currentColor;border-bottom:1.25px solid currentColor;transform:rotate(45deg);opacity:.72;transition:transform .24s ease,opacity .24s ease}
html.pt-home-refined :is(.nav,.site-nav) a[data-mega][aria-expanded=true]::before{transform:translateY(3px) rotate(225deg);opacity:1}
html.pt-home-refined .pt-mega-nav{transform:translateY(-6px);transition:opacity .24s ease,transform .32s cubic-bezier(.22,.78,.2,1),visibility 0s linear .32s}
html.pt-home-refined .pt-mega-nav.is-open{transform:translateY(0);transition:opacity .24s ease,transform .32s cubic-bezier(.22,.78,.2,1),visibility 0s}
html.pt-home-refined .pt-mega-nav__surface{max-height:calc(100dvh - var(--pt-mega-top) - 20px);overflow-y:auto;overscroll-behavior:contain;transition:opacity .14s ease,transform .2s cubic-bezier(.22,.78,.2,1)}
html.pt-home-refined.pt-home-paused{scroll-behavior:auto}
html.pt-home-refined.pt-home-paused :is(.header,.site-header,.pt-mega-nav,.pt-mega-nav__surface),html.pt-home-refined.pt-home-paused :is(.nav,.site-nav) a[data-mega]::before{transition:none}
@media(prefers-reduced-motion:reduce){html.pt-home-refined{scroll-behavior:auto!important}html.pt-home-refined :is(.header,.site-header,.pt-mega-nav,.pt-mega-nav__surface),html.pt-home-refined :is(.nav,.site-nav) a[data-mega]::before{transition:none!important}}

/* Motion values supplied for this homepage pass. "all" is the general
   transition-property setting; "none" is used by pause/reduced-motion states. */
html.pt-home-test{
  --duration-fast:.2s;
  --duration-base:.3s;
  --duration-slow:.35s;
  --ease-base:ease-in-out;
  --ease-transform:cubic-bezier(0.77, 0, 0.175, 1);
  --motion-properties:all;
}
/* Complete visual units enter together. No layout or internal media transforms
   are changed; hover/focus remains free to use the existing transform property. */
html.pt-home-plus .pt-scroll-unit{transform-origin:50% 60%}
html.pt-home-plus .pt-scroll-unit.pt-scroll-pending{opacity:0;translate:0 44px}
html.pt-home-plus .pt-scroll-unit[data-motion-kind=copy].pt-scroll-pending{translate:0 24px}
html.pt-home-plus .pt-scroll-unit[data-motion-kind=panel].pt-scroll-pending{scale:.975}
html.pt-home-plus .pt-scroll-unit[data-motion-kind=card].pt-scroll-pending{scale:.985}
/* Match the same timing across already-approved interactions. */
html.pt-home-refined :is(.hero-btn,.consult,.candidate-visual__link,.employer-cinematic__open){transition-property:var(--motion-properties);transition-duration:var(--duration-base);transition-timing-function:var(--ease-base)}
html.pt-home-refined :is(.hero-btn,.consult,.candidate-visual__link,.employer-cinematic__open) span,
html.pt-home-plus :is(.service-film__cta>span,.candidate-op-card__cta span:last-child,.sector-tile__arrow,.intel-shelf__arrow){transition:transform var(--duration-slow) var(--ease-transform),color var(--duration-base) var(--ease-base)}
html.pt-home-plus .candidate-op-card__cta span:last-child{transition:transform var(--duration-slow) var(--ease-transform),color var(--duration-base) var(--ease-base),background-color var(--duration-base) var(--ease-base),border-color var(--duration-base) var(--ease-base)}
html.pt-home-refined .service-film{transition:flex var(--duration-slow) var(--ease-transform),transform var(--duration-slow) var(--ease-transform)}
html.pt-home-refined .service-film__image{transition:transform var(--duration-slow) var(--ease-transform),filter var(--duration-base) var(--ease-base)}
html.pt-home-plus .service-film::after{transition:transform var(--duration-slow) var(--ease-transform)}
html.pt-home-plus .service-film p{transition:opacity var(--duration-base) var(--ease-base),max-height var(--duration-base) var(--ease-base),transform var(--duration-slow) var(--ease-transform)}
html.pt-home-plus .service-film__cta{transition:opacity var(--duration-base) var(--ease-base)}
html.pt-home-plus :is(.sector-tile,.intel-shelf__item){transition:background-color var(--duration-base) var(--ease-base),color var(--duration-base) var(--ease-base),box-shadow var(--duration-base) var(--ease-base)}
html.pt-home-plus .candidate-op-card{transition:border-color var(--duration-base) var(--ease-base),background-color var(--duration-base) var(--ease-base),transform var(--duration-slow) var(--ease-transform),box-shadow var(--duration-base) var(--ease-base)}
html.pt-home-refined :is(.services-premium__aside a,.sectors-premium__all,.intelligence-premium__all){transition:text-decoration-color var(--duration-fast) ease-in-out,color var(--duration-base) var(--ease-base),border-color var(--duration-base) var(--ease-base)}
html.pt-home-refined :is(.services-premium__aside a,.sectors-premium__all,.intelligence-premium__all):is(:hover,:focus-visible){text-decoration-color:currentColor}
html.pt-home-refined :is(.nav,.site-nav) a[data-mega]::before{transition:transform var(--duration-slow) var(--ease-transform),opacity var(--duration-base) var(--ease-base)}
html.pt-home-refined .pt-mega-nav{transition:opacity var(--duration-base) var(--ease-base),transform var(--duration-slow) var(--ease-transform),visibility 0s linear var(--duration-slow)}
html.pt-home-refined .pt-mega-nav.is-open{transition:opacity var(--duration-base) var(--ease-base),transform var(--duration-slow) var(--ease-transform),visibility 0s}
html.pt-home-refined .pt-mega-nav__surface{transition:opacity var(--duration-fast) var(--ease-base),transform var(--duration-slow) var(--ease-transform)}
@media(max-width:980px){html.pt-home-plus .pt-scroll-unit.pt-scroll-pending{translate:0 24px}}
html.pt-home-refined.pt-home-paused{--motion-properties:none}
html.pt-home-refined.pt-home-paused *,html.pt-home-refined.pt-home-paused *::before,html.pt-home-refined.pt-home-paused *::after{transition:none!important}
html.pt-home-plus.pt-home-paused .pt-scroll-unit{opacity:1!important;translate:none!important;scale:none!important}
@media(prefers-reduced-motion:reduce){
  html.pt-home-refined{--motion-properties:none}
  html.pt-home-refined *,html.pt-home-refined *::before,html.pt-home-refined *::after{transition:none!important}
  html.pt-home-plus .pt-scroll-unit{opacity:1!important;translate:none!important;scale:none!important}
}

.city-picker{display:none}
/* Every market is a real, selectable city film. Keep the right-hand rail compact. */
html.pt-home-refined .city-track{display:block;pointer-events:auto;right:var(--pad);top:calc(var(--header-h) + 24px);width:170px}
html.pt-home-refined .city-track__label{font-size:12px;line-height:1.3;margin-bottom:12px;letter-spacing:.08em}
html.pt-home-refined .city-list{gap:0;align-items:stretch}
html.pt-home-refined .city-item{min-height:40px;width:100%;padding:5px 8px;gap:10px;border:0;border-left:1px solid #ffffff30;background:transparent;text-align:left;cursor:pointer;font:400 14px/1.2 var(--ui);opacity:1!important;color:#ffffffbd!important;transform:none!important;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
html.pt-home-refined .city-item__copy{display:flex;flex-direction:column;width:100%;gap:2px}
html.pt-home-refined .city-item__copy small{display:block;font:400 12px/1.2 var(--ui);color:#ffffff8c}
html.pt-home-refined .city-item .dot{flex:0 0 5px;background:#ffffff60}
html.pt-home-refined .city-item:is(:hover,:focus-visible){background:#ffffff12;color:#fff!important}
html.pt-home-refined .city-item.current{border-left-color:var(--red);background:#ffffff0c;color:#fff!important}
html.pt-home-refined .city-item.current .dot{background:var(--red)}
html.pt-home-refined .city-item:focus-visible{outline:1px solid #fff;outline-offset:2px}
@media(min-width:981px){html.pt-home-refined .hero-message{left:50%;width:min(920px,calc(100% - 440px))}html.pt-home-refined .hero-index{right:185px;bottom:20px}html.pt-home-refined .hero-index button{width:24px}}
@media(max-width:980px){html.pt-home-refined .hero{min-height:780px}html.pt-home-refined .city-track{top:calc(var(--header-h) + 24px);left:auto;right:var(--pad);width:min(280px,calc(100% - 44px))}html.pt-home-refined .city-list{display:none}html.pt-home-refined .city-picker{display:block;appearance:auto;width:100%;min-height:46px;border:1px solid #ffffff50;border-radius:0;padding:10px 12px;font:400 14px/1.3 var(--ui);color:#fff;background:#101820a8;backdrop-filter:blur(10px)}html.pt-home-refined .city-picker option{background:#12191f;color:#fff}html.pt-home-refined .hero-message{bottom:130px}html.pt-home-refined .hero-index{left:22px;bottom:70px;right:auto}html.pt-home-refined .hero-index button{width:27px}html.pt-home-refined .hero-note{bottom:32px;font-size:10px}}
@media(max-width:560px){html.pt-home-refined .hero-title{font-size:38px}html.pt-home-refined .hero-message{bottom:126px}html.pt-home-refined .hero-index button{width:25px}}
html.pt-home-refined .hero-note{display:flex;align-items:center;gap:18px;bottom:35px}
html.pt-home-refined .hero-note a{font:400 12px/1.4 var(--ui);letter-spacing:0;text-transform:none;color:#ffffffa8;text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){html.pt-home-refined .hero-note{bottom:32px}}
@media(max-width:560px){html.pt-home-refined .hero-note>span{display:none}}
/* Keep white copy readable over bright daytime city footage. */
html.pt-home-refined .hero-media::before{background:linear-gradient(180deg,rgba(8,12,16,.28),rgba(8,12,16,.08) 28%,rgba(8,12,16,.5) 59%,rgba(8,12,16,.7) 100%),linear-gradient(90deg,transparent 60%,rgba(8,12,16,.42) 100%)}

/* Centre the complete hero composition and keep white lettering crisp over film. */
html.pt-home-refined :is(.hero-eyebrow,.hero-title,.hero-sub,.hero-btn){
  color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2),0 0 1px rgba(255,255,255,.1);
}
html.pt-home-refined :is(.header,.site-header) :is(.nav>a,.site-nav>a,.lang,.site-lang,.pt-language-trigger,.consult,.site-consult){
  color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2),0 0 1px rgba(255,255,255,.1);
}
/* A modestly roomier shared top navigation, with compact laptop sizing. */
@media(min-width:981px){
  html.pt-home-refined :is(.header,.site-header)>:is(.nav,.site-nav){gap:clamp(24px,2.25vw,46px)!important;font-size:16px!important;font-weight:500;line-height:1.2}
  html.pt-home-refined :is(.header,.site-header)>:is(.nav,.site-nav)>a{display:inline-flex;align-items:center;min-height:48px;padding-block:15px}
  html.pt-home-refined :is(.header,.site-header) :is(.consult,.site-consult){min-height:50px;font-size:15px!important;font-weight:500;padding-block:15px!important}
}
@media(min-width:981px) and (max-width:1320px){
  html.pt-home-refined :is(.header,.site-header)>:is(.nav,.site-nav){gap:18px!important;font-size:15px!important}
  html.pt-home-refined :is(.header,.site-header) :is(.consult,.site-consult){font-size:13px!important;padding-block:13px!important;min-height:46px}
}
@media(min-width:981px) and (max-width:1150px){
  html.pt-home-refined :is(.header,.site-header){padding-inline:28px;gap:18px!important}
  html.pt-home-refined :is(.header,.site-header)>:is(.nav,.site-nav){gap:14px!important;font-size:14px!important}
  html.pt-home-refined :is(.header,.site-header) :is(.lang,.site-lang){display:none}
}

/* Phone homepage (max-width:560px): hero without the market selector or film credits,
   a stacked Sectors layout and a condensed Market Intelligence. Tablet and desktop are
   untouched; every rule is scoped to the refined homepage so other routes never match. */
@media (max-width:560px){
html.pt-home-refined .hero{min-height:560px}
html.pt-home-refined .city-track{display:none}
html.pt-home-refined .hero-note{display:none}
html.pt-home-refined .hero-index{bottom:14px}
html.pt-home-refined .hero-message{bottom:76px}

html.pt-home-refined #sectors-section{padding:44px 20px 40px}
html.pt-home-refined #sectors-section .sector-frame__media{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 212px auto auto;min-height:0;background:transparent;overflow:hidden}
html.pt-home-refined #sectors-section .sector-frame__content{display:contents}
html.pt-home-refined #sectors-section .sector-frame__veil{display:none}
html.pt-home-refined #sectors-section .sector-frame__kicker{grid-column:1;grid-row:1;margin:0}
html.pt-home-refined #sectors-section .sector-frame__heading{grid-column:1;grid-row:2;margin:10px 0 20px;max-width:none;font-size:32px;line-height:1.08;color:#151719;text-shadow:none}
html.pt-home-refined #sectors-section .sector-frame__image{position:relative;inset:auto;grid-column:1;grid-row:3;width:100%;height:212px;transform:none}
html.pt-home-refined #sectors-section .sector-frame__active{grid-column:1;grid-row:4;max-width:none;margin:0;padding-top:18px;gap:14px;align-items:start}
html.pt-home-refined #sectors-section .sector-frame__count{padding-top:7px}
html.pt-home-refined #sectors-section .sector-frame__name{font-size:26px;line-height:1.1;color:#151719}
html.pt-home-refined #sectors-section .sector-frame__meta{margin-top:8px;color:#4f565b}
html.pt-home-refined #sectors-section .sector-frame__link{position:relative;grid-column:1;grid-row:5;justify-self:start;margin-top:16px;color:#151719;border-bottom-color:#151719}
html.pt-home-refined #sectors-section .sector-frame__link::after{content:'';position:absolute;inset:-14px -8px}
html.pt-home-refined #sectors-section .sector-tile-grid{margin-top:28px}
html.pt-home-refined #sectors-section .sector-tile{min-height:54px}

html.pt-home-refined #insights-section{padding:44px 20px 40px}
html.pt-home-refined #insights-section .intelligence-premium__inner{display:grid;grid-template-columns:minmax(0,1fr)}
html.pt-home-refined #insights-section :is(.intel-frame,.intel-frame__visual){display:contents}
html.pt-home-refined #insights-section .intel-frame__shade{display:none}
html.pt-home-refined #insights-section .intel-frame__visual-copy{position:static;grid-column:1;grid-row:1;max-width:none;margin:0 0 20px;color:#151719}
html.pt-home-refined #insights-section .intel-frame__kicker{margin:0 0 8px}
html.pt-home-refined #insights-section .intel-frame__heading{font-size:32px;line-height:1.08;color:#151719;text-shadow:none}
html.pt-home-refined #insights-section .intel-frame__strap{margin:10px 0 0;max-width:none;color:#4f565b}
html.pt-home-refined #insights-section .intel-shelf{grid-column:1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}
html.pt-home-refined #insights-section .intel-shelf__item{min-height:76px;padding:12px;gap:8px;grid-template-columns:22px minmax(0,1fr)}
html.pt-home-refined #insights-section :is(.intel-shelf__type,.intel-shelf__arrow){display:none}
html.pt-home-refined #insights-section .intel-shelf__content strong{min-height:0;-webkit-line-clamp:4;line-clamp:4}
html.pt-home-refined #insights-section .intel-frame__image{position:relative;grid-column:1;grid-row:3;height:196px!important}
html.pt-home-refined #insights-section .intel-edition-stack{grid-column:1;grid-row:4}
html.pt-home-refined #insights-section .intel-frame__edition{padding:18px 18px 20px;border-top:0;border-left:0}
html.pt-home-refined #insights-section .intel-edition__top{padding-bottom:12px}
html.pt-home-refined #insights-section .intel-edition__body{padding:16px 0}
html.pt-home-refined #insights-section .intel-edition__title{font-size:25px;line-height:1.1}
html.pt-home-refined #insights-section .intel-edition__summary{margin-top:12px}
html.pt-home-refined #insights-section .intel-edition__foot{padding-top:14px}
html.pt-home-refined #insights-section .intel-edition__meta{margin-bottom:12px}
html.pt-home-refined #insights-section .intel-edition__cta{position:relative}
html.pt-home-refined #insights-section .intel-edition__cta::after{content:'';position:absolute;inset:-14px -8px}
html.pt-home-refined #insights-section .intelligence-premium__foot{grid-column:1;grid-row:5;margin-top:16px}
}
