@media (min-width: 1400px) {
	header nav {
		padding-inline: 40px;
	}

	.hero {
		padding: 150px 48px 64px;
		background-position: center top;
	}

	.hero-inner,
	.about-shell,
	.services-shell,
	.contact-shell {
		max-width: 1280px;
	}

	.hero-card {
		max-width: 680px;
		padding: 42px 40px;
	}

	.hero-card h1 {
		font-size: clamp(54px, 5vw, 72px);
	}

	.about-shell {
		grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.35fr);
		gap: 36px;
	}

	.about-panel {
		padding: 40px;
	}

	.services-grid {
		grid-template-columns: 1.15fr repeat(2, minmax(0, 1fr));
	}

	.contact-shell {
		grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
	}
}

@media (max-width: 1199.98px) {
	header nav {
		padding: 18px 16px;
	}

	.navbar-brand img {
		width: 180px;
	}

	.nav .nav-item a {
		font-size: 14px;
		padding: 5px 8px;
	}

	.hero {
		padding: 120px 20px 40px;
	}

	.hero-card {
		max-width: 520px;
	}

	.hero-card h1 {
		font-size: clamp(34px, 6vw, 52px);
	}

	.hero-copy {
		font-size: 13px;
	}

	.coming-soon-track {
		gap: 2.5rem;
	}

	.coming-soon-track span {
		font-size: 14px;
		letter-spacing: 0.22rem;
	}

	.coming-soon-track span::after {
		margin-left: 2.5rem;
	}

	.about-section {
		padding: 96px 20px 72px;
	}

	.about-shell {
		gap: 22px;
	}

	.services-section,
	.contact-section {
		padding-inline: 20px;
	}

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

@media (max-width: 991.98px) {
	header nav {
		height: auto;
		min-height: 100px;
	}

	header nav .container,
	header nav .row,
	header nav [class*='col-'] {
		width: 100%;
	}

	header nav .row {
		row-gap: 14px;
	}

	.col-6.col-md-3,
	.col-6.col-md-9 {
		width: 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.navbar-brand {
		display: inline-flex;
		justify-content: center;
		width: 100%;
	}

	.nav {
		justify-content: center !important;
		flex-wrap: wrap;
		gap: 8px;
	}

	.nav .nav-item a,
	.nav .nav-link {
		justify-content: center;
		flex: initial;
	}

	.nav .nav-item a:hover {
		flex: initial;
	}

	.hero {
		min-height: 760px;
		height: auto;
		align-items: flex-end;
		padding-top: 180px;
	}

	.hero-card {
		max-width: 100%;
	}

	.about-shell {
		grid-template-columns: 1fr;
	}

	.about-intro {
		gap: 18px;
	}

	.services-grid,
	.contact-shell,
	.contact-form-grid {
		grid-template-columns: 1fr;
	}

	.contact-form-panel,
	.contact-info-panel {
		padding: 26px 22px;
	}
}

@media (max-width: 767.98px) {
	body {
		overflow-x: hidden;
	}

	header nav {
		padding: 14px 12px 18px;
	}

	header nav .row.nav-shell {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		row-gap: 0;
	}

	header nav .col-6.col-md-3.nav-brand-wrap {
		width: auto;
		flex: 0 0 auto;
		max-width: none;
	}

	header nav .col-6.col-md-9.nav-actions {
		width: auto;
		flex: 0 0 auto;
		max-width: none;
		margin-left: auto;
		display: flex;
		align-items: center;
	}

	header nav .nav-toggle {
		display: inline-flex;
		flex: 0 0 auto;
	}

	.navbar-brand img {
		width: 150px;
	}

	.navbar-brand {
		width: auto;
	}

	.hero {
		min-height: 680px;
		padding: 168px 16px 28px;
		background-position: 62% top;
	}

	.hero-card {
		padding: 24px 20px;
		border-radius: 24px;
	}

	.hero-card h1 {
		max-width: none;
		font-size: clamp(30px, 11vw, 42px);
	}

	.hero-copy {
		font-size: 12px;
		line-height: 1.7;
	}

	.banner {
		height: 36px;
	}

	.coming-soon-track {
		gap: 1.75rem;
	}

	.coming-soon-track span {
		font-size: 12px;
		letter-spacing: 0.14rem;
	}

	.coming-soon-track span::after {
		width: 8px;
		height: 8px;
		margin-left: 1.75rem;
	}

	.about-section {
		padding: 80px 16px 60px;
	}

	.services-section,
	.contact-section {
		padding: 78px 16px 60px;
	}

	.about-panel {
		padding: 22px 18px;
		border-radius: 22px;
	}

	.services-header {
		margin-bottom: 24px;
	}

	.services-header h2,
	.contact-form-panel h2 {
		font-size: 22px;
	}

	.services-eyebrow,
	.contact-eyebrow,
	.service-card-label,
	.contact-info-label,
	.contact-detail-heading,
	.contact-field span,
	.services-copy,
	.contact-copy,
	.contact-info-copy,
	.service-list li,
	.contact-detail-list li,
	.contact-field input,
	.contact-field select,
	.contact-field textarea,
	.contact-submit {
		font-size: 14px;
	}

	.service-card,
	.contact-form-panel,
	.contact-info-panel {
		padding: 22px 18px;
		border-radius: 22px;
	}

	.contact-form {
		margin-top: 18px;
	}

	.about-roles {
		gap: 8px;
	}

	.about-roles span {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 479.98px) {
	.nav-menu-panel {
		width: 100%;
		max-width: none;
		padding: 108px 16px 24px;
	}

	.hero {
		min-height: 620px;
		padding-top: 188px;
	}

	.hero-card {
		padding: 20px 16px;
	}

	.hero-eyebrow,
	.about-eyebrow,
	.about-kicker {
		letter-spacing: 0.12rem;
	}

	.hero-highlights {
		gap: 8px;
	}

	.hero-highlights span,
	.about-roles span {
		width: 100%;
		justify-content: center;
	}

	.about-copy {
		gap: 12px;
	}

	.services-grid {
		gap: 16px;
	}

	.contact-field input,
	.contact-field select,
	.contact-field textarea {
		padding: 12px 14px;
	}
}
