.footer-grid{grid-template-columns:minmax(220px,1.15fr) minmax(150px,.62fr) minmax(120px,.45fr) minmax(145px,.52fr) minmax(210px,.82fr)}
.footer-app{min-width:0}
.footer-ecosystem{grid-column:1/-1;padding-top:4px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.pwa-install-button{min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:0 12px;border:1px solid color-mix(in srgb,var(--brand) 52%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--brand) 8%,var(--surface));color:var(--text);font-family:var(--mono);font-size:.59rem;font-weight:850;letter-spacing:.045em;cursor:pointer}
.pwa-install-button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}
.pwa-install-button:disabled{cursor:default;opacity:.68}
.pwa-install-button .install-glyph{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid color-mix(in srgb,var(--brand) 62%,var(--line));border-radius:6px;color:var(--brand);font-size:.56rem;letter-spacing:-.04em}
.pwa-install-help,.pwa-status{margin:8px 0 0;max-width:31ch;color:var(--muted);font-size:.58rem;line-height:1.5}
.pwa-status{font-family:var(--mono);letter-spacing:.025em}
.alpha-control-deck .primary-action{color:#000}
.pwa-hero-install{margin-inline-start:10px;font-family:inherit;cursor:pointer}
.pwa-hero-install:disabled{cursor:default;opacity:.68}
.pwa-hero-install-help{display:block;max-width:42ch;margin:9px 0 0;color:var(--muted);font-size:.66rem;line-height:1.5}
.pwa-hero-install-help[hidden]{display:none!important}
.offline-notice{position:fixed;z-index:90;inset-inline-end:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));max-width:min(360px,calc(100vw - 28px));padding:10px 12px;border:1px solid color-mix(in srgb,var(--neutral) 58%,var(--line));border-radius:9px;background:var(--surface);box-shadow:var(--shell-shadow);color:var(--text);font-family:var(--mono);font-size:.62rem;font-weight:760;letter-spacing:.025em}
.offline-notice[hidden]{display:none!important}

