/* Temporary statistics pause: hide Analytics navigation everywhere. */
a[data-shell-link="analytics"],a[href="/analytics.html"],a[href="/analytics"]{display:none!important}
html{scroll-behavior:smooth;background:#0b1724}
body{min-height:100vh}
.site-header{position:sticky;top:0;z-index:90;background:rgba(8,21,35,.96)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(18px)}
.site-header .brand,.site-header .brand-copy strong,.site-header .brand-copy small,.site-header .desktop-nav a,.site-header .language-switch{color:#eef2f5!important}
.site-header .brand-copy strong{font-size:1.22rem}
.site-header .brand-copy small{color:#aab8c7!important}
.shell-header-inner{min-height:76px}
.shell-desktop-nav{display:flex;align-items:center;gap:4px}
.shell-nav-link{position:relative;padding:12px 13px!important;border-radius:10px;text-decoration:none;transition:background .18s,color .18s}
.shell-nav-link:hover{background:rgba(255,255,255,.06)}
.shell-nav-link.is-active{color:#e4c174!important;background:rgba(198,160,82,.10)}
.shell-nav-link.is-active:after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2px;border-radius:3px;background:#c8a55c}
.site-header .language-switch{border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.04)!important}
.shell-institution{border-color:rgba(205,171,100,.45)!important;background:rgba(205,171,100,.10)!important;color:#f2d58f!important}
.shell-mobile-nav{background:#0c1b2b!important;border-top:1px solid rgba(255,255,255,.08)!important}
.shell-mobile-nav a{color:#e8eef3!important}
.site-footer{background:#071522!important;color:#d9e3eb;padding:58px 0 36px;margin-top:0}
.shell-footer-grid{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:60px}
.shell-footer-brand p{max-width:520px;color:#9fb0bf;line-height:1.7;margin:18px 0 10px}
.shell-footer-brand small{color:#7f92a3}
.shell-footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:10px}
.shell-footer-grid>div>strong{color:#f0f4f6;margin-bottom:6px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.site-footer a{color:#aebdca;text-decoration:none;font-size:.9rem}
.site-footer a:hover{color:#e7c679}
html[dir="rtl"] .shell-nav-link.is-active:after{left:13px;right:13px}
.page-transition-note{font-size:.74rem;color:#8798a7}
@media(max-width:900px){.shell-footer-grid{grid-template-columns:1fr 1fr;gap:36px}.shell-footer-brand{grid-column:1/-1}}
@media(max-width:760px){.shell-header-inner{min-height:68px}.site-footer{padding:44px 0 28px}.shell-footer-grid{grid-template-columns:1fr;gap:28px}.shell-footer-brand{grid-column:auto}.shell-institution{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{animation:none;opacity:1}}

/* Stable header geometry prevents layout shifts between static pages. */
html[lang="en"] .lang-ar{display:none!important}html[lang="ar"] .lang-en{display:none!important}
.site-header{min-height:78px}.shell-header-inner{height:78px;min-height:78px}
.shell-desktop-nav .shell-nav-link{white-space:nowrap;font-weight:500}
html[dir="rtl"] .shell-desktop-nav .shell-nav-link{font-size:.84rem;line-height:1.25;font-weight:500}
html[dir="rtl"] .shell-institution{font-size:.82rem;white-space:nowrap}
@media(max-width:760px){.site-header{min-height:68px}.shell-header-inner{height:68px;min-height:68px}}

/* Header stays visually fixed between full-page navigations. */
.site-header,.site-header .desktop-nav a,.site-header .desktop-nav a:after,.site-header .shell-nav-link,.site-header .brand,.site-header .button{transition:none!important;animation:none!important}

/* Cross-document transition disabled to keep page-to-page navigation visually fixed. */
@view-transition{navigation:none}
.site-header{view-transition-name:gsein-header}
.site-footer{view-transition-name:gsein-footer}
::view-transition-group(gsein-header),::view-transition-group(gsein-footer){animation-duration:0s}
::view-transition-old(gsein-header),::view-transition-new(gsein-header),
::view-transition-old(gsein-footer),::view-transition-new(gsein-footer){animation:none;mix-blend-mode:normal}
::view-transition-old(root){animation:90ms ease-out both gsein-old-page}
::view-transition-new(root){animation:130ms ease-out both gsein-new-page}
@keyframes gsein-old-page{to{opacity:.96}}
@keyframes gsein-new-page{from{opacity:.96}}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

.footer-social{display:flex;align-items:center;gap:9px;margin:16px 0 14px}
.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.14);border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.035);color:#b9c7d2!important;transition:none!important}
.footer-social a:hover{border-color:rgba(231,198,121,.55);background:rgba(231,198,121,.08);color:#e7c679!important}
.footer-social svg{width:17px;height:17px;display:block;fill:currentColor}
.footer-social a.footer-brand-icon{overflow:hidden;background:transparent}
.footer-social a.footer-brand-icon svg{width:100%;height:100%}
html[dir="rtl"] .footer-social{justify-content:flex-start}


.admin-login-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:1px solid rgba(7,20,38,.14);border-radius:10px;background:#fff;color:#071426;font-size:.8rem;font-weight:750;white-space:nowrap;transition:.2s ease}
.admin-login-button:hover{border-color:#af8a34;color:#7a5a16;background:#fffaf0;transform:translateY(-1px)}
.admin-login-icon{font-size:.82rem;color:#af8a34}
@media(max-width:860px){.admin-login-button{display:none}}

/* Four-language header: fixed geometry and no motion-induced shifting. */
html[lang="fr"] .lang-ar,html[lang="zh-CN"] .lang-ar{display:none!important}
.shell-language{display:inline-flex;align-items:center;flex:0 0 auto}
.shell-language select{width:112px;height:40px;padding:0 30px 0 11px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#102235;color:#eef2f5;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;outline:none}
html[dir="rtl"] .shell-language select{padding:0 11px 0 30px}
.shell-language select:focus-visible{border-color:#d4b66e;box-shadow:0 0 0 3px rgba(212,182,110,.14)}
.shell-header-actions{min-width:318px;justify-content:flex-end}
.admin-login-button,.admin-login-button:hover{transform:none!important;transition:none!important}
.site-header,.site-header *,.shell-mobile-nav{animation:none!important}
::view-transition-old(root),::view-transition-new(root){animation:none!important}
@media(max-width:860px){.shell-header-actions{min-width:0}.shell-language select{width:104px}}
@media(max-width:520px){.shell-language select{width:96px;font-size:.72rem;padding-inline-start:8px}.shell-header-inner{gap:8px}}

html body .site-header .shell-nav-link.is-active{color:var(--gsein-mint)!important;background:rgba(103,222,193,.08)!important}
html body .site-header .shell-nav-link.is-active:after{display:block!important;background:var(--gsein-mint)!important}

/* Mobile header fit: keep controls on one row and prevent horizontal overflow. */
@media(max-width:520px){
  .shell-header-inner{width:calc(100% - 24px);gap:6px}
  .shell-brand{min-width:0;flex:1 1 auto}
  .shell-brand .brand-copy{min-width:0}
  .shell-brand .brand-copy strong{font-size:1.18rem}
  .shell-brand .brand-copy small{display:none}
  .shell-header-actions{min-width:0;flex:0 0 auto;gap:6px;flex-wrap:nowrap;justify-content:flex-end}
  .shell-language{flex:0 0 auto}
  .shell-language select{width:88px;max-width:88px}
  .site-header .menu-toggle{flex:0 0 40px}
}

/* Mobile navigation: full-width, non-overlapping grid. Desktop rules stay untouched. */
@media(max-width:1040px){
  .shell-mobile-nav.open{
    left:0;
    right:0;
    top:70px;
    width:100%;
    max-width:none;
    margin:0;
    border-inline:0!important;
    border-radius:0;
    padding:8px 10px 10px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
  }
  .shell-mobile-nav .shell-nav-link{
    min-width:0;
    width:100%;
    margin:0;
    padding:10px 6px!important;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.2;
    font-size:.78rem;
  }
  .shell-mobile-nav .shell-nav-link.is-active:after{
    left:18%;
    right:18%;
    bottom:4px;
  }
}
@media(max-width:760px){
  .shell-mobile-nav.open{top:68px}
}

/* Expanded public navigation: protect desktop/tablet geometry after adding FAQ. */
@media(min-width:1241px){
  .shell-desktop-nav{gap:2px}
  .shell-desktop-nav .shell-nav-link{padding:11px 9px!important;font-size:.82rem}
  .shell-header-actions{min-width:224px}
  .shell-language select{width:106px}
}
@media(min-width:1041px) and (max-width:1240px){
  .site-header .desktop-nav,.site-header .desktop-only{display:none!important}
  .site-header .menu-toggle{display:flex!important}
  .site-header .shell-header-actions{min-width:0;margin-inline-start:auto}
  .shell-mobile-nav.open{
    display:grid!important;
    position:absolute;
    left:0;
    right:0;
    top:78px;
    width:100%;
    max-width:none;
    margin:0;
    padding:9px 12px 11px;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    border-inline:0!important;
    border-radius:0;
    box-shadow:0 18px 34px rgba(3,12,21,.18);
  }
  .shell-mobile-nav .shell-nav-link{
    min-width:0;
    width:100%;
    margin:0;
    padding:10px 7px!important;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal;
    line-height:1.2;
    font-size:.8rem;
  }
}
@media(max-width:560px){
  .shell-mobile-nav.open{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:8px}
  .shell-mobile-nav .shell-nav-link{min-height:42px;padding:9px 8px!important;font-size:.79rem}
}

/* Mobile shell hardening: keep the header inside the viewport and make the menu a true overlay. */
@media(max-width:1040px){
  html,body{max-width:100%;overflow-x:hidden}
  .site-header .shell-header-inner{
    width:min(100% - 24px,1180px);
    max-width:100%;
    margin-inline:auto;
    gap:8px;
    overflow:visible;
  }
  .site-header .shell-desktop-nav,.site-header .desktop-only{display:none!important}
  .site-header .shell-brand{display:inline-flex!important;min-width:0;flex:1 1 auto;overflow:hidden}
  .site-header .shell-brand .brand-copy{min-width:0;overflow:hidden}
  .site-header .shell-brand .brand-copy strong{white-space:nowrap}
  .site-header .shell-header-actions{min-width:0;max-width:100%;margin-inline-start:auto;flex:0 0 auto;gap:6px;flex-wrap:nowrap}
  .site-header .menu-toggle{display:flex!important;flex:0 0 40px}
  .shell-mobile-nav{
    display:none!important;
    position:absolute!important;
    inset-inline:0!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    width:100%!important;
    max-width:100vw!important;
    height:auto!important;
    max-height:calc(100dvh - 68px);
    margin:0!important;
    padding:10px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    transform:none!important;
    border-inline:0!important;
    border-radius:0!important;
    box-shadow:0 18px 34px rgba(3,12,21,.28)!important;
    z-index:120;
  }
  .shell-mobile-nav.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .shell-mobile-nav .shell-nav-link{min-width:0!important;width:100%!important;min-height:44px;margin:0!important;padding:10px 8px!important;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:420px){
  .site-header .shell-header-inner{width:calc(100% - 16px);gap:4px}
  .shell-language select{font-size:.7rem!important;padding-inline:8px 24px!important}
  .site-header .menu-toggle{flex-basis:38px;width:38px}
  .shell-mobile-nav{padding:8px!important}
  .shell-mobile-nav.open{grid-template-columns:1fr!important}
  .shell-mobile-nav .shell-nav-link{min-height:42px!important}
}
/* Shown when a page body is not written in the visitor's language (rendered by functions/_i18n). */
.locale-content-notice{margin-block:18px 0;padding:12px 16px;border:1px solid #e6d5ad;border-radius:12px;background:#fff8e8;color:#5f4d24;font-size:.9rem;line-height:1.6}
.locale-content-notice[dir="rtl"]{direction:rtl;text-align:right}

/* Language switcher: size to the longest language name (the same list in every locale) so no name is cut off. */
.shell-language select{width:auto!important;max-width:none!important;padding-inline:10px 28px}
@media(max-width:420px){.shell-language select{padding-inline:8px 24px!important}}
/* Company Portal: the one header link that leads into the signed-in area. */
.shell-desktop-nav .shell-nav-link[data-shell-link="company"]{border:1px solid rgba(103,222,193,.55);color:#b9f2e4!important;margin-inline-start:8px}
.shell-desktop-nav .shell-nav-link[data-shell-link="company"].is-active{background:rgba(103,222,193,.12)}
.shell-desktop-nav .shell-nav-link[data-shell-link="company"].is-active:after{display:none}
