/* Ajans GN v7.0.0-e module: components/states.css.
   Contrast & Component State Finalization.
   Purpose: every component explicitly understands light/dark/peach/glass states so
   headings and body copy do not disappear when old v4-v6 background rules coexist. */
:root{
  --agn-state-ink:var(--agn-fg,#211f22);
  --agn-state-muted:var(--agn-fg-soft,#6f6867);
  --agn-state-on-dark:var(--agn-on-dark,#fbf7ef);
  --agn-state-on-dark-soft:var(--agn-on-dark-soft,rgba(255,255,255,.74));
  --agn-state-line:rgba(33,31,34,.10);
  --agn-state-light-bg:rgba(255,255,255,.86);
  --agn-state-peach-bg:linear-gradient(135deg,rgba(255,247,239,.88),rgba(255,231,218,.72));
  --agn-state-dark-bg:radial-gradient(circle at 94% 0%,rgba(255,116,73,.22),transparent 34%),linear-gradient(135deg,#151315,#241715);
}

/* Base inheritance: open/cream surfaces must remain dark text. */
.agn-site :where(h1,h2,h3,h4,h5,h6){color:inherit;}
.agn-site :where(p,li,figcaption,small){color:inherit;}

/* Utility states */
.agn-site :where(.is-light,.is-muted,.is-peach,.is-glass){color:var(--agn-state-ink)!important;}
.agn-site :where(.is-light,.is-muted,.is-peach,.is-glass) :where(h1,h2,h3,h4,h5,h6,strong,b,summary){color:var(--agn-state-ink)!important;}
.agn-site :where(.is-light,.is-muted,.is-peach,.is-glass) :where(p,li,small,figcaption,span:not(.agn-eyebrow)){color:var(--agn-state-muted)!important;}
.agn-site :where(.is-light,.is-muted,.is-peach,.is-glass) :where(a:not(.agn-btn)){color:var(--agn-state-ink)!important;}

.agn-site :where(.is-dark){color:var(--agn-state-on-dark)!important;}
.agn-site :where(.is-dark) :where(h1,h2,h3,h4,h5,h6,strong,b,summary){color:var(--agn-state-on-dark)!important;}
.agn-site :where(.is-dark) :where(p,li,small,figcaption,span:not(.agn-eyebrow)){color:var(--agn-state-on-dark-soft)!important;}
.agn-site :where(.is-dark) :where(a:not(.agn-btn)){color:#fff!important;}

/* Known light components */
.agn-site :where(.agn-v602-contact-info,.agn-v602-about-lead__copy,.agn-v602-blog-empty,.agn-v602-blog-intro,.agn-v53-intro__stats article,.agn-v53-index-card,.agn-v53-detail-row,.agn-v53-decision__grid article,.agn-v53-faq__grid article,.agn-v583-capabilities article,.agn-v583-output-grid article,.agn-v583-usage-grid article,.agn-v583-faq details,.agn-values .agn-value,.agn-v54-capabilities article,.agn-v54-output-grid article,.agn-v54-faq details){color:var(--agn-state-ink)!important;}
.agn-site :where(.agn-v602-contact-info,.agn-v602-about-lead__copy,.agn-v602-blog-empty,.agn-v602-blog-intro,.agn-v53-intro__stats article,.agn-v53-index-card,.agn-v53-detail-row,.agn-v53-decision__grid article,.agn-v53-faq__grid article,.agn-v583-capabilities article,.agn-v583-output-grid article,.agn-v583-usage-grid article,.agn-v583-faq details,.agn-values .agn-value,.agn-v54-capabilities article,.agn-v54-output-grid article,.agn-v54-faq details) :where(h1,h2,h3,h4,h5,h6,strong,b,summary){color:var(--agn-state-ink)!important;}
.agn-site :where(.agn-v602-contact-info,.agn-v602-about-lead__copy,.agn-v602-blog-empty,.agn-v602-blog-intro,.agn-v53-intro__stats article,.agn-v53-index-card,.agn-v53-detail-row,.agn-v53-decision__grid article,.agn-v53-faq__grid article,.agn-v583-capabilities article,.agn-v583-output-grid article,.agn-v583-usage-grid article,.agn-v583-faq details,.agn-values .agn-value,.agn-v54-capabilities article,.agn-v54-output-grid article,.agn-v54-faq details) :where(p,li,small,figcaption,span:not(.agn-eyebrow)){color:var(--agn-state-muted)!important;}

/* Known dark components and sections */
.agn-site :where(.agn-big-cta,.agn-footer,.agn-footer-cta,.agn-contact__form,.agn-v602-contact-form,.agn-v50-form-card,.agn-v49-form-card,.agn-v52-band--dark,.agn-v52-process,.agn-v52-process__steps article,.agn-v52-cta-band,.agn-v53-band--dark,.agn-v53-process,.agn-v53-process__steps article,.agn-v583-workflow,.agn-v583-workflow__steps article,.agn-v54-workflow,.agn-v54-workflow__steps article,.agn-service-delivery__card,.agn-legal-side,.agn-empty,.agn-empty--v33,.agn-blog-topics__grid article){color:var(--agn-state-on-dark)!important;}
.agn-site :where(.agn-big-cta,.agn-footer,.agn-footer-cta,.agn-contact__form,.agn-v602-contact-form,.agn-v50-form-card,.agn-v49-form-card,.agn-v52-band--dark,.agn-v52-process,.agn-v52-process__steps article,.agn-v52-cta-band,.agn-v53-band--dark,.agn-v53-process,.agn-v53-process__steps article,.agn-v583-workflow,.agn-v583-workflow__steps article,.agn-v54-workflow,.agn-v54-workflow__steps article,.agn-service-delivery__card,.agn-legal-side,.agn-empty,.agn-empty--v33,.agn-blog-topics__grid article) :where(h1,h2,h3,h4,h5,h6,strong,b,summary){color:var(--agn-state-on-dark)!important;}
.agn-site :where(.agn-big-cta,.agn-footer,.agn-footer-cta,.agn-contact__form,.agn-v602-contact-form,.agn-v50-form-card,.agn-v49-form-card,.agn-v52-band--dark,.agn-v52-process,.agn-v52-process__steps article,.agn-v52-cta-band,.agn-v53-band--dark,.agn-v53-process,.agn-v53-process__steps article,.agn-v583-workflow,.agn-v583-workflow__steps article,.agn-v54-workflow,.agn-v54-workflow__steps article,.agn-service-delivery__card,.agn-legal-side,.agn-empty,.agn-empty--v33,.agn-blog-topics__grid article) :where(p,li,small,figcaption,span:not(.agn-eyebrow)){color:var(--agn-state-on-dark-soft)!important;}

/* State surfaces */
.agn-site .is-peach{background:var(--agn-state-peach-bg)!important;border-color:rgba(255,116,73,.13)!important;}
.agn-site .is-glass{background:rgba(255,255,255,.70)!important;border:1px solid rgba(33,31,34,.08)!important;backdrop-filter:blur(18px) saturate(138%);-webkit-backdrop-filter:blur(18px) saturate(138%);}
.agn-site .is-dark{background:var(--agn-state-dark-bg);}

/* Eyebrows preserve brand accent in every state. */
.agn-site :where(.agn-eyebrow){color:var(--agn-orange,#ff7449)!important;}
.agn-site :where(.is-dark,.agn-big-cta,.agn-footer,.agn-v52-band--dark,.agn-v53-band--dark,.agn-v583-workflow,.agn-v602-contact-form) .agn-eyebrow{color:#ffb28e!important;}

/* Buttons must stay readable independent of parent state. */
.agn-site .agn-btn:not(.agn-btn--ghost):not(.agn-btn--light){color:#fff!important;}
.agn-site :where(.is-dark,.agn-big-cta,.agn-footer,.agn-v52-band--dark,.agn-v53-band--dark,.agn-v602-contact-form) .agn-btn--ghost{color:#fff!important;border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.08)!important;}
.agn-site :where(.is-light,.is-peach,.is-glass,.agn-v602-contact-info) .agn-btn--ghost{color:var(--agn-state-ink)!important;border-color:rgba(33,31,34,.16)!important;background:rgba(255,255,255,.62)!important;}
.agn-site .agn-btn--light{background:#fff!important;color:var(--agn-state-ink)!important;}

/* Prevent empty-looking numbered cards caused by inherited white text on light cards. */
.agn-site :where(.agn-v53-decision__grid article,.agn-v583-output-grid article,.agn-v583-usage-grid article,.agn-v583-faq details) b{background:var(--agn-state-ink)!important;color:#fff!important;}
.agn-site :where(.agn-v53-process__steps article,.agn-v52-process__steps article,.agn-v583-workflow__steps article) b{background:#ff7449!important;color:#fff!important;}

/* Contact hard state: left information card is light, right project card is dark. */
.agn-site .agn-v602-contact-info{background:rgba(255,255,255,.88)!important;border:1px solid var(--agn-state-line)!important;}
.agn-site .agn-v602-contact-form{background:var(--agn-state-dark-bg)!important;}
.agn-site .agn-v602-contact-row{color:var(--agn-state-ink)!important;}
.agn-site .agn-v602-contact-row span{color:var(--agn-state-muted)!important;}
.agn-site .agn-v602-contact-row b{color:var(--agn-state-ink)!important;}

/* Accessibility: focus ring visible on dark and light surfaces. */
.agn-site :where(a,button,input,textarea,select):focus-visible{outline:3px solid rgba(255,116,73,.78)!important;outline-offset:3px!important;}
