/* Shared corporate frame, matched to the supplied Tools / BIM / Games sites. */
:root { --structure:#182BBF; --soft:#EEF1FF; --supporting:#595959; --action:#254DFF; }
@media screen {
 .top { position:relative; z-index:30; background:#fff; color:#000; border-bottom:1px solid #E3E3E3; }
 .top-in { min-height:104px; padding-block:24px; gap:32px; flex-wrap:nowrap; }
 .top .lockup { gap:24px; padding:0; }
 .top .lockup .wordmark { width:187px; height:26px; }
 .top .lockup-rule { height:28px; }
 .top .lockup-tools { font-size:14px; line-height:21px; }
 .top .nav { width:auto; display:flex; flex-direction:row; align-items:center; gap:24px; border:0; }
 .top .nav-link { display:inline-flex; align-items:center; min-height:44px; padding:0; margin:0; border:0; font-size:16px; line-height:24px; white-space:nowrap; text-decoration:none; }
 .top .menu-toggle { display:none; align-items:center; margin-left:auto; gap:10px; min-height:48px; padding:8px 0; border:0; background:transparent; color:#000; font:400 16px/24px var(--body); border-radius:0; white-space:nowrap; cursor:pointer; }
 .top .menu-symbol { display:inline-block; font-size:24px; line-height:24px; width:20px; }
 .btn,.hub .btn { min-height:56px; padding:15px 24px; gap:16px; font-weight:400; border-radius:2px; }
 .btn.primary { background:#254DFF; border-color:#254DFF; color:white; }
 .btn.secondary { background:#fff; border-color:#767676; color:#111; }
 .btn.corporate { background:#000; border-color:#000; color:#fff; padding-inline:20px; }
 .btn:disabled { background:#E3E3E3; border-color:#E3E3E3; color:#595959; }
 .site-foot { background:#000; color:#fff; }
 .site-foot .wrap { padding-block:64px 32px; gap:40px; }
 .site-foot .fhead { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
 .site-foot .fhead > :first-child,.site-foot .fhead > .fintro { grid-column:auto; }
 .site-foot .fintro { justify-self:end; max-width:46ch; font-size:14px; line-height:22px; color:#DDD; }
 .site-foot .positioning { margin-top:24px; font:400 14px/22px var(--body); letter-spacing:0; text-transform:none; color:#DDD; }
 .site-foot .lockup-rule { background:#666; }
 .site-foot .fcols { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; padding-top:32px; border-color:#666; }
 .site-foot .fcol { grid-column:auto; }
 .site-foot .fcol .label { font-size:13px; line-height:20px; letter-spacing:0; text-transform:none; color:#AAA; }
 .site-foot .fcol ul { gap:0; }
 .site-foot .fcol a { min-height:44px; padding-block:10px; font-size:14px; line-height:22px; gap:16px; overflow-wrap:anywhere; }
 .site-foot .legal { padding-top:24px; gap:16px; font-size:12px; line-height:20px; border-color:#666; align-items:start; }
 .site-foot .legal > span:first-child { max-width:54ch; }
 .site-foot .legal a { min-height:44px; }
 .site-foot .legal-links { gap:24px; }
}
@media screen and (hover:hover) {
 .top .nav-link:hover { text-decoration:underline; text-underline-offset:5px; }
 .btn.primary:hover:not(:disabled) { background:#163BDF; border-color:#163BDF; }
 .btn.secondary:hover:not(:disabled) { background:#EEF1FF; }
 .btn.corporate:hover:not(:disabled) { background:#333; border-color:#333; }
}
@media screen { .btn.primary:active:not(:disabled) { background:#182BBF; border-color:#182BBF; } }
@media screen and (max-width:1200px) {
 .top-in { min-height:88px; padding-block:20px; gap:24px; }
 .tools-menu-ready .top .menu-toggle { display:inline-flex; }
 html:not(.tools-menu-ready) .top-in { flex-wrap:wrap; }
 .site-foot .fhead { grid-template-columns:minmax(0,1fr); gap:32px; }
 .site-foot .fintro { justify-self:start; }
}
@media screen and (max-width:760px) {
 .top-in { gap:16px; }
 .top .lockup { gap:12px; }
 .top .lockup .wordmark { width:140px; height:auto; }
 .top .lockup-tools { font-size:13px; }
 .top .menu-toggle { font-size:14px; gap:8px; }
 .site-foot .wrap { padding-block:64px 32px; }
 .site-foot .fcols { grid-template-columns:repeat(auto-fit,minmax(min(100%,10em),1fr)); gap:32px 16px; padding-top:24px; }
 .site-foot .fcol a { font-size:16px; line-height:24px; }
 .site-foot .legal { align-items:flex-start; }
}
@media screen and (max-width:360px) { .top .lockup-text,.top .lockup-rule { display:none; } }

/* Preserve the original menu at the top; compact it only after scrolling. */
:root{--site-header-height:105px}
html{scroll-padding-top:calc(var(--site-header-height) + 16px)}
.site-header-slot{position:sticky;top:0;z-index:30;height:var(--site-header-expanded-height);pointer-events:none}
.site-header-slot>.top,.site-header-slot>.site-header{position:relative;pointer-events:auto;background:#fff}
.compact-wordmark{display:none!important}
.site-header .full-wordmark{display:block}
.top.is-compact .full-wordmark,.site-header.is-compact .full-wordmark{display:none!important}
.top.is-compact .lockup .compact-wordmark,.site-header.is-compact .brand .compact-wordmark{display:block!important;flex:none;width:116px;height:40px;object-fit:contain}
.top.is-compact .top-in,.site-header.is-compact .header-inner{min-height:72px;padding-block:12px;gap:24px;align-items:center;flex-wrap:nowrap}
.top.is-compact .lockup,.site-header.is-compact .brand{gap:16px;min-height:44px}
.top.is-compact .lockup{padding-block:0}
.top.is-compact .lockup-rule{height:24px}
.site-header.is-compact .brand-label{padding-left:16px}
.top.is-compact .nav-link,.site-header.is-compact .header-nav>a{min-height:44px;font-size:14px}
.top.is-compact .btn.header-action,.site-header.is-compact .corporate-action,.site-header.is-compact .corporate-link{min-height:44px;padding:9px 16px;font-size:14px}
.top.is-compact .menu-toggle,.site-header.is-compact .menu-toggle{min-height:44px}
.top.is-compact .nav,.site-header.is-compact .header-nav{gap:24px}
.skip-link{z-index:40}
@media(max-width:1200px){
  :root{--site-header-height:89px}
  .top.is-compact .top-in,.site-header.is-compact .header-inner{min-height:64px;padding-block:8px;gap:16px}
  .header-ready .top .nav,.header-ready .site-header .header-nav{position:absolute;inset:100% 0 auto;width:auto;margin:0;padding:12px var(--page-gutter,var(--gutter,36px)) 20px;background:#fff;border-top:0;border-bottom:1px solid #DEDEDE;box-shadow:0 12px 20px #0000000D;gap:0;max-height:calc(100dvh - var(--site-header-height));overflow-y:auto;overscroll-behavior:contain}
  .top.is-compact .nav-link,.site-header.is-compact .header-nav>a{font-size:16px;min-height:48px}
  .site-header.is-compact .corporate-link{padding-inline:0}
}
@media(max-width:760px){
  .top.is-compact .lockup,.site-header.is-compact .brand{gap:12px}
  .site-header.is-compact .brand-label{padding-left:12px}
}
@media print{
  html{scroll-padding-top:0}
  .site-header-slot{position:static;height:auto}
  .top,.site-header{position:static}
  .site-header .header-inner{min-height:0;padding-block:0 16px}
  .top.is-compact .full-wordmark,.site-header.is-compact .full-wordmark{display:block!important}
  .top.is-compact .lockup .compact-wordmark,.site-header.is-compact .brand .compact-wordmark{display:none!important}
}

@media screen { .top.is-compact .btn.corporate { min-height:44px; padding:9px 16px; font-size:14px; } :target { scroll-margin-top:calc(var(--site-header-height,105px) + 24px); } }

/* Shared action arrows use the same geometry as the tool controls. */
.ui-arrow { width:20px; height:20px; display:inline-block; flex:none; vertical-align:middle; }
