/* ============================================================
   MA Fundraising Toolkit component skins.
   Enqueue after style.css when templates are built. Components are
   uniquely .ma- prefixed and only render where their markup exists.
   ============================================================ */

/* ===================== COMPONENTS (.ma-*) ===================== */

.ma-btn {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 44px; padding: 10px 14px 10px 22px;
  font-family: var(--ma-font-sans); font-weight: 600; font-size: 15px; line-height: 1;
  border-radius: var(--ma-radius-pill); border: 2px solid transparent;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background var(--ma-dur-fast) var(--ma-ease-standard), transform var(--ma-dur-fast) var(--ma-ease-standard), border-color var(--ma-dur-fast);
}
.ma-btn__icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-btn__icon svg { width: 14px; height: 14px; }
.ma-btn--primary { background: var(--ma-crimson); color: #fff; }
.ma-btn--primary .ma-btn__icon { background: #fff; color: var(--ma-crimson); }
.ma-btn--primary:hover { background: var(--ma-crimson-085); transform: translateY(-1px); }
.ma-btn--primary:hover .ma-btn__icon { transform: translateX(3px); }
.ma-btn--secondary { background: var(--ma-navy); color: #fff; }
.ma-btn--secondary .ma-btn__icon { background: rgba(255,255,255,.16); color: #fff; }
.ma-btn--secondary:hover { background: var(--ma-navy-085); transform: translateY(-1px); }
.ma-btn--secondary:hover .ma-btn__icon { transform: translateX(3px); }
.ma-btn--outline { background: transparent; color: var(--ma-navy); border-color: var(--ma-navy); padding-right: 22px; }
.ma-btn--outline:hover { background: var(--ma-navy); color: #fff; transform: translateY(-1px); }
.ma-btn:focus-visible { outline: 3px solid var(--ma-navy); outline-offset: 2px; }
.ma-btn--secondary:focus-visible, .ma-btn--outline:focus-visible { outline-color: var(--ma-crimson); }
.ma-btn[disabled], .ma-btn.is-disabled { opacity: .45; pointer-events: none; }
/* Circle-arrow link (signature CTA) */
.ma-arrowlink { display: inline-flex; align-items: center; gap: 10px; color: var(--ma-crimson); font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; text-decoration: none; }
.ma-arrowlink__c { width: 24px; height: 24px; border-radius: 50%; background: var(--ma-crimson); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-arrowlink__c svg { width: 11px; height: 11px; }
.ma-arrowlink:hover .ma-arrowlink__c { transform: translateX(3px); }
/* Webinar navigation buttons */
.ma-vidbtn { display: inline-flex; align-items: center; gap: 11px; background: var(--ma-panel); border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-pill); padding: 8px 18px; color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; text-decoration: none; cursor: pointer; transition: background var(--ma-dur-fast); }
.ma-vidbtn:hover { background: #E8E9ED; }
.ma-vidbtn__c { width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 1px solid var(--ma-rule); display: inline-flex; align-items: center; justify-content: center; color: var(--ma-navy); }
.ma-vidbtn__c svg { width: 11px; height: 11px; }
.ma-vidbtn--solid { background: var(--ma-navy); color: #fff; border-color: var(--ma-navy); }
.ma-vidbtn--solid:hover { background: var(--ma-navy-085); }
.ma-vidbtn--solid .ma-vidbtn__c { background: rgba(255,255,255,.16); border-color: transparent; color: #fff; }
/* Filter action buttons */
.ma-fbtn { font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; border-radius: var(--ma-radius-input); padding: 11px 22px; border: 1px solid transparent; cursor: pointer; min-height: 44px; }
.ma-fbtn--apply { background: var(--ma-crimson); color: #fff; }
.ma-fbtn--apply:hover { background: var(--ma-crimson-085); }
.ma-fbtn--clear { background: #fff; border-color: var(--ma-rule); color: var(--ma-navy); }
.ma-fbtn--clear:hover { background: var(--ma-panel); }
/* Video play button */
.ma-play { width: 56px; height: 56px; border-radius: 50%; background: var(--ma-crimson); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.25); transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-play svg { width: 20px; height: 20px; margin-left: 3px; color: #fff; }
/* Links */
.ma-link { color: var(--ma-navy); font-weight: 600; text-decoration: none; background-image: linear-gradient(var(--ma-crimson), var(--ma-crimson)); background-size: 0% 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size var(--ma-dur-fast) var(--ma-ease-standard), color var(--ma-dur-fast); padding-bottom: 2px; }
.ma-link:hover { color: var(--ma-crimson); background-size: 100% 2px; }
.ma-ext { display: inline-block; width: 11px; height: 11px; margin-left: 4px; vertical-align: baseline; opacity: .65; }
/* Forms */
.ma-field { display: block; margin-bottom: 16px; max-width: 440px; }
.ma-field > label { display: block; font-size: 13px; font-weight: 600; color: var(--ma-navy); margin-bottom: 6px; }
.ma-field > label .req { color: var(--ma-crimson); }
.ma-input, .ma-select, .ma-textarea {
  width: 100%; font-family: var(--ma-font-sans); font-size: 15px; color: var(--ma-ink);
  background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-input); padding: 11px 14px;
  transition: border-color var(--ma-dur-fast) var(--ma-ease-standard), box-shadow var(--ma-dur-fast);
}
.ma-textarea { min-height: 96px; resize: vertical; }
.ma-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23232C65' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.ma-input:focus, .ma-select:focus, .ma-textarea:focus { outline: none; border-color: var(--ma-navy); box-shadow: 0 0 0 3px rgba(35,44,101,.14); }
.ma-field.is-error .ma-input, .ma-field.is-error .ma-textarea { border-color: var(--ma-crimson); box-shadow: 0 0 0 3px rgba(222,30,56,.12); }
.ma-field__err { display: none; font-size: 12.5px; color: var(--ma-crimson); margin-top: 6px; font-weight: 500; }
.ma-field.is-error .ma-field__err { display: block; }
/* Chips, tags, tier badges */
.ma-chip { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; padding: 7px 14px; border-radius: var(--ma-radius-pill); border: 1px solid var(--ma-rule); background: #fff; color: var(--ma-navy); }
.ma-chip--filter button { all: unset; cursor: pointer; display: inline-flex; width: 16px; height: 16px; align-items: center; justify-content: center; color: var(--ma-navy); }
.ma-chip--filter button svg { width: 9px; height: 9px; }
.ma-chip--cat { cursor: pointer; }
.ma-chip--cat.is-active { background: var(--ma-navy); color: #fff; border-color: var(--ma-navy); }
.ma-chip--minute { background: var(--ma-panel); border-color: var(--ma-panel-line); font-family: var(--ma-font-sans-2); font-size: 12px; padding: 5px 11px; }
.ma-tier { display: inline-flex; align-items: center; font-family: var(--ma-font-sans); font-size: 12px; font-weight: 600; color: var(--ma-navy); background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-pill); padding: 5px 15px; }
.ma-tag { display: inline-flex; align-items: center; background: var(--ma-panel); border: 1px solid var(--ma-panel-line); border-radius: var(--ma-radius-pill); padding: 3px 11px; font-family: var(--ma-font-sans-2); font-size: 12px; color: var(--ma-navy); }
.ma-tag--more { background: #fff; color: #5C6270; }
/* Accordion */
.ma-acc { border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); overflow: hidden; max-width: 760px; background: #fff; }
.ma-acc__item + .ma-acc__item { border-top: 1px solid var(--ma-panel-line); }
.ma-acc__head { all: unset; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; cursor: pointer; padding: 18px 20px; font-family: var(--ma-font-sans); font-weight: 600; font-size: 16px; color: var(--ma-navy); transition: background var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-acc__head:hover { background: var(--ma-panel); }
.ma-acc__head:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: -3px; }
.ma-acc__chev { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ma-navy); color: #fff; transition: background var(--ma-dur-base) var(--ma-ease-standard), transform var(--ma-dur-base) var(--ma-ease-standard); }
.ma-acc__chev svg { width: 13px; height: 13px; }
.ma-acc__head[aria-expanded="true"] .ma-acc__chev { background: var(--ma-crimson); transform: rotate(180deg); }
.ma-acc__hd { margin: 0; }
.ma-acc__q { flex: 1 1 auto; text-align: left; line-height: 1.4; }
.ma-acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--ma-dur-base) var(--ma-ease-standard); }
.ma-acc__item.is-open > .ma-acc__panel { grid-template-rows: 1fr; }
/* No vertical padding on the grid item itself — padding here sets a track
   minimum that grid-template-rows:0fr cannot shrink past, leaving a sliver
   of the panel visible when closed. Padding lives on the <p> children. */
.ma-acc__inner { overflow: hidden; min-height: 0; }
.ma-acc__inner p { margin: 0; padding: 0 20px; color: var(--ma-ink); font-size: 15px; line-height: 1.65; }
.ma-acc__inner p:first-child { padding-top: 4px; }
.ma-acc__inner p:last-child { padding-bottom: 18px; }
.ma-acc__inner p + p { margin-top: 0.85em; }
@media (prefers-reduced-motion: reduce){ .ma-acc__panel, .ma-acc__chev { transition: none; } }
/* Cards */
.ma-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(252px, 1fr)); gap: 22px; }
.ma-pcard { background: #fff; }
.ma-pcard__title { font-size: 17px; font-weight: 700; color: var(--ma-navy); margin: 0 0 14px; }
.ma-pcard__media { position: relative; margin-bottom: 16px; }
.ma-pcard__media::before { content: ""; position: absolute; left: 0; top: 0; width: calc(100% - 28px); height: calc(100% - 8px); background: var(--ma-crimson); border-radius: 14px; z-index: 0; }
.ma-pcard__img { position: relative; z-index: 1; margin: 8px 0 0 28px; aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; background: #D6D6D6 center / cover no-repeat; }
.ma-pcard__text { font-size: 14px; color: var(--ma-ink); margin: 0 0 16px; }
.ma-card { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); overflow: hidden; transition: transform var(--ma-dur-base) var(--ma-ease-standard), box-shadow var(--ma-dur-base) var(--ma-ease-standard), border-color var(--ma-dur-base); }
.ma-card:hover { transform: translateY(-4px); box-shadow: var(--ma-shadow); border-color: var(--ma-panel-line); }
.ma-card__body { padding: 22px; }
.ma-card__eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ma-crimson); }
.ma-card__title { font-size: 17px; font-weight: 700; color: var(--ma-navy); margin: 8px 0; line-height: 1.25; }
.ma-card__title em { font-family: var(--ma-font-display); font-style: italic; font-weight: 600; }
.ma-card__text { font-size: 14px; color: var(--ma-ink); margin: 0 0 16px; }
.ma-card__media { aspect-ratio: 16 / 9; background: linear-gradient(135deg, #2c3570, var(--ma-navy)); position: relative; display: flex; align-items: center; justify-content: center; }
.ma-portrait { width: 84px; height: 84px; border-radius: 50%; background: var(--ma-panel); border: 1px solid var(--ma-rule); display: flex; align-items: center; justify-content: center; color: var(--ma-navy); font-family: var(--ma-font-display); font-style: italic; font-size: 22px; margin-bottom: 14px; }
.ma-card__role { font-size: 13px; color: #5C6270; }
.ma-provider { text-align: left; }
.ma-provider__logo { height: 56px; background: var(--ma-panel); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--ma-navy); font-weight: 700; letter-spacing: .04em; margin: 14px 0; font-size: 14px; }
.ma-advisor__top { display: flex; gap: 16px; align-items: flex-start; }
.ma-advisor .ma-portrait { margin: 0; flex: none; width: 84px; height: 84px; }
.ma-advisor__name { font-weight: 700; font-size: 18px; color: var(--ma-navy); line-height: 1.15; }
.ma-advisor__role { font-style: italic; color: var(--ma-ink); font-size: 14px; margin-top: 6px; line-height: 1.35; }
.ma-advisor__rule { height: 1px; background: var(--ma-panel-line); margin: 18px 0; }
.ma-advisor__bio { font-size: 16px; color: var(--ma-ink); margin: 0 0 20px; line-height: 1.45; }
.ma-li { color: #B7BCC6; display: inline-block; }
.ma-li svg { width: 30px; height: 30px; display: block; }
/* Stats */
.ma-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 24px; text-align: center; }
.ma-stat__fig { font-family: var(--ma-font-sans); font-weight: 700; font-size: clamp(2.2rem, 1.6rem + 2vw, 3.1rem); color: var(--ma-crimson); line-height: 1; }
.ma-stat__lbl { font-size: 13px; color: var(--ma-navy); margin-top: 8px; font-weight: 500; }
/* Testimonial band (v05-locked; quote motif = Quote-marks-left.svg via CSS mask, --ma-panel fill) */
.ma-testi { position: relative; isolation: isolate; background: var(--ma-purple); color: #fff; border-radius: var(--ma-radius); padding: 32px clamp(54px,7vw,92px); overflow: hidden; display: flex; align-items: center; gap: clamp(26px,4vw,60px); min-height: 150px; }
.ma-testi__person { flex: none; width: 190px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.ma-testi__avatar { width: 88px; height: 88px; border-radius: 50%; background: rgba(255,255,255,.35) center / cover no-repeat; }
.ma-testi__who { font-family: var(--ma-font-sans); font-weight: 700; font-style: italic; font-size: 17px; line-height: 1.1; }
.ma-testi__role { font-family: var(--ma-font-sans); font-style: italic; font-size: 13.5px; color: rgba(255,255,255,.82); }
.ma-testi__quote { font-family: var(--ma-font-sans); font-weight: 400; font-style: normal; font-size: clamp(1rem,.92rem + .4vw,1.15rem); line-height: 1.5; max-width: 60ch; margin: 0; }
.ma-testi__mark { position: absolute; right: clamp(40px,5vw,72px); bottom: -4px; width: 124px; height: 92px; background: var(--ma-panel); -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2067.68%2049.561'%3E%3Cpath%20d='M16.52,49.561c-2.842,0-5.329-.561-7.461-1.688-2.132-1.124-3.85-2.634-5.152-4.53-1.185-1.893-2.132-4.144-2.842-6.75-.71-2.604-1.066-5.329-1.066-8.171,0-5.801,1.51-11.249,4.53-16.343C7.55,6.989,12.257,2.961,18.652,0l1.599,3.197c-3.317,1.54-6.248,3.761-8.793,6.661-2.548,2.903-4.058,5.951-4.53,9.148-.711,2.487-.772,4.916-.178,7.283,2.603-2.842,6.098-4.263,10.481-4.263,4.024,0,7.341,1.216,9.948,3.642,2.603,2.429,3.908,5.773,3.908,10.037,0,4.147-1.363,7.491-4.086,10.037-2.726,2.548-6.217,3.819-10.481,3.819ZM53.114,49.561c-2.842,0-5.329-.561-7.461-1.688-2.132-1.124-3.85-2.634-5.152-4.53-1.185-1.893-2.132-4.144-2.842-6.75-.711-2.604-1.066-5.329-1.066-8.171,0-5.801,1.51-11.249,4.53-16.343,3.02-5.09,7.727-9.118,14.122-12.079l1.599,3.197c-3.317,1.54-6.248,3.761-8.793,6.661-2.548,2.903-4.058,5.951-4.53,9.148-.71,2.487-.771,4.916-.178,7.283,2.604-2.842,6.098-4.263,10.481-4.263,4.025,0,7.341,1.216,9.948,3.642,2.604,2.429,3.908,5.773,3.908,10.037,0,4.147-1.363,7.491-4.086,10.037-2.725,2.548-6.217,3.819-10.481,3.819Z'%20fill='black'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2067.68%2049.561'%3E%3Cpath%20d='M16.52,49.561c-2.842,0-5.329-.561-7.461-1.688-2.132-1.124-3.85-2.634-5.152-4.53-1.185-1.893-2.132-4.144-2.842-6.75-.71-2.604-1.066-5.329-1.066-8.171,0-5.801,1.51-11.249,4.53-16.343C7.55,6.989,12.257,2.961,18.652,0l1.599,3.197c-3.317,1.54-6.248,3.761-8.793,6.661-2.548,2.903-4.058,5.951-4.53,9.148-.711,2.487-.772,4.916-.178,7.283,2.603-2.842,6.098-4.263,10.481-4.263,4.024,0,7.341,1.216,9.948,3.642,2.603,2.429,3.908,5.773,3.908,10.037,0,4.147-1.363,7.491-4.086,10.037-2.726,2.548-6.217,3.819-10.481,3.819ZM53.114,49.561c-2.842,0-5.329-.561-7.461-1.688-2.132-1.124-3.85-2.634-5.152-4.53-1.185-1.893-2.132-4.144-2.842-6.75-.711-2.604-1.066-5.329-1.066-8.171,0-5.801,1.51-11.249,4.53-16.343,3.02-5.09,7.727-9.118,14.122-12.079l1.599,3.197c-3.317,1.54-6.248,3.761-8.793,6.661-2.548,2.903-4.058,5.951-4.53,9.148-.71,2.487-.771,4.916-.178,7.283,2.604-2.842,6.098-4.263,10.481-4.263,4.025,0,7.341,1.216,9.948,3.642,2.604,2.429,3.908,5.773,3.908,10.037,0,4.147-1.363,7.491-4.086,10.037-2.725,2.548-6.217,3.819-10.481,3.819Z'%20fill='black'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .5; z-index: -1; pointer-events: none; }
.ma-testi__nav { position: absolute; top: 50%; transform: translateY(-50%); background: transparent; border: 0; color: #fff; cursor: pointer; width: 30px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; z-index: 1; }
.ma-testi__nav svg { width: 18px; height: 18px; }
.ma-testi__nav--prev { left: 16px; } .ma-testi__nav--next { right: 16px; }
@media (max-width: 768px){ .ma-testi { flex-direction: column; text-align: center; gap: 18px; padding: 28px 44px; } .ma-testi__quote { max-width: none; } }
.ma-caro-arrow { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5); background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--ma-dur-fast); }
.ma-caro-arrow:hover { background: rgba(255,255,255,.16); }
.ma-caro-arrow svg { width: 15px; height: 15px; }
/* Masthead band with wash */
.ma-masthead { position: relative; background: var(--ma-panel); border-radius: var(--ma-radius); overflow: hidden; min-height: 320px; display: flex; align-items: center; }
.ma-masthead__photo { position: absolute; top: 0; right: 0; bottom: 0; left: 38%; background-size: cover; background-position: center; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 26%); mask-image: linear-gradient(to right, transparent 0%, #000 26%); }
.ma-masthead__text { position: relative; z-index: 1; padding: clamp(28px, 4vw, 52px); max-width: 60%; }
.ma-masthead h2 { margin: 0; font-size: clamp(1.8rem, 1.2rem + 2.4vw, 2.8rem); font-weight: 700; color: var(--ma-navy); line-height: 1.08; display: inline-block; }
.ma-masthead h2 .c { color: var(--ma-crimson); }
.ma-masthead .rule { width: 120px; height: 4px; background: var(--ma-navy); border-radius: 2px; margin: 14px 0 16px; }
.ma-masthead p { margin: 0; color: var(--ma-ink); font-size: 1.0625rem; max-width: 34ch; }
/* Welcome card */
.ma-welcome { background: var(--ma-crimson); color: #fff; border-radius: var(--ma-radius); padding: clamp(26px, 3vw, 40px); max-width: 420px; }
.ma-welcome h3 { font-family: var(--ma-font-display); font-style: italic; font-weight: 600; font-size: 1.7rem; margin: 0 0 12px; line-height: 1.15; }
.ma-welcome p { margin: 0; color: rgba(255,255,255,.9); font-size: 15px; }
/* Mosaic tiles */
.ma-mosaic { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 150px; gap: 16px; }
.ma-tile { position: relative; border-radius: var(--ma-radius); overflow: hidden; display: flex; align-items: flex-end; padding: 18px; color: #fff; text-decoration: none; }
.ma-tile span { position: relative; z-index: 1; font-weight: 700; font-size: 16px; line-height: 1.2; max-width: 80%; }
.ma-tile .arrow { position: absolute; z-index: 1; right: 16px; bottom: 18px; width: 22px; height: 22px; }
.ma-tile--navy { background: linear-gradient(160deg, #394481, var(--ma-navy)); }
.ma-tile--crimson { background: linear-gradient(160deg, #e8536a, var(--ma-crimson)); }
.ma-tile--tall { grid-row: span 2; }
.ma-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,18,32,0) 30%, rgba(11,18,32,.45)); }
.ma-tile:hover span { text-decoration: underline; }
/* Navigation */
.ma-navdemo { display: grid; grid-template-columns: var(--ma-sidebar-w) 1fr; gap: 24px; align-items: start; }
.ma-sidebar { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: 14px 0; }
.ma-nav__group + .ma-nav__group { margin-top: 8px; border-top: 1px solid var(--ma-panel-line); padding-top: 8px; }
.ma-nav__item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 18px; color: var(--ma-navy); font-weight: 500; font-size: 14.5px; text-decoration: none; border-left: 3px solid transparent; cursor: pointer; transition: background var(--ma-dur-fast) var(--ma-ease-standard), color var(--ma-dur-fast); }
.ma-nav__item:hover { background: var(--ma-panel); color: var(--ma-crimson); }
.ma-nav__item.is-active { background: var(--ma-panel); color: var(--ma-crimson); border-left-color: var(--ma-crimson); font-weight: 600; }
.ma-nav__item .chev { width: 12px; height: 12px; transition: transform var(--ma-dur-base) var(--ma-ease-standard); }
.ma-nav__item.is-open .chev { transform: rotate(180deg); }
.ma-nav__ext { width: 11px; height: 11px; opacity: .6; }
.ma-nav__sub { display: none; padding: 2px 0 6px; }
.ma-nav__sub.is-shown { display: block; }
.ma-nav__sub a { display: block; padding: 8px 18px 8px 30px; font-size: 13px; color: var(--ma-ink); text-decoration: none; }
.ma-nav__sub a:hover { color: var(--ma-crimson); }
.ma-headerbits { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 16px 18px; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); }
.ma-wordmark { font-weight: 700; letter-spacing: .05em; font-size: 16px; color: var(--ma-navy); text-transform: uppercase; }
.ma-wordmark b { color: var(--ma-crimson); }
.ma-wordmark--hero { text-transform: none; letter-spacing: 0; font-size: 22px; }
.ma-search { display: inline-flex; align-items: center; gap: 8px; background: var(--ma-panel); border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-pill); padding: 8px 16px; color: #5C6270; font-size: 13px; min-width: 190px; }
.ma-search svg { width: 14px; height: 14px; color: var(--ma-navy); }
.ma-lang { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; }
.ma-lang .en { color: var(--ma-crimson); }
.ma-lang .sep { color: var(--ma-rule); }
.ma-lang .fr { color: #B7BAC4; }
.ma-logo-ph { font-size: 11px; font-family: var(--ma-font-sans-2); color: #8A8FAB; border: 1px dashed var(--ma-rule); border-radius: 8px; padding: 8px 12px; }
/* Investors table */
.ma-filterbar { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: 18px; margin-bottom: 18px; }
.ma-filterrow { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.ma-filtersel { min-width: 150px; }
.ma-filtersel label { display: block; font-size: 12px; font-weight: 600; color: var(--ma-navy); margin-bottom: 6px; }
.ma-tablewrap { border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); overflow: hidden; box-shadow: var(--ma-shadow); background: #fff; }
.ma-table { width: 100%; border-collapse: collapse; font-family: var(--ma-font-sans-2); font-size: 13.5px; }
.ma-table thead th { background: #fff; color: var(--ma-navy); text-align: left; font-family: var(--ma-font-sans); font-weight: 600; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; padding: 16px; border-bottom: 1px solid var(--ma-rule); white-space: nowrap; }
.ma-table tbody td { padding: 14px 16px; color: var(--ma-ink); vertical-align: middle; }
.ma-table tbody tr:nth-child(odd) td { background: #F7F8FA; }
.ma-table .inv { font-family: var(--ma-font-sans); font-weight: 600; color: var(--ma-ink-deep); }
.ma-webpill { display: inline-flex; align-items: center; gap: 10px; background: var(--ma-navy); color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; padding: 6px 6px 6px 16px; border-radius: var(--ma-radius-pill); text-decoration: none; transition: background var(--ma-dur-fast); }
.ma-webpill:hover { background: var(--ma-navy-085); }
.ma-webpill__c { width: 24px; height: 24px; border-radius: 50%; background: #fff; color: var(--ma-crimson); display: inline-flex; align-items: center; justify-content: center; }
.ma-webpill__c svg { width: 10px; height: 10px; }
.ma-resultcount { font-family: var(--ma-font-sans-2); font-size: 13px; color: #5C6270; padding: 14px 16px 4px; }

/* ---------- Responsive ---------- */
@media (max-width: 820px) {
  .ma-navdemo { grid-template-columns: 1fr; }
  .ma-mosaic { grid-template-columns: repeat(2, 1fr); }
  .ma-masthead__text { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: .001ms !important; scroll-behavior: auto; }
}

/* ============================================================
   CHASSIS: global app bar + left sidebar + footer (V03)
   Scoped under body.ma-toolkit. Rendered inside Salient's
   get_header()/get_footer() shell; Salient's own #header-outer
   and #footer-outer are hidden on chassis pages. Sidebar collapses
   to an own off-canvas drawer at <=1024 (reduced-motion safe via the
   global rule above). One source of truth: reused by every template.
   ============================================================ */
body.ma-toolkit { --ma-appbar-h: 80px; --ma-sidebar-w: 212px; --ma-shell-maxw: 1320px; background: var(--ma-panel); }

/* Neutralise Salient chrome + content-wrap spacing on chassis pages only */
body.ma-toolkit #header-outer,
body.ma-toolkit #header-space,
body.ma-toolkit #footer-outer,
body.ma-toolkit #search-outer,
body.ma-toolkit #to-top { display: none !important; }
body.ma-toolkit #ajax-content-wrap { margin: 0 !important; background: var(--ma-panel) !important; }
body.ma-toolkit .container-wrap { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
body.ma-toolkit .container-wrap > .container,
body.ma-toolkit .container-wrap > .row { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }

/* ---- App bar (white, full-bleed, 80px) ---- */
.ma-appbar { position: sticky; top: 0; z-index: var(--ma-z-sticky-header); background: #fff; border-bottom: 1px solid var(--ma-rule); }
.ma-appbar__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; max-width: none; margin: 0; padding: 0 clamp(18px, 2.4vw, 40px); min-height: var(--ma-appbar-h); }
.ma-appbar__logo { display: inline-flex; align-items: center; }
.ma-appbar__logo img { height: 42px; width: auto; display: block; }
.ma-appbar__wordmark { justify-self: start; padding-left: clamp(8px, 3vw, 64px); font-family: var(--ma-font-sans); font-weight: 700; letter-spacing: .06em; font-size: clamp(15px, .6vw + 11px, 20px); text-transform: uppercase; color: var(--ma-navy); text-decoration: none; white-space: nowrap; }
.ma-appbar__wordmark b { color: var(--ma-crimson); font-weight: 700; }
.ma-appbar__tools { justify-self: end; display: inline-flex; align-items: center; gap: 16px; }
.ma-appsearch { display: inline-flex; align-items: center; background: #E6E8EC; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-pill); padding: 0 0 0 18px; min-width: 230px; height: 40px; overflow: hidden; }
.ma-appsearch input { all: unset; flex: 1; font-family: var(--ma-font-sans); font-size: 14px; color: var(--ma-ink); min-width: 0; }
.ma-appsearch input::placeholder { color: #6B7280; }
body.ma-toolkit .ma-appsearch button { all: unset; cursor: pointer; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 100%; color: var(--ma-navy) !important; background: transparent !important; border: 0 !important; border-left: 1px solid var(--ma-rule) !important; border-radius: 0 !important; box-shadow: none !important; }
.ma-appsearch button svg { width: 16px; height: 16px; }
.ma-appsearch:focus-within { border-color: var(--ma-navy); box-shadow: 0 0 0 3px rgba(35,44,101,.14); }
.ma-lang2 { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ma-font-sans); font-size: 14px; font-weight: 700; white-space: nowrap; }
.ma-lang2 a { color: var(--ma-navy); text-decoration: none; }
.ma-lang2 a:hover { text-decoration: underline; }
.ma-lang2 .sep { color: var(--ma-rule); font-weight: 400; }
.ma-lang2 .is-disabled { color: #B7BAC4; font-weight: 600; cursor: not-allowed; }
.ma-burger { all: unset; display: none; cursor: pointer; width: 44px; height: 44px; border-radius: 10px; align-items: center; justify-content: center; color: var(--ma-navy); flex: none; }
.ma-burger svg { width: 22px; height: 22px; }
.ma-burger:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: 2px; }

/* ---- Shell: white sidebar column on grey content, full-bleed ---- */
.ma-shell { display: grid; grid-template-columns: var(--ma-sidebar-w) minmax(0, 1fr); gap: 0; max-width: none; margin: 0; padding: 0; align-items: stretch; min-height: calc(100vh - var(--ma-appbar-h)); }
.ma-main { min-width: 0; background: var(--ma-panel); padding: 0 clamp(20px, 4vw, 72px) clamp(28px, 4vw, 64px); }

/* ---- Sidebar (white column, sticky nav) ---- */
.ma-sidebar { align-self: stretch; background: #fff; border: 0; padding: clamp(16px, 1.6vw, 26px) 0; }
.ma-sidebar__head { display: none; align-items: center; justify-content: space-between; padding: 4px 22px 12px; }
.ma-sidebar__close { all: unset; cursor: pointer; width: 40px; height: 40px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: var(--ma-navy); }
.ma-sidebar__close svg { width: 18px; height: 18px; }
body.ma-toolkit .ma-sidebar-nav { position: sticky; top: calc(var(--ma-appbar-h) + 12px); }
body.ma-toolkit .ma-sidebar-nav ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body.ma-toolkit .ma-sidebar-nav li { list-style: none !important; margin: 0; background: none; }
body.ma-toolkit .ma-sidebar-nav li::before, body.ma-toolkit .ma-sidebar-nav li::marker { content: none; }
.ma-sidebar-list > li > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px clamp(20px, 2vw, 30px); color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 500; font-size: 17px; line-height: 1.25; text-decoration: none; border-right: 4px solid transparent; transition: background var(--ma-dur-fast) var(--ma-ease-standard), color var(--ma-dur-fast); }
.ma-sidebar-list > li > a:hover { background: var(--ma-panel); }
.ma-sidebar-list > li > a:focus-visible { outline: 2px solid var(--ma-crimson); outline-offset: -2px; }
.ma-sidebar-list > li.current-menu-item > a,
.ma-sidebar-list > li.current_page_item > a,
.ma-sidebar-list > li.current-menu-ancestor > a,
.ma-sidebar-list > li.current-menu-parent > a { background: var(--ma-active-fill, #D9D9DB); color: var(--ma-navy); border-right-color: var(--ma-crimson); font-weight: 700; }
.ma-sidebar-list > li.menu-item-has-children > a::after { content: ""; flex: none; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 2px; transition: transform var(--ma-dur-base) var(--ma-ease-standard); opacity: .55; }
.ma-sidebar-list > li.menu-item-has-children.is-open > a::after { transform: rotate(-135deg); }
.ma-sidebar-list > li.ma-sep { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--ma-panel-line); }
.ma-sidebar-list > li.ma-sep > a { font-weight: 700; }
/* A-Z band = navy at 9% opacity (flattens to #ebecf1 on the white sidebar), dark text. */
.ma-sidebar-list .sub-menu { display: none; background: var(--ma-az-band, #EBECF1); padding: 6px 0; }
.ma-sidebar-list > li.is-open > .sub-menu { display: block; }
.ma-sidebar-list .sub-menu a { display: block; padding: 10px clamp(20px, 2vw, 30px); font-size: 14px; line-height: 1.3; color: var(--ma-navy); text-decoration: none; transition: background var(--ma-dur-fast), color var(--ma-dur-fast); }
.ma-sidebar-list .sub-menu a:hover { color: var(--ma-crimson); background: rgba(35, 44, 101, 0.06); }
.ma-sidebar-list .sub-menu li.current-menu-item > a { color: var(--ma-crimson); font-weight: 600; }

/* ---- Footer (grey, full-bleed) ---- */
.ma-footer { background: var(--ma-panel); border-top: 1px solid var(--ma-rule); }
.ma-footer__inner { max-width: none; margin: 0; padding: clamp(28px, 4vw, 44px) clamp(20px, 4vw, 72px); }
.ma-footer__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.ma-footer__logo img { height: 42px; width: auto; display: block; }
.ma-footer__disclaimer { max-width: 52ch; font-family: var(--ma-font-sans); font-size: 13.5px; line-height: 1.5; color: #5C6270; margin: 0; }
.ma-footer__rule { height: 1px; background: var(--ma-rule); margin: 26px 0 18px; }
.ma-footer__copy { text-align: center; font-size: 13.5px; color: var(--ma-ink); margin: 0; }

/* ---- Mobile drawer overlay ---- */
.ma-overlay { position: fixed; inset: 0; background: rgba(11,18,32,.45); opacity: 0; visibility: hidden; z-index: var(--ma-z-overlay); transition: opacity var(--ma-dur-base) var(--ma-ease-standard), visibility var(--ma-dur-base); }
body.ma-drawer-open .ma-overlay { opacity: 1; visibility: visible; }

/* ---- Sidebar -> off-canvas drawer at <=1024 ---- */
@media (max-width: 1024px) {
  .ma-burger { display: inline-flex; }
  .ma-shell { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .ma-main { padding-top: 0; }
  .ma-sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: min(86vw, 320px); background: #fff; z-index: calc(var(--ma-z-overlay) + 1); padding: 16px 0; overflow-y: auto; box-shadow: var(--ma-shadow); transform: translateX(-100%); transition: transform var(--ma-dur-base) var(--ma-ease-emphasis); }
  body.ma-drawer-open .ma-sidebar { transform: translateX(0); }
  body.ma-toolkit .ma-sidebar-nav { position: static; }
  .ma-sidebar__head { display: flex; }
}
@media (min-width: 1025px) { .ma-overlay { display: none; } }

@media (max-width: 640px) {
  .ma-appsearch { min-width: 0; width: 44px; padding: 0; justify-content: center; }
  .ma-appsearch input { display: none; }
  .ma-appsearch button { border-left: 0 !important; width: 44px; }
  .ma-appbar__wordmark { font-size: 14px; letter-spacing: .03em; padding-left: 12px; }
}
@media (max-width: 420px) {
  .ma-appbar__logo img { height: 30px; }
  .ma-appbar__wordmark { display: none; }
}

/* ============================================================
   FIND INVESTORS (A3) — hero + filter actions + chips + pagination
   + the investors table -> stacked cards at <=768.
   (Filter bar, table, webpill, tags, result count are in COMPONENTS above.)
   ============================================================ */
.ma-fi-hero { margin-bottom: 26px; }
.ma-fi-hero h1 { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.08; margin: 0 0 12px; max-width: 20ch; }
.ma-fi-hero h1 .c { color: var(--ma-crimson); }
.ma-fi-hero__sub { font-size: 1.0625rem; color: var(--ma-ink); max-width: 62ch; margin: 0; line-height: 1.5; }
.ma-filteractions { display: flex; gap: 10px; align-items: flex-end; margin-left: auto; }
.ma-fi-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.ma-fi-chips .ma-chip--filter a { text-decoration: none; font-weight: 700; color: var(--ma-navy); padding-left: 2px; }
.ma-fi-chips .ma-chip--filter a:hover { color: var(--ma-crimson); }
.ma-fi-dash { color: #9AA0AD; }
.ma-fi-table th, .ma-fi-table td { vertical-align: middle; }
.ma-fi-table .ma-tag { margin: 1px 2px 1px 0; }
.ma-fi-pagination { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 22px; }
.ma-fi-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--ma-rule); border-radius: 8px; color: var(--ma-navy); text-decoration: none; font-family: var(--ma-font-sans); font-size: 14px; }
.ma-fi-pagination .page-numbers.current { background: var(--ma-navy); color: #fff; border-color: var(--ma-navy); }
.ma-fi-pagination a.page-numbers:hover { background: var(--ma-panel); }

@media (max-width: 768px) {
  .ma-filterrow { flex-direction: column; align-items: stretch; }
  .ma-filtersel { min-width: 0; }
  .ma-filteractions { margin-left: 0; }
  .ma-fi-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ma-fi-table, .ma-fi-table tbody, .ma-fi-table tr, .ma-fi-table td { display: block; width: 100%; }
  .ma-fi-table tr { border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); margin-bottom: 14px; background: #fff; overflow: hidden; }
  .ma-fi-table tbody tr:nth-child(odd) td { background: transparent; }
  .ma-fi-table td { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 14px; border: 0; text-align: right; }
  .ma-fi-table td + td { border-top: 1px solid var(--ma-panel-line); }
  .ma-fi-table td::before { content: attr(data-label); font-family: var(--ma-font-sans); font-weight: 600; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--ma-navy); text-align: left; flex: none; }
  .ma-fi-table td .inv { font-weight: 700; }
}

/* ===================================================================
   FAQs (A13) — hero, category groups. Accordion itself = .ma-acc above.
   Hero mirrors .ma-fi-hero for cross-page consistency. .ma-main pads.
   =================================================================== */
.ma-faq-hero { margin-bottom: 26px; }
.ma-faq-hero__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.08; margin: 0 0 12px; }
.ma-faq-hero__intro { font-size: 1.0625rem; color: var(--ma-ink); max-width: 62ch; margin: 0; line-height: 1.5; }
.ma-faq-group { margin-bottom: 36px; }
.ma-faq-group:last-child { margin-bottom: 0; }
.ma-faq__cat { font-family: var(--ma-font-sans); font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ma-crimson); margin: 0 0 14px; }
.ma-faq__empty { color: #5C6270; font-style: italic; margin: 0; }

/* ===================================================================
   Glossary / Jargon Buster (A6) — hero, controls, A-Z rail, entries.
   Search/filter/rail behaviour in ma-chassis.js. Entries always-visible.
   =================================================================== */
.ma-gloss-hero { margin-bottom: 22px; }
.ma-gloss-hero__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.08; margin: 0 0 12px; }
.ma-gloss-hero__intro { font-size: 1.0625rem; color: var(--ma-ink); max-width: 62ch; margin: 0; line-height: 1.5; }

.ma-gloss-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 14px; }
.ma-gloss-search-wrap { position: relative; flex: 1 1 320px; max-width: 460px; }
.ma-gloss-search-ico { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--ma-periwinkle, #8A8FAB); pointer-events: none; }
.ma-gloss-search { width: 100%; box-sizing: border-box; font-family: var(--ma-font-sans); font-size: 15px; color: var(--ma-ink); background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-pill); padding: 12px 16px 12px 42px; min-height: 46px; }
.ma-gloss-search:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: 1px; border-color: var(--ma-navy); }
.ma-gloss-catfilter select { font-family: var(--ma-font-sans); font-size: 14px; color: var(--ma-navy); background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-input); padding: 11px 38px 11px 14px; min-height: 46px; cursor: pointer; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23232C65' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.ma-fbtn--ghost { background: #fff; border-color: var(--ma-rule); color: var(--ma-navy); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.ma-fbtn--ghost:hover { background: var(--ma-panel); }

.ma-gloss-rail { position: sticky; top: calc(var(--ma-appbar-h, 80px) + 6px); z-index: 5; display: flex; flex-wrap: wrap; gap: 2px; background: rgba(242,242,242,.94); padding: 8px 0; margin-bottom: 8px; border-bottom: 1px solid var(--ma-rule); }
.ma-gloss-rail__link { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 7px; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; color: var(--ma-navy); text-decoration: none; transition: background var(--ma-dur-fast) var(--ma-ease-standard), color var(--ma-dur-fast); }
.ma-gloss-rail__link:hover { background: var(--ma-navy); color: #fff; }
.ma-gloss-rail__link.is-empty { color: var(--ma-rule); pointer-events: none; }

.ma-gloss-count { font-family: var(--ma-font-sans-2); font-size: 13px; color: #5C6270; margin: 0 0 18px; }
.ma-gloss-group { margin-bottom: 30px; scroll-margin-top: calc(var(--ma-appbar-h, 80px) + 56px); }
.ma-gloss-letter { font-family: var(--ma-font-sans); font-weight: 700; font-size: 22px; color: var(--ma-crimson); margin: 0 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--ma-rule); }
.ma-gloss-entry { padding: 14px 0; border-bottom: 1px solid var(--ma-panel-line); max-width: 860px; }
.ma-gloss-entry__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-bottom: 4px; }
.ma-gloss-term { font-family: var(--ma-font-sans); font-weight: 700; font-size: 16px; color: var(--ma-navy); margin: 0; }
.ma-gloss-cat { font-size: 11px; }
.ma-gloss-def { font-family: var(--ma-font-sans-2); font-size: 14.5px; line-height: 1.6; color: var(--ma-ink); margin: 0; }
.ma-gloss-empty { color: #5C6270; font-style: italic; }
@media (max-width: 768px) {
  .ma-gloss-controls { flex-direction: column; align-items: stretch; }
  .ma-gloss-search-wrap, .ma-gloss-catfilter, .ma-gloss-catfilter select, .ma-gloss-download { max-width: none; width: 100%; }
  .ma-gloss-rail { top: 0; }
}

/* ===================================================================
   Templates & Resources (A10 mosaic, A11 card grid, A12 accordion).
   =================================================================== */
.ma-res-hero { margin-bottom: 24px; }
.ma-res-hero__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.08; margin: 0 0 12px; }
.ma-res-hero__intro { font-size: 1.0625rem; color: var(--ma-ink); max-width: 70ch; margin: 0 0 12px; line-height: 1.55; }
.ma-res-caveat { font-family: var(--ma-font-sans-2); font-size: 13.5px; color: #5C6270; max-width: 70ch; margin: 0; padding: 10px 14px; background: rgba(35,44,101,.05); border-left: 3px solid var(--ma-crimson); border-radius: 0 8px 8px 0; }
.ma-back-link { display: inline-block; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; color: var(--ma-crimson); text-decoration: none; margin-bottom: 12px; }
.ma-back-link:hover { text-decoration: underline; }
.ma-res-empty { color: #5C6270; font-style: italic; }

/* Mosaic */
.ma-mosaic { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ma-mosaic-tile { position: relative; overflow: hidden; min-height: 190px; border-radius: var(--ma-radius); background: var(--ma-navy); display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; text-decoration: none; background-size: cover; background-position: center; isolation: isolate; }
.ma-mosaic-tile__wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(150deg, rgba(35,44,101,.92) 0%, rgba(35,44,101,.78) 45%, rgba(222,30,56,.78) 100%); }
.ma-mosaic-tile.has-img .ma-mosaic-tile__wash { background: linear-gradient(150deg, rgba(35,44,101,.86) 0%, rgba(35,44,101,.62) 45%, rgba(222,30,56,.66) 100%); }
.ma-mosaic-tile__title { font-family: var(--ma-font-sans); font-weight: 700; font-size: 19px; line-height: 1.2; color: #fff; max-width: 14ch; }
.ma-mosaic-tile__arrow { position: absolute; top: 18px; right: 18px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.16); display: inline-flex; align-items: center; justify-content: center; color: #fff; transition: background var(--ma-dur-base) var(--ma-ease-standard), transform var(--ma-dur-base) var(--ma-ease-standard); }
.ma-mosaic-tile__arrow svg { width: 18px; height: 18px; }
.ma-mosaic-tile:hover .ma-mosaic-tile__arrow { background: var(--ma-crimson); transform: translateX(3px); }

/* Resource cards */
.ma-rgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(264px, 1fr)); gap: 16px; }
.ma-rcard { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: 18px; }
.ma-tier--free { color: #2E7D32; border-color: #5CB85C; }
.ma-tier--freemium { color: var(--ma-navy); border-color: var(--ma-navy); }
.ma-tier--paid { color: var(--ma-crimson); border-color: var(--ma-crimson); }
.ma-rcard__name { font-family: var(--ma-font-sans); font-weight: 700; font-size: 15.5px; color: var(--ma-navy); margin: 0; line-height: 1.3; }
.ma-rcard__desc { font-family: var(--ma-font-sans-2); font-size: 13.5px; line-height: 1.55; color: var(--ma-ink); margin: 0; flex: 1 1 auto; }
.ma-rcard__access { display: inline-flex; align-items: center; gap: 9px; margin-top: 4px; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13.5px; color: var(--ma-crimson); text-decoration: none; }
.ma-rcard__arrow { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ma-navy); color: #fff; transition: background var(--ma-dur-fast) var(--ma-ease-standard), transform var(--ma-dur-fast); }
.ma-rcard__arrow svg { width: 13px; height: 13px; }
.ma-rcard__access:hover .ma-rcard__arrow { background: var(--ma-crimson); transform: translate(2px, -2px); }

/* Accordion variant holding a card grid (A12) */
.ma-acc--wide { max-width: none; }
.ma-acc__n { font-weight: 500; color: var(--ma-periwinkle, #8A8FAB); }
.ma-acc__inner .ma-rgrid { padding: 4px 20px 22px; }

@media (max-width: 1024px) { .ma-mosaic { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ma-mosaic { grid-template-columns: 1fr; } }

/* ===================================================================
   Contact (A14) — hero, form card, fields, states.
   =================================================================== */
.ma-contact-hero { margin-bottom: 22px; }
.ma-contact-hero__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.08; margin: 0 0 12px; }
.ma-contact-hero__title .c { color: var(--ma-crimson); }
.ma-contact-hero__intro { font-size: 1.0625rem; color: var(--ma-ink); max-width: 60ch; margin: 0; line-height: 1.55; }

.ma-formnote { max-width: 620px; border-radius: var(--ma-radius-input); padding: 14px 16px; margin: 0 0 18px; font-family: var(--ma-font-sans); font-size: 14.5px; }
.ma-formnote--ok { background: rgba(35,44,101,.06); border: 1px solid var(--ma-navy); color: var(--ma-navy); }
.ma-formnote--err { background: rgba(222,30,56,.06); border: 1px solid var(--ma-crimson); color: var(--ma-crimson); }

.ma-formcard { max-width: 620px; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: clamp(20px, 3vw, 32px); }
.ma-formcard__title { font-family: var(--ma-font-sans); font-weight: 700; font-size: 18px; color: var(--ma-navy); margin: 0 0 18px; }

.ma-cform .ma-field { margin-bottom: 16px; }
.ma-cform .ma-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ma-cform label { display: block; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; color: var(--ma-navy); margin-bottom: 6px; }
.ma-cform .req { color: var(--ma-crimson); }
.ma-cform input, .ma-cform select, .ma-cform textarea { width: 100%; box-sizing: border-box; font-family: var(--ma-font-sans); font-size: 15px; color: var(--ma-ink); background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-input); padding: 11px 14px; min-height: 46px; }
.ma-cform textarea { min-height: 130px; resize: vertical; line-height: 1.5; }
.ma-cform select { -webkit-appearance: none; appearance: none; padding-right: 38px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23232C65' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.ma-cform input:focus-visible, .ma-cform select:focus-visible, .ma-cform textarea:focus-visible { outline: 3px solid rgba(35,44,101,.18); outline-offset: 0; border-color: var(--ma-navy); }
.ma-cform input:user-invalid, .ma-cform textarea:user-invalid { border-color: var(--ma-crimson); outline-color: rgba(222,30,56,.2); }
.ma-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ma-fbtn--primary { background: var(--ma-navy); color: #fff; border-color: var(--ma-navy); }
.ma-fbtn--primary:hover { background: #1b2350; }
.ma-cform__send { display: inline-flex; align-items: center; gap: 10px; margin-top: 4px; cursor: pointer; }
.ma-cform__arrow { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,.18); }
.ma-cform__arrow svg { width: 14px; height: 14px; }

@media (max-width: 560px) { .ma-cform .ma-field-row { grid-template-columns: 1fr; gap: 0; } }

/* ===================================================================
   WAVE 3 — Home, hubs, masthead, webinars, deep dives, BYB, IPG.
   All imagery resolves from the Media Library via ma_media_* helpers.
   =================================================================== */

/* Responsive video */
.ma-video { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: var(--ma-radius); overflow: hidden; }
.ma-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Shared masthead hero */
.ma-masthead { position: relative; overflow: hidden; border-radius: var(--ma-radius); background: var(--ma-navy); padding: clamp(28px, 5vw, 60px); margin-bottom: 28px; isolation: isolate; background-size: cover; background-position: center; }
.ma-masthead__wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, rgba(35,44,101,.95), rgba(35,44,101,.74) 55%, rgba(222,30,56,.66)); }
.ma-masthead:not(.has-img) .ma-masthead__wash { background: linear-gradient(120deg, var(--ma-navy), #2c376f 60%, rgba(222,30,56,.5)); }
.ma-masthead__inner { max-width: 70ch; }
.ma-masthead__title { font-family: var(--ma-font-sans); font-weight: 700; color: #fff; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.08; margin: 0 0 10px; }
.ma-masthead__intro { color: rgba(255,255,255,.9); font-size: 1.0625rem; line-height: 1.5; margin: 0; max-width: 60ch; }
.ma-back-link--light { color: rgba(255,255,255,.85); }
.ma-back-link--light:hover { color: #fff; }

/* Home */
.ma-home-hero { position: relative; overflow: hidden; border-radius: var(--ma-radius); background: var(--ma-navy); background-size: cover; background-position: center; padding: clamp(28px, 5vw, 64px); margin-bottom: 28px; isolation: isolate; display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: end; }
.ma-home-hero__wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, rgba(35,44,101,.92), rgba(35,44,101,.6) 60%, rgba(35,44,101,.35)); }
.ma-home-hero:not(.has-img) .ma-home-hero__wash { background: linear-gradient(120deg, var(--ma-navy), #2c376f); }
.ma-home-hero__eyebrow { font-family: var(--ma-font-sans); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fff; font-size: 15px; margin: 0 0 10px; }
.ma-home-hero__eyebrow .c { color: var(--ma-crimson-200, #ff8a9c); }
.ma-home-hero__title { font-family: var(--ma-font-sans); font-weight: 700; color: #fff; font-size: clamp(26px, 3.2vw, 40px); line-height: 1.1; margin: 0; max-width: 18ch; }
.ma-home-welcome { background: var(--ma-crimson); color: #fff; border-radius: var(--ma-radius); padding: 22px 24px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.ma-home-welcome__title { font-family: var(--ma-font-sans); font-weight: 700; font-size: 20px; margin: 0 0 10px; }
.ma-home-welcome__body { font-size: 14.5px; line-height: 1.55; margin: 0; color: rgba(255,255,255,.95); }
.ma-home-stats { margin-bottom: 34px; }
.ma-home-stats__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 22px; margin: 0 0 16px; }
.ma-statrow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ma-stat { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: 20px; text-align: center; }
.ma-stat__label { display: block; font-family: var(--ma-font-sans-2); font-size: 13px; color: var(--ma-ink); margin-top: 6px; line-height: 1.35; }
.ma-home-advisors { margin-bottom: 34px; }
.ma-advisor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ma-advisor { display: flex; gap: 16px; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: 20px; }
.ma-advisor__portrait { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; flex: none; }
.ma-advisor__name { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 17px; margin: 0 0 2px; }
.ma-advisor__role { font-family: var(--ma-font-display, Georgia, serif); font-style: italic; color: var(--ma-crimson); font-size: 13.5px; margin: 0 0 8px; }
.ma-advisor__bio { font-family: var(--ma-font-sans-2); font-size: 13px; line-height: 1.5; color: var(--ma-ink); margin: 0; }
.ma-home-explore__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 22px; margin: 0 0 16px; }
.ma-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ma-pillar { position: relative; display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: 22px; text-decoration: none; border-top: 4px solid var(--ma-crimson); transition: transform var(--ma-dur-fast) var(--ma-ease-standard), box-shadow var(--ma-dur-fast); }
.ma-pillar:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(35,44,101,.1); }
.ma-pillar__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 17px; }
.ma-pillar__desc { font-family: var(--ma-font-sans-2); font-size: 13.5px; line-height: 1.5; color: var(--ma-ink); flex: 1 1 auto; }
.ma-pillar__arrow { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ma-navy); color: #fff; }
.ma-pillar__arrow svg { width: 15px; height: 15px; }
.ma-pillar:hover .ma-pillar__arrow { background: var(--ma-crimson); }

/* Feature cards (hubs) */
.ma-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ma-feature { position: relative; overflow: hidden; min-height: 230px; border-radius: var(--ma-radius); background: var(--ma-navy); background-size: cover; background-position: center; display: flex; align-items: flex-end; padding: 22px; text-decoration: none; isolation: isolate; }
.ma-feature__wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(35,44,101,.25), rgba(35,44,101,.9)); }
.ma-feature:not(.has-img) .ma-feature__wash { background: linear-gradient(160deg, var(--ma-navy), #2c376f 60%, rgba(222,30,56,.55)); }
.ma-feature--plain { background: #fff; border: 1px solid var(--ma-rule); min-height: 0; align-items: stretch; }
.ma-feature--plain .ma-feature__title, .ma-feature--plain .ma-feature__desc { color: inherit; }
.ma-feature__body { display: flex; flex-direction: column; gap: 8px; }
.ma-feature__title { font-family: var(--ma-font-sans); font-weight: 700; font-size: 18px; color: #fff; }
.ma-feature--plain .ma-feature__title { color: var(--ma-navy); }
.ma-feature__desc { font-family: var(--ma-font-sans-2); font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.92); }
.ma-feature--plain .ma-feature__desc { color: var(--ma-ink); }
.ma-feature__cta { color: #fff; margin-top: 4px; }
.ma-feature--plain .ma-feature__cta { color: var(--ma-crimson); }
.ma-feature__arrow { display: inline-flex; }
.ma-feature__arrow svg { width: 18px; height: 18px; }

/* Filter pills (deep dives) */
.ma-dd-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.ma-pill { font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; color: var(--ma-navy); background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius-pill); padding: 8px 16px; min-height: 38px; cursor: pointer; }
.ma-pill:hover { background: var(--ma-panel); }
.ma-pill.is-active { background: var(--ma-navy); color: #fff; border-color: var(--ma-navy); }

/* Deep-dive cards */
.ma-dd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.ma-dd-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); overflow: hidden; }
.ma-dd-card__cover { display: block; aspect-ratio: 16 / 9; background: linear-gradient(135deg, var(--ma-navy), var(--ma-crimson)); background-size: cover; background-position: center; }
.ma-dd-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; }
.ma-dd-card__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 16px; margin: 0; line-height: 1.3; }
.ma-dd-card__links { display: flex; flex-direction: column; gap: 6px; margin-top: 2px; }
.ma-dd-empty { color: #5C6270; font-style: italic; grid-column: 1 / -1; }

/* A-Z webinars */
.ma-logostrip { margin-bottom: 26px; }
.ma-logostrip__lead { font-family: var(--ma-font-sans-2); font-size: 14px; color: var(--ma-ink); max-width: 70ch; margin: 0 0 14px; line-height: 1.5; }
.ma-logostrip__track { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; }
.ma-logostrip__item { display: inline-flex; align-items: center; }
.ma-logostrip__img { max-height: 38px; width: auto; filter: grayscale(1); opacity: .7; transition: filter var(--ma-dur-fast), opacity var(--ma-dur-fast); }
.ma-logostrip__item:hover .ma-logostrip__img { filter: none; opacity: 1; }
.ma-az-feature { display: grid; grid-template-columns: 1.7fr 1fr; gap: 24px; align-items: start; margin-bottom: 26px; }
.ma-az-feature__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 22px; margin: 0 0 8px; line-height: 1.2; }
.ma-az-feature__deck { font-size: 15px; color: var(--ma-ink); line-height: 1.55; margin: 0 0 10px; }
.ma-az-feature__panel { font-family: var(--ma-font-sans-2); font-size: 13px; color: #5C6270; margin: 0 0 12px; }
.ma-az-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.ma-az-thumb { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; gap: 8px; }
.ma-az-thumb__img { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: var(--ma-navy); background-size: cover; background-position: center; }
.ma-az-thumb__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 26px; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.ma-az-thumb__soon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 12px; background: rgba(35,44,101,.55); }
.ma-az-thumb__title { font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; color: var(--ma-navy); line-height: 1.3; }
.ma-az-thumb:hover .ma-az-thumb__title { color: var(--ma-crimson); }
.ma-az-thumb:focus-visible .ma-az-thumb__img { outline: 3px solid var(--ma-crimson); outline-offset: 2px; }
.ma-az-thumb.is-active .ma-az-thumb__img { outline: 3px solid var(--ma-crimson); outline-offset: 2px; }
.ma-az-thumb.is-soon { cursor: default; }
.ma-az-cta { margin-top: 24px; }

/* BYB */
.ma-byb-band { background: var(--ma-navy); color: #fff; border-radius: var(--ma-radius); padding: 22px 24px; margin-bottom: 24px; }
.ma-byb-band__kicker { font-family: var(--ma-font-sans); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: 16px; margin: 0 0 6px; }
.ma-byb-band__sub { margin: 0; color: rgba(255,255,255,.9); font-size: 14.5px; }
.ma-byb-flagship { margin-bottom: 28px; }
.ma-byb-flagship__eyebrow { font-family: var(--ma-font-sans); font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ma-crimson); margin: 0 0 12px; }
.ma-byb-flagship__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; }
.ma-byb-flagship__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 19px; margin: 0; }
.ma-byb-flagship__people { font-family: var(--ma-font-sans-2); font-size: 13px; color: #5C6270; margin: 0; flex-basis: 100%; }
.ma-lessons { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.ma-lesson { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); overflow: hidden; }
.ma-lesson__media { cursor: pointer; }
.ma-lesson.is-soon .ma-lesson__media { cursor: default; }
.ma-lesson__thumb { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--ma-navy); background-size: cover; background-position: center; }
.ma-lesson__play { all: unset; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 30px; cursor: pointer; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.ma-lesson__soon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; background: rgba(35,44,101,.55); }
.ma-lesson__body { padding: 14px 16px 16px; }
.ma-lesson__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 15.5px; margin: 0 0 8px; line-height: 1.3; }
.ma-lesson__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ma-lesson__people { font-family: var(--ma-font-sans-2); font-size: 12.5px; color: #5C6270; }

/* IPG */
.ma-ipg-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 28px; }
.ma-ipg-cta__soon { font-family: var(--ma-font-sans); font-size: 13px; color: #5C6270; }
.ma-ipg-outline__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 20px; margin: 0 0 16px; }
.ma-ipg-phases { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; max-width: 760px; }
.ma-ipg-phase { display: flex; gap: 16px; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: 16px 18px; }
.ma-ipg-phase__num { font-family: var(--ma-font-sans); font-weight: 700; font-size: 20px; color: var(--ma-crimson); flex: none; }
.ma-ipg-phase__name { display: block; font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 16px; margin-bottom: 2px; }
.ma-ipg-phase__desc { font-family: var(--ma-font-sans-2); font-size: 13.5px; line-height: 1.5; color: var(--ma-ink); }

/* Resource card logo */
.ma-rcard__logowrap { height: 34px; display: flex; align-items: center; }
.ma-rcard__logo { max-height: 34px; width: auto; max-width: 150px; }

@media (max-width: 1024px) {
  .ma-home-hero { grid-template-columns: 1fr; }
  .ma-statrow { grid-template-columns: repeat(2, 1fr); }
  .ma-advisor-grid, .ma-pillars, .ma-features { grid-template-columns: 1fr 1fr; }
  .ma-az-feature { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ma-statrow, .ma-advisor-grid, .ma-pillars, .ma-features { grid-template-columns: 1fr; }
  .ma-advisor { flex-direction: column; }
}

/* ============================================================
   FIND INVESTORS — pilot conform (2026-06-15)
   Split light page hero + table/filter conform to the v05 lock (§16)
   and the approved comp 03. Investors.png. Scoped under .ma-toolkit;
   appended after the base FI block so these refinements win. Seeds the
   sitewide split hero as .ma-pagehero; the conflicted .ma-masthead is
   left untouched (sitewide concern, DRIFT row 11).
   ============================================================ */

/* Split light hero: heading + intro left, photo right fading into the page */
.ma-toolkit .ma-pagehero { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(20px, 3vw, 44px); min-height: 300px; margin: 0 0 30px; }
.ma-toolkit .ma-pagehero__text { position: relative; z-index: 1; max-width: 48ch; }
.ma-toolkit .ma-pagehero__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.08; margin: 0 0 14px; }
.ma-toolkit .ma-pagehero__title .c { color: var(--ma-crimson); }
.ma-toolkit .ma-pagehero__intro { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 1.0625rem; line-height: 1.55; margin: 0; max-width: 52ch; }
.ma-toolkit .ma-pagehero__media { position: relative; align-self: stretch; min-height: 300px; }
.ma-toolkit .ma-pagehero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center right; border-radius: var(--ma-radius); -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 28%); mask-image: linear-gradient(to right, transparent 0%, #000 28%); }

/* Sector cell (plain text, dense) */
.ma-toolkit .ma-fi-table td .ma-sec { font-family: var(--ma-font-sans-2); color: var(--ma-ink-deep); }

/* Active-filter chips: facet-label prefix */
.ma-toolkit .ma-chip--filter .ma-chip__k { color: var(--ma-navy); font-weight: 600; }

/* Result pager: align right per the comp */
.ma-toolkit .ma-fi-pagination { justify-content: flex-end; }

/* Empty state card + clear CTA */
.ma-toolkit .ma-fi-empty { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); box-shadow: var(--ma-shadow); padding: 44px 24px; text-align: center; }
.ma-toolkit .ma-fi-empty p { margin: 0 0 16px; color: var(--ma-ink); font-family: var(--ma-font-sans-2); }

/* Filters toggle button: hidden until JS marks the bar collapsible on small screens */
.ma-toolkit .ma-fi-filtertoggle { display: none; }
@media (max-width: 768px) {
  .ma-toolkit .ma-filterbar.is-collapsible .ma-fi-filtertoggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; }
  .ma-toolkit .ma-fi-filtertoggle svg { width: 15px; height: 15px; }
  .ma-toolkit .ma-filterbar.is-collapsible .ma-filterrow { display: none; }
  .ma-toolkit .ma-filterbar.is-collapsible.is-open .ma-filterrow { display: flex; flex-direction: column; align-items: stretch; margin-top: 12px; }
}

/* Hero stacks on small screens (photo becomes a banner under the heading) */
@media (max-width: 860px) {
  .ma-toolkit .ma-pagehero { grid-template-columns: 1fr; gap: 16px; min-height: 0; }
  .ma-toolkit .ma-pagehero__text { max-width: none; }
  .ma-toolkit .ma-pagehero__media { min-height: 180px; }
  .ma-toolkit .ma-pagehero__media img { position: relative; -webkit-mask-image: none; mask-image: none; object-position: center; }
}

/* ============================================================
   A-Z of Fundraising — Session 2 (landing conform + webinar single)
   ============================================================ */

/* Hero with no Library photo: single column */
.ma-toolkit .ma-pagehero--noimg { grid-template-columns: 1fr; }

/* ---- Logo strip: slow marquee, static under reduced-motion ---- */
.ma-toolkit .ma-logostrip__viewport { overflow: hidden; position: relative; }
.ma-toolkit .ma-logostrip__marquee { display: flex; align-items: center; gap: 40px; width: max-content; will-change: transform; animation: ma-marquee 46s linear infinite; }
.ma-toolkit .ma-logostrip__viewport:hover .ma-logostrip__marquee { animation-play-state: paused; }
@keyframes ma-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .ma-toolkit .ma-logostrip__marquee { animation: none; flex-wrap: wrap; width: auto; gap: 26px 40px; }
}

/* ---- Featured webinar = card/LINK to the single (no inline player) ---- */
.ma-toolkit .ma-az-feature__card { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--ma-radius); overflow: hidden; background: var(--ma-navy); text-decoration: none; box-shadow: var(--ma-shadow); }
.ma-toolkit .ma-az-feature__poster { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform var(--ma-dur-base) var(--ma-ease-standard); }
.ma-toolkit .ma-az-feature__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(11,18,32,.72), rgba(11,18,32,0) 52%); }
.ma-toolkit .ma-az-feature__card:hover .ma-az-feature__poster { transform: scale(1.03); }
.ma-toolkit .ma-az-feature__pill { position: absolute; top: 14px; left: 14px; z-index: 2; background: #fff; color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 600; font-size: 12px; padding: 6px 12px; border-radius: var(--ma-radius-pill); }
.ma-toolkit .ma-az-feature__cue { position: absolute; left: 16px; bottom: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 10px; color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 15px; }
.ma-toolkit .ma-az-feature__card:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }
.ma-toolkit .ma-az-feature__meta .ma-arrowlink { margin-top: 4px; }

/* ---- Webinar single (B1) ---- */
.ma-toolkit .ma-eyebrow { display: inline-flex; align-items: center; align-self: flex-start; background: var(--ma-panel); color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 600; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; padding: 6px 12px; border-radius: var(--ma-radius-pill); }
.ma-toolkit .ma-webinar-top__row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-bottom: 14px; }
.ma-toolkit .ma-webinar-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.ma-toolkit .ma-webinar-logos__img { max-height: 30px; width: auto; filter: grayscale(1); opacity: .72; }
.ma-toolkit .ma-webinar__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.1; margin: 0 0 10px; }
.ma-toolkit .ma-webinar__deck { font-size: 1.0625rem; color: var(--ma-ink); line-height: 1.5; margin: 0 0 24px; max-width: 70ch; }

.ma-toolkit .ma-webinar-main { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px; align-items: start; margin-bottom: 32px; }
.ma-toolkit .ma-webinar__player { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; cursor: pointer; border-radius: var(--ma-radius); overflow: hidden; background: #000; }
.ma-toolkit .ma-webinar__poster { position: absolute; inset: 0; background-size: cover; background-position: center; }
.ma-toolkit .ma-webinar__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.ma-toolkit .ma-webinar__play svg { width: 68px; height: 48px; filter: drop-shadow(0 2px 10px rgba(0,0,0,.45)); transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-webinar__player:hover .ma-webinar__play svg { transform: scale(1.06); }
.ma-toolkit .ma-webinar__player:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }
.ma-toolkit .ma-webinar__player.is-soon { cursor: default; }
.ma-toolkit .ma-webinar__soon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--ma-font-sans); font-weight: 600; background: rgba(35,44,101,.55); }
.ma-toolkit .ma-webinar-summary { align-self: stretch; }
.ma-toolkit .ma-webinar-summary__body { font-size: 1rem; color: var(--ma-ink); line-height: 1.6; }
.ma-toolkit .ma-webinar-summary__body p { margin: 0 0 12px; }
.ma-toolkit .ma-webinar__slides { margin-top: 8px; }

.ma-toolkit .ma-webinar-lessons { background: var(--ma-panel); border-radius: var(--ma-radius); padding: clamp(20px, 3vw, 32px); margin-bottom: 32px; }
.ma-toolkit .ma-webinar-lessons__h { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h3); margin: 0 0 16px; }
.ma-toolkit .ma-webinar-lessons__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ma-toolkit .ma-webinar-lessons__item { position: relative; padding-left: 26px; color: var(--ma-ink); font-size: 1rem; line-height: 1.55; }
.ma-toolkit .ma-webinar-lessons__item::before { content: ""; position: absolute; left: 0; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--ma-crimson); }
.ma-toolkit .ma-webinar-lessons__item strong { color: var(--ma-navy); font-weight: 700; }

.ma-toolkit .ma-webinar-panel__h { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h3); margin: 0 0 18px; }
.ma-toolkit .ma-webinar-panel__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 24px; margin-bottom: 36px; }
.ma-toolkit .ma-person { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.ma-toolkit .ma-person__photo { width: 92px; height: 92px; border-radius: 50%; overflow: hidden; background: var(--ma-panel); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.ma-toolkit .ma-person__photo-img { width: 100%; height: 100%; object-fit: cover; }
.ma-toolkit .ma-person__initials { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 24px; }
.ma-toolkit .ma-person__name { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 15px; line-height: 1.25; text-decoration: none; }
a.ma-person__name:hover { color: var(--ma-crimson); text-decoration: underline; }
.ma-toolkit .ma-person__role { font-size: 13px; color: var(--ma-ink); line-height: 1.3; }
.ma-toolkit .ma-person__org { font-family: var(--ma-font-sans-2); font-size: 13px; color: #5C6270; line-height: 1.3; }

.ma-toolkit .ma-webinar-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; border-top: 1px solid var(--ma-rule); padding-top: 24px; }
.ma-toolkit .ma-wnav { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; text-decoration: none; border-radius: var(--ma-radius-pill); padding: 10px 18px; min-height: 44px; }
.ma-toolkit .ma-wnav--prev, .ma-toolkit .ma-wnav--next { background: #fff; border: 1px solid var(--ma-rule); color: var(--ma-navy); }
.ma-toolkit .ma-wnav--prev:hover, .ma-toolkit .ma-wnav--next:hover { background: var(--ma-panel); }
.ma-toolkit .ma-wnav--next { margin-left: auto; }
.ma-toolkit .ma-wnav--return { background: var(--ma-navy); color: #fff; }
.ma-toolkit .ma-wnav--return:hover { background: #1b2350; }
.ma-toolkit .ma-wnav__c { display: inline-flex; }
.ma-toolkit .ma-wnav__c svg { width: 16px; height: 16px; }

@media (max-width: 860px) {
  .ma-toolkit .ma-webinar-main { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ma-toolkit .ma-webinar-panel__grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .ma-toolkit .ma-wnav--next { margin-left: 0; }
  .ma-toolkit .ma-webinar-nav .ma-wnav { width: 100%; justify-content: center; }
}

/* ============================================================
   A-Z conform pass (vs approved comp 02): full-width featured card
   + red play, thumbnail carousel with arrows, slides button, lessons card.
   ============================================================ */

/* D1 + D3 — featured = ONE full-width poster card, red play (links to single) */
.ma-toolkit .ma-az-feature { display: block; margin: 0 0 18px; }
.ma-toolkit .ma-az-feature__card { display: block; width: 100%; aspect-ratio: 16 / 9; }
.ma-toolkit .ma-az-feature__play { position: absolute; top: 16px; right: 16px; z-index: 2; width: 60px; height: 42px; }
.ma-toolkit .ma-az-feature__play svg { width: 100%; height: 100%; filter: drop-shadow(0 2px 8px rgba(0,0,0,.45)); transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-az-feature__card:hover .ma-az-feature__play svg { transform: scale(1.06); }

/* D2 — thumbnails = single-row carousel with arrows + native swipe */
.ma-toolkit .ma-az-strip { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.ma-toolkit .ma-az-thumbs { display: flex; flex-wrap: nowrap; gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; scroll-behavior: smooth; padding: 2px 2px 10px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; min-width: 0; }
.ma-toolkit .ma-az-thumb { flex: 0 0 clamp(176px, 22vw, 228px); scroll-snap-align: start; }
.ma-toolkit .ma-az-thumb__title { display: none; }
.ma-toolkit .ma-az-strip__arrow { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid var(--ma-rule); color: var(--ma-crimson); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--ma-dur-fast); }
.ma-toolkit .ma-az-strip__arrow:hover { background: var(--ma-panel); }
.ma-toolkit .ma-az-strip__arrow svg { width: 18px; height: 18px; }
@media (prefers-reduced-motion: reduce) { .ma-toolkit .ma-az-thumbs { scroll-behavior: auto; } }

/* D4 — Download session slides = filled crimson button with white circle-arrow */
.ma-toolkit .ma-webinar__slidesbtn { display: inline-flex; align-items: center; gap: 12px; background: var(--ma-crimson); color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; text-decoration: none; padding: 10px 12px 10px 22px; border-radius: var(--ma-radius-pill); min-height: 44px; margin-top: 14px; }
.ma-toolkit .ma-webinar__slidesbtn:hover { background: var(--ma-crimson-085); }
.ma-toolkit .ma-webinar__slidesbtn-c { width: 26px; height: 26px; border-radius: 50%; background: #fff; color: var(--ma-crimson); display: inline-flex; align-items: center; justify-content: center; }
.ma-toolkit .ma-webinar__slidesbtn-c svg { width: 12px; height: 12px; }

/* D5 — lessons card = white + hairline border (was grey panel) */
.ma-toolkit .ma-webinar-lessons { background: #fff; border: 1px solid var(--ma-rule); }

/* ============================================================
   A-Z full-design conform (approved single + landing comps, 2026-06-15):
   white cards, rich panelist cards, logo carousel, sidebar A-Z dropdown.
   ============================================================ */

/* Shared card surface */
.ma-toolkit .ma-card { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); box-shadow: var(--ma-shadow); }

/* Single: eyebrow + partner logos sit ABOVE the white hero card */
.ma-toolkit .ma-webinar-topbar { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 28px; margin: 0 0 16px; }
.ma-toolkit .ma-webinar-hero { padding: clamp(20px, 3vw, 34px); margin: 0 0 24px; }
.ma-toolkit .ma-webinar-hero .ma-webinar__title { margin-top: 0; }
.ma-toolkit .ma-webinar-hero .ma-webinar__deck { border-bottom: 1px solid var(--ma-rule); padding-bottom: 18px; }
.ma-toolkit .ma-webinar-main { margin-bottom: 0; }

/* Panelist cards = white cards, left-aligned: photo + name/role/org, bio, LinkedIn */
.ma-toolkit .ma-webinar-panel__grid { grid-template-columns: repeat(auto-fit, minmax(228px, 1fr)); gap: 20px; }
.ma-toolkit .ma-person { display: flex; flex-direction: column; align-items: stretch; text-align: left; gap: 12px; padding: 20px; }
.ma-toolkit .ma-person__top { display: flex; align-items: center; gap: 14px; }
.ma-toolkit .ma-person__photo { width: 64px; height: 64px; flex: 0 0 64px; margin: 0; }
.ma-toolkit .ma-person__id { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ma-toolkit .ma-person__name { font-family: var(--ma-font-sans); font-weight: 700; font-style: italic; color: var(--ma-navy); font-size: 15px; line-height: 1.2; }
.ma-toolkit .ma-person__role { font-style: italic; color: var(--ma-ink); font-size: 12.5px; line-height: 1.25; }
.ma-toolkit .ma-person__org { font-family: var(--ma-font-sans); font-style: italic; font-weight: 600; color: var(--ma-navy); font-size: 12px; line-height: 1.25; }
.ma-toolkit .ma-person__bio { margin: 0; color: var(--ma-ink); font-size: 13px; line-height: 1.5; }
.ma-toolkit .ma-person__li { margin-top: auto; color: #9aa0ad; display: inline-flex; }
.ma-toolkit .ma-person__li:hover { color: #0a66c2; }
.ma-toolkit .ma-person__li svg { width: 20px; height: 20px; }

/* Landing hero crimson accent already via .ma-pagehero__title .c */

/* Landing logo strip = manual carousel with arrows, full-colour logos */
.ma-toolkit .ma-logostrip__lead { margin: 0 0 4px; }
.ma-toolkit .ma-logostrip__sub { font-family: var(--ma-font-sans-2); font-size: 14px; color: var(--ma-ink); max-width: 82ch; margin: 0 0 16px; line-height: 1.5; }
.ma-toolkit .ma-logostrip__row { display: flex; align-items: center; gap: 10px; }
.ma-toolkit .ma-logostrip__track { display: flex; flex-wrap: nowrap; align-items: center; gap: 44px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x proximity; padding: 6px 2px; -webkit-overflow-scrolling: touch; scrollbar-width: none; min-width: 0; }
.ma-toolkit .ma-logostrip__track::-webkit-scrollbar { display: none; }
.ma-toolkit .ma-logostrip__item { flex: 0 0 auto; scroll-snap-align: start; }
.ma-toolkit .ma-logostrip__img { max-height: 46px; width: auto; filter: none; opacity: 1; }
.ma-toolkit .ma-logostrip__arrow { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; background: #fff; border: 1px solid var(--ma-rule); color: var(--ma-crimson); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--ma-dur-fast); }
.ma-toolkit .ma-logostrip__arrow:hover { background: var(--ma-panel); }
.ma-toolkit .ma-logostrip__arrow svg { width: 16px; height: 16px; }
@media (prefers-reduced-motion: reduce) { .ma-toolkit .ma-logostrip__track { scroll-behavior: auto; } }

/* Sidebar A-Z dropdown sub-items (webinar titles) */
.ma-toolkit .ma-sidebar-list .ma-az-subitem > a, .ma-toolkit .ma-sidebar-list .ma-subitem > a { display: block; padding: 9px 16px 9px 20px; font-size: 13px; color: var(--ma-ink); line-height: 1.35; text-decoration: none; }
.ma-toolkit .ma-sidebar-list .ma-az-subitem > a:hover, .ma-toolkit .ma-sidebar-list .ma-subitem > a:hover { color: var(--ma-crimson); }

@media (max-width: 600px) {
  .ma-toolkit .ma-webinar-panel__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Sitewide masthead + wide-screen balance (2026-06-15).
   Cap + centre the whole app on wide screens so the layout keeps its
   designed proportions (no thin-strip hero); full-width header/footer
   bars retained. Hero image = clean rounded block (no left-fade pill),
   with a proper min-height. Applies to ALL .ma-toolkit pages.
   ============================================================ */
.ma-toolkit .ma-appbar__inner,
.ma-toolkit .ma-shell,
.ma-toolkit .ma-footer__inner { max-width: 1480px; margin-left: auto; margin-right: auto; }

/* Hero: keep the soft left-edge wash (image blends into the panel), now that
   the layout is capped so it no longer reads as a floating "pill". */
.ma-toolkit .ma-pagehero__media img { -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 92%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 92%, transparent 100%); object-position: center; border-radius: 0; }
@media (min-width: 861px) {
  .ma-toolkit .ma-pagehero { min-height: 360px; }
  .ma-toolkit .ma-pagehero__media { min-height: 360px; }
}

/* ============================================================
   Logo strip: 5 per view + even spacing; bare crimson chevron arrows
   (design-system match, no boxes). Thumbnail-carousel arrows match.
   ============================================================ */
.ma-toolkit .ma-logostrip__track { gap: 0; scroll-snap-type: x mandatory; }
.ma-toolkit .ma-logostrip__item { flex: 0 0 20%; display: flex; align-items: center; justify-content: center; padding: 0 12px; box-sizing: border-box; scroll-snap-align: start; }
.ma-toolkit .ma-logostrip__img { max-height: 46px; max-width: 100%; width: auto; object-fit: contain; }

/* Bare crimson chevrons (override the earlier boxed style) */
.ma-toolkit .ma-logostrip__arrow,
.ma-toolkit .ma-az-strip__arrow { width: auto; height: auto; background: none; border: 0; border-radius: 0; box-shadow: none; color: var(--ma-crimson); padding: 6px; }
.ma-toolkit .ma-logostrip__arrow:hover,
.ma-toolkit .ma-az-strip__arrow:hover { background: none; color: var(--ma-crimson-085); }
.ma-toolkit .ma-logostrip__arrow svg,
.ma-toolkit .ma-az-strip__arrow svg { width: 26px; height: 26px; }

@media (max-width: 768px) { .ma-toolkit .ma-logostrip__item { flex-basis: 33.333%; } }
@media (max-width: 480px) { .ma-toolkit .ma-logostrip__item { flex-basis: 50%; } }

/* Sidebar: square corners (a stale rule left a 16px radius → curved top
   corners against the header). It is a flush full-height white column. */
.ma-toolkit .ma-sidebar { border-radius: 0; }

/* ============================================================
   BUILDING YOUR BUSINESS — hub + category + lesson (conform 2026-06-16)
   Comps 05. Building your business_1..5 + v05. Scoped .ma-toolkit, tokens only.
   New components: hub flagship + category cards, lead/detail feature,
   themed topics grid, single-open expander, expert tags/blurb/moderator.
   ============================================================ */

/* Per-category theme accent (set on <main class="ma-byb-cat ma-byb-cat--{slug}">) */
.ma-toolkit .ma-byb-cat { --byb-accent: var(--ma-navy); --byb-accent-d: #1b2350; }
.ma-toolkit .ma-byb-cat--business-basics { --byb-accent: var(--ma-byb-basics); --byb-accent-d: var(--ma-byb-basics-d); }
.ma-toolkit .ma-byb-cat--building-culture-hiring { --byb-accent: var(--ma-byb-culture); --byb-accent-d: var(--ma-byb-culture-d); }
.ma-toolkit .ma-byb-cat--your-role { --byb-accent: var(--ma-byb-role); --byb-accent-d: var(--ma-byb-role-d); }

.ma-toolkit .ma-byb-h { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h3); margin: 0 0 16px; }

/* ---- Hub: intro band -> white card, navy text, crimson emphasis ---- */
.ma-toolkit .ma-byb .ma-byb-band { background: transparent; border: 0; padding: 0; margin: 4px 0 30px; } /* comp 1: plain text, no card */
.ma-toolkit .ma-byb .ma-byb-band__kicker { color: var(--ma-navy); }
.ma-toolkit .ma-byb .ma-byb-band__kicker .c { color: var(--ma-crimson); }
.ma-toolkit .ma-byb .ma-byb-band__sub { color: var(--ma-ink); }
/* Hub hero (comp 1): larger, darker subtitle tucked under the title. */
.ma-toolkit .ma-byb .ma-pagehero__intro { font-size: 1.2rem; color: var(--ma-ink-deep); line-height: 1.45; max-width: 32ch; }
/* Hub hero image (comp 1): left-only fade so it sits flush on the right; squared (A-Z/FI keep the both-side wash from §16). */
.ma-toolkit .ma-byb .ma-pagehero__media img { -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 30%); mask-image: linear-gradient(to right, transparent 0%, #000 30%); object-position: center right; border-radius: 0; }

/* ---- Hub: flagship poster (navy wash, click-to-play, italic-serif title) ---- */
.ma-toolkit .ma-byb-flag { position: relative; display: block; width: 100%; aspect-ratio: 960 / 285; padding: 0; border: 0; cursor: pointer; border-radius: 30px; overflow: hidden; background: var(--ma-navy); text-align: left; isolation: isolate; } /* design A-Z-of-Fundraising.svg: 960.63x284.746, r36 */
.ma-toolkit .ma-byb-flag.is-soon { cursor: default; }
.ma-toolkit .ma-byb-flag__thumb { position: absolute; inset: 0; background-size: cover; background-position: center; mix-blend-mode: luminosity; opacity: .6; } /* design: luminosity photo 60% over solid navy */
.ma-toolkit .ma-byb-flag__wash { display: none; } /* design: solid navy + luminosity photo, no extra wash */
.ma-toolkit .ma-byb-flag__title { position: absolute; left: clamp(22px,4vw,48px); top: 50%; transform: translateY(-50%); margin: 0; color: #fff; font-family: var(--ma-font-display); font-weight: 600; font-size: clamp(26px,3.2vw,40px); line-height: 1.12; max-width: 14ch; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.ma-toolkit .ma-byb-flag__title em { font-style: italic; }
.ma-toolkit .ma-byb-flag__cue { position: absolute; right: 24px; top: 50%; margin-top: -28px; width: 56px; height: 56px; border-radius: 50%; background: var(--ma-crimson); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background var(--ma-dur-fast) var(--ma-ease-standard), transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-byb-flag__cue svg { width: 22px; height: 22px; }
.ma-toolkit .ma-byb-flag:hover .ma-byb-flag__cue { background: var(--ma-crimson-085); transform: scale(1.06); }
.ma-toolkit .ma-byb-flag:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }
.ma-toolkit .ma-byb-flag__soon { position: absolute; right: 22px; bottom: 22px; color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; background: rgba(255,255,255,.18); padding: 8px 14px; border-radius: var(--ma-radius-pill); }

/* ---- Hub: 3 category cards ---- */
.ma-toolkit .ma-byb-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ma-toolkit .ma-byb-cardlink { position: relative; display: flex; align-items: flex-end; aspect-ratio: 305 / 334; min-height: 300px; border-radius: 26px; overflow: hidden; padding: 24px; text-decoration: none; background: var(--byb-accent, var(--ma-navy)); isolation: isolate; } /* design: 305.88x334.62, r31 */
.ma-toolkit .ma-byb-cardlink--basics { --byb-accent: #a01036; } /* design A-Z-of-Fundraising.svg */
.ma-toolkit .ma-byb-cardlink--culture { --byb-accent: #324b9b; }
.ma-toolkit .ma-byb-cardlink--role { --byb-accent: #933449; }
.ma-toolkit .ma-byb-cardlink__thumb { position: absolute; inset: 0; z-index: -3; background-size: cover; background-position: center; mix-blend-mode: luminosity; opacity: .6; } /* design: luminosity photo 60% over solid colour */
.ma-toolkit .ma-byb-cardlink__wash { display: none; } /* design: solid colour + luminosity photo */
.ma-toolkit .ma-byb-cardlink::after { content: none; } /* design: no dark gradient on hub cards */
.ma-toolkit .ma-byb-cardlink__title { color: #fff; font-family: var(--ma-font-display); font-weight: 600; font-size: clamp(25px,2.5vw,33px); line-height: 1.08; margin: 0; max-width: none; }
.ma-toolkit .ma-byb-cardlink__title em { font-style: italic; }
.ma-toolkit .ma-byb-cardlink__arrow { position: absolute; right: 18px; top: 18px; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--ma-crimson); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.18); transition: background var(--ma-dur-fast) var(--ma-ease-standard), color var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-byb-cardlink__arrow svg { width: 17px; height: 17px; }
.ma-toolkit .ma-byb-cardlink:hover .ma-byb-cardlink__arrow { background: var(--ma-crimson); color: #fff; }
/* Comp 1: arrow = opposite brand colour to the card tint. Crimson cards (Basics, Your role) get a navy arrow; the blue card (Culture) keeps the crimson arrow. */
.ma-toolkit .ma-byb-cardlink--basics .ma-byb-cardlink__arrow, .ma-toolkit .ma-byb-cardlink--role .ma-byb-cardlink__arrow { color: var(--ma-navy); }
.ma-toolkit .ma-byb-cardlink--basics:hover .ma-byb-cardlink__arrow, .ma-toolkit .ma-byb-cardlink--role:hover .ma-byb-cardlink__arrow { background: var(--ma-navy); color: #fff; }
.ma-toolkit .ma-byb-cardlink:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }

/* ---- Lead feature + lesson-detail panel (shared .ma-byb-feature) ---- */
.ma-toolkit .ma-byb-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(18px,2.6vw,30px); align-items: start; background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: clamp(16px,2.4vw,24px); box-shadow: var(--ma-shadow); }
.ma-toolkit .ma-byb-feature__media { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--byb-accent, var(--ma-navy)); cursor: pointer; }
.ma-toolkit .ma-byb-feature.is-soon .ma-byb-feature__media { cursor: default; }
.ma-toolkit .ma-byb-feature__thumb { position: absolute; inset: 0; background-size: cover; background-position: center; }
.ma-toolkit .ma-byb-feature__wash { position: absolute; inset: 0; background: var(--byb-accent, var(--ma-navy)); opacity: .5; mix-blend-mode: multiply; }
.ma-toolkit .ma-byb-feature__grad { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 46%, rgba(0,0,0,.4)); }
.ma-toolkit .ma-byb-feature__play { all: unset; position: absolute; top: 14px; right: 14px; width: 48px; height: 34px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ma-toolkit .ma-byb-feature__play svg { width: 100%; height: 100%; filter: drop-shadow(0 2px 8px rgba(0,0,0,.45)); transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-byb-feature__media:hover .ma-byb-feature__play svg { transform: scale(1.06); }
.ma-toolkit .ma-byb-feature__soon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; background: rgba(0,0,0,.2); }
.ma-toolkit .ma-byb-feature__heading { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h4); line-height: 1.25; margin: 0 0 12px; }
.ma-toolkit .ma-byb-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.ma-toolkit .ma-byb-badge { display: inline-flex; align-items: center; font-family: var(--ma-font-sans); font-size: 12px; font-weight: 600; color: var(--ma-navy); background: var(--ma-panel); border: 1px solid var(--ma-panel-line); border-radius: var(--ma-radius-pill); padding: 5px 13px; }
.ma-toolkit .ma-byb-feature__intro { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 14px; margin: 0 0 8px; }
.ma-toolkit .ma-byb-bullets { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 9px; }
.ma-toolkit .ma-byb-bullets li { position: relative; padding-left: 22px; color: var(--ma-ink); font-size: 14.5px; line-height: 1.5; }
.ma-toolkit .ma-byb-bullets li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--byb-accent, var(--ma-crimson)); }
.ma-toolkit .ma-access { display: inline-flex; align-items: center; gap: 12px; background: var(--ma-crimson); color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; text-decoration: none; padding: 9px 12px 9px 20px; border-radius: var(--ma-radius-pill); min-height: 44px; }
.ma-toolkit .ma-access:hover { background: var(--ma-crimson-085); }
.ma-toolkit .ma-access__c { width: 24px; height: 24px; border-radius: 50%; background: #fff; color: var(--ma-crimson); display: inline-flex; align-items: center; justify-content: center; }
.ma-toolkit .ma-access__c svg { width: 12px; height: 12px; }

/* ---- Topics grid (themed bento) + single-open expander ---- */
.ma-toolkit .ma-topics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 18px; }
.ma-toolkit .ma-topic { all: unset; box-sizing: border-box; position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 196px; border-radius: var(--ma-radius); padding: 18px 18px 56px; cursor: pointer; overflow: hidden; background: linear-gradient(162deg, var(--byb-accent, var(--ma-navy)) 6%, var(--byb-accent-d, #1b2350) 98%); color: #fff; }
.ma-toolkit .ma-topic__title { font-family: var(--ma-font-sans); font-weight: 700; font-size: 15.5px; line-height: 1.22; }
.ma-toolkit .ma-topic__rule { width: 26px; height: 2px; background: rgba(255,255,255,.55); }
.ma-toolkit .ma-topic__desc { font-family: var(--ma-font-sans-2); font-size: 12.5px; line-height: 1.45; color: rgba(255,255,255,.92); }
.ma-toolkit .ma-topic__dur { position: absolute; left: 18px; bottom: 16px; font-family: var(--ma-font-sans); font-size: 11.5px; font-weight: 600; color: #fff; background: rgba(255,255,255,.16); padding: 4px 11px; border-radius: var(--ma-radius-pill); }
.ma-toolkit .ma-topic__chev { position: absolute; right: 16px; bottom: 14px; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.18); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background var(--ma-dur-fast) var(--ma-ease-standard), transform var(--ma-dur-base) var(--ma-ease-standard); }
.ma-toolkit .ma-topic__chev svg { width: 13px; height: 13px; }
.ma-toolkit .ma-topic:hover .ma-topic__chev { background: var(--ma-crimson); }
.ma-toolkit .ma-topic[aria-expanded="true"] .ma-topic__chev { background: var(--ma-crimson); transform: rotate(180deg); }
.ma-toolkit .ma-topic:focus-visible { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }

.ma-toolkit .ma-lesson__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--ma-dur-base) var(--ma-ease-standard); }
.ma-toolkit .ma-lesson__panel.is-open { grid-template-rows: 1fr; margin-bottom: 18px; }
.ma-toolkit .ma-lesson__panelinner { overflow: hidden; min-height: 0; }
.ma-toolkit .ma-lesson__panel.is-open .ma-lesson__panelinner { padding-top: 4px; }

/* ---- Expert profiles ---- */
.ma-toolkit .ma-byb-experts { display: grid; grid-template-columns: repeat(auto-fit, minmax(228px, 1fr)); gap: 20px; }
.ma-toolkit .ma-person__mod { align-self: flex-start; display: inline-flex; font-family: var(--ma-font-sans); font-weight: 600; font-size: 11px; color: var(--ma-navy); background: var(--ma-panel); border-radius: var(--ma-radius-pill); padding: 4px 11px; margin-bottom: 2px; }
.ma-toolkit .ma-person__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.ma-toolkit .ma-person__blurb { font-family: var(--ma-font-sans-2); font-size: 12px; color: #5C6270; margin: 4px 0 0; line-height: 1.4; }

/* ---- Responsive ---- */
@media (max-width: 1024px) {
  .ma-toolkit .ma-byb-cards { grid-template-columns: 1fr 1fr; }
  .ma-toolkit .ma-topics { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .ma-toolkit .ma-byb-feature { grid-template-columns: 1fr; }
  .ma-toolkit .ma-byb-flag { aspect-ratio: 16 / 9; } /* flagship taller on narrow screens (desktop design is 3.37:1) */
}
@media (max-width: 600px) {
  .ma-toolkit .ma-byb-cards { grid-template-columns: 1fr; }
  .ma-toolkit .ma-topics { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ma-toolkit .ma-lesson__panel, .ma-toolkit .ma-topic__chev, .ma-toolkit .ma-byb-flag__cue svg { transition: none; }
}

/* BYB feature video overlay title (italic-serif, comp 05_2..5) */
.ma-toolkit .ma-byb-feature__vtitle { position: absolute; left: clamp(16px,2.4vw,28px); bottom: clamp(16px,2.4vw,26px); margin: 0; z-index: 1; color: #fff; font-family: var(--ma-font-display); font-weight: 600; font-size: clamp(20px,2.4vw,30px); line-height: 1.12; max-width: 12ch; text-shadow: 0 2px 12px rgba(0,0,0,.4); pointer-events: none; }
.ma-toolkit .ma-byb-feature__vtitle em { font-style: italic; }

/* BYB posters use tinted speaker portraits (Media Library stills); bias the crop to the face */
.ma-toolkit .ma-byb-feature__thumb, .ma-toolkit .ma-byb-flag__thumb { background-position: center; }

/* ---- BYB expert cards = tinted full-photo cards (comps 05_2/4/5) ---- */
.ma-toolkit .ma-byb-experts { display: grid; grid-template-columns: repeat(auto-fill, minmax(192px, 1fr)); gap: 16px; }
.ma-toolkit .ma-byb-expert { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 3 / 4; border-radius: var(--ma-radius); overflow: hidden; background: linear-gradient(160deg, var(--byb-accent, var(--ma-navy)), var(--byb-accent-d, #1b2350)); isolation: isolate; }
.ma-toolkit .ma-byb-expert__photo { position: absolute; inset: 0; z-index: -3; background-size: cover; background-position: center top; }
.ma-toolkit .ma-byb-expert__wash { position: absolute; inset: 0; z-index: -2; background: var(--byb-accent, var(--ma-navy)); opacity: .4; mix-blend-mode: multiply; }
.ma-toolkit .ma-byb-expert::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11,18,32,0) 34%, rgba(11,18,32,.9)); }
.ma-toolkit .ma-byb-expert__initials { position: absolute; inset: 0; z-index: -2; display: flex; align-items: center; justify-content: center; font-family: var(--ma-font-display); font-weight: 600; font-size: 40px; color: rgba(255,255,255,.5); }
.ma-toolkit .ma-byb-expert__mod { position: absolute; top: 12px; left: 12px; z-index: 1; background: #fff; color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 600; font-size: 10.5px; padding: 4px 10px; border-radius: var(--ma-radius-pill); }
.ma-toolkit .ma-byb-expert__body { position: relative; padding: 16px; color: #fff; display: flex; flex-direction: column; gap: 4px; }
.ma-toolkit .ma-byb-expert__name { font-family: var(--ma-font-sans); font-weight: 700; font-size: 15px; line-height: 1.2; }
.ma-toolkit .ma-byb-expert__role { font-size: 11.5px; line-height: 1.25; color: rgba(255,255,255,.95); }
.ma-toolkit .ma-byb-expert__org { font-family: var(--ma-font-sans-2); font-size: 11px; color: rgba(255,255,255,.82); }
.ma-toolkit .ma-byb-expert__tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.ma-toolkit .ma-byb-expert__tags .ma-tag { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.26); color: #fff; font-size: 10px; padding: 2px 8px; }
.ma-toolkit .ma-byb-expert__blurb { font-family: var(--ma-font-sans-2); font-size: 10.5px; color: rgba(255,255,255,.78); margin-top: 6px; line-height: 1.35; }

/* Lead expert with a full bio (David Irwin, comp 05_3) = wide light card */
.ma-toolkit .ma-byb-expert--bio { grid-column: 1 / -1; flex-direction: row; align-items: stretch; aspect-ratio: auto; background: #fff; border: 1px solid var(--ma-rule); box-shadow: var(--ma-shadow); }
.ma-toolkit .ma-byb-expert--bio::after { display: none; }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__photo { position: relative; z-index: 0; flex: 0 0 168px; aspect-ratio: 3 / 4; align-self: center; margin: 18px; border-radius: 12px; }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__wash, .ma-toolkit .ma-byb-expert--bio .ma-byb-expert__initials { display: none; }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__body { color: var(--ma-ink); padding: 22px 26px 22px 4px; justify-content: center; gap: 5px; }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__mod { position: static; align-self: flex-start; margin-bottom: 6px; background: var(--ma-panel); }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__name { color: var(--ma-navy); font-style: italic; font-size: 18px; }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__role { color: var(--ma-navy); font-weight: 600; }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__org { color: #5C6270; }
.ma-toolkit .ma-byb-expert--bio .ma-byb-expert__tags .ma-tag { background: var(--ma-panel); border-color: var(--ma-panel-line); color: var(--ma-navy); }
.ma-toolkit .ma-byb-expert__bio { font-size: 13px; line-height: 1.55; color: var(--ma-ink); margin-top: 8px; }
@media (max-width: 600px) {
  .ma-toolkit .ma-byb-expert--bio { flex-direction: column; }
  .ma-toolkit .ma-byb-expert--bio .ma-byb-expert__photo { flex-basis: auto; width: 150px; margin: 18px 18px 0; }
}


/* ============================================================
   BUILDING YOUR BUSINESS — HUB (builder-editable rebuild, 2026-06-16)
   Native WPBakery rows + Salient image_with_animation, rendered via
   the_content() through page-ma-toolkit.php. Classes prefixed .ma-bybx-
   carry ONLY the branded luminosity wash, radii, arrows and layout; content
   (titles/images/links) stays editable in the builder. Solids are the
   SVG-exact values from A-Z of Fundraising.svg (session 10 lock). Scoped
   under .ma-toolkit.
   ============================================================ */
.ma-toolkit .ma-bybx-hero.vc_row { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(20px, 3vw, 44px); min-height: 300px; margin: 0 0 30px; }
.ma-toolkit .ma-bybx-hero > .wpb_column { width: auto !important; padding: 0 !important; }
.ma-toolkit .ma-bybx-hero .vc_column-inner { padding: 0 !important; }
.ma-toolkit .ma-bybx-hero .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-bybx-h1 { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.08; margin: 0 0 14px; }
.ma-toolkit .ma-bybx-h1 .c { color: var(--ma-crimson); }
.ma-toolkit .ma-bybx-sub { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 1.0625rem; line-height: 1.55; margin: 0; max-width: 52ch; }
.ma-toolkit .ma-bybx-hero__media img { display: block; width: 100%; height: 100%; min-height: 300px; object-fit: cover; object-position: center; border-radius: 0; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 92%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 92%, transparent 100%); }
.ma-toolkit .ma-bybx-hero__media p { margin: 0; height: 100%; }
.ma-toolkit .ma-bybx-band { margin: 4px 0 30px; }
.ma-toolkit .ma-bybx-band .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-bybx-band__k { font-family: var(--ma-font-sans); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: 18px; line-height: 1.25; color: var(--ma-navy); margin: 0 0 6px; padding: 0; }
.ma-toolkit .ma-bybx-band__k .c { color: var(--ma-crimson); }
.ma-toolkit .ma-bybx-band__s { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 1.0625rem; line-height: 1.4; margin: 0; padding: 0; }
.ma-toolkit .ma-bybx-card { position: relative; border-radius: 26px; overflow: hidden; isolation: isolate; background: var(--bybx-fill, var(--ma-navy)); display: flex; aspect-ratio: 305 / 334; }
.ma-toolkit .ma-bybx-card > .vc_column-inner { padding: 0 !important; width: 100%; }
.ma-toolkit .ma-bybx-card > .vc_column-inner > .wpb_wrapper { height: 100%; display: flex; flex-direction: column; justify-content: center; }
.ma-toolkit .ma-bybx-card .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-bybx-card .hover-wrap { position: absolute; inset: 0; margin: 0; }
.ma-toolkit .ma-bybx-card .hover-wrap,
.ma-toolkit .ma-bybx-card .hover-wrap-inner { width: 100%; height: 100%; }
.ma-toolkit .ma-bybx-card__media { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; max-width: none; border-radius: 0; mix-blend-mode: luminosity; opacity: .6 !important; pointer-events: none; }
.ma-toolkit .ma-bybx-card__cap { position: relative; z-index: 1; margin: 0; padding: 24px; }
.ma-toolkit .ma-bybx-card__title { font-family: var(--ma-font-display); font-weight: 600; color: #fff; font-size: clamp(27px, 2.7vw, 35px); line-height: 1.1; margin: 0; text-shadow: 0 2px 14px rgba(0,0,0,.28); }
.ma-toolkit .ma-bybx-card__title em { font-style: italic; }
.ma-toolkit .ma-bybx-card__title a { color: inherit; text-decoration: none; }
.ma-toolkit .ma-bybx-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.ma-toolkit .ma-bybx-card::before { content: ""; position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border-radius: 50%; background: var(--bybx-arrow-bg, #fff); box-shadow: 0 2px 8px rgba(0,0,0,.18); z-index: 3; pointer-events: none; transition: background var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-bybx-card::after { content: ""; position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; z-index: 4; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23232C65' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9M9 4l4 4-4 4'/%3E%3C/svg%3E") center / 20px no-repeat; }
.ma-toolkit .ma-bybx-card:hover::before { background: var(--ma-crimson); }
.ma-toolkit .ma-bybx-card--culture::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23DE1E38' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9M9 4l4 4-4 4'/%3E%3C/svg%3E"); }
.ma-toolkit .ma-bybx-card:hover::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9M9 4l4 4-4 4'/%3E%3C/svg%3E"); }
.ma-toolkit .ma-bybx-card:focus-within { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }
.ma-toolkit .ma-bybx-card__title,
.ma-toolkit .ma-bybx-card__title em { font-family: var(--ma-font-display) !important; }
.ma-toolkit .ma-bybx-flagrow { margin: 0 0 18px; }
.ma-toolkit .ma-bybx-flag { aspect-ratio: 960 / 285; border-radius: 30px; --bybx-fill: #232b65; --bybx-arrow-bg: var(--ma-crimson); --bybx-arrow-fg: #fff; }
.ma-toolkit .ma-bybx-flag > .vc_column-inner > .wpb_wrapper { justify-content: center; }
.ma-toolkit .ma-bybx-flag .ma-bybx-card__cap { padding: clamp(22px, 4vw, 48px); }
.ma-toolkit .ma-bybx-flag .ma-bybx-card__title { font-size: clamp(26px, 3.2vw, 40px); line-height: 1.12; max-width: none; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.ma-toolkit .ma-bybx-flag::before { top: 50%; right: 24px; margin-top: -28px; width: 56px; height: 56px; }
.ma-toolkit .ma-bybx-flag::after { top: 50%; right: 24px; margin-top: -28px; width: 56px; height: 56px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h9M9 4l4 4-4 4'/%3E%3C/svg%3E"); background-size: 26px; }
.ma-toolkit .ma-bybx-card--basics  { --bybx-fill: #a01036; --bybx-arrow-bg: #fff; --bybx-arrow-fg: var(--ma-navy); }
.ma-toolkit .ma-bybx-card--culture { --bybx-fill: #324b9b; --bybx-arrow-bg: #fff; --bybx-arrow-fg: var(--ma-crimson); }
.ma-toolkit .ma-bybx-card--role    { --bybx-fill: #933449; --bybx-arrow-bg: #fff; --bybx-arrow-fg: var(--ma-navy); }
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybx-card) { gap: 20px; }
.ma-toolkit .ma-bybx-card { width: auto !important; flex: 1 1 0; }
.ma-toolkit .ma-bybx-card--basics  .ma-bybx-card__media { object-position: 0% 20%; transform: scale(1.25) !important; }
.ma-toolkit .ma-bybx-card--culture .ma-bybx-card__media { object-position: 50% 16%; transform: scale(1.2) !important; }
.ma-toolkit .ma-bybx-card--role    .ma-bybx-card__media { object-position: 74% 20%; transform: scale(1.25) !important; }
.ma-toolkit .ma-bybx-flag          .ma-bybx-card__media { object-position: 22% 30%; transform: scale(1.12) !important; }
@media (max-width: 860px) {
  .ma-toolkit .ma-bybx-hero.vc_row { grid-template-columns: 1fr; gap: 16px; min-height: 0; }
  .ma-toolkit .ma-bybx-hero__media img { min-height: 200px; -webkit-mask-image: none; mask-image: none; }
  .ma-toolkit .ma-bybx-flag { aspect-ratio: 16 / 9; }
}


/* === BYB arrow assets override (Artboard 29 = navy arrow/white circle for cards; Artboard 28 = white arrow/crimson circle for flagship + card hover). Uses the real brand SVG files by URL — avoids the data-URI %23->#%20fragment corruption. === */
.ma-toolkit .ma-bybx-card::after { content: none; }
.ma-toolkit .ma-bybx-card::before { border-radius: 0; box-shadow: none; width: 44px; height: 44px; background: url("/fundraisingtoolkit/wp-content/uploads/2026/06/Artboard-29.svg") center / contain no-repeat; transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-bybx-card:hover::before { background: url("/fundraisingtoolkit/wp-content/uploads/2026/06/Artboard-28.svg") center / contain no-repeat; transform: scale(1.06); }
.ma-toolkit .ma-bybx-flag::before { top: 50%; right: 24px; margin-top: -29px; width: 58px; height: 58px; background: url("/fundraisingtoolkit/wp-content/uploads/2026/06/Artboard-28.svg") center / contain no-repeat; }


/* === BYB card padding fix: Salient column adds ~11px L/R padding, insetting the photo and leaving solid bands. Zero it so the photo fills edge to edge (gaps between cards come from the row flex gap, not padding). === */
.ma-toolkit .ma-bybx-card { padding: 0 !important; }
.ma-toolkit .ma-bybx-card .hover-wrap, .ma-toolkit .ma-bybx-card .hover-wrap-inner, .ma-toolkit .ma-bybx-card__media { left: 0 !important; right: 0 !important; width: 100% !important; }

/* ============================================================
   BYB SUB-PAGES — shared component skins (.ma-bybc-*)
   Learnings / Business Basics / Building culture & hiring / Your role.
   Native WPBakery pages on the MA Toolkit Page chassis (Recipe 24).
   Column-based, mirroring the proven .ma-bybx-* hub pattern:
   - the styled card IS a vc_column (el_class on it);
   - photos are their own [image_with_animation] element (by ID),
     NOT nested in a text block (Salient .hover-wrap neutralised so
     the photo fills the column edge-to-edge as a luminosity duotone);
   - copy/titles are vc_column_text; whole card clickable via a
     stretched link. Copy/images/links/video URLs stay editable in
     the builder. Solids sampled from the designer page SVGs.
   Scoped under .ma-toolkit. Accent blue #67C7F2.
   ============================================================ */

.ma-toolkit { --ma-accent-blue: #67C7F2; }

/* ---------- SECTION HEAD (title + rule + down-chevron disc) ---------- */
.ma-toolkit .ma-bybc-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--ma-rule); padding-bottom: 14px; margin: 0 0 22px; }
.ma-toolkit .ma-bybc-head__t { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(20px, 2.1vw, 26px); line-height: 1.15; margin: 0; padding: 0; }
.ma-toolkit .ma-bybc-head__chev { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--ma-navy); position: relative; }
.ma-toolkit .ma-bybc-head__chev::before { content: ""; position: absolute; top: 43%; left: 50%; width: 8px; height: 8px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translate(-50%, -50%) rotate(45deg); }
.ma-toolkit .ma-bybc-lead { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: clamp(18px, 1.7vw, 23px); line-height: 1.5; margin: 0; padding: 0; max-width: 62ch; }

/* ============================================================
   VIDEO FEATURE — two WPBakery columns in one row:
   [vc_row equal_height content_placement=middle el_class=ma-bybc-vidrow]
     [vc_column 7/12 el_class="ma-bybc-poster ma-bybc-poster--x"] image + cap
     [vc_column 5/12 el_class="ma-bybc-vid__info"] text
   ============================================================ */
/* the comp's rounded "bracket" frame hugging each video block.
   Salient regenerates row classes (drops el_class) on flex rows, so hook the
   structural column-wrap that holds the poster, never a row class. */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-poster) { border: 1px solid var(--ma-rule); border-radius: 26px; padding: clamp(14px, 2.2vw, 26px); margin: 0 0 26px; align-items: start; }

/* poster column = washed card */
.ma-toolkit .ma-bybc-poster { position: relative; border-radius: 22px; overflow: hidden; isolation: isolate; background: var(--bybc-fill, #20285f); aspect-ratio: 16 / 9; padding: 0 !important; }
.ma-toolkit .ma-bybc-poster > .vc_column-inner { padding: 0 !important; height: 100%; }
.ma-toolkit .ma-bybc-poster > .vc_column-inner > .wpb_wrapper { height: 100%; }
.ma-toolkit .ma-bybc-poster .hover-wrap { position: absolute; inset: 0; margin: 0; }
.ma-toolkit .ma-bybc-poster .hover-wrap, .ma-toolkit .ma-bybc-poster .hover-wrap-inner { width: 100% !important; height: 100%; left: 0 !important; right: 0 !important; }
.ma-toolkit .ma-bybc-poster__media { position: absolute; inset: 0; left: 0 !important; right: 0 !important; width: 100% !important; height: 100%; display: block; object-fit: cover; object-position: center 22%; max-width: none; border-radius: 0; mix-blend-mode: luminosity; opacity: .72 !important; pointer-events: none; }
.ma-toolkit .ma-bybc-poster__cap { position: absolute; inset: 0; z-index: 1; margin: 0; }
.ma-toolkit .ma-bybc-poster__cap .wpb_wrapper { height: 100%; }
.ma-toolkit .ma-bybc-poster__title { position: absolute; left: clamp(20px, 3vw, 38px); bottom: clamp(18px, 3vw, 32px); z-index: 2; margin: 0; max-width: 74%; color: #fff; font-family: var(--ma-font-display) !important; font-weight: 600; font-size: clamp(26px, 3.2vw, 42px); line-height: 1.08; text-shadow: 0 2px 16px rgba(0,0,0,.35); }
.ma-toolkit .ma-bybc-poster__title em { color: var(--ma-accent-blue); font-style: italic; font-family: var(--ma-font-display) !important; }
.ma-toolkit .ma-bybc-poster__play { position: absolute; top: 18px; right: 18px; z-index: 4; width: 46px; height: 46px; border-radius: 50%; background: var(--ma-crimson); box-shadow: 0 4px 14px rgba(0,0,0,.28); transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-bybc-poster__play::before { content: ""; position: absolute; top: 50%; left: 53%; transform: translate(-50%, -50%); border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #fff; }
.ma-toolkit .ma-bybc-poster__link { position: absolute; inset: 0; z-index: 5; display: block; }
.ma-toolkit .ma-bybc-poster:hover .ma-bybc-poster__play { transform: scale(1.08); }
.ma-toolkit .ma-bybc-poster:focus-within { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }

/* right info column */
.ma-toolkit .ma-bybc-vid__info .wpb_text_column, .ma-toolkit .ma-bybc-vid__info p { margin: 0; }
.ma-toolkit .ma-bybc-vid__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(18px, 1.7vw, 22px); line-height: 1.25; margin: 0 0 12px; padding: 0; }
.ma-toolkit .ma-bybc-vid__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.ma-toolkit .ma-pill { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border: 1px solid var(--ma-rule); border-radius: 6px; background: #fff; color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 600; font-size: 12px; line-height: 1; }
.ma-toolkit .ma-bybc-vid__rule { border: 0; border-top: 1px solid var(--ma-rule); margin: 0 0 14px; }
.ma-toolkit .ma-bybc-vid__lead { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 15px; line-height: 1.4; margin: 0 0 8px; padding: 0; }
.ma-toolkit .ma-bybc-vid__list { margin: 0 0 20px; padding: 0; list-style: none !important; }
.ma-toolkit .ma-bybc-vid__list li { position: relative; list-style: none !important; font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 14.5px; line-height: 1.5; margin: 0 0 5px; padding: 0 0 0 18px; }
.ma-toolkit .ma-bybc-vid__list li::marker { content: ""; font-size: 0; }
.ma-toolkit .ma-bybc-vid__list li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: #8a8fab; }
.ma-toolkit .ma-bybc-vid__info .ma-btn { margin-top: 4px; }
.ma-toolkit .ma-bybc-vid__info .ma-btn--primary .ma-btn__icon { width: 24px; height: 24px; }
.ma-toolkit .ma-bybc-vid__info .ma-btn.is-disabled { opacity: .45; pointer-events: none; }

/* poster wash colours per block (sampled from the page SVGs) */
.ma-toolkit .ma-bybc-poster--learn { --bybc-fill: #20285f; }
.ma-toolkit .ma-bybc-poster--bb1   { --bybc-fill: #a01036; }
.ma-toolkit .ma-bybc-poster--bb2   { --bybc-fill: #6f2740; }
.ma-toolkit .ma-bybc-poster--cul1  { --bybc-fill: #2a3f86; }
.ma-toolkit .ma-bybc-poster--cul2  { --bybc-fill: #355a9d; }
.ma-toolkit .ma-bybc-poster--role1 { --bybc-fill: #41496f; }
.ma-toolkit .ma-bybc-poster--role2 { --bybc-fill: #2b3566; }
/* baked poster = wash already in the image file → no CSS luminosity */
.ma-toolkit .ma-bybc-poster--baked { --bybc-fill: #232c65; }
.ma-toolkit .ma-bybc-poster--baked .ma-bybc-poster__media { mix-blend-mode: normal; opacity: 1 !important; object-position: center; }

/* ============================================================
   TOPICS GRID — each card is a vc_column (solid fill, white text).
   8 cols 1/4 wrap to 4x2 (Business Basics); 3 cols (Culture);
   4 cols (Role). Card body is one vc_column_text; whole card linked.
   ============================================================ */
.ma-toolkit .ma-bybc-topicslabel { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 14px; letter-spacing: .02em; border-bottom: 1px solid var(--ma-rule); padding-bottom: 10px; margin: 26px 0 4px; }

.ma-toolkit .ma-bybc-topic { position: relative; border-radius: 14px; background: var(--bybc-fill, var(--ma-navy)); padding: 0 !important; overflow: hidden; transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-bybc-topic > .vc_column-inner { padding: 0 !important; height: 100%; }
.ma-toolkit .ma-bybc-topic > .vc_column-inner > .wpb_wrapper { height: 100%; }
.ma-toolkit .ma-bybc-topic:hover { transform: translateY(-3px); }
.ma-toolkit .ma-bybc-topic:focus-within { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }
.ma-toolkit .ma-bybc-topic__in { display: flex; flex-direction: column; min-height: 210px; height: 100%; padding: 20px 20px 18px; }
.ma-toolkit .ma-bybc-topic__t { font-family: var(--ma-font-sans); font-weight: 700; color: #fff; font-size: 17px; line-height: 1.18; margin: 0; padding: 0; }
.ma-toolkit .ma-bybc-topic__rule { display: block; width: 26px; height: 2px; background: rgba(255,255,255,.6); margin: 12px 0; }
.ma-toolkit .ma-bybc-topic__d { font-family: var(--ma-font-sans); color: rgba(255,255,255,.92); font-size: 12.5px; line-height: 1.4; margin: 0 0 auto; padding: 0; }
.ma-toolkit .ma-bybc-topic__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; }
.ma-toolkit .ma-bybc-topic__dur { display: inline-flex; align-items: center; height: 22px; padding: 0 10px; border: 1px solid rgba(255,255,255,.5); border-radius: 5px; color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 11px; line-height: 1; white-space: nowrap; }
.ma-toolkit .ma-bybc-topic__play { flex: none; width: 28px; height: 28px; border-radius: 50%; background: #fff; position: relative; }
.ma-toolkit .ma-bybc-topic__play::before { content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-style: solid; border-width: 5px 0 5px 8px; border-color: transparent transparent transparent var(--bybc-fill, var(--ma-navy)); }
.ma-toolkit .ma-bybc-topic__link { position: absolute; inset: 0; z-index: 3; display: block; }
.ma-toolkit .ma-bybc-topic--soon .ma-bybc-topic__play { background: rgba(255,255,255,.55); }

/* topic grid: real 4-col grid on the structural wrap (column %widths ignored) */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-topic) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ma-toolkit .ma-bybc-topic { width: auto !important; }

/* topic fills — Business Basics (crimson family, checkerboard) */
.ma-toolkit .ma-bybc-topic--bb1 { --bybc-fill: #c93551; }
.ma-toolkit .ma-bybc-topic--bb2 { --bybc-fill: #a01036; }
.ma-toolkit .ma-bybc-topic--bb3 { --bybc-fill: #9b2740; }
.ma-toolkit .ma-bybc-topic--bb4 { --bybc-fill: #c93551; }
.ma-toolkit .ma-bybc-topic--bb5 { --bybc-fill: #7d0a22; }
.ma-toolkit .ma-bybc-topic--bb6 { --bybc-fill: #a01036; }
.ma-toolkit .ma-bybc-topic--bb7 { --bybc-fill: #c93551; }
.ma-toolkit .ma-bybc-topic--bb8 { --bybc-fill: #bc576a; }
/* Culture (royal / teal / sky) */
.ma-toolkit .ma-bybc-topic--cul1 { --bybc-fill: #324b9b; }
.ma-toolkit .ma-bybc-topic--cul2 { --bybc-fill: #1f97b6; }
.ma-toolkit .ma-bybc-topic--cul3 { --bybc-fill: #5bb6d1; }
/* Role (navy -> slate steps) */
.ma-toolkit .ma-bybc-topic--role1 { --bybc-fill: #2b3566; }
.ma-toolkit .ma-bybc-topic--role2 { --bybc-fill: #3a4474; }
.ma-toolkit .ma-bybc-topic--role3 { --bybc-fill: #4a5184; }
.ma-toolkit .ma-bybc-topic--role4 { --bybc-fill: #5a6196; }

/* ============================================================
   EXPERT PROFILES — washed portrait tiles (text over photo).
   Each tile is a vc_column (image + body text block). Carousel
   (Learnings) = the column-wrap scrolls horizontally; static grid
   (Culture/Role) = WPBakery 1/3 or 1/4 columns. Wide single (BB).
   ============================================================ */
.ma-toolkit .ma-bybc-experts__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 30px 0 16px; }
.ma-toolkit .ma-bybc-experts__label { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 14px; }
.ma-toolkit .ma-bybc-experts__nav { display: flex; gap: 8px; }
.ma-toolkit .ma-bybc-arrow { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ma-rule); background: #fff; color: var(--ma-navy); font-size: 17px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background var(--ma-dur-fast), color var(--ma-dur-fast); }
.ma-toolkit .ma-bybc-arrow:hover { background: var(--ma-navy); color: #fff; border-color: var(--ma-navy); }
.ma-toolkit .ma-bybc-arrow[disabled] { opacity: .4; cursor: default; }

/* expert tile (column) */
/* fixed size across ALL pages (Robert: same card size page to page); taller so
   the text block clears the faces. 265px fits the 4-up page within the 1146 row. */
/* Expert card = natural photo + a single vertical gradient that runs 0% (clear,
   top) -> 100% (solid navy, ~90% down) for the text. The tint climbs the whole
   height (a true gradient, not a uniform wash and not a bottom-only "footer").
   Navy fallback shows only if a photo is missing. */
.ma-toolkit .ma-bybc-exp { position: relative; border-radius: 16px; overflow: hidden; isolation: isolate; background: #232c65; aspect-ratio: 265 / 420; padding: 0 !important; }
.ma-toolkit .ma-bybc-exp > .vc_column-inner { padding: 0 !important; height: 100%; }
.ma-toolkit .ma-bybc-exp > .vc_column-inner > .wpb_wrapper { height: 100%; display: flex; flex-direction: column; }
.ma-toolkit .ma-bybc-exp .hover-wrap { position: absolute; inset: 0; margin: 0; }
.ma-toolkit .ma-bybc-exp .hover-wrap, .ma-toolkit .ma-bybc-exp .hover-wrap-inner { width: 100% !important; height: 100%; left: 0 !important; right: 0 !important; }
/* NATURAL photo (no duotone) + the designer's -90deg blue gradient overlay:
   transparent at the top (photo shows), to solid #536aa0 at the bottom for the
   text. Stops taken from the source gradient "g" in A-Z of Fundraising copy.svg. */
/* photo = the BAKED card image (wash + gradient already in the file); just fill,
   no CSS blend/overlay. Text overlays it via z-index. */
.ma-toolkit .ma-bybc-exp__media { position: absolute; inset: 0; left: 0 !important; right: 0 !important; width: 100% !important; height: 100%; display: block; object-fit: cover; object-position: center; max-width: none; border-radius: 0; mix-blend-mode: normal; opacity: 1 !important; pointer-events: none; filter: none; }
.ma-toolkit .ma-bybc-exp::after { content: none; }
.ma-toolkit .ma-bybc-exp__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 18px; width: 100%; }
.ma-toolkit .ma-bybc-exp__body p { margin: 0; padding: 0; }
.ma-toolkit .ma-bybc-exp__badge { position: absolute; top: 12px; left: 12px; z-index: 3; display: inline-flex; align-items: center; height: 22px; padding: 0 11px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 700; font-size: 11px; }
.ma-toolkit .ma-bybc-exp__name { font-family: var(--ma-font-sans); font-weight: 700; color: #fff; font-size: 18px; line-height: 1.15; margin: 0; }
.ma-toolkit .ma-bybc-exp__role { font-family: var(--ma-font-sans); font-weight: 700; color: #fff; font-size: 12.5px; margin: 6px 0 0 !important; }
.ma-toolkit .ma-bybc-exp__co { font-family: var(--ma-font-sans); color: rgba(255,255,255,.85); font-size: 12.5px; margin: 1px 0 0 !important; }
.ma-toolkit .ma-bybc-exp__tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 11px 0 0; }
.ma-toolkit .ma-bybc-exp__tags span { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; border-radius: 4px; background: rgba(255,255,255,.16); color: #fff; font-family: var(--ma-font-sans); font-weight: 600; font-size: 10.5px; }
.ma-toolkit .ma-bybc-exp__foot { color: rgba(255,255,255,.8); font-family: var(--ma-font-sans); font-size: 11px; margin: 12px 0 0 !important; padding: 10px 0 0 !important; border-top: 1px solid rgba(255,255,255,.18); }

/* static grid: FIXED-width cards (same size as the carousel), left-aligned,
   wrap on narrow screens. Fewer cards => trailing space, never stretched. */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-exp--grid) { display: flex; flex-wrap: wrap; gap: 18px; justify-content: flex-start; align-items: stretch; }
.ma-toolkit .ma-bybc-exp--grid { flex: 0 0 265px; width: 265px !important; }
/* Grid cards (Culture/Role) carry longer copy (2-line roles, 2-row tags, 2-line
   footers) than the carousel set, so the bottom-anchored text block is taller and
   climbs out of the baked gradient onto the face. The baked photo gradient is NOT
   touched — instead the grid copy is tightened (spacing + secondary type) so the
   block sits back down inside the gradient, the way the shorter carousel copy does.
   Scoped to --grid only; the carousel (Learnings) and the name size are untouched. */
.ma-toolkit .ma-bybc-exp--grid .ma-bybc-exp__body { padding: 15px; }
.ma-toolkit .ma-bybc-exp--grid .ma-bybc-exp__role { font-size: 11.5px; line-height: 1.2; margin-top: 3px !important; }
.ma-toolkit .ma-bybc-exp--grid .ma-bybc-exp__co { font-size: 11.5px; margin-top: 1px !important; }
.ma-toolkit .ma-bybc-exp--grid .ma-bybc-exp__tags { margin-top: 7px; gap: 4px; }
.ma-toolkit .ma-bybc-exp--grid .ma-bybc-exp__tags span { height: 18px; font-size: 10px; padding: 0 8px; }
.ma-toolkit .ma-bybc-exp--grid .ma-bybc-exp__foot { font-size: 10.5px; line-height: 1.35; margin-top: 7px !important; padding-top: 6px !important; }
/* carousel: the structural column-wrap scrolls horizontally; same fixed width */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-exp--cara) { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 18px; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-width: thin; }
.ma-toolkit .ma-bybc-exp--cara { flex: 0 0 265px; width: 265px !important; scroll-snap-align: start; }
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-exp--cara)::-webkit-scrollbar { height: 12px; }
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-exp--cara)::-webkit-scrollbar-thumb { background: #c7ccd8; border-radius: 8px; }
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-exp--cara)::-webkit-scrollbar-track { background: #eceef3; border-radius: 8px; }

/* wide single (Business Basics — David Irwin): BAKED moderator card (image 1385, gradient baked in) + dark text beside, per BB comp */
.ma-toolkit .ma-bybc-exp--plain { background: #232c65; aspect-ratio: 953 / 1400; max-width: 240px; }
.ma-toolkit .ma-bybc-exp--plain .ma-bybc-exp__media { mix-blend-mode: normal; opacity: 1 !important; object-position: center; filter: none; }
.ma-toolkit .ma-bybc-exp--plain::after { display: none; }
.ma-toolkit .ma-bybc-expwide__name { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 19px; margin: 2px 0 0; padding: 0; }
.ma-toolkit .ma-bybc-expwide__role { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 13px; margin: 4px 0 14px; padding: 0; }
.ma-toolkit .ma-bybc-expwide__bio { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 13.5px; line-height: 1.6; margin: 0 0 14px; padding: 0; max-width: 72ch; }
.ma-toolkit .ma-bybc-expwide__tags { display: flex; flex-wrap: wrap; gap: 7px; }
.ma-toolkit .ma-bybc-expwide__tags span { display: inline-flex; align-items: center; height: 24px; padding: 0 11px; border-radius: 5px; background: var(--ma-panel); color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 600; font-size: 11.5px; }

/* WPBakery text-wrapper margin resets inside cards */
.ma-toolkit .ma-bybc-topic .wpb_text_column, .ma-toolkit .ma-bybc-exp .wpb_text_column { margin: 0; }
.ma-toolkit .ma-bybc-exp__badgewrap { margin: 0; height: 0; overflow: visible; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 1024px) {
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-topic) { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .ma-toolkit .wpb_column.ma-bybc-poster, .ma-toolkit .wpb_column.ma-bybc-vid__info { width: 100% !important; }
  .ma-toolkit .ma-bybc-vid__info { margin-top: 14px; }
}
@media (max-width: 600px) {
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-bybc-topic) { grid-template-columns: 1fr; }
  .ma-toolkit .ma-bybc-exp--grid { flex: 1 1 100%; width: 100% !important; }
  .ma-toolkit .ma-bybc-exp--cara { flex: 0 0 80vw; width: 80vw !important; }
  .ma-toolkit .wpb_column.ma-bybc-exp--plain { width: 60% !important; margin: 0 auto; }
}

/* ------------------------------------------------------------
   HUB (.ma-bybx-*) cards now use BAKED images
   The 4 hub cards (flagship + basics/culture/role) carry the wash +
   gradient in the image file, so neutralise the live CSS luminosity
   duotone + ::after gradient on the CARD media only. The hub HERO
   (.ma-bybx-hero__media, id 124) is unchanged.
   ------------------------------------------------------------ */
.ma-toolkit .ma-bybx-card__media { mix-blend-mode: normal !important; opacity: 1 !important; filter: none !important; }
.ma-toolkit .ma-bybx-card::after { content: none !important; }

/* ============================================================
   PAGE CONTENT WIDTH — Contact + FAQs fill the centred main column so
   content sits centred in the viewport on widescreen, matching the
   reference pages (Find Investors / BYB / A-Z). They were capped narrow
   and left-aligned (.ma-formcard 620px + .ma-field 440px; .ma-acc 760px).
   Fields widened too so the Contact form fills evenly, not half-empty.
   Scoped per page so other uses of these classes are untouched.
   ============================================================ */
.ma-toolkit .ma-contact .ma-formcard { max-width: none; }
.ma-toolkit .ma-contact .ma-field { max-width: none; }
.ma-toolkit .ma-faqs .ma-acc { max-width: none; }

/* ============================================================
   MA HOME — native builder-editable (Recipe 24) — BEGIN
   Salient strips ROW el_class, so each section row is hooked via
   :has() on a surviving COLUMN class; column grids target the
   row's [class*="row_col_wrap"] container. Card flex lives on
   .wpb_wrapper (WPBakery's real content container).
   ============================================================ */

/* shared element resets */
.ma-toolkit .ma-hx-hero__text .wpb_text_column,
.ma-toolkit .ma-hx-welcome__text .wpb_text_column,
.ma-toolkit .ma-hx-exphead .wpb_text_column,
.ma-toolkit .ma-hx-explorehead .wpb_text_column,
.ma-toolkit .ma-hx-stat .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-hx-hero__text p, .ma-toolkit .ma-hx-welcome__text p,
.ma-toolkit .ma-hx-testi__body p, .ma-toolkit .ma-hx-pillar p,
.ma-toolkit .ma-hx-stat p, .ma-toolkit .ma-hx-advisor p { padding-bottom: 0; }
/* Salient column %-width resolves against the grid CELL, shrinking it — force fill */
.ma-toolkit .wpb_column[class*="ma-hx-"] { width: auto !important; float: none !important; }

/* ---- 1. MASTHEAD — site-wide .ma-pagehero pattern (Recipe 27) ---------------
   Plain GRID. NO border-radius, NO overflow:hidden. The photo fills its grid
   cell with border-radius:0 and a BOTH-SIDES wash; nothing clips it into a
   rounded shape (that clipping was the recurring rounded-corner bug). Grey is
   the section background. Identical treatment to .ma-pagehero on every page. */
.ma-toolkit .vc_row:has(.ma-hx-hero__text) { position: relative; background: var(--ma-panel); margin: 0 0 26px; }
.ma-toolkit .vc_row:has(.ma-hx-hero__text) > [class*="row_col_wrap"] { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr); align-items: center; column-gap: clamp(20px,3vw,44px); row-gap: 0; min-height: 360px; }
.ma-toolkit .ma-hx-hero__text { position: relative; z-index: 1; }
.ma-toolkit .ma-hx-hero__text > .vc_column-inner { padding: clamp(30px,4vw,56px) !important; }
.ma-toolkit .ma-hx-hero__media { position: relative; align-self: stretch; min-height: 360px; }
.ma-toolkit .ma-hx-hero__media > .vc_column-inner { padding: 0 !important; position: static; height: 100%; }
.ma-toolkit .ma-hx-hero__media .wpb_wrapper, .ma-toolkit .ma-hx-hero__media [class*="img-with-an"], .ma-toolkit .ma-hx-hero__media .hover-wrap, .ma-toolkit .ma-hx-hero__media .hover-wrap-inner { position: static; height: 100%; width: 100%; }
.ma-toolkit .ma-hx-hero__wm { font-family: var(--ma-font-sans); font-weight: 800; color: var(--ma-navy); font-size: clamp(2rem,1.3rem + 2.7vw,3.25rem); line-height: 1.02; letter-spacing: -.01em; margin: 0 0 12px; }
.ma-toolkit .ma-hx-hero__wm .c { color: var(--ma-crimson); }
.ma-toolkit .ma-hx-hero__tag { font-family: var(--ma-font-sans); font-weight: 600; color: var(--ma-navy); font-size: clamp(1.25rem,.95rem + 1.4vw,1.95rem); line-height: 1.12; margin: 0; max-width: 20ch; }
.ma-toolkit .ma-hx-hero__img { position: absolute !important; inset: 0 !important; width: 100%; height: 100%; object-fit: cover; object-position: center center; border-radius: 0 !important; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 92%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 92%, transparent 100%); }

/* ---- 2. WELCOME ------------------------------------------------------------ */
.ma-toolkit .vc_row:has(.ma-hx-welcome__media) { margin: 0 0 30px; }
.ma-toolkit .vc_row:has(.ma-hx-welcome__media) > [class*="row_col_wrap"] { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.04fr); align-items: center; gap: clamp(20px,3vw,46px); }
.ma-toolkit .ma-hx-welcome__media > .vc_column-inner { position: relative; border-radius: var(--ma-radius); overflow: hidden; aspect-ratio: 16 / 10; background: linear-gradient(150deg,#2b3470,var(--ma-navy)); padding: 0 !important; }
.ma-toolkit .ma-hx-welcome__media .wpb_wrapper, .ma-toolkit .ma-hx-welcome__media [class*="img-with-an"], .ma-toolkit .ma-hx-welcome__media .hover-wrap, .ma-toolkit .ma-hx-welcome__media .hover-wrap-inner { display: block; width: 100%; height: 100%; }
.ma-toolkit .ma-hx-welcome__poster { display: block; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center; }
.ma-toolkit .ma-hx-welcome__vlabel { position: absolute; left: 24px; bottom: 84px; color: rgba(255,255,255,.92); font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; z-index: 2; }
.ma-toolkit .ma-hx-welcome__media > .vc_column-inner::after { content: ""; position: absolute; left: 22px; bottom: 20px; width: 54px; height: 54px; border-radius: 50%; background: var(--ma-crimson); box-shadow: 0 6px 18px rgba(222,30,56,.4); z-index: 3; pointer-events: none; }
.ma-toolkit .ma-hx-welcome__media > .vc_column-inner::before { content: ""; position: absolute; left: 44px; bottom: 38px; width: 0; height: 0; border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent #fff; z-index: 4; pointer-events: none; }
.ma-toolkit .ma-hx-welcome__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(1.4rem,1.05rem + 1.1vw,1.85rem); line-height: 1.16; margin: 0 0 12px; }
.ma-toolkit .ma-hx-welcome__title .c { color: var(--ma-crimson); }
.ma-toolkit .ma-hx-welcome__body { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 1.0625rem; line-height: 1.55; margin: 0; }

/* ---- 3. EXPERIENCE BAND (grey: heading + stats + advisors) ----------------- */
.ma-toolkit .vc_row:has(.ma-hx-exphead),
.ma-toolkit .vc_row:has(.ma-hx-stat),
.ma-toolkit .vc_row:has(.ma-hx-advisor) { background: var(--ma-panel); margin: 0 !important; }
.ma-toolkit .vc_row:has(.ma-hx-exphead) { border-radius: var(--ma-radius) var(--ma-radius) 0 0; }
.ma-toolkit .vc_row:has(.ma-hx-advisor) { border-radius: 0 0 var(--ma-radius) var(--ma-radius); margin-bottom: 30px !important; }
.ma-toolkit .ma-hx-exphead > .vc_column-inner { padding: clamp(26px,3vw,40px) clamp(20px,3vw,44px) 6px !important; }
.ma-toolkit .ma-hx-h2 { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(1.35rem,1.05rem + 1vw,1.7rem); margin: 0; }
/* stats grid */
.ma-toolkit .vc_row:has(.ma-hx-stat) > [class*="row_col_wrap"] { display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(14px,2vw,28px); padding: 12px clamp(20px,3vw,44px); }
.ma-toolkit .ma-hx-stat > .vc_column-inner { padding: 0 !important; }
.ma-toolkit .ma-hx-stat__fig { display: block; font-family: var(--ma-font-sans); font-weight: 800; color: var(--ma-crimson); font-size: clamp(2.1rem,1.5rem + 2vw,3rem); line-height: 1; }
.ma-toolkit .ma-hx-stat__lbl { display: block; font-family: var(--ma-font-sans); color: var(--ma-navy); font-size: 14px; font-weight: 500; line-height: 1.3; margin-top: 8px; }
/* advisor cards */
.ma-toolkit .vc_row:has(.ma-hx-advisor) > [class*="row_col_wrap"] { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px,2vw,24px); padding: 10px clamp(20px,3vw,44px) clamp(24px,3vw,36px); }
.ma-toolkit .ma-hx-advisor > .vc_column-inner { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: clamp(20px,2vw,26px) !important; height: 100%; }
.ma-toolkit .ma-hx-advisor .wpb_wrapper { display: flex; flex-wrap: wrap; align-items: center; column-gap: 16px; row-gap: 14px; }
.ma-toolkit .ma-hx-advisor .wpb_wrapper > :first-child { flex: none; width: 84px; }
.ma-toolkit .ma-hx-advisor__pic { display: block; width: 84px; height: 84px; border-radius: 50%; object-fit: cover; }
.ma-toolkit .ma-hx-advisor__head { flex: 1 1 0; min-width: 130px; margin: 0; }
.ma-toolkit .ma-hx-advisor__name { display: block; font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 18px; line-height: 1.15; }
.ma-toolkit .ma-hx-advisor__role { display: block; font-family: var(--ma-font-sans); font-style: italic; color: var(--ma-ink); font-size: 14px; line-height: 1.35; margin-top: 6px; }
.ma-toolkit .ma-hx-advisor__bio { flex-basis: 100%; width: 100%; font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 15px; line-height: 1.5; margin: 0; }

/* ---- 4. TESTIMONIAL (periwinkle band) ------------------------------------- */
.ma-toolkit .vc_row:has(.ma-hx-testi__person) { position: relative; isolation: isolate; background: var(--ma-purple) url(/fundraisingtoolkit/wp-content/uploads/2026/06/Quote-Marks-Cutoff.svg) no-repeat right clamp(40px,6vw,80px) bottom; background-size: clamp(96px,10vw,138px) auto; color: #fff; border-radius: var(--ma-radius); overflow: hidden; min-height: 168px; margin: 0 0 30px; }
.ma-toolkit .ma-hx-testi__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 46px; border: 0; background: transparent; cursor: pointer; z-index: 3; padding: 0; }
.ma-toolkit .ma-hx-testi__nav::before { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 11px; border: solid rgba(255,255,255,.92); border-width: 2.5px 2.5px 0 0; }
.ma-toolkit .ma-hx-testi__nav--prev { left: 8px; } .ma-toolkit .ma-hx-testi__nav--prev::before { transform: translate(-40%,-50%) rotate(-135deg); }
.ma-toolkit .ma-hx-testi__nav--next { right: 8px; } .ma-toolkit .ma-hx-testi__nav--next::before { transform: translate(-60%,-50%) rotate(45deg); }
.ma-toolkit .ma-hx-testi__nav:hover::before { border-color: #fff; }
.ma-toolkit .ma-hx-testi-anim { animation: ma-hx-testi-slide var(--ma-dur-base,260ms) var(--ma-ease-standard, ease); }
.ma-toolkit .ma-hx-testi-anim--rev { animation: ma-hx-testi-slide-rev var(--ma-dur-base,260ms) var(--ma-ease-standard, ease); }
@keyframes ma-hx-testi-slide { 0% { opacity: 0; transform: translateX(28px); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes ma-hx-testi-slide-rev { 0% { opacity: 0; transform: translateX(-28px); } 100% { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .ma-toolkit .ma-hx-testi-anim, .ma-toolkit .ma-hx-testi-anim--rev { animation: none; } }
.ma-toolkit .vc_row:has(.ma-hx-testi__person) > [class*="row_col_wrap"] { display: grid; grid-template-columns: 200px 1fr; align-items: center; gap: clamp(20px,3vw,52px); padding: 30px clamp(48px,6vw,84px); position: relative; z-index: 1; }
.ma-toolkit .ma-hx-testi__person > .vc_column-inner, .ma-toolkit .ma-hx-testi__body > .vc_column-inner { padding: 0 !important; }
.ma-toolkit .ma-hx-testi__person { text-align: center; }
.ma-toolkit .ma-hx-testi__avatar { width: 88px; height: 88px; border-radius: 50%; background: rgba(255,255,255,.35); margin: 0 auto 10px; overflow: hidden; }
.ma-toolkit .ma-hx-testi__person [class*="img-with-an"] { display: block; width: 88px; margin: 0 auto 10px; }
.ma-toolkit .ma-hx-testi__person .hover-wrap, .ma-toolkit .ma-hx-testi__person .hover-wrap-inner { width: 88px; height: 88px; border-radius: 50%; overflow: hidden; }
.ma-toolkit .ma-hx-testi__avatar-img { display: block; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.ma-toolkit .ma-hx-testi__who { display: block; font-family: var(--ma-font-sans); font-weight: 700; font-style: italic; font-size: 17px; line-height: 1.1; }
.ma-toolkit .ma-hx-testi__role { display: block; font-family: var(--ma-font-sans); font-style: italic; font-size: 13.5px; color: rgba(255,255,255,.82); margin-top: 4px; }
.ma-toolkit .ma-hx-testi__quote { font-family: var(--ma-font-sans); font-weight: 400; font-size: clamp(1rem,.92rem + .4vw,1.15rem); line-height: 1.5; max-width: 60ch; margin: 0; color: #fff; }
/* quote motif = Quote-Marks-Cutoff.svg background on the band (above); ::before/::after now the ‹ › nav */

/* ---- 5. START EXPLORING --------------------------------------------------- */
.ma-toolkit .ma-hx-explorehead > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.ma-toolkit .vc_row:has(.ma-hx-explorehead) { margin: 0 0 6px; }
.ma-toolkit .vc_row:has(.ma-hx-pillar) { margin: 0 0 6px; }
.ma-toolkit .vc_row:has(.ma-hx-pillar) > [class*="row_col_wrap"] { display: flex; flex-wrap: nowrap; gap: clamp(14px,2vw,22px); overflow-x: auto; scroll-snap-type: x proximity; padding: 4px 2px 18px; scrollbar-width: thin; scrollbar-color: #c7ccd8 #eceef3; }
.ma-toolkit .ma-hx-pillar { flex: 0 0 calc((100% - 2 * clamp(14px,2vw,22px)) / 3); scroll-snap-align: start; }
.ma-toolkit .vc_row:has(.ma-hx-pillar) > [class*="row_col_wrap"]::-webkit-scrollbar { height: 12px; }
.ma-toolkit .vc_row:has(.ma-hx-pillar) > [class*="row_col_wrap"]::-webkit-scrollbar-track { background: #eceef3; border-radius: 8px; }
.ma-toolkit .vc_row:has(.ma-hx-pillar) > [class*="row_col_wrap"]::-webkit-scrollbar-thumb { background: #c7ccd8; border-radius: 8px; }
.ma-toolkit .ma-hx-pillar > .vc_column-inner { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: clamp(18px,1.6vw,24px) !important; height: 100%; }
.ma-toolkit .ma-hx-pillar .wpb_wrapper { display: flex; flex-direction: column; gap: 13px; height: 100%; }
.ma-toolkit .ma-hx-pillar__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 1.15rem; line-height: 1.2; margin: 0; }
.ma-toolkit .ma-hx-pillar__media { position: relative; margin: 0; height: 190px; border-radius: 8px; overflow: hidden; font-size: 0; line-height: 0; }
.ma-toolkit .ma-hx-pillar__media::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--ma-crimson); z-index: 2; }
.ma-toolkit .ma-hx-pillar__img { display: block; width: 100% !important; height: 190px !important; object-fit: cover; }
/* Start Exploring pagination dots (injected by ma-chassis.js) */
.ma-toolkit .ma-hx-dots { display: flex; justify-content: center; gap: 8px; margin: 6px 0 0; }
.ma-toolkit .ma-hx-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 5px; background: #C2C5CE; cursor: pointer; transition: width var(--ma-dur-fast), background var(--ma-dur-fast); }
.ma-toolkit .ma-hx-dots button.is-active { width: 24px; background: var(--ma-navy); }
.ma-toolkit .ma-hx-pillar__desc { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 14.5px; line-height: 1.5; margin: 0; flex: 1 1 auto; }
.ma-toolkit .ma-hx-pillar__link { margin: 0; }
.ma-toolkit .ma-hx-pillar__link a { display: inline-flex; align-items: center; gap: 10px; color: var(--ma-crimson); font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; text-decoration: none; }
.ma-toolkit .ma-hx-pillar__link a::after { content: "\2192"; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--ma-crimson); color: #fff; font-size: 13px; font-weight: 700; line-height: 1; flex: none; transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-hx-pillar__link a:hover::after { transform: translateX(3px); }

/* ---- Responsive ----------------------------------------------------------- */
@media (max-width: 768px){
  .ma-toolkit .vc_row:has(.ma-hx-hero__text) > [class*="row_col_wrap"] { display: flex; flex-direction: column-reverse; gap: 0; min-height: 0; }
  .ma-toolkit .ma-hx-hero__text > .vc_column-inner { min-height: 0; }
  .ma-toolkit .ma-hx-hero__media { position: relative; align-self: stretch; min-height: 0; height: 220px; }
  .ma-toolkit .ma-hx-hero__img { -webkit-mask-image: none; mask-image: none; }
  .ma-toolkit .vc_row:has(.ma-hx-welcome__media) > [class*="row_col_wrap"] { grid-template-columns: 1fr; }
  .ma-toolkit .vc_row:has(.ma-hx-stat) > [class*="row_col_wrap"] { grid-template-columns: repeat(2,1fr); row-gap: 22px; }
  .ma-toolkit .vc_row:has(.ma-hx-advisor) > [class*="row_col_wrap"] { grid-template-columns: 1fr; }
  .ma-toolkit .vc_row:has(.ma-hx-testi__person) > [class*="row_col_wrap"] { grid-template-columns: 1fr; text-align: center; }
  .ma-toolkit .ma-hx-testi__quote { max-width: none; }
  .ma-toolkit .ma-hx-pillar { flex: 0 0 100%; }
}
@media (min-width: 481px) and (max-width: 1024px){
  .ma-toolkit .ma-hx-pillar { flex: 0 0 calc((100% - clamp(14px,2vw,22px)) / 2); }
}
@media (max-width: 480px){
  .ma-toolkit .vc_row:has(.ma-hx-stat) > [class*="row_col_wrap"] { grid-template-columns: 1fr 1fr; }
}
/* ============================================================
   MA HOME — native builder-editable (Recipe 24) — END
   ============================================================ */



/* Baked masthead wash (Recipe 25): pages with baked-in wash get NO CSS mask */
body.page-id-175 .ma-hx-hero__img,
body.page-id-1268 .ma-bybx-hero__media img,
body.page-id-830 .ma-pagehero__media img,
body.page-id-1264 .ma-pagehero__media img{-webkit-mask-image:none!important;mask-image:none!important}


/* BYB hub masthead fill: photo fills the band (image_with_animation height) */
body.page-id-1268 .ma-bybx-hero__media{align-self:stretch}
body.page-id-1268 .ma-bybx-hero__media>.vc_column-inner{height:100%}
body.page-id-1268 .ma-bybx-hero__media .wpb_wrapper,body.page-id-1268 .ma-bybx-hero__media [class*="img-with-an"],body.page-id-1268 .ma-bybx-hero__media .hover-wrap,body.page-id-1268 .ma-bybx-hero__media .hover-wrap-inner{height:100%}
body.page-id-1268 .ma-bybx-hero__img{height:100%!important;object-fit:cover}

/* ============================================================================
   DEALMAKING RESOURCES — hub (page 1265) — native WPBakery, Recipe 24
   New scoped components: .ma-dm-* (masthead text, IPG split card,
   Jargon split card, Deep Dives heading + navy mockup band).
   Build target: comp "04. Dealmaking and Resources_..._1" (A-Z of Fundraising.svg).
   Reuses tokens + the BYB .ma-bybx-/.ma-bybc- column patterns. Scoped under .ma-toolkit.
   Hook sections via :has() on the surviving COLUMN el_class (Salient strips row el_class).
   Append between the BYB block and the masthead/Recipe-27 block in ma-components.css.
   ============================================================================ */

/* ---- Masthead (text-only, per comp; no hero photo on this page) ------------- */
.ma-toolkit .ma-dm-head { margin: clamp(18px, 3vw, 36px) 0 26px; max-width: 64ch; }
.ma-toolkit .ma-dm-head .wpb_text_column { margin-bottom: 0; }
/* reuses .ma-pagehero__title / .ma-pagehero__intro element styles */

/* ---- Shared CTA / pill buttons (CSS-drawn circle-arrow; no inline SVG) ------ */
.ma-toolkit .ma-dm-btn { display: inline-flex; align-items: center; gap: 12px; padding: 8px 8px 8px 22px; border-radius: var(--ma-radius-pill); font-family: var(--ma-font-sans); font-weight: 600; font-size: 15px; line-height: 1.2; text-decoration: none; transition: transform var(--ma-dur-fast) var(--ma-ease-standard), background var(--ma-dur-fast); }
.ma-toolkit .ma-dm-btn__t { white-space: nowrap; }
.ma-toolkit .ma-dm-btn__c { flex: none; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; line-height: 1; }
.ma-toolkit .ma-dm-btn--navy { background: var(--ma-navy); color: #fff; }
.ma-toolkit .ma-dm-btn--navy .ma-dm-btn__c { background: var(--ma-crimson); color: #fff; }
.ma-toolkit .ma-dm-btn--navy:hover { background: var(--ma-navy-085, #1b234f); transform: translateY(-1px); }
.ma-toolkit .ma-dm-btn--crimson { background: var(--ma-crimson); color: #fff; }
.ma-toolkit .ma-dm-btn--crimson .ma-dm-btn__c { background: #fff; color: var(--ma-crimson); }
.ma-toolkit .ma-dm-btn--crimson:hover { background: var(--ma-crimson-085, #c01a30); transform: translateY(-1px); }
.ma-toolkit .ma-dm-btn:hover .ma-dm-btn__c { transform: translateX(2px); }
.ma-toolkit .ma-dm-btn:focus-visible { outline: 3px solid var(--ma-navy); outline-offset: 2px; }
.ma-toolkit .ma-dm-btn--crimson:focus-visible { outline-color: var(--ma-navy); }

/* ============================================================================
   IPG feature card (white, split: text left + photo right, overlapping CTA)
   ============================================================================ */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-dm-ipg__text) {
  display: flex !important; align-items: stretch; gap: 0;
  background: #fff; border: 1px solid var(--ma-rule); border-radius: clamp(16px, 2vw, 24px); overflow: hidden;
  margin: 0 0 22px;
}
.ma-toolkit .ma-dm-ipg__text, .ma-toolkit .ma-dm-ipg__media { width: auto !important; }
.ma-toolkit .ma-dm-ipg__text { flex: 1 1 46%; padding: clamp(24px, 3vw, 40px) !important; }
.ma-toolkit .ma-dm-ipg__text .vc_column-inner { padding: 0 !important; }
.ma-toolkit .ma-dm-ipg__text .wpb_wrapper { display: flex; flex-direction: column; gap: 18px; height: 100%; justify-content: center; }
.ma-toolkit .ma-dm-ipg__text .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-dm-ipg__logo img { width: clamp(140px, 14vw, 168px); height: auto; }
/* timeline rail beside the title + lead */
.ma-toolkit .ma-dm-ipg__rail { position: relative; padding-left: 28px; }
.ma-toolkit .ma-dm-ipg__rail::before { content: ""; position: absolute; left: 4px; top: 4px; bottom: 11px; width: 2px; background: var(--ma-navy); }
.ma-toolkit .ma-dm-ipg__rail::after { content: ""; position: absolute; left: 0; bottom: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--ma-navy); }
.ma-toolkit .ma-dm-ipg__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(23px, 2.6vw, 32px); line-height: 1.14; margin: 0 0 14px; padding: 0; }
.ma-toolkit .ma-dm-ipg__title em { font-family: var(--ma-font-display) !important; font-style: italic; color: var(--ma-crimson); }
.ma-toolkit .ma-dm-ipg__lead { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 15px; line-height: 1.55; margin: 0; padding: 0; }
.ma-toolkit .ma-dm-ipg__lead strong { font-weight: 700; color: var(--ma-navy); }
/* media (photo fills the right; Salient hover-wrap inset fix) */
.ma-toolkit .ma-dm-ipg__media { flex: 1 1 54%; position: relative; min-height: 340px; padding: 0 !important; }
.ma-toolkit .ma-dm-ipg__media .vc_column-inner, .ma-toolkit .ma-dm-ipg__media .wpb_wrapper { padding: 0 !important; height: 100%; }
.ma-toolkit .ma-dm-ipg__media .hover-wrap { position: absolute; inset: 0; margin: 0; }
.ma-toolkit .ma-dm-ipg__media .hover-wrap, .ma-toolkit .ma-dm-ipg__media .hover-wrap-inner { width: 100% !important; height: 100%; left: 0 !important; right: 0 !important; }
.ma-toolkit .ma-dm-ipg__img { position: absolute; inset: 0; width: 100% !important; height: 100%; object-fit: cover; max-width: none; border-radius: 0; }
/* overlapping CTA pill (white) on the photo's left edge */
.ma-toolkit .ma-dm-ipg__ctawrap { position: absolute; top: auto; bottom: 30px; left: 0; transform: translateX(-22px); z-index: 3; margin: 0; }
.ma-toolkit .ma-dm-ipg__ctawrap .wpb_wrapper { margin: 0; }
.ma-toolkit .ma-dm-cta--white { display: inline-flex; align-items: center; gap: 14px; background: #fff; color: var(--ma-navy); border-radius: var(--ma-radius-pill); padding: 8px 22px 8px 8px; box-shadow: 0 6px 20px rgba(35,44,101,.18); font-family: var(--ma-font-sans); font-weight: 700; font-size: 14px; text-decoration: none; transition: box-shadow var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-dm-cta--white .ma-dm-cta__c { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--ma-crimson); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 19px; line-height: 1; }
.ma-toolkit .ma-dm-cta--white:hover { box-shadow: 0 10px 28px rgba(35,44,101,.28); }

/* ============================================================================
   Jargon Buster card (white, split: photo left + text right)
   ============================================================================ */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-dm-jargon__media) {
  display: flex !important; align-items: center; gap: clamp(18px, 2.4vw, 34px);
  background: #fff; border: 1px solid var(--ma-rule); border-radius: clamp(16px, 2vw, 24px);
  padding: clamp(16px, 2vw, 24px); margin: 0 0 26px;
}
.ma-toolkit .ma-dm-jargon__media, .ma-toolkit .ma-dm-jargon__text { width: auto !important; padding: 0 !important; }
.ma-toolkit .ma-dm-jargon__media { flex: 0 0 34%; }
.ma-toolkit .ma-dm-jargon__media .vc_column-inner, .ma-toolkit .ma-dm-jargon__media .wpb_wrapper { padding: 0 !important; }
.ma-toolkit .ma-dm-jargon__img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.ma-toolkit .ma-dm-jargon__text { flex: 1 1 auto; }
.ma-toolkit .ma-dm-jargon__text .vc_column-inner, .ma-toolkit .ma-dm-jargon__text .wpb_wrapper { padding: 0 !important; }
.ma-toolkit .ma-dm-jargon__text .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-dm-jargon__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-crimson); font-size: clamp(22px, 2.3vw, 28px); line-height: 1.15; margin: 0 0 10px; padding: 0; }
.ma-toolkit .ma-dm-jargon__lead { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 16px; line-height: 1.55; margin: 0 0 18px; padding: 0; max-width: 46ch; }

/* ============================================================================
   Deep Dives — heading row (intro + crimson CTA) + navy mockup band
   ============================================================================ */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-dm-dd__intro) { display: flex !important; align-items: center; gap: 24px; margin: 4px 0 2px; }
.ma-toolkit .ma-dm-dd__intro, .ma-toolkit .ma-dm-dd__ctacol { width: auto !important; padding: 0 !important; }
.ma-toolkit .ma-dm-dd__intro { flex: 1 1 auto; }
.ma-toolkit .ma-dm-dd__intro .vc_column-inner, .ma-toolkit .ma-dm-dd__intro .wpb_wrapper,
.ma-toolkit .ma-dm-dd__ctacol .vc_column-inner, .ma-toolkit .ma-dm-dd__ctacol .wpb_wrapper { padding: 0 !important; }
.ma-toolkit .ma-dm-dd__intro .wpb_text_column, .ma-toolkit .ma-dm-dd__ctacol .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-dm-dd__ctacol { flex: none; margin-top: 26px; }
.ma-toolkit .ma-dm-dd__title { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; margin: 0 0 8px; padding: 0; }
.ma-toolkit .ma-dm-dd__lead { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 15.5px; line-height: 1.5; margin: 0; padding: 0; max-width: 60ch; }

/* Deep Dives: ONE baked covers image (navy band baked in) — no CSS treatment, per baked-artwork rule */
.ma-toolkit .ma-dm-ddband { width: auto !important; margin: -16px 0 8px; padding: 0 !important; background: transparent; }
.ma-toolkit .ma-dm-ddband .vc_column-inner, .ma-toolkit .ma-dm-ddband .wpb_wrapper { padding: 0 !important; }
.ma-toolkit .ma-dm-ddband .img-with-aniamtion-wrap, .ma-toolkit .ma-dm-ddband .hover-wrap, .ma-toolkit .ma-dm-ddband .hover-wrap-inner { width: 100% !important; max-width: none !important; height: auto !important; margin: 0 !important; }
.ma-toolkit .ma-dm-ddband__img { display: block; width: 100% !important; height: auto !important; max-width: none; border-radius: 0; }

/* ---- Responsive ------------------------------------------------------------ */
@media (max-width: 1024px) {
  .ma-toolkit .ma-dm-ipg__text { flex-basis: 50%; }
}
@media (max-width: 768px) {
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-dm-ipg__text) { flex-direction: column; }
  .ma-toolkit .ma-dm-ipg__text, .ma-toolkit .ma-dm-ipg__media { flex-basis: auto; width: 100% !important; }
  .ma-toolkit .ma-dm-ipg__media { min-height: 230px; }
  .ma-toolkit .ma-dm-ipg__ctawrap { position: static; transform: none; margin: -28px 0 0 16px; }
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-dm-jargon__media) { flex-direction: column; align-items: stretch; }
  .ma-toolkit .ma-dm-jargon__media, .ma-toolkit .ma-dm-jargon__text { flex-basis: auto; width: 100% !important; }
  .ma-toolkit .ma-dm-jargon__img { aspect-ratio: 16 / 9; }
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-dm-dd__intro) { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* ============================================================================
   INVESTMENT PROCESS GUIDE (page 1266) - native WPBakery, Recipe 24
   New scoped components: .ma-ipg-* (text masthead, hero split card,
   Deep Dive eyebrow, native <details> accordion with motif icons + toggles).
   Build target: comp "04. Dealmaking and Resources" IPG artboard (A-Z of Fundraising copy.svg).
   Reuses .ma-dm-btn--crimson + .ma-pagehero__title + tokens. Scoped under .ma-toolkit.
   Hook sections via :has() on the surviving COLUMN el_class. Append before the masthead block.
   ============================================================================ */

/* ---- Masthead (text-only, per comp) ---------------------------------------- */
.ma-toolkit .ma-ipg-head { margin: clamp(18px, 3vw, 36px) 0 22px; }
.ma-toolkit .ma-ipg-head .wpb_text_column { margin-bottom: 0; }

/* ---- Hero split card (photo left + intro/CTAs right) ----------------------- */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-ipg-hero__media) {
  display: flex !important; align-items: stretch; gap: 0;
  background: #fff; border: 1px solid var(--ma-rule); border-radius: clamp(16px, 2vw, 24px); overflow: hidden;
  margin: 0 0 30px;
}
.ma-toolkit .ma-ipg-hero__media, .ma-toolkit .ma-ipg-hero__text { width: auto !important; padding: 0 !important; }
.ma-toolkit .ma-ipg-hero__media { flex: 1 1 48%; position: relative; min-height: 340px; }
.ma-toolkit .ma-ipg-hero__media .vc_column-inner, .ma-toolkit .ma-ipg-hero__media .wpb_wrapper { padding: 0 !important; height: 100%; }
.ma-toolkit .ma-ipg-hero__media .hover-wrap { position: absolute; inset: 0; margin: 0; }
.ma-toolkit .ma-ipg-hero__media .hover-wrap, .ma-toolkit .ma-ipg-hero__media .hover-wrap-inner { width: 100% !important; height: 100%; left: 0 !important; right: 0 !important; }
.ma-toolkit .ma-ipg-hero__img { position: absolute; inset: 0; width: 100% !important; height: 100%; object-fit: cover; max-width: none; border-radius: 0; }
.ma-toolkit .ma-ipg-hero__text { flex: 1 1 52%; padding: clamp(24px, 3vw, 44px) !important; }
.ma-toolkit .ma-ipg-hero__text .vc_column-inner { padding: 0 !important; }
.ma-toolkit .ma-ipg-hero__text .wpb_wrapper { display: flex; flex-direction: column; gap: 16px; height: 100%; justify-content: center; }
.ma-toolkit .ma-ipg-hero__text .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-ipg-hero__lead { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(16px, 1.5vw, 18px); line-height: 1.5; margin: 0; padding: 0; }
.ma-toolkit .ma-ipg-hero__lead strong { color: var(--ma-crimson); }
.ma-toolkit .ma-ipg-hero__desc { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 15px; line-height: 1.6; margin: 0; padding: 0; }
.ma-toolkit .ma-ipg-hero__cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 4px; }
/* ghost "Watch video guide" (inert until a YouTube id is wired) */
.ma-toolkit .ma-ipg-watch { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-family: var(--ma-font-sans); font-weight: 600; font-size: 15px; color: var(--ma-navy); }
.ma-toolkit .ma-ipg-watch__play { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ma-crimson); position: relative; box-shadow: 0 4px 14px rgba(222,30,56,.28); }
.ma-toolkit .ma-ipg-watch__play::before { content: ""; position: absolute; top: 50%; left: 53%; transform: translate(-50%, -50%); width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent #fff; }
.ma-toolkit .ma-ipg-watch:hover .ma-ipg-watch__play { background: var(--ma-crimson-085, #c01a30); }

/* ---- "Deep Dive" eyebrow pill ---------------------------------------------- */
.ma-toolkit .ma-ipg-eyebrowrow .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-ipg-eyebrow { display: inline-flex; align-items: center; gap: 10px; background: #e9ebf1; border-radius: var(--ma-radius-pill); padding: 9px 20px; font-family: var(--ma-font-sans); font-weight: 700; font-size: 14px; color: var(--ma-navy); margin: 0 0 14px; }
.ma-toolkit .ma-ipg-eyebrow__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--ma-crimson); }

/* ---- Accordion (native <details>; motif via CSS bg, toggle via CSS) -------- */
.ma-toolkit .ma-ipg-acccol .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-ipg-acc { border-bottom: 1px solid var(--ma-rule); }
.ma-toolkit .ma-ipg-acc:first-of-type { border-top: 1px solid var(--ma-rule); }
.ma-toolkit .ma-ipg-acc__sum { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 18px; padding: 22px 4px; }
.ma-toolkit .ma-ipg-acc__sum::-webkit-details-marker { display: none; }
.ma-toolkit .ma-ipg-acc__sum:hover { background: rgba(35,44,101,.025); }
.ma-toolkit .ma-ipg-acc__icon { flex: none; width: 46px; height: 46px; background-position: center; background-repeat: no-repeat; background-size: contain; }
.ma-toolkit .ma-ipg-acc__title { flex: 1 1 auto; font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.25; }
.ma-toolkit .ma-ipg-acc__tog { flex: none; position: relative; width: 34px; height: 34px; border-radius: 50%; background: var(--ma-navy); transition: background var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-ipg-acc__tog::before { content: ""; position: absolute; left: 50%; top: 46%; width: 8px; height: 8px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translate(-50%, -50%) rotate(45deg); } /* chevron down (closed) */
.ma-toolkit .ma-ipg-acc[open] .ma-ipg-acc__tog { background: var(--ma-crimson); }
.ma-toolkit .ma-ipg-acc[open] .ma-ipg-acc__tog::before { top: 54%; transform: translate(-50%, -50%) rotate(-135deg); } /* chevron up (open) */
.ma-toolkit .ma-ipg-acc__body { padding: 0 4px 24px 64px; }
.ma-toolkit .ma-ipg-acc__body ul { margin: 0; padding: 0 0 0 18px; list-style: disc; }
.ma-toolkit .ma-ipg-acc__body li { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 15px; line-height: 1.6; margin: 0 0 10px; padding: 0; }
.ma-toolkit .ma-ipg-acc__body li:last-child { margin-bottom: 0; }
.ma-toolkit .ma-ipg-acc__body li::marker { color: var(--ma-crimson); }

/* motif icons (external SVG by URL is WAF-safe in the stylesheet) */
.ma-toolkit .ma-ipg-acc--overview    .ma-ipg-acc__icon { background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/ma-motif-deals-overview.svg"); }
.ma-toolkit .ma-ipg-acc--preparation .ma-ipg-acc__icon { background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/ma-motif-deals-preparation.svg"); }
.ma-toolkit .ma-ipg-acc--engaging    .ma-ipg-acc__icon { background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/ma-motif-deals-engaging-investors.svg"); }
.ma-toolkit .ma-ipg-acc--offers      .ma-ipg-acc__icon { background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/ma-motif-deals-offers-negotiation.svg"); }
.ma-toolkit .ma-ipg-acc--closing     .ma-ipg-acc__icon { background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/ma-motif-deals-closing.svg"); }

/* ---- Responsive ------------------------------------------------------------ */
@media (max-width: 768px) {
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-ipg-hero__media) { flex-direction: column; }
  .ma-toolkit .ma-ipg-hero__media, .ma-toolkit .ma-ipg-hero__text { flex-basis: auto; width: 100% !important; }
  .ma-toolkit .ma-ipg-hero__media { min-height: 230px; }
  .ma-toolkit .ma-ipg-acc__body { padding-left: 18px; }
  .ma-toolkit .ma-ipg-acc__icon { width: 38px; height: 38px; }
}

/* ============================================================================
   DEALMAKING DEEP DIVES (page 1267) - native WPBakery, Recipe 24
   New scoped components: .ma-ddx-* (intro, category jump-nav, category headings,
   card grid of 3D mockup covers + crimson circle-arrow links + watch link).
   Build target: comp "04. Dealmaking and Resources" Deep Dives artboard.
   Category colours keyed off the surviving row el_id (#dd-deal/#dd-impact/#dd-other).
   Card grid via :has() on the COLUMN class. Scoped under .ma-toolkit. Append before masthead block.
   ============================================================================ */

/* ---- Intro ----------------------------------------------------------------- */
.ma-toolkit .ma-ddx-intro { margin: clamp(18px, 3vw, 34px) 0 22px; }
.ma-toolkit .ma-ddx-intro .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-ddx-eyebrow { display: inline-flex; align-items: center; gap: 10px; background: #e9ebf1; border-radius: var(--ma-radius-pill); padding: 9px 20px; font-family: var(--ma-font-sans); font-weight: 700; font-size: 14px; color: var(--ma-navy); margin: 0 0 16px; }
.ma-toolkit .ma-ddx-eyebrow__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--ma-crimson); }
.ma-toolkit .ma-ddx-lead { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(20px, 2.2vw, 27px); line-height: 1.25; margin: 0 0 10px; padding: 0; max-width: 46ch; }
.ma-toolkit .ma-ddx-sub { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 16px; line-height: 1.6; margin: 0; padding: 0; max-width: 60ch; }

/* ---- Category jump-nav (horizontal pills) ---------------------------------- */
.ma-toolkit .ma-ddx-navrow .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-ddx-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 26px; }
.ma-toolkit .ma-ddx-nav__label { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 14px; margin-right: 4px; }
.ma-toolkit .ma-ddx-nav__pill { display: inline-flex; align-items: center; text-decoration: none; font-family: var(--ma-font-sans); font-weight: 600; font-size: 14px; padding: 8px 18px; border-radius: var(--ma-radius-pill); transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-ddx-nav__pill:hover { transform: translateY(-1px); }
.ma-toolkit .ma-ddx-nav__pill--deal { background: var(--ma-crimson); color: #fff; }
.ma-toolkit .ma-ddx-nav__pill--impact { background: var(--ma-navy); color: #fff; }
.ma-toolkit .ma-ddx-nav__pill--other { background: #e3e5ec; color: var(--ma-navy); }

/* ---- Category headings (colour keyed off row el_id) ------------------------ */
.ma-toolkit .ma-ddx-cathead .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-ddx-cathead__t { font-family: var(--ma-font-sans); font-weight: 700; font-size: clamp(20px, 2.1vw, 26px); line-height: 1.2; margin: 18px 0 4px; padding: 0 0 14px; border-bottom: 1px solid var(--ma-rule); scroll-margin-top: 100px; }
.ma-toolkit .ma-ddx-cathead__t--deal { color: var(--ma-crimson); }
.ma-toolkit .ma-ddx-cathead__t--impact { color: var(--ma-navy); }
.ma-toolkit .ma-ddx-cathead__t--other { color: #8A8FAB; }

/* ---- Card grid (cards = columns; grid hooked on the column class) ---------- */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-ddx-card) { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: clamp(20px, 2.4vw, 34px); margin: 0 0 14px; }
.ma-toolkit .ma-ddx-card { width: auto !important; padding: 0 !important; }
.ma-toolkit .ma-ddx-card > .vc_column-inner { padding: 0 !important; }
.ma-toolkit .ma-ddx-card > .vc_column-inner > .wpb_wrapper { display: flex; flex-direction: column; }
/* cover (3D mockup, normal flow, portrait ratio kept) */
.ma-toolkit .ma-ddx-card .img-with-aniamtion-wrap, .ma-toolkit .ma-ddx-card .hover-wrap, .ma-toolkit .ma-ddx-card .hover-wrap-inner { width: 100% !important; max-width: none !important; height: auto !important; margin: 0 !important; }
.ma-toolkit .ma-ddx-card__cover { display: block; width: 100% !important; height: auto !important; max-width: none; border-radius: 12px; }
.ma-toolkit .ma-ddx-card .wpb_text_column { margin: 16px 0 0; }
/* title + crimson circle-arrow (arrow sits above the title, per comp) */
.ma-toolkit .ma-ddx-card__title { margin: 0 0 8px; padding: 0; font-size: 0; }
.ma-toolkit .ma-ddx-card__title a { display: block; text-decoration: none; font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: 16px; line-height: 1.3; }
.ma-toolkit .ma-ddx-card__title a:hover { color: var(--ma-crimson); }
.ma-toolkit .ma-ddx-card__arrow { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ma-crimson); color: #fff; font-size: 15px; line-height: 1; margin: 0 0 12px; }
.ma-toolkit .ma-ddx-card__desc { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 14px; line-height: 1.55; margin: 0; padding: 0; }
/* "Watch the panel discussion" secondary link */
.ma-toolkit .ma-ddx-card__watch { display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; text-decoration: none; font-family: var(--ma-font-sans); font-weight: 600; font-size: 13.5px; color: var(--ma-crimson); }
.ma-toolkit .ma-ddx-card__play { flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--ma-crimson); position: relative; }
.ma-toolkit .ma-ddx-card__play::before { content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 7px; border-color: transparent transparent transparent #fff; }

/* ---- Responsive ------------------------------------------------------------ */
@media (max-width: 680px) {
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-ddx-card) { grid-template-columns: 1fr; }
}

/* ============================================================================
   TEMPLATES & RESOURCES hub (page 1219) - native WPBakery, Recipe 24
   .ma-tpl-* : split hero (baked wash photo), LEFT side-column (Templates pill +
   heading + legal caveat) beside a STAGGERED 6-tile bento (washed photos).
   Build target: comp "06. Templates and resources_..._1".
   One flat CSS grid (side col1 spans rows; tiles placed col2-4 with staggered rows)
   so NO nested builder rows. Scoped under .ma-toolkit; hook via :has() on column.
   ============================================================================ */

/* ---- Split hero (text left + baked wash photo right) ----------------------- */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-tpl-hero__text) { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: stretch; gap: clamp(20px, 3vw, 44px); margin: 0 0 30px; min-height: clamp(300px, 30vw, 360px); }
.ma-toolkit .ma-tpl-hero__text, .ma-toolkit .ma-tpl-hero__media { width: auto !important; padding: 0 !important; }
.ma-toolkit .ma-tpl-hero__text { display: flex; flex-direction: column; justify-content: center; }
.ma-toolkit .ma-tpl-hero__text .vc_column-inner, .ma-toolkit .ma-tpl-hero__text .wpb_wrapper { padding: 0 !important; }
.ma-toolkit .ma-tpl-hero__text .wpb_text_column { margin-bottom: 0; }
.ma-toolkit .ma-tpl-h1 { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: var(--ma-h1); line-height: 1.12; margin: 0 0 14px; padding: 0; }
.ma-toolkit .ma-tpl-introtext { font-family: var(--ma-font-sans); color: var(--ma-ink); font-size: 1.0625rem; line-height: 1.55; margin: 0; padding: 0; max-width: 52ch; }
.ma-toolkit .ma-tpl-hero__media { position: relative; align-self: stretch; min-height: clamp(300px, 30vw, 360px); }
.ma-toolkit .ma-tpl-hero__media .vc_column-inner, .ma-toolkit .ma-tpl-hero__media .wpb_wrapper { padding: 0 !important; height: 100%; }
.ma-toolkit .ma-tpl-hero__media .img-with-aniamtion-wrap, .ma-toolkit .ma-tpl-hero__media .hover-wrap, .ma-toolkit .ma-tpl-hero__media .hover-wrap-inner { position: absolute; inset: 0; width: 100% !important; max-width: none !important; height: 100%; }
.ma-toolkit .ma-tpl-hero__img { position: absolute; inset: 0; width: 100% !important; height: 100%; object-fit: cover; object-position: center; max-width: none; border-radius: 0; }

/* ---- Side column + staggered bento (ONE grid) ------------------------------ */
.ma-toolkit [class*="row_col_wrap"]:has(> .ma-tpl-side) { display: grid !important; grid-template-columns: minmax(186px, 0.82fr) 1fr 1fr 1fr; grid-template-rows: repeat(12, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 22px); min-height: clamp(440px, 42vw, 564px); margin: 0 0 16px; }
/* side column */
.ma-toolkit .ma-tpl-side { grid-column: 1; grid-row: 1 / 13; width: auto !important; padding: 0 !important; display: flex; flex-direction: column; }
/* full-height flex chain so the rule + caveat pin to the true base of the lower tiles */
.ma-toolkit .ma-tpl-side > .vc_column-inner { padding: 0 !important; flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.ma-toolkit .ma-tpl-side > .vc_column-inner > .wpb_wrapper { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.ma-toolkit .ma-tpl-side .wpb_text_column { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; margin: 0; }
.ma-toolkit .ma-tpl-side .wpb_text_column > .wpb_wrapper { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.ma-toolkit .ma-tpl-eyebrow { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; background: #e9ebf1; border-radius: var(--ma-radius-pill); padding: 9px 20px; font-family: var(--ma-font-sans); font-weight: 700; font-size: 14px; color: var(--ma-navy); margin: 0 0 18px; }
.ma-toolkit .ma-tpl-eyebrow__dot { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--ma-crimson); }
.ma-toolkit .ma-tpl-sidehead { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(19px, 1.9vw, 25px); line-height: 1.28; margin: 0; padding: 0; }
.ma-toolkit .ma-tpl-siderule { border: 0; border-top: 1px solid var(--ma-rule); width: 64px; margin: auto 0 16px; }
.ma-toolkit .ma-tpl-caveat { font-family: var(--ma-font-sans); font-style: italic; color: #5C6270; font-size: 13px; line-height: 1.5; margin: 0; padding: 0; }

/* tiles (base) */
.ma-toolkit .ma-tpl-tile { width: auto !important; padding: 0 !important; position: relative; border-radius: var(--ma-radius); overflow: hidden; isolation: isolate; }
.ma-toolkit .ma-tpl-tile > .vc_column-inner, .ma-toolkit .ma-tpl-tile > .vc_column-inner > .wpb_wrapper { padding: 0 !important; height: 100%; }
.ma-toolkit .ma-tpl-tile .img-with-aniamtion-wrap, .ma-toolkit .ma-tpl-tile .hover-wrap, .ma-toolkit .ma-tpl-tile .hover-wrap-inner { position: absolute; inset: 0; width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; }
.ma-toolkit .ma-tpl-tile__img { position: absolute; inset: 0; width: 100% !important; height: 100%; object-fit: cover; max-width: none; border-radius: 0; }
.ma-toolkit .ma-tpl-tile .wpb_text_column { margin: 0; height: 100%; }
.ma-toolkit .ma-tpl-tile__link { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; text-decoration: none; }
.ma-toolkit .ma-tpl-tile__title { position: relative; z-index: 1; color: #fff; font-family: var(--ma-font-sans); font-weight: 700; font-size: clamp(18px, 1.7vw, 22px); line-height: 1.18; max-width: 74%; text-shadow: 0 1px 8px rgba(0,0,0,.28); }
/* arrow = supplied colour SVG (each is a complete disc+arrow icon, 30.93 square);
   default is the white-disc/navy-arrow; entity glyph hidden via font-size:0 */
.ma-toolkit .ma-tpl-tile__arrow { position: absolute; right: 18px; bottom: 18px; z-index: 1; width: 40px; height: 40px; background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/White-arrow.svg"); background-position: center; background-repeat: no-repeat; background-size: contain; font-size: 0; line-height: 0; transition: transform var(--ma-dur-fast) var(--ma-ease-standard); }
.ma-toolkit .ma-tpl-tile:hover .ma-tpl-tile__arrow { transform: translateX(3px); }
.ma-toolkit .ma-tpl-tile:focus-within { outline: 3px solid var(--ma-crimson); outline-offset: 3px; }

/* staggered placement (col2: tall+short, col3: short+tall, col4: tall+short) */
.ma-toolkit .ma-tpl-tile--training   { grid-column: 2; grid-row: 1 / 8; }
.ma-toolkit .ma-tpl-tile--financial  { grid-column: 3; grid-row: 1 / 6; }
.ma-toolkit .ma-tpl-tile--agreement  { grid-column: 4; grid-row: 1 / 8; }
.ma-toolkit .ma-tpl-tile--postmerger { grid-column: 2; grid-row: 8 / 13; }
.ma-toolkit .ma-tpl-tile--deal       { grid-column: 3; grid-row: 6 / 13; }
.ma-toolkit .ma-tpl-tile--esg        { grid-column: 4; grid-row: 8 / 13; }

/* gradients are BAKED into the tile images (1439-1444) - no CSS wash over baked artwork */
/* light tile gets a stroke so it reads against the grey page */
.ma-toolkit .ma-tpl-tile--agreement { border: 1px solid var(--ma-rule); }

/* ---- Per-tile text position, title colour & arrow (per the baked gradient) --- */
/* text UP (title pinned to the top of the tile) */
.ma-toolkit .ma-tpl-tile--training .ma-tpl-tile__link,
.ma-toolkit .ma-tpl-tile--agreement .ma-tpl-tile__link,
.ma-toolkit .ma-tpl-tile--deal .ma-tpl-tile__link { justify-content: flex-start; }
/* text DOWN (financial, postmerger, esg) keep the base justify-content: flex-end */

/* navy title where the baked wash is light behind the text */
.ma-toolkit .ma-tpl-tile--financial .ma-tpl-tile__title,
.ma-toolkit .ma-tpl-tile--agreement .ma-tpl-tile__title,
.ma-toolkit .ma-tpl-tile--postmerger .ma-tpl-tile__title,
.ma-toolkit .ma-tpl-tile--esg .ma-tpl-tile__title { color: var(--ma-navy); text-shadow: none; }

/* arrow colour (White-arrow is the default; override the two that differ) */
.ma-toolkit .ma-tpl-tile--financial .ma-tpl-tile__arrow { background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/Blue-Arrow.svg"); }
.ma-toolkit .ma-tpl-tile--postmerger .ma-tpl-tile__arrow { background-image: url("/fundraisingtoolkit/wp-content/uploads/2026/06/Red-Arrow.svg"); }

/* ---- Responsive ------------------------------------------------------------ */
@media (max-width: 900px) {
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-tpl-hero__text) { grid-template-columns: 1fr; min-height: 0; }
  .ma-toolkit .ma-tpl-hero__text, .ma-toolkit .ma-tpl-hero__media { width: 100% !important; }
  .ma-toolkit .ma-tpl-hero__media { min-height: 220px; }
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-tpl-side) { grid-template-columns: 1fr 1fr; grid-template-rows: auto; min-height: 0; }
  .ma-toolkit .ma-tpl-side { grid-column: 1 / 3; grid-row: auto; margin-bottom: 6px; }
  .ma-toolkit .ma-tpl-siderule { margin: 14px 0; }
  .ma-toolkit .ma-tpl-tile { grid-column: auto !important; grid-row: auto !important; aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
  .ma-toolkit [class*="row_col_wrap"]:has(> .ma-tpl-side) { grid-template-columns: 1fr; }
  .ma-toolkit .ma-tpl-side { grid-column: 1; }
}


/* ============================================================================
   TEMPLATES & RESOURCES - category page comp match
   Eyebrow pill, white content panel, sub-category groups + icons, accordion
   icons, comp card arrow. Pairs with the [ma_resource_category] shortcode on
   the native (page-ma-toolkit) category pages. Scoped under .ma-toolkit.
   ============================================================================ */
.ma-toolkit .ma-rescat-eyebrow { display: inline-flex; align-items: center; gap: 10px; background: #e9ebf1; border-radius: var(--ma-radius-pill); padding: 9px 20px; font-family: var(--ma-font-sans); font-weight: 700; font-size: 14px; color: var(--ma-navy); margin: 25px 0 16px; }
.ma-toolkit .ma-rescat-eyebrow__dot { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--ma-crimson); }

/* white content panel (grid pages; accordion keeps its own .ma-acc box) */
.ma-toolkit .ma-rescat-panel { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: clamp(20px, 2.4vw, 34px); }

/* sub-category group: heading (icon + name + rule) then card grid */
.ma-toolkit .ma-rescat-grp + .ma-rescat-grp { margin-top: clamp(24px, 2.8vw, 40px); }
.ma-toolkit .ma-rescat-grp__head { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid var(--ma-panel-line, var(--ma-rule)); font-family: var(--ma-font-sans); font-weight: 700; font-size: clamp(19px, 2vw, 25px); line-height: 1.2; color: var(--ma-navy); }
.ma-toolkit .ma-rescat-grp__icon { flex: none; width: 51px; height: 51px; object-fit: contain; }
.ma-toolkit .ma-rescat-grp__t { flex: 1 1 auto; }

/* accordion rows get the sub-category icon on the left */
.ma-toolkit .ma-rescat-acc .ma-acc__head .ma-rescat-grp__icon { width: 37px; height: 37px; margin-right: 2px; }

/* card access arrow -> comp (crimson circle, white glyph, points right) */
.ma-toolkit .ma-rcard__arrow { background: var(--ma-crimson); color: #fff; }
.ma-toolkit .ma-rcard__access:hover .ma-rcard__arrow { background: var(--ma-navy); transform: translateX(3px); }

@media (max-width: 600px) {
  .ma-toolkit .ma-rescat-grp__head { font-size: 18px; gap: 10px; }
  .ma-toolkit .ma-rescat-grp__icon { width: 42px; height: 42px; }
  .ma-toolkit .ma-rescat-acc .ma-acc__head .ma-rescat-grp__icon { width: 33px; height: 33px; }
}


/* ============================================================
   CONTACT — page 1227 (native WPBakery, Recipe 24/27/29)
   Masthead = baked-wash photo fills the band, NO CSS mask.
   Form = [ma_contact_form] in the shared .ma-formcard, widened to comp.
   ============================================================ */
.ma-toolkit .vc_row:has(.ma-cx-hero__text){position:relative;background:var(--ma-panel);margin:0 0 30px;}
.ma-toolkit .vc_row:has(.ma-cx-hero__text) > [class*="row_col_wrap"]{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;column-gap:clamp(20px,3vw,44px);row-gap:0;min-height:340px;}
.ma-toolkit .ma-cx-hero__text,.ma-toolkit .ma-cx-hero__media{width:auto !important;padding:0 !important;}
.ma-toolkit .ma-cx-hero__text{position:relative;z-index:1;}
.ma-toolkit .ma-cx-hero__text > .vc_column-inner{padding:clamp(28px,4vw,56px) !important;}
.ma-toolkit .ma-cx-hero__text .wpb_text_column{margin-bottom:0;}
.ma-toolkit .ma-cx-hero__title{font-family:var(--ma-font-sans) !important;font-weight:700;color:var(--ma-navy);font-size:var(--ma-h1);line-height:1.08;margin:0 0 14px;}
.ma-toolkit .ma-cx-hero__title .c{color:var(--ma-crimson);}
.ma-toolkit .ma-cx-hero__intro{font-family:var(--ma-font-sans);color:var(--ma-ink);font-size:1.0625rem;line-height:1.55;margin:0;max-width:52ch;}
.ma-toolkit .ma-cx-hero__media{position:relative;align-self:stretch;min-height:340px;}
.ma-toolkit .ma-cx-hero__media > .vc_column-inner{padding:0 !important;position:static;height:100%;}
.ma-toolkit .ma-cx-hero__media .wpb_wrapper,.ma-toolkit .ma-cx-hero__media [class*="img-with-an"],.ma-toolkit .ma-cx-hero__media .hover-wrap,.ma-toolkit .ma-cx-hero__media .hover-wrap-inner{position:static;height:100%;width:100%;}
.ma-toolkit .ma-cx-hero__media p{margin:0;height:100%;}
.ma-toolkit .ma-cx-hero__img{position:absolute !important;inset:0 !important;width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:0 !important;}
body.page-id-1227 .ma-cx-hero__img{-webkit-mask-image:none !important;mask-image:none !important;}
/* form panel widened to the comp on Contact only */
body.page-id-1227 .ma-formcard{max-width:none;}
body.page-id-1227 .ma-formcard .ma-field{max-width:none;}
body.page-id-1227 .ma-formcard .ma-cform input,body.page-id-1227 .ma-formcard .ma-cform select,body.page-id-1227 .ma-formcard .ma-cform textarea{max-width:none;}
@media (max-width:1024px){
  .ma-toolkit .vc_row:has(.ma-cx-hero__text) > [class*="row_col_wrap"]{grid-template-columns:1fr;min-height:0;}
  .ma-toolkit .ma-cx-hero__media{min-height:210px;}
  .ma-toolkit .ma-cx-hero__img{object-position:50% 35%;}
}

/* Contact: keep the Send button navy over Salient accent-blue submit styling (page 1227) */
.ma-toolkit .ma-cform .ma-fbtn--primary.ma-cform__send{background:var(--ma-navy) !important;color:#fff !important;border-color:var(--ma-navy) !important;}
.ma-toolkit .ma-cform .ma-fbtn--primary.ma-cform__send:hover{background:#1b2350 !important;}
.ma-toolkit .ma-cform .ma-cform__arrow{background:rgba(255,255,255,.18) !important;}
.ma-toolkit .ma-cform .ma-cform__arrow svg{color:#fff !important;}

/* ===================================================================
 * A-Z of Fundraising landing — native page 1264 (PHP->native, Recipe 24/29)
 * Revised s20b: masthead height to BYB (315); white logo band bled to the
 * right page edge (scroll-safe box-shadow); navy lead headline; red-circle
 * play; crisper posters (size bumped in the shortcode).
 * =================================================================== */

/* masthead: A-Z baked split-hero, BYB band height (315), no CSS mask (Recipe 27) */
body.page-id-1264 .ma-cx-hero__img { -webkit-mask-image: none !important; mask-image: none !important; }
body.page-id-1264 .ma-toolkit .vc_row:has(.ma-cx-hero__text) > [class*="row_col_wrap"] { min-height: 315px; }
body.page-id-1264 .ma-toolkit .ma-cx-hero__media { min-height: 315px; }

/* white logo-strip band: full content width + bled to the RIGHT page edge.
   box-shadow paints the white into the wide-screen gutter without adding
   layout width (so it never triggers horizontal scroll). */
.ma-toolkit .vc_row:has(.ma-az-logos) { background: #fff; margin-left: calc(-1 * clamp(20px, 4vw, 72px)); margin-right: calc(-1 * clamp(20px, 4vw, 72px)); padding-left: clamp(20px, 4vw, 72px); padding-right: clamp(20px, 4vw, 72px); box-shadow: 600px 0 0 0 #fff; }
.ma-toolkit .ma-az-logos .ma-logostrip { margin: clamp(16px, 3vw, 26px) 0; }
.ma-toolkit .ma-az-logos .ma-logostrip__lead { font-family: var(--ma-font-sans); font-weight: 700; color: var(--ma-navy); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.25; margin: 0 0 8px; }
.ma-toolkit .ma-az-logos .ma-logostrip__lead strong { font-weight: 700; }

/* webinars section on the grey .ma-main; white featured panel */
.ma-toolkit .ma-az-webinars { margin-top: clamp(20px, 3vw, 30px); }
.ma-toolkit .ma-az-panel { background: #fff; border: 1px solid var(--ma-rule); border-radius: var(--ma-radius); padding: clamp(16px, 2.4vw, 24px); box-shadow: var(--ma-shadow); }
.ma-toolkit .ma-az-panel__pill { display: inline-flex; align-items: center; gap: 8px; background: var(--ma-panel); color: var(--ma-navy); font-family: var(--ma-font-sans); font-weight: 600; font-size: 13px; line-height: 1; padding: 9px 16px; border-radius: var(--ma-radius-pill); margin: 0 0 clamp(12px, 1.6vw, 18px); }
.ma-toolkit .ma-az-panel__pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ma-crimson); flex: 0 0 auto; }
.ma-toolkit .ma-az-panel .ma-az-feature__card { margin: 0; }
.ma-toolkit .ma-az-panel .ma-az-feature__card::after { display: none; } /* poster art carries its own treatment */
/* our red-circle play button (not the YouTube rectangle) */
.ma-toolkit .ma-az-panel .ma-az-feature__play { top: 16px; right: 16px; width: 56px; height: 56px; }
.ma-toolkit .ma-az-strip { margin-top: clamp(14px, 2vw, 18px); }

@media (max-width: 1024px) {
	.ma-toolkit .vc_row:has(.ma-az-logos) { margin-left: calc(-1 * clamp(16px, 5vw, 24px)); margin-right: calc(-1 * clamp(16px, 5vw, 24px)); padding-left: clamp(16px, 5vw, 24px); padding-right: clamp(16px, 5vw, 24px); box-shadow: none; }
}

/* === A-Z WEBINAR SINGLE — comp polish (s20c) === */
.ma-toolkit .ma-webinar-topbar .ma-eyebrow { text-transform: none; gap: 8px; font-size: 13px; }
.ma-toolkit .ma-webinar-topbar .ma-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ma-crimson); flex: 0 0 auto; }
.ma-toolkit .ma-webinar__play { display: flex; align-items: center; justify-content: center; }
.ma-toolkit .ma-webinar__play svg { width: 72px; height: 72px; filter: drop-shadow(0 2px 10px rgba(0,0,0,.45)); }
.ma-toolkit .ma-webinar-lessons__head { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; }
.ma-toolkit .ma-webinar-lessons__icon { width: 36px; height: auto; flex: 0 0 auto; }
.ma-toolkit .ma-webinar-lessons__h { color: var(--ma-crimson); margin: 0; }
.ma-toolkit .ma-webinar-panel__grid { grid-template-columns: repeat(4, 1fr); }
.ma-toolkit .ma-webinar-panel__grid:has(.ma-person:nth-child(5)) { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .ma-toolkit .ma-webinar-panel__grid, .ma-toolkit .ma-webinar-panel__grid:has(.ma-person:nth-child(5)) { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ma-toolkit .ma-webinar-panel__grid, .ma-toolkit .ma-webinar-panel__grid:has(.ma-person:nth-child(5)) { grid-template-columns: 1fr; } }

/* webinar single topbar logos in FULL COLOUR (match landing + comp) */
.ma-toolkit .ma-webinar-logos__img { filter: none; opacity: 1; max-height: 34px; }
.ma-toolkit .ma-webinar-logos { gap: 28px; }

/* webinar single title -> H2 (comp proportion ~56% of card, not 94%) */
.ma-toolkit .ma-webinar__title { font-size: var(--ma-h2); }

/* === A-Z WEBINAR SINGLE — comp fixes round 3 (s20c3) === */
body.single-webinar .ma-main { padding-top: clamp(24px, 2.5vw, 40px); }
@media (min-width: 1025px) {
  .ma-toolkit .ma-webinar-main { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: stretch; }
  .ma-toolkit .ma-webinar-media { margin-top: 8px; }
}
.ma-toolkit .ma-webinar-summary { display: flex; flex-direction: column; }
.ma-toolkit .ma-webinar-summary__body { font-size: 14px; line-height: 1.5; }
.ma-toolkit .ma-webinar-summary__body p { padding-bottom: 0; margin: 0 0 14px; }
.ma-toolkit .ma-webinar-summary__body p:last-child { margin-bottom: 0; }
.ma-toolkit .ma-webinar__slidesbtn { margin-top: auto; align-self: flex-start; }
.ma-toolkit .ma-webinar__play { position: absolute; top: 16px; right: 16px; left: auto; bottom: auto; width: 56px; height: 56px; display: block; }
.ma-toolkit .ma-webinar__play svg { width: 100%; height: 100%; }
.ma-toolkit .ma-webinar__deck { max-width: none; }
.ma-toolkit .ma-webinar-panel .ma-person__top .ma-person__photo { width: 90px; height: 90px; flex: 0 0 90px; }
.ma-toolkit .ma-webinar-panel .ma-person__bio { border-top: 1px solid var(--ma-rule); padding-top: 16px; margin-top: 2px; }
.ma-toolkit .ma-webinar-panel .ma-person__li { margin-top: auto; }
.ma-toolkit .ma-person { min-height: 300px; }

/* webinar single video box — more rounded corners (match comp) */
.ma-toolkit .ma-webinar__player { border-radius: 24px !important; }

/* panelist portraits: frame the face (medium uncropped source + top crop) */
.ma-toolkit .ma-person__photo-img { object-fit: cover; object-position: center top; }

/* FAQs (890) + BYB (1268): top breathing room — they have no flush-image masthead band like A-Z/Dealmaking */
body.page-id-890 .ma-main { padding-top: clamp(28px, 3vw, 44px); }
body.page-id-1268 .ma-bybx-hero__text > .vc_column-inner { padding-top: clamp(28px, 3vw, 44px); }


/* === DOUBLE-BULLET FIX 2026-06-20 — kill Salient style.css 'ul li{list-style:outside disc}' native marker rendering under our ::before bullets. Salient applies disc to the LI (not the UL), so list-style:none on the UL alone leaves the marker; set it on the LI. === */
.ma-toolkit .ma-webinar-lessons__list li,
.ma-toolkit .ma-byb-bullets li,
.ma-toolkit .ma-bybc-vid__list li{ list-style:none; }
.ma-toolkit .ma-webinar-lessons__list li::marker,
.ma-toolkit .ma-byb-bullets li::marker,
.ma-toolkit .ma-bybc-vid__list li::marker{ content:""; }


/* ============================================================
   Mobile app-bar fix (2026-07-10): keep the menu button on-screen.
   The 3-col grid + nowrap wordmark overflowed on phones/tablets and
   pushed the burger (drawer toggle) off the right edge, leaving no
   way to reach the nav. Collapse to logo | tools, hide the wordmark
   below the desktop layout, and size the two-brand logo to fit.
   ============================================================ */
@media (max-width: 1024px) {
  .ma-toolkit .ma-appbar__inner { grid-template-columns: auto 1fr; column-gap: 12px; }
  .ma-toolkit .ma-appbar__wordmark { display: none; }
  .ma-toolkit .ma-appbar__tools { justify-self: end; }
  .ma-toolkit .ma-appbar__logo img { height: 34px; }
}
@media (max-width: 560px) {
  .ma-toolkit .ma-appbar__inner { column-gap: 8px; padding-left: 12px; padding-right: 12px; }
  .ma-toolkit .ma-appbar__tools { gap: 8px; }
  .ma-toolkit .ma-appbar__logo img { height: auto; max-width: min(46vw, 200px); }
}
/* Mobile search: tap the magnifying glass to reveal a full-width field (like the burger opens the drawer). */
@media (max-width: 640px) {
  .ma-toolkit .ma-appsearch.ma-search-open { position: absolute; left: 0; right: 0; top: 100%; width: auto; min-width: 0; height: 56px; padding: 0 14px; gap: 8px; background: #fff; border: 0; border-top: 1px solid var(--ma-rule); box-shadow: var(--ma-shadow); border-radius: 0; z-index: calc(var(--ma-z-sticky-header) + 2); }
  .ma-toolkit .ma-appsearch.ma-search-open input { display: block; flex: 1; font-size: 16px; }
  .ma-toolkit .ma-appsearch.ma-search-open button { border-left: 1px solid var(--ma-rule) !important; width: 44px; }
}

/* ===== MA Testimonials carousel — added 2026-07-21 (H3/C2/C3/C8) ===== */
.ma-toolkit .ma-tcar{position:relative;--ma-tcar-bg:#6d72a0}
.ma-toolkit .ma-tcar__track{position:relative}
.ma-toolkit .ma-tcar__slide{position:absolute;inset:0;display:grid;grid-template-columns:264px 1fr;gap:20px;align-items:center;background:var(--ma-tcar-bg);border-radius:16px;padding:30px 64px;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .45s ease}
.ma-toolkit .ma-tcar__slide.is-active{opacity:1;visibility:visible;position:relative}
.ma-toolkit .ma-tcar__icon-col{text-align:center;color:#fff}
.ma-toolkit .ma-tcar__icon{width:92px;height:92px;margin:0 auto 12px;display:block}
.ma-toolkit .ma-tcar__name{margin:0;font-weight:700;font-style:italic;font-size:17px;line-height:1.22;color:#fff}
.ma-toolkit .ma-tcar__cat{margin:5px 0 0;font-style:italic;font-weight:400;font-size:14px;line-height:1.25;color:#fff;opacity:.96}
.ma-toolkit .ma-tcar__quote-col{display:flex;align-items:center;min-height:100%}
.ma-toolkit .ma-tcar__quote{color:#fff;font-size:19px;line-height:1.5;font-weight:500;margin:0;max-width:62ch;position:relative;z-index:2}
.ma-toolkit .ma-tcar__qmark{position:absolute;right:46px;bottom:-9px;width:98px;height:auto;opacity:.55;pointer-events:none}
.ma-toolkit .ma-tcar__nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:none!important;background:transparent!important;color:#fff!important;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.9;z-index:3;border-radius:0!important;box-shadow:none!important}
.ma-toolkit .ma-tcar__nav:hover{opacity:1}
.ma-toolkit .ma-tcar__nav svg{width:26px;height:26px}
.ma-toolkit .ma-tcar__nav--prev{left:14px}
.ma-toolkit .ma-tcar__nav--next{right:14px}
.ma-toolkit .ma-tcar__dots{display:flex;gap:8px;justify-content:center;margin-top:20px}
.ma-toolkit .ma-tcar__dot{width:9px!important;height:9px!important;border-radius:50%!important;border:none!important;background:#c7cad6!important;cursor:pointer;padding:0!important;min-width:0!important}
.ma-toolkit .ma-tcar__dot.is-on{background:#232c65!important}
@media(max-width:720px){.ma-toolkit .ma-tcar__slide{grid-template-columns:1fr;text-align:center;padding:28px 34px;gap:14px}.ma-toolkit .ma-tcar__quote-col{justify-content:center}.ma-toolkit .ma-tcar__quote{font-size:17px}.ma-toolkit .ma-tcar__qmark{right:18px;width:74px}.ma-toolkit .ma-tcar__nav--prev{left:2px}.ma-toolkit .ma-tcar__nav--next{right:2px}}

/* ma-tcar attribution tighten — kill Salient p padding 2026-07-21 */
.ma-toolkit .ma-tcar__icon-col{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ma-toolkit .ma-tcar__icon{margin:0 auto 14px}
.ma-toolkit .ma-tcar__name{padding:0 !important;margin:0}
.ma-toolkit .ma-tcar__cat{padding:0 !important;margin:6px 0 0}

/* ma-tcar banner tuning — tighter box + bigger quote 2026-07-21c */
.ma-toolkit .ma-tcar__slide{padding:22px 60px}
.ma-toolkit .ma-tcar__quote{font-size:24px}
.ma-toolkit .ma-tcar__icon{width:86px;height:86px;margin:0 auto 12px}
@media(max-width:720px){.ma-toolkit .ma-tcar__slide{padding:24px 30px}.ma-toolkit .ma-tcar__quote{font-size:19px}}

/* ma-hx-welcome — playing state (hide play btn + navy band, fill iframe) 2026-07-21 */
.ma-toolkit .ma-hx-welcome__media.ma-vplaying > .vc_column-inner{background:#000}
.ma-toolkit .ma-hx-welcome__media.ma-vplaying > .vc_column-inner::after{display:none}
.ma-toolkit .ma-hx-welcome__media .ma-video{position:absolute;inset:0}
.ma-toolkit .ma-hx-welcome__media .ma-video iframe{width:100%;height:100%;border:0;display:block}

/* ma-hx-welcome playing — 16:9 container so the video fills, no black strip 2026-07-21 */
.ma-toolkit .ma-hx-welcome__media.ma-vplaying > .vc_column-inner{aspect-ratio:16/9}
.ma-toolkit .ma-hx-welcome__media.ma-vplaying > .vc_column-inner::before{display:none}


/* C4 investor-shortlist dateline (s27) */
.ma-fi .ma-fi-asof{margin:6px 0 0;padding-left:16px;font-size:13px;font-weight:600;color:#232c65}


/* DM8 (s27): [hidden] must actually hide glossary items — a display rule overrode the attribute so the search set hidden but nothing disappeared */
.ma-gloss-entry[hidden],.ma-gloss-group[hidden],#ma-gloss-empty[hidden]{display:none!important}


/* DM2/C5 (s27): IPG watch video not live yet — coming-soon pill on click */
.ma-ipg-watch{position:relative}
.ma-ipg-watch.is-soon{cursor:default}
.ma-ipg-watch__soon{display:none;margin-left:10px;padding:3px 11px;border-radius:999px;background:#232c65;color:#fff;font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap;vertical-align:middle}
.ma-ipg-watch.is-soon .ma-ipg-watch__soon{display:inline-block}

/* C7 (s28): Corp Gov deep-dive coming-soon (DM13, doc pending) */
.ma-toolkit .ma-ddx-soon-link{cursor:default}
.ma-toolkit .ma-ddx-soon-link:hover{color:inherit}
.ma-toolkit .ma-ddx-soon-tag{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:var(--ma-navy,#232C65);color:#fff;font-size:11px;font-weight:600;vertical-align:middle;white-space:nowrap}

/* C7 (s28): dead resource link coming-soon (themalawyer.com) */
.ma-toolkit .ma-rcard__access--soon{opacity:.6;cursor:default}

/* BYB Edit 2: hide Access Resource on BYB cards (Ivy 2026-07) */
.ma-bybc-vid__info a.ma-btn--primary{display:none!important}

/* BYB Edit 2: tile footers bottom-aligned across BYB (Ivy 2026-07) */
.ma-bybc-topic,.ma-bybc-topic .vc_column-inner,.ma-bybc-topic .wpb_wrapper,.ma-bybc-topic *:has(> .ma-bybc-topic__in),.ma-bybc-topic__in{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:auto!important;min-height:0!important}
.ma-bybc-topic__foot{margin-top:auto!important}
@media (min-width:1025px){body.page-id-1269 [class*="row_col_wrap"]:has(> .ma-bybc-topic){grid-template-columns:repeat(3,calc((100% - 3 * 16px) / 4))!important;justify-content:start!important}}

/* BYB Edit 2: in-page video modal (Ivy 2026-07) */
.ma-vidmodal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}
.ma-vidmodal[hidden]{display:none!important}
.ma-vidmodal__backdrop{position:absolute;inset:0;background:rgba(16,20,45,.85)}
.ma-vidmodal__box{position:relative;width:min(960px,100%)}
.ma-vidmodal__frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.ma-vidmodal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ma-vidmodal__close{position:absolute;top:-16px;right:-16px;width:46px;height:46px;border-radius:50%;background:#DE1E38;color:#fff;border:0;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.ma-vidmodal__close:hover{background:#b81a2f}
@media (max-width:640px){.ma-vidmodal{padding:12px}.ma-vidmodal__close{top:-10px;right:0;width:40px;height:40px;font-size:24px}}


/* Building Culture (1270) launch-cut: tile footer pin + standard box */
body.page-id-1270 .ma-bybc-topic .wpb_text_column > p:has(> .ma-bybc-topic__link){height:0!important;min-height:0!important;margin:0!important;padding:0!important}
@media(min-width:1025px){body.page-id-1270 .ma-bybc-topic{min-height:245px!important}}

/* s30 2026-07-22 Your Role (1271) tile footer spacing: Recipe 43 collapse + 24px min gap + bottom-align */
body.page-id-1271 .ma-bybc-topic .wpb_text_column > p:has(> .ma-bybc-topic__link){height:0;min-height:0;margin:0;padding:0;line-height:0;overflow:hidden}
body.page-id-1271 .ma-bybc-topic .ma-bybc-topic__d{margin-bottom:24px}
body.page-id-1271 .ma-bybc-topic .ma-bybc-topic__foot{margin-top:auto}
@media(min-width:1025px){body.page-id-1271 .ma-bybc-topic{min-height:235px}}

/* s30 2026-07-22 ma-docband (Optimising deck download) */
.ma-toolkit .ma-docband{display:flex;align-items:center;gap:22px;background:#F2F2F2;border:1px solid #D8DCE3;border-radius:16px;padding:20px 26px;margin:6px 0 34px;font-family:Montserrat,Arial,sans-serif}
.ma-toolkit .ma-docband::before{content:"";flex:0 0 auto;width:52px;height:52px;border-radius:12px;background:linear-gradient(225deg,transparent 9px,#fff 9px) 16px 13px/20px 26px no-repeat,var(--ma-navy,#232C65)}
.ma-toolkit .ma-docband__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.ma-toolkit .ma-docband__title{font-weight:700;color:var(--ma-navy,#232C65);font-size:19px;line-height:1.25}
.ma-toolkit .ma-docband__sub{color:var(--ma-ink,#3A3A3A);font-size:14.5px;margin-top:3px}
.ma-toolkit .ma-docband__btn{flex:0 0 auto;display:inline-flex;align-items:center;background:var(--ma-crimson,#DE1E38)!important;color:#fff!important;font-weight:700;font-size:15px;padding:13px 24px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:transform .18s,background .18s}
.ma-toolkit .ma-docband__btn:hover{background:#c31a30!important;transform:translateX(2px)}
.ma-toolkit .ma-docband__btn::after{content:"";display:inline-block;width:7px;height:7px;border-right:2.4px solid #fff;border-bottom:2.4px solid #fff;transform:rotate(45deg);margin:0 0 3px 10px}
@media(max-width:640px){.ma-toolkit .ma-docband{flex-wrap:wrap;gap:16px}.ma-toolkit .ma-docband__body{flex:1 1 calc(100% - 74px)}.ma-toolkit .ma-docband__btn{width:100%;justify-content:center}}

/* s30 2026-07-22 Business Basics (1269) tile footer spacing */
body.page-id-1269 .ma-bybc-topic .wpb_text_column > p:has(> .ma-bybc-topic__link){height:0;min-height:0;margin:0;padding:0;line-height:0;overflow:hidden}
body.page-id-1269 .ma-bybc-topic .ma-bybc-topic__d{margin-bottom:24px}
body.page-id-1269 .ma-bybc-topic .ma-bybc-topic__foot{margin-top:auto}
@media(min-width:1025px){body.page-id-1269 .ma-bybc-topic{min-height:253px}}


/* === BYB Access Resource hide (redundant YouTube links; keep Templates downloads + future Download-PDF buttons) 2026-07-22 | marker: ma-byb-accessres-hide === */
.ma-toolkit a.ma-btn--primary[href*="youtu"]{display:none !important;}
.ma-toolkit p:has(> a.ma-btn--primary[href*="youtu"]:only-child){display:none !important;}


/* === A-Z investor logostrip: FSD Africa + law firms (ENS, Anjarwalla & Khanna, Bowmans) to the end, spaced (punch-list 1.4) 2026-07-22 | marker: ma-az-logo-reorder === */
.ma-toolkit .ma-logostrip__item:has(img[src*="ma-logo-fsd-africa"]){order:101;margin-left:34px;}
.ma-toolkit .ma-logostrip__item:has(img[src*="ma-logo-ens-africa"]){order:102;}
.ma-toolkit .ma-logostrip__item:has(img[src*="ma-logo-anjarwalla-khanna"]){order:103;}
.ma-toolkit .ma-logostrip__item:has(img[src*="ma-logo-bowmans"]){order:104;}


/* === A-Z strip cross-browser fix (Firefox/Safari): definite thumb width instead of flex-basis clamp so the 16:9 aspect-ratio computes the same as Chromium 2026-07-22 | marker: ma-az-xbrowser === */
.ma-toolkit .ma-az-thumb { flex: 0 0 auto; width: clamp(176px, 22vw, 228px); }
.ma-toolkit .ma-az-thumb__img { width: 100%; display: block; }


/* === "Coming soon" A-Z webinars are not clickable/playable (prevents opening the unpublished-video detail page) 2026-07-22 | marker: ma-az-soon-noclick === */
.ma-toolkit .ma-az-thumb.is-soon { pointer-events: none; }

/* BYB category head clearance (added 2026-07-23) */
.ma-toolkit .ma-bybc-head{padding-top:40px;}

/* DM7 glossary search: clear the left icon (2026-07-23) */
.ma-toolkit input#ma-gloss-search{padding-left:40px;}

/* DM12 deep dive circles: 32->24px (2026-07-23) */
.ma-toolkit .ma-ddx-card__arrow{width:24px;height:24px;font-size:12px;line-height:12px;}
