/* TFP Builder — front-end layout */
.tfpb { width: 100%; }
.tfpb-section { width: 100%; }
.tfpb-row { max-width: 1240px; margin: 0 auto; display: grid; gap: 28px; }
.tfpb-cols-1 { grid-template-columns: 1fr; }
.tfpb-cols-2 { grid-template-columns: 1fr 1fr; }
.tfpb-cols-3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 820px) { .tfpb-cols-2, .tfpb-cols-3 { grid-template-columns: 1fr; } }

.tfpb-heading { margin: 0 0 .6em; }
.tfpb-text p:last-child { margin-bottom: 0; }
.tfpb-image { margin: 0; }
.tfpb-image img { max-width: 100%; height: auto; }
.tfpb-button { display: inline-block; color: #fff !important; padding: 12px 28px; border-radius: 999px; font-weight: 700; text-decoration: none; transition: filter .15s, transform .12s; }
.tfpb-button:hover { filter: brightness(.85); transform: translateY(-1px); }
.tfpb-video iframe { width: 100%; aspect-ratio: 16/9; height: auto; border-radius: 12px; }
.tfpb-divider { border: 0; border-top: 2px solid; margin: 20px 0; }
.tfpb-biogrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 860px) { .tfpb-biogrid { grid-template-columns: repeat(2, 1fr); } }
.tfpb-biogrid__item { display: block; text-align: center; font-weight: 700; }
.tfpb-biogrid__item img { border-radius: 12px; }
