/* Entry page (welcome.html) and organisations page (organisations.html). 14 Nov 2026. Design C tokens only:
   navy #0e1a2b, raised navy #172a44, yellow #ffd23f, cream #faf9f5, mist #b9c6d8, blue #1f4fbf, slate #4b5768,
   pale yellow #fff3c2, pale blue #e3ebf7. Every text pair here is ≥ 4.5:1 (see design/system/DESIGN.md). */
.entry-page { background: #0e1a2b; color: #faf9f5; min-block-size: 100vh; display: flex; flex-direction: column; }
.entry-bar { display: flex; align-items: center; gap: 16px; padding: 14px clamp(16px, 4vw, 48px); border-block-end: 3px solid #ffd23f; }
.entry-bar .site-logo svg { inline-size: 84px; block-size: auto; direction: ltr; }
.entry-bar .lang-switch { margin-inline-start: auto; }
.entry-main { flex: 1; display: grid; place-items: center; padding: clamp(32px, 6vw, 80px) clamp(16px, 4vw, 48px); }
.entry-box { inline-size: min(100%, 1040px); display: grid; gap: 28px; }
.entry-kicker { margin: 0; color: #ffd23f; font-weight: 700; letter-spacing: .02em; }
.entry-title { margin: 0; font-size: clamp(2.2rem, 1.4rem + 3.6vw, 4.4rem); line-height: 1.04; font-weight: 800; letter-spacing: -.03em; }
html[lang="ar"] .entry-title { letter-spacing: 0; line-height: 1.3; }
.entry-lead { margin: 0; color: #b9c6d8; font-size: 1.125rem; max-inline-size: 56ch; }
.entry-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 18px; }
.entry-choice { display: grid; gap: 10px; align-content: start; padding: clamp(22px, 3vw, 32px); border-radius: 24px; text-decoration: none; min-block-size: 220px;
  background: #172a44; color: #faf9f5; border: 2px solid #26405f; transition: transform .18s ease, border-color .18s ease; }
.entry-choice:hover, .entry-choice:focus-visible { border-color: #ffd23f; transform: translateY(-2px); }
.entry-choice:focus-visible { outline: 3px solid #ffd23f; outline-offset: 3px; }
.entry-choice .ico { inline-size: 40px; block-size: 40px; padding: 8px; border-radius: 12px; background: #ffd23f; color: #0e1a2b; stroke: currentColor; fill: none; stroke-width: 2; }
.entry-choice strong { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); font-weight: 800; }
.entry-choice > span { color: #b9c6d8; line-height: 1.55; }
.entry-choice em { font-style: normal; margin-block-start: auto; color: #ffd23f; font-weight: 700; }
.entry-choice.org { background: #ffd23f; color: #0e1a2b; border-color: #ffd23f; }
.entry-choice.org > span { color: #0e1a2b; }
.entry-choice.org em { color: #0e1a2b; }
.entry-choice.org .ico { background: #0e1a2b; color: #ffd23f; }
.entry-choice.org:hover, .entry-choice.org:focus-visible { border-color: #faf9f5; }
.entry-note { margin: 0; color: #b9c6d8; font-size: .9375rem; }
.entry-foot { padding: 16px clamp(16px, 4vw, 48px); color: #b9c6d8; font-size: .9375rem; border-block-start: 1px solid #26405f; }
@media (prefers-reduced-motion: reduce) { .entry-choice { transition: none; } .entry-choice:hover { transform: none; } }

/* ---------- Organisations page ---------- */
.org-page { background: #faf9f5; color: #0e1a2b; }
.org-hero { background: #0e1a2b; color: #faf9f5; padding: clamp(40px, 7vw, 96px) clamp(16px, 4vw, 48px); }
.org-wrap { inline-size: min(100%, 1120px); margin-inline: auto; }
.org-hero .org-wrap { display: grid; gap: 22px; }
.org-hero h1 { margin: 0; font-size: clamp(2.1rem, 1.3rem + 3.2vw, 4rem); line-height: 1.05; font-weight: 800; letter-spacing: -.03em; max-inline-size: 18ch; }
html[lang="ar"] .org-hero h1 { letter-spacing: 0; line-height: 1.3; }
.org-hero h1 b { color: #ffd23f; font-weight: 800; }
.org-hero p { margin: 0; color: #b9c6d8; font-size: 1.125rem; max-inline-size: 60ch; line-height: 1.6; }
.org-ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.org-ctas .rq-btn { min-block-size: 52px; }
.btn-yellow { background: #ffd23f; color: #0e1a2b; border: 2px solid #ffd23f; }
.btn-line-light { background: transparent; color: #faf9f5; border: 2px solid #b9c6d8; }
.btn-google { display: inline-flex; align-items: center; gap: 10px; background: #ffffff; color: #1f1f1f; border: 1px solid #747775; border-radius: 12px; padding: 0 18px; min-block-size: 52px; font-weight: 600; text-decoration: none; font-family: "Readex Pro", system-ui, sans-serif; }
.btn-google svg { inline-size: 20px; block-size: 20px; flex: none; }
.org-signin { color: #faf9f5; font-weight: 600; text-underline-offset: 3px; }
.org-section { padding: clamp(40px, 6vw, 80px) clamp(16px, 4vw, 48px); }
.org-section h2 { margin: 0 0 22px; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); font-weight: 800; letter-spacing: -.02em; }
html[lang="ar"] .org-section h2 { letter-spacing: 0; }
.org-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; counter-reset: step; }
.org-steps li { background: #ffffff; border: 1px solid #d6dce5; border-radius: 20px; padding: 22px; display: grid; gap: 8px; counter-increment: step; }
.org-steps li::before { content: counter(step); inline-size: 40px; block-size: 40px; border-radius: 50%; display: grid; place-items: center; background: #0e1a2b; color: #ffd23f; font-weight: 800; }
.org-steps strong { font-size: 1.15rem; }
.org-steps p, .org-grid p, .org-faq p { margin: 0; color: #4b5768; line-height: 1.6; }
.org-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.org-card { background: #ffffff; border: 1px solid #d6dce5; border-radius: 20px; padding: 22px; display: grid; gap: 10px; }
.org-card.pale { background: #fff3c2; border-color: #e6cf7a; }
.org-card h3 { margin: 0; font-size: 1.15rem; }
.org-card ul { margin: 0; padding-inline-start: 20px; color: #4b5768; line-height: 1.7; }
.org-faq { display: grid; gap: 10px; }
.org-faq details { background: #ffffff; border: 1px solid #d6dce5; border-radius: 16px; padding: 16px 20px; }
.org-faq summary { cursor: pointer; font-weight: 700; min-block-size: 28px; }
.org-faq details[open] summary { margin-block-end: 8px; }
.org-band { background: #e3ebf7; }
.org-final { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.org-final p { margin: 0; color: #4b5768; }
.org-final .rq-btn.btn-dark { background: #1f4fbf; color: #ffffff; }
.org-support a { color: #1f4fbf; font-weight: 600; }
.org-foot { background: #0e1a2b; color: #b9c6d8; padding: 20px clamp(16px, 4vw, 48px); font-size: .9375rem; }
.org-foot a { color: #faf9f5; }

.org-hero .entry-kicker { color: #ffd23f; }
