/* THE PLATFORM PAGES ON THE NEWSLETTER'S COMPONENTS (2026-10-02, site
   overhaul): site_ui owns the header, ribbon, section title, rows, tiles,
   cards, chips, buttons and the one hover. This sheet holds only page
   geometry. */
/* DEALS shares the Sectors | Firms grid below it (Kyle, 2026-10-02): two
   equal columns, the same gap, so Notable transactions starts where Firms
   starts. No vertical rule. */
.wrap .pf-two > .pf-right { min-width:0; }
@media (max-width:820px) { .wrap .pf-two > .pf-right { margin-top:18px; } }
/* ONE ROW, ONE HEIGHT (Kyle, 2026-10-07: Notable transactions grew past the deal chart): the two panels
   stretch to the row; the chart's panel is a column whose chart takes the spare height (never under its
   190px), so neither panel ends short. The notable list is capped at five, each line one line with an
   ellipsis, so it never grows the row. Phone: stacked, the chart its 190px. */
.wrap .pf-two { align-items:stretch; }
@media (min-width:821px) {
  .wrap .pf-two > .pf-left { display:flex; flex-direction:column; min-width:0; height:100%; }
  .wrap .pf-two > .pf-left > .pf-bars { flex:1 1 auto; height:auto; min-height:190px; }
}
.wrap .pf-right .ui-more { margin-top:12px; }
.wrap .pf-cols { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 40px; }
.wrap .pf-cols > div { min-width:0; }
@media (max-width:820px) { .wrap .pf-cols { grid-template-columns:minmax(0,1fr); } }
.wrap .pf-big { margin-top:14px; font-size:28px; font-weight:700; letter-spacing:-.5px; color:var(--ink); line-height:1.1; }
.wrap .pf-big b { font-family:var(--sans); font-weight:700; }
.wrap .pf-big span { font-family:var(--mono); font-size:var(--fs-rib); font-weight:400; letter-spacing:.08em; text-transform:uppercase;
  color:var(--grey); margin-left:6px; }
.wrap .pf-types { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:8px; font-size:var(--fs-rib); letter-spacing:.08em;
  text-transform:uppercase; color:var(--grey); }
.wrap .pf-types b { font-family:var(--mono); color:var(--ink); font-weight:700; margin-right:5px; }
/* the monthly volume, by type (Kyle, 2026-10-02): equal grid cells across
   the left half, each bar 96px centred in its cell (narrower only when the
   cell is), 24px right padding; bottom-up stacks */
.wrap .pf-bars { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:0; padding-right:24px;
  height:190px; margin-top:12px; align-items:end; }
.wrap .pf-col { display:flex; flex-direction:column; justify-content:flex-end; height:100%; min-width:0; text-align:center; }
.wrap .pf-col b { font-family:var(--mono); font-size:12px; font-weight:600; color:var(--ink); margin-bottom:4px; }
.wrap .pf-col span { font-family:var(--mono); font-size:var(--fs-label); color:var(--grey); letter-spacing:.04em; margin-top:6px;
  white-space:nowrap; }
.wrap .pf-stack { display:flex; flex-direction:column-reverse; min-height:3px; width:96px; max-width:calc(100% - 12px);
  align-self:center; }
.wrap .pf-stack i { display:block; width:100%; }
.wrap .pf-stack i + i { border-bottom:1px solid var(--paper); }
.wrap .pf-key { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:12px; font-size:var(--fs-rib); letter-spacing:.06em;
  text-transform:uppercase; color:var(--grey); }
