/**
* Theme Name: Spirito Child
* Description: This is a child theme of Spirito, generated by Merlin WP.
* Author: <a href="https://pavothemes.com/">Pavothemes</a>
* Template: spirito
* Version: 1.0.49
*/

/* Preserve the animated text mask while allowing Switzer descenders to render. */
.text-duplicate-init .button-text-wrapper {
  padding-bottom: 0.14em;
  margin-bottom: -0.14em;
}

/* Keep the approved Homepage surfaces and global footer 50px from each horizontal desktop edge. */
@media (min-width: 1024px) {
  body.home .oracy-journey,
  body.home .oracy-statement,
  body #colophon .oracy-expert-cta,
  body #colophon .oracy-home-footer {
    width: calc(100% - 100px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }

  body #colophon .oracy-home-footer {
    margin-bottom: 0 !important;
  }
}

/* Leave visible space below the floating navigation when opening page anchors. */
#faq,
#programme-ages,
#programme-university {
  scroll-margin-top: 120px;
}

@media (max-width: 1023px) {
  #faq,
  #programme-ages,
  #programme-university {
    scroll-margin-top: 90px;
  }
}

/* Apply the fixed-nav arrow color to the icon-font glyph itself. */
@media (min-width: 1024px) {
  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon i::before {
    animation: oracy-nav-contact-icon-glyph linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  @media (prefers-reduced-motion: reduce) {
    .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon i::before {
      animation-timing-function: steps(1, end);
    }
  }
}

.elementor-widget-button.oracy-pill-button.oracy-contact-button .elementor-button:hover .elementor-button-icon i,
.elementor-widget-button.oracy-pill-button.oracy-contact-button .elementor-button:hover .elementor-button-icon i::before,
.elementor-widget-button.oracy-pill-button.oracy-contact-button .elementor-button:focus-visible .elementor-button-icon i,
.elementor-widget-button.oracy-pill-button.oracy-contact-button .elementor-button:focus-visible .elementor-button-icon i::before {
  color: #4DB74B !important;
  -webkit-text-fill-color: #4DB74B !important;
}

/* Keep global footer sections full-width on mobile pages. */
@media (max-width: 767px) {
  #colophon .elementor-262 > .oracy-expert-cta,
  #colophon .elementor-262 > .oracy-home-footer {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #colophon .elementor-262 > .oracy-home-footer {
    --margin-bottom: 0px !important;
    margin-bottom: 0 !important;
  }
}

/* Keep footer social icons horizontal on small screens.
 * Overrides Spirito's generic 260px auto-fit Elementor grid rule. */
@media (max-width: 585px) {
  .oracy-footer-socials .elementor-social-icons-wrapper.elementor-grid {
    grid-template-columns: repeat(3, auto);
    justify-content: center;
  }
}

