/* ==========================================================================
   Partnerships page — MBA ACT
   Figma node 10966:8225 (frame "PARTNERSHIPS // DESKTOP" #10966:8226)
   Desktop-first: all 1440 rules first, then @media (max-width: 768px),
   then @media (max-width: 402px). Mobile queries at end of file.
   Do NOT add overflow-x:hidden here — already global in base.css.
   Do NOT edit tabs.css / cards.css / forms.css / buttons.css.
   Page-scoped tab override is scoped to .partnerships-tabs__tabs here.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Site-main: remove default max-width/padding so all sections run edge-to-edge.
   -------------------------------------------------------------------------- */
body.page-template-template-partnerships .site-main {
  max-width: none;
  padding: 0;
}


/* ==========================================================================
   Block 4 — Section_Our partners
   Figma node 10966:8395 — white bg, image-right, corner-cut.
   ========================================================================== */

/* Section wrapper: column, padding 112px 80px, white bg.
   Figma 10966:8395 padding:"112px 80px" fill_658ab2fa */
.section-our-partners {
  padding: 112px 80px;                  /* Figma 10966:8395 layout padding 112px 80px */
  background-color: var(--color-white); /* Figma 10966:8395 fills fill_658ab2fa */
}

/* Content Wrapper: column, gap 46px (untokenized single-use).
   Figma 10966:8396 gap 46px */
.section-our-partners__wrapper {
  display: flex;
  flex-direction: column;
  gap: 46px;                            /* Figma 10966:8396 gap 46px — untokenized single use */
}

/* Inner row: inherits .content-block__inner (max-width:1280, gap:64, flex row).
   Figma 10966:8397 width 1280px gap 64px */
.section-our-partners__inner {
  align-items: stretch;
  /* QA 2026-06-22 #3 — Figma 10966:8397/8407: the image block has a definite height
     (= text-column height). The source photo is TALLER than the text, so with no cap
     the row grew to the photo's full height and the whole photo showed. Capping the
     row makes object-fit:cover crop the photo to the block height (confirmed in Figma
     + live). Released on mobile below (stacked column must not be clipped). */
  max-height: 310px;
}

/* Corner-cut modifier — applies --corner-cut-clip to the image within this block.
   Mirrors .content-block--history (about.css:282) and .content-block--contribution-1 (about.css:407).
   Figma 10966:8408 corner-cut overlay x:638 y:0 82×82 → --corner-cut-clip */
.content-block--partners .content-block__image {
  align-self: stretch;
  flex: 1;
  min-width: 0;
  min-height: 0;
  border-radius: 0;                     /* clip-path supersedes radius */
  clip-path: var(--corner-cut-clip);    /* Figma 10966:8408 corner-cut overlay x:638 y:0 82×82 → --corner-cut-clip */
}

/* QA 2026-06-22 — Figma B4 content box has ASYMMETRIC gaps: tagline→heading 24px
   (Content Box 10966:8398 gap = Padding-Small) but heading→copy 36px (Content
   10966:8401 gap = Padding-Medium). Our flat .content-block__box uses a uniform
   24px gap, so add 12px below the heading to reach 36 (24 gap + 12 margin). */
.content-block--partners .content-block__copy {
  margin-top: 12px;
}


/* ==========================================================================
   Block 5 — Section_Premium partners
   Figma node 10966:8346 — navy bg, centred H2, 4-card row.
   ========================================================================== */

/* Section: padding 112px 80px, navy bg.
   Figma 10966:8346 padding:"112px 80px" fills=fill_2e2a77bb */
.partnerships-premium {
  padding: 112px 80px;                  /* Figma 10966:8346 padding 112px 80px */
  background-color: var(--color-navy);  /* Figma 10966:8346 fills=fill_2e2a77bb → --color-navy */
}

/* Inner wrapper: column, align-items center, gap 36px.
   Figma EL-e149cbd1 mode:column alignItems:center gap:36px */
.partnerships-premium__inner {
  display: flex;
  flex-direction: column;               /* Figma EL-e149cbd1 mode:column */
  align-items: center;                  /* Figma EL-e149cbd1 alignItems:center */
  gap: 48px;                            /* Figma Content Box 10966:8349 gap:48px (heading→cards). QA 2026-06-22 #5 — was 36 (outer wrapper gap); real heading→cards gap is 48 */
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}

/* Heading container: justify center.
   Figma 10966:8352 justifyContent:center */
.partnerships-premium__heading {
  display: flex;
  justify-content: center;              /* Figma 10966:8352 justifyContent:center */
  width: 100%;
}

/* H2 inside heading: centred, two-tone spans handled via .text-white / .text-tangerine utilities.
   Figma 10966:8353 textStyle Heading/H2 textAlignHorizontal:CENTER */
.partnerships-premium__heading h2 {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 400;                     /* Figma 10966:8353 Heading/H2 400 */
  font-size: 44px;                      /* Figma 10966:8353 44px */
  line-height: 1.2;                     /* Figma 10966:8353 lh 1.2em */
  letter-spacing: -0.01em;
  text-align: center;                   /* Figma 10966:8353 textAlignHorizontal:CENTER */
}

/* Partners grid: row, stretch, gap 24px, fill width.
   Figma 10966:8354 mode:row alignItems:stretch gap:24px horizontal:fill */
.partnerships-premium__grid {
  display: flex;
  flex-direction: row;                  /* Figma 10966:8354 mode:row */
  align-items: stretch;                 /* Figma 10966:8354 alignItems:stretch */
  gap: 24px;                            /* Figma 10966:8354 gap:24px */
  width: 100%;
  min-width: 0;                         /* css-architecture.md flex chain */
}

