
/* MA Solutions visual stability layer — 2026-09-09 v4 */
:root{
  --ma-ink:#111827;
  --ma-muted:#667085;
  --ma-line:#E5E7EB;
  --ma-surface:#F9FAFB;
  --ma-accent:#0F766E;
  --ma-accent-dark:#115E59;
}
html,body{max-width:100%;overflow-x:hidden}
body{font-family:Inter,Arial,Helvetica,sans-serif}
#main-content, #main-content *{box-sizing:border-box}
#main-content img{max-width:100%;height:auto}

/* ----- Header and selectable services menu ----- */
.ma-v4-header{isolation:isolate}
.ma-v4-services-details{position:relative}
.ma-v4-services-summary{
  display:inline-flex;align-items:center;gap:6px;padding:8px 0;
  cursor:pointer;list-style:none;color:inherit;user-select:none
}
.ma-v4-services-summary::-webkit-details-marker,
.ma-v4-services-details > summary::marker{display:none;content:""}
.ma-v4-services-summary svg{width:14px;height:14px;transition:transform .15s ease}
.ma-v4-services-details[open] .ma-v4-services-summary svg{transform:rotate(180deg)}
.ma-v4-services-menu{
  position:fixed;z-index:120;top:61px;left:50%;transform:translateX(-50%);
  width:min(900px,calc(100vw - 32px));padding:28px;background:#fff;
  border:1px solid var(--ma-line);border-radius:18px;
  box-shadow:0 24px 70px rgba(17,24,39,.14)
}
.ma-v4-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.ma-v4-service-group p{
  margin:0 0 10px;font-size:11px;line-height:1.4;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ma-accent)
}
.ma-v4-service-link{
  display:block;padding:7px 0;font-size:14px;line-height:1.4;
  color:var(--ma-muted);text-decoration:none
}
.ma-v4-service-link:hover,.ma-v4-service-link:focus{color:var(--ma-accent)}
.ma-v4-services-footer{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-top:20px;padding-top:18px;border-top:1px solid var(--ma-line);
  font-size:12px;color:var(--ma-muted)
}
.ma-v4-services-footer a{font-size:14px;font-weight:700;color:var(--ma-ink);text-decoration:none}
.ma-v4-services-footer a:hover{color:var(--ma-accent)}
.ma-v4-mobile-services{padding:8px;border-top:1px solid var(--ma-line)}
.ma-v4-mobile-group{padding:9px 0;border-top:1px solid var(--ma-line)}
.ma-v4-mobile-group:first-child{border-top:0}
.ma-v4-mobile-group p{
  margin:0 0 4px;padding:0 8px;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ma-accent)
}
.ma-v4-mobile-service-link{
  display:block;padding:8px;border-radius:8px;font-size:14px;color:var(--ma-muted);text-decoration:none
}
.ma-v4-mobile-service-link:hover{background:var(--ma-surface);color:var(--ma-ink)}
.ma-v4-mobile-all{
  display:block;margin-top:6px;padding:10px;border-radius:8px;background:var(--ma-surface);
  color:var(--ma-ink);font-size:14px;font-weight:700;text-decoration:none
}

/* ----- Generic editorial alignment safeguards ----- */
#main-content h1,#main-content h2,#main-content h3,#main-content h4,
#main-content p,#main-content li,#main-content label,#main-content th,#main-content td{text-align:left}
#main-content p,#main-content li,#main-content td,#main-content a{overflow-wrap:anywhere}
.section-head{
  display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);
  gap:32px;align-items:end;margin-bottom:40px
}
.section-head > :last-child{grid-column:2}
.section-intro{max-width:720px}
.hero-grid,.feature-split,.contact-grid{min-width:0}
.hero-grid>*,
.feature-split>*,
.contact-grid>*{min-width:0}

/* ----- About: fix the raw statistics strip and quote ----- */
.firm-facts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
  width:min(100% - 40px,1280px);margin:0 auto
}
.firm-fact{
  min-width:0;padding:24px;border:1px solid var(--ma-line);border-radius:16px;background:#fff
}
.firm-fact strong{
  display:block;margin-bottom:10px;font-size:30px;line-height:1;font-weight:700;
  letter-spacing:-.04em;color:var(--ma-accent)
}
.firm-fact span{display:block;font-size:13px;line-height:1.55;color:var(--ma-muted)}
.quote{
  border:1px solid var(--ma-line);border-radius:18px;background:var(--ma-surface);
  padding:28px
}
.quote p{margin:0;font-size:17px!important;line-height:1.65!important;color:var(--ma-ink)!important}
.quote span{
  display:block;margin-top:14px;font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ma-accent)
}

/* ----- Insights: checklists ----- */
.checklist-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px
}
.checklist-card{
  min-width:0;padding:22px;border:1px solid var(--ma-line);border-radius:16px;background:#fff
}
.checklist-meta{
  margin-bottom:12px;font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ma-accent)
}
.checklist-card h3{margin:0 0 8px}
.checklist-card p{margin:0}

/* ----- Insights: software ----- */
.software-intro{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:40px;align-items:end;margin-bottom:36px
}
.software-intro h2{margin-top:10px}
.software-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px
}
.software-card{
  min-width:0;padding:22px;border:1px solid var(--ma-line);border-radius:16px;background:#fff
}
.software-card .software-mark{display:none!important}
.software-card .platform-badge{margin-bottom:16px}
.software-card h3{margin:0 0 8px}
.software-card p{margin:0}
.software-note{margin-top:14px;font-size:11px;line-height:1.5;color:var(--ma-muted)}

