:root{
--color-navy-950:#0A1729;
--color-navy-900:#0E2138;
--color-navy-800:#16304F;
--color-navy-700:#20406A;
--color-navy-600:#2E5484;
--color-yellow-600:#C98A1F;
--color-yellow-500:#E7A93E;
--color-yellow-400:#F0C46B;
--color-yellow-100:#FBEACB;
--color-white:#FFFFFF;
--color-gray-50:#F5F6F8;
--color-gray-100:#EBEDF1;
--color-gray-200:#E2E5EA;
--color-gray-400:#9AA3B2;
--color-gray-600:#5B6472;
--color-gray-800:#2B3240;

--surface-dark:var(--color-navy-900);
--surface-dark-raised:var(--color-navy-800);
--surface-light:var(--color-white);
--surface-muted:var(--color-gray-50);
--surface-divider-dark:var(--color-navy-700);
--surface-divider-light:var(--color-gray-200);

--text-on-dark:var(--color-white);
--text-on-dark-muted:var(--color-gray-400);
--text-on-light:var(--color-navy-900);
--text-on-light-muted:var(--color-gray-600);

--accent:var(--color-yellow-500);
--accent-hover:var(--color-yellow-600);
--accent-tint:var(--color-yellow-100);
--accent-contrast:var(--color-navy-900);

--radius-sm:4px;
--radius-md:8px;
--radius-lg:14px;
--radius-xl:20px;
--radius-pill:999px;

--shadow-card:0 12px 32px rgba(10,23,41,0.14);
--shadow-elevated:0 24px 60px rgba(10,23,41,0.28);
--shadow-button:0 8px 20px rgba(231,169,62,0.35);

--overlay-dark:linear-gradient(180deg,rgba(10,23,41,0.15) 0%,rgba(10,23,41,0.85) 100%);
--overlay-hero:linear-gradient(100deg,rgba(10,23,41,0.92) 15%,rgba(10,23,41,0.55) 60%,rgba(10,23,41,0.35) 100%);

--font-display:'Poppins',sans-serif;
--font-body:'Poppins',sans-serif;
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
--weight-extrabold:800;
--tracking-tight:-0.01em;
--tracking-normal:0;
--tracking-kicker:0.16em;
--text-xs:12px;
--text-sm:14px;
--text-base:16px;
--text-md:18px;
--text-lg:22px;
--text-xl:28px;
--text-2xl:36px;
--text-3xl:48px;
--text-4xl:64px;
--text-5xl:80px;
--leading-tight:1.05;
--leading-snug:1.25;
--leading-normal:1.55;

--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:20px;
--space-6:24px;
--space-8:32px;
--space-10:40px;
--space-12:48px;
--space-16:64px;
--space-20:80px;
--space-24:96px;
--space-32:128px;
--container-max:1280px;
--container-pad:32px;
--section-pad-y:96px;

--ease-standard:cubic-bezier(.4,0,.2,1);
--duration-fast:150ms;
--duration-base:220ms;
}