/* Oracy Figma button system: top row is the base state, bottom row is hover. */
.oracy-pill-button .elementor-button {
  display: inline-flex;
  min-height: 50px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 4px 4px 4px 24px;
  border: 1px solid #EAEBEC;
  border-radius: 999px;
  background-color: #FFFFFF !important;
  color: #333333 !important;
  text-transform: none;
  box-shadow: none !important;
  white-space: nowrap;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.oracy-pill-button .elementor-button::after {
  content: "→";
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  border-radius: 50%;
  background-color: #F9921C;
  color: #FFFFFF;
  font-size: 18px;
  line-height: 1;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.oracy-pill-button .elementor-button:hover,
.oracy-pill-button .elementor-button:focus,
.oracy-pill-button .elementor-button:active {
  border-color: #F9921C;
  background-color: #F9921C !important;
  color: #FFFFFF !important;
}

.oracy-pill-button .elementor-button:hover::after,
.oracy-pill-button .elementor-button:focus::after,
.oracy-pill-button .elementor-button:active::after {
  background-color: #FFFFFF;
  color: #F9921C;
  transform: translateX(1px);
}

.oracy-pill-button .elementor-button:focus-visible {
  outline: 2px solid #333333;
  outline-offset: 2px;
}

.oracy-pill-button.oracy-orange-button .elementor-button,
.oracy-pill-button.oracy-signup-orange .elementor-button {
  border-width: 0;
  border-color: #F9921C;
  background-color: #F9921C !important;
  color: #FFFFFF !important;
}

.oracy-pill-button.oracy-orange-button .elementor-button::after,
.oracy-pill-button.oracy-signup-orange .elementor-button::after {
  background-color: #FFFFFF;
  color: #F9921C;
}

.oracy-pill-button.oracy-orange-button .elementor-button:hover,
.oracy-pill-button.oracy-orange-button .elementor-button:focus,
.oracy-pill-button.oracy-orange-button .elementor-button:active,
.oracy-pill-button.oracy-signup-orange .elementor-button:hover,
.oracy-pill-button.oracy-signup-orange .elementor-button:focus,
.oracy-pill-button.oracy-signup-orange .elementor-button:active {
  border-color: #4DB74B;
  background-color: #4DB74B !important;
}

.oracy-pill-button.oracy-orange-button .elementor-button:hover::after,
.oracy-pill-button.oracy-orange-button .elementor-button:focus::after,
.oracy-pill-button.oracy-orange-button .elementor-button:active::after,
.oracy-pill-button.oracy-signup-orange .elementor-button:hover::after,
.oracy-pill-button.oracy-signup-orange .elementor-button:focus::after,
.oracy-pill-button.oracy-signup-orange .elementor-button:active::after {
  color: #4DB74B;
}

.oracy-pill-button.oracy-green-button .elementor-button,
.oracy-pill-button.oracy-signup-green .elementor-button {
  border-width: 0;
  border-color: #4DB74B;
  background-color: #4DB74B !important;
  color: #FFFFFF !important;
}

.oracy-pill-button.oracy-green-button .elementor-button::after,
.oracy-pill-button.oracy-signup-green .elementor-button::after {
  background-color: #FFFFFF;
  color: #4DB74B;
}

.oracy-pill-button.oracy-green-button .elementor-button:hover,
.oracy-pill-button.oracy-green-button .elementor-button:focus,
.oracy-pill-button.oracy-green-button .elementor-button:active,
.oracy-pill-button.oracy-signup-green .elementor-button:hover,
.oracy-pill-button.oracy-signup-green .elementor-button:focus,
.oracy-pill-button.oracy-signup-green .elementor-button:active {
  border-color: #F9921C;
  background-color: #F9921C !important;
}

.oracy-pill-button.oracy-green-button .elementor-button:hover::after,
.oracy-pill-button.oracy-green-button .elementor-button:focus::after,
.oracy-pill-button.oracy-green-button .elementor-button:active::after,
.oracy-pill-button.oracy-signup-green .elementor-button:hover::after,
.oracy-pill-button.oracy-signup-green .elementor-button:focus::after,
.oracy-pill-button.oracy-signup-green .elementor-button:active::after {
  color: #F9921C;
}

@media (max-width: 767px) {
  .oracy-pill-button .elementor-button {
    min-height: 46px;
    gap: 9px;
    padding: 4px 4px 4px 18px;
  }

  .oracy-pill-button .elementor-button::after {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    font-size: 17px;
  }
}

/* Solid orange: orange base, green hover. */
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:active,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:active {
  background-color: #4DB74B !important;
  border-color: #4DB74B !important;
  color: #FFFFFF !important;
}

.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:hover::after,
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:focus::after,
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:active::after,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:hover::after,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:focus::after,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:active::after {
  background-color: #FFFFFF !important;
  color: #4DB74B !important;
}

/* Solid green: green base, orange hover. */
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:active,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:active {
  background-color: #F9921C !important;
  border-color: #F9921C !important;
  color: #FFFFFF !important;
}

.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:hover::after,
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:focus::after,
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:active::after,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:hover::after,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:focus::after,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:active::after {
  background-color: #FFFFFF !important;
  color: #F9921C !important;
}

/* White with orange icon: orange hover, white icon circle. */
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:hover,
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:focus,
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:active {
  background-color: #F9921C !important;
  border-color: #F9921C !important;
  color: #FFFFFF !important;
}

.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:hover::after,
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:focus::after,
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:active::after {
  background-color: #FFFFFF !important;
  color: #F9921C !important;
}

/* White with green icon: green hover, white icon circle. */
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button {
  background-color: #FFFFFF !important;
  border-color: #EAEBEC !important;
  color: #333333 !important;
}

.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button::after,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button::after {
  background-color: #4DB74B !important;
  color: #FFFFFF !important;
}

.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:active,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:active {
  background-color: #4DB74B !important;
  border-color: #4DB74B !important;
  color: #FFFFFF !important;
}

.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:hover::after,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:focus::after,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:active::after,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:hover::after,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:focus::after,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:active::after {
  background-color: #FFFFFF !important;
  color: #4DB74B !important;
}


/* The button keeps its base colour while the animated overlay supplies hover. */
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:hover,
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:focus,
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:active {
  background-color: #FFFFFF !important;
  border-color: #EAEBEC !important;
}

.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:active,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:active {
  background-color: #F9921C !important;
  border-color: #F9921C !important;
}

.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:active,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:active {
  background-color: #4DB74B !important;
  border-color: #4DB74B !important;
}

.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:active,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:hover,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:focus,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:active {
  background-color: #FFFFFF !important;
  border-color: #EAEBEC !important;
}

/* White/orange buttons and green buttons wave orange. */
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-signup-orange):not(.oracy-white-green-button):not(.oracy-green-icon-button) .rt-v1-overlay-shape {
  background: #F9921C !important;
}

/* Orange buttons and white/green buttons wave green. */
.elementor-widget-button.oracy-pill-button.oracy-orange-button .rt-v1-overlay-shape,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .rt-v1-overlay-shape,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .rt-v1-overlay-shape,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .rt-v1-overlay-shape {
  background: #4DB74B !important;
}


/* Use Spirito's native button icon animation; only the palette is customized. */
.elementor-widget-button.oracy-pill-button .elementor-button::after {
  content: none !important;
  display: none !important;
}

.elementor-widget-button.oracy-pill-button.enable-button-effects-yes .elementor-button.elementor-size-sm {
  gap: 0;
  padding: 4px 4px 4px 24px;
}

.elementor-widget-button.oracy-pill-button .elementor-button-content-wrapper {
  gap: 13px;
}

.elementor-widget-button.oracy-pill-button .elementor-button-icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #F9921C !important;
  color: #FFFFFF !important;
}

