/* FaithCore · Mobile readability and single-open cards · 2026-10-16
   Preserves approved color palette and structure. */
@media (max-width: 767px) {
  body main p:not(.eyebrow), body main article p, body main section p:not(.eyebrow),
  body main .service-extra, body main .fc-bk-panel-text,
  body main .hc-step-detail p, body main .hc-step p,
  body main .hero-intro, body main .fc-v4-why-card p,
  body main .fc-v4-services p, body main .mm-founder-story p,
  body footer .footer-about p, body footer .footer-column p,
  body .footer-about > p,
  body main li:not(.hc-step) {
    text-align: left !important;
    text-align-last: left !important;
    text-justify: auto !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    overflow-wrap: break-word !important;
    line-height: 1.6 !important;
  }
  body main .service-extra, body main .fc-bk-panel-text {
    line-height: 1.65 !important;
  }
  body main .hero-intro, body main .fc-v4-why-card p {
    line-height: 1.55 !important;
  }
}
/* Service details: closed = cream, open = black, never hover-black unless open. */
body main .polished-service-grid > article {
  background: #FCF9F2 !important;
  color: #0B0B0B !important;
  transition: background-color .25s ease, border-color .25s ease !important;
}
body main .polished-service-grid > article:not(.is-open):hover,
body main .polished-service-grid > article:not(.is-open):focus-within {
  background: #FCF9F2 !important;
  color: #0B0B0B !important;
  border-color: #D6AC2B !important;
}
body main .polished-service-grid > article:not(.is-open) h3 {color:#0B0B0B !important;}
body main .polished-service-grid > article:not(.is-open) > p,
body main .polished-service-grid > article:not(.is-open) .service-extra {color:#493e2d !important;}
body main .polished-service-grid > article:not(.is-open) .learn-more {color:#926E13 !important;}
body main .polished-service-grid > article.is-open,
body main .polished-service-grid > article.is-open:hover,
body main .polished-service-grid > article.is-open:focus-within {
  background: #0B0B0B !important;
  color: #FCF9F2 !important;
  border-color: #D6AC2B !important;
}
body main .polished-service-grid > article.is-open h3,
body main .polished-service-grid > article.is-open .learn-more {color:#D6AC2B !important;}
body main .polished-service-grid > article.is-open > p,
body main .polished-service-grid > article.is-open .service-extra {color:#FCF9F2 !important;}
body main .polished-service-grid > article .service-extra:not(.open){display:none!important;}
body main .polished-service-grid > article .service-extra.open{display:block!important;}
body main .polished-service-grid .learn-more {cursor:pointer;}
/* Selection journey: unselected buttons remain cream even when hovered/focused. */
body main .fc-bookkeeping-journey .fc-bk-choice:not(.is-selected):hover,
body main .fc-bookkeeping-journey .fc-bk-choice:not(.is-selected):focus-visible {
  background:#FCF9F2!important; color:#0B0B0B!important;
  border-color:#D6AC2B!important;
}
body main .fc-bookkeeping-journey .fc-bk-choice:not(.is-selected):is(:hover,:focus-visible) .fc-bk-choice-copy strong,
body main .fc-bookkeeping-journey .fc-bk-choice:not(.is-selected):is(:hover,:focus-visible) .fc-bk-index,
body main .fc-bookkeeping-journey .fc-bk-choice:not(.is-selected):is(:hover,:focus-visible) .fc-bk-chevron {color:#0B0B0B!important;}
body main .fc-bookkeeping-journey .fc-bk-choice:not(.is-selected):is(:hover,:focus-visible) .fc-bk-choice-copy small {color:#72513A!important;}
/* Five-step process: exactly one expanded black card. Other steps stay warm cream. */
.hc-how-process .hc-steps {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:12px!important;
  border:0!important;
}
.hc-how-process .hc-step,
.hc-how-process .hc-step:not(.is-open):hover,
.hc-how-process .hc-step:not(.is-open):focus-within {
  position:relative!important;
  grid-column:auto!important;
  min-height:0!important;
  padding:0!important;
  transform:none!important;
  background:#FCF9F2!important;
  border:1px solid #D6AC2B!important;
  border-radius:12px!important;
  color:#0B0B0B!important;
  overflow:hidden;
}
.hc-how-process .hc-step.is-open,
.hc-how-process .hc-step.is-open:hover,
.hc-how-process .hc-step.is-open:focus-within {
  background:#0B0B0B!important;
  border-color:#D6AC2B!important;
  color:#FCF9F2!important;
}
.hc-how-process .hc-step-toggle {
  position:relative; display:flex; flex-direction:column; align-items:flex-start;
  width:100%; min-height:128px; gap:14px; padding:26px 26px 22px;
  border:0; background:transparent; color:inherit; text-align:left!important;
  cursor:pointer; font:inherit;
}
.hc-how-process .hc-step-toggle:focus-visible {outline:3px solid #D6AC2B;outline-offset:-4px;}
.hc-how-process .hc-step-toggle small{display:block;max-width:80%;color:#926E13!important;font-size:11px;font-weight:750;letter-spacing:.075em;text-transform:uppercase;text-align:left!important;}
.hc-how-process .hc-step.is-open .hc-step-toggle small{color:#D6AC2B!important;}
.hc-how-process .hc-step-toggle .hc-step-title{
  display:block; position:relative; z-index:1; font-family:'Playfair Display', Georgia, serif;
  font-size:clamp(18px,1.55vw,22px); line-height:1.35; font-weight:700;
  text-align:left!important; color:#0B0B0B!important;
}
.hc-how-process .hc-step.is-open .hc-step-title{color:#D6AC2B!important;}
.hc-how-process .hc-step-toggle .hc-step-chevron {
  position:absolute; right:17px;bottom:12px; width:24px;height:24px;
  display:grid;place-items:center;color:#926E13;font-size:24px;
  transition:transform .2s ease;
}
.hc-how-process .hc-step.is-open .hc-step-chevron{color:#D6AC2B;transform:rotate(45deg);}
.hc-how-process .hc-step-num {right:19px;top:12px;z-index:0;pointer-events:none;font-size:46px!important;color:rgba(182,136,23,.16)!important;}
.hc-how-process .hc-step-detail {padding:0 26px 25px;color:inherit;}
.hc-how-process .hc-step-detail[hidden]{display:none!important;}
.hc-how-process .hc-step-detail p{margin:0 0 16px!important; font-size:15px!important;line-height:1.65!important;color:inherit!important; text-align:left!important; word-spacing:normal!important;hyphens:none!important;}
.hc-how-process .hc-step-detail a,
.hc-how-process .hc-step-detail b {display:block; margin:20px 0 0!important; padding-top:14px; border-top:1px solid rgba(214,172,43,.55);color:#D6AC2B!important;font-size:13px;line-height:1.45;text-decoration:none;}
.hc-how-process .hc-step-detail a:hover{text-decoration:underline;}
@media(max-width:1000px){.hc-how-process .hc-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:700px){
 .hc-how-process .hc-steps{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}
 .hc-how-process .hc-step-toggle{min-height:0;padding:20px 21px 18px;gap:11px;}
 .hc-how-process .hc-step-title{font-size:20px!important;line-height:1.35!important;max-width:90%;}
 .hc-how-process .hc-step-num{top:10px;font-size:42px!important;}
 .hc-how-process .hc-step-detail{padding:0 21px 22px;}
 .hc-how-process .hc-step-detail p{font-size:15px!important;line-height:1.65!important;}
}
@media(prefers-reduced-motion:reduce){
 body main .polished-service-grid > article,.hc-how-process .hc-step-toggle .hc-step-chevron{transition:none!important;}
}

/* Override the older high-specificity mobile justify selectors that caused
   large word-spacing gaps inside narrow cards. Desktop remains justified. */
@media(max-width:767px){
  html body main#top p:not(.eyebrow):not(.amharic-welcome):not(.faithcore-label):not(.payroll-state-prompt):not(.amharic),
  html body main#top .service-extra,
  html body main#top .fc-bk-panel-text,
  html body main#top .hc-step-detail p,
  html body main#top .hero-intro,
  html body .site-footer p,
  html body .site-footer .footer-about p {
    text-align:left!important;
    text-align-last:left!important;
    text-justify:auto!important;
    word-spacing:normal!important;
    letter-spacing:normal!important;
    -webkit-hyphens:none!important;
    hyphens:none!important;
    overflow-wrap:break-word!important;
  }
}