body{margin:0;font-family:var(--font-body);background:#fff}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
*{box-sizing:border-box}
::-webkit-scrollbar{width:10px}
@keyframes scrollLogos{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes navSlideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes navSlideLeft{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
.gr-btn-primary:hover{background:var(--accent-hover) !important;transform:translateY(-1px)}
.gr-btn-outline-dark:hover{background:rgba(255,255,255,0.14) !important;border-color:#fff !important}
.gr-btn-outline-light:hover{background:var(--surface-muted) !important;border-color:var(--text-on-light) !important}
.gr-btn-ghost:hover{color:var(--accent-hover) !important}

/* Back to top button with scroll-progress ring */
.gr-back-to-top{
position:fixed;right:28px;bottom:28px;z-index:1500;
width:48px;height:48px;border-radius:50%;
background:var(--accent);color:var(--accent-contrast);
display:flex;align-items:center;justify-content:center;
box-shadow:var(--shadow-button);
opacity:0;transform:translateY(16px) scale(0.7);pointer-events:none;
transition:opacity 350ms cubic-bezier(.34,1.56,.64,1),transform 350ms cubic-bezier(.34,1.56,.64,1),background 200ms ease-out,box-shadow 200ms ease-out;
text-decoration:none;
}
.gr-back-to-top.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.gr-back-to-top:hover{background:var(--accent-hover);color:var(--accent-contrast);transform:translateY(-3px) scale(1.05);box-shadow:0 12px 28px rgba(10,23,41,0.35)}
.gr-back-to-top-arrow{position:relative;z-index:2;width:18px;height:18px}
.gr-back-to-top-ring{position:absolute;inset:0;z-index:1;transform:rotate(-90deg);pointer-events:none}
.gr-back-to-top-ring .gr-ring-bg{fill:none;stroke:rgba(14,33,56,0.18);stroke-width:2.5}
.gr-back-to-top-ring .gr-ring-progress{
fill:none;stroke:var(--color-navy-900);stroke-width:2.5;stroke-linecap:round;
stroke-dasharray:131.95;stroke-dashoffset:131.95;
transition:stroke-dashoffset 120ms linear;
}

/* Accreditation / logo marquee (Elementor Image Carousel already handles autoplay natively;
   this just softens the left/right edges to match the design's mask-image fade) */
.gr-fade-edges .swiper{
-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}

/* Sticky header offset so fixed nav never overlaps hero content */
.gr-header-spacer{height:62px}
@media (max-width:1024px){.gr-header-spacer{height:62px}}

/* Hero background-slideshow vertical pagination (left edge, circular dots + connecting line) */
.gr-slide-nav{
position:absolute;left:21px;top:50%;transform:translateY(-50%);
display:flex;flex-direction:column;align-items:center;gap:28px;
z-index:5;
}
.gr-slide-nav-line{
position:absolute;left:50%;top:2px;bottom:2px;width:1px;
background:rgba(255,255,255,0.25);
transform:translateX(-50%);
z-index:0;
}
.gr-slide-dot{
position:relative;z-index:1;
width:10px;height:10px;padding:0;margin:0;
border-radius:50%;
background:rgba(14,33,56,0.4);
border:2px solid rgba(255,255,255,0.55);
cursor:pointer;
transition:background 250ms ease,border-color 250ms ease,transform 250ms ease,box-shadow 250ms ease;
}
.gr-slide-dot:hover{border-color:var(--color-yellow-500)}
.gr-slide-dot.gr-active{
background:var(--color-yellow-500);
border-color:var(--color-yellow-500);
transform:scale(1.2);
box-shadow:0 0 0 4px rgba(231,169,62,0.25);
}
@media (max-width:1024px){.gr-slide-nav{display:none}}

/* Coverage-area map pin: continuous smooth bounce while active */
@keyframes grPinBounce{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-10px);}
}
.gr-pin-active .elementor-icon{
animation:grPinBounce 1.1s ease-in-out infinite;
}

/* Mobile off-canvas menu panel */
.gr-mobile-overlay{
position:fixed;inset:0;background:rgba(10,23,41,0.55);
opacity:0;visibility:hidden;transition:opacity 300ms ease,visibility 300ms;
z-index:9998;
}
.gr-mobile-overlay.is-open{opacity:1;visibility:visible;}

.gr-mobile-panel{
position:fixed;top:0;right:0;bottom:0;
width:320px;max-width:85vw;
background:var(--color-navy-900);
box-shadow:-20px 0 50px rgba(10,23,41,0.35);
transform:translateX(100%);
z-index:9999;
display:none;
flex-direction:column;
box-sizing:border-box;
}
.gr-mobile-panel.is-open{transform:translateX(0);}
/* Belt-and-suspenders: the close button (and rest of the panel) must never be
   visible/clickable unless the panel is actually open, regardless of any
   transition/transform edge case. Delay hiding until the slide-out finishes
   so the closing animation still plays. */
.gr-mobile-panel{visibility:hidden;pointer-events:none;transition:transform 320ms cubic-bezier(.25,.8,.35,1),visibility 0s linear 320ms;}
.gr-mobile-panel.is-open{visibility:visible;pointer-events:auto;transition:transform 320ms cubic-bezier(.25,.8,.35,1),visibility 0s linear 0s;}
.gr-mobile-panel__scroll{
flex:1 1 auto;
overflow-y:auto;
padding:24px 24px 0;
}

@media(max-width:1024px){.gr-mobile-panel{display:flex;}}

.gr-mobile-panel__close{
position:absolute;top:20px;right:20px;z-index:10;
width:40px;height:40px;border-radius:50%;
background:var(--color-navy-800);color:#FFFFFF;border:none;cursor:pointer;
display:flex;align-items:center;justify-content:center;
pointer-events:auto;touch-action:manipulation;
transition:background 200ms ease,color 200ms ease,transform 200ms ease;
}
.gr-mobile-panel__close:hover{background:var(--color-yellow-500);color:var(--color-navy-900);transform:rotate(90deg);}

.gr-mobile-panel__logo{margin:4px 0 20px;}
.gr-mobile-panel__logo img{width:120px;height:auto;display:block;}

.gr-mobile-panel__callout{margin-bottom:20px;text-align:center;}
#gr-mobile-panel .gr-mobile-panel__callout .elementor-widget-heading{margin-bottom:6px !important;}
#gr-mobile-panel .gr-mobile-panel__callout .elementor-widget-heading:first-child .elementor-heading-title{
font-size:11px !important;letter-spacing:0.08em !important;
}
#gr-mobile-panel .gr-mobile-panel__callout .elementor-widget-heading:last-child .elementor-heading-title,
#gr-mobile-panel .gr-mobile-panel__callout .elementor-widget-heading:last-child .elementor-heading-title a{
font-size:18px !important;
}

