/* ============================================================================
   Montis Financial — Advisor Partnerships

   The components this one page needs and no other: the partner-survey proof
   band, the client-team figure, and the form's radio set. warm-modernist.css is
   the locked system and is not touched here; everything below is a new class in
   the `ap-` namespace, built from the same tokens (cream / warm / navy / gold /
   gold-ink / hair / rule) and the same shape discipline — square, hairline, one
   gold thread, and the 8px radius reserved for imagery and the primary CTA.

   Was `advisor-partnerships-proto.css` until 2026-09-16, when the AA rewrite was
   merged into the page itself and BB and CC were dropped. The switcher between
   the three drafts, and the dashed empty testimonial slots, went with them; the
   partner quote is now the site's own `.quote`. Nothing here is scaffolding any
   more, and there is nothing left to remove before launch.
   ========================================================================== */


/* This page's H1 is a 57-character sentence rather than the three-to-five-word
   titles the bleed frame was built for. At the inherited measure it broke into
   five lines and the scrim grew until it swallowed the picture.

   The measure that does it is .ph-copy's 40ch, NOT .page-head h1's 20ch. Both
   are in ch, but .ph-copy computes its ch against the inherited 18px body font
   and lands at 448px, while the h1 computes against its own 54px display size
   and lands at 1030px -- so the h1's cap is never the one that binds, and an
   override on it does nothing at all. Widening the container is the fix; 64ch is
   716px, which settles the title at three lines and still leaves it well inside
   the 1072px wrap. */
.is-bleed .ph-copy { max-width: 64ch; }


/* ---- partner-survey proof band --------------------------------------------
   IDENTICAL on all three pages by instruction: the comparison is about where
   the evidence sits in each argument, not about how it is drawn. Only the
   caption wording changes, because each version writes the finding its own way.
   Lora figures, because every other number on this site is set in Lora. */
.ap-proof { display: grid; grid-template-columns: 1fr 1fr; margin-top: 38px; border: 1px solid var(--rule); border-top: 3px solid var(--gold); background: var(--cream); }
.sec.warm-band .ap-proof { background: var(--warm); }
.ap-proof .ap-stat { padding: 34px 36px; }
.ap-proof .ap-stat + .ap-stat { border-left: 1px solid var(--hair); }
.ap-proof .ap-fig { font-family: 'Lora', serif; font-weight: 600; font-size: clamp(2.6rem, 5.4vw, 3.6rem); line-height: 1; color: var(--navy); margin: 0; }
.ap-proof .ap-cap { font-size: 1rem; color: var(--slate); margin: 14px 0 0; max-width: 32ch; }
@media (max-width: 720px) {
  .ap-proof { grid-template-columns: 1fr; }
  .ap-proof .ap-stat + .ap-stat { border-left: 0; border-top: 1px solid var(--hair); }
  .ap-proof .ap-stat { padding: 26px 24px; }
}

/* The source note. Discreet, but plainly temporary: the gold hairline and the
   PROTOTYPE NOTE key are the tell, so nobody mistakes it for approved
   disclosure language sitting under an approved statistic. */
.ap-src { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 14px 0 0; padding-left: 14px; border-left: 3px solid var(--gold); font-size: 12.5px; line-height: 1.6; color: var(--slate); max-width: 78ch; }
.ap-src .k { font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--gold-ink); }
.ap-src span:last-child { flex: 1 1 22ch; }


/* ---- client-support figure (AA + CC) --------------------------------------
   Conceptual, and it stays conceptual: no headcounts, no "two advisors and one
   client service professional", because that model is not confirmed. A square
   hairline surround rather than the circular infographic this idea usually
   becomes. Circles are not in this design system, and a wheel of equal seats
   would imply a fixed, countable team the copy is careful not to promise. */