/* Partner card (Block 5 variant — full with desc + arrow link).
   Figma EL-c5b3b4d0 column padding:24 justifyContent:space-between alignItems:stretch fill×fill
   border:1px fill_4969fce0 shadow:medium borderRadius:4px fills:fill_658ab2fa */
.partnerships-premium .partner-card {
  display: flex;
  flex-direction: column;               /* Figma EL-c5b3b4d0 column */
  gap: 32px;                            /* QA 2026-06-22 — card gap (logo→content + content→footer) = 32 per QA comment (overrides the 18 the Figma node 10966:8355 reports). Replaces space-between, which stretched these gaps to ~24 on equal-height cards. */
  align-items: stretch;
  flex: 1;
  min-width: 0;
  padding: 24px;                        /* Figma EL-c5b3b4d0 padding:24px */
  background-color: var(--color-white); /* Figma EL-c5b3b4d0 fills=fill_658ab2fa */
  border: 1px solid var(--color-navy-lightest); /* Figma EL-c5b3b4d0 strokes=fill_4969fce0 strokeWeight:1px */
  border-radius: var(--radius-sm);      /* Figma EL-c5b3b4d0 borderRadius:4px */
  box-shadow: var(--shadow-md);         /* Figma EL-c5b3b4d0 effects:medium */
}

/* Logo wrapper: column, center, height 90px.
   Figma EL-b31ac3c8 height:90px justifyContent:center alignItems:center */
.partnerships-premium .partner-card__logo {
  display: flex;
  flex-direction: column;
  justify-content: center;              /* Figma EL-b31ac3c8 justifyContent:center */
  align-items: center;                  /* Figma EL-b31ac3c8 alignItems:center */
  height: 90px;                         /* Figma EL-b31ac3c8 dimensions.height:90 */
}

.partnerships-premium .partner-card__logo img {
  max-width: 254px;
  max-height: 90px;
  width: auto;
  height: auto;
  object-fit: contain;                  /* normalise logo dimensions across cards — Figma note 3 */
  display: block;
}

/* Content column: column, gap 12px.
   Figma EL-1519dabc mode:column alignItems:stretch gap:12px */
.partnerships-premium .partner-card__content {
  display: flex;
  flex-direction: column;               /* Figma EL-1519dabc mode:column */
  align-items: stretch;
  gap: 16px;                            /* Figma Content 10966:8360 EL-d8a3e5e9 gap:16px (name→desc). QA 2026-06-22 #4 — was 12 (outer Content Top gap) */
  min-width: 0;
}

/* Partner name: Heading/Tagline 16px 700 tangerine.
   Figma 10966:8361 textStyle Heading/Tagline fills=fill_d1b4bedb */
.partnerships-premium .partner-card__name {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 700;                     /* Figma 10966:8361 Heading/Tagline bold */
  font-size: 16px;                      /* Figma 10966:8361 16px */
  line-height: 1.3;
  color: var(--color-tangerine);        /* Figma 10966:8361 fills=fill_d1b4bedb #FF6600 */
}

/* Partner desc: Text/Small/Normal 14px 400 navy.
   Figma 10966:8362 textStyle Text/Small/Normal fills=fill_2e2a77bb */
.partnerships-premium .partner-card__desc {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 400;                     /* Figma 10966:8362 Text/Small/Normal */
  font-size: 14px;                      /* Figma 10966:8362 14px */
  line-height: 1.4;
  color: var(--color-navy);             /* Figma 10966:8362 fills=fill_2e2a77bb #0B1628 */
}

/* Card footer: row, justify-content flex-end, align-items center.
   Figma EL-1023ef22 mode:row justifyContent:flex-end alignItems:center gap:10px */
.partnerships-premium .partner-card__footer {
  display: flex;
  flex-direction: row;                  /* Figma EL-1023ef22 mode:row */
  justify-content: flex-end;            /* Figma EL-1023ef22 justifyContent:flex-end */
  align-items: center;
  gap: 10px;                            /* Figma EL-1023ef22 gap:10px */
  margin-top: auto;                     /* QA 2026-06-24 — pin footer to card bottom (Figma EL-c5b3b4d0 justifyContent:space-between). Restores bottom-anchor lost when card switched space-between→gap:32 on 2026-06-22; gap:32 stays the content→footer minimum. */
}

/* Footer arrow = bare Icon Link (Figma 10966:8364 / component 10739:6581): exact
   Figma SVG (already #FF6600), NO underline / button chrome. Mirrors .allied-card__btn.
   QA fix 2026-06-19 — client: white arrow invisible + underline not in Figma. */
.partner-card__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;                /* Figma Icon Link — no underline */
  transition: opacity 0.15s ease;
}
.partner-card__arrow:hover,
.partner-card__arrow:focus-visible {
  opacity: 0.7;
}
.partner-card__arrow img {
  display: block;
  width: 24px;                          /* Figma layout arrow 24×24 */
  height: 24px;
}

/* Logo placeholder box — shown when logo image is not yet uploaded.
   Real logos to be supplied by client (Figma: "pending final logos"). */
