/* Bob & Co Cambodia — content-only additions to the parent website system.
   All visual design remains in the shared, verbatim copy of ../prototype/styles.css. */

/* Unverified facts stay visibly marked until confirmed by the Cambodia adviser. */
.tbc {
	display: inline-block;
	padding: .12em .5em;
	border: 1px dashed #b8860b;
	border-radius: 4px;
	background: #fff8e1;
	color: #7a5b00;
	font-size: .9em;
	font-weight: 600;
	font-style: normal;
	white-space: normal;
}

.tbc::before {
	content: "TBC: ";
	font-weight: 700;
	letter-spacing: .04em;
}

.site-footer .tbc,
.contact-copy .tbc,
.contact-details .tbc {
	border-color: rgba(255, 255, 255, .45);
	background: rgba(255, 255, 255, .08);
	color: #ffe9a8;
}

.container.narrow { max-width: 46rem; }
.section-lead { max-width: 62ch; font-size: 1.0625rem; line-height: 1.75; }
.section-lead + .section-lead { margin-top: 1.1rem; }
.page-section--tint { background: #f5f8fa; }

/* Balanced content grids: equal cards, centered groups and complete rows. */
.featured-services { align-items: stretch; }
.featured-card--mint { margin-top: 0; }
.featured-card { height: 100%; }

.stats-grid,
.service-directory {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.directory-card { height: 100%; }
.feature-grid,
.service-list { align-items: stretch; }
.feature-grid article,
.service-list > a { height: 100%; }

.service-group ul:has(> :nth-child(6):last-child) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.industry-pills { justify-content: center; }

.contact-map {
	grid-column: 1 / -1;
	background: #fff;
	color: var(--head);
}

.contact-page-layout { row-gap: 0; }

.contact-map iframe {
	display: block;
	width: 100%;
	height: 340px;
	border: 0;
}

.contact-map > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 17px;
	color: var(--head);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.contact-map > a:hover { color: var(--signal-dark); }

/* The parent team-card component, extended only to hold the supplied portrait. */
.team-grid--single { grid-template-columns: 1fr; }
.team-card--portrait {
	min-height: 560px;
	padding: 0;
	grid-template-columns: minmax(260px, 390px) 1fr;
	gap: 0;
	overflow: hidden;
}
.team-card--portrait > div {
	padding: 58px;
	align-self: center;
}
.team-card__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	background: #545454;
}

@media (max-width: 780px) {
	.featured-services { grid-template-columns: 1fr; }
	.featured-card { height: auto; }
	.team-card--portrait { grid-template-columns: 1fr; }
	.team-card__photo { max-height: 620px; aspect-ratio: 4 / 5; }
}

@media (max-width: 560px) {
	.service-directory { grid-template-columns: 1fr; }
	.directory-card { height: auto; }
	.contact-map iframe { height: 260px; }
	.team-card--portrait { padding: 0; }
	.team-card--portrait > div { padding: 30px 24px 36px; }
}

@media (max-width: 1020px) {
	.service-group ul,
	.service-group ul:has(> :nth-child(6):last-child) {
		grid-template-columns: 1fr;
	}
}

@media print {
	.tbc { border-color: #999; background: transparent; }
}
