/***********************************
 Mobile Styles
 ************************************/
@media only screen and (max-width: 607px) {
	/* Owners page: center photos and captions; stack bios under photos */
	.owners-layout {
		
		flex-direction: column !important;
		align-items: center !important;
		gap: 1rem !important;
	}

	.owners-layout #about_photos {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	.about-photo {
		text-align: center !important;
		margin: 0 auto !important;
	}

	.about-photo picture,
	.about-photo img {
		display: block !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.figure-caption {
		text-align: center !important;
	}

	/* Add orange separators under both owners on mobile */
	.owners-layout #about_photos .about-photo {
		border-bottom: 3px solid #ff8c00 !important;
		padding-bottom: .5rem !important;
		margin-bottom: 1rem !important;
	}

	/* Remove extra line after the last item to avoid double border when containers stack */
	.owners-layout #about_photos .about-photo:last-child {
		border-bottom: none !important;
		padding-bottom: 1rem !important;
		margin-bottom: 0 !important;
	}

	.owners-text {
		width: 100% !important;
		text-align: center !important;
	}

	.owners-text .text-clean {
		text-align: center !important;
		padding: 0 1rem;
		margin-top: 1rem !important;
	}
	/* Footer Styles */
	#footer {
		background-color: #676161;
		color: #f3f3f7;
		text-align: center;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	#footer .footer-links-label {
		font-size: 1.4rem;
		font-weight: bold;
		margin-top: 0 auto;
		padding-top: .5rem !important;
		color: #ffffff;
	}

	#footer a {
		margin-left: 1rem;
		margin-bottom: 1rem;
		padding: 0 !important;
		color: #ffffff;
		display: inline-block;
		text-align: left;
		text-decoration: none;
		font-size: 0.9rem;
		border-radius: 10px;
		background-color: transparent;
		transition: all 0.3s ease;
	}

	#footer a:hover {
		margin-left: 1rem;
		margin-bottom: 1rem;
		padding: 0 !important;
		background-color: rgba(255, 255, 255, 0.2);
		box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3) !important;
		text-decoration: none;
	}

	#footer p.footer-copyright {
		font-size: .65rem !important;
		margin: 12px 0 0 0;
		text-align: center;
		line-height: 1.4;
		width: 100%;
		padding: 0;
		background-color: #676161;
		color: #f3f3f7;
		box-shadow: none;
	}

	#site-footer .container_12 {
		width: 100%;
		max-width: 100%;
	}

	#banner_container {
		margin: 0 auto 1rem !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	#photo_banner {
		position: relative !important;
		height: 250px !important;
		width: 100% !important;
		margin: 0 auto 0 !important;
		overflow: hidden !important;
		border-radius: 10px !important;
		box-shadow: none !important;
	}

	.banner-slide {
		display: none !important;
		position: relative !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		height: 100% !important;
		animation: none !important;
	}

	.banner-slide.active {
		display: block !important;
	}

	.banner-slide img,
	.banner-slide picture {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		display: block !important;
		aspect-ratio: auto !important;
	}

	.banner-prev,
	.banner-next {
		display: none !important;
	}

	.banner-dots {
		display: flex !important;
		bottom: 10px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		gap: 6px !important;
		z-index: 10 !important;
	}

	.dot {
		width: 10px !important;
		height: 10px !important;
		border-radius: 50% !important;
	}

	/* Typography */
	/* Typography */
	body {
		font-size: 1rem !important;
		line-height: 1.5 !important;
	}

	h1, h2, h3, h4, h5, h6 {
		font-size: 1rem !important;
		line-height: 1.2 !important;
		margin-bottom: 0.5rem !important;
		margin-top: 0 !important;
	}

	p {
		font-size: 1rem !important;
		line-height: 1.4 !important;
		margin: 0 !important;
		padding: 0 !important;
		font-weight: 400 !important;
	}

	.page-title {
		font-size: 2rem !important;
		margin: 0.5rem 0 !important;
		font-weight: bold;
		color: #ff4c00;
		text-align: center;
	}

	.page-subtitle {
		font-size: 0.95rem !important;
		margin: 0.5rem 0 !important;
		font-weight: bold;
		text-align: center;
	}

	.section-heading-left {
		font-size: 1.75rem !important;
		font-weight: 700 !important;
		color: #f26722 !important;
		margin: 0.5rem 0 1rem 0 !important;
		letter-spacing: 0.5px;
	}

	.section-heading-left::after {
		content: "";
		display: block !important;
		width: 60px;
		height: 3px;
		background-color: #f26722;
		margin-top: 0.5rem;
	}

	.section-heading-bold {
		font-size: 1rem !important;
		font-weight: bold;
	}

	.text-clean {
		font-size: 1rem !important;
		line-height: 1.4 !important;
		font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
	}
	

	/* Service Cards */
	.service_cards {
		width: 100% !important;
		max-width: 100% !important;
		background-color: rgba(255, 255, 255, 0.5);
		border-radius: 12px;
		padding: 0.5rem !important;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
		margin: 0 0 0.5rem 0 !important;
		box-sizing: border-box !important;
		opacity: 0;
		animation: fadeUp 0.6s ease-out forwards;
	}

	/* Content Layout */
	#content {
		padding: 5px !important;
		width: 100% !important;
		border: none !important;
		outline: none !important;
		margin: 0 !important;
	}

	#content_box {
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