.partner-logo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 90px;
  background-color: var(--color-navy-lightest, #E6E7E9);
  color: var(--color-neutral, #545B68); /* Figma fill_943af033 — untokenized */
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  padding: 8px;
  border-radius: var(--radius-sm);
  box-sizing: border-box;
}


/* ==========================================================================
   Block 6 — Section_Partnerships (5 tabs)
   Figma node 10966:8276 — rgba(230,231,233,0.5) bg.
   Tab nav + panels + accordion use tabs.css — only page-specific rules here.
   ========================================================================== */

/* Section: padding 112px 80px, semi-transparent light grey bg.
   Figma EL-b21d06cf padding_112px_80px
   Figma 10966:8276 fill_6ba11cb3 rgba(230,231,233,0.5) */
.partnerships-tabs {
  padding: 112px 80px;                  /* Figma EL-b21d06cf padding_112px_80px */
  background-color: rgba(230, 231, 233, 0.5); /* Figma 10966:8276 fill_6ba11cb3 rgba(230,231,233,0.5) — untokenized */
}

/* Inner wrapper: column, align-items center, gap 36px, max-width 1280px.
   Figma EL-e149cbd1 column align-items:center gap:36px
   Figma EL-41594ef0 width_1280 */
.partnerships-tabs__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;                            /* Figma EL-e149cbd1 gap_36px */
  max-width: 1280px;                    /* Figma EL-41594ef0 width_1280 */
  margin: 0 auto;
  width: 100%;
}

/* Section H2: 44px 400 navy-darkest, with tangerine accent span.
   Figma 10966:8281 / EL-5fe91bbe Heading/H2 fill_c840c2d8 */
.partnerships-tabs__heading {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 44px;                      /* Figma 10966:8281 Heading/H2 */
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-navy-darkest);     /* Figma 10966:8281 fill_c840c2d8 #03060C */
  align-self: flex-start;
  width: 100%;
}

/* Tabs widget inner: full width, column gap:36px.
   Figma EL-367566c4 / EL-2c429da9 column align-self:stretch gap:36px */
.partnerships-tabs__tabs {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 36px;                            /* Figma EL-367566c4 gap_36px */
  align-self: stretch;
}

/* Active tab text colour override — scoped to partnerships tabs only.
   Figma 10966:8286 fill_d1b4bedb #FF6600.
   Delta: global tabs.css:40 sets --color-navy; Figma shows tangerine (#FF6600) for this page.
   Confirmed intentional per open question 6 (spec). */
.partnerships-tabs__tabs .tabs__tab[aria-selected="true"],
.partnerships-tabs__tabs .tabs__tab--active {
  color: var(--color-tangerine);        /* Figma 10966:8286 fill_d1b4bedb active-tab-text override */
}

/* Inactive tab text: untokenized #545B68.
   Figma EL-ef8f9101 fill_943af033 #545B68 */
.partnerships-tabs__tabs .tabs__tab {
  color: #545B68;                       /* Figma EL-ef8f9101 fill_943af033 #545B68 — untokenized */
  font-size: 20px;                      /* Figma 10966:8286 Text/Large/Bold 20px */
  line-height: 1.3;
  padding: 16px 24px;                   /* Figma EL-8a0f5ca1 tab inner padding 16px 24px */
}

/* Tab nav divider: #CED0D4 3px stroke replaces tabs.css 2px neutral.
   Figma 10966:8290 strokeWeight:3px fill_e63c41ff #CED0D4 — untokenized */
.partnerships-tabs__tabs .tabs__nav {
  border-bottom: 3px solid #CED0D4;     /* Figma 10966:8290 fill_e63c41ff #CED0D4 — untokenized */
  overflow-x: visible;                  /* QA 2026-06-19 — Figma shows no horizontal scroll; override tabs.css overflow-x:auto */
  flex-wrap: wrap;                      /* tabs sit in one row at desktop; wrap (not scroll) at narrow widths; accordion takes over ≤768 */
}

/* Active tab underline: 3px tangerine bottom border.
   Figma EL-f7624ae9 strokeWeight:3px fills=fill_d1b4bedb */
.partnerships-tabs__tabs .tabs__tab[aria-selected="true"] {
  border-bottom: 3px solid var(--color-tangerine); /* Figma EL-f7624ae9 strokeWeight:3px fills=fill_d1b4bedb */
  margin-bottom: -3px;                  /* align with 3px nav border */
}

/* Panel content wrapper: column, gap 48px.
   Figma EL-82e1e2a6 / EL-8d10c4f8 column gap:48px */
.tabs__panel {
  /* display:none|block handled by tabs.css */
}

.partnerships-tabs__tabs .tabs__panel {
  padding: 0;                           /* override tabs.css padding; use gap from .partnerships-tabs__tabs */
}

/* Tier label: Heading/Tagline 16px 700 navy.
   Figma 10966:8293 textStyle Heading/Tagline fills=fill_2e2a77bb */
.partner-tier {
  display: flex;
  flex-direction: column;
  gap: 16px;                            /* Figma EL-878fe934 gap:16px */
}

.partner-tier__label {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 700;                     /* Figma 10966:8293 Heading/Tagline bold */
  font-size: 16px;                      /* Figma 10966:8293 16px */
  line-height: 1.3;
  color: var(--color-navy);             /* Figma 10966:8293 fills=fill_2e2a77bb #0B1628 */
  text-transform: uppercase;
}

/* Partner card grid: row, wrap, gap 16px.
   Figma EL-70ee18da row wrap:true gap:16px fill */
.partner-cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;                            /* Figma EL-70ee18da gap_16px wrap */
  min-width: 0;                         /* css-architecture.md flex chain */
}

/* Single-partner card wrapper: column, hug.
   Figma EL-8cc88fec single-partner wrapper */
.partner-cards--single {
  flex-wrap: nowrap;
}

/* Partner card (tabs Block 6 variant — compact logo + name only).
   Figma EL-013e808f column padding:24 alignItems:center gap:18px hug×hug
   border:1px fill_4969fce0 shadow:medium borderRadius:4px fills:fill_658ab2fa */
