/* Review v3: one photographic composition, using unaltered source photographs. */
.hero-mosaic { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:1.45fr 1fr 1fr; gap:5px; aspect-ratio:1.06; border-radius:20px; overflow:hidden; position:relative; background:#fff; }
.hero-mosaic > div { min-width:0; min-height:0; overflow:hidden; position:relative; }
.hero-mosaic .field-photo { width:100%; height:100%; display:block; object-fit:cover; }
.mosaic-team { grid-column:1 / -1; }
.mosaic-team .field-photo { object-position:50% 53%; }
.mosaic-team::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#14201f77); }
.mosaic-team > span { position:absolute; bottom:16px; left:20px; right:20px; color:#fff; font-size:14px; letter-spacing:.04em; z-index:1; text-shadow:0 1px 8px #0007; }
.mosaic-welding { grid-column:1 / 4; grid-row:2 / 4; }
.mosaic-welding .field-photo { object-position:35% 50%; }
.mosaic-carpentry { grid-column:4 / 7; grid-row:2; }
.mosaic-carpentry .field-photo { object-position:50% 62%; }
.mosaic-rebar { grid-column:4 / 5; grid-row:3; }
.mosaic-recruitment { grid-column:5 / 7; grid-row:3; }
.hero-mosaic .mosaic-signature { position:absolute; right:12px; top:12px; display:flex; align-items:center; gap:8px; color:#64512c; background:#fffdf3ed; padding:8px 11px; border-radius:4px; }
.mosaic-signature > span { font-family:Georgia,serif; font-size:23px; line-height:1; }
.mosaic-signature small { font-size:7px; line-height:1.4; letter-spacing:.15em; }
.hero-field-caption { padding-bottom:0; }
.network-destination-tools { max-width:1480px; margin:0 auto 24px; }
.destination-origins { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.destination-origins button { padding:9px 14px; border:1px solid #ded7c7; border-radius:20px; background:transparent; font:inherit; font-size:12px; color:#696353; cursor:pointer; }
.destination-origins button[aria-pressed=true] { color:#fff; background:#586f65; border-color:#586f65; }
.destination-query { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.destination-query input,.destination-query select { border:1px solid #ded7c7; background:#fff; border-radius:6px; padding:10px 12px; font:inherit; font-size:12px; min-width:0; }
.destination-query input { flex:1; max-width:340px; }
.destination-query > span { font-size:12px; color:#716a5c; }
.destination-reset { padding:8px 12px; background:transparent; color:#6b694f; font:inherit; font-size:11px; border:1px solid #ded7c7; border-radius:5px; cursor:pointer; }
.destination-disclaimer { font-size:12px; color:#7d705a; line-height:1.9; max-width:1100px; margin:12px 0 0; }
.network-explorer.destinations .network-location-list { max-height:215px; overflow-y:auto; align-content:flex-start; }
.network-evidence { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.network-evidence a { color:#586f65; font-size:10px; padding:5px 8px; background:#f0f4ef; border-radius:4px; }
.network-empty { padding:40px; text-align:center; border:1px solid #ded7c7; border-radius:16px; }
.network-data-foot { margin:16px auto 0; max-width:1480px; font-size:11px; line-height:1.9; color:#807968; }
.network-data-foot a { text-decoration:underline; text-underline-offset:3px; margin-right:12px; }
.network-office-strip { align-items:flex-start; }
.network-office-strip > div { justify-content:flex-end; }
@media(max-width:760px) {
 .hero-mosaic { border-radius:15px; gap:4px; }
 .mosaic-team > span { font-size:11px; left:12px; bottom:11px; }
 .mosaic-signature > span { font-size:18px; }
 .hero-mosaic .mosaic-signature { padding:6px 8px; top:9px; right:9px; }
 .network-office-strip > div { justify-content:flex-start; }
 .destination-query input { width:100%; flex-basis:100%; max-width:none; }
 .destination-query select { max-width:65%; }
}
