/* All visual values resolve from the shared DTCG token file. Layout fractions and media query breakpoints are structural. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--semantic-surface-page);color:var(--semantic-text-primary);font-family:var(--semantic-font-family);font-size:var(--semantic-font-body);line-height:var(--semantic-font-bodyLeading)}
img,svg{max-inline-size:100%}a{color:inherit;text-decoration-thickness:var(--semantic-size-hairline);text-underline-offset:var(--primitive-space-xs)}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:var(--semantic-opacity-disabled)}
.ui-icon{inline-size:var(--semantic-space-group);block-size:var(--semantic-space-group);vertical-align:middle;flex-shrink:0}
a,button,summary{transition:background var(--semantic-motion-fast),color var(--semantic-motion-fast),transform var(--semantic-motion-fast)}a:hover{color:var(--semantic-action-focus)}a:active,button:active{transform:translateY(var(--semantic-size-hairline))}:focus-visible{outline:var(--semantic-size-focus) solid var(--semantic-action-focus);outline-offset:var(--primitive-space-xs)}
h1,h2,h3,p{margin-block-start:0}h1,h2,h3{font-weight:var(--semantic-font-strong);line-height:var(--semantic-font-headingLeading)}h1{font-size:var(--semantic-font-display);letter-spacing:var(--semantic-font-tracking);max-inline-size:var(--semantic-size-headingMeasure);margin-block-end:var(--semantic-space-group);overflow-wrap:normal;text-wrap:balance}h2{font-size:var(--semantic-font-heading);letter-spacing:var(--semantic-font-tracking);max-inline-size:var(--semantic-size-headingMeasure);margin-block-end:var(--semantic-space-block);text-wrap:balance}h3{font-size:var(--semantic-font-lead);margin-block-end:var(--semantic-space-inline)}p{max-inline-size:var(--semantic-size-bodyMeasure);margin-block-end:var(--semantic-space-group)}
.wrap{max-inline-size:var(--semantic-size-container);margin-inline:auto;padding-inline:var(--semantic-size-gutter)}.section{padding-block:var(--semantic-space-section)}.lead{font-size:var(--semantic-font-lead);max-inline-size:var(--semantic-size-leadMeasure)}.intro{color:var(--semantic-text-muted);margin-block-end:var(--semantic-space-block)}.eyebrow{font-size:var(--semantic-font-small);font-weight:var(--semantic-font-strong);margin-block-end:var(--semantic-space-group)}html[lang=en] .eyebrow{text-transform:uppercase;letter-spacing:var(--semantic-font-labelTracking)}
.skip-link{position:fixed;inset-block-start:0;inset-inline-start:var(--semantic-size-gutter);z-index:100;background:var(--semantic-surface-accent);padding:var(--semantic-space-group);transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{background:var(--semantic-surface-page);position:relative;z-index:20}.header-inner{display:flex;align-items:center;gap:var(--semantic-space-inline);min-block-size:var(--component-header-height);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:var(--semantic-space-inline);text-decoration:none;margin-inline-end:auto}.brand-mark{background:var(--semantic-surface-inverse);color:var(--semantic-text-inverse);font-size:var(--component-header-brandSize);font-weight:var(--semantic-font-bold);line-height:1;letter-spacing:var(--semantic-font-tracking);padding:var(--primitive-space-xs);border-radius:var(--semantic-radius-control)}.brand-mark span{color:var(--semantic-text-accent);font-size:var(--semantic-font-lead)}.brand-name{font-size:var(--component-header-brandText);font-weight:var(--semantic-font-bold);line-height:1.2}.brand-name small{font-size:var(--semantic-font-small)}.main-nav{display:none;order:4;inline-size:100%;padding-block:var(--semantic-space-group)}.main-nav.open{display:flex;flex-direction:column;gap:var(--semantic-space-inline)}.main-nav a{font-size:var(--component-header-navSize);font-weight:var(--semantic-font-strong);text-decoration:none;padding-block:var(--semantic-space-inline)}.main-nav a[aria-current]{text-decoration:underline}.header-tools{display:flex;align-items:center;gap:var(--semantic-space-group)}.header-cta{display:none!important}.menu-toggle{display:flex;align-items:center;gap:var(--primitive-space-xs);background:none;border:none;padding:var(--semantic-space-inline);min-block-size:var(--semantic-size-target);font-size:var(--semantic-font-small)}
.language-picker{position:relative}.language-picker summary{list-style:none;display:flex;align-items:center;gap:var(--primitive-space-xs);min-block-size:var(--semantic-size-target);padding:var(--primitive-space-xs);cursor:pointer;font-size:var(--semantic-font-small)}.language-picker summary::-webkit-details-marker{display:none}.language-options{position:absolute;inset-inline-end:0;inset-block-start:100%;display:flex;flex-direction:column;min-inline-size:11rem;padding:var(--semantic-space-inline);background:var(--semantic-surface-page);border:var(--semantic-size-hairline) solid var(--semantic-border-default);border-radius:var(--semantic-radius-control);box-shadow:var(--semantic-shadow-overlay);z-index:30}.language-options a{padding:var(--semantic-space-inline);text-decoration:none;min-block-size:var(--semantic-size-target)}.language-options a[aria-current]{background:var(--semantic-surface-panel)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--component-button-gap);background:var(--semantic-action-primary);color:var(--semantic-action-onPrimary);border:var(--semantic-size-hairline) solid var(--semantic-action-primary);border-radius:var(--semantic-radius-control);padding-block:var(--component-button-paddingBlock);padding-inline:var(--component-button-paddingInline);text-decoration:none;min-block-size:var(--semantic-size-target);font-size:var(--semantic-font-body);font-weight:var(--semantic-font-strong);line-height:1.2}.button:hover{background:var(--semantic-action-hover);color:var(--semantic-action-onPrimary)}.button.secondary{background:transparent;color:var(--semantic-text-primary);border-color:var(--semantic-border-default)}.button.secondary:hover{background:var(--semantic-surface-panel);color:var(--semantic-text-primary)}.actions{display:flex;gap:var(--semantic-space-inline);flex-wrap:wrap;margin-block-start:var(--semantic-space-block)}.arrow{font-size:var(--semantic-font-lead)}html[dir=rtl] .arrow{transform:scaleX(-1)}
.hero{padding-block:var(--component-hero-top) var(--semantic-space-section);background:var(--semantic-surface-page)}.hero-grid{display:grid;gap:var(--semantic-space-block)}.hero .lead{color:var(--semantic-text-muted)}.talent-map{display:none;position:relative;block-size:var(--component-map-height);background:var(--semantic-surface-panel);border-radius:var(--semantic-radius-panel);overflow:hidden}.talent-map svg{position:absolute;inset:0;inline-size:100%;block-size:100%;fill:none;stroke:var(--semantic-border-default);stroke-width:1}.map-label{position:absolute;inset-block-start:var(--semantic-space-group);inset-inline-start:var(--semantic-space-group);font-size:var(--semantic-font-small);font-weight:var(--semantic-font-bold)}.map-core{position:absolute;inset-block-start:var(--component-map-coreInset);inset-inline-start:var(--component-map-coreInset);inline-size:var(--component-map-coreWidth);font-size:var(--component-map-coreSize);line-height:1.08;font-weight:var(--semantic-font-strong);background:var(--semantic-surface-inverse);color:var(--semantic-text-inverse);border-radius:var(--semantic-radius-panel);padding:var(--semantic-space-group);z-index:2}.map-core span{color:var(--semantic-text-accent)}.map-role{position:absolute;background:var(--semantic-surface-page);padding:var(--semantic-space-inline);font-size:var(--component-map-roleSize);font-weight:var(--semantic-font-strong);z-index:3;border:var(--semantic-size-hairline) solid var(--semantic-border-default);border-radius:var(--semantic-radius-control)}.role-1{inset-block-start:15%;inset-inline-start:10%}.role-2{inset-block-start:27%;inset-inline-end:3%}.role-3{inset-block-end:21%;inset-inline-start:3%}.role-4{inset-block-end:19%;inset-inline-end:6%}.map-foot{position:absolute;inset-block-end:var(--semantic-space-group);inset-inline:var(--semantic-space-group);font-size:var(--semantic-font-small);color:var(--semantic-text-muted)}
.expertise-list{display:grid;gap:var(--semantic-space-group)}.expertise-list a{display:flex;justify-content:space-between;gap:var(--semantic-space-group);padding:var(--semantic-space-card);background:var(--semantic-surface-panel);text-decoration:none;border-radius:var(--semantic-radius-control)}.expertise-list h3{font-size:var(--semantic-font-heading)}.expertise-list p{margin:0}.expertise-list a:hover{background:var(--semantic-surface-accent);color:var(--semantic-text-primary)}.expertise-list a>span{font-size:var(--semantic-font-heading)}
.dark{background:var(--semantic-surface-inverse);color:var(--semantic-text-inverse)}.dark .button{background:var(--semantic-action-inverse);color:var(--semantic-text-primary);border-color:var(--semantic-action-inverse)}.dark p{color:var(--semantic-text-inverseMuted)}.dark :focus-visible{outline-color:var(--semantic-text-accent)}.sector-list{display:grid;gap:var(--semantic-space-inline)}.sector-list a{display:grid;grid-template-columns:1fr auto;gap:var(--semantic-space-inline);padding:var(--semantic-space-card);background:var(--semantic-surface-panel);border-radius:var(--semantic-radius-control);text-decoration:none}.sector-list a h3{grid-column:1;line-height:1.3}.sector-list a p{grid-column:1;margin:0;color:var(--semantic-text-muted)}.sector-list a>span{grid-column:2;grid-row:1/3;font-size:var(--semantic-font-heading)}.sector-list a:hover{background:var(--semantic-surface-accent);color:var(--semantic-text-primary)}.quiet-callout{margin-block-start:var(--semantic-space-block);display:grid;gap:var(--semantic-space-inline)}.quiet-callout .button{justify-self:start}
.case-feature{display:grid;gap:var(--semantic-space-block);background:var(--semantic-surface-inverse);color:var(--semantic-text-inverse);border-radius:var(--semantic-radius-panel);padding:var(--semantic-space-card)}.case-metric{display:flex;align-items:baseline;gap:var(--semantic-space-group)}.case-metric strong{font-size:var(--semantic-font-metric);line-height:1;color:var(--semantic-text-accent);font-weight:var(--semantic-font-regular)}.case-feature h3{font-size:var(--semantic-font-heading)}.case-feature p{color:var(--semantic-text-inverseMuted)}.case-feature .button.secondary{color:var(--semantic-text-inverse);border-color:var(--semantic-border-inverse)}.case-feature .button.secondary:hover{color:var(--semantic-text-primary);background:var(--semantic-surface-accent)}
.process{display:grid;gap:var(--semantic-space-block);list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:auto 1fr;gap:var(--semantic-space-inline) var(--semantic-space-group);align-content:start}.step-no{grid-row:1/3;font-size:var(--semantic-font-small);padding-block-start:var(--primitive-space-xs);color:var(--semantic-text-muted);font-variant-numeric:tabular-nums}.process li h3{margin:0}.process li p{grid-column:2;margin:0;color:var(--semantic-text-muted)}.candidate-band{background:var(--semantic-surface-panel)}.candidate-band .button{margin-inline-end:var(--semantic-space-inline);margin-block-start:var(--semantic-space-inline)}.cta{background:var(--semantic-surface-accent)}.cta h2{max-inline-size:var(--semantic-size-headingMeasure)}.role-index{display:flex;flex-wrap:wrap;gap:var(--semantic-space-inline)}.role-index span{padding:var(--semantic-space-inline) var(--semantic-space-group);background:var(--semantic-surface-panel);border-radius:var(--semantic-radius-control)}.role-line{font-size:var(--semantic-font-lead)}
.faqs{max-inline-size:var(--semantic-size-bodyMeasure)}.faqs details{padding:var(--semantic-space-group);background:var(--semantic-surface-panel);margin-block-end:var(--semantic-space-inline);border-radius:var(--semantic-radius-control)}.faqs summary{font-weight:var(--semantic-font-strong);cursor:pointer;min-block-size:var(--semantic-size-target);display:list-item}.faqs p{margin-block-start:var(--semantic-space-inline);margin-block-end:0}.jobs-list{display:grid;gap:var(--semantic-space-group)}.jobs-list a{display:flex;align-items:center;justify-content:space-between;gap:var(--semantic-space-group);text-decoration:none;border:var(--semantic-size-hairline) solid var(--semantic-border-default);border-radius:var(--semantic-radius-control);padding:var(--semantic-space-card)}.jobs-list a>span{font-size:var(--semantic-font-heading)}.jobs-list a p{margin:0}.jobs-list a:hover{background:var(--semantic-surface-panel)}
.contact-grid{display:grid;gap:var(--semantic-space-block)}.contact-email{font-size:var(--semantic-font-lead);overflow-wrap:anywhere}.enquiry-form{max-inline-size:var(--component-form-max);display:grid;gap:var(--semantic-space-group)}.enquiry-form>label{display:grid;gap:var(--primitive-space-xs);font-weight:var(--semantic-font-strong)}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{inline-size:100%;border:var(--semantic-size-hairline) solid var(--semantic-border-default);border-radius:var(--semantic-radius-control);padding:var(--semantic-space-inline);background:var(--semantic-surface-page);color:var(--semantic-text-primary);min-block-size:var(--semantic-size-target)}.enquiry-form textarea{resize:vertical}.enquiry-form .consent{display:flex;gap:var(--semantic-space-inline);font-weight:var(--semantic-font-regular);font-size:var(--semantic-font-small);align-items:start}.consent input{margin-block-start:var(--primitive-space-xs);min-inline-size:var(--semantic-space-group);min-block-size:var(--semantic-space-group);accent-color:var(--semantic-action-primary)}.enquiry-form .button{justify-self:start}.form-status{margin:0;overflow-wrap:anywhere}.form-status.error{color:var(--semantic-feedback-error)}.form-status.success{color:var(--semantic-feedback-success)}.honeypot{display:none}
.site-footer{background:var(--semantic-surface-inverse);color:var(--semantic-text-inverse);padding-block:var(--semantic-space-section) var(--semantic-space-card)}.footer-grid{display:grid;gap:var(--semantic-space-block)}.footer-grid>div,.footer-grid nav{display:flex;flex-direction:column;gap:var(--semantic-space-inline);align-items:start}.footer-grid a{text-decoration:none;overflow-wrap:anywhere}.footer-grid a:hover{color:var(--semantic-text-accent)}.footer-brand{font-size:var(--component-footer-brand);font-weight:var(--semantic-font-strong);letter-spacing:var(--semantic-font-tracking)}.footer-brand span{color:var(--semantic-text-accent);margin-inline-start:var(--semantic-space-inline)}.footer-grid p,.footer-bottom{font-size:var(--semantic-font-small);color:var(--semantic-text-inverseMuted)}.footer-bottom{margin-block-start:var(--semantic-space-block)}
.assistant-launcher{position:fixed;inset-block-end:var(--component-assistant-offset);right:var(--component-assistant-offset);inline-size:var(--component-assistant-size);block-size:var(--component-assistant-size);padding:0;border:none;border-radius:50%;background:var(--semantic-surface-accent);box-shadow:var(--semantic-shadow-overlay);z-index:var(--component-assistant-layer)}.assistant-launcher svg{inline-size:100%;block-size:100%}.assistant-launcher:hover{background:var(--semantic-surface-accent);transform:scale(1.05)}
/* Persistent character animation is explicitly requested by the user. Paused for reduced motion and hidden tabs. */
.robot-head{transform-origin:50% 40%;animation:robot-head var(--semantic-motion-head) ease-in-out infinite}.robot-eyes{transform-origin:50% 40%;animation:robot-blink var(--semantic-motion-blink) infinite}.robot-hand{transform-origin:72% 70%;transition:transform var(--semantic-motion-normal) var(--semantic-motion-ease)}.assistant-launcher:hover .robot-hand,.assistant-launcher:focus-visible .robot-hand{transform:rotate(-55deg) translateY(-4%)}.assistant-launcher:hover .robot-eyes{transform:scaleY(.65);animation:none}.assistant-launcher:hover .robot-head{animation:none;transform:rotate(-5deg)}
@keyframes robot-head{0%,70%,100%{transform:rotate(0)}35%{transform:rotate(4deg)}50%{transform:rotate(-3deg)}}@keyframes robot-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}body.page-hidden .robot-head,body.page-hidden .robot-eyes{animation-play-state:paused}
.assistant-dialog{position:fixed;inset-block-start:auto;inset-block-end:var(--component-assistant-dialogGap);inset-inline-start:auto;right:var(--component-assistant-offset);margin:0;inline-size:calc(100% - var(--component-assistant-offset) * 2);max-inline-size:var(--component-assistant-dialogWidth);max-block-size:75dvh;overflow:auto;border:var(--semantic-size-hairline) solid var(--semantic-border-default);border-radius:var(--semantic-radius-panel);background:var(--semantic-surface-page);color:var(--semantic-text-primary);padding:var(--semantic-space-card);box-shadow:var(--semantic-shadow-overlay)}.assistant-dialog::backdrop{background:var(--component-dialog-backdrop)}.assistant-heading{display:flex;align-items:start;gap:var(--semantic-space-inline)}.assistant-heading h2{font-size:var(--semantic-font-lead);margin-block-end:var(--semantic-space-group)}.icon-button{margin-inline-start:auto;min-inline-size:var(--semantic-size-target);min-block-size:var(--semantic-size-target);font-size:var(--semantic-font-heading);line-height:1;background:var(--semantic-surface-panel);border:none;border-radius:var(--semantic-radius-control)}.assistant-choices{display:grid;gap:var(--semantic-space-inline)}.assistant-email{display:inline-block;margin-block-start:var(--semantic-space-group);font-size:var(--semantic-font-small);overflow-wrap:anywhere}
@media(min-width:48rem){.wrap{padding-inline:var(--semantic-size-gutterWide)}.expertise-list{grid-template-columns:1.2fr 1fr 1fr}.expertise-list a{flex-direction:column;align-items:start}.expertise-list a:first-child{background:var(--semantic-surface-inverse);color:var(--semantic-text-inverse)}.expertise-list a:first-child p{color:var(--semantic-text-inverseMuted)}.expertise-list a:first-child:hover{background:var(--semantic-action-hover)}.sector-list a{grid-template-columns:1fr 1.4fr auto;align-items:center}.sector-list a h3{margin:0}.sector-list a p{grid-column:2}.sector-list a>span{grid-column:3;grid-row:1}.case-feature{grid-template-columns:var(--component-layout-split);padding:var(--semantic-space-block);align-items:center}.case-metric{flex-direction:column;gap:var(--semantic-space-inline)}.process{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:var(--component-layout-split)}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.quiet-callout{grid-template-columns:1fr 1.4fr;align-items:start}.quiet-callout .button{grid-column:2}.quiet-callout p{margin:0}}
@media(min-width:70rem){.header-inner{gap:var(--semantic-space-card);flex-wrap:nowrap}.menu-toggle{display:none}.main-nav,.main-nav.open{display:flex;flex-direction:row;gap:var(--semantic-space-group);inline-size:auto;padding:0;order:0}.main-nav a{white-space:normal;max-inline-size:12ch}.header-cta{display:inline-flex!important;font-size:var(--semantic-font-small);max-inline-size:15rem}.hero{padding-block-start:var(--component-hero-wideTop)}.hero-grid{grid-template-columns:var(--component-hero-columns);align-items:center}.hero-grid:has(>div:only-child){grid-template-columns:1fr}h1{font-size:var(--semantic-font-displayWide)}h2{font-size:var(--semantic-font-headingWide)}.talent-map{display:block}.section{padding-block:var(--semantic-space-sectionWide)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.assistant-launcher:hover{transform:none}}