.partner-card--small {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;                            /* Figma EL-013e808f gap_18px */
  padding: 24px;                        /* Figma EL-013e808f padding_24px */
  background-color: var(--color-white); /* Figma EL-013e808f fills fill_658ab2fa */
  border: 1px solid var(--color-navy-lightest); /* Figma EL-013e808f strokes fill_4969fce0 */
  border-radius: var(--radius-sm);      /* Figma EL-013e808f borderRadius:4px */
  box-shadow: var(--shadow-md);         /* Figma EL-013e808f effects medium */
  box-sizing: border-box;
  flex: 0 0 235px;                      /* QA 2026-06-22 #9 — uniform card width so a wide logo / long name can't stretch some cards into rectangles. 185px logo slot (Figma EL-51a5230e) + 24px padding ×2 + 1px border ×2 = 235. Mobile breakpoints below override the basis. */
}

/* Logo wrap inside tab cards: column, center, 185×90 standard slot.
   Figma EL-51a5230e dimensions_185x90 */
.partner-card--small .partner-card__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 185px;                         /* Figma EL-51a5230e dimensions_185x90 */
  height: 90px;
}

.partner-card--small .partner-card__logo-wrap img {
  max-width: 100%;
  max-height: 90px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* QA fix 2026-06-19 — real Figma logos (download_figma_images). Logo image
   contained (never cropped), centred in its flex .partner-card__logo-wrap;
   margin:auto covers any non-flex context. */
.partner-card__logo {
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.partner-card--small .partner-card__logo-wrap .partner-logo-placeholder {
  width: 185px;
  height: 90px;
  font-size: 11px;
  padding: 6px;
}

/* Partner name in tab cards: Text/Small/Bold 14px 700 tangerine.
   Figma 10966:8300 textStyle Text/Small/Bold fills=fill_d1b4bedb */
.partner-card--small .partner-card__name {
  margin: 0;
  max-width: 185px;                     /* QA 2026-06-19 — match the 185px logo slot so long names
                                           (e.g. "The ACT Building & Construction Industry Training
                                           Fund Authority") WRAP instead of stretching the card to ~2×
                                           width; card then hugs to the standard slot width. */
  font-family: var(--font-family);
  font-weight: 700;                     /* Figma 10966:8300 Text/Small/Bold */
  font-size: 14px;                      /* Figma 10966:8300 14px */
  line-height: 1.4;
  color: var(--color-tangerine);        /* Figma 10966:8300 fills=fill_d1b4bedb #FF6600 */
  text-align: center;
}

/* Sponsor role label (Tab 5 only): Text/Small/Normal 14px 400 navy.
   Figma 11604:3619 textStyle Text/Small/Normal fills=fill_2e2a77bb */
.partner-card__role {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 400;                     /* Figma 11604:3619 Text/Small/Normal */
  font-size: 14px;                      /* Figma 11604:3619 14px */
  line-height: 1.4;
  color: var(--color-navy);             /* Figma 11604:3619 fills=fill_2e2a77bb #0B1628 */
  text-align: center;
}

/* Tab 5 card content: column, gap 4px (name + role stacked).
   Figma EL-36bb72c0 column gap:4px */
.partner-card--labelled {
  gap: 4px;                             /* Figma EL-36bb72c0 gap:4px name+role stack */
}

/* Side-by-side tier row: row, gap 48px.
   Figma EL-3c7abee6 row gap:48px hug */
.partner-tier-row {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.partner-tier-row--inline {
  flex-direction: row;                  /* Figma EL-3c7abee6 row gap:48px — Excellence/Apprentice inline rows */
  gap: 48px;
  flex-wrap: wrap;
  min-width: 0;
}

/* Panels layout — column gap 48px between tiers.
   Figma EL-82e1e2a6 / EL-8d10c4f8 content wrapper gap:48px */
.partnerships-tabs__tabs .tabs__panel[aria-hidden="false"] {
  display: flex;
  flex-direction: column;
  gap: 48px;                            /* Figma EL-82e1e2a6 gap_48px */
}


/* ==========================================================================
   Block 7 — Section_Why partner with us?
   Figma node 10966:8260 — white bg, 2 icon-strip cards.
   ========================================================================== */

/* Section: padding 112px 80px 64px, white bg.
   Figma 10966:8260 layout padding 112px 80px 64px fills=fill_658ab2fa */
.partnerships-why {
  padding: 112px 80px 64px;             /* Figma 10966:8260 layout padding */
  background-color: var(--color-white); /* Figma 10966:8260 fills=fill_658ab2fa */
}

/* Inner wrapper: column, gap 48px, max-width 1280px centred.
   Figma EL-82e1e2a6 column gap:48px
   Figma EL-41594ef0 / EL-a0a6bc35 width:1280px */
.partnerships-why__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;                            /* Figma EL-82e1e2a6 gap_48px */
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}

/* Intro block: column, gap 24px.
   Figma 10966:8263 layout gap:24px */
.partnerships-why__intro {
  display: flex;
  flex-direction: column;
  gap: 24px;                            /* Figma 10966:8263 gap:24px */
}

/* Tagline: Heading/Tagline 16px 700 tangerine + underline (::after/::before pattern from about.css).
   Figma EL-5dbb93ee Heading/Tagline fills=fill_d1b4bedb
   Figma EL-9db31c32 underline SVG stroke fill_d1b4bedb x:0 y:25 w:232.5 h:5.5 */
.partnerships-why__tagline {
  position: relative;
  display: block;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 16px;                      /* Figma EL-5dbb93ee Heading/Tagline */
  line-height: 1.3;
  color: var(--color-tangerine);        /* Figma EL-5dbb93ee fills=fill_d1b4bedb #FF6600 */
  text-transform: uppercase;
  padding-bottom: 14px;
}

/* Decorative underline: reuse same ::after/::before pattern as .content-block__tagline (about.css:150–168).
   Figma EL-9db31c32 stroke fill_d1b4bedb x:0 y:25 */
.partnerships-why__tagline::after {
  content: "";
  position: absolute;
  left: 0;
  right: 8px;
  bottom: 7px;
  height: 1px;
  background-color: currentColor;
}

.partnerships-why__tagline::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1px;
  width: 9px;
  height: 7px;
  background-image: url('../images/tagline-hook.svg');
  background-repeat: no-repeat;
}

/* H2: Heading/H2 44px 400 navy-darkest, tangerine accent span.
   Figma 10966:8269 Heading/H2 fills=fill_c840c2d8 */
.partnerships-why__heading {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 44px;                      /* Figma 10966:8269 Heading/H2 */
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-navy-darkest);     /* Figma 10966:8269 fills=fill_c840c2d8 #03060C */
}

/* Lead paragraph: Text/Large/Bold 20px 700 navy-darkest.
   Figma 10966:8271 textStyle Text/Large/Bold fills=fill_c840c2d8 */
.partnerships-why__lead {
  margin: 12px 0 0;                     /* QA 2026-06-22 #11 — heading→lead gap 36px (Figma Content 10966:8266 gap:36). Intro flex gap is 24, +12 margin = 36; tagline→heading stays 24 */
  max-width: 768px;                     /* QA 2026-06-22 #12 — lead capped at 768px per Figma (10966:8271) */
  font-family: var(--font-family);
  font-weight: 700;                     /* Figma 10966:8271 Text/Large/Bold */
  font-size: 20px;                      /* Figma 10966:8271 20px */
  line-height: 1.3;
  color: var(--color-navy-darkest);     /* Figma 10966:8271 fills=fill_c840c2d8 #03060C */
}

/* Cards row: row, gap 36px, align-items stretch.
   Figma 10966:8273 row gap:36px alignItems:stretch */
.partnerships-why__cards {
  display: flex;
  flex-direction: row;
  gap: 36px;                            /* Figma 10966:8273 gap:36px */
  align-items: stretch;                 /* Figma 10966:8273 alignItems:stretch */
  min-width: 0;
}

.partnerships-why__cards .card--icon-strip {
  flex: 1;
  min-width: 0;
}

/* Card title override for .card--icon-strip--medium-title:
   Text/Medium/Bold 18px (vs strategy-2030.css Heading/H6 20px).
   Figma I10966:8274;10503:9835 Text/Medium/Bold 18px.
   Scoped here (partnerships.css) to avoid cross-page leakage. */
.card--icon-strip--medium-title .card__title {
  font-size: 18px;                      /* Figma I10966:8274;10503:9835 Text/Medium/Bold 18px */
  line-height: 1.3;
  letter-spacing: 0;                    /* Text/Medium/Bold has no LS token */
}

/* Card color strip: background from CSS custom property --strip-color.
   Figma strip height:6px layout_d984fd12 — color set inline from PHP. */
.card--icon-strip .card__strip {
  background-color: var(--strip-color, var(--color-accent-light-blue));
}


/* ==========================================================================
   Block 8 — Section_Colour Form CTA Block
   Figma node 10966:8228 — white outer, tangerine split card.
   ========================================================================== */

/* Section: padding 64px 80px 112px, white bg.
   Figma 10966:8228 padding-top --space-16 64px, sides 80px, bottom 112px */
.colour-form-cta {
  padding: 64px 80px 112px;            /* Figma 10966:8228 padding 64px 80px 112px */
  background-color: var(--color-white); /* Figma 10966:8228 fill_658ab2fa */
}

/* Tangerine card: row, padding 64px, gap 143px, border-radius 4px.
   Figma 10966:8229 row fills=fill_d1b4bedb padding:64 gap:143 borderRadius:4 */
.colour-form-cta__card {
  position: relative;
  display: flex;
  flex-direction: row;                  /* Figma 10966:8229 row */
  gap: 64px;                            /* Figma Content Wrapper 10966:8230 gap:64 (copy→form). QA 2026-06-22 #18 — was 143 (that's Card #8229's gap to the absolute watermark, not the columns); real copy→form gap is 64. Also fixes "form block size" (143 was squeezing the form) */
  padding: 64px;                        /* Figma 10966:8229 padding:64 */
  background-color: var(--color-tangerine); /* Figma 10966:8229 fills=fill_d1b4bedb #FF6600 */
  border-radius: var(--radius-sm);      /* Figma 10966:8229 borderRadius:4px */
  max-width: 1280px;                    /* section outer 1440 - 2×80px padding = 1280px effective */
  margin: 0 auto;
  overflow: hidden;                     /* clip logo watermark */
}

/* Left content box: column, width 476px, transparent, gap 48px.
   Figma 10966:8231 width:476 fill_97d170e1=[] transparent */
.colour-form-cta__content {
  display: flex;
  flex-direction: column;
  gap: 48px;                            /* Figma 10966:8231 gap:48px EL-82e1e2a6 */
  flex: 0 1 476px;                      /* QA 2026-06-19 — basis 476 (Figma desktop) but SHRINKABLE; was width:476 + flex-shrink:0, which forced ALL the squeeze onto the form → it collapsed and was clipped by overflow:hidden. grow:0 so the form takes the desktop free space (Figma form ~533). */
  min-width: 0;
}

/* Intro: column, gap 18px.
   Figma 10966:8237 EL-7eb1f362 gap:18px — untokenized */
.colour-form-cta__intro {
  display: flex;
  flex-direction: column;
  gap: 36px;                            /* Figma Content 10966:8233 gap:36 (heading→copy). QA 2026-06-22 #13 — was 18 (that's the paragraph gap #8237); real heading→copy gap is 36 */
}

/* CTA H2: Heading/H2 44px 400 white.
   Figma 10966:8236 textStyle=Heading/H2 fills=fill_658ab2fa */
.colour-form-cta__heading {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 400;                     /* Figma 10966:8236 Heading/H2 Roman */
  font-size: 44px;                      /* Figma 10966:8236 44px */
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-white);            /* Figma 10966:8236 fills=fill_658ab2fa #FFFFFF */
}

/* CTA copy: Text/Large/Bold 20px 700 white.
   Figma 10966:8238 textStyle=Text/Large/Bold fills=fill_658ab2fa */
.colour-form-cta__copy {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.colour-form-cta__copy p {
  margin: 0 0 16px;
  font-family: var(--font-family);
  font-weight: 700;                     /* Figma 10966:8238 Text/Large/Bold */
  font-size: 20px;                      /* Figma 10966:8238 20px */
  line-height: 1.3;
  color: var(--color-white);            /* Figma 10966:8238 fills=fill_658ab2fa #FFFFFF */
}

.colour-form-cta__copy p:last-child {
  margin-bottom: 0;
}

/* Right form box: column, fill, padding 36px, white, border-radius 4px.
   Figma 10966:8239 column fill padding:36 fills=fill_658ab2fa borderRadius:4 */
.colour-form-cta__form-box {
  display: flex;
  flex-direction: column;
  flex: 1 1 400px;                      /* QA 2026-06-19 — real basis so it competes with the left column instead of collapsing to 0 */
  min-width: 0;
  padding: 36px;                        /* Figma 10966:8239 padding:36 --space-9 */
  background-color: var(--color-white); /* Figma 10966:8239 fills=fill_658ab2fa */
  border-radius: var(--radius-sm);      /* Figma 10966:8239 borderRadius:4px */
}

/* Form element: column, gap 24px.
   Figma 10966:8240 EL-1bc16580 column gap:24 */
.colour-form-cta__form {
  display: flex;
  flex-direction: column;
  gap: 24px;                            /* Figma 10966:8240 gap:24px */
}

/* Input rows: row, gap 24px.
   Figma 10966:8241/8248 row fill gap:24 */
.colour-form-cta__inputs-row {
  display: flex;
  flex-direction: row;
  gap: 24px;                            /* Figma 10966:8241 gap:24px */
  min-width: 0;
}

/* Individual field: column, fill, gap 8px.
   Figma 10966:8242 EL-2d7cdc13 column fill gap:8 */
.colour-form-cta__field {
  display: flex;
  flex-direction: column;
  gap: 8px;                             /* Figma 10966:8242 gap:8px */
  flex: 1;
  min-width: 0;
}

/* Field label: Text/Regular/Normal 16px 400 navy-darkest.
   Figma 10966:8243/8246/8250/8253/8256 textStyle=Text/Regular/Normal fills=fill_c840c2d8 */
.colour-form-cta__field label {
  margin: 0;
  font-family: var(--font-family);
  font-weight: 400;                     /* Figma 10966:8243 Text/Regular/Normal */
  font-size: 16px;                      /* Figma 10966:8243 16px */
  line-height: 1.4;
  color: var(--color-navy-darkest);     /* Figma 10966:8243 fills=fill_c840c2d8 #03060C */
}

/* Text inputs: padding 8px 12px, border 1px #545B68, border-radius 2px.
   Figma EL-49782dac padding:8px 12px stroke:fill_943af033 borderRadius:2px */
.colour-form-cta__field input {
  padding: 8px 12px;                    /* Figma EL-49782dac padding */
  border: 1px solid #545B68;            /* Figma EL-49782dac stroke fill_943af033 #545B68 — untokenized */
  border-radius: var(--radius-xs, 2px); /* Figma EL-49782dac borderRadius:2px */
  background: transparent;             /* Figma EL-49782dac fill_75800f08 = transparent */
  font-family: var(--font-family);
  font-size: 16px;
  line-height: 1.4;
  color: var(--color-navy-darkest);
  width: 100%;
  box-sizing: border-box;
}

.colour-form-cta__field input:focus-visible {
  outline: 2px solid var(--color-tangerine);
  outline-offset: 1px;
}

/* Textarea field row: padding 16px 0.
   Figma 10966:8255 padding:16px 0 */
.colour-form-cta__field--textarea {
  padding: 16px 0;                      /* Figma 10966:8255 textarea wrapper padding:16px 0 */
}

/* Textarea: height 180px, padding 12px, border 1px #545B68, border-radius 2px.
   Figma 10966:8257 height:180 padding:12 stroke:fill_943af033 borderRadius:2 */
.colour-form-cta__field textarea {
  height: 180px;                        /* Figma 10966:8257 height:180 */
  padding: 12px;                        /* Figma 10966:8257 padding:12 */
  border: 1px solid #545B68;            /* Figma 10966:8257 stroke fill_943af033 #545B68 — untokenized */
  border-radius: var(--radius-xs, 2px); /* Figma 10966:8257 borderRadius:2px */
  background: transparent;             /* Figma 10966:8257 fill_75800f08 = transparent */
  font-family: var(--font-family);
  font-size: 16px;
  line-height: 1.4;
  color: var(--color-navy-darkest);
  resize: vertical;
  width: 100%;
  box-sizing: border-box;
}

.colour-form-cta__field textarea::placeholder {
  color: rgba(13, 11, 0, 0.6);          /* Figma I10966:8257;4179:9043 rgba(13,11,0,0.6) — untokenized */
}

.colour-form-cta__field textarea:focus-visible {
  outline: 2px solid var(--color-tangerine);
  outline-offset: 1px;
}

/* GF wrapper scoped override: textarea height 180px.
   Figma 10966:8257 height:180 — scope to avoid leaking into global GF styles */
.colour-form-cta__form-box .gform_wrapper textarea {
  height: 180px;                        /* Figma 10966:8257 height:180 scoped to this form box */
}

/* QA 2026-06-22 #17/#19 — Gravity Forms output in this box must match Figma:
   labels + inputs Text/Regular/Normal 16px navy-darkest; required asterisk the
   SAME navy-darkest as the label (Figma "Name*" is one text run, fill_c840c2d8),
   not Gravity Forms' default red. Scoped to this form box only. */
.colour-form-cta__form-box .gform_wrapper .gfield_label {
  font-family: var(--font-family);
  font-weight: 400;                     /* Figma 10966:8243 Text/Regular/Normal */
  font-size: 16px;                      /* Figma 10966:8243 16px — QA #17 */
  line-height: 1.4;
  color: var(--color-navy-darkest);     /* Figma 10966:8243 fill_c840c2d8 #03060C — QA #19 */
}

.colour-form-cta__form-box .gform_wrapper .mba-required-marker {
  color: var(--color-navy-darkest);     /* Figma 10966:8256 — the "*" is part of the label text run (navy #03060C). The PHP filter renames GF's marker to .mba-required-marker, which forms.css colours tangerine; override it here. QA #19 (textarea + all required labels) */
  font-weight: 400;                     /* match label (Text/Regular/Normal), not forms.css bold */
}

.colour-form-cta__form-box .gform_wrapper input,
.colour-form-cta__form-box .gform_wrapper textarea {
  font-size: 16px;                      /* Figma — all form text 16px. QA #17 */
}

/* QA 2026-06-22 — placeholder is muted, NOT the label navy. Figma textarea
   placeholder I10966:8257;4179:9043 = rgba(13,11,0,0.6). Scoped to the GF output
   (the .colour-form-cta__field rule above only covers the static-fallback markup). */
.colour-form-cta__form-box .gform_wrapper textarea::placeholder,
.colour-form-cta__form-box .gform_wrapper input::placeholder {
  color: rgba(13, 11, 0, 0.6);
}

/* MBA Logomark watermark: absolute, decorative, behind card content.
   Figma 10966:8259 (Colour=White variant) abs x:-60 y:494 606×606.
   QA 2026-06-19 — exact Figma logomark SVG (correct orientation; replaced the wrong-rotation
   mba-logo-stacked-white.svg); solid white, no opacity override; bottom-left corner. */
.colour-form-cta__logo-watermark {
  position: absolute;
  left: -60px;                          /* Figma 10966:8259 x:-60 */
  bottom: -212px;                       /* QA 2026-06-19 — drop into the bottom-left corner (Figma y:494 ≈ 55% down a 903px card); lower 606px-mark clipped by card overflow:hidden */
  width: 606px;                         /* Figma 10966:8259 606×606 */
  height: 606px;
  pointer-events: none;
  background-image: url('../images/partnerships/watermark-logomark.svg'); /* exact Figma node I10966:8259;10210:110889 — solid white, no opacity override (matches Figma) */
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}

/* Ensure form content stacks above watermark */
.colour-form-cta__content,
.colour-form-cta__form-box {
  position: relative;
  z-index: 1;
}


/* ==========================================================================
   Text utility overrides (used in this template)
   These duplicate utilities.css to avoid cross-file leakage concerns.
   ========================================================================== */
.text-white  { color: var(--color-white) !important; }
.text-tangerine { color: var(--color-tangerine) !important; }


/* ==========================================================================
   Premium partners — column count (client breakpoints 2026-06-19):
   4-up by default (>1360), 2-up at ≤1360 (2 rows), 1-up at ≤640 (4 rows).
   Placed before the 768/402 blocks; the ≤640 rule follows ≤1360 in source so it
   wins at small widths. Grid gap is 24px → 2-up basis = calc(50% - 12px).
   ========================================================================== */
@media (max-width: 1360px) {
  .partnerships-premium__grid {
    flex-wrap: wrap;
  }

  .partnerships-premium .partner-card {
    flex: 0 0 calc(50% - 12px);
    width: calc(50% - 12px);
  }
}

@media (max-width: 640px) {
  .partnerships-premium .partner-card {
    flex: 0 0 100%;
    width: 100%;
  }
}


/* ==========================================================================
   Form CTA — responsive (QA 2026-06-19): the 143px gap + once-fixed left column
   squeezed the form to nothing between 768 and 1440. Shrink the gap in the row
   zone, then stack the card to one column at ≤1024 so the form is full-width
   well before it gets cramped.
   ========================================================================== */
@media (max-width: 1280px) {
  .colour-form-cta__card {
    gap: 48px;                          /* row zone: replace the 143px desktop gap so both columns keep usable width */
  }
}

/* ==========================================================================
   Block 4 — Our partners: stack (image BELOW text) at ≤1200 (client 2026-06-22).
   Above 1200 it's the 2-col row capped at 300px (object-fit:cover crops the tall
   photo). Between ~768–1023 the 2-col image column got squeezed to nothing and the
   photo vanished — so we drop to the stacked layout at 1200 instead. In the stacked
   state the image is full-width with a min-height floor (flex:none), so it always
   has a visible height and can't collapse.
   ========================================================================== */
@media (max-width: 1200px) {
  .section-our-partners__inner {
    flex-direction: column;             /* image below text */
    max-height: none;                   /* release the desktop 300px row cap when stacked */
  }
  .section-our-partners__inner .content-block__box {
    width: 100%;
  }
  .section-our-partners__inner .content-block__image {
    flex: none;                         /* full-width block, not a flex-growing/shrinking column item */
    width: 100%;
    min-height: 280px;                  /* visible floor — guarantees a height so the photo can't disappear */
  }
}

@media (max-width: 1024px) {
  .colour-form-cta__card {
    flex-direction: column;             /* stack: left copy over the form, each full-width */
    gap: 32px;                          /* QA 2026-06-22 #21 — reduce the copy↔form gap once stacked (the 48px column gap reads as a large vertical gap on mobile). Watermark stays hidden here per client. */
  }
  .colour-form-cta__content {
    width: 100%;
    flex: 0 1 270px;                    /* QA 2026-06-22 — card is column on mobile, so the desktop 476px flex-basis becomes a vertical HEIGHT basis → big empty gap before the form (worsened by the hidden watermark). 270 ≈ the copy height here; partnerships-scoped (other pages' copy differs, may need other values). */
  }
  .colour-form-cta__logo-watermark {
    display: none;                      /* 606px decorative watermark doesn't belong on the narrow stacked card */
  }
}


/* ==========================================================================
   MOBILE — 768px
   ========================================================================== */
@media (max-width: 768px) {

  /* Block 4 — Our partners */
  .section-our-partners {
    padding: 64px 24px;                 /* derived (no Figma mobile frame) — mobile-derivation-catalog.md */
  }

  .section-our-partners__wrapper {
    gap: 32px;
  }

  .section-our-partners__inner {
    flex-direction: column;             /* derived: stack image below content */
    max-height: none;                   /* QA 2026-06-22 #3 — release the desktop 300px row cap when stacked, else the text+image column is clipped */
  }

  .section-our-partners__inner .content-block__box {
    width: 100%;
  }

  .section-our-partners__inner .content-block__image {
    min-height: 280px;                  /* derived: 280px at 768 */
    width: 100%;
    clip-path: var(--corner-cut-clip);  /* retain corner cut on mobile */
  }

  /* Block 5 — Premium partners (column behavior handled by the 1360/640 breakpoints) */
  .partnerships-premium {
    padding: 80px 24px;                 /* derived — matches other scheme-navy sections at 768 */
  }

  /* Block 6 — Tabs */
  .partnerships-tabs {
    padding: 80px 24px;                 /* derived — mobile-derivation-catalog.md */
  }

  .partner-tier-row--inline {
    flex-direction: column;             /* derived — side-by-side tier rows stack to column */
  }

  .partner-card--small {
    min-width: 0;
    flex: 0 0 calc(50% - 8px);
  }

  .partner-cards {
    min-width: 0;
  }

  /* Block 7 — Why partner */
  .partnerships-why {
    padding: 64px 24px;                 /* derived */
  }

  .partnerships-why__cards {
    flex-direction: column;             /* derived — 2-col row collapses at 768 */
    gap: 24px;
  }

  /* Block 8 — Form CTA */
  .colour-form-cta {
    padding: 48px 24px 64px;           /* derived */
  }

  .colour-form-cta__card {
    padding: 32px 24px;                 /* tighter mobile padding (column stack handled at ≤1024 below) */
  }
}


/* ==========================================================================
   Tabs block — full mobile (1-column partner cards) at ≤490px.
   Client 2026-06-19: this block enters full mobile at 490, not 402. Placed after
   the 768 block so the 1-col card rule overrides the 768 2-col rule below 490.
   ========================================================================== */
@media (max-width: 490px) {
  .partnerships-tabs {
    padding: 48px 16px;                 /* tighter mobile padding */
  }

  .partner-card--small {
    flex: 0 0 100%;                     /* 1 card per row */
    min-width: 0;
  }

  .partner-card--small .partner-card__name {
    text-align: center;
  }

  .partner-card--small .partner-card__logo-wrap,
  .partner-card--small .partner-card__logo-wrap .partner-logo-placeholder {
    width: 100%;                        /* logo slot spans the full-width card */
  }
}


/* ==========================================================================
   MOBILE — 402px
   ========================================================================== */
@media (max-width: 402px) {

  /* Block 4 — Our partners */
  .section-our-partners {
    padding: 48px 16px;                 /* derived */
  }

  .section-our-partners__inner {
    gap: 24px;
  }

  .section-our-partners__inner .content-block__image {
    min-height: 220px;                  /* derived */
  }

  /* Block 5 — Premium partners (column behavior handled by the 1360/640 breakpoints) */
  .partnerships-premium {
    padding: 48px 16px;                 /* derived */
  }

  /* Block 6 — Tabs: full-mobile (1-col cards) handled by the ≤490 block above (client 2026-06-19). */

  /* Block 7 — Why partner */
  .partnerships-why {
    padding: 48px 16px;                 /* derived */
  }

  .card--icon-strip--medium-title .card__content {
    padding: 16px;                      /* derived — reduce card inner content padding */
  }

  /* Block 8 — Form CTA */
  .colour-form-cta {
    padding: 32px 16px 48px;           /* derived */
  }

  .colour-form-cta__card {
    padding: 24px 16px;                 /* derived */
  }

  .colour-form-cta__form-box {
    padding: 24px 16px;                 /* derived */
  }

  .colour-form-cta__inputs-row {
    flex-direction: column;             /* derived — 2-up grid collapses below ~500px */
    gap: 16px;
  }
}
