@media (max-width: 1320px) {
	.primary-menu {
		gap: 22px;
	}

	.header-button {
		padding-right: 18px;
		padding-left: 18px;
	}
}

@media (max-width: 1200px) {
	.header-phone {
		display: none;
	}

	.custom-logo,
	.site-logo,
	.site-branding img {
		max-width: 198px;
		max-height: 64px;
	}
}

@media (max-width: 1100px) {
	.site-header {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 9999;
		padding: 12px 0;
		background: rgba(5, 8, 12, 0.96);
		backdrop-filter: blur(18px);
		-webkit-backdrop-filter: blur(18px);
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	body.admin-bar .site-header {
		top: 32px;
	}

	.header-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		min-height: 54px;
	}

	.site-branding {
		position: relative;
		z-index: 10001;
		display: flex;
		align-items: center;
		min-width: 0;
	}

	.site-branding a,
	.site-logo-link {
		display: inline-flex;
		align-items: center;
		max-width: 100%;
	}

	.custom-logo,
	.site-logo,
	.site-branding img {
		width: auto;
		max-width: 184px;
		max-height: 54px;
		object-fit: contain;
	}

	.primary-navigation {
		position: fixed;
		top: 86px;
		right: 16px;
		left: 16px;
		z-index: 10000;
		display: block;
		max-height: calc(100vh - 112px);
		padding: 26px;
		overflow-y: auto;
		background: rgba(7, 12, 18, 0.985);
		border: 1px solid rgba(255, 255, 255, 0.1);
		box-shadow: 0 30px 70px rgba(0, 0, 0, 0.42);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-14px);
		transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
	}

	body.admin-bar .primary-navigation {
		top: 118px;
		max-height: calc(100vh - 146px);
	}

	.primary-navigation.is-open,
	body.menu-open .primary-navigation {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.primary-menu {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
	}

	.primary-menu a {
		display: flex;
		justify-content: space-between;
		padding: 16px 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		font-size: 13px;
		letter-spacing: 0.16em;
	}

	.primary-menu a::after {
		display: none;
	}

	.primary-menu .sub-menu {
		position: static;
		min-width: 0;
		padding: 0 0 0 18px;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.primary-menu .sub-menu a {
		padding: 12px 0;
		font-size: 12px;
	}

	.header-actions {
		position: relative;
		z-index: 10001;
		display: flex;
		align-items: center;
		gap: 12px;
	}

	.header-button {
		display: none;
	}

	.menu-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
	}
}

@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}

	body.admin-bar .primary-navigation {
		top: 132px;
		max-height: calc(100vh - 158px);
	}

	.container {
		width: min(92%, 1440px);
	}

	.site-header {
		padding: 10px 0;
	}

	.header-inner {
		min-height: 52px;
	}

	.custom-logo,
	.site-logo,
	.site-branding img {
		max-width: 166px;
		max-height: 50px;
	}

	.hero-section {
		min-height: 700px;
		padding-top: 98px;
		background-position: center center;
	}

	.hero-content {
		width: 100%;
		padding-top: 112px;
	}

	.hero-kicker,
	.section-kicker,
	.hero-subtitle {
		font-size: 11px;
		letter-spacing: 0.24em;
	}

	.hero-title,
	h1 {
		font-size: clamp(42px, 14vw, 64px);
		line-height: 1.02;
	}

	h2 {
		font-size: clamp(34px, 10vw, 52px);
		line-height: 1.05;
	}

	p {
		font-size: 16px;
	}

	.hero-actions {
		max-width: 100%;
		margin-top: 28px;
	}

	section {
		padding: 84px 0;
	}

	.about-grid,
	.contact-grid,
	.philosophy-grid {
		grid-template-columns: 1fr;
	}

	.about-image {
		min-height: 420px;
	}

	.service-item {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 38px 0;
	}

	.projects-header {
		padding: 84px 0 46px;
	}

	.projects-grid {
		grid-template-columns: 1fr;
	}

	.project-item,
	.project-card {
		min-height: 420px;
	}

	.project-item img {
		min-height: 420px;
	}

	.contact-card {
		min-height: auto;
	}

	.footer-inner {
		grid-template-columns: 1fr;
		gap: 34px;
	}
}

@media (max-width: 600px) {
	body.admin-bar .site-header {
		top: 46px;
	}

	body.admin-bar .primary-navigation {
		top: 128px;
		max-height: calc(100vh - 154px);
	}
}