/* Center CTA button on mobile (services page and others) */
	.cta-button {
		display: block !important;
		width: 80% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 1rem !important;
		margin-bottom: 1rem !important;
		box-sizing: border-box !important;
		text-align: center !important;
		white-space: normal !important;
	}

/* Ensure inner span text is centered and fills width */
	.cta-button span {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		white-space: normal !important;
	}

	#content p {
		text-align: center !important;
	}

	/* CTA Button */
	.cta-button {
		display: block !important;
		width: 80% !important;
		margin: 1rem auto !important;
		box-sizing: border-box !important;
		text-align: center !important;
		white-space: normal !important;
	}

	.cta-button span {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		white-space: normal !important;
	}

	/* Banner Controls - Hide on specific pages */
	.page-banner-clean .banner-prev,
	.page-banner-clean .banner-next,
	.page-banner-clean .banner-dots,
	.page-careers .banner-prev,
	.page-careers .banner-next,
	.page-careers .banner-dots {
		display: none !important;
	}

	/* Contact Form Styling */
	.contact-wrapper {
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
	}

	.contact-card {
		width: 100% !important;
		padding: 0.5rem !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		border-radius: 8px !important;
	}

	.form-group {
		width: 100% !important;
		margin: 0.5rem 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.form-group label {
		display: block !important;
		width: 100% !important;
		margin-bottom: 0.3rem !important;
		font-size: 0.95rem !important;
		font-weight: bold !important;
	}

	.form-group input,
	.form-group textarea {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0.5rem !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		font-size: 1rem !important;
		border-radius: 6px !important;
		border: 1px solid #ddd !important;
	}

	.form-group textarea {
		min-height: 100px !important;
		resize: vertical !important;
	}

	.form-actions {
		width: 100% !important;
		margin-top: 1rem !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.nav-button {
		display: inline-block;
		width: 100% !important;
		background: linear-gradient(180deg, #6fcf97, #2f9e44);
		color: #fff;
		padding: 0.75rem !important;
		border-radius: 999px;
		font-weight: 600;
		text-decoration: none;
		transition: transform 0.15s ease, box-shadow 0.15s ease;
		box-sizing: border-box !important;
		border: none;
		cursor: pointer;
	}

	.nav-button:hover {
		background: linear-gradient(to top, #1f8d3a, #d5ffd0);
		transform: translateY(-2px);
		box-shadow: 0 20px 8px rgba(0, 0, 0, .6);
		text-decoration: none !important;
	}

	.nav-button:active {
		background: linear-gradient(to top, #14652a, #a6f0a0);
		transform: translateY(0);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
		text-decoration: none !important;
	}

	/* Content Boxes - Landscape Services */
	#content_box_commercial {
		background: linear-gradient(to top, #1a7d31, #c1ffb4);
		border-radius: 15px;
		width: 100%;
		margin: 0 auto;
		font-weight: bold;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 10px 20px;
		box-sizing: border-box;
	}

	#content_box_commercial h2 {
		font-size: 1.5em;
		font-weight: bolder;
		margin: 0;
	}

	#content_box_commercial p {
		margin: 12px 0;
		font-size: 0.95rem;
	}

	#content_box_commercial a {
		color: #000000;
		text-decoration: none;
	}

	#content_box_commercial a:hover {
		text-decoration: none;
		color: #000000;
	}

	.content-link:hover h2 {
		color: #ff4c00;
		text-decoration: none;
	}

	#content_box_commercial:hover {
		box-shadow: 0 20px 8px rgba(0, 0, 0, 0.6);
		transition: box-shadow 0.15s ease;
	}
}

