/* ============================================================
   CLINICAL RESULTS — one-viewport diptych composition
   Left: copy · improvements · controls.  Right: the pair as a
   single framed object (hairline seam, corner tags).
   Shared by product-v2.html + product-ours.html (assets/ba-gallery.js).
   ============================================================ */
.ba-sec{
  display:grid;grid-template-columns:minmax(340px,.85fr) 1.15fr;
  gap:clamp(26px,4vw,64px);align-items:center;
}
/* section display sized to hold the whole act in one viewport */
.ba-sec .display{font-size:clamp(2rem,3.4vw,3rem)}
.ba-sec .results-intro{max-width:44ch}

/* improvements — quiet hairline rows, not boxes */
.ba-improve{list-style:none;margin:clamp(18px,2.4vh,28px) 0 0;padding:0}
.ba-improve li{
  display:flex;align-items:baseline;gap:.9em;
  padding:.85em 0;border-top:1px solid rgba(211,173,90,.22);
  font-size:.95rem;line-height:1.5;color:var(--text-soft,#e7f2e7);
}
.ba-improve li:last-child{border-bottom:1px solid rgba(211,173,90,.22)}
.ba-improve li::before{
  content:"";flex:0 0 auto;width:5px;height:5px;border-radius:50%;
  background:var(--gold,#d3ad5a);transform:translateY(-2px);
}

/* ---- the diptych ---- */
.ba-case{display:none}
.ba-case.is-active{display:block;animation:baFade .5s var(--ease-out,cubic-bezier(.4,0,.2,1)) both}
@keyframes baFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---- the pair (LUXURY PASS 2026-07-26, Lonnie: "feel balanced like a pair / set" +
   "make the section feel more luxury") ----
   Was: a hard gold box with a 2px gold seam and two filled label chips sitting ON the faces —
   clinic-chart furniture. Now the images are given AIR (a real gutter instead of a seam), the
   frame is a hairline that only just separates them from the teal, and the labels step OFF the
   photograph entirely and sit beneath it as quiet letterspaced caps. Nothing is drawn over a
   client's face. Since the crops are now matched, the pair aligns on its own — no chrome needed. */
.ba-duo{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(14px,1.6vw,26px);
  border:0;background:none;overflow:visible;
}
.ba-shot{
  position:relative;margin:0;overflow:hidden;background:#00272c;
  border:1px solid rgba(211,173,90,.22);
  box-shadow:0 26px 70px -40px rgba(0,0,0,.75);
}
.ba-shot img{
  display:block;width:100%;
  height:clamp(340px,58vh,620px);                       /* viewport-fit, not intrinsic */
  object-fit:cover;object-position:50% 32%;             /* crops are eye-line matched already */
}
/* label BELOW the frame — never a chip over the face */
.ba-shot figcaption{
  position:static;padding:.85em 0 0;background:none;
  color:var(--text-muted,#a9bcb6);
  font-family:var(--font-sans,"Neue Haas Grotesk",Arial,sans-serif);
  font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;
}
/* the only accent: AFTER is the payoff, so it alone takes the gold */
.ba-shot--after figcaption{background:none;color:var(--gold,#d3ad5a)}

/* case meta — verifiable facts only (no timing claims) */
.ba-case__meta{
  display:flex;gap:.6em 1.8em;flex-wrap:wrap;
  margin:1.6em 0 0;padding-top:1.15em;
  border-top:1px solid rgba(211,173,90,.20);            /* one hairline, the section's only rule */
  font-family:var(--font-sans,"Neue Haas Grotesk",Arial,sans-serif);
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted,#a9bcb6);
}
.ba-case__meta b{color:var(--gold,#d3ad5a);font-weight:400}

/* ---- controls ---- */
.ba-gal__controls{
  display:flex;align-items:center;gap:clamp(14px,1.8vw,24px);
  margin-top:clamp(20px,3vh,30px);
}
.ba-arrow{
  appearance:none;background:none;cursor:pointer;
  width:40px;height:40px;border:1px solid rgba(211,173,90,.4);border-radius:50%;
  color:var(--gold,#d3ad5a);display:inline-flex;align-items:center;justify-content:center;
  transition:background .4s var(--ease-out,ease),color .4s,border-color .4s;
}
.ba-arrow svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}
.ba-arrow:hover:not(:disabled){background:var(--gold,#d3ad5a);color:var(--blue-deep,#00363f)}
.ba-arrow:disabled{opacity:.3;cursor:default}
.ba-arrow:focus-visible{outline:2px solid var(--gold-light,#f2db92);outline-offset:3px}
.ba-count{
  font-family:var(--font-sans,"Neue Haas Grotesk",Arial,sans-serif);
  font-size:.72rem;letter-spacing:.22em;color:var(--text-muted,#a9bcb6);
  font-variant-numeric:tabular-nums;
}
.ba-count b{color:var(--gold,#d3ad5a);font-weight:400}
.ba-dots{display:flex;gap:9px;align-items:center}
.ba-dot{
  appearance:none;background:none;cursor:pointer;padding:0;
  width:7px;height:7px;border-radius:50%;border:1px solid rgba(211,173,90,.55);
  transition:background .4s var(--ease-out,ease),transform .4s;
}
.ba-dot[aria-current="true"]{background:var(--gold,#d3ad5a);transform:scale(1.25)}
.ba-dot:focus-visible{outline:2px solid var(--gold-light,#f2db92);outline-offset:3px}

.ba-note{font-size:12px;color:var(--text-muted,#a9bcb6);margin-top:clamp(16px,2.4vh,24px);max-width:40ch}

/* ---- mobile: stack, pair first ---- */
@media (max-width:860px){
  .ba-sec{grid-template-columns:1fr;gap:22px;align-items:start}
  .ba-sec__stage{order:-1;margin-top:8px}
  .ba-shot img{height:clamp(220px,40vh,380px)}
  .ba-sec .display{font-size:clamp(1.7rem,7vw,2.2rem)}
  .ba-improve li{font-size:.88rem;padding:.7em 0}
  .ba-gal__controls{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .ba-case.is-active{animation:none}
  .ba-arrow,.ba-dot{transition:none}
}
