/* One motion and interaction language, layered over the approved ROX design. */
:root{--motion-fast:140ms;--motion-ui:240ms;--motion-panel:340ms;--motion-reveal:640ms;--ease-ui:cubic-bezier(.2,0,0,1);--ease-reveal:cubic-bezier(.22,1,.36,1)}
.home-positioning,.page-intro h1,.about-section-heading h2{text-wrap:balance}
.home-photo__frame{width:100%;min-width:0}
.text-link{position:relative;border-bottom-color:color-mix(in srgb,currentColor 40%,transparent);transition:border-color var(--motion-ui) var(--ease-ui),color var(--motion-ui) var(--ease-ui)}
.text-link .ui-arrow{transition:transform var(--motion-ui) var(--ease-ui);flex:none}
.text-link:hover,.text-link:focus-visible{border-bottom-color:currentColor}
.text-link:is(:hover,:focus-visible) .ui-arrow{transform:translate(3px,-3px)}
.btn{transition:background-color var(--motion-ui) var(--ease-ui),color var(--motion-ui) var(--ease-ui),border-color var(--motion-ui) var(--ease-ui),transform var(--motion-fast) var(--ease-ui)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.btn:focus-visible{outline-offset:4px}.btn .ui-arrow{transition:transform var(--motion-ui) var(--ease-ui)}
.btn:is(:hover,:focus-visible) .ui-arrow{transform:translate(2px,-2px)}
.language-switch a{transition:background-color var(--motion-ui) var(--ease-ui),color var(--motion-ui) var(--ease-ui)}
.language-switch a:active{background:#d9e4ff}
.site-nav__link:after{content:'';position:absolute;bottom:21px;left:0;width:100%;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-ui) var(--ease-ui)}
.site-nav__link[aria-current]:after{width:100%;transform:scaleX(.32)}
.nav-group:is(:hover,:focus-within,.is-open) .site-nav__link:after,.site-nav__link:hover:after{transform:scaleX(1)}
.nav-panel{box-shadow:none;clip-path:inset(0);border-bottom:1px solid var(--line);max-height:calc(100svh - 104px);overscroll-behavior:contain}
@media(min-width:1201px){.nav-panel.is-animating{overflow:auto}}
.nav-panel__inner{padding-block:32px 30px}
.nav-panel--editorial .nav-panel__inner{display:block}
.menu-editorial{display:grid;grid-template-columns:196px minmax(0,1fr);gap:40px}
.menu-rail{border-right:1px solid var(--line);padding-right:28px;min-width:0}
.menu-rail .eyebrow{margin-bottom:18px;font-size:10px}
.menu-rail>p:not(.eyebrow,.menu-metric){font-size:14px;line-height:1.6;max-width:220px}
.menu-rail .text-link{font-size:13px;line-height:1.4;gap:12px;margin-top:22px}
.menu-metric{display:flex;flex-direction:column;gap:3px;margin-bottom:16px;color:var(--brand);line-height:1.1}
.menu-metric strong{font-size:68px;font-weight:400;letter-spacing:-.07em;font-variant-numeric:tabular-nums}
.menu-metric>span{font-size:13px;color:var(--muted)}
.menu-rail h2{font-size:28px;line-height:1.2;letter-spacing:-.045em}
.menu-editorial .mega-columns{grid-template-columns:1.3fr 1.05fr .95fr .95fr;gap:24px}
.menu-editorial .mega-column>.eyebrow{font-size:10px;letter-spacing:.08em;min-height:30px;margin:0 0 6px}
.menu-editorial .nav-panel__links a{min-height:53px;font-size:13px;gap:8px;line-height:1.4;padding:10px 0;border-color:var(--line);align-items:center}
.menu-family-count{margin-left:auto;padding-left:3px;font:11px var(--mono);color:var(--muted)}
.menu-editorial .menu-specialty a{font-size:12px;color:var(--muted);margin-top:6px;min-height:0;border:0;align-items:flex-start}
.nav-panel__links a{transition:color var(--motion-ui) var(--ease-ui),background var(--motion-ui) var(--ease-ui)}
.nav-panel__links a:hover,.nav-panel__links a:focus-visible{background:transparent;color:var(--brand)}
.nav-panel__links a>span:first-child{transition:transform var(--motion-ui) var(--ease-ui)}
.menu-editorial .nav-panel__links a:is(:hover,:focus-visible)>span:first-child{transform:translateX(3px)}
.mega-footer{padding-top:16px;margin-top:28px;align-items:center;flex-wrap:wrap;row-gap:12px}
.mega-footer>div{display:flex;gap:30px;align-items:center}.mega-footer .text-link{border:0;min-height:36px;padding:0;font-size:12px}
.mega-footer .text-link:first-child .ui-arrow{width:18px}
.menu-sector-layout{display:grid;grid-template-columns:246px minmax(0,1fr);gap:42px}
.site-nav .menu-sector-links{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:0}
.menu-sector-links a{font-size:13px;gap:12px;min-height:67px;padding-inline:0}
.menu-sector-index{font:10px var(--mono);color:#8794a7}
.menu-sector-links .nav-panel__arrow{font-size:12px}.menu-sector-links .nav-panel__arrow svg{width:16px}
.site-nav .menu-operation-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
.menu-operation-links a{padding:14px 0;align-items:flex-start;gap:15px;min-height:100px}
.menu-operation-index{font:400 28px/1.1 var(--mono);letter-spacing:-.07em;color:#93a4bc}
.menu-operation-links strong{display:block;font-size:16px;font-weight:500;color:var(--text);line-height:1.35}
.menu-operation-links small{display:block;font-size:12px;line-height:1.5;margin-top:9px;color:var(--muted)}
.menu-operation-links .nav-panel__arrow{margin-top:4px}
.breadcrumbs a{transition:color var(--motion-fast) var(--ease-ui);text-underline-offset:4px}.breadcrumbs a:hover{text-decoration:underline}
.field :is(input,select,textarea){transition:border-color var(--motion-ui) var(--ease-ui),background-color var(--motion-ui) var(--ease-ui),box-shadow var(--motion-ui) var(--ease-ui)}
.field :is(input,select,textarea):focus{border-color:var(--brand);box-shadow:0 0 0 3px rgb(25 53 139 / .05)}
.field [aria-invalid=true]{border-color:#b44d3f;background:#fffafa}
.field-error{font-size:12px;line-height:1.5;margin-top:7px}
.draft-result{padding:24px;border-left:3px solid var(--brand);background:#f7f9fc}
.draft-result:focus{outline-offset:4px}.draft-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-family:var(--font);font-size:13px}
.draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:18px}
.error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.error-actions .text-link{margin-top:0}
/* Keep the embed renderable while its loading message covers it. */
.market-strip__quotes .tradingview-widget-container{visibility:visible}
.market-strip__fallback{background:#fff;z-index:1;gap:8px 16px;font:13px/1.5 var(--font);white-space:normal;flex-wrap:wrap;align-content:center}
.market-strip__fallback[data-state]>a:not(.market-strip__source){display:none}
.market-strip__status{color:var(--muted)}
.market-strip__retry,.market-strip__source{flex:none;border:0;border-bottom:1px solid var(--brand);padding:8px 0;background:transparent;color:var(--brand);font-size:13px}
@media(max-width:600px){.market-strip__fallback{gap:0 16px;font-size:12px}.market-strip__status{flex-basis:100%}.market-strip__retry,.market-strip__source{font-size:12px;min-height:32px!important;padding-block:4px}}
.draft-actions .btn{margin:0;font-size:13px}.draft-copy-status{font-size:12px;min-height:18px;margin-top:12px}
.industry-photo{background:#f0f3f6}.industry-photo:after{width:38px;height:2px}
.industry-photo img{transition:transform var(--motion-reveal) var(--ease-reveal)}
.page-intro__photo{clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.photo-tile .industry-photo{clip-path:none}
.operation-story__image .industry-photo:after{width:100%;height:1px;opacity:.3}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.photo-tile:hover .industry-photo img,.capability-grid--photos article:hover .industry-photo img,.page-intro__photo:hover img{transform:scale(1.018)}}
.about-index,.operation-network__number{font-variant-numeric:tabular-nums}
.site-footer{padding-top:0}
.footer-invitation{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-block:48px;margin-bottom:44px;position:relative}
.footer-invitation:after{content:'';position:absolute;bottom:0;left:48px;right:48px;border-bottom:1px solid var(--line)}
.footer-invitation .eyebrow{color:#b9cafa;font-size:10px;margin-bottom:16px}
.footer-invitation h2{font-size:clamp(28px,3vw,40px);max-width:580px;letter-spacing:-.04em;line-height:1.2}
.footer-invitation .text-link{flex:none;font-size:16px;margin:0 0 3px;gap:30px}
.footer-grid h2{font:400 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;color:#b9cafa}
.footer-grid ul{font-size:13px;line-height:1.65}.footer-grid li{margin-bottom:12px}
.footer-grid a{text-decoration-color:transparent;transition:text-decoration-color var(--motion-ui) var(--ease-ui)}
.footer-grid a:hover{text-decoration-color:#fff}
.footer-newsletter details{max-width:100%}.footer-newsletter details>p{max-width:600px}
.footer-newsletter summary{justify-content:space-between;max-width:100%;font-size:17px;padding-block:12px}
.footer-newsletter summary>span{font:300 24px var(--mono);transition:transform var(--motion-ui) var(--ease-ui)}
.footer-newsletter details[open] summary>span{transform:rotate(45deg)}
.footer-newsletter .contact-form{margin-top:24px}
.site-footer .draft-result{background:rgb(255 255 255 / .05);border-left-color:#fff}
.site-footer .draft-preview{background:transparent;color:#e1eaff;padding:0}
.site-footer .draft-copy-status{color:#d8e2f5}
.footer-bottom{font-size:11px}.footer-bottom a{min-height:30px;display:inline-flex;align-items:center}
@media(min-width:1201px){.nav-panel:not(.nav-panel--editorial) .nav-panel__inner{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:1200px){
 .site-nav__link:after{display:none}
 .site-nav{overscroll-behavior:contain}.site-nav>ul{padding-bottom:8px}
 .nav-group__heading{border-top:1px solid var(--line)}.nav-group:first-child .nav-group__heading{border-top:0}
 .nav-panel{background:#fff;max-height:none}.nav-panel__inner{padding-inline:16px}
 .menu-editorial{display:block}.menu-editorial .menu-rail{border:0;padding:0 0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
 .menu-editorial .menu-rail>.eyebrow,.menu-editorial .menu-rail>p:not(.menu-metric){display:none}
 .menu-metric{flex-direction:row;align-items:baseline;margin:0;gap:9px}.menu-metric strong{font-size:36px}.menu-rail .text-link{margin:0}
 .menu-editorial .mega-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
 .menu-editorial .mega-column>.eyebrow{min-height:0;margin-bottom:8px}
 .menu-editorial .nav-panel__links a{min-height:46px;font-size:14px}
 .menu-sector-layout{display:block}.menu-sector-layout .menu-rail{border:0;padding:0 0 20px}
 .menu-sector-layout .menu-rail h2,.menu-sector-layout .menu-rail .eyebrow{display:none}
 .site-nav .menu-sector-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
 .site-nav .menu-operation-links{gap:12px 26px}.menu-operation-links a{min-height:90px}
 .mega-footer{display:flex;align-items:flex-start;margin-top:20px;padding-top:14px}
 .mega-footer>div{display:flex;flex-wrap:wrap;gap:12px 28px}.mega-footer .text-link{display:inline-flex;margin:0;font-size:12px}
}
@media(max-width:600px){
 .menu-editorial .mega-columns{gap:24px 20px}.menu-editorial .nav-panel__links a{font-size:12px;min-height:56px}
 .menu-editorial .mega-column>.eyebrow{font-size:9px}.menu-family-count{font-size:10px}
 .menu-editorial .menu-rail{align-items:center;gap:8px}.menu-rail .text-link{font-size:12px;gap:6px}.menu-metric strong{font-size:30px}.menu-metric>span{font-size:11px}
 .site-nav .menu-sector-links,.site-nav .menu-operation-links{grid-template-columns:1fr}
 .menu-sector-links a{min-height:52px}.menu-operation-links a{min-height:84px}.menu-operation-index{font-size:24px}
 .footer-invitation{display:block;padding-block:36px;margin-bottom:34px}.footer-invitation:after{left:22px;right:22px}
 .footer-invitation h2{font-size:30px}.footer-invitation .text-link{margin-top:22px;font-size:14px}
 .footer-grid h2{font-size:11px}.footer-grid{row-gap:30px}.footer-grid li{margin-bottom:11px}
 .footer-newsletter summary{font-size:15px}.draft-result{padding:18px}.draft-actions{gap:12px}
}
/* Native cross-document transitions preserve browser navigation and its fallback. */
@view-transition{navigation:auto}
.site-header{view-transition-name:rox-header}
::view-transition-old(rox-header),::view-transition-new(rox-header){animation:none}
::view-transition-old(root){animation:rox-page-out 140ms var(--ease-ui) both}
::view-transition-new(root){animation:rox-page-in 240ms var(--ease-reveal) both}
@keyframes rox-page-out{to{opacity:0}}
@keyframes rox-page-in{from{opacity:.7}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 *,*::before,*::after{scroll-behavior:auto!important}
 .text-link,.btn,.text-link .ui-arrow,.btn .ui-arrow,.site-nav__link:after,.language-switch a,.nav-panel__links a,.industry-photo img,.footer-newsletter summary>span,.field :is(input,select,textarea){transition:none!important;animation:none!important}
 .text-link:is(:hover,:focus-visible) .ui-arrow,.btn:is(:hover,:focus-visible) .ui-arrow{transform:none}
}
@media print{.footer-invitation{display:none}}
