/* ACTS Card Source of Truth v1
   Benchmark: Home > Service Areas cards */
:root{
  --acts-card-bg:#fff;
  --acts-card-functional-bg:#fbfdfd;
  --acts-card-border:#dce7eb;
  --acts-card-radius:22px;
  --acts-card-radius-mobile:19px;
  --acts-card-shadow:0 16px 36px rgba(25,62,86,.086);
  --acts-card-shadow-soft:0 12px 30px rgba(25,62,86,.07);
  --acts-card-navy:#0d3155;
  --acts-card-muted:#526b7f;
}
/* Marketing, explanatory, workflow, service, pricing and completion cards */
html body main :is(
.v38-service-card,.v37-problem-card,.v8-problem-card,.v8-value-card,
.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article,
.v53-coord__card,.v8-price-card,.step-card,
.service-card:not(.contact-card):not(.v8-cta__panel),
.glossary-card,.pr44-card,.qualification-card,.about-v26-role-card,
.contact-detail,.faqfull-list details,.services-example,.thank-you-card,
.pr44-info,.pr44-payment
){
  background:var(--acts-card-bg)!important;
  border-inline:1px solid var(--acts-card-border)!important;
  border-bottom:1px solid var(--acts-card-border)!important;
  border-radius:22px!important;
  box-shadow:0 16px 36px rgba(25,62,86,.086)!important;
  box-sizing:border-box!important;
}
/* Plain cards receive the standard top border; existing colored/status top accents remain */
html body main :is(
.v37-problem-card,.v8-problem-card,.v8-value-card,.v38-workflow-step,
.about-v26-workflow-grid article,.hiw-v30-steps article,.v53-coord__card,
.v8-price-card,.step-card,.service-card:not(.contact-card):not(.v8-cta__panel),
.glossary-card,.qualification-card,.contact-detail,.faqfull-list details,
.thank-you-card,.pr44-info,.pr44-payment
){border-top:1px solid var(--acts-card-border)!important}
/* Restore intentional Service Areas-style category/status accents */
html body main .v38-service-card{border-top:4px solid var(--card-accent,#15998f)!important}
html body main .v38-service-card--full{
  background:linear-gradient(145deg,#0b7e79,#164866)!important;
  border-color:transparent!important;
  border-top-color:#7bd8d0!important;
}
html body main .v38-service-card--full :is(h3,p),
html body main .v38-service-card--full{color:#fff!important}
html body main .v8-service-card--accent{
  background:linear-gradient(160deg,#0f8582,#0b5e69)!important;
  border-color:transparent!important;
  color:#fff!important;
}
html body main .v8-service-card--accent :is(h3,p){color:#fff!important}
html body main .services-v38-grid .service-card:nth-child(1),
html body main .services-example:nth-child(1),
html body main .pr44-card:nth-child(1){border-top:4px solid #15998f!important}
html body main .services-v38-grid .service-card:nth-child(2),
html body main .services-example:nth-child(2),
html body main .pr44-card:nth-child(2){border-top:4px solid #2e78bd!important}
html body main .services-v38-grid .service-card:nth-child(3),
html body main .services-example:nth-child(3),
html body main .pr44-card:nth-child(3){border-top:4px solid #d97722!important}
html body main .services-v38-grid .service-card:nth-child(4),
html body main .pr44-card:nth-child(4){border-top:4px solid #7054b3!important}
html body main .about-v26-role-card--yes{border-top:5px solid #159995!important}
html body main .about-v26-role-card--no{border-top:5px solid #d1685d!important}
/* Functional panels use the same family with quieter depth */
html body main :is(
.hero-panel,.faqfull-index__card,.glossary-search-card,.glossary-feature,
.request-form-shell,.form-section,.form-subsection-panel,.option-group,
.privacy-consent-option,.form-privacy-notice,.privacy-section,.legal-section,
.pr44-note
){
  border-inline:1px solid var(--acts-card-border)!important;
  border-bottom:1px solid var(--acts-card-border)!important;
  border-radius:var(--acts-card-radius)!important;
  box-sizing:border-box!important;
}
html body main :is(.hero-panel,.faqfull-index__card,.glossary-search-card,.glossary-feature,.request-form-shell){
  background:var(--acts-card-bg)!important;
  border-top:1px solid var(--acts-card-border)!important;
  box-shadow:var(--acts-card-shadow-soft)!important;
}
html body main :is(.form-section,.form-subsection-panel,.option-group,.privacy-consent-option,.form-privacy-notice,.privacy-section,.legal-section,.pr44-note){
  background:var(--acts-card-functional-bg)!important;
  box-shadow:none!important;
}
html body main :is(.privacy-section,.legal-section){border-inline-start:3px solid #15998f!important}
/* Shared card text identity */
html body main :is(
.v38-service-card,.v37-problem-card,.v8-problem-card,.v8-value-card,
.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article,
.v53-coord__card,.v8-price-card,.step-card,.service-card,.glossary-card,
.pr44-card,.qualification-card,.about-v26-role-card,.contact-detail,
.faqfull-list details,.services-example,.thank-you-card
) :is(h2,h3,strong){color:var(--acts-card-navy)}
html body main :is(
.v38-service-card,.v37-problem-card,.v8-problem-card,.v8-value-card,
.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article,
.v53-coord__card,.v8-price-card,.step-card,.service-card,.glossary-card,
.pr44-card,.qualification-card,.about-v26-role-card,.contact-detail,
.faqfull-list details,.services-example,.thank-you-card
) p{color:var(--acts-card-muted)}
@media(max-width:700px){
 html body main :is(
 .v38-service-card,.v37-problem-card,.v8-problem-card,.v8-value-card,
 .v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article,
 .v53-coord__card,.v8-price-card,.step-card,
 .service-card:not(.contact-card):not(.v8-cta__panel),.glossary-card,.pr44-card,
 .qualification-card,.about-v26-role-card,.contact-detail,.faqfull-list details,
 .services-example,.thank-you-card,.pr44-info,.pr44-payment,
 .hero-panel,.faqfull-index__card,.glossary-search-card,.glossary-feature,
 .request-form-shell,.form-section,.form-subsection-panel,.option-group,
 .privacy-consent-option,.form-privacy-notice,.privacy-section,.legal-section,.pr44-note
 ){border-radius:19px!important}
}

/* Specificity guard: page-level legacy rules cannot alter shared service cards */
html[lang] body main .service-card.service-card.service-card:not(.contact-card):not(.v8-cta__panel){
  border-radius:22px!important;
  box-shadow:0 16px 36px rgba(25,62,86,.086)!important;
}
@media(max-width:700px){
  html[lang] body main .service-card.service-card.service-card:not(.contact-card):not(.v8-cta__panel){border-radius:19px!important}
}

/* ACTS card normalization v6 — Homepage Service Areas is the visual source of truth */
:root{--acts-card-radius:26px;--acts-card-radius-mobile:21px;--acts-card-border:#dfe9ed;--acts-card-shadow:0 18px 42px rgba(20,58,86,.085);--acts-card-shadow-soft:0 12px 30px rgba(20,58,86,.07);}

/* Stronger shared shell for content cards; functional form panels remain excluded. */
html body main :is(.service-card:not(.contact-card):not(.v8-cta__panel),.step-card,.qualification-card,.glossary-card,.pr44-card,.pr44-info,.pr44-payment,.faqfull-list details,.v8-price-card,.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article,.v53-coord__card,.v8-value-card,.v37-problem-card,.v8-problem-card){
  position:relative!important;background:#fff!important;border-inline:1px solid var(--acts-card-border)!important;border-bottom:1px solid var(--acts-card-border)!important;border-radius:var(--acts-card-radius)!important;box-shadow:var(--acts-card-shadow)!important;box-sizing:border-box!important;
}

/* Homepage-style colored top accents for repeated content cards. */
html body main :is(.service-card:not(.contact-card):not(.v8-cta__panel),.step-card,.qualification-card,.glossary-card,.faqfull-list details,.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article,.v53-coord__card,.v8-value-card){border-top:4px solid #15998f!important;}
html body main :is(.step-card,.glossary-card,.faqfull-list details,.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article):nth-child(5n+2){border-top-color:#2e78bd!important;}
html body main :is(.step-card,.glossary-card,.faqfull-list details,.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article):nth-child(5n+3){border-top-color:#268b68!important;}
html body main :is(.step-card,.glossary-card,.faqfull-list details,.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article):nth-child(5n+4){border-top-color:#d97722!important;}
html body main :is(.step-card,.glossary-card,.faqfull-list details,.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article):nth-child(5n+5){border-top-color:#7054b3!important;}
html body main .qualification-card:first-child{border-top-color:#15998f!important;}
html body main .qualification-card:nth-child(2){border-top-color:#d1685d!important;}

/* Keep specialized pricing category colors but use the shared depth/radius. */
html body main .pr44-card{border-radius:var(--acts-card-radius)!important;box-shadow:var(--acts-card-shadow)!important;border-bottom:1px solid var(--acts-card-border)!important;}
html body main .pr44-card:nth-child(1){border-top:4px solid #15998f!important;}
html body main .pr44-card:nth-child(2){border-top:4px solid #2e78bd!important;}
html body main .pr44-card:nth-child(3){border-top:4px solid #d97722!important;}
html body main .pr44-card:nth-child(4){border-top:4px solid #7054b3!important;}

/* Service Areas itself remains the source of truth. */
html body main .v38-service-card{border-radius:var(--acts-card-radius)!important;box-shadow:var(--acts-card-shadow)!important;}

/* Existing numbers use the same circular visual language as Service Areas. */
html body main :is(.step-number,.workflow-step-circle,.terms-num,.faqfull-group__head>span,.pr44-card>span){display:grid!important;place-items:center!important;width:48px!important;height:48px!important;min-width:48px!important;border-radius:50%!important;background:#e3f5f2!important;color:#0b8e88!important;font-weight:900!important;box-sizing:border-box!important;}
html body main .faqfull-group:nth-of-type(5n+2) .faqfull-group__head>span{background:#eaf3fc!important;color:#2e78bd!important;}
html body main .faqfull-group:nth-of-type(5n+3) .faqfull-group__head>span{background:#eaf7f1!important;color:#268b68!important;}
html body main .faqfull-group:nth-of-type(5n+4) .faqfull-group__head>span{background:#fff0e4!important;color:#d97722!important;}
html body main .faqfull-group:nth-of-type(5n+5) .faqfull-group__head>span{background:#f0ebfb!important;color:#7054b3!important;}

/* Legal/privacy: same family, quieter depth and no decorative cycling. */
html body main :is(.legal-section,.privacy-section){background:#fff!important;border:1px solid var(--acts-card-border)!important;border-inline-start:4px solid #15998f!important;border-radius:var(--acts-card-radius)!important;box-shadow:var(--acts-card-shadow-soft)!important;}
html body main .legal-card{background:transparent!important;border:0!important;box-shadow:none!important;}

/* Typography within normalized cards. */
html body main :is(.service-card,.step-card,.qualification-card,.glossary-card,.pr44-card,.pr44-info,.pr44-payment,.faqfull-list details,.v38-workflow-step,.v53-coord__card,.v8-value-card) :is(h2,h3,strong){color:#173b5c!important;}
html body main :is(.service-card,.step-card,.qualification-card,.glossary-card,.pr44-card,.pr44-info,.pr44-payment,.faqfull-list details,.v38-workflow-step,.v53-coord__card,.v8-value-card) p{color:#667985!important;}

@media(max-width:700px){html body main :is(.service-card:not(.contact-card):not(.v8-cta__panel),.step-card,.qualification-card,.glossary-card,.pr44-card,.pr44-info,.pr44-payment,.faqfull-list details,.v8-price-card,.v38-workflow-step,.about-v26-workflow-grid article,.hiw-v30-steps article,.v53-coord__card,.v8-value-card,.v37-problem-card,.v8-problem-card,.legal-section,.privacy-section){border-radius:var(--acts-card-radius-mobile)!important;}}

/* v6 correction: match the ACTUAL rendered Homepage Service Areas shell */
:root{--acts-card-radius:22px;--acts-card-radius-mobile:19px;--acts-card-shadow:0 16px 36px rgba(25,62,86,.086);--acts-card-shadow-soft:0 12px 30px rgba(25,62,86,.07);}
html[lang] body main .service-card.service-card.service-card:not(.contact-card):not(.v8-cta__panel){
  background:#fff!important;border-inline:1px solid var(--acts-card-border)!important;border-bottom:1px solid var(--acts-card-border)!important;border-top:4px solid #15998f!important;border-radius:var(--acts-card-radius)!important;box-shadow:var(--acts-card-shadow)!important;
}
@media(max-width:700px){html[lang] body main .service-card.service-card.service-card:not(.contact-card):not(.v8-cta__panel){border-radius:var(--acts-card-radius-mobile)!important;}}

/* Specificity guard for legacy service-detail workflow cards */
html[lang] body main .step-card.step-card.step-card{border-inline:1px solid var(--acts-card-border)!important;border-bottom:1px solid var(--acts-card-border)!important;border-top:4px solid #15998f!important;border-radius:var(--acts-card-radius)!important;box-shadow:var(--acts-card-shadow)!important;background:#fff!important;}
html[lang] body main .step-card.step-card.step-card:nth-child(5n+2){border-top-color:#2e78bd!important;}
html[lang] body main .step-card.step-card.step-card:nth-child(5n+3){border-top-color:#268b68!important;}
html[lang] body main .step-card.step-card.step-card:nth-child(5n+4){border-top-color:#d97722!important;}
html[lang] body main .step-card.step-card.step-card:nth-child(5n+5){border-top-color:#7054b3!important;}
@media(max-width:700px){html[lang] body main .step-card.step-card.step-card{border-radius:var(--acts-card-radius-mobile)!important;}}

/* Sixth Home service card: keep shared white card shell and restore visible content */
html body main .v38-service-card.v38-service-card--full h3,
html body main .v38-service-card.v38-service-card--full p{
  color:#173b5c!important;
  opacity:1!important;
}
html body main .v38-service-card.v38-service-card--full .v38-service-num{
  color:#0b7e79!important;
  background:#e6f5f3!important;
}
html body main .v38-service-card.v38-service-card--full .v38-service-meta span{
  color:#0b7e79!important;
  background:#e6f5f3!important;
}
