/* trubetech.com -- Digital Member profile pages (2026-11-04 rebuild, Brandon direct).
   Loaded only by pages that use the layout engine in includes/member-page.php.
   Six heroes x five page flows x per-block styles, so two members never share a skeleton.
   Built on the glow theme tokens (body.glow); no new colors. */
.mp-hero, .mp-flow { --mp-acc:#ff5a5e; --mp-acc-bg:rgba(212,16,20,.13); --mp-edge:rgba(255,255,255,.10); --mp-card:linear-gradient(160deg,rgba(255,255,255,.065),rgba(255,255,255,.018)); }
.mp-hero p, .mp-flow p { margin:0; }

/* ------------------------------------------------ portrait + chips */
.mp-portrait { width:280px; height:280px; object-fit:cover; object-position:top; border-radius:14px; filter:none; flex:none; box-shadow:0 0 0 1px var(--mp-edge),0 22px 60px rgba(0,0,0,.55),0 0 46px rgba(212,16,20,.18); }
.mp-monogram { display:flex; align-items:center; justify-content:center; font:600 5rem/1 var(--mono); color:var(--mp-acc); background:var(--mp-card); }
.mp-hero .mp-note { font-size:.8rem; margin-top:4px; }
.mp-hero .mp-reports { margin-top:16px; color:var(--ink-muted); font-size:.95rem; }
.mp-namechip { display:inline-flex; gap:10px; align-items:baseline; font:600 .85rem var(--mono); letter-spacing:.04em; padding:6px 12px; border:1px solid var(--mp-edge); border-radius:99px; background:var(--mp-acc-bg); color:#fff; width:max-content; max-width:100%; }
.mp-namechip em { font-style:normal; font-weight:500; color:var(--mp-acc); text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; }

/* ------------------------------------------------ heroes */
.mp-hero { padding:72px 0 36px; }
.mp-hero h1 { max-width:22ch; margin-top:10px; }
.mp-hero .mp-lede { margin-top:22px; }
.mp-hero-in { display:flex; gap:56px; align-items:center; }
.mp-hero-text { min-width:0; flex:1; }
.mp-hero-split-right .mp-portrait, .mp-hero-split-left .mp-portrait { width:300px; height:300px; }
.mp-hero-split-left .mp-hero-in { flex-direction:row; }
/* center */
.mp-hero-center .mp-hero-in { flex-direction:column; text-align:center; gap:0; }
.mp-hero-center .mp-portrait { width:190px; height:190px; border-radius:50%; margin-bottom:26px; }
.mp-hero-center h1 { max-width:24ch; margin-left:auto; margin-right:auto; }
.mp-hero-center .mp-lede { margin-left:auto; margin-right:auto; }
/* banner */
.mp-hero-banner { padding-top:92px; background:radial-gradient(70% 90% at 12% 0%,rgba(212,16,20,.2),transparent 70%); border-bottom:1px solid var(--mp-edge); padding-bottom:44px; }
.mp-hero-banner .mp-hero-in { flex-direction:column; align-items:stretch; gap:34px; }
.mp-hero-banner h1 { font-size:clamp(2rem,4.6vw,3.4rem); max-width:24ch; line-height:1.06; }
.mp-hero-foot { display:flex; gap:30px; align-items:flex-start; }
.mp-hero-banner .mp-portrait { width:150px; height:150px; border-radius:50%; }
.mp-hero-foot > div { display:flex; flex-direction:column; gap:14px; min-width:0; }
.mp-hero-banner .mp-lede { margin-top:0; max-width:64ch; }
/* card */
.mp-hero-card .mp-hero-in { align-items:flex-start; }
.mp-frame { margin:0; flex:none; padding:12px 12px 16px; border:1px solid var(--mp-edge); border-radius:16px; background:var(--mp-card); box-shadow:0 22px 60px rgba(0,0,0,.5); text-align:center; }
.mp-frame .mp-portrait { width:260px; height:320px; box-shadow:none; border-radius:10px; }
.mp-frame figcaption { margin-top:12px; font:600 1rem var(--mono); color:#fff; line-height:1.4; }
.mp-frame figcaption em { font-style:normal; font-weight:500; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mp-acc); }
/* quote */
.mp-hero-quote .mp-hero-in { flex-direction:column; align-items:flex-start; gap:0; max-width:900px; }
.mp-hero-top { display:flex; align-items:center; gap:18px; margin-bottom:26px; }
.mp-hero-quote .mp-portrait { width:84px; height:84px; border-radius:50%; }
.mp-hero-quote h1 { font-size:clamp(1.3rem,2.4vw,1.7rem); color:var(--ink-muted); font-weight:500; max-width:40ch; margin-bottom:6px; }
.mp-bigquote { position:relative; margin-top:18px; padding-left:44px; border-left:3px solid var(--red); }
.mp-bigquote::before { content:"\201C"; position:absolute; left:10px; top:-14px; font:700 4.2rem/1 var(--mono); color:var(--mp-acc); opacity:.5; }
.mp-bigquote .lede { font-size:clamp(1.3rem,2.6vw,1.75rem); line-height:1.45; color:#fff; max-width:none; margin:0; }

/* ------------------------------------------------ flows */
.mp-flow { padding-top:28px; padding-bottom:64px; counter-reset:mpsec; }
.mp-sec { padding:30px 0; border-top:1px solid var(--mp-edge); }
.mp-sec:first-child { border-top:0; }
.mp-sec h2 { font-size:clamp(1.35rem,2.6vw,1.8rem); margin:0; }
.mp-num { display:none; font:600 .8rem var(--mono); color:var(--mp-acc); letter-spacing:.1em; }
.mp-sec-body > * + * { margin-top:16px; }
.mp-sec-head { margin-bottom:18px; }
.mp-p { color:var(--ink-muted); font-size:1.04rem; line-height:1.7; }
.mp-p strong, .mp-lead-item strong { color:#fff; }
.mp-p-lead { font-size:1.3rem; line-height:1.55; color:#e7eaf0; }
.mp-pull { font:500 clamp(1.25rem,2.4vw,1.6rem)/1.4 var(--mono); color:#fff; padding:4px 0 4px 20px; border-left:3px solid var(--red); text-wrap:balance; }
.mp-quote { margin:0; padding:6px 0 6px 20px; border-left:3px solid var(--red); color:#fff; font-size:1.15rem; }
.mp-sec a { color:#fff; text-decoration-color:var(--red); }

/* stack: one centered column */
.mp-flow-stack { max-width:780px; }
/* editorial: heading in the margin, text beside it */
.mp-flow-editorial .mp-sec { display:grid; grid-template-columns:240px minmax(0,1fr); gap:44px; padding:36px 0; }
.mp-flow-editorial .mp-sec-head { margin:0; position:sticky; top:88px; align-self:start; }
.mp-flow-editorial .mp-sec h2 { font-size:1.2rem; color:#fff; }
/* sidebar: story on the left, ask-me + what-this-means kept in view on the right */
.mp-flow-sidebar { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:52px; align-items:start; }
.mp-flow-sidebar .mp-aside { position:sticky; top:88px; display:flex; flex-direction:column; gap:20px; padding-top:30px; }
.mp-flow-sidebar .mp-aside .mp-sec { border:1px solid var(--mp-edge); border-radius:16px; padding:22px; background:var(--mp-card); }
.mp-flow-sidebar .mp-aside .mp-sec h2 { font-size:1.1rem; }
.mp-flow-sidebar .mp-aside .mp-sec-head { margin-bottom:12px; }
/* grid: sections as cards, two across */
.mp-flow-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.mp-flow-grid .mp-sec { border:1px solid var(--mp-edge); border-radius:16px; padding:26px; background:var(--mp-card); box-shadow:inset 0 1px 0 rgba(255,255,255,.1); height:100%; box-sizing:border-box; }
.mp-flow-grid .mp-sec:first-child, .mp-flow-grid .mp-k-means, .mp-flow-grid .mp-sec:last-child:nth-child(odd) { grid-column:1 / -1; }
.mp-flow-grid .mp-sec-head { margin-bottom:14px; }
/* rail: numbered spine down the left */
.mp-flow-rail { max-width:860px; position:relative; }
.mp-flow-rail .mp-sec { position:relative; border:0; padding:26px 0 26px 76px; }
.mp-flow-rail .mp-sec::before { content:""; position:absolute; left:27px; top:0; bottom:0; width:2px; background:linear-gradient(var(--mp-edge),var(--mp-edge)); }
.mp-flow-rail .mp-num { display:flex; position:absolute; left:0; top:24px; width:56px; height:56px; align-items:center; justify-content:center; border:1px solid var(--mp-acc); border-radius:50%; background:#0b0d11; box-shadow:0 0 22px rgba(212,16,20,.35); font-size:1rem; }
.mp-flow-rail .mp-sec-head { min-height:56px; display:flex; align-items:center; margin-bottom:10px; }

/* ------------------------------------------------ lists */
.mp-list { list-style:none; margin:0; padding:0; }
.mp-list li, .mp-steps li { color:var(--ink-muted); line-height:1.6; }
.mp-list li strong, .mp-steps li strong { color:#fff; }
.mp-list-plain li { position:relative; padding-left:22px; margin-top:10px; }
.mp-list-plain li::before { content:""; position:absolute; left:2px; top:.72em; width:8px; height:8px; background:var(--red); border-radius:1px; transform:rotate(45deg); }
.mp-list-checks li { position:relative; padding-left:34px; margin-top:12px; }
.mp-list-checks li::before { content:"\2713"; position:absolute; left:0; top:0; width:22px; height:22px; display:flex; align-items:center; justify-content:center; border:1px solid var(--mp-acc); border-radius:50%; color:var(--mp-acc); font-size:.78rem; }
.mp-list-ruled li { padding:14px 0; border-top:1px solid var(--mp-edge); }
.mp-list-ruled li:last-child { border-bottom:1px solid var(--mp-edge); }
.mp-list-cards, .mp-list-tiles { display:grid; gap:14px; }
.mp-list-cards { grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
.mp-list-cards li { padding:18px 20px; border:1px solid var(--mp-edge); border-radius:14px; background:var(--mp-card); }
.mp-list-tiles { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.mp-list-tiles li { padding:16px 18px; border-left:3px solid var(--red); background:var(--mp-acc-bg); border-radius:0 10px 10px 0; }
.mp-flow-sidebar .mp-main .mp-list-cards, .mp-flow-grid .mp-list-cards, .mp-flow-grid .mp-list-tiles, .mp-flow-sidebar .mp-list-tiles { grid-template-columns:1fr; }

/* ordered */
.mp-steps { list-style:none; margin:0; padding:0; counter-reset:mpstep; }
.mp-steps li { position:relative; counter-increment:mpstep; }
.mp-steps-numbers li { padding:12px 0 12px 62px; min-height:34px; }
.mp-steps-numbers li::before { content:counter(mpstep); position:absolute; left:0; top:4px; font:700 2.2rem/1 var(--mono); color:var(--mp-acc); text-shadow:0 0 18px rgba(212,16,20,.6); width:48px; }
.mp-steps-timeline { border-left:2px solid var(--mp-edge); margin-left:12px; }
.mp-steps-timeline li { padding:6px 0 18px 30px; }
.mp-steps-timeline li::before { content:""; position:absolute; left:-8px; top:11px; width:14px; height:14px; border-radius:50%; background:#0b0d11; border:2px solid var(--mp-acc); box-shadow:0 0 12px rgba(212,16,20,.55); }
.mp-steps-ledger li { display:grid; grid-template-columns:44px 1fr; gap:12px; padding:13px 0; border-bottom:1px dashed var(--mp-edge); }
.mp-steps-ledger li::before { content:counter(mpstep, decimal-leading-zero); font:600 .9rem var(--mono); color:var(--mp-acc); padding-top:3px; }
.mp-steps-steps li { padding:16px 18px 16px 58px; border:1px solid var(--mp-edge); border-radius:12px; background:var(--mp-card); margin-top:12px; }
.mp-steps-steps li:first-child { margin-top:0; }
.mp-steps-steps li::before { content:counter(mpstep); position:absolute; left:16px; top:16px; width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--red); color:#fff; font:700 .85rem var(--mono); }

/* bold-lead paragraphs */
.mp-leads { display:grid; gap:14px; }
.mp-lead-item { color:var(--ink-muted); line-height:1.65; }
.mp-lead-item strong { display:block; margin-bottom:4px; font-size:1.05rem; }
.mp-lead-item span { display:block; }
.mp-leads-cols { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.mp-leads-cols .mp-lead-item { padding:18px; border:1px solid var(--mp-edge); border-radius:14px; background:var(--mp-card); }
.mp-leads-rail .mp-lead-item { padding-left:20px; border-left:3px solid var(--red); }
.mp-leads-stack .mp-lead-item { padding-bottom:14px; border-bottom:1px solid var(--mp-edge); }
.mp-flow-sidebar .mp-main .mp-leads-cols, .mp-flow-grid .mp-leads-cols { grid-template-columns:1fr; }

/* ask me about */
.mp-ask { list-style:none; margin:0; padding:0; }
.mp-ask li { color:#e7eaf0; line-height:1.5; }
.mp-ask-chips { display:flex; flex-wrap:wrap; gap:10px; }
.mp-ask-chips li { padding:9px 15px; border:1px solid var(--mp-acc); border-radius:99px; background:var(--mp-acc-bg); font-size:.95rem; }
.mp-ask-bubbles { display:flex; flex-direction:column; gap:12px; }
.mp-ask-bubbles li { position:relative; max-width:92%; padding:12px 16px; border-radius:16px 16px 16px 4px; background:var(--mp-card); border:1px solid var(--mp-edge); }
.mp-ask-bubbles li:nth-child(even) { align-self:flex-end; border-radius:16px 16px 4px 16px; background:var(--mp-acc-bg); }
.mp-ask-index li { padding:12px 0 12px 30px; border-top:1px solid var(--mp-edge); position:relative; }
.mp-ask-index li:last-child { border-bottom:1px solid var(--mp-edge); }
.mp-ask-index li::before { content:"\2192"; position:absolute; left:2px; color:var(--mp-acc); }

/* what this means for you */
.mp-k-means .mp-p { color:#fff; }
.mp-means-band { border:0; padding:0; margin-top:14px; }
.mp-means-band .mp-sec-head { margin:0; }
.mp-means-band { background:linear-gradient(90deg,var(--mp-acc-bg),transparent); border-left:4px solid var(--red); padding:24px 26px; border-radius:0 14px 14px 0; }
.mp-means-card { border:1px solid var(--mp-acc); border-radius:16px; padding:24px; background:var(--mp-acc-bg); box-shadow:0 0 38px rgba(212,16,20,.2); margin-top:14px; }
.mp-means-big { margin-top:14px; text-align:center; padding:40px 12px; }
.mp-means-big .mp-p { font:500 clamp(1.25rem,2.8vw,1.75rem)/1.45 var(--mono); }
.mp-means-big .mp-sec-head { margin-bottom:16px; }
.mp-means-big h2 { color:var(--mp-acc); font-size:.9rem; letter-spacing:.14em; text-transform:uppercase; }
.mp-flow-editorial .mp-means-band, .mp-flow-editorial .mp-means-card, .mp-flow-editorial .mp-means-big { grid-template-columns:1fr; display:block; }
.mp-flow-editorial .mp-means-band .mp-sec-head, .mp-flow-editorial .mp-means-card .mp-sec-head, .mp-flow-editorial .mp-means-big .mp-sec-head { position:static; margin-bottom:12px; }
.mp-flow-rail .mp-means-band, .mp-flow-rail .mp-means-card { margin-left:0; }
.mp-flow-grid .mp-means-big, .mp-flow-grid .mp-means-band, .mp-flow-grid .mp-means-card { padding:26px; }
/* 2026-11-07 review fixes: a lone card before the full-width closing block spans the row; the big closing line stays readable inside a narrow sidebar. */
.mp-flow-grid .mp-sec:nth-child(even):has(+ .mp-k-means), .mp-flow-grid .mp-sec:last-child:nth-child(even) { grid-column:1 / -1; }
.mp-flow-sidebar .mp-aside .mp-means-big { padding:22px; text-align:left; }
.mp-flow-sidebar .mp-aside .mp-means-big .mp-p { font:500 1.05rem/1.55 var(--mono); }
.mp-flow-sidebar .mp-aside .mp-means-big h2 { font-size:.8rem; }

/* ------------------------------------------------ small screens */
@media (max-width: 860px) {
  .mp-hero { padding-top:44px; }
  .mp-hero-in, .mp-hero-split-left .mp-hero-in { flex-direction:column; align-items:flex-start; gap:30px; }
  .mp-hero-split-left .mp-portrait, .mp-hero-split-right .mp-portrait { width:220px; height:220px; }
  .mp-hero-split-right .mp-portrait { order:-1; }
  .mp-hero-card .mp-hero-in { align-items:center; }
  .mp-hero-card .mp-hero-text { align-self:stretch; }
  .mp-hero-foot { flex-direction:column; }
  .mp-flow-editorial .mp-sec { grid-template-columns:1fr; gap:14px; }
  .mp-flow-editorial .mp-sec-head { position:static; }
  .mp-flow-sidebar { grid-template-columns:1fr; gap:0; }
  .mp-flow-sidebar .mp-aside { position:static; }
  .mp-flow-grid { grid-template-columns:1fr; }
  .mp-flow-rail .mp-sec { padding-left:60px; }
  .mp-flow-rail .mp-num { width:44px; height:44px; font-size:.85rem; }
  .mp-flow-rail .mp-sec::before { left:21px; }
  .mp-ask-bubbles li { max-width:100%; }
}
@media (prefers-reduced-motion: no-preference) {
  .mp-list-cards li, .mp-leads-cols .mp-lead-item, .mp-ask-chips li, .mp-flow-grid .mp-sec { transition:transform .22s ease, box-shadow .22s ease; }
  .mp-list-cards li:hover, .mp-leads-cols .mp-lead-item:hover, .mp-flow-grid .mp-sec:hover { transform:translateY(-3px); box-shadow:0 0 30px rgba(212,16,20,.22); }
  .mp-ask-chips li:hover { transform:translateY(-2px); }
}