.gr-mobile-panel__nav{
border-top:1px solid var(--color-navy-700);
padding-top:4px;
margin-bottom:28px;
}
.gr-mobile-panel__nav ul.elementor-nav-menu{list-style:none;margin:0;padding:0;}
.gr-mobile-panel__nav > ul.elementor-nav-menu > li{
border-bottom:1px solid var(--color-navy-700);
}

/* Kill every leftover indicator (SmartMenus arrow, desktop caret pseudo-elements) —
   only our own .gr-acc-toggle chevron should render inside the panel. */
#gr-mobile-panel .elementor-item:after,
#gr-mobile-panel .elementor-item:before,
#gr-mobile-panel .elementor-sub-item:after,
#gr-mobile-panel .elementor-sub-item:before,
#gr-mobile-panel .sub-arrow{
content:none !important;display:none !important;
}

.gr-mobile-panel__nav .elementor-item{
display:flex;align-items:center;justify-content:space-between;
min-height:44px;box-sizing:border-box;
padding:10px 4px !important;
color:#FFFFFF;font-family:Poppins,sans-serif;font-weight:500;font-size:15px;
text-transform:uppercase;letter-spacing:0.02em;
text-decoration:none;
}
.gr-mobile-panel__nav .elementor-item:hover,
.gr-mobile-panel__nav li.gr-acc-open > a{color:var(--color-yellow-500);}

.gr-mobile-panel__nav .gr-acc-toggle{
display:flex !important;align-items:center;justify-content:center;
width:24px;height:24px;flex-shrink:0;
background:none;border:none;color:#FFFFFF;cursor:pointer;
transition:transform 250ms ease,color 200ms ease;
}
.gr-mobile-panel__nav .gr-acc-toggle:after{
content:"" !important;display:block !important;width:8px;height:8px;
border-right:2px solid currentColor;border-bottom:2px solid currentColor;
transform:rotate(45deg);margin-top:-4px;
}
.gr-mobile-panel__nav li.gr-acc-open > a .gr-acc-toggle{transform:rotate(-90deg);color:var(--color-yellow-500);}

#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown{
display:block !important;position:static !important;opacity:1 !important;visibility:visible !important;
transform:none !important;box-shadow:none !important;border:none !important;background:var(--color-navy-900) !important;
width:auto !important;min-width:0 !important;max-width:none !important;
pointer-events:auto !important;border-radius:0 !important;
list-style:none;margin:0;padding:0;
max-height:0;overflow:hidden;
transition:max-height 300ms ease;
}
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown li{border:none !important;}
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown .elementor-item,
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown .elementor-sub-item{
display:flex;align-items:center;justify-content:space-between;
min-height:36px;box-sizing:border-box;
font-size:13px;font-weight:500;text-transform:none;letter-spacing:0.02em;padding:6px 4px 6px 8px !important;
color:#FFFFFF;text-decoration:none;
}
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown .elementor-item:hover,
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown .elementor-sub-item:hover,
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown li.gr-acc-open > a{color:var(--color-yellow-500);}
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown ul.elementor-nav-menu--dropdown{
padding-left:4px;background:var(--color-navy-900) !important;
}
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown ul.elementor-nav-menu--dropdown .elementor-item,
#gr-mobile-panel .gr-mobile-panel__nav ul.elementor-nav-menu--dropdown ul.elementor-nav-menu--dropdown .elementor-sub-item{
padding-left:12px !important;
}

.gr-mobile-panel__social{
flex-shrink:0;
display:flex;gap:10px;justify-content:center;padding:16px 24px 24px;border-top:1px solid var(--color-navy-700);
}
#gr-mobile-panel .gr-mobile-panel__social .elementor-social-icon{
width:34px !important;height:34px !important;
background-color:transparent !important;
color:#FFFFFF !important;
}
#gr-mobile-panel .gr-mobile-panel__social .elementor-social-icon i,
#gr-mobile-panel .gr-mobile-panel__social .elementor-social-icon svg{
color:#FFFFFF !important;fill:#FFFFFF !important;
}
#gr-mobile-panel .gr-mobile-panel__social .elementor-social-icon:hover{
background-color:transparent !important;
}
#gr-mobile-panel .gr-mobile-panel__social .elementor-social-icon:hover i,
#gr-mobile-panel .gr-mobile-panel__social .elementor-social-icon:hover svg{
color:var(--color-yellow-500) !important;fill:var(--color-yellow-500) !important;
}

body.gr-offcanvas-open{overflow:hidden;}
