/* Trinity language entrance: shown on every new page opening. */
#trinity-language-entry{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:radial-gradient(ellipse at 50% 14%,#16394b 0,transparent 60%),#06131d;color:#f5f3ee;z-index:2147483000;overflow:auto;box-sizing:border-box;font-family:"Helvetica Neue",Arial,sans-serif;text-align:center}#trinity-language-entry[open]{display:flex;align-items:center;justify-content:center}#trinity-language-entry:not([open]){display:none}#trinity-language-entry::backdrop{background:#06131d}html:has(#trinity-language-entry[open]){overflow:hidden}.entry-inner{width:min(100%,360px);margin:auto}.entry-symbol{display:block;width:94px;height:94px;object-fit:contain;margin:0 auto 9px;animation:entry-reveal 1.2s ease both}.entry-brand{font-size:16px;letter-spacing:.3em;color:#d8b878;margin:0 0 24px;font-weight:500}.entry-inner h2{font-size:30px;line-height:1.2;letter-spacing:-.025em;font-weight:400;color:#f5f3ee;margin:0}.entry-intro{font-size:13px;line-height:1.5;color:#a5b8c4;margin:4px 0 22px}.entry-languages{display:grid;gap:10px}.entry-languages button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:13px 18px;border:1px solid #d8b87855;border-radius:6px;background:#0b202d99;color:#f5f3ee;font-family:inherit;font-size:17px;line-height:1.4;text-align:start;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.entry-languages button:hover,.entry-languages button:focus-visible{background:#16394b;border-color:#d8b878;outline:2px solid #d8b878;outline-offset:3px}.entry-code{font-size:11px;letter-spacing:.1em;color:#d8b878}.entry-pillars{font-size:9px;line-height:1.6;letter-spacing:.13em;color:#a5b8c4;margin:25px 0 0}@keyframes entry-reveal{from{opacity:0;transform:translateY(12px) scale(.93)}to{opacity:1;transform:none}}@media(max-height:690px){#trinity-language-entry{padding:20px}.entry-symbol{width:66px;height:66px}.entry-brand{margin-bottom:16px}.entry-inner h2{font-size:26px}.entry-intro{margin:8px 0 18px}.entry-languages{gap:8px}.entry-languages button{min-height:48px;padding:10px 16px;font-size:16px}.entry-pillars{margin-top:18px}}@media(prefers-reduced-motion:reduce){.entry-symbol{animation:none}.entry-languages button{transition:none}}


#language-entry-title:focus{outline:none}

/* Shared header: each element owns its space, including long translated captions. */
.header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;box-sizing:border-box}
.header .header-context{margin:0;font-size:9px;letter-spacing:.12em;line-height:1.5;color:var(--muted);text-align:end;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header .language-switch{position:static;inset:auto;justify-self:end;gap:3px;margin:0;flex-shrink:0}
.header .language-switch a{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:42px;padding:8px 7px;box-sizing:border-box}
html[lang=ar] .header .header-context{margin:0;font-size:10px}
html[lang=ar] .header .language-switch{position:static;inset:auto;max-width:none}
@media(max-width:1100px){.header{grid-template-columns:1fr auto;gap:18px}.header .header-context{display:none}}
@media(max-width:900px){.header .brand,.header .brand img{width:180px;height:45px}.header .language-switch a{font-size:10px;min-width:29px;min-height:44px;padding:7px 5px}.header .language-switch{gap:2px}}
@media(max-width:520px){.header{gap:10px}.header .brand,.header .brand img,html[lang=ar] .header .brand,html[lang=ar] .header .brand img{width:128px;height:38px}}
@media(max-width:360px){.header{gap:8px}.header .brand,.header .brand img,html[lang=ar] .header .brand,html[lang=ar] .header .brand img{width:105px;height:36px}.header .language-switch a{min-width:26px;padding-inline:4px}.header .language-switch a:last-child{min-width:35px}}
@media print{#trinity-language-entry{display:none!important}.header .language-switch{display:none}}