.elementor-widget-button.oracy-pill-button .elementor-button-icon i,
.elementor-widget-button.oracy-pill-button .elementor-button-icon svg {
  color: inherit !important;
}

.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #F9921C !important;
}

.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #4DB74B !important;
}

.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button-icon {
  background-color: #4DB74B !important;
  color: #FFFFFF !important;
}

.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:focus .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #F9921C !important;
}

.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-orange-button .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-signup-orange .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-green-icon-button .elementor-button:focus .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #4DB74B !important;
}

.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-green-button .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-signup-green .elementor-button:focus .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #F9921C !important;
}

@media (max-width: 767px) {
  .elementor-widget-button.oracy-pill-button.enable-button-effects-yes .elementor-button.elementor-size-sm {
    padding: 4px 4px 4px 18px;
  }

  .elementor-widget-button.oracy-pill-button .elementor-button-content-wrapper {
    gap: 9px;
  }

  .elementor-widget-button.oracy-pill-button .elementor-button-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
}

/* Floating desktop navbar shown after the visitor starts scrolling. */
@media (min-width: 1024px) {
  .oracy-home-nav.header-sticky {
    position: fixed !important;
    left: 0;
    right: 0;
    width: 100% !important;
    overflow: visible;
    isolation: isolate;
    z-index: 999 !important;
  }

  .oracy-home-nav.header-sticky::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 16px;
    left: 50%;
    right: auto;
    width: calc(100% - 40px);
    max-width: 1340px;
    margin-inline: 0;
    height: 100px;
    border: 1px solid rgba(234, 235, 236, 0.8);
    border-radius: 56px;
    background: #FFFFFF;
    box-shadow: 0 12px 28px rgba(51, 51, 51, 0.2);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -30px) scale(0.985);
    transform-origin: top center;
    animation: oracy-nav-surface linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky > .e-con-inner {
    max-width: 1340px !important;
    animation: oracy-nav-content linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-nav-logo {
    position: relative;
    animation: oracy-nav-logo-position linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-nav-logo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: url("https://in.oracygroup.com/wp-content/uploads/2026/07/logo-oracy-footer-0062b07b.svg") left center / 145px auto no-repeat;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    animation: oracy-nav-dark-logo linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-nav-logo img {
    animation: oracy-nav-light-logo linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-contact-button {
    animation: oracy-nav-contact-position linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: #F9921C;
    opacity: 0;
    pointer-events: none;
    animation: oracy-nav-contact-surface linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
    animation: oracy-nav-contact-text linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: #FFFFFF;
    opacity: 0;
    pointer-events: none;
    animation: oracy-nav-contact-icon-surface linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon i,
  .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon svg {
    position: relative;
    z-index: 1;
    animation: oracy-nav-contact-icon-glyph linear both;
    animation-timeline: scroll(root block);
    animation-range: 0 64px;
  }

  @keyframes oracy-nav-surface {
    0%, 20% {
      opacity: 0;
      transform: translate(-50%, -30px) scale(0.985);
    }
    100% {
      opacity: 1;
      transform: translate(-50%, 0) scale(1);
    }
  }

  @keyframes oracy-nav-content {
    0%, 20% { transform: translateY(0); }
    100% { transform: translateY(31px); }
  }

  @keyframes oracy-nav-logo-position {
    0%, 20% { transform: translateX(0); }
    100% { transform: translateX(32px); }
  }

  @keyframes oracy-nav-contact-position {
    0%, 20% { transform: translateX(0); }
    100% { transform: translateX(-28px); }
  }

  @keyframes oracy-nav-light-logo {
    0%, 20% { opacity: 1; }
    100% { opacity: 0; }
  }

  @keyframes oracy-nav-dark-logo {
    0%, 20% {
      opacity: 0;
      transform: translateY(-4px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes oracy-nav-contact-surface {
    0%, 20% { opacity: 0; }
    100% { opacity: 1; }
  }

  @keyframes oracy-nav-contact-text {
    0%, 20% { color: #333333; }
    100% { color: #FFFFFF; }
  }

  @keyframes oracy-nav-contact-icon-surface {
    0%, 20% { opacity: 0; }
    100% { opacity: 1; }
  }

  @keyframes oracy-nav-contact-icon-glyph {
    0%, 20% {
      color: #FFFFFF;
      -webkit-text-fill-color: #FFFFFF;
    }
    100% {
      color: #F9921C;
      -webkit-text-fill-color: #F9921C;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .oracy-home-nav.header-sticky::before,
    .oracy-home-nav.header-sticky > .e-con-inner,
    .oracy-home-nav.header-sticky .oracy-nav-logo,
    .oracy-home-nav.header-sticky .oracy-nav-logo::after,
    .oracy-home-nav.header-sticky .oracy-nav-logo img,
    .oracy-home-nav.header-sticky .oracy-contact-button,
    .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button::before,
    .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-content-wrapper,
    .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon::before,
    .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon i,
    .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-icon svg {
      animation-timing-function: steps(1, end);
    }
  }
}

/* Keep the Back to Top control on the Oracy orange brand color. */
.scrollup,
.scrollup:hover,
.scrollup:focus,
.scrollup:active {
  background-color: #F9921C !important;
  color: #FFFFFF !important;
}

.scrollup .scrollup-icon {
  color: inherit !important;
}

.scrollup:focus-visible {
  outline: 2px solid #333333;
  outline-offset: 3px;
}

/* Match the Programme hero CTA to its borderless Figma pill. */
.oracy-programme-hero-button .elementor-button {
  border-width: 0 !important;
}

/* Match the University Students card CTA to its borderless green-icon pill. */
.oracy-university-card-button .elementor-button {
  border-width: 0 !important;
}

/* Match the shared expert CTA to its borderless WhatsApp pill. */
.oracy-expert-whatsapp-button .elementor-button {
  border-width: 0 !important;
}

/* Only the shared footer WhatsApp CTA changes from green to orange on hover. */
.elementor-widget-button.oracy-pill-button.oracy-white-green-button.oracy-expert-whatsapp-button .rt-v1-overlay-shape {
  background: #F9921C !important;
}

.elementor-widget-button.oracy-pill-button.oracy-white-green-button.oracy-expert-whatsapp-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button.oracy-expert-whatsapp-button .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-white-green-button.oracy-expert-whatsapp-button .elementor-button:active .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #F9921C !important;
}

/* Keep the shared header Contact Us CTA green on hover. */
.elementor-widget-button.oracy-pill-button.oracy-contact-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .rt-v1-overlay-shape {
  background: #4DB74B !important;
}

.elementor-widget-button.oracy-pill-button.oracy-contact-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-contact-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:focus .elementor-button-icon,
.elementor-widget-button.oracy-pill-button.oracy-contact-button:not(.oracy-orange-button):not(.oracy-green-button):not(.oracy-signup-orange):not(.oracy-signup-green):not(.oracy-white-green-button):not(.oracy-green-icon-button) .elementor-button:active .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #4DB74B !important;
}

/* Remove top padding from the shared sticky navigation's inner container. */
.oracy-home-nav.header-sticky > .e-con-inner {
  padding-top: 0 !important;
}

/* Keep Contact Us text white on orange header buttons across inner pages. */
body:not(.home) .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-content-wrapper,
body:not(.home) .oracy-home-nav.header-sticky .oracy-contact-button .elementor-button-text {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Give the featured blog Read Article CTA the shared green hover response. */
.oracy-blog-feature-loop-widget .oracy-feature-loop__button {
  transition: background-color 240ms ease, color 240ms ease;
}

.oracy-blog-feature-loop-widget .oracy-feature-loop__arrow {
  transition: color 240ms ease, transform 240ms ease;
}

.oracy-blog-feature-loop-widget .oracy-feature-loop__button:hover,
.oracy-blog-feature-loop-widget .oracy-feature-loop__button:focus-visible {
  background-color: #4DB74B;
  color: #FFFFFF;
}

.oracy-blog-feature-loop-widget .oracy-feature-loop__button:hover .oracy-feature-loop__arrow,
.oracy-blog-feature-loop-widget .oracy-feature-loop__button:focus-visible .oracy-feature-loop__arrow {
  color: #4DB74B;
  transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
  .oracy-blog-feature-loop-widget .oracy-feature-loop__button,
  .oracy-blog-feature-loop-widget .oracy-feature-loop__arrow {
    transition-duration: 0.01ms;
  }

  .oracy-blog-feature-loop-widget .oracy-feature-loop__button:hover .oracy-feature-loop__arrow,
  .oracy-blog-feature-loop-widget .oracy-feature-loop__button:focus-visible .oracy-feature-loop__arrow {
    transform: none;
  }
}

/* Match the blog post comment submit hover to the shared green CTA state. */
.single-post .comment-form .oracy-post-comment-submit {
  transition: background-color 240ms ease, border-color 240ms ease, color 240ms ease;
}

.single-post .comment-form .oracy-post-comment-submit:hover {
  color: #FFFFFF !important;
}

.single-post .comment-form .oracy-post-comment-submit:focus-visible {
  background-color: #4DB74B !important;
  border-color: #4DB74B !important;
  color: #FFFFFF !important;
}

.single-post .comment-form .oracy-post-comment-submit:hover .elementor-button-text,
.single-post .comment-form .oracy-post-comment-submit:focus-visible .elementor-button-text {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.single-post .comment-form .oracy-post-comment-submit:hover .elementor-button-icon,
.single-post .comment-form .oracy-post-comment-submit:focus-visible .elementor-button-icon {
  background-color: #FFFFFF !important;
  color: #4DB74B !important;
}

.single-post .comment-form .oracy-post-comment-submit .rt-v1-overlay-shape {
  background-color: #4DB74B !important;
}

.single-post .comment-form .oracy-post-comment-submit:hover .elementor-button-icon i,
.single-post .comment-form .oracy-post-comment-submit:focus-visible .elementor-button-icon i,
.single-post .comment-form .oracy-post-comment-submit:hover .elementor-button-icon svg,
.single-post .comment-form .oracy-post-comment-submit:focus-visible .elementor-button-icon svg {
  color: #4DB74B !important;
  -webkit-text-fill-color: #4DB74B !important;
}

/* Add the same animated brand-color cover to the blog sidebar Subscribe control. */
.single-post .oracy-post-subscribe .oracy-post-submit-wrap {
  display: block;
  overflow: hidden;
  isolation: isolate;
  border-radius: 99px;
  background-color: #F9921C;
  background-image: radial-gradient(ellipse at center bottom, #4DB74B 0 50%, transparent 51%);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 0 0;
  transition: background-size 850ms cubic-bezier(0.22, 1, 0.36, 1);
}

.single-post .oracy-post-subscribe .oracy-post-submit-wrap:hover,
.single-post .oracy-post-subscribe .oracy-post-submit-wrap:focus-within {
  background-size: 240% 420%;
}

.single-post .oracy-post-subscribe .oracy-post-submit-wrap input[type="submit"] {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

.single-post .oracy-post-subscribe .oracy-post-submit-arrow {
  z-index: 2;
  transition: color 240ms ease;
}

.single-post .oracy-post-subscribe .oracy-post-submit-wrap:hover .oracy-post-submit-arrow,
.single-post .oracy-post-subscribe .oracy-post-submit-wrap:focus-within .oracy-post-submit-arrow {
  color: #4DB74B !important;
}

/* Preserve the green in-article CTA and animate an orange cover over it. */
.single-post .oracy-inline-cta > a {
  background-color: #4DB74B;
  background-image: radial-gradient(ellipse at center bottom, #F9921C 0 50%, transparent 51%);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 0 0;
  transition: background-size 850ms cubic-bezier(0.22, 1, 0.36, 1), color 240ms ease;
}

.single-post .oracy-inline-cta > a:hover,
.single-post .oracy-inline-cta > a:focus-visible {
  background-size: 240% 420%;
  color: #FFFFFF;
}

.single-post .oracy-inline-cta > a b {
  transition: color 240ms ease;
}

.single-post .oracy-inline-cta > a:hover b,
.single-post .oracy-inline-cta > a:focus-visible b {
  color: #F9921C;
}

/* Keep Elementor lazy loading from clearing these solid animated color layers. */
body.single-post .elementor-element-bb02011.oracy-post-subscribe-widget .oracy-post-subscribe .oracy-post-submit-wrap.oracy-post-submit-wrap {
  background-image: radial-gradient(ellipse at center bottom, #4DB74B 0 50%, transparent 51%) !important;
}

body.single-post .elementor-element-bb0200b.oracy-post-content-widget .oracy-post-content .oracy-inline-cta.oracy-inline-cta > a {
  background-image: radial-gradient(ellipse at center bottom, #F9921C 0 50%, transparent 51%) !important;
}

@media (prefers-reduced-motion: reduce) {
  .single-post .oracy-post-subscribe .oracy-post-submit-wrap,
  .single-post .oracy-inline-cta > a {
    transition-duration: 0.01ms;
  }
}

/* Add the orange-to-green animated cover to Contact Us Send Message. */
body.page-id-305 .elementor-element-f1febd4 .wpcf7-form .oracy-contact-submit.oracy-contact-submit input.wpcf7-submit[type="submit"] {
  background-color: #F9921C !important;
  background-image: linear-gradient(#4DB74B, #4DB74B) !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: 100% 0 !important;
  transition: background-size 700ms cubic-bezier(0.22, 1, 0.36, 1), color 240ms ease !important;
}

body.page-id-305 .elementor-element-f1febd4 .wpcf7-form .oracy-contact-submit.oracy-contact-submit:hover input.wpcf7-submit[type="submit"],
body.page-id-305 .elementor-element-f1febd4 .wpcf7-form .oracy-contact-submit.oracy-contact-submit input.wpcf7-submit[type="submit"]:focus-visible {
  background-size: 100% 100% !important;
  color: #FFFFFF !important;
}

body.page-id-305 .oracy-contact-submit > span[aria-hidden="true"] {
  transition: color 240ms ease;
}

body.page-id-305 .oracy-contact-submit:hover > span[aria-hidden="true"],
body.page-id-305 .oracy-contact-submit:focus-within > span[aria-hidden="true"] {
  color: #4DB74B !important;
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-305 .oracy-contact-submit input[type="submit"] {
    transition-duration: 0.01ms !important;
  }
}

/* ORA-HOME-040: let the standard header scroll away, then show the floating header state. */
@media (min-width: 1024px) {
  .oracy-home-nav.oracy-scroll-nav {
    top: 20px !important;
    overflow: visible;
    isolation: isolate;
    z-index: 999 !important;
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
  }

  .oracy-home-nav.oracy-scroll-nav::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 16px;
    left: 50%;
    width: calc(100% - 40px);
    max-width: 1340px;
    height: 100px;
    border: 1px solid rgba(234, 235, 236, 0.8);
    border-radius: 56px;
    background: #FFFFFF;
    box-shadow: 0 12px 28px rgba(51, 51, 51, 0.2);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -30px) scale(0.985);
    transform-origin: top center;
    transition: opacity 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating::before {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }

  .oracy-home-nav.oracy-scroll-nav > .e-con-inner {
    padding-top: 0 !important;
    transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating > .e-con-inner {
    max-width: 1340px !important;
    transform: translateY(31px);
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-nav-logo {
    position: relative;
    transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-nav-logo {
    transform: translateX(32px);
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-nav-logo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: url("https://in.oracygroup.com/wp-content/uploads/2026/07/logo-oracy-footer-0062b07b.svg") left center / 145px auto no-repeat;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    transition: opacity 180ms ease, transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-nav-logo::after {
    opacity: 1;
    transform: translateY(0);
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-nav-logo img {
    transition: opacity 180ms ease;
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-nav-logo img {
    opacity: 0;
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button {
    transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button {
    transform: translateX(-28px);
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: #F9921C;
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button .elementor-button::before {
    opacity: 1;
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
    transition: color 180ms ease;
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button .elementor-button-content-wrapper,
  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button .elementor-button-text {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-icon {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: #FFFFFF;
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button .elementor-button-icon::before {
    opacity: 1;
  }

  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-icon i,
  .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-icon svg {
    position: relative;
    z-index: 1;
    transition: color 180ms ease;
  }

  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button .elementor-button-icon i,
  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button .elementor-button-icon i::before,
  .oracy-home-nav.oracy-scroll-nav.is-floating .oracy-contact-button .elementor-button-icon svg {
    color: #F9921C !important;
    -webkit-text-fill-color: #F9921C !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .oracy-home-nav.oracy-scroll-nav::before,
    .oracy-home-nav.oracy-scroll-nav > .e-con-inner,
    .oracy-home-nav.oracy-scroll-nav .oracy-nav-logo,
    .oracy-home-nav.oracy-scroll-nav .oracy-nav-logo::after,
    .oracy-home-nav.oracy-scroll-nav .oracy-nav-logo img,
    .oracy-home-nav.oracy-scroll-nav .oracy-contact-button,
    .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button::before,
    .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-content-wrapper,
    .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-icon::before,
    .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-icon i,
    .oracy-home-nav.oracy-scroll-nav .oracy-contact-button .elementor-button-icon svg {
      transition-duration: 0.01ms !important;
    }
  }
}


/* Oracy Partners page */
body.page-id-8336 {
  background: #FFFFFF;
}

body.page-id-8336 .oracy-partner-copy strong {
  color: #294B99;
  font-weight: 600;
}

body.page-id-8336 .oracy-partners-email a,
body.page-id-8336 .oracy-partners-email a:hover,
body.page-id-8336 .oracy-partners-email a:focus {
  color: #FFFFFF !important;
  text-decoration-color: rgba(255, 255, 255, 0.65);
}

/* ESU page: use the approved page-only header and CTA while retaining the shared footer. */
body.page-id-8356 {
  background: #FFFFFF;
}

body.page-id-8356 #masthead,
body.page-id-8356 #colophon .oracy-expert-cta {
  display: none !important;
}

body.page-id-8356 .oracy-esu-nav-link .elementor-heading-title a {
  color: inherit;
  text-decoration: none;
}

body.page-id-8356 .oracy-esu-nav-link.is-active .elementor-heading-title {
  position: relative;
}

body.page-id-8356 .oracy-esu-nav-link.is-active .elementor-heading-title::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -14px;
  left: 0;
  height: 2px;
  border-radius: 2px;
  background: #F9921C;
}

body.page-id-8356 .oracy-esu-date-pill .elementor-widget-container {
  display: inline-flex;
  align-self: flex-start;
  padding: 8px 16px;
  border: 1px solid #EAEBEC;
  border-radius: 999px;
  background: #FFFFFF;
}

body.page-id-8356 .oracy-esu-video iframe,
body.page-id-8356 .oracy-esu-video .elementor-wrapper {
  overflow: hidden;
  border-radius: 24px;
}

body.page-id-8356 .oracy-esu-phone .elementor-button {
  min-height: 34px;
  padding: 7px 14px;
  gap: 8px;
}

body.page-id-8356 .oracy-esu-phone .elementor-button-icon {
  width: auto;
  height: auto;
  flex: 0 0 auto;
  border-radius: 0;
  background: transparent !important;
  color: #2FB8C4 !important;
}

body.page-id-8356 .oracy-esu-cta img {
  display: block;
  width: 100%;
}

@media (max-width: 1023px) {
  body.page-id-8356 .oracy-esu-nav-links {
    display: none !important;
  }

  body.page-id-8356 .oracy-esu-header > .e-con-inner {
    justify-content: center !important;
  }
}

@media (max-width: 767px) {
  body.page-id-8356 .oracy-esu-partner-bar .elementor-widget-button,
  body.page-id-8356 .oracy-esu-partner-bar .elementor-widget-button .elementor-button {
    width: 100%;
  }

  body.page-id-8356 .oracy-esu-cta img {
    height: 360px;
    object-fit: cover;
    object-position: center;
  }
}
