/* Ported 1:1 from the original site's inline <style> block in eka_layout.php */
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: 'Inter', sans-serif; overflow-x: hidden; max-width: 100%; }

.font-display { line-height: 1.18 !important; }
h1.font-display, h2.font-display { letter-spacing: -0.01em; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-thumb { background: #EF7F1A; border-radius: 2px; }

.nav-glass { background: rgba(255,255,255,0.94); backdrop-filter: blur(14px); box-shadow: 0 1px 24px rgba(24,43,76,0.10); }

.nav-link { position: relative; }
.nav-link::after { content:''; position:absolute; bottom:-3px; left:0; width:0; height:2px; background:#EF7F1A; transition:width .28s ease; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }

.dropdown-panel { opacity:0; visibility:hidden; transform:translateY(8px); transition:all .22s ease; }
.dropdown-wrap:hover .dropdown-panel { opacity:1; visibility:visible; transform:translateY(0); }

.hero-dark:not(.nav-glass) { background: rgba(24,43,76,0.25); backdrop-filter: blur(4px); }
.hero-dark:not(.nav-glass) .nav-color { color: rgba(255,255,255,0.92) !important; }
.hero-dark:not(.nav-glass) .nav-color:hover { color: #ffffff !important; }
.hero-dark:not(.nav-glass) .nav-logo-text { color: #ffffff !important; }

.hero-bg { background: linear-gradient(140deg, #EEF2F7 0%, #FFF7EE 45%, #F0F4F8 100%); }
.text-gradient { background: linear-gradient(130deg, #182B4C 0%, #EF7F1A 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

.label { display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#EF7F1A; margin-bottom:.75rem; }
.divider { height:1px; background: linear-gradient(90deg, transparent, #e2e8f0 40%, transparent); }
.lift { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.lift:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(24,43,76,0.13); border-color:#EF7F1A !important; }

.swiper-pagination-bullet { background:#cbd5e1; opacity:1; }
.swiper-pagination-bullet-active { background:#EF7F1A; }

#progress { position:fixed; top:0; left:0; height:3px; background: linear-gradient(90deg, #182B4C, #EF7F1A); z-index:9999; width:0; transition: width .08s linear; }
.fab-pulse { animation: fabglow 2.8s ease-in-out infinite; }
@keyframes fabglow { 0%,100%{box-shadow:0 4px 20px rgba(239,127,26,.45);} 50%{box-shadow:0 4px 40px rgba(239,127,26,.75);} }
.bounce { animation: bounce 2s ease-in-out infinite; }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
.stat-num { font-variant-numeric: tabular-nums; }
.img-card { position: relative; }
.img-card::before { content:''; position:absolute; inset:0; background: linear-gradient(to top, rgba(24,43,76,.28) 0%, transparent 55%); border-radius: inherit; z-index:1; }
.testi-card { background:#fff; border:1px solid #f1f5f9; border-radius:1.25rem; padding:2.25rem; max-width:640px; margin:0 auto; }
#scrolltop { display:none; }
#scrolltop.show { display:flex; }
.btn-shine { position:relative; overflow:hidden; }
.btn-shine::after { content:''; position:absolute; top:0; left:-100%; width:60%; height:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent); transition: left .5s ease; }
.btn-shine:hover::after { left:150%; }
.partner-card { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.partner-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(24,43,76,.12); border-color:#EF7F1A !important; }
.member-card { transition: transform .28s ease, box-shadow .28s ease; }
.member-card:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(24,43,76,.14); }
.page-banner { background: linear-gradient(135deg, #182B4C 0%, #233a66 60%, #EF7F1A 140%); position:relative; overflow:hidden; }
.page-banner::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 20% 30%, rgba(239,127,26,.25), transparent 40%), radial-gradient(circle at 80% 60%, rgba(255,255,255,.08), transparent 50%); pointer-events:none; }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.float-anim { animation: floaty 5s ease-in-out infinite; }
@keyframes pulseRing { 0% { box-shadow: 0 0 0 0 rgba(239,127,26,.45);} 70% { box-shadow: 0 0 0 18px rgba(239,127,26,0);} 100% { box-shadow: 0 0 0 0 rgba(239,127,26,0);} }
.pulse-ring { animation: pulseRing 2.4s ease-in-out infinite; }
@media (max-width: 768px) {
    [data-aos="fade-left"], [data-aos="fade-right"] { transform: none !important; opacity: 1 !important; transition: none !important; }
}

/* Elementor editor compatibility: don't let admin-bar/editor chrome fight the fixed nav */
.admin-bar #main-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar #main-nav { top: 46px; } }

/* Elementor's base widget CSS (.elementor img { height: auto }) outranks a bare Tailwind
   h-* utility by specificity, so manually-placed logo/icon <img> tags that size themselves
   with only a height class (e.g. sponsor logos) render at their raw intrinsic pixel size
   instead. Re-assert the intended heights at higher specificity. */
.elementor img.h-8 { height: 2rem; }
.elementor img.h-9 { height: 2.25rem; }
.elementor img.h-10 { height: 2.5rem; }
.elementor img.h-12 { height: 3rem; }
.elementor img.h-14 { height: 3.5rem; }
.elementor img.h-16 { height: 4rem; }
