/* Ajans GN v7.1.4 — Text Visibility & Card State Final
   Purpose: final readability layer for light cards inside dark bands, service-detail sections,
   CTA bridges, service card descriptions and contact information copy. */

/* 0) Never allow reveal/visual effects to dim actual copy after the page is rendered. */
body.agn-v714-text-visibility .agn-site :where(p,li,small,figcaption,h1,h2,h3,h4,h5,h6,summary,strong,b,span:not(.agn-eyebrow)){
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}

/* 1) Open/light cards: descriptions must be readable, never inherited as white from a dark parent. */
body.agn-v714-card-state-final .agn-site :where(
  .agn-v52-service-card a,
  .agn-service-card a,
  .agn-v53-index-card,
  .agn-v53-index-card a,
  .agn-v53-detail-row,
  .agn-v53-decision__grid article,
  .agn-v53-faq__grid article,
  .agn-v54-capabilities article,
  .agn-v54-output-grid article,
  .agn-v583-capabilities article,
  .agn-v583-output-grid article,
  .agn-v583-usage-grid article,
  .agn-v583-faq__items details,
  .agn-v602-contact-info,
  .agn-v602-contact-row
){
  color:#211f22!important;
  background:linear-gradient(135deg,rgba(255,252,248,.99),rgba(255,248,242,.96))!important;
  border-color:rgba(33,31,34,.10)!important;
}
body.agn-v714-card-state-final .agn-site :where(
  .agn-v52-service-card a,
  .agn-service-card a,
  .agn-v53-index-card,
  .agn-v53-index-card a,
  .agn-v53-detail-row,
  .agn-v53-decision__grid article,
  .agn-v53-faq__grid article,
  .agn-v54-capabilities article,
  .agn-v54-output-grid article,
  .agn-v583-capabilities article,
  .agn-v583-output-grid article,
  .agn-v583-usage-grid article,
  .agn-v583-faq__items details,
  .agn-v602-contact-info,
  .agn-v602-contact-row
) :where(h2,h3,h4,h5,h6,summary,strong,b,span:not(.agn-eyebrow)){
  color:#211f22!important;
}
body.agn-v714-card-state-final .agn-site :where(
  .agn-v52-service-card a,
  .agn-service-card a,
  .agn-v53-index-card,
  .agn-v53-index-card a,
  .agn-v53-detail-row,
  .agn-v53-decision__grid article,
  .agn-v53-faq__grid article,
  .agn-v54-capabilities article,
  .agn-v54-output-grid article,
  .agn-v583-capabilities article,
  .agn-v583-output-grid article,
  .agn-v583-usage-grid article,
  .agn-v583-faq__items details,
  .agn-v602-contact-info,
  .agn-v602-contact-row
) :where(p,li,small,figcaption){
  color:#554d47!important;
  line-height:1.68!important;
}

/* 2) Service card descriptions: restore real paragraph visibility and spacing. */
body.agn-v714-text-visibility .agn-home .agn-v52-service-card a div p,
body.agn-v714-text-visibility .agn-home .agn-service-card a div p,
body.agn-v714-text-visibility .agn-services-page--v53 .agn-v53-index-card a div p,
body.agn-v714-text-visibility .agn-services-page--v53 .agn-v53-detail-row__content p{
  display:block!important;
  color:#514942!important;
  opacity:1!important;
  visibility:visible!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  font-weight:500!important;
}
body.agn-v714-text-visibility .agn-home .agn-v52-service-card a div b,
body.agn-v714-text-visibility .agn-services-page--v53 .agn-v53-index-card a div b,
body.agn-v714-text-visibility .agn-services-page--v53 .agn-v53-detail-row__content .agn-v53-text-link{
  color:#171313!important;
  opacity:1!important;
}

/* 3) Dark editorial bands: section intro/head text must be on-dark. */
body.agn-v714-card-state-final .agn-site :where(
  .agn-v52-services-stage,
  .agn-v53-services-intro,
  .agn-v53-service-details,
  .agn-v53-process,
  .agn-v54-approach,
  .agn-v54-outputs,
  .agn-v54-workflow,
  .agn-v54-faq
){
  color:#fff8f2!important;
}
body.agn-v714-card-state-final .agn-site :where(
  .agn-v52-services-stage,
  .agn-v53-services-intro,
  .agn-v53-service-details,
  .agn-v53-process,
  .agn-v54-approach,
  .agn-v54-outputs,
  .agn-v54-workflow,
  .agn-v54-faq
) :where(
  .agn-v52-section-head,
  .agn-v53-section-head,
  .agn-v53-intro__copy,
  .agn-v53-process__copy,
  .agn-v54-approach__copy,
  .agn-v54-outputs__head,
  .agn-v54-workflow__intro,
  .agn-v54-faq__head,
  .agn-v583-outputs__head,
  .agn-v583-workflow__intro,
  .agn-v583-faq__head
) :where(h2,h3,strong,b){
  color:#fff8f2!important;
}
body.agn-v714-card-state-final .agn-site :where(
  .agn-v52-services-stage,
  .agn-v53-services-intro,
  .agn-v53-service-details,
  .agn-v53-process,
  .agn-v54-approach,
  .agn-v54-outputs,
  .agn-v54-workflow,
  .agn-v54-faq
) :where(
  .agn-v52-section-head,
  .agn-v53-section-head,
  .agn-v53-intro__copy,
  .agn-v53-process__copy,
  .agn-v54-approach__copy,
  .agn-v54-outputs__head,
  .agn-v54-workflow__intro,
  .agn-v54-faq__head,
  .agn-v583-outputs__head,
  .agn-v583-workflow__intro,
  .agn-v583-faq__head
) :where(p,li){
  color:rgba(255,248,242,.80)!important;
}
body.agn-v714-card-state-final .agn-site :where(.agn-v53-service-details,.agn-v54-outputs,.agn-v54-faq) .agn-eyebrow,
body.agn-v714-card-state-final .agn-site :where(.agn-v54-workflow,.agn-v53-process) .agn-eyebrow{
  color:#ffb28e!important;
}

