/* deals page styles (redesign lane, 10/24). Uses tokens from ../style.css only. */
:is(#deals, #clients, #robos, #newfirms) .sec-head { padding-block: 72px 32px; max-width: 760px; }
:is(#deals, #clients, #robos, #newfirms) .sec-head h2 { font-size: var(--t-display); letter-spacing: -0.03em; line-height: 1.07; font-weight: 700; }
:is(#deals, #clients, #robos, #newfirms) .sec-head p { color: var(--ink2); font-size: 19px; }
:is(#deals, #clients, #robos, #newfirms) .sec-head p.lede { font-size: 21px; line-height: 1.4; color: var(--ink); font-weight: 500; }
:is(#deals, #clients, #robos, #newfirms) .sec-head p.sub2 { font-size: 15px; color: var(--ink3); }
#deals .grid2 { gap: 56px; border-top: 1px solid var(--hair); padding-top: 28px; }
#deals .exhibit { gap: 14px; }
:is(#deals, #clients, #robos, #newfirms) .gap-l { height: 64px; }
:is(#deals, #clients, #robos, #newfirms) .dh { font-size: var(--t-h2); letter-spacing: -0.02em; font-weight: 700; padding-top: 28px; border-top: 1px solid var(--hair); margin-bottom: 8px; }
:is(#deals, #clients, #robos, #newfirms) .dnote { color: var(--ink3); font-size: 13px; line-height: 1.5; max-width: 680px; margin-bottom: 18px; }
#deals .dh + .controls { margin-top: 16px; }
#deals .controls { gap: 14px; margin-bottom: 18px; }
#deals .search { border-radius: 6px; border: 1px solid var(--rule); background: var(--bg); color: var(--ink); box-shadow: none; padding: 9px 12px; min-width: 240px; font: inherit; font-size: 15px; }
#deals .search:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
:is(#deals, #newfirms) .tablewrap { background: transparent; border-radius: 6px; }
:is(#deals, #newfirms) table { font-variant-numeric: tabular-nums; }
:is(#deals, #newfirms) th { background: var(--bg); position: static; font-size: 12px; font-weight: 500; color: var(--ink3); padding: 10px 14px 10px 0; border-bottom: 1px solid var(--rule); letter-spacing: .02em; }
:is(#deals, #newfirms) td { padding: 13px 14px 13px 0; border-bottom: 1px solid var(--hair); }
:is(#deals, #newfirms) th:last-child, :is(#deals, #newfirms) td:last-child { padding-right: 0; }
:is(#deals, #newfirms) td a { color: var(--accent-ink); text-decoration: none; }
:is(#deals, #newfirms) td a:hover { text-decoration: underline; }
:is(#deals, #newfirms) td .sub { color: var(--ink3); font-size: 12.5px; margin-top: 2px; }
:is(#deals, #newfirms) td .rng { color: var(--ink3); }
#deals .pill { background: transparent; border: 1px solid var(--rule); color: var(--ink3); margin-left: 4px; }
#deals .more { text-align: left; padding-block: 18px 0; }
#deals details.tbl summary { color: var(--accent-ink); }
:is(#deals, #clients, #robos, #newfirms) .wrap { padding-bottom: 80px; }
@media (max-width: 860px) {
  #deals .grid2 { gap: 40px; }
  :is(#deals, #clients, #robos, #newfirms) .sec-head { padding-block: 40px 24px; }
  #deals td, #deals th { padding-right: 12px; }
  #deals .search { width: 100%; min-width: 0; }
}
#deals .grid2 { align-items: start; }
#deals .dealtbl { table-layout: auto; width: 100%; }
#deals .dealtbl th.cb, #deals .dealtbl td:first-child { min-width: 220px; }
#deals .dealtbl th.cy, #deals .dealtbl td:nth-child(3), #deals .dealtbl th.cs, #deals .dealtbl td:nth-child(4), #deals .dealtbl th.csrc, #deals .dealtbl td:nth-child(5) { white-space: nowrap; }
#deals .dealtbl td:nth-child(2) { width: 100%; }
#deals td .nolink { color: var(--ink3); }
#deals .more { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
#deals .dcount { color: var(--ink3); }
#deals .controls { flex-wrap: wrap; align-items: center; }
#deals .search { max-width: 360px; flex: 0 1 360px; }
#deals .chips { flex-wrap: wrap; gap: 8px; }
:is(#deals, #newfirms) .tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 860px) {
  #deals .search { max-width: none; flex: 1 1 100%; }
}
@media (max-width: 600px) {
  /* deal tables become stacked entries: buyer -> target on line 1, year, size and source on line 2 */
  #deals .dealtbl a { display: inline-block; padding-block: 12px; margin-block: -12px; }   /* a taller tap area on each name, same layout */
  #deals #rmorebtn { min-height: 44px; }
  #deals .dealwrap, #deals .tablewrap:has(.dealtbl) { -webkit-mask-image: none; mask-image: none; overflow-x: visible; }
  #deals .dealtbl, #deals .dealtbl tbody { display: block; width: 100%; }
  #deals .dealtbl thead { display: none; }
  #deals .dealtbl tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; padding: 14px 0; border-bottom: 1px solid var(--hair); }
  #deals .dealtbl tr::after { content: ""; flex-basis: 100%; height: 0; order: 2; }
  #deals .dealtbl td { display: block; padding: 0; border: 0; min-width: 0; width: auto; white-space: normal; }
  #deals .dealtbl td:first-child, #deals .dealtbl td:nth-child(2) { order: 1; font-size: 16px; }
  #deals .dealtbl td:first-child { min-width: 0; }
  #deals .dealtbl td:nth-child(2) { width: auto; flex: 0 1 auto; }
  #deals .dealtbl td:nth-child(2)::before { content: "\2192\00a0"; color: var(--ink3); }
  #deals .dealtbl td:nth-child(n+3) { order: 3; font-size: 14px; color: var(--ink3); text-align: left; }
  #deals .dealtbl td:nth-child(n+3):not(:empty)::before { content: "\00b7\00a0"; }
  #deals .dealtbl td:nth-child(3):not(:empty)::before { content: none; }
  #deals .dealtbl td:empty { display: none; }
  #deals .dealtbl td .sub { display: inline; margin: 0 0 0 4px; }
  #deals .dealtbl td.src a { display: inline-block; padding-block: 12px; margin-block: -12px; }
  #deals .dealtbl td[colspan] { display: block; }
}
#deals .gone-ex { margin-bottom: 28px; max-width: 760px; }