/* ----- Insights: CIPC directory ----- */
.cipc-layout{
  display:grid;grid-template-columns:minmax(250px,3fr) minmax(0,9fr);
  gap:28px;align-items:start
}
.cipc-intro{
  position:sticky;top:90px;padding:24px;border:1px solid var(--ma-line);
  border-radius:18px;background:#fff
}
.cipc-intro h3{margin:12px 0 8px}
.cipc-intro p{margin:0}
.cipc-intro ul{margin:16px 0;padding-left:18px}
.cipc-intro li{margin:6px 0}
.cipc-intro-link{
  display:inline-flex;margin-top:14px;font-size:13px;font-weight:700;
  color:var(--ma-ink);text-decoration:none
}
.cipc-intro-link:hover{color:var(--ma-accent)}
.cipc-guide-list{
  overflow:hidden;border:1px solid var(--ma-line);border-radius:18px;background:#fff
}
.cipc-guide-row{
  display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:18px;
  align-items:center;padding:20px 22px;border-top:1px solid var(--ma-line)
}
.cipc-guide-row:first-child{border-top:0}
.cipc-guide-type{
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ma-accent)
}
.cipc-guide-copy h3{margin:0 0 5px;font-size:15px!important}
.cipc-guide-copy p{margin:0;font-size:12px!important;line-height:1.55!important}
.cipc-guide-link{
  white-space:nowrap;font-size:12px;font-weight:700;color:var(--ma-ink);text-decoration:none
}
.cipc-guide-link:hover{color:var(--ma-accent)}
.cipc-source-note{
  display:flex;justify-content:space-between;gap:24px;margin-top:14px;
  font-size:11px;line-height:1.5;color:var(--ma-muted)
}

/* ----- SARS feed: compact, scan-friendly, no search ----- */
.ma-sars-list{
  display:grid;overflow:hidden;border:1px solid var(--ma-line);
  border-radius:16px;background:#fff
}
.ma-sars-item{
  display:grid;grid-template-columns:116px 110px minmax(0,1fr) 18px;
  gap:14px;align-items:center;padding:15px 18px;border-top:1px solid var(--ma-line);
  color:var(--ma-ink);text-decoration:none
}
.ma-sars-item:first-child{border-top:0}
.ma-sars-item:hover{background:var(--ma-surface)}
.ma-sars-date{font-size:11px;color:var(--ma-muted);white-space:nowrap}
.ma-sars-category{
  font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ma-accent)
}
.ma-sars-title{
  min-width:0;font-size:13px;line-height:1.45;font-weight:600;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.ma-sars-arrow{color:var(--ma-accent);font-weight:700}

/* ----- Existing service page stability ----- */
.service-visual{display:none!important}
.hero-service-badge img{width:28px!important;height:28px!important;object-fit:contain}
.ncr-visual-heading img{width:36px!important;height:36px!important;flex:0 0 36px!important;object-fit:contain}
.service-row{min-width:0}
.service-copy{min-width:0}

/* ----- Footer ----- */
.ma-v4-footer-grid{
  display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(260px,1fr) minmax(260px,1fr);
  gap:48px;align-items:start
}
.ma-v4-footer-label{
  margin:0 0 12px;font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ma-accent)
}
.ma-v4-footer-links{display:flex;flex-wrap:wrap;gap:10px 20px}
.ma-v4-footer-links a,.ma-v4-footer-contact a{
  font-size:12px;line-height:1.5;color:var(--ma-muted);text-decoration:none
}
.ma-v4-footer-links a:hover,.ma-v4-footer-contact a:hover{color:var(--ma-ink)}
.ma-v4-footer-contact{display:grid;gap:8px}
.ma-v4-footer-bottom{
  display:flex;justify-content:space-between;gap:24px;margin-top:28px;padding-top:18px;
  border-top:1px solid var(--ma-line);font-size:11px;color:var(--ma-muted)
}

/* ----- Breakpoints ----- */
@media (max-width:1023px){
  .section-head{grid-template-columns:1fr;gap:14px}
  .section-head > :last-child{grid-column:auto}
  .firm-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checklist-grid,.software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cipc-layout{grid-template-columns:1fr}
  .cipc-intro{position:static}
  .ma-v4-footer-grid{grid-template-columns:1fr 1fr}
  .ma-v4-footer-grid > :first-child{grid-column:1/-1}
}
@media (max-width:767px){
  .ma-v4-services-menu{display:none!important}
  .firm-facts{
    grid-template-columns:1fr;width:calc(100% - 40px)
  }
  .checklist-grid,.software-grid,.software-intro{grid-template-columns:1fr}
  .software-intro{gap:14px}
  .cipc-guide-row{grid-template-columns:1fr;gap:7px;padding:18px}
  .cipc-guide-link{margin-top:2px}
  .cipc-source-note{flex-direction:column}
  .ma-sars-item{
    grid-template-columns:1fr auto;gap:5px 10px;padding:14px 16px
  }
  .ma-sars-date,.ma-sars-category{font-size:10px}
  .ma-sars-title{grid-column:1/-1}
  .ma-sars-arrow{display:none}
  .ma-v4-footer-grid{grid-template-columns:1fr;gap:28px}
  .ma-v4-footer-grid > :first-child{grid-column:auto}
  .ma-v4-footer-bottom{flex-direction:column;gap:8px}
}


/* MA Solutions no-phone footer adjustment — V12 */
.ma-v4-footer-grid {
  grid-template-columns:minmax(240px,1.2fr) minmax(260px,1fr);
}
@media (max-width:1023px) {
  .ma-v4-footer-grid {
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:767px) {
  .ma-v4-footer-grid {
    grid-template-columns:1fr;
  }
}
