/* Kranti Yoga — verified public contrast system, 29 Oct 2026.
   Contract:
   - normal/light surfaces: white background + black text
   - dark/photo-overlay surfaces: black fallback + white text
   - photographs/videos keep original colour
   - footer quick-link pills are the only orange UI exception
   - selectors deliberately avoid mixed-specificity :is() groups. */

:root{
  --ky-final-black:#000000;
  --ky-final-white:#FFFFFF;
  --ky-final-orange:#FE6001;
  --ky-final-orange-dark:#D45700;
}

html,body{background:#FFFFFF!important;color:#000000!important}

/* Media must never be desaturated. */
html body img,
html body picture img,
html body video{
  filter:none!important;
  -webkit-filter:none!important;
  mix-blend-mode:normal!important;
}

/* Default public content: white/light surface with black copy. */
html body main{color:#000000!important}
html body main :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,small,strong,b,em,i,span,a,button,summary,blockquote,cite,time,figcaption,th,td){
  color:#000000!important;
}

/* Form controls are explicit white surfaces. */
html body input,
html body select,
html body textarea{
  background-color:#FFFFFF!important;
  color:#000000!important;
  border-color:#000000!important;
}
html body input::placeholder,
html body textarea::placeholder{color:#000000!important;opacity:.65!important}

/* ---------- DARK / PHOTO SURFACES ---------- */
html body .hero,
html body .campus,
html body .journey-cta,
html body .ky-footer-cta,
html body .kyo-cta,
html body .ky-contact-hero,
html body .gi-hero,
html body .gi-cta{
  background-color:#000000!important;
  color:#FFFFFF!important;
}

html body .hero :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i),
html body .campus :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i),
html body .journey-cta :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i),
html body .ky-footer-cta :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i),
html body .kyo-cta :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i),
html body .ky-contact-hero :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i),
html body .gi-hero :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i),
html body .gi-cta :where(h1,h2,h3,h4,h5,h6,p,li,span,a,button,strong,small,b,em,i){
  color:#FFFFFF!important;
}

/* White cards embedded inside photo/dark sections. */
html body .hero-card,
html body .hero-card :where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,b,em,i){
  color:#000000!important;
}
html body .hero-card{background-color:rgba(255,255,255,.96)!important}

