.ctc.v2 {
  --flr-bx-w: 293;
  --flr-bx-w-mbl: 293;
  --flr-mrg-tp: 1.5rem;
  --flr-mrg-bt: 1.5rem;
  --flr-bx-w-clc: calc((var(--flr-bx-w-mbl) * 1px) + (var(--flr-bx-w) - var(--flr-bx-w-mbl)) * ((var(--vw_) - 320px) / (1920 - 320)));

   /* Compact base padding + clearance for the top/bottom curve dividers (~5vw tall) */
   --pd-v: calc(clamp(calc(var(--sp-vp-min) * 0.6), var(--sp-vp), calc(var(--sp-vp-max) * 0.6)) + 5vw);

  /* -- Top & bottom curve dividers ------------------ */

  .pnl-crv {
    position: absolute;
    left: 0;
    width: 100%;
    height: auto;              /* override global svg width/height: 1em */
    pointer-events: none;
    fill: var(--white);
  }

  .pnl-crv-tp { top: -1px; }    /* hide sub-pixel hairline seam */
  .pnl-crv-bt { bottom: -1px; }

  .bg img {
    object-fit: cover !important;
    opacity: 1 !important;
  }

  .flr_hd {
    svg {
      width: 100%;
      height: auto;
    }
  }

  picture.bg img {
    mix-blend-mode: luminosity;
    opacity: 0.3;
  }

  .input-text {

    label.abs {
      opacity: 0;
      pointer-events: none;
    }

    :is(input, select, textarea)::placeholder {
      color: var(--text-color);
    }

    :is(input, select, textarea) {
      background: transparent;
      border-color: var(--text-color);
      border-width: 2px;
      border-radius: 0.444rem;
    }
  }
}
