:root {
  --navy: #101A3D;
  --blue: #3C4CA6;
	--gold: #C6851A;
	 --rc-navy: #1B2B5E;
  --rc-navy-deep: #0F1A3C;
  --rc-navy-mid: #243370;
  --rc-teal: #1A6B6B;
  --rc-teal-light: #2A8F8F;
  --rc-teal-pale: #E8F4F4;
  --rc-teal-mid: #155C5C;
  --rc-gold: #C9861A;
  --rc-gold-light: #E8A830;
  --rc-gold-pale: #FDF5E6;
  --rc-cream: #F8F6F1;
  --rc-warm-bg: #F2F0EB;
  --rc-slate: #4A5568;
  --rc-mist: #E8EDF5;
  --rc-ink: #1A1A2E;
}

.no-m p {
	margin-bottom: 0;
}

.main-menu {
    padding: 0 !important;
    width: 100%;
    margin: 0;
    display: flex !important;
    flex-direction: column !important;
}

.main-menu ul.raven-adnav-menu li.menu-item>a.raven-link-item {
	background: transparent;
}

.topbar {
	padding: 0 !important;
	background: var(--navy); 
}

.topbar-inner {
    max-width: 1140px;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    padding-top: 8px;
}
.topbar-left, .topbar-right {
    width: 50%;
    padding: 0 !important;
}

.topbar-right {
    width: 50%;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
	gap: 20px;
	justify-content: right;
}

.topbar-menu-item {
	font-family: 'DM Sans', sans-serif;
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	line-height: 1.1;
	color: rgba(255,255,255,0.5);
	text-transform: uppercase;
	flex-shrink: 0;
	flex-grow: 0;
}

.topbar-menu-item a {
	color: rgba(255,255,255,0.5);
	transition: color 0.2s ease-in-out;
}

.topbar-menu-item a:hover {
	color: var(--gold);
}


.topbar-divider {
    width: 1px;
    height: 10px;
	min-width: 0 !important;
	padding: 0 !important;
    background: rgba(255, 255, 255, 0.25);
	flex-shrink: 0;
	flex-grow: 0;
}

.navbar-wrapper {
	padding: 0 !important;
	background: var(--blue);
}

.navbar-inner {
	padding: 0.5em 0 !important;
	max-width: 1140px;
	margin: 0 auto;
	display: flex !important;
	flex-direction: row !important;
}

.main-nav-wrapper {
	padding: 0 !important;
	display: flex !important;
	flex-direction: row !important;
	justify-content: right;
	gap: 20px;
	align-items: center;
}

.main-btn .elementor-button:hover svg path {
	fill: var(--e-global-color-3b2bf08) !important;
}

.main-btn.light .elementor-button:hover svg path {
	fill: #ffffff !important;
}

.main-btn .elementor-button-icon {
  display: inline-block; 
  transition: transform 0.3s ease-in-out; 
}

.main-btn .elementor-button:hover .elementor-button-icon {
  transform: translateX(5px); 
}

.title-spot {
	font-style: italic;
	color: #509BB6;
}