.wrap .pf-key i { display:inline-block; width:9px; height:9px; margin-right:6px; vertical-align:-1px; }
.wrap .t-plat { background:#0B4F49; } .wrap .t-strat { background:#0F766E; }
.wrap .t-grow { background:#5FB3A4; } .wrap .t-oth { background:#C9E6E0; }
/* notable transactions (Kyle, 2026-10-02): line 1 the deal line, one line
   at desktop width; line 2 the subsector (teal 400, its own link) left and
   the date right. No chip. The deal line's link covers the row, so the
   whole row is the target and wears the one hover. */
.wrap .pf-ntx { position:relative; }
.wrap .pf-ntx .ln { display:block; font-size:14.5px; line-height:1.45; color:var(--grey); text-decoration:none;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wrap .pf-ntx .ln::before { content:""; position:absolute; inset:0; }
.wrap .pf-ntx .nm { color:var(--strong); }
.wrap .pf-ntx .ft { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:3px; }
.wrap .pf-ntx .ft .ui-subsec { position:relative; z-index:1; font-size:12.5px; min-width:0; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.wrap .pf-ntx .ft .dt { flex:none; }
@media (max-width:820px) { .wrap .pf-ntx .ln { white-space:normal; } }
/* list rows: name (+ grey context) left, the count with its unit right */
.wrap .pf-lr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:baseline; }
.wrap .pf-lr > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wrap .pf-fr { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:baseline; }
.wrap .pf-fr > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:560px) { .wrap .pf-fr { grid-template-columns:minmax(0,1fr) auto; } .wrap .pf-fr .pf-ctx { display:none; } }
.wrap .pf-ctx { color:var(--grey); font-size:12.5px; white-space:nowrap; }
.wrap .pf-ctx b { font-family:var(--mono); color:var(--ink); font-weight:600; }
/* conferences: date | host + event | location */
.wrap .pf-conf { display:grid; grid-template-columns:120px minmax(0,1fr) minmax(0,30%); gap:14px; align-items:baseline; }
.wrap .pf-conf > * { min-width:0; }
@media (max-width:640px) { .wrap .pf-conf { grid-template-columns:minmax(0,1fr); gap:2px; } }
/* the date: teal mono 600 (Kyle, 2026-10-02); host 600 ink, event and place grey */
.wrap .pf-conf .dt { font-family:var(--mono); font-size:12px; font-weight:600; color:var(--teal); }
.wrap .pf-conf .loc { color:var(--grey); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* THE SECTOR BLOCKS (Kyle, 2026-10-05; Industry view only, no Dealmaker block, 2026-10-07): a grid above the list - All, one block a sector - name left,
   count right; selected = teal fill. Six a row, four at tablet, three, then two on a phone with four rows shown
   and "More sectors" for the rest. Hidden until the script runs (a block does nothing without it). */
.wrap .cf-blocks { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:8px; margin-top:18px; }
.wrap .cf-blk[hidden] { display:none; }
.wrap .cf-b { display:flex; justify-content:space-between; align-items:baseline; gap:8px; min-width:0; padding:10px 12px;
  font-family:var(--sans); font-size:var(--fs-table); font-weight:600; line-height:1.3; text-align:left; color:var(--teal);
  background:var(--paper); border:1px solid var(--hair-2); border-radius:3px; cursor:pointer;
  transition:border-color .12s ease, background-color .12s ease, color .12s ease; }
.wrap .cf-b span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wrap .cf-b b { font-family:var(--mono); font-size:12px; font-weight:600; color:var(--ink); flex:none; font-variant-numeric:tabular-nums; }
.wrap .cf-b:hover, .wrap .cf-b:focus-visible { border-color:var(--teal); background:var(--wash); }
.wrap .cf-b[aria-pressed=true] { background:var(--teal); border-color:var(--teal); color:var(--paper); }
.wrap .cf-b[aria-pressed=true] b { color:var(--paper); }
@media (prefers-reduced-motion: reduce) { .wrap .cf-b { transition:none; } }
.wrap .cf-more { display:none; margin-top:8px; }
@media (max-width:900px) { .wrap .cf-blocks { grid-template-columns:repeat(4, minmax(0,1fr)); } }
@media (max-width:640px) { .wrap .cf-blocks { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:480px) { .wrap .cf-blocks { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .wrap .cf-blocks:not(.open) > .cf-b:nth-child(n+9) { display:none; }
  .wrap .cf-more { display:inline-block; } }
/* the view toggle on a phone (Kyle, 2026-10-07: the labels grew to "Dealmaker Conferences" / "Industry
   Conferences"): its own row, the two buttons sharing it, a label wrapping inside its button - no page scroll */
@media (max-width:480px) { .wrap .cf-rib .end { margin-left:0; width:100%; }
  .wrap .cf-rib .end .ui-tog { flex:1 1 0; min-width:0; white-space:normal; } }
.wrap .pf-dconf { line-height:1.45; }
.wrap .pf-dconf .k { font-weight:600; color:var(--ink); }
.wrap .pf-dconf .nm { font-weight:600; }
.wrap .pf-dconf .dt { font-family:var(--mono); font-size:12px; font-weight:600; color:var(--grey); }
.wrap .pf-dconf .loc, .wrap .pf-dconf .sep { color:var(--grey); }
.wrap .pf-conf.pf-c4 { grid-template-columns:120px minmax(0,1fr) minmax(0,30%) auto; }
/* the event's one-line context: the deal-row subline (grey 12.5px), under the name column */
.wrap .pf-cab { color:var(--grey); font-size:12.5px; line-height:1.45; margin-top:3px; padding-left:134px; }
@media (max-width:640px) { .wrap .pf-cab { padding-left:0; } }
.wrap .pf-ci { display:flex; gap:10px; align-items:center; justify-self:end; }
/* ADD TO CALENDAR (Kyle, 2026-10-07): one button, a small menu under it, right-aligned to it (fits a phone) */
.wrap .cf-cal { position:relative; z-index:5; flex:none; display:inline-flex; }
.wrap .cf-cal:has(.cf-calb[aria-expanded=true]) { z-index:50; }
/* ICON ONLY (Kyle, 2026-10-10: no "Add to calendar" words anywhere; slightly larger; one size and one hover on every
   page): a 32px square, the 17px icon centred */
.wrap .cf-calb { all:unset; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; padding:0; color:var(--grey); border-radius:2px; cursor:pointer; }
.wrap .cf-calb svg { flex:none; }
.wrap .cf-calb:hover, .wrap .cf-calb[aria-expanded=true] { color:var(--teal); background:var(--wash); }
.wrap .cf-calb:focus-visible { color:var(--teal); outline:2px solid var(--teal); outline-offset:0; }
.wrap .cf-calm { position:absolute; right:0; top:calc(100% + 4px); z-index:40; display:flex; flex-direction:column;
  min-width:176px; max-width:calc(100vw - 32px); background:var(--paper); border:1px solid var(--hair-2); padding:4px 0; }
.wrap .cf-calm[hidden] { display:none; }
.wrap .cf-calm a { position:relative; z-index:1; display:block; padding:7px 12px; font-size:var(--fs-table); color:var(--body);
  text-decoration:none; white-space:nowrap; }
.wrap .cf-calm a:hover, .wrap .cf-calm a:focus-visible { background:var(--wash); color:var(--teal); outline:0; }
/* the dashboard row: the line left, the calendar control right, the blurb under both */
.wrap .pf-win { margin:14px 0 0 0; text-align:right; }     /* the ranked rows' window label (Kyle, 2026-10-12) */
.wrap .pf-ftypes a { color:inherit; text-decoration:none; }
.wrap .pf-ftypes a:hover, .wrap .pf-ftypes a:focus-visible { color:var(--teal); }
.wrap .pf-ftypes a:hover b, .wrap .pf-ftypes a:focus-visible b { color:var(--teal); }
.wrap .pf-dline { display:flex; align-items:flex-start; gap:10px; }
.wrap .pf-dline .pf-dconf { flex:1 1 auto; min-width:0; }
/* phone: the icon stays at the right of the line (icon only since 2026-10-10) */
@media (max-width:640px) { .wrap .pf-dline { gap:6px; } }
/* THE DASHBOARD'S DEALMAKER / INDUSTRY ROWS (Kyle, 2026-10-10): each subhead is ONE link - the label and its upcoming
   count highlight together, the whole row opens the conferences page in that view */
.wrap a.pf-dsub { display:block; color:inherit; text-decoration:none; border-radius:2px; transition:background-color .12s ease; }
.wrap a.pf-dsub .ui-sh.sub { margin-top:0; padding-top:18px; }
.wrap .pf-dconfs > div > a.pf-dsub:first-child { margin-top:0; }
.wrap a.pf-dsub:hover, .wrap a.pf-dsub:focus-visible { background:var(--wash); }
.wrap a.pf-dsub:hover h3, .wrap a.pf-dsub:focus-visible h3, .wrap a.pf-dsub:hover em, .wrap a.pf-dsub:focus-visible em,
.wrap a.pf-dsub:hover em b, .wrap a.pf-dsub:focus-visible em b { color:var(--teal); }
.wrap a.pf-dsub .lg-x { display:inline-block; margin-left:7px; font-family:var(--sans); font-size:13px; font-weight:400;
  transition:transform .12s ease; }
.wrap a.pf-dsub:hover .lg-x, .wrap a.pf-dsub:focus-visible .lg-x { transform:translate(3px, -1px) scale(1.2); }
.wrap a.pf-dsub:focus-visible { outline:2px solid var(--teal); outline-offset:-2px; }
@media (prefers-reduced-motion: reduce) { .wrap a.pf-dsub, .wrap a.pf-dsub .lg-x { transition:none; } }
/* A CONFERENCE'S OWN PAGE (Kyle, 2026-10-10) */
.wrap .cf-pg-blurb { margin-top:18px; }
.wrap .cf-att { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0 24px; }
.wrap .cf-att > * { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:7px 0; border-top:1px solid var(--hair);
  font-size:var(--fs-table); color:var(--strong); }
.wrap .cf-att a { color:var(--teal); font-weight:600; text-decoration:none; }
.wrap .cf-att a:hover, .wrap .cf-att a:focus-visible { text-decoration:underline; }
@media (max-width:760px) { .wrap .cf-att { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:420px) { .wrap .cf-att { grid-template-columns:minmax(0,1fr); } }
.wrap .pf-dconfs .pf-cab { padding-left:0; }
/* THE DEEP LINK'S LANDING (Kyle, 2026-10-07): the row clears the top of the window and is marked for 1.5 s */
.wrap [id^="conf-"] { scroll-margin-top:24px; }
.wrap .ui-row.cf-hit { background:var(--wash); box-shadow:inset 3px 0 0 var(--teal); transition:background-color .3s ease, box-shadow .3s ease; }
@media (prefers-reduced-motion: reduce) { .wrap .ui-row.cf-hit { transition:none; } }
@media (max-width:640px) { .wrap .pf-conf.pf-c4 { grid-template-columns:minmax(0,1fr) auto; }
  .wrap .pf-conf.pf-c4 .pf-ci { grid-column:2; grid-row:1; }
  .wrap .pf-conf.pf-c4 > span:nth-child(2), .wrap .pf-conf.pf-c4 > .loc { grid-column:1 / -1; } }
/* the market map: subsector tiles naming what traded */
.wrap .pf-co { display:flex; flex-direction:column; gap:2px; font-size:var(--fs-table); }
.wrap .pf-co a { color:var(--strong); font-weight:600; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wrap .pf-co a.ui-hov { display:block; padding:2px 22px 2px 6px; margin:0 -6px; border-radius:2px; }
.wrap .pf-co a.ui-hov .nm { color:var(--strong); }
.wrap .pf-co em { font-style:normal; color:var(--grey); }
/* THE SECTOR CARD (Kyle, 2026-10-02): hover = teal border + the wash + the chevron */
.wrap .pf-sec { padding:14px 16px; gap:5px; }
.wrap .pf-sec:hover, .wrap .pf-sec:has(a.ui-go:focus-visible) { border-color:var(--teal); }
.wrap .pf-sec .ui-tile-h b { font-weight:400; }
.wrap .pf-sec .ui-tile-h .nm, .wrap .pf-fc .ui-tile-h .nm { color:var(--teal); font-weight:700; }   /* teal bold names (2026-10-03) */
/* THE FIRM CARD (Kyle, 2026-10-03): the sector card's frame - 3 columns, 2 under 1000px, 1 under 560px */
.wrap .pf-fcards { grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:1000px) { .wrap .pf-fcards { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px) { .wrap .pf-fcards { grid-template-columns:minmax(0,1fr); } }
.wrap .pf-fc { padding:14px 16px; gap:5px; }
.wrap .pf-fc:hover, .wrap .pf-fc:has(a.ui-go:focus-visible) { border-color:var(--teal); }
.wrap .pf-fc .ui-tile-h b { font-weight:400; white-space:nowrap; }
.wrap .pf-fc .k { color:var(--grey); }
.wrap .pf-fc .pf-tr span.pf-tops { white-space:normal; overflow:visible; text-overflow:clip; text-align:right; }   /* wraps, never cut */
.wrap .pf-fc .pf-tr span.pf-tops a { color:var(--teal); white-space:nowrap; overflow:visible; text-overflow:clip; }
.wrap .pf-fc .pf-tr span.pf-tops a:hover, .wrap .pf-fc .pf-tr span.pf-tops a:focus-visible { text-decoration:underline; }
.wrap .pf-tr .pf-n { font-family:var(--mono); color:var(--grey); }
/* the full firm lists: a header row names the columns */
.wrap .pf-fh { font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--grey);
  padding:6px 0; border-bottom:1px solid var(--hair); }
.wrap .pf-ft { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1.2fr) 11em; gap:12px; align-items:baseline; }
/* (2026-10-07) the count column a fixed width, right-aligned, so every row's columns line up with the header's;
   the header's own cells keep its mono caps */
.wrap .pf-ft > :last-child { text-align:right; }
.wrap .pf-fh .pf-ctx { font-size:inherit; color:inherit; }
@media (max-width:640px) { .wrap .pf-ft { grid-template-columns:minmax(0,1fr) auto; } .wrap .pf-ft .pf-ftc, .wrap .pf-ft .pf-ctx { display:none; } }
/* a bank's Latest deal (Kyle, 2026-10-07): one line, a long target name ends in an ellipsis */
.wrap .pf-ft .pf-ctx { min-width:0; overflow:hidden; text-overflow:ellipsis; }
/* the firm cards' LATEST link, as it is there: strong ink, teal on hover, the date grey */
.wrap .pf-ft a.pf-lt { color:var(--strong); text-decoration:none; }
.wrap .pf-ft a.pf-lt:hover, .wrap .pf-ft a.pf-lt:focus-visible { color:var(--teal); }
.wrap .pf-ft a.pf-lt .k { color:var(--grey); font-weight:400; }
.wrap .pf-ts { font-size:var(--fs-table); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wrap .pf-sec .k { color:var(--grey); }
/* THE SECTORS PAGE'S TWO TOGGLES (Kyle, 2026-10-05): All time / YTD, then A-Z / Most deals, each its own pair;
   on a phone the two pairs share a line under the counts, one at each edge */
.ui-rib .end .pf-tg { display:flex; gap:6px; }
.ui-rib .end.pf-tgs { flex-wrap:wrap; gap:6px 14px; justify-content:flex-end; }
@media (max-width:520px) { .ui-rib .end.pf-tgs { margin-left:0; width:100%; justify-content:space-between; } }
.wrap .pf-ts .pf-gn { font-family:var(--mono); }
.wrap .pf-ns { font-size:var(--fs-table); color:var(--grey); }
.wrap .pf-tr { display:flex; justify-content:space-between; align-items:baseline; gap:12px; border-top:1px solid var(--hair);
  padding-top:7px; margin-top:3px; font-size:var(--fs-table); min-width:0; }
.wrap .pf-tr .lab { font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--grey); flex:none; }
.wrap .pf-tr a, .wrap .pf-tr span:last-child { color:var(--strong); text-decoration:none; min-width:0; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; text-align:right; }
.wrap .pf-tr a:hover, .wrap .pf-tr a:focus-visible { color:var(--teal); }
.wrap .pf-tr .pf-none, .wrap .pf-tr .pf-ld .k { color:var(--grey); font-weight:400; }
/* the market map's Banks line (2026-10-11): under the companies, at the tile's foot */
.wrap .pf-sec .pf-mb, .wrap .ui-tile .pf-mb { margin-top:auto; }
.wrap .pf-tr span.pf-ld .nm { font-weight:600; }
.wrap .pf-tr a.pf-mbx { color:var(--grey); font-weight:400; }
.wrap .pf-tr a.pf-mbx:hover, .wrap .pf-tr a.pf-mbx:focus-visible { color:var(--teal); }
.wrap .pf-tr span.pf-ld { white-space:normal; overflow:visible; text-overflow:clip; }   /* a tie of three wraps, never cut */
.wrap .pf-tr span.pf-ld a, .wrap .pf-tr span.pf-ld span { white-space:normal; overflow:visible; }
.wrap [data-period] [data-n-ytd] { }
.wrap .pf-hide { display:none; }
.wrap .pf-filter { max-width:420px; margin-top:16px; }

.ld-hero { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:0 56px; align-items:center; }
@media (max-width:900px) { .ld-hero { grid-template-columns:minmax(0,1fr); } }
.ld-hero > div { min-width:0; }
.ld-eye { margin-top:30px; color:var(--teal); }
.ld .ld-ph { padding-top:10px; }
.ld .ui-title { font-size:44px; line-height:1.08; text-wrap:balance; max-width:22ch; }
@media (max-width:760px) { .ld .ui-title { font-size:30px; } }
.ld .ui-sub { font-size:18px; line-height:1.55; color:var(--body); max-width:62ch; margin-top:14px; }
@media (max-width:760px) { .ld .ui-sub { font-size:16px; } }
.ld-signup { padding-top:24px; }
.ld-signup .embed-slot { margin-top:8px; }
.ld-signup .embed-slot div { height:auto !important; overflow:visible !important; }
.ld-signup .embed-slot iframe { width:100% !important; height:52px !important; border:0; display:block; }
.ld-signup .ui-btns { margin-top:10px; }
.ld-note { margin-top:10px; font-size:13px; color:var(--grey); line-height:1.5; }
.ld-go { color:var(--teal); font-weight:600; text-decoration:none; white-space:nowrap; }
.ld-go:hover, .ld-go:focus-visible { text-decoration:underline; text-decoration-color:var(--chip); text-underline-offset:3px; }
.ld-login { margin-top:8px; font-size:13px; color:var(--grey); }
.ld-side { border-left:1px solid var(--hair-2); padding-left:40px; }
@media (max-width:900px) { .ld-side { border-left:0; padding-left:0; border-top:1px solid var(--hair-2); margin-top:24px; } }
/* the count ribbon */
.ld-cnt { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); margin-top:40px; border-top:2px solid var(--ink);
  border-bottom:1px solid var(--hair-2); }
.ld-cnt > div { padding:14px 0 12px 0; min-width:0; }
.ld-cnt > div + div { padding-left:16px; border-left:1px solid var(--hair); }
.ld-cnt b { display:block; font-family:var(--mono); font-size:28px; font-weight:700; letter-spacing:-.5px; color:var(--ink);
  line-height:1.1; font-variant-numeric:tabular-nums; }
.ld-cnt span { display:block; margin-top:4px; }
@media (max-width:640px) { .ld-cnt { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ld-cnt > div + div { padding-left:0; border-left:0; } .ld-cnt > div { border-top:1px solid var(--hair); }
  .ld-cnt > div:nth-child(-n+2) { border-top:0; } .ld-cnt > div:nth-child(even) { padding-left:16px; border-left:1px solid var(--hair); } }
.ld-cap { margin-top:8px; font-size:12.5px; color:var(--grey); }
/* section titles: the meta wraps under the title on a phone */
@media (max-width:640px) { .ld .ui-sh { flex-wrap:wrap; }
  .ld .ui-sh em { order:3; flex-basis:100%; margin:6px 0 0 0; padding:0; border-bottom:0; white-space:normal; } }
/* hairline grids: tiles share one rule */
.ld-ig { gap:1px; background:var(--hair); border:1px solid var(--hair); }
.ld-ig .ui-tile { border:0; border-radius:0; padding:16px; }
.ld .ld-feat { grid-template-columns:minmax(0,1fr); margin-top:12px; }           /* the full-width Coverage agent card, under the four */
.ld .ld-feat .ld-tc { max-width:760px; }
.ld .ld-feat .ld-tc + .ld-tc { margin-top:8px; }
@media (max-width:1000px) { .ld .ld-ig.c4 { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px) { .ld .ld-ig.c4 { grid-template-columns:minmax(0,1fr); } }
.ld-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.ld-tc { margin:0; font-size:var(--fs-table); line-height:1.55; color:var(--body); }
/* THE SNAPSHOT CARDS (Kyle, 2026-10-02, after grata.com): a small blurred preview built from placeholder
   shapes - never real names or text - fading out at the bottom; a title, a line, one stat chip */
.ld-snaps { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; margin-top:16px; }
@media (max-width:860px) { .ld-snaps { grid-template-columns:minmax(0,1fr); } }
.ld-snap { border:1px solid var(--hair-2); background:var(--paper); display:flex; flex-direction:column; min-width:0; }
.ld-pvw { position:relative; height:158px; overflow:hidden; margin:14px 14px 0 14px; border:1px solid var(--hair);
  background:var(--paper); padding:10px 12px; }
.ld-pvw .fade { position:absolute; left:0; right:0; bottom:0; height:44px; background:linear-gradient(rgba(255,255,255,0), var(--paper)); }
.ld-pvh { display:flex; justify-content:space-between; align-items:baseline; gap:8px; padding-bottom:6px; border-bottom:1px solid var(--hair); }
.ld-pvh .ui-mini { margin:0; }
.ld-pvr { padding:6px 0; border-bottom:1px solid var(--hair); min-width:0; }
.ld-pvr.dim { opacity:.45; }
.ld-pvr .l1 { display:flex; justify-content:space-between; align-items:baseline; gap:8px; min-width:0; }
.ld-pvr .l1 > span:first-child, .ld-pvr .l2 { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ld-pvr .l1 .nm { font-size:var(--fs-table); font-weight:600; color:var(--strong); }
.ld-pvr .l2 { font-size:12px; margin-top:1px; }
.ld-pvr .l1 .ui-subsec { font-size:var(--fs-table); }
.ld-pvr .pf-key { margin:0; flex:none; }
.ld-pvr .n { font-family:var(--mono); font-size:12px; color:var(--ink); font-variant-numeric:tabular-nums; flex:none; }
.ld-pvr .ty { font-family:var(--mono); font-size:var(--fs-label); letter-spacing:.1em; text-transform:uppercase; color:var(--grey); margin-left:6px; }
.ld-bar { height:4px; background:var(--teal); border-radius:2px; margin-top:4px; opacity:.7; }
.ld-snap .bd { padding:14px 16px 16px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.ld-snap .bd .ui-chip { align-self:flex-start; margin-top:auto; }
/* delivery: LIVE = an ink chip, neon words; SOON = the grey outline */
.ld .ui-chip.ld-live { background:var(--ink); border-color:var(--ink); color:var(--neon); }
/* membership */
.ld-plans { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; margin-top:16px; }
@media (max-width:760px) { .ld-plans { grid-template-columns:minmax(0,1fr); } }
.ld-plan { border:1px solid var(--hair-2); padding:18px 18px 20px 18px; display:flex; flex-direction:column; gap:10px; min-width:0; }
.ld-plan.mem { background:var(--wash); border-color:var(--chip); }
.ld-plan .ui-sub { margin:0; font-size:var(--fs-table); color:var(--grey); }
.ld-plan ul { margin:0; padding:0; list-style:none; }
.ld-plan li { border-top:1px solid var(--hair); padding:8px 0; font-size:var(--fs-table); line-height:1.5; color:var(--body); }
.ld-plan li b { color:var(--strong); font-weight:600; }
.ld-plan .ui-btns { margin-top:auto; padding-top:6px; }
/* questions */
.ld-qa .ui-row b { display:block; color:var(--strong); font-weight:600; }
.ld .ui-more { margin-top:14px; }