/* Access and privacy gate: the research terminal stays visible but unavailable until the territorial representation is confirmed. */
html:not(.egx-access-granted) .site-shell{filter:blur(7px);opacity:.68;pointer-events:none;user-select:none;transform:scale(.997);transform-origin:center top;transition:filter .18s ease,opacity .18s ease,transform .18s ease}
html.egx-access-granted .site-shell{filter:none;opacity:1;transform:none}
html:not(.egx-access-granted) body,html.egx-settings-open body{overflow:hidden}
html.egx-settings-open .site-shell{filter:blur(6px);pointer-events:none;user-select:none}
.egx-access-gate{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:clamp(12px,3vw,30px);overflow:auto;background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(12px) saturate(.78);-webkit-backdrop-filter:blur(12px) saturate(.78)}
.egx-access-card{position:relative;width:min(820px,100%);max-height:calc(100dvh - clamp(24px,6vw,60px));overflow:auto;border:1px solid var(--line-strong);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,var(--bg));box-shadow:0 28px 90px rgba(0,0,0,.58);color:var(--text)}
.egx-access-card::before{content:"";position:sticky;z-index:2;top:0;display:block;height:3px;background:var(--brand)}
.egx-gate-header{display:grid;grid-template-columns:50px minmax(0,1fr);gap:16px;align-items:start;padding:clamp(22px,3.2vw,30px) clamp(20px,3.5vw,34px) 20px;border-bottom:1px solid var(--line)}
.egx-gate-mark{width:46px;height:46px;display:grid;grid-template-columns:auto auto;place-content:center;gap:1px;border:1px solid color-mix(in srgb,var(--brand) 72%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--brand) 7%,var(--surface));color:var(--brand);font-family:var(--mono);font-size:.92rem;font-weight:900}
.egx-gate-mark span{opacity:.72}.egx-gate-mark strong{font:inherit}
.egx-gate-eyebrow,.egx-gate-kicker{display:block;color:var(--brand);font-family:var(--mono);font-size:.56rem;font-weight:900;letter-spacing:.095em}
.egx-gate-header h1{display:grid;gap:3px;margin:7px 0 0;color:var(--text);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.08;letter-spacing:-.025em}
.egx-gate-header h1 span[lang="ar"]{font-size:.78em;letter-spacing:0;line-height:1.35}
.egx-gate-header p{margin:8px 0 0;color:var(--muted);font-family:var(--mono);font-size:.55rem;font-weight:760;letter-spacing:.055em}
.egx-gate-legal,.egx-gate-privacy{padding:20px clamp(20px,3.5vw,34px);border-bottom:1px solid var(--line)}
.egx-gate-section-head{margin-bottom:10px}
.egx-gate-bilingual{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,32px)}
.egx-gate-language-block{min-width:0}
.egx-gate-language-block>.egx-gate-kicker{margin-bottom:10px}
.egx-gate-bilingual p{margin:0;color:var(--soft);font-size:.74rem;line-height:1.72}
.egx-gate-language-block[lang="ar"] p{line-height:1.9}
.egx-gate-bilingual strong{color:var(--text)}
.egx-gate-bilingual-compact p{color:var(--muted);font-size:.66rem;line-height:1.68}
.egx-gate-storage-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.egx-gate-storage-status{flex:1 1 100%;width:100%;display:flex;justify-content:center;text-align:center;margin-inline:auto;color:var(--muted);font-family:var(--mono);font-size:.53rem;font-weight:760;letter-spacing:.035em}
.egx-gate-storage-status>.egx-bidi-pair{display:grid;justify-items:center;gap:2px;text-align:center}
.egx-gate-storage-status>.egx-bidi-pair>[lang]{text-align:center}
.egx-gate-storage-status .egx-bidi-separator{display:none}
.egx-gate-storage-action,.egx-footer-storage-settings{appearance:none;border:0;background:transparent;color:var(--brand);font-family:inherit;font-size:.62rem;font-weight:760;line-height:1.45;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}
.egx-gate-storage-action{flex:1 1 100%;width:100%;display:flex;justify-content:center;text-align:center;margin-inline:auto}
.egx-gate-storage-action>.egx-bidi-pair{display:grid;justify-items:center;gap:2px;text-align:center}
.egx-gate-storage-action .egx-bidi-separator{display:none}
.egx-gate-storage-action:hover,.egx-gate-storage-action:focus-visible,.egx-footer-storage-settings:hover,.egx-footer-storage-settings:focus-visible{color:var(--brand-hover)}
.egx-gate-storage-action:disabled{opacity:.55;cursor:default}
.egx-gate-confirmation{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:13px;align-items:start;margin:20px clamp(20px,3.5vw,34px) 0;padding:16px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--brand) 5%,var(--surface));cursor:pointer}
.egx-gate-confirmation input{position:absolute;opacity:0;pointer-events:none}
.egx-gate-checkmark{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:5px;background:var(--bg)}
.egx-gate-confirmation input:checked+.egx-gate-checkmark{border-color:var(--brand);background:var(--brand)}
.egx-gate-confirmation input:checked+.egx-gate-checkmark::after{content:"✓";color:#00170e;font-size:.78rem;font-weight:950}
.egx-gate-confirmation:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}
.egx-gate-confirmation-copy{display:grid;gap:7px}
.egx-gate-confirmation-copy strong{color:var(--text);font-size:.72rem;line-height:1.55}
.egx-gate-confirmation-copy strong[lang="ar"]{text-align:right;line-height:1.75}
.egx-gate-egypt-note{display:grid;gap:3px;margin:9px clamp(20px,3.5vw,34px) 0;color:var(--muted);font-size:.57rem;line-height:1.5}
.egx-gate-egypt-note span[lang="ar"]{text-align:right;line-height:1.65}
.egx-gate-continue{width:calc(100% - clamp(40px,7vw,68px));min-height:50px;display:grid;place-items:center;gap:1px;margin:18px clamp(20px,3.5vw,34px) clamp(22px,3.5vw,32px);padding:9px 18px;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:#00170e;font-family:var(--mono);font-size:.63rem;font-weight:950;letter-spacing:.055em;cursor:pointer}
.egx-gate-continue span[lang="ar"]{font-family:inherit;font-size:.72rem;letter-spacing:0}
.egx-gate-continue:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}
.egx-gate-continue:disabled{border-color:var(--line);background:var(--surface-2);color:var(--muted);cursor:not-allowed;opacity:.72}
.egx-storage-card{width:min(680px,100%)}
.egx-storage-card .egx-gate-privacy{border-bottom:0}
.egx-storage-close{margin-top:0}
.egx-footer-storage-settings{grid-column:1;justify-self:start;margin:12px 0 2px;padding:0;text-align:start}