.section-light-blue {
    background: linear-gradient(to right, #CFDCDE 50%, #ffffff 50%);
}
.eyebrow {
    display: flex;
    align-items: center;       
    gap: 10px;                
    background: transparent;   
}

.eyebrow:before {
    content: '';
    flex-grow: 1;             
    height: 1px;
    background: var(--gold);
    order: 2;                 
}

.svc-list li.elementor-icon-list-item {
    transition: padding-left .2s;
}

.svc-list li.elementor-icon-list-item:hover {
    padding-left: 6px;
}

/* FOOTER */
.footer {	 
background: var(--navy);	 
padding: 0;	 
width: 100%;	 
}	 
.footer-inner {	 
max-width: 1140px;	 
margin: 0 auto;	 
padding: 4em 0 2em 0 !important;	 
display: flex;	 
flex-direction: row;	 
justify-content: space-between;	 
gap: 3em;	 
}	 
.footer-col {	 
display: flex;	 
flex-direction: column !important;	 
padding: 0 !important;	 
 width: calc((100% - 3em) / 4);
}


/* ── TRAINING CAROUSEL ── */
.rc-training-carousel-wrap {
  overflow: hidden !important;
  width: 100%;
  --overflow: hidden !important;
	padding: 0 !important;
	position: relative;
}

/* Splide resets */
.splide__track {
  overflow: hidden;
}

.splide__list {
  display: flex !important;
  gap: 0 !important;        /* gap is handled by Splide's gap option */
  padding: 0 !important;
  margin: 0 !important;
}

.splide__slide {
  flex-shrink: 0 !important;
  list-style: none !important;
	  height: auto !important;
  display: flex !important;
  flex-direction: column !important;

}

.splide__slide .rc-training-card {
  height: 100% !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.splide__slide .rc-training-card .training-text-wrapper {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.rc-training-card {
  border-radius: 14px;
  background: #EDEAE3;
  overflow: hidden;
  height: auto;
}

/* Nav */
.rc-carousel-nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

.rc-carousel-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(26, 43, 94, 0.2);
  background: transparent;
  color: #1B2B5E;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s;
}

.rc-carousel-btn:hover {
  background: #1B2B5E;
  color: #fff;
  border-color: #1B2B5E;
}

.rc-carousel-btn:disabled {
  opacity: 0.3;
  cursor: default;
}

.rc-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}

.rc-carousel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(26, 43, 94, 0.2);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.rc-carousel-dot.active {
  background: #C9861A;
  transform: scale(1.3);
}

.training-img {
    width: 100%;
}

/* Responsive */
@media (max-width: 1024px) {
  .rc-training-card {
		flex: 0 0 calc((100% - 3 * 16px) / 2.5);
  }
}

@media (max-width: 767px) {
	.rc-training-carousel-wrap {
	padding-left: 16px !important;
}
  .rc-training-card {
		flex: 0 0 calc((100% - 3 * 16px) / 1.1);
  }
  .rc-training-carousel {
    padding: 12px 20px 32px 20px !important;
  }
}

.brief-intro {
	max-width: 480px !important;
}


.page-id-596 header, .page-id-596 footer {
    display: none;
}

/* Bio wrapper — collapsed by default */
.c-bio-wrap {
  overflow: hidden !important;
  max-height: 0 !important;
  transition: max-height 0.4s ease !important;
  --overflow: hidden !important;
  --height: auto !important;
}

.c-bio-wrap.open {
  max-height: 600px !important;
}

/* Read Bio button styling */
.c-read-more.elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.c-read-more.elementor-button:hover {
  background: transparent !important;
  color: #2A8F8F !important;
}

/* Arrow icon appended by JS */
.c-read-more .bio-arrow {
  display: inline-block;
  transition: transform 0.3s ease;
  font-size: 14px;
}

.c-read-more.open .bio-arrow {
  transform: rotate(180deg);
}

/* Reveal Elements Effect */
.rc-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.55s ease-out, transform 0.55s ease-out;
}

.rc-reveal.rc-visible {
  opacity: 1;
  transform: translateY(0);
}

.rc-reveal-d1 { transition-delay: 0.1s; }
.rc-reveal-d2 { transition-delay: 0.2s; }
.rc-reveal-d3 { transition-delay: 0.3s; }
.rc-reveal-d4 { transition-delay: 0.4s; }
.rc-reveal-d5 { transition-delay: 0.5s; }

/* ── LIVE SITE: hidden by default ── */
.rc-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.55s ease-out, transform 0.55s ease-out;
}

.rc-reveal.rc-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── ELEMENTOR EDITOR: always visible ──
   These classes are on the body when inside
   the Elementor editor. No JS needed.        ── */
.elementor-editor-active .rc-reveal,
.elementor-editor-preview .rc-reveal {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: none !important;
}

.service-row {
    transition: background .15s, padding-left .2s;
    cursor: default;
}

.service-row:hover {
    background: var(--rc-teal-pale);
    padding-left: 22px;
}

.service-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--rc-teal);
    flex-shrink: 0;
}

.cta-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(-55deg, transparent, transparent 18px, rgba(42, 143, 143, 0.06) 18px, rgba(42, 143, 143, 0.06) 19px);
    pointer-events: none;
}

.cta-banner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(to right, var(--rc-gold), var(--rc-teal-light), var(--rc-gold-light));
}

.img-full {
    height: 100%;
}

.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active:after {
    height: 5px !important;
    width: 100% !important;
    background: #C9861A
;
    bottom: 0;
    display: block;
    left: 0 !important;
}

.packet-items {
    display: flex;
    flex-direction: column;
}

.packet-item {
    gap: 12px;
	margin-bottom: 12px;
}

.packet-content {
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: start;
    align-items: flex-start;
}

.shadow-row {
    transition: transform 0.2s, box-shadow 0.2s;
}

.shadow-row:hover {
    box-shadow: 0 6px 18px rgba(26, 63, 111, 0.08);
}

.square-img img {
    aspect-ratio: 1;
    object-fit: cover;
    object-position: top center;
}