@media (max-width: 560px) {
	.site-header {
		padding: 9px 0;
	}

	.header-inner {
		min-height: 50px;
	}

	.primary-navigation {
		top: 76px;
		right: 12px;
		left: 12px;
		padding: 22px;
		max-height: calc(100vh - 102px);
	}

	.custom-logo,
	.site-logo,
	.site-branding img {
		max-width: 152px;
		max-height: 46px;
	}

	.menu-toggle {
		width: 48px;
		height: 48px;
	}

	.menu-toggle span {
		left: 12px;
		width: 24px;
	}

	.hero-section {
		min-height: 680px;
		padding-top: 88px;
		background-position: 58% center;
	}

	.hero-content {
		padding-top: 108px;
	}

	.hero-title,
	h1 {
		font-size: clamp(38px, 13vw, 52px);
	}

	.hero-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
	}

	.btn {
		width: 100%;
		min-height: 54px;
		padding: 16px 22px;
	}

	.about-image {
		min-height: 360px;
	}

	.project-item,
	.project-card {
		min-height: 360px;
	}

	.project-item img {
		min-height: 360px;
	}

	.contact-card {
		padding: 24px;
	}

	.footer-logo img {
		max-width: 220px;
	}

	.site-footer {
		padding-bottom: 40px;
	}
}

@media (max-width: 420px) {
	.container {
		width: min(93%, 1440px);
	}

	.custom-logo,
	.site-logo,
	.site-branding img {
		max-width: 142px;
		max-height: 44px;
	}

	.hero-section {
		min-height: 650px;
		background-position: 60% center;
	}

	.hero-title,
	h1 {
		font-size: clamp(36px, 13vw, 48px);
	}

	h2 {
		font-size: clamp(31px, 10vw, 44px);
	}

	.primary-navigation {
		right: 10px;
		left: 10px;
		padding: 20px;
	}

	.primary-menu a {
		font-size: 12px;
	}

	.service-item {
		padding: 34px 0;
	}
}

@media (max-width: 360px) {
	.custom-logo,
	.site-logo,
	.site-branding img {
		max-width: 132px;
	}

	.hero-title,
	h1 {
		font-size: 40px;
	}
}


@media (max-width: 782px) {
	.site-logo-link,
	.custom-logo-link,
	.footer-logo {
		padding: 0;
		background: transparent;
		border: 0;
		box-shadow: none;
	}
}

@media (max-width: 560px) {
	.site-logo-link,
	.custom-logo-link {
		padding: 0;
		background: transparent;
	}

	.footer-logo img {
		max-width: 220px;
		max-height: 78px;
	}
}


/* Sprint 07 Responsive Final Touches */
@media (max-width: 782px) {
	.hero-section {
		min-height: 760px;
	}

	.hero-content {
		padding-top: 92px;
	}

	.hero-scroll {
		margin-top: 42px;
	}
}

@media (max-width: 560px) {
	.hero-section {
		min-height: 760px;
		background-position: 62% center;
	}

	.hero-title,
	h1 {
		font-size: clamp(40px, 13vw, 54px);
	}

	.hero-description {
		font-size: 16px;
	}
}

/* Sprint 12: Mobile menu spacing refinement */
@media (max-width: 1100px) {
	.primary-navigation {
		top: 76px;
		padding: 12px 22px 18px;
	}

	body.admin-bar .primary-navigation {
		top: 108px;
		max-height: calc(100vh - 126px);
	}

	.primary-menu {
		margin: 0;
		padding: 0;
	}

	.primary-menu > li:first-child {
		margin-top: 0;
	}

	.primary-menu a {
		padding: 12px 0;
	}

	.primary-menu .sub-menu a {
		padding: 10px 0;
	}
}

@media (max-width: 782px) {
	body.admin-bar .primary-navigation {
		top: 112px;
		max-height: calc(100vh - 130px);
	}
}

@media (max-width: 600px) {
	body.admin-bar .primary-navigation {
		top: 76px;
		max-height: calc(100vh - 96px);
	}
}

@media (max-width: 560px) {
	.primary-navigation {
		top: 68px;
		right: 12px;
		left: 12px;
		padding: 10px 20px 16px;
		max-height: calc(100vh - 88px);
	}

	.primary-menu a {
		padding: 11px 0;
		font-size: 12px;
		line-height: 1.25;
	}
}

@media (max-width: 420px) {
	.primary-navigation {
		top: 66px;
		right: 10px;
		left: 10px;
		padding: 8px 18px 14px;
	}
}