/* 4) Service-detail workflow must be a true dark component; no white text on pale panels. */
body.agn-v714-service-detail-readable .agn-service-page .agn-v54-workflow,
body.agn-v714-service-detail-readable .agn-service-page .agn-v583-workflow{
  background:
    radial-gradient(circle at 94% 0%,rgba(255,116,73,.14),transparent 34%),
    linear-gradient(135deg,#171111 0%,#2d1b16 58%,#5a2b1a 100%)!important;
  color:#fff8f2!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body.agn-v714-service-detail-readable .agn-service-page :where(.agn-v54-workflow__intro,.agn-v583-workflow__intro) :where(h2,h3,p,span,strong){
  color:inherit!important;
}
body.agn-v714-service-detail-readable .agn-service-page .agn-v583-workflow__steps article{
  background:linear-gradient(145deg,rgba(31,29,31,.94),rgba(65,39,30,.90))!important;
  color:#fff8f2!important;
  border-color:rgba(255,255,255,.11)!important;
}
body.agn-v714-service-detail-readable .agn-service-page .agn-v583-workflow__steps article :where(h3,b,strong,span:not(.agn-eyebrow)){
  color:#fff8f2!important;
}
body.agn-v714-service-detail-readable .agn-service-page .agn-v583-workflow__steps article p{
  color:rgba(255,248,242,.74)!important;
}

/* 5) Service-detail output/capability/FAQ cards: force nested light state. */
body.agn-v714-service-detail-readable .agn-service-page :where(.agn-v54-capabilities article,.agn-v583-output-grid article,.agn-v583-usage-grid article,.agn-v583-faq__items details) :where(h3,h4,summary,strong,b,span:not(.agn-eyebrow)){
  color:#211f22!important;
}
body.agn-v714-service-detail-readable .agn-service-page :where(.agn-v54-capabilities article,.agn-v583-output-grid article,.agn-v583-usage-grid article,.agn-v583-faq__items details) :where(p,li,small){
  color:#554d47!important;
  opacity:1!important;
}

/* 6) Contact page: info explanation text is open-card copy, not on-dark copy. */
body.agn-v714-contact-readable .agn-contact-page--v602 .agn-v602-contact-info > p,
body.agn-v714-contact-readable .agn-contact-page--v602 .agn-v602-contact-info .agn-v602-contact-list + p,
body.agn-v714-contact-readable .agn-contact-page--v602 .agn-v602-contact-info :where(p,li,small){
  color:#554d47!important;
  opacity:1!important;
  visibility:visible!important;
  line-height:1.72!important;
}
body.agn-v714-contact-readable .agn-contact-page--v602 .agn-v602-contact-info :where(h2,h3,strong,b,span:not(.agn-eyebrow)){
  color:#211f22!important;
}
body.agn-v714-contact-readable .agn-contact-page--v602 .agn-v602-contact-row{
  background:rgba(255,255,255,.78)!important;
  color:#211f22!important;
}
body.agn-v714-contact-readable .agn-contact-page--v602 .agn-v602-contact-row :where(span,b){
  color:#211f22!important;
}
body.agn-v714-contact-readable .agn-contact-page--v602 .agn-v602-contact-form p{
  color:rgba(255,248,242,.78)!important;
}

/* 7) CTA remains fixed from v7.1.3, but tighten the handoff to footer. */
body.agn-v714-text-visibility .agn-site :where(.agn-v52-cta-band,.agn-big-cta,.agn-footer-cta) :where(h2,h3,p,span,strong,b){
  color:#fff8f2!important;
  opacity:1!important;
}
body.agn-v714-text-visibility .agn-site :where(.agn-v52-cta-band,.agn-big-cta,.agn-footer-cta) .agn-eyebrow{
  color:#ffb28e!important;
}

@media (max-width: 980px){
  body.agn-v714-text-visibility .agn-site :where(.agn-v52-service-card a,.agn-v53-index-card a,.agn-v53-detail-row,.agn-v54-capabilities article,.agn-v583-output-grid article,.agn-v583-usage-grid article,.agn-v583-faq__items details){
    min-height:auto!important;
  }
}
