/* A physical LTR track keeps both copies adjacent even on the Arabic page. */
.hero-marquee { direction: ltr; }
.hero-marquee-track { display: flex; width: max-content; direction: ltr; animation: hero-ticker var(--ticker-duration, 36s) linear infinite; }
.hero-marquee-group { display: flex; flex-shrink: 0; align-items: center; }
.hero-marquee-word { display: inline-flex; flex-shrink: 0; align-items: center; gap: 16px; padding-inline: 18px; white-space: nowrap; font-size: 16px; font-weight: 600; color: #d4d4d8; }
[dir="rtl"] .hero-marquee-word { direction: rtl; }
@keyframes hero-ticker { to { transform: translateX(-50%); } }
.menu-trigger, .menu-close { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border: 1px solid #18afe7; border-radius: 50%; color: #112c5b; background: transparent; cursor: pointer; }
.menu-trigger svg, .menu-close svg { width: 22px; height: 22px; }
.menu-trigger:focus-visible, .site-menu a:focus-visible, .menu-close:focus-visible { outline: 2px solid #7ed4fa; outline-offset: 4px; }
html.menu-is-open { overflow: hidden; }
.site-menu { --menu-start: -100%; position: fixed; inset-block: 0; inset-inline-start: 0; inset-inline-end: auto; margin: 0; width: min(430px, calc(100vw - 24px)); height: 100dvh; max-height: none; max-width: none; padding: 32px; border: 0; background: rgb(9 26 48 / 85%); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); color: #eff9ff; box-shadow: 0 0 80px #0005; overflow-y: auto; overscroll-behavior: contain; }
[dir="rtl"] .site-menu { --menu-start: 100%; }
.site-menu[open] { display: flex; flex-direction: column; animation: menu-enter 300ms cubic-bezier(.2,.8,.2,1) both; }
.site-menu.is-closing { animation: menu-exit 200ms ease-in both; }
.site-menu::backdrop { background: rgb(4 14 29 / 18%); }
@keyframes menu-enter { from { transform: translateX(var(--menu-start)); opacity: .6; } to { transform: translateX(0); opacity: 1; } }
@keyframes menu-exit { to { transform: translateX(var(--menu-start)); opacity: 0; } }
.site-menu-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.menu-close { color: #7ed4fa; }
.site-menu-title { margin: 42px 0 24px; color: #a6c0d9; font-size: 15px; }
.site-menu-links { display: grid; }
.site-menu-links a { display: flex; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid #ffffff14; font-size: 21px; font-weight: 600; transition: color 180ms; }
.site-menu-links a:hover { color: #42c5f5; }
.menu-link-number { color: #42c5f5; font-size: 12px; font-weight: 400; }
.site-menu-links svg { width: 19px; height: 19px; margin-inline-start: auto; color: #7ed4fa; }
.site-menu-bottom { display: grid; gap: 18px; margin-top: auto; padding-top: 32px; }
.menu-project-link { display: flex; min-height: 52px; align-items: center; justify-content: center; font-weight: 700; }
.menu-language { color: #b9e7ff; text-align: center; font-size: 14px; }
.scroll-reveal { transition: opacity 650ms ease, translate 650ms cubic-bezier(.2,.7,.2,1); }
.scroll-reveal.is-reveal-pending { opacity: 0; translate: 0 22px; }
.scroll-reveal.is-revealed { opacity: 1; translate: 0 0; }
@media (max-width: 1399px) { .desktop-navigation a { padding-inline: 9px; } .navigation-actions .nav-project-button { padding-inline: 15px; } }
@media (min-width: 1280px) { .menu-trigger { display: none; } }
@media (max-width: 479px) { .site-menu { padding: 24px; } .site-menu-title { margin-top: 30px; } .site-menu-links a { padding-block: 15px; } }
html:not(.js) .menu-trigger { display: none; }
html:not(.js) .desktop-navigation { display: flex; flex-wrap: wrap; }
.back-to-top { position: fixed; left: 24px; bottom: 24px; z-index: 40; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: #091a30; color: #7ed4fa; box-shadow: 0 5px 22px #07122330; cursor: pointer; transition: background 180ms, transform 180ms; }
.back-to-top[hidden] { display: none; }
.back-to-top:hover { background: #112c5b; transform: translateY(-3px); }
.back-to-top:focus-visible { outline: 2px solid #0aa3ff; outline-offset: 4px; }
.back-to-top-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); stroke-width: 2; }
.back-to-top-track { stroke: #ffffff26; }
.back-to-top-progress { stroke: #18afe7; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--scroll-progress, 0)); }
.back-to-top-arrow { width: 22px; height: 22px; }
@media (max-width: 767px) {
    .hero-navigation .navigation-actions { gap: 6px; }
    .navigation-actions .nav-project-button { min-height: 40px; padding: 9px 12px; gap: 6px; font-size: 12px; }
}
@media (max-width: 639px) {
    .hero-actions { gap: 10px; }
    .hero-actions > a { min-width: 0; min-height: 48px; padding: 12px 8px; gap: 6px; font-size: 12px; }
    .hero-actions svg { flex-shrink: 0; }
}
@media (max-width: 479px) {
    .hero-navigation > .navigation-bar { flex-wrap: wrap; }
    .hero-navigation .navigation-bar > a > span { max-width: 76px; }
    .hero-navigation .navigation-actions { margin-inline-start: auto; }
    .hero-navigation .navigation-bar .menu-trigger, .hero-navigation .navigation-bar a.border { width: 34px; min-width: 34px; height: 34px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .back-to-top { transition: none; }
    html { scroll-behavior: auto !important; }
    .hero-marquee-track { animation: none; }
    .hero-marquee { overflow-x: auto; }
    .hero-marquee-group[aria-hidden] { display: none; }
    .site-menu[open], .site-menu.is-closing { animation: none; }
    .scroll-reveal, .scroll-reveal.is-reveal-pending { transition: none; opacity: 1; translate: none; }
}
