    .floor-share-block { max-width:1100px; margin:0 auto; padding:28px 40px 8px; display:flex; flex-direction:column; align-items:center; }
    .floor-share-label { font-size: 10px; letter-spacing:0.32em; text-transform:uppercase; color:#7a1f2e; font-weight:700; margin-bottom:14px; }
    .floor-share { display:flex; gap:8px; }
    .floor-share a { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid #d4cfc7; color:#8a7f72; text-decoration:none; transition:all 0.15s; }
    .floor-share a:hover { border-color:#7a1f2e; color:#7a1f2e; }
    .floor-share svg { width:17px; height:17px; fill:currentColor; }
    @media (max-width:768px){ .floor-share-block { padding:36px 20px 4px; } }
  
      .floor-btb-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px 24px; }
      @media (max-width:900px){ .floor-btb-grid { grid-template-columns:repeat(2,1fr); } }
      /* 1-col at 600 (not 560) so the phone card spec in 535-core.css
     never renders two-up — the name+pill stack needs the width. */
  @media (max-width:600px){ .floor-btb-grid { grid-template-columns:1fr; } }
      .fbtb-card { position:relative; display:flex; flex-direction:column; text-decoration:none; background:#fff; border:1px solid var(--rule,#d4cfc7); border-radius:12px; box-shadow:0 8px 22px rgba(26,26,26,0.05); padding:14px 14px 22px; transition:box-shadow .2s, transform .2s; }
      .fbtb-card:hover { box-shadow:0 14px 32px rgba(26,26,26,0.10); transform:translateY(-2px); }
      .fbtb-vis { position:relative; overflow:hidden; border-radius:10px; min-height:300px; background:linear-gradient(150deg,#8a2435 0%,#7a1f2e 55%,#6a1a2b 100%); }
      .fbtb-vis .cap { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; opacity:0.4; filter:grayscale(8%); mix-blend-mode:luminosity; }
      .fbtb-vis .glow { position:absolute; inset:0; background:radial-gradient(120% 85% at 80% 14%, rgba(212,168,67,0.18), transparent 55%); }
      .fbtb-vis .tag { position:absolute; z-index:3; top:18px; left:18px; font-family:'DM Sans',sans-serif; letter-spacing:0.22em; text-transform:uppercase; font-weight:700; color:#E8C96F; font-size:10px; }
      .fbtb-vis .quote { position:absolute; z-index:1; top:6px; right:18px; font-family:'Playfair Display',serif; font-weight:900; color:rgba(255,255,255,0.12); line-height:1; font-size:74px; }
      .fbtb-vis .circle { position:absolute; left:50%; top:42%; transform:translate(-50%,-50%); width:118px; height:118px; border-radius:50%; overflow:hidden; border:3px solid rgba(255,255,255,0.92); box-shadow:0 8px 24px rgba(0,0,0,0.40); background:var(--warm,#e8e3da); display:flex; align-items:center; justify-content:center; z-index:2; }
      .fbtb-vis .circle img { width:100%; height:100%; object-fit:cover; object-position:top; }
      .fbtb-vis .circle span { font-family:'Playfair Display',serif; font-weight:700; color:#7a1f2e; font-size:34px; }
      .fbtb-vis .nm { position:absolute; left:14px; right:14px; bottom:18px; z-index:2; text-align:center; font-family:'Playfair Display',serif; font-weight:700; color:#fff; line-height:1.2; font-size:16px; }
      .fbtb-card-title { font-family:'Playfair Display',serif; font-weight:800; font-size:21px; line-height:1.2; letter-spacing:-0.005em; color:var(--ink,#1a1a1a); margin:18px 6px 10px; transition:color .2s; overflow-wrap:break-word; }
      .fbtb-card:hover .fbtb-card-title { color:#7a1f2e; }
      .fbtb-card-dek { font-family:'Playfair Display',serif; font-style:italic; font-size:15px; line-height:1.5; color:var(--soft,#8a7f72); margin:0 6px 14px; }
      .fbtb-card-read { margin:auto 6px 0; font-family:'DM Sans',sans-serif; font-size:10px; letter-spacing:0.18em; text-transform:uppercase; font-weight:700; color:#7a1f2e; }
      .fbtb-card-tags { display:flex; flex-wrap:wrap; gap:5px; margin:0 6px 14px; }
      .fbtb-card-tag { display:inline-block; padding:3px 10px; background:#fff; border:1px solid #7a1f2e;  font-family:'DM Sans',sans-serif; font-size: 10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#7a1f2e; }
      .fbtb-card-link { position:absolute; inset:0; z-index:5; border-radius:12px; font-size:0; color:transparent; }
      .fbtb-vis .nm.fbtb-nm-link { z-index:6; text-decoration:none; cursor:pointer; transition:color .15s; }
      .fbtb-vis .nm.fbtb-nm-link:hover { color:#f0d9a8; text-decoration:underline; text-underline-offset:2px; }
/* Anchors nested inside a multi-author .nm wrapper (compound .nm.fbtb-nm-link
   rules above only match single-author anchors that ARE the nm). */
.fbtb-vis .nm .fbtb-nm-link { color:inherit; z-index:6; text-decoration:none; cursor:pointer; transition:color .15s; }
.fbtb-vis .nm .fbtb-nm-link:hover { color:#f0d9a8; text-decoration:underline; text-underline-offset:2px; }

    


/* ── Author photo cluster — N authors treated equally. The wrapper takes the
   single circle's exact position; circles inside go static and overlap with
   white separation rings. s2/s3/s4 = two / three / four-plus authors. The
   hover choreography moves to the wrapper so the dim + scale matches the
   single-author behavior exactly. ── */
.fbtb-vis .circle-grp { position:absolute; left:50%; top:42%; transform:translate(-50%,-50%); z-index:2; display:flex; align-items:center; transition:opacity .35s ease,transform .45s cubic-bezier(0.16,1,0.3,1); }
div.fbtb-vis .circle-grp .circle { position:static; transform:none; top:auto; left:auto; margin:0; flex-shrink:0; }
.fbtb-vis .circle-grp.s2 .circle { width:92px; height:92px; }
.fbtb-vis .circle-grp.s2 .circle span { font-size:26px; }
.fbtb-vis .circle-grp.s2 .circle + .circle { margin-left:-26px; }
.fbtb-vis .circle-grp.s3 .circle { width:76px; height:76px; }
.fbtb-vis .circle-grp.s3 .circle span { font-size:22px; }
.fbtb-vis .circle-grp.s3 .circle + .circle { margin-left:-22px; }
.fbtb-vis .circle-grp.s4 .circle { width:62px; height:62px; }
.fbtb-vis .circle-grp.s4 .circle span { font-size:18px; }
.fbtb-vis .circle-grp.s4 .circle + .circle { margin-left:-18px; }
.fbtb-card:hover .fbtb-vis .circle-grp { opacity:0.16; transform:translate(-50%,-50%) scale(0.95); }
.fbtb-card:hover .fbtb-vis .circle-grp .circle { opacity:1; transform:none; }

/* ── Read overlay — same reveal system as the video-card play button
   (single-535 related grid): identical position, circle spec, timing,
   and hover choreography; only the glyph differs (book, not play).
   Book icons sit optically centered, so no 3px offset. ─────────────── */
.fbtb-vis .circle { transition:opacity .35s ease,transform .45s cubic-bezier(0.16,1,0.3,1); }
.fbtb-card:hover .fbtb-vis .circle { opacity:0.16; transform:translate(-50%,-50%) scale(0.95); }
.fbtb-read { position:absolute; left:50%; top:42%; transform:translate(-50%,-50%) scale(0.8); opacity:0; transition:opacity .35s ease,transform .45s cubic-bezier(0.16,1,0.3,1); z-index:5; pointer-events:none; }
.fbtb-card:hover .fbtb-read { opacity:1; transform:translate(-50%,-50%) scale(1); }
.fbtb-read .pc { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,0.95); box-shadow:0 6px 22px rgba(0,0,0,0.32); }
.fbtb-read .pc svg { width:22px; height:22px; fill:#7a1f2e; display:block; }

/* ── "● Read" pill — the persistent bottom affordance, byte-matched to
   the video card's "● Watch" pill (same bg, blur, radius, type, dot,
   hover darken). The author name moves up to clear it, mirroring the
   video card's composition (photo high, action pill anchored low). ── */
.fbtb-read-pill { position:absolute; left:50%; bottom:16px; transform:translateX(-50%); z-index:3; display:inline-flex; align-items:center; gap:6px; background:rgba(20,20,22,0.78); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; padding:6px 14px; border-radius:999px; font-family:'DM Sans',sans-serif; font-weight:700; font-size:9.5px; letter-spacing:0.22em; text-transform:uppercase; box-shadow:0 2px 10px rgba(0,0,0,0.28); transition:background .25s ease; }
.fbtb-read-pill .wd { width:5px; height:5px; border-radius:50%; background:#E8C96F; flex-shrink:0; }
.fbtb-card:hover .fbtb-read-pill { background:rgba(12,12,14,0.92); }
.fbtb-vis .nm { bottom:54px; }


/* Restore the section-head bottom padding on mobile: the generic
   `.content-wrap { padding:0 20px !important }` rule beats this
   element's inline `padding:0 40px 26px`, collapsing the gap so the
   View-all link touched the first card. Fix at the source, keeping
   the mobile 20px sides. */
@media (max-width:768px){ .content-wrap.floor-past-head { padding:0 20px 26px !important; } }

@keyframes pitch-pulse { 0%,100%{box-shadow:-3px 0 16px rgba(122,31,46,0.25);} 50%{box-shadow:-3px 0 24px rgba(122,31,46,0.5);} }
#pitch-bug { animation: pitch-pulse 3s ease-in-out infinite; }
#pitch-panel { position:fixed;right:-380px;top:50%;transform:translateY(-50%);z-index:9998;width:360px;background:var(--bone);box-shadow:-8px 0 48px rgba(0,0,0,0.18);transition:right 0.35s cubic-bezier(0.4,0,0.2,1);padding:40px 36px;font-family:'DM Sans',sans-serif; }
#pitch-panel.open { right:0; }
#pitch-panel .pitch-eyebrow { font-size:8px;letter-spacing:0.28em;text-transform:uppercase;color:var(--maroon);font-weight:700;margin-bottom:10px; }
#pitch-panel .pitch-title { font-family:'Playfair Display',serif;font-size:26px;font-weight:900;color:var(--ink);line-height:1.1;margin-bottom:8px; }
#pitch-panel .pitch-rule { width:28px;height:2px;background:var(--maroon);margin-bottom:16px; }
#pitch-panel .pitch-desc { font-size:13px;line-height:1.7;color:var(--soft);margin-bottom:24px; }
#pitch-panel .pitch-field { margin-bottom:14px; }
#pitch-panel .pitch-field label { display:block;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--soft);font-weight:700;margin-bottom:5px; }
#pitch-panel .pitch-field input,
#pitch-panel .pitch-field textarea { width:100%;border:1px solid var(--rule);padding:10px 12px;font-size:13px;font-family:'DM Sans',sans-serif;background:white;color:var(--ink);outline:none;transition:border-color 0.15s;resize:none; }
#pitch-panel .pitch-field input:focus,
#pitch-panel .pitch-field textarea:focus { border-color:var(--maroon); }
#pitch-panel .pitch-submit { width:100%;background:var(--maroon);color:white;border:none;padding:13px;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background 0.15s; }
#pitch-panel .pitch-submit:hover { background:#5e1722; }
#pitch-panel .pitch-close { position:absolute;top:16px;right:16px;background:none;border:none;font-size:18px;color:var(--soft);cursor:pointer;line-height:1;padding:4px 8px; }
#pitch-panel .pitch-close:hover { color:var(--ink); }
#pitch-panel .pitch-success { display:none;text-align:center;padding:20px 0; }
#pitch-panel .pitch-success .ps-icon { font-size:32px;margin-bottom:12px; }
#pitch-panel .pitch-success .ps-title { font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:var(--ink);margin-bottom:8px; }
#pitch-panel .pitch-success .ps-desc { font-size:13px;color:var(--soft);line-height:1.6; }
#pitch-close-btn{position:fixed;right:64px;top:calc(50% - 60px);transform:translateY(-50%);z-index:9999;width:24px;height:24px;background:#1a1a1a;color:white;border:none;border-radius:50%;font-size:13px;line-height:24px;text-align:center;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.3);}@keyframes pitch-pulse2{0%,100%{box-shadow:-4px 0 20px rgba(122,31,46,0.6),0 0 0 1px #7a1f2e;}50%{box-shadow:-4px 0 32px rgba(122,31,46,0.85),0 0 0 1px #7a1f2e;}}#pitch-bug{animation:pitch-pulse2 3s ease-in-out infinite;}
