/* Language selector follows its header's positioning and palette. */
.language-switch{display:flex;flex-shrink:0;gap:3px;padding:3px;border:1px solid #dce0e5;border-radius:999px;background:#f3f4f5;color:#1c2e48;box-shadow:inset 0 1px 2px #17263b05;transition:background .25s,border-color .25s,color .25s}
.language-switch button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:55px;min-height:40px;padding:6px 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:inherit;font:600 11px Arial,sans-serif;letter-spacing:.04em;cursor:pointer;transition:background .2s,box-shadow .2s}
.language-switch svg{width:23px;height:16px;border-radius:3px;box-shadow:0 0 0 1px #0002}
.language-switch button[aria-pressed=true]{background:#fff;border-color:#caa36d;box-shadow:0 2px 6px #17263b15}
.language-switch button:hover{background:#e9e2d7}
.language-switch button:focus-visible{outline:3px solid #d6a259;outline-offset:2px}
.site-header:not(.scrolled) .language-switch{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(10px)}
.site-header:not(.scrolled) .language-switch button[aria-pressed=true]{background:rgba(255,255,255,.18);border-color:#ddb47c;box-shadow:none}
.site-header:not(.scrolled) .language-switch button:hover{background:rgba(255,255,255,.24)}
.site-header .header-right{margin-right:0}.site-header{gap:16px}
.top{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);padding-right:max(24px,calc((100vw - 1180px)/2));box-shadow:0 3px 16px #17263b08}
.top nav{margin-left:auto}.top .language-switch{margin-left:12px}
@media(max-width:700px){.language-switch button{min-width:40px;padding:6px;min-height:40px}.language-switch span{display:none}.site-header .header-right{display:none}.site-header .logo{max-width:calc(100% - 110px)}.site-header .logo img{max-width:100%;height:auto}.top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 20px}.top>a{grid-column:1;grid-row:1}.top>a img{max-width:100%;width:180px}.top .language-switch{grid-column:2;grid-row:1;margin:0}.top nav{grid-column:1/-1;grid-row:2;margin:0;gap:24px}}
@media(prefers-reduced-motion:reduce){.language-switch,.language-switch button{transition:none}}
.site-header{grid-template-columns:auto minmax(0,1fr) auto!important}.site-header .nav-menu{justify-self:center}
.site-header .header-right,.top .header-right{display:flex!important;align-items:center;justify-content:flex-end;gap:10px;margin:0!important;width:auto!important;position:static!important;min-width:0}
.site-header .language-switch,.top .language-switch{width:auto;flex:0 0 auto;margin:0;grid-area:auto}
.top{display:flex;flex-wrap:wrap}.top .header-right{margin-left:auto!important}
.top .header-search{display:flex;align-items:center;width:180px;height:40px;border:1px solid #d5d9df;border-radius:999px;background:#f6f7f8;padding:0 10px}
.top .header-search input{width:100%;min-width:0;border:0;background:transparent;color:#1c2e48;font:inherit;font-size:13px}
.top .header-search button{background:none;border:0;color:#1c2e48;cursor:pointer;min-height:36px;min-width:30px}
.top .header-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
mark.search-highlight{background:#ffebaf;color:#192a40}mark.search-highlight-active{background:#edb45c;color:#142338}
@media(max-width:1100px){.site-header .header-search,.top .header-search{width:140px!important}.site-header .nav-menu a{font-size:14px!important}}
@media(max-width:700px){.site-header,.top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}.site-header .logo,.top>a{grid-column:1;grid-row:1;max-width:180px}.site-header .header-right,.top .header-right{grid-column:2;grid-row:1;gap:6px}.site-header .header-search,.top .header-search{display:flex!important;width:90px!important;min-width:0}.site-header .header-search input{min-width:0;width:100%}.top nav{grid-column:1/-1;grid-row:2;margin:0}.top{padding:12px}.site-header .logo img{max-width:100%}.language-switch button{min-width:34px;padding:4px}.language-switch svg{width:20px}}
@media(max-width:390px){.site-header .header-search,.top .header-search{width:70px!important}.site-header .logo,.top>a{max-width:125px}}
/* Match the homepage header spacing and mobile navigation breakpoint. */
.top{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center;padding:6px 20px!important;gap:16px;width:100%}
.top>a img{width:180px;max-width:100%;height:auto}.top>nav{justify-self:center;margin:0}.top .header-right{margin:0!important}
.technology-bottom-nav{display:none}
@media(max-width:768px){
 .top{grid-template-columns:minmax(0,1fr) auto!important;padding:6px 16px!important;gap:10px}
 .top>nav{display:none!important}.top>a{grid-column:1;grid-row:1}.top .header-right{grid-column:2;grid-row:1}
 .top .header-search{width:90px!important}.top .language-switch span{display:none}.top .language-switch button{min-width:34px;padding:4px}
 .technology-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:2500;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(6px);border-top:1px solid rgba(0,0,0,.08)}
 .technology-bottom-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;color:#222;font-size:14px;text-decoration:none}
 body:has(.technology-bottom-nav){padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:390px){.top .header-search{width:70px!important}.top>a{max-width:125px}}
/* Balanced desktop columns keep navigation on the viewport centre. */
@media(min-width:769px){
 .site-header,.top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}
 .site-header .header-right,.top .header-right{justify-self:end}
 .site-header .nav-menu,.top>nav{grid-column:2;justify-self:center}
 .site-header .nav-menu a,.top>nav a{font-family:Poppins,Arial,sans-serif!important;font-size:16px!important;font-weight:400;line-height:1.5}
 .top>nav{gap:24px}
}
.mobile-search-toggle{display:none}
@media(max-width:768px){
 .mobile-search-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:#1c2e48;cursor:pointer}
 .mobile-search-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
 .site-header:not(.scrolled) .mobile-search-toggle{color:white}
 .mobile-search-toggle:focus-visible{outline:2px solid #c58b43;outline-offset:2px}
 .site-header .header-right .header-search,.top .header-right .header-search{display:none!important}
 .site-header .header-right .header-search.mobile-search-open,.top .header-right .header-search.mobile-search-open{display:flex!important;position:absolute!important;top:calc(100% + 8px);left:16px;right:16px;width:auto!important;height:48px!important;box-sizing:border-box;padding:0 14px;border:1px solid #d7dade;border-radius:12px;background:#fff!important;box-shadow:0 8px 24px #17263b25;z-index:3000}
 .header-search.mobile-search-open input{color:#1c2e48!important;background:transparent!important;font-size:16px!important;width:100%!important;min-width:0}
 .header-search.mobile-search-open input::placeholder{color:#687384!important}
 .header-search.mobile-search-open button,.header-search.mobile-search-open button svg{color:#1c2e48!important;stroke:#1c2e48!important}
}

@media(max-width:768px){.site-header .header-right .header-search.mobile-search-open{max-width:none!important;min-width:0!important;width:auto!important;left:16px;right:16px}.site-header .header-search.mobile-search-open input[type=search]{flex:1;max-width:none;height:100%;padding:0 38px 0 2px;border:0!important;border-radius:0;box-shadow:none!important}.site-header .header-search.mobile-search-open button{right:12px;min-width:32px;min-height:36px}}

/* Consistent search focus: highlight the container rather than the input. */
.top .header-search input[type=search],.site-header .header-search input[type=search]{outline:none!important;box-shadow:none!important}
.top .header-search:focus-within,.site-header .header-search:focus-within{border-color:#bd8a48!important;box-shadow:0 0 0 2px rgba(189,138,72,.22)!important}
@media(max-width:768px){.top .header-search.mobile-search-open input[type=search]{flex:1;max-width:none;height:100%;padding:0 2px;border:0!important;border-radius:0;outline:none!important;box-shadow:none!important;appearance:none;-webkit-appearance:none}}
