/* ============================================================
   Dean Blankfield — Couples coaching.
   Extends tokens from anxious.css (+ coaching.css, funnel.css).
   Adds: couple emblem, featured quote band, investment panel.
   ============================================================ */

/* ---- Couple emblem (two overlapping rings) ---- */
.cpl-rings { display: inline-flex; vertical-align: middle; }
.cpl-rings span { display: block; width: 22px; height: 22px; border-radius: 50%; border: 1.6px solid currentColor; }
.cpl-rings span + span { margin-left: -9px; }

/* hero micro line with the rings */
.hero__pair { display: inline-flex; align-items: center; gap: 12px; }

/* ---- Dynamic: the loop between two people (reuse .loop tokens) ---- */
.duo { margin-top: clamp(40px,5vw,68px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px,1.6vw,22px); }
.duo__card { position: relative; border: 1px solid var(--hair); border-radius: var(--r); background: var(--white); padding: clamp(28px,3vw,40px); }
.duo__k { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--taupe); }
.duo__k i { width: 9px; height: 9px; border-radius: 50%; background: var(--brown); flex: none; }
.duo__card--avo .duo__k i { background: var(--green-dk, #001B08); }
.duo__t { font-size: clamp(21px,2vw,27px); letter-spacing: -0.03em; color: var(--ink); margin: 12px 0 14px; }
.duo__card p { font-size: clamp(16px,1.3vw,18px); line-height: 1.5; color: var(--muted); max-width: 38ch; }
.duo__mid { text-align: center; margin-top: clamp(28px,3vw,40px); max-width: 64ch; margin-inline: auto; font-size: clamp(18px,1.6vw,22px); font-weight: 500; letter-spacing: -0.02em; color: var(--ink); line-height: 1.4; text-wrap: balance; }
.duo__mid em { font-style: normal; color: var(--brown); }

/* ---- Featured quote band (Michelle A) ---- */
.fquote { position: relative; background: radial-gradient(125% 120% at 80% 0%, #80715F 0%, var(--brown) 52%, #443A33 100%); color: #fff; overflow: hidden; }
.fquote__inner { position: relative; z-index: 1; max-width: 1040px; margin: 0 auto; padding-block: clamp(72px,9vw,128px); padding-inline: var(--pad); text-align: center; }
.fquote__mark { font-size: clamp(80px,10vw,150px); line-height: 0.7; font-weight: 600; color: rgba(255,255,255,0.16); height: 0.42em; display: block; }
.fquote__stars { display: flex; justify-content: center; gap: 6px; color: #F2C9A0; margin-bottom: 26px; }
.fquote__stars svg { width: 22px; height: 22px; }
.fquote__q { font-size: clamp(24px,3vw,42px); font-weight: 600; letter-spacing: -0.03em; line-height: 1.22; max-width: 22ch; margin: 22px auto 0; text-wrap: balance; }
.fquote__who { margin-top: clamp(30px,3.4vw,44px); display: inline-flex; align-items: center; gap: 14px; }
.fquote__av { width: 50px; height: 50px; border-radius: 50%; flex: none; display: grid; place-items: center; font-weight: 600; font-size: 16px; color: #fff; background: radial-gradient(120% 120% at 30% 25%, #D8CFC2, #8A7F76); }
.fquote__nm { text-align: left; }
.fquote__nm b { display: block; font-weight: 600; font-size: 17px; letter-spacing: -0.02em; color: #fff; }
.fquote__nm span { font-size: 14px; color: rgba(255,255,255,0.7); }
.fquote__ghost { position: absolute; right: 2%; bottom: -8%; z-index: 0; font-size: 26vw; font-weight: 600; letter-spacing: -0.05em; color: rgba(255,255,255,0.05); line-height: 1; pointer-events: none; user-select: none; }

/* ---- Investment panel (overview) — mirrors apply af-invest ---- */
.cinvest { margin-top: clamp(40px,5vw,64px); display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(20px,2.4vw,32px); align-items: stretch; }
.cinvest__intro { display: flex; flex-direction: column; justify-content: center; }
.cinvest__intro .lede { margin-top: 22px; color: var(--muted); max-width: 42ch; }
.cinvest__intro .btn { margin-top: clamp(26px,3vw,36px); align-self: flex-start; }
.cinvest__panel { background: radial-gradient(130% 130% at 85% 0%, #80715F 0%, var(--brown) 52%, #443A33 100%); color: #fff; border-radius: var(--r); padding: clamp(28px,3.2vw,44px); }
.cinvest__eb { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.66); }
.cinvest__lead { margin-top: 12px; font-weight: 500; font-size: clamp(19px,1.9vw,23px); line-height: 1.3; letter-spacing: -0.035em; color: #fff; max-width: 30ch; text-wrap: balance; }
.cinvest__steps { margin-top: clamp(24px,2.8vw,30px); }
.cinvest__step { display: flex; gap: 16px; }
.cinvest__num { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 15px; color: #fff; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.3); }
.cinvest__body { flex: 1; padding-bottom: 4px; }
.cinvest__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.cinvest__k { font-size: clamp(15px,1.4vw,17px); letter-spacing: -0.016em; color: rgba(255,255,255,0.9); max-width: 26ch; }
.cinvest__v { font-weight: 700; font-size: clamp(20px,2vw,26px); letter-spacing: -0.03em; color: #fff; white-space: nowrap; }
.cinvest__vsub { display: block; font-size: 12px; font-weight: 500; letter-spacing: -0.01em; color: rgba(255,255,255,0.62); text-align: right; margin-top: 2px; }
.cinvest__sub { margin-top: 6px; font-size: clamp(14px,1.3vw,15px); line-height: 1.5; letter-spacing: -0.01em; color: rgba(255,255,255,0.72); max-width: 40ch; }
.cinvest__bridge { margin: 12px 0 12px 14px; padding: 10px 0 10px 30px; border-left: 1px solid rgba(255,255,255,0.3); font-style: italic; font-size: clamp(14px,1.3vw,15px); line-height: 1.45; letter-spacing: -0.01em; color: rgba(255,255,255,0.82); }
.cinvest__note { margin-top: 18px; font-size: 14px; line-height: 1.5; letter-spacing: -0.01em; color: rgba(255,255,255,0.74); }

@media (max-width: 860px) {
  .duo { grid-template-columns: 1fr; }
  .cinvest { grid-template-columns: 1fr; }
}

/* ---- Apply (couples) — small additions over apply.css ---- */
.af-partner { margin-top: 4px; padding: 14px 16px; border-radius: 12px; background: var(--paper, #F6F2EC); border: 1px solid var(--hair); display: flex; gap: 11px; align-items: flex-start; }
.af-partner svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--brown); }
.af-partner p { font-size: 14px; line-height: 1.5; letter-spacing: -0.01em; color: var(--muted); }
.af-partner strong { color: var(--ink); font-weight: 600; }
