.service-margin {
	padding:2em 3%;				
}

.service-grid {
	display:grid;				
	column-gap: 3em; 
	row-gap: 1em; 
	max-width:100%;
	grid-template-columns: 100%; 
	
}			

	.service-grid-text-cell {
		padding:0 3%;
		
	}			
	
		.service-image-container {		
			background-size:cover;
			background-position:center;
			width:100%;
			height:0;
			padding-bottom:75%;			
			min-height:320px;
		}

			.service-image-container img {
				width:100%;
				display:block;
			}
	
		.hbts-heading-flex {
		  display: flex;
		  flex-direction: column;
		  align-items: flex-start;
		  gap: 0.5rem;
		  margin-bottom: 1rem;
		}

		.hbts-heading-text {
		  flex: 1;
		  min-width: 200px;
		}

		.hbts-age-badge {
		  background-color: #f0f8ff; /* soft blue tint */
		  color: var(--blue);
		  border: 2px solid var(--blue);
		  padding: 0.5em 1.2em;
		  border-radius: 8px; /* reduced from full pill */
		  font-weight: bold;
		  font-size: 1rem;
		  white-space: nowrap;
		  margin-top: 1rem;
		  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
		}

		.service-grid-text-cell h1 {
			font-size: 2rem;
			line-height: 1;
			font-weight: 800;
			margin: 0 0 0.33rem 0;
			letter-spacing: -2px;					
		}
		
		.service-grid-text-cell h2 {							
			font-size: 1.65rem;
			line-height: 1.1;
			font-weight: 300;						
			letter-spacing: -1px;					
		}

		.service-grid-text-cell h3 {							
			font-size: 1.5rem;
			line-height: 1.1;
			font-weight: 700;						
			letter-spacing: -2px;
			color:var(--blue);
		}

			.service-grid-text-cell h3 .fas {
				font-size:1.33rem;
			}
					

		.service-grid-text-cell p {
			font-size:1.1em; 
			line-height:1.75; 
			padding:0.5em 0;
		}

		.service-grid-text-cell p.intro {
			font-size:1.125em; 
			line-height:1.75; 
			padding:0.5em 0;
		}
		
		.service-grid-text-cell li {
			font-size: 1.1em;
			line-height: 1.75 !important;
			padding-bottom: 0.5em !important;
			-webkit-column-break-inside: avoid;							
		}
		
		.service-grid-text-cell .tight-list li {
			font-size: 1.1em;
			line-height: 1.75 !important;
			padding-bottom: 0.5em !important;
			-webkit-column-break-inside: avoid;		
			margin-bottom: 1em !important;			
		}					
		
			.service-grid-text-cell .tight-list li .fa-li {
				margin-top:0;
			}	
			
		.bullet-link {
		  display: inline-block;
		  line-height: 1;
		  font-weight: bold;
		  margin-top: 0.25rem;
		}			
			
	hr {
		margin:2rem 0;
	}

.service-grid-sidebar-cell {
	padding:1.5rem;
	
}

	.service-grid-sidebar-cell-map-container {
		border:4px solid #fff;
		box-shadow: 2px 3px 6px 0 rgb(0 0 0 / 13%);
	}

		.map-responsive {
			overflow: hidden;
			padding-bottom: 80%;
			position: relative;
			height: 0;	
			margin:0em;				
		}

	.service-grid-sidebar-cell-contact-container {
		width:100%;
		padding:1em 0;					
	}
	
		.person-grid {
			display:grid;				
			column-gap: 1rem; 
			row-gap: 1rem; 
			max-width:100%;
			grid-template-columns: 20% 1fr;						
		}			
		
			.person-photo {
				width:100%;
				border-radius:50%;
				width:100%; 
				border:2px solid #fff; 
				box-shadow:1px 1px 2px rgba(0,0,0,0.5);
			}
	

		.section-heading-with-line {
		  display: flex;
		  align-items: center;
		  gap: 1rem;
		  margin-top: 3rem;
		  margin-bottom: 1rem;
		}

		.section-heading-with-line h3 {
		  margin: 0;
		  white-space: nowrap;
		}

		.section-heading-with-line::after {
		  content: '';
		  flex-grow: 1;
		  height: 1px;
		  background-color: #ccc; /* or use var(--light-gray) or a more visible color like #999 */
		}	

		.rounded-callout {
		  background-color: #fff8f3; /* light orange tint */
		  border: 1px solid var(--orange);
		  border-radius: 12px;
		  padding: 10px 20px;
		  margin-top: 20px;
		  margin-bottom: 20px;
		  font-size: 1rem;
		  line-height: 1.6;
		}

		.faq-section {
		  margin-top: 2em;
		}

		.faq-item {
		  margin-bottom: 1em;
		  border: 1px solid #ddd;
		  border-radius: 6px;
		  overflow: hidden;
		  background-color: #fafafa;
		}

		.faq-question {
		  display: block;
		  width: 100%;
		  text-align: left;
		  padding: 1em;
		  background: none;
		  border: none;
		  font-weight: bold;
		  font-size: 1rem;
		  cursor: pointer;
		  position: relative;
		}

		.faq-question::after {
		  content: '+';
		  position: absolute;
		  right: 1em;
		  font-weight: bold;
		}

		.faq-answer {
		  display: none;
		  padding: 1em;
		  border-top: 1px solid #ddd;
		  font-size: 0.95rem;
		  background-color: white;
		}

		.faq-item.open .faq-answer {
		  display: block;
		}

		.faq-item.open .faq-question::after {
		  content: '−';
		}


@media all and (min-width: 1024px) { 

	.service-grid {
		display:grid;				
		column-gap: 3em; 
		row-gap: 1em; 
		max-width:100%;
		grid-template-columns: 66% 1fr; 
		
	}	

		.service-image-container {			
			background-size:cover;
			background-position:center;
			width:100%;
			height:0;
			padding-bottom:50%;		
			min-height:442px;
		}

		.service-grid-text-cell p.intro {
			font-size:1.25em; 
			line-height:1.85; 
			padding: 0;
		}

}

@media (-webkit-device-pixel-ratio: 1) {

	@media all and (min-width: 1024px) {
	
		.service-margin {
			padding:2em 8%;				
		}
		
			.service-image-container {			
				background-size:cover;
				background-position:center;
				width:100%;
				height:0;
				padding-bottom:50%;		
				min-height:495px;
			}		
		
		.person-grid {
			display:grid;				
			column-gap: 1rem; 
			row-gap: 1rem; 
			max-width:100%;
			grid-template-columns: 15% 1fr;						
		}								
					
	}

}

@media all and (max-width: 1366px ) and (-webkit-min-device-pixel-ratio: 1) {
}

@media all and (max-width: 1360px ) and (-webkit-min-device-pixel-ratio: 1) {
}

@media all and (max-width: 480px ) and (-webkit-min-device-pixel-ratio: 1) {
}	

@media (min-width: 768px) {
  .hbts-heading-flex {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;	
  }
  
  .hbts-age-badge {
    margin-top: 0;
	font-size: 1.1rem;
  }  
  
}