/********************************************************
 Tablet Styles 
 ********************************************************/
@media only screen and (min-width: 608px) and (max-width: 1023px) {

	.page-subtitle {
		font-weight: bold;
		margin-bottom: 2rem;
		text-align: center;
		font-size: 1.1em;
	}

	/* Match desktop styling for accordion headings */
	.section-heading-left {
		font-size: 1.75rem;
		font-weight: 700;
		color: #f26722;
		margin: 0.5rem 0 1rem 0;
		letter-spacing: 0.5px;
	}

	.section-heading-left::after {
		content: "";
		display: block;
		width: 60px;
		height: 3px;
		background-color: #f26722;
		margin-top: 0.5rem;
	}
	
	#footer a:hover {
		padding: 10px 14px !important;
		display: inline-block !important;
		margin: 6px 3px !important;
		border-radius: 10px !important;
		background-color: rgba(255, 255, 255, 0.2) !important;
		box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3) !important;
		text-decoration: none !important;
		transition: all 0.3s ease !important;
	}

	#footer {
		font-size: 0.95rem;
		background-color: #676161;
		padding: 18px 16px 22px 16px;
		text-align: center;
		color: #f3f3f7;
		margin: 15px auto 0 auto;
		width: 100%;
		max-width: 100%;
		border-top-right-radius: 0;
		border-top-left-radius: 0;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 16px;
		box-sizing: border-box;
	}

	#footer a {
		margin: 5px;
		padding: 5px 10px;
		color: #ffffff;
	}

	#banner_container {
		margin: 0 auto 1rem !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	#photo_banner {
		height: 350px !important;
		max-width: 700px !important;
	}

	.service_cards {
		background-color: rgba(255, 255, 255, 0.5);
		border-radius: 12px;
		padding: 1rem;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
		margin-bottom: 1rem;
		opacity: 0;
		animation: fadeUp 0.6s ease-out forwards;
	}

	.text-clean {
		font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	}

	/* Content Boxes - Landscape Services */
	#content_box_commercial {
		background: linear-gradient(to top, #1a7d31, #c1ffb4);
		border-radius: 15px;
		width: 100%;
		max-width: 920px;
		margin: 0 auto;
		font-weight: bold;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 10px 20px;
	}

	#content_box_commercial h2 {
		font-size: 2em;
		font-weight: bolder;
		margin: 0;
	}

	#content_box_commercial p {
		margin: 12px 0;
	}

	#content_box_commercial a {
		color: #000000;
		text-decoration: none;
	}

	#content_box_commercial a:hover {
		text-decoration: none;
		color: #000000;
	}

	.content-link:hover h2 {
		color: #ff4c00;
		text-decoration: none;
	}

	#content_box_commercial:hover {
		box-shadow: 0 20px 8px rgba(0, 0, 0, 0.6);
		transition: box-shadow 0.15s ease;
	}

	/* Nav button - Send Message */
	.nav-button {
		display: inline-block;
		background: linear-gradient(180deg, #6fcf97, #2f9e44);
		color: #fff;
		padding: 0.65rem 1.5rem;
		border-radius: 999px;
		font-weight: 600;
		text-decoration: none;
		transition: transform 0.15s ease, box-shadow 0.15s ease;
		border: none;
		cursor: pointer;
	}

	.nav-button:hover {
		background: linear-gradient(to top, #1f8d3a, #d5ffd0);
		transform: translateY(-2px);
		box-shadow: 0 20px 8px rgba(0, 0, 0, .6);
		text-decoration: none !important;
	}

	.nav-button:active {
		background: linear-gradient(to top, #14652a, #a6f0a0);
		transform: translateY(0);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
		text-decoration: none !important;
	}
}

/* Style2 - Page-specific utilities and advanced grid system */
/* Core reset and base styles are now in base.css */

/************************************************
********* Desktop view (1024px and above) 
*************************************************/
@media only screen and (min-width: 1024px) {
	/* HTML5 Reset & Grid System */
	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	b, u, i, center,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, figcaption, figure, 
	footer, header, hgroup, menu, nav, section, summary,
	time, mark, audio, video, img a {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		font-size: 1.05rem;
		/* font: inherit; */
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure, 
	footer, header, hgroup, menu, nav, section {
		display: block;
	}

	p {
		font-weight: 400;
	}

	ol, ul {
		list-style: none;
	}

	blockquote, q {
		quotes: none;
	}

	blockquote:before, blockquote:after,
	q:before, q:after {
		content: '';
		content: none;
	}

	ins {
		text-decoration: none;
	}

	del {
		text-decoration: line-through;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	.hide {
		display: none;	
	}

	.alpha {
		margin-left: 0 !important;
	}

	.omega {
		margin-right: 0 !important;
	}

	/* Grid >> Global */
	.grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8, .grid_10, .grid_11, .grid_12 {
		display: inline;
		float: left;
		position: relative;
		margin-left: 10.0px;
		margin-right: 10.0px;
	}

	/* Grid >> 12 Columns */
	.container_12 .grid_1 {
		width: 60px;
	}

	.container_12 .grid_2 {
		width: 140px;
	}

	.container_12 .grid_3 {
		width: 220px;
	}

	.container_12 .grid_4 {
		width: 300px;
	}

	.container_12 .grid_5 {
		width: 380px;
	}

	.container_12 .grid_6 {
		width: 460px;
	}

	.container_12 .grid_7 {
		width: 540px;
	}

	.container_12 .grid_8 {
		width: 620px;
	}

	.container_12 .grid_9 {
		width: 920px;
	}

	.container_12 .grid_10 {
		width: 780px;
	}

	.container_12 .grid_11 {
		width: 860px;
	}

	.container_12 .grid_12 {
		width: 940px;
	}

	img {
		border: 0;
	}

	ul li {
		list-style: none;
	}

	/* Reusable nav-style button */
	.nav-button {
		display: inline-block;
  		background: linear-gradient(180deg, #6fcf97, #2f9e44);
  		color: #fff;
  		padding: 0.65rem 1.5rem;
  		border-radius: 999px;
  		font-weight: 600;
  		text-decoration: none;
  		transition: transform 0.15s ease, box-shadow 0.15s ease;
	}

	.nav-button:hover {
		background: linear-gradient(to top, #1f8d3a, #d5ffd0);
		transform: translateY(-2px);
		box-shadow: 0 20px 8px rgba(0, 0, 0, .6);
		text-decoration: none !important;
	}

	.nav-button:active {
		background: linear-gradient(to top, #14652a, #a6f0a0);
		transform: translateY(0);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
		text-decoration: none !important;
	}

	/* Menu link states */
	ul.cssmenu li.home a:hover,
	ul.cssmenu li.about_us a:hover,
	ul.cssmenu li.commercial a:hover,
	ul.cssmenu li.services a:hover,
	ul.cssmenu li.contact a:hover,
	ul.cssmenu li.careers a:hover,
	ul.cssmenu li.estimate a:hover {
		background: linear-gradient(to top, #1f8d3a, #d5ffd0);
		transform: translateY(-2px);
		box-shadow: 0 20px 8px rgba(0, 0, 0, .6);
	}

	ul.cssmenu li.home a:active,
	ul.cssmenu li.about_us a:active,
	ul.cssmenu li.commercial a:active,
	ul.cssmenu li.services a:active,
	ul.cssmenu li.contact a:active,
	ul.cssmenu li.careers a:active,
	ul.cssmenu li.estimate a:active {
		background: linear-gradient(to top, #14652a, #a6f0a0);
		transform: translateY(0);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
		text-decoration: none !important;
	}

	ul.cssmenu li.about_us a.selected,
	ul.cssmenu li.commercial a.selected,
	ul.cssmenu li.services a.selected,
	ul.cssmenu li.contact a.selected {
		background: #1e7e34;
	}

	.topnav {
		display: none;
	}

	.topnav a {
		color: #000000;
		text-decoration: none;
	}

	.topnav a:hover {
		text-decoration: underline;
	}

	.topnav:hover {
		background: linear-gradient(to top, #1f8d3a, #d5ffd0);
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	}

	.displace {
		display: inline;
	}

	/* Content Boxes */
	#content_box_commercial {
		background: linear-gradient(to top, #1a7d31, #c1ffb4);
		border-radius: 15px;
		width: 920px;
		margin: 0 auto;
		font-weight: bold;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 10px 20px;
	}

	#content_box_commercial h2 {
		font-size: 2em;
		font-weight:bolder;
		margin: 0;
	}

	#content_box_commercial p {
		margin: 12px 0;
	}

	#content_box_commercial a {
		color: #000000;
		text-decoration: none;
	}

	#content_box_commercial a:hover {
		text-decoration: none;
		color: #000000;
	}

	.content-link:hover h2 {
		color: #ff4c00;
		text-decoration: none;
	}

	#content_box_commercial:hover {
		box-shadow: 0 20px 8px rgba(0, 0, 0, .6);
		transition: box-shadow 0.15s ease;
	}

	#content_reference {
		max-height: 1em;
		padding-bottom: 1rem;
	}

	/* Footer desktop width aligns to header/nav (960px grid) */
	#footer a:hover {
		padding: 10px 14px !important;
		display: inline-block !important;
		margin: 6px 3px !important;
		border-radius: 10px !important;
		background-color: rgba(255, 255, 255, 0.2) !important;
		box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3) !important;
		text-decoration: none !important;
		transition: all 0.3s ease !important;
	}

	#site-footer {
		width: 924px;
		display: flex;
		justify-content: center;
		margin: 15px auto 0 auto;
		padding: 0;
		box-sizing: border-box;
	}

	#site-footer .container_12 {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
	}

	#footer {
		font-size: 1rem;
		background-color: #676161;
		padding: 18px 20px 22px 20px;
		text-align: center;
		color: #f3f3f7;
		margin: 0;
		width: 100%;
		max-width: none;
		border-top-right-radius: 12px;
		border-top-left-radius: 12px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 20px;
		flex-wrap: wrap;
		box-sizing: border-box;
	}

	#footer a {
		margin: 5px;
		padding: 5px 10px;
		padding-top: 10px;
		color: #ffffff;
	}

	#footer p.footer-copyright {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	input#name, input#email, input#address, input#phone {
		width: 430px;
		padding: 5px;
		background: #fff;
	}

	input#submit {
		padding: 5px 10px;
	}

	#content form p {
		text-align: left;
		font-weight: bold;
	}

	/* Banner Container - for view pages */
	#banner_container {
		margin: 0 auto 1rem !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/* Photo Banner Carousel */
	#photo_banner {
		position: relative;
		width: 100% !important;
		max-width: 700px !important;
		height: auto !important;
		margin: 0 auto 0 !important;
		overflow: hidden;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		background: #000;
	}

	.banner-slide {
		display: none !important;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		animation: fadeUp 0.6s ease-out forwards;
	}

	.banner-slide.active {
		display: block !important;
	}

	.banner-slide picture {
		display: block;
		width: 100%;
		height: 100%;
	}

	.banner-slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
		aspect-ratio: 7 / 4;
	}

	@keyframes fadeIn {
		from { opacity: 0; }
		to { opacity: 1; }
	}

	.banner-prev, .banner-next {
		display: none !important;
	}

	.banner-dots {
		display: flex !important;
		position: absolute;
		bottom: 15px;
		left: 50%;
		transform: translateX(-50%);
		gap: 8px;
		z-index: 10;
		width: auto;
		height: auto;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.dot {
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.6);
		cursor: pointer;
		transition: background 0.3s;
	}

	.dot.active {
		background: rgba(255, 255, 255, 1);
	}

	.dot:hover {
		background: rgba(255, 255, 255, 0.9);
	}

	/* Text Styling Utilities */
	.text-bold {
		font-weight: bold;
	}

	.text-clean {
		max-width: 1100px;
  		padding: .25rem 2rem;
		font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  		font-size: 1.25rem;
  		line-height: 1.65;
  		color: #2f2f2f;
	}

	/* Page Title Styles */
	.page-title {
		margin-top: 1rem;
		margin-bottom: 1rem;
		color: #ff4c00;
		font-size: 2.3em;
		font-weight: bold;
		text-align: center;
	}

	/* Page Subtitle */
	.page-subtitle {
		font-weight: bold;
		margin-bottom: 2rem;
		text-align: center;
		font-size: 1.1em;
	}

	/* Centered text with bold and 1.2em */
	.section-heading-bold {
		font-weight: bold;
		font-size: 1.2em;
	}

	.service_cards {
		background-color: rgba(255, 255, 255, 0.5); /* 90% opaque white */
		border-radius: 12px;
		padding: 1rem;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
		margin-bottom: 1rem;
		opacity: 0;
		animation: fadeUp 0.6s ease-out forwards;
	}

	/* Left-aligned bold section heading */
	.section-heading-left {
		
		font-size: 1.75rem;
  		font-weight: 700;
  		color: #f26722;
  		margin-bottom: 1rem;
  		letter-spacing: 0.5px;
	}

	.section-heading-left::after {
		content: "";
  		display: block;
  		width: 60px;
  		height: 3px;
  		background-color: #f26722;
  		margin-top: 0.5rem;
	}

	/* Figure caption styling */
	.figure-caption {
		text-align: center;
		font-weight: bold;
		font-size:1.5rem !important;
	}

	/* About Us right-side photos */
	.owners-layout #about_photos {
		display: flex;
		flex-direction: column;
		gap: 10px;
		align-items: center;
		justify-content: flex-start;
		margin-top: 3rem !important;
	}

	#about_photos img {
		width: 100%;
		height: auto;
		border-radius: 10px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	}

	.about-photo {
		width: 100%;
	}

	.about-photo figcaption {
		text-align: center;
		margin-top: 6px;
		font-size: 0.95rem;
		color: #333;
	}

	/* Form info box (green background) */
	.form-info-box {
		text-align: left;
		margin-left: 30px;
		border-radius: 10px;
		background-color: #caedca;
		width: 450px;
		padding: 20px 50px;
		line-height: 1.3em;
	}

	/* Wrapper for content sections */
	.content-wrapper {
		width: 600px;
		margin: 20px auto;
	}

	/* Footer padding */
	.footer-padding {
		padding: 15px 0px;
	}

	/* Header section padding */
	.header-section-padding {
		padding-left: 25px;
		padding-top: 10px;
		padding-bottom: 10px;
		padding-right: 20px;
	}

	/* Header section text */
	.header-section-text {
		font-family: 'arial', arial;
		font-size: 20px;
		color: #FFFFFF;
	}

	/* Paragraph quote styling */
	.quote-text {
		font-size: 1.4em;
		font-weight: bold;
		width: 600px;
		margin: 0 auto;
	}

	/* Quote attribution */
	.quote-attribution {
		color: #919191;
		font-size: 0.9em;
		text-align: right;
		margin-bottom: 5px;
	}

	/* Contact info styling */
	.contact-info-text {
		margin: 0;
	}

	/* Bold phone number */
	.phone-bold {
		font-weight: bold;
		color: #ff4c00;
	}

	/* Bold email */
	.email-bold {
		font-weight: bold;
	}

	/* Horizontal header background */
	.header-background-image {
		background-size: cover;
		background-position: center;
	}

	/* Div padding for content */
	.content-padding-top {
		padding: 200px 0px 0px 0px;
	}

	/* Desktop footer links label styling */
	#footer .footer-links-label {
		margin-left: 12px;
	}

	/* Desktop: hide banner arrows on page-banner-clean */
	.page-banner-clean .banner-prev,
	.page-banner-clean .banner-next {
		display: none !important;
	}

	.page-banner-clean .banner-dots {
		display: none !important;
	}

	#banner_container {
		margin: 0 auto 1rem !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
	}

	#photo_banner {
		position: relative;
		width: 100% !important;
		max-width: 700px !important;
		height: 400px !important;
		margin: 0 auto 0 !important;
		overflow: hidden;
		border-radius: 10px;
	}

	.banner-prev,
	.banner-next {
		display: block !important;
	}

	.banner-dots {
		display: flex !important;
	}
}

/* Subtle Section Animation - fadeUp keyframes */
@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}