.ap-wheel { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: stretch; }
.ap-wheel .ap-cell { border: 1px solid var(--rule); background: var(--cream); padding: 18px 18px 20px; display: flex; flex-direction: column; justify-content: flex-end; min-height: 96px; }
.sec.warm-band .ap-wheel .ap-cell { background: var(--warm); }
.ap-wheel .ap-cell .k { font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--gold-ink); margin: 0 0 6px; }
.ap-wheel .ap-cell p { font-size: 0.98rem; font-weight: 500; color: var(--navy); margin: 0; line-height: 1.35; }
/* AA's cells carry a one-line client benefit under the role (the M&A team
   asked for the team and the benefits in one picture). Cells now read top
   down, so they sit at the top rather than settling to the bottom. */
.ap-wheel .ap-cell:has(.ap-ben) { justify-content: flex-start; }
.ap-wheel .ap-cell p.ap-ben { font-size: 0.86rem; font-weight: 400; color: var(--slate); margin-top: 8px; line-height: 1.45; }
.ap-wheel .ap-core { border: 1px solid var(--navy); background: var(--navy); padding: 22px 20px; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.ap-wheel .ap-core .k { font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--gold); margin: 0 0 8px; }
.ap-wheel .ap-core p { font-family: 'Lora', serif; font-weight: 500; font-size: 1.2rem; line-height: 1.25; color: var(--cream); margin: 0; }
/* the two side cells of the middle row are a gold thread, not a fourth and
   fifth capability: the surround has six members, and the grid has eight seats */
.ap-wheel .ap-join { align-self: center; height: 3px; background: var(--gold); }
.ap-wheel figcaption { grid-column: 1 / -1; font-size: 12.5px; color: var(--slate); margin-top: 4px; }
@media (max-width: 760px) {
  .ap-wheel { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ap-wheel .ap-core { grid-column: 1 / -1; }
  .ap-wheel .ap-join { display: none; }
}
@media (max-width: 460px) { .ap-wheel { grid-template-columns: 1fr; } }


/* ---- CTA form additions ---------------------------------------------------
   The form itself is the site's .form. Only the radio set needs anything, and
   only because .form label is display:block. */
.ap-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.ap-fieldset legend { font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: var(--navy); padding: 0; margin-bottom: 8px; }
.ap-radios { display: flex; flex-wrap: wrap; gap: 10px; }
.form .ap-radios label { display: inline-flex; align-items: center; gap: 8px; margin: 0; border: 1px solid var(--hair); background: var(--cream); padding: 9px 16px; font-size: 14px; font-weight: 500; cursor: pointer; }
.form .ap-radios label:hover { border-color: var(--navy); }
.form .ap-radios input { width: auto; padding: 0; margin: 0; accent-color: var(--gold-ink); }


/* The form's fine print, one step down from the site's .form .hint (0.85rem)
   at Randy's request, 2026-09-22. 12.5px is not a new size on this page --
   .ap-src and the wheel's caption already sit there -- and it is the same
   --slate on --warm those two are measured at, so the contrast is unchanged.

   THIS IS SCOPED BY THE STYLESHEET, NOT BY A CLASS, AND THAT IS NOT A STYLE
   PREFERENCE. This file is loaded by advisor-partnerships.html alone, and the
   theme enqueues it only `if ( is_page( 'advisor-partnerships' ) )`, so a bare
   selector here cannot reach the contact page or a newsletter. The first
   attempt added `ap-hint` as a second class instead -- and `montis_swap_form()`
   in functions.php lifts the consent paragraph out of the demo form by matching
   the literal string `<p class="hint">` before replacing the form with the
   Fluent one. A second class broke that match, the paragraph went into the
   discarded form, and the live page lost its "not a secure channel" line with
   nothing to show for it. Found by Randy on the pasted page, 2026-09-23.
   **DO NOT PUT A SECOND CLASS ON THAT PARAGRAPH.**

   BOTH SELECTORS ARE NEEDED, because the paragraph sits in a different place in
   each tree. In the prototype it is inside <form class="form">. On WordPress the
   theme prints it AFTER the Fluent form, so it is no longer a descendant of
   .form -- which is why the bare `.hint` rule is here and why it also carries
   the colour and the link underline that `.form .hint` gives it in the
   prototype. Without it the live page renders this paragraph unstyled. */
.hint, .form .hint { font-size: 12.5px; line-height: 1.6; color: var(--slate); }
.hint a, .form .hint a { border-bottom: 1px solid var(--gold); }
