/* =====================================================================
   Hill Crest Land Group LLC - Joomla 3 Template
   responsive.css - Mobile-first breakpoints
   Breakpoints: 1200 / 992 / 768 / 480
   ===================================================================== */

/* ---------------------------------------------------------------------
   <= 1200px  -  Container padding adjustments
   --------------------------------------------------------------------- */
@media (max-width: 1200px) {
	.hc-container { padding: 0 32px; }
	.hc-hero-title { font-size: 46px; }
}

/* ---------------------------------------------------------------------
   <= 992px  -  Two-column layouts stack; trust/process to 2 cols
   --------------------------------------------------------------------- */
@media (max-width: 992px) {
	.hc-section { padding: 64px 0; }

	/* About + Areas + Contact stack to single column */
	.hc-about-grid,
	.hc-areas-grid,
	.hc-contact-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	/* Testimonials to 1 column on tablet for readability... keep at least 1 */
	.hc-testimonial-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }

	/* Process: drop the connecting line, wrap to a grid */
	.hc-process-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; }
	.hc-process-grid::before { display: none; }

	/* Footer modules + main footer collapse */
	.hc-footer-modules { grid-template-columns: 1fr; }
	.hc-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
	.hc-footer-brand { grid-column: 1 / -1; }

	.hc-hero-title { font-size: 42px; }
}

/* ---------------------------------------------------------------------
   <= 768px  -  Mobile: hamburger nav, single column, smaller hero
   --------------------------------------------------------------------- */
@media (max-width: 768px) {
	/* Scale logo down proportionally on smaller screens */
	.hc-logo-img { max-width: 240px; }

	.hc-section { padding: 48px 0; }
	.hc-container { padding: 0 20px; }

	/* Show hamburger, hide inline menu until toggled */
	.hc-nav-toggle { display: flex; }
	.hc-nav-menu {
		position: absolute;
		top: var(--nav-height);
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--white);
		box-shadow: 0 12px 24px var(--shadow);
		padding: 12px 18px 18px;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		transition: max-height .35s ease, opacity .25s ease, padding .35s ease;
	}
	.hc-nav-menu.is-open {
		max-height: 80vh;
		opacity: 1;
		pointer-events: auto;
		overflow-y: auto;
	}
	.hc-nav-links,
	.hc-nav-menu ul.nav,
	.hc-nav-menu ul.menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}
	.hc-nav-links a,
	.hc-nav-menu nav ul li a {
		padding: 14px 8px;
		border-bottom: 1px solid #efece6;
		font-size: 16px;
	}
	.hc-nav-cta { margin: 14px 0 0; text-align: center; }

	/* Section heads */
	.hc-section-head { margin-bottom: 40px; }
	.hc-section-head h2 { font-size: 28px; }
	.hc-section-sub { font-size: 16px; }

	/* Hero */
	.hc-hero { min-height: 80vh; padding: calc(var(--nav-height) + 30px) 0 50px; }
	.hc-hero-title { font-size: 36px; }
	.hc-hero-subheading { font-size: 17px; }
	.hc-hero-buttons { flex-direction: column; align-items: center; }
	.hc-hero-buttons .hc-btn { width: 100%; max-width: 320px; }

	/* Trust badges 2x2 */
	.hc-trust-grid { grid-template-columns: 1fr 1fr; gap: 26px; }

	/* About benefits single column */
	.hc-benefit-grid { grid-template-columns: 1fr; }

	/* Process stacks vertically */
	.hc-process-grid { grid-template-columns: 1fr; gap: 28px; max-width: 420px; margin: 0 auto; }

	/* Service chips 2 cols */
	.hc-chips { grid-template-columns: 1fr 1fr; }

	/* Footer single column, centered */
	.hc-footer { padding-top: 48px; }
	.hc-footer-grid { grid-template-columns: 1fr; text-align: center; gap: 32px; }
	.hc-footer-brand { grid-column: auto; }
	.hc-social { justify-content: center; }
	.hc-footer-contact li { justify-content: center; }
	.hc-footer-bottom { flex-direction: column; text-align: center; }

	/* Form: stack paired fields */
	.hc-form-row { grid-template-columns: 1fr; gap: 0; }
	.hc-contact-form-wrap { padding: 26px; }
}

/* ---------------------------------------------------------------------
   <= 480px  -  Smallest phones
   --------------------------------------------------------------------- */
@media (max-width: 480px) {
	.hc-logo-img { max-width: 190px; }

	.hc-hero-title { font-size: 28px; }
	.hc-hero-preheadline { font-size: 13px; letter-spacing: 2px; }
	.hc-hero-subheading { font-size: 15px; }

	.hc-section-head h2 { font-size: 24px; }

	/* Trust badges single column */
	.hc-trust-grid { grid-template-columns: 1fr; }

	/* Full-width buttons */
	.hc-btn { display: block; width: 100%; }
	.hc-btn-lg { padding: 14px 20px; font-size: 16px; }
	.hc-nav-cta { display: block; }

	/* Service chips single column */
	.hc-chips { grid-template-columns: 1fr; }

	.hc-contact-form-wrap { padding: 20px; }
	.hc-contact-info h2 { font-size: 26px; }

	.hc-faq-trigger { font-size: 15px; padding: 16px; }
}
