/* ============================================================
   SECTIONS LAB · pages/contact-v2.css — kit:contact-bridge and
   kit:v2-contact-bridge (namespace .cbr)
   The data bridge (webgl/fx/bridge.js) runs along the form's lower edge,
   in the calm room under it: the visitor's funnel in the gap beside the
   copy, BDG's under the panel's bottom-right corner (inside the viewport
   even at 1440, where the panel meets the page margin), the rope just
   under the send row, clear of every field and label. The host hangs from
   the stage's bottom edge and takes its height from its width
   (aspect-ratio), so the details' fold only moves it: it never resizes,
   and a resized canvas would flicker (the lattice's round 15).
   ============================================================ */
/* left −31%: the visitor's funnel clears the copy's address line at 1440 (its mouth ends in the gap) */
/* round 23 (the user): a shorter rope and a bigger object, like the lattice. The scene fits 1.5 units to the
   host's height, so the taller box (1.3 → 1.75) is the scale; the shape itself is in the host's data-gl-* */
/* 2026-09-13 (the user's reference screenshot): the visitor's funnel in the gap left of the panel, BDG's just past
   its right edge, both about half the panel's width tall, the rope behind the form's lower half (the panel is
   translucent). Round 25, measured on the reference (panel width W): the visitor's funnel 0.51 W tall, its outer
   rim 0.35 W left of the panel and its throat behind the panel (not in the gap), BDG's flare wide from the panel's
   right edge, the rope 0.11 W above the panel's foot. So 0.505 W per unit (host 1.717 W, centred at 0.47 W); the shape in
   contact-v2.js's host (gap .47, flare .7, mouth .44) and a wider camera (data-gl-fov 46) that opens the mouths. */
.cbr .cbr__host { position: absolute; left: -38.9%; right: -32.9%; bottom: 0; aspect-ratio: 3.4 / 1.75;
  transform: translateY(calc(50% - 6.7vw)); pointer-events: none; }
/* the section keeps room for the funnels' lower half under the panel */
.cbr .contact-syn__stage { margin-bottom: 160px; }
@media (max-width: 900px) {
  /* one column: the bridge under the form, the width of the screen (the funnels uncut), a little more room */
  .cbr .cbr__host { left: -7%; right: -7%; aspect-ratio: 3.4 / 2; transform: translateY(calc(50% + 26px)); }
  .cbr .contact-syn__stage { margin-bottom: 130px; }
}