/* ---------- HEADER ---------- */
html body .kyp-utility{background:#000000!important;color:#FFFFFF!important}
html body .kyp-utility :where(p,a,span,strong,small){color:#FFFFFF!important}
html body .kyp-main,
html body .kyp-dropdown,
html body .kyp-simple-dropdown,
html body .kyp-mega,
html body .kyp-mega-intro,
html body .kyp-mega-groups{
  background:#FFFFFF!important;
  color:#000000!important;
}
html body .kyp-main :where(a,span,strong,small,p,h1,h2,h3,h4,button),
html body .kyp-dropdown :where(a,span,strong,small,p,h1,h2,h3,h4,button),
html body .kyp-simple-dropdown :where(a,span,strong,small,p,h1,h2,h3,h4,button),
html body .kyp-mega :where(a,span,strong,small,p,h1,h2,h3,h4,button){color:#000000!important}

/* ---------- BUTTONS / ACTIONS ---------- */
/* Black surface -> white label. */
html body .btn--coral,
html body .btn--dark,
html body .nav__cta,
html body .kyp-explore,
html body .kyp-mobile-explore,
html body .ky-header-cta,
html body .kyo-btn--orange,
html body .ky-contact-primary,
html body .ky-contact-aside-button,
html body .ky-contact-submit,
html body .kyi-submit,
html body .gi-btn,
html body .kye-button:not(.kye-button--outline),
html body .team-card__more,
html body .ky-ai-launcher,
html body .ky-ai-send,
html body .ky-ai-mark,
html body .ky-ai-msg--user,
html body .ky-footer-call-btn,
html body .ky-footer-action,
html body .ky-footer-franchise{
  background:#000000!important;
  border-color:#000000!important;
  color:#FFFFFF!important;
}
html body .btn--coral :where(span,strong,small,b,em,i),
html body .btn--dark :where(span,strong,small,b,em,i),
html body .kyp-explore :where(span,strong,small,b,em,i),
html body .kyp-mobile-explore :where(span,strong,small,b,em,i),
html body .kyo-btn--orange :where(span,strong,small,b,em,i),
html body .ky-contact-primary :where(span,strong,small,b,em,i),
html body .ky-contact-aside-button :where(span,strong,small,b,em,i),
html body .ky-contact-submit :where(span,strong,small,b,em,i),
html body .kyi-submit :where(span,strong,small,b,em,i),
html body .gi-btn :where(span,strong,small,b,em,i),
html body .kye-button:not(.kye-button--outline) :where(span,strong,small,b,em,i),
html body .team-card__more :where(span,strong,small,b,em,i),
html body .ky-ai-launcher :where(span,strong,small,b,em,i),
html body .ky-ai-send :where(span,strong,small,b,em,i),
html body .ky-ai-mark :where(span,strong,small,b,em,i),
html body .ky-footer-call-btn :where(span,strong,small,b,em,i),
html body .ky-footer-action :where(span,strong,small,b,em,i),
html body .ky-footer-franchise :where(span,strong,small,b,em,i){color:#FFFFFF!important}

/* White surface -> black label. */
html body .btn--glass,
html body .btn--light,
html body .btn--outline,
html body .btn--ghost,
html body .btn--ghost-light,
html body .kyp-login,
html body .kyp-mobile-login,
html body .ky-student-portal,
html body .kyo-btn--white,
html body .kyo-btn--outline,
html body .ky-contact-outline,
html body .gi-btn-outline,
html body .kye-button--outline{
  background:#FFFFFF!important;
  border-color:#000000!important;
  color:#000000!important;
}
html body .btn--glass :where(span,strong,small,b,em,i),
html body .btn--light :where(span,strong,small,b,em,i),
html body .btn--outline :where(span,strong,small,b,em,i),
html body .btn--ghost :where(span,strong,small,b,em,i),
html body .btn--ghost-light :where(span,strong,small,b,em,i),
html body .kyp-login :where(span,strong,small,b,em,i),
html body .kyp-mobile-login :where(span,strong,small,b,em,i),
html body .kyo-btn--white :where(span,strong,small,b,em,i),
html body .kyo-btn--outline :where(span,strong,small,b,em,i),
html body .ky-contact-outline :where(span,strong,small,b,em,i),
html body .gi-btn-outline :where(span,strong,small,b,em,i),
html body .kye-button--outline :where(span,strong,small,b,em,i){color:#000000!important}

/* Gallery/info black CTA contains a white button. */
html body .gi-cta .gi-btn{
  background:#FFFFFF!important;
  border-color:#FFFFFF!important;
  color:#000000!important;
}
html body .gi-cta .gi-btn :where(span,strong,small,b,em,i){color:#000000!important}

/* Course catalogue selected filter. */
html body .kyo-phase2 .kyo-filter button.is-active,
html body .kyo-phase2 .kyo-filter button:hover{
  background:#000000!important;
  border-color:#000000!important;
  color:#FFFFFF!important;
}
html body .kyo-phase2 .kyo-filter button.is-active *,
html body .kyo-phase2 .kyo-filter button:hover *{color:#FFFFFF!important}

/* ---------- AI ---------- */
html body .ky-ai-panel,
html body .ky-ai-compose,
html body .ky-ai-msg--bot,
html body .ky-ai-quick button{
  background:#FFFFFF!important;
  color:#000000!important;
}
html body .ky-ai-panel :where(h1,h2,h3,h4,p,span,strong,small,textarea,button){color:#000000!important}
html body .ky-ai-launcher,
html body .ky-ai-launcher *,
html body .ky-ai-send,
html body .ky-ai-send *,
html body .ky-ai-mark,
html body .ky-ai-mark *,
html body .ky-ai-msg--user,
html body .ky-ai-msg--user *{color:#FFFFFF!important}

/* ---------- FOOTER ---------- */
html body .ky-footer-main,
html body .ky-footer-container,
html body .ky-footer-quicklinks,
html body .ky-footer-bottom{
  background:#FFFFFF!important;
  color:#000000!important;
}
html body .ky-footer-main :where(h1,h2,h3,h4,h5,h6,p,li,a,span,strong,small),
html body .ky-footer-bottom :where(p,a,span,strong,small){color:#000000!important}

/* User-requested colour exception: footer menu / quick-link pills. */
html body .ky-footer-quicklink,
html body .ky-footer-main .ky-footer-quicklink,
html body .ky-footer-quicklinks .ky-footer-quicklink{
  background:#FE6001!important;
  border-color:#FE6001!important;
  color:#000000!important;
  opacity:1!important;
}
html body .ky-footer-quicklink *{color:#000000!important}
html body .ky-footer-quicklink:hover,
html body .ky-footer-quicklink:focus-visible{
  background:#D45700!important;
  border-color:#D45700!important;
  color:#000000!important;
}


/* Home badges/pills are black surfaces with white copy. */
html body .intro__badge,
html body .location-pill,
html body .founder-home__badge{background-color:#000000!important;color:#FFFFFF!important;}
html body .intro__badge :where(h1,h2,h3,h4,p,span,strong,small,b,em,i),
html body .location-pill :where(h1,h2,h3,h4,p,span,strong,small,b,em,i),
html body .founder-home__badge :where(h1,h2,h3,h4,p,span,strong,small,b,em,i){color:#FFFFFF!important;}

/* Nested hero white card must outrank the dark hero parent. */
html body .hero .hero-card,
html body .hero .hero-card :where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,b,em,i){color:#000000!important;}
html body .hero .hero-card{background-color:rgba(255,255,255,.96)!important;}

/* Non-text floating media controls inherit a monochrome fallback colour. */
html body .ky-floating-whatsapp{color:#000000!important;}

/* Footer orange exception: match legacy high-specificity link selectors. */
html body .ky-footer-main a.ky-footer-quicklink,
html body .ky-footer-quicklinks a.ky-footer-quicklink{
  background:#FE6001!important;
  border-color:#FE6001!important;
  color:#000000!important;
}
html body .ky-footer-main a.ky-footer-quicklink *,
html body .ky-footer-quicklinks a.ky-footer-quicklink *{color:#000000!important;}
html body .ky-footer-main a.ky-footer-quicklink:hover,
html body .ky-footer-main a.ky-footer-quicklink:focus-visible,
html body .ky-footer-quicklinks a.ky-footer-quicklink:hover,
html body .ky-footer-quicklinks a.ky-footer-quicklink:focus-visible{
  background:#D45700!important;
  border-color:#D45700!important;
  color:#000000!important;
}