/* Bidirectional typography isolation for the bilingual access gate. */
.egx-access-gate [lang="ar"]{direction:rtl;unicode-bidi:isolate;text-align:right;letter-spacing:0}
.egx-access-gate [lang="en"]{direction:ltr;unicode-bidi:isolate}
.egx-access-gate bdi[dir="ltr"]{direction:ltr;unicode-bidi:isolate}
.egx-bidi-pair{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.38em;max-width:100%}
.egx-bidi-separator{direction:ltr;unicode-bidi:isolate;opacity:.72}
.egx-gate-kicker>.egx-bidi-pair{display:flex}
.egx-gate-header #egx-gate-intro>span{display:block;width:100%}
.egx-gate-header #egx-gate-intro>span+span{margin-top:4px}
.egx-gate-header #egx-gate-intro>span[lang="ar"],
.egx-gate-language-block[lang="ar"]>.egx-gate-kicker,
.egx-gate-kicker .egx-bidi-pair>[lang="ar"],
.egx-gate-storage-status [lang="ar"],
.egx-gate-storage-action [lang="ar"],
.egx-footer-storage-settings [lang="ar"]{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.egx-footer-storage-settings>.egx-bidi-pair{display:inline-flex;align-items:baseline;gap:.38em}

/* Final release touch-target floor. This stylesheet is external and uses !important so
   the 44px interaction contract also wins over earlier inlined responsive rules. */
.nav-desktop a,
.search-action,
.theme-toggle,
.mobile-menu>summary,
.mobile-menu-links a,
.mobile-search-link,
.language-action,
.footer-language-link,
.footer-theme-toggle,
.pwa-install-button,
.pwa-hero-install,
.product-switcher button,
.horizon-buttons button,
.single-horizon,
.alpha-horizon-control.compact .horizon-buttons button,
.terminal-ranking-control .horizon-buttons button,
.mover-list a{min-height:44px!important}
.search-action,.theme-toggle,.mobile-menu>summary{width:44px!important;height:44px!important}
.language-action{min-width:44px!important}

@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.research-topbar{padding-inline-start:env(safe-area-inset-left);padding-inline-end:env(safe-area-inset-right)}}
@media(max-width:1120px){.footer-grid{grid-template-columns:1fr 1fr 1fr}.footer-identity{grid-column:span 2}.footer-ecosystem{grid-column:1/-1}}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-identity{grid-column:auto}.footer-ecosystem{grid-column:1/-1}}
@media(max-width:860px){.egx-gate-bilingual{grid-template-columns:1fr;gap:13px}.egx-gate-language-block[lang="ar"]{padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 62%,transparent)}.egx-gate-storage-row{align-items:flex-start;flex-direction:column}.egx-gate-storage-status>.egx-bidi-pair,.egx-footer-storage-settings>.egx-bidi-pair{display:grid;gap:2px}.egx-gate-storage-status .egx-bidi-separator,.egx-footer-storage-settings .egx-bidi-separator{display:none}}
@media(max-width:700px){.egx-access-gate{place-items:start center;padding:10px}.egx-access-card{max-height:calc(100dvh - 20px);border-radius:11px}.egx-gate-header{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:20px 17px 16px}.egx-gate-mark{width:40px;height:40px}.egx-gate-legal,.egx-gate-privacy{padding:17px}.egx-gate-confirmation{margin:17px 17px 0;padding:14px}.egx-gate-egypt-note{margin-inline:17px}.egx-gate-continue{width:calc(100% - 34px);margin:16px 17px 20px}.egx-footer-storage-settings{grid-column:1}}
@media(max-width:680px){.page-home .alpha-control-deck{row-gap:48px}.page-home .control-deck-copy>.hero-primary-action{margin-top:8px}.page-home .control-deck-copy>.pwa-hero-install{width:100%;min-height:48px!important;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:14px 0 0;padding:0 16px;border:1px solid var(--brand);background:transparent;color:var(--brand)!important;text-align:center;line-height:1.3;box-shadow:none}.page-home .control-deck-copy>.pwa-hero-install:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 8%,var(--surface));color:var(--brand)!important}.page-home .control-deck-copy>.pwa-hero-install-help{width:100%;max-width:none;margin:9px 0 0;text-align:center}}
@media(max-width:620px){.footer-grid{grid-template-columns:1fr}.footer-ecosystem{grid-column:auto}.pwa-install-help,.pwa-status{max-width:44ch}}
@media(prefers-reduced-motion:reduce){.pwa-install-button,.pwa-hero-install{transition:none!important}html:not(.egx-access-granted) .site-shell{transition:none}}