/* Team building pages (857 Atlanta, 1401 Denver): quote CTA, review grid, quote form. Added 2026-10-07.
   Also loaded on Contact (437), League (964) and Memberships (979) for the contact form styles at the end. */
.tb-nowrap { white-space: nowrap; }

/* CTA strip under the hero */
.tb-cta { max-width: 860px; margin: 0 auto 36px; padding: 24px 28px; text-align: center; background: #f4f1ec; border-radius: 8px; }
.tb-cta .tb-cta-text { margin: 0 0 16px; font-size: 18px; line-height: 1.4; font-weight: 900; color: #1e2531; }
.tb-cta-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.tb-btn { display: inline-block; min-height: 48px; padding: 13px 26px; border-radius: 4px; font-weight: 900; font-size: 16px; line-height: 1.3; text-transform: uppercase; letter-spacing: .02em; text-decoration: none !important; transition: background-color .15s, color .15s; }
.tb-btn-red { background: #b12226; color: #fff !important; border: 2px solid #b12226; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.tb-btn-red:hover, .tb-btn-red:focus { background: #8f1b1e; border-color: #8f1b1e; }
.tb-btn-outline { background: #fff; color: #1e2531 !important; border: 2px solid #1e2531; }
.tb-btn-outline:hover, .tb-btn-outline:focus { background: #1e2531; color: #fff !important; }

/* Review grid (replaces the slider in the dark band) */
.tb-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1120px; margin: 28px auto 0; text-align: left; }
.tb-review { display: flex; flex-direction: column; background: #fff; border-radius: 8px; padding: 24px; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.tb-stars { color: #f2b01e; font-size: 20px; letter-spacing: 3px; line-height: 1; margin-bottom: 14px; }
.tb-review .tb-review-text { margin: 0 0 12px; color: #2b2f36; font-size: 16px; line-height: 1.6; }
/* Text area is capped at the height of the reference review (Obsidian R., Denver), set per width by
   team-building.js as --tb-review-max; 9 lines is the fallback. Longer reviews scroll. */
.tb-review-body { max-height: var(--tb-review-max, 230px); overflow-y: auto; margin-bottom: 12px; padding-right: 6px; scrollbar-width: thin; scrollbar-color: #b9b3a9 transparent; }
.tb-review-body .tb-review-text:last-child { margin-bottom: 0; }
.tb-review-body::-webkit-scrollbar { width: 6px; }
.tb-review-body::-webkit-scrollbar-thumb { background: #b9b3a9; border-radius: 3px; }
.tb-review .tb-review-author { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: auto 0 0; padding-top: 12px; border-top: 1px solid #e6e2db; color: #1e2531; font-size: 15px; }
.tb-review-g { width: 18px; height: 18px; flex: none; }
.tb-review-name { font-weight: 900; }
.tb-review-loc { color: #6b6f76; }
.tb-review-loc::before { content: "\00B7"; margin-right: 8px; }

/* Request a Quote section */
.tb-quote-row { background: #f4f1ec; padding-top: 4%; padding-bottom: 4%; }
#request-a-quote { scroll-margin-top: 90px; }
.tb-quote-title { margin-top: 0; font-size: 28px; line-height: 1.2; text-transform: uppercase; color: #1e2531; }
.tb-quote-points { margin: 0 0 20px; }
.tb-quote-points li { margin-bottom: 6px; }
.tb-quote-call { font-size: 18px; line-height: 1.5; font-weight: 900; color: #1e2531; }
.tb-quote-call a { color: #b12226; }
.tb-quote-form .frm_forms { background: #fff; border-radius: 8px; padding: 28px; box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.tb-quote-form .frm_forms .frm_button_submit { background: #b12226; border-color: #b12226; color: #fff; text-transform: uppercase; font-weight: 900; }

@media (max-width: 960px) {
	.tb-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.tb-reviews { grid-template-columns: 1fr; gap: 16px; }
	.tb-cta { padding: 20px 16px; }
	.tb-btn { display: block; width: 100%; text-align: center; }
	.tb-cta-btns { flex-direction: column; }
	.tb-quote-form .frm_forms { padding: 20px 16px; }
}

/* Contact page (437): tan top row (.tb-quote-row) with intro left and form 4 in a .tb-quote-form card right.
   League (964) and Memberships (979): form 2 gets the same card on the teal band. Added 2026-10-14. */
.aa-contact-title { margin-top: 0; font-size: 36px; line-height: 1.15; text-transform: uppercase; color: #1e2531; }
.aa-contact-row a[href^="mailto:"] { color: #b12226; }
/* "Our Locations" heading row above the map rows: a bit more top padding than the tan row's 4% */
.aa-contact-maps { padding-top: max(6%, 36px); }
.aa-locations-title { margin: 0; text-align: center; font-size: 28px; line-height: 1.2; text-transform: uppercase; color: #1e2531; }
#frm_form_2_container { max-width: 760px; margin: 0 auto; background: #fff; border-radius: 8px; padding: 28px; box-shadow: 0 4px 14px rgba(0,0,0,.15); }
#frm_form_2_container .frm_button_submit { background: #b12226; border-color: #b12226; color: #fff; text-transform: uppercase; font-weight: 900; }

@media (max-width: 640px) {
	.aa-contact-title { font-size: 30px; }
	#frm_form_2_container { padding: 20px 16px; }
}
