@media (min-width: 1600px) {
	:root {
		--container-width: 1520px;
	}

	.section {
		padding-block: clamp(64px, 5vw, 96px);
	}

	.hero {
		min-height: auto;
	}

	.hero__visual {
		min-height: 340px;
	}
}

@media (min-width: 1920px) {
	:root {
		--container-width: 1640px;
	}

	.hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(520px, 0.9fr);
	}

	.theme-visual {
		min-height: 390px;
	}

	.hero h1 {
		font-size: clamp(3.5rem, 3.4vw, 4.5rem);
	}

	.cards-grid {
		gap: 24px;
	}
}

@media (min-width: 2560px) {
	:root {
		--container-width: 1760px;
	}

	.hero {
		min-height: auto;
	}
}

@media (min-width: 3400px) {
	:root {
		--container-width: 1880px;
	}

	.hero {
		min-height: auto;
	}
}

@media (max-width: 1180px) {
	.top-bar__address {
		display: none;
	}

	.mega-menu {
		left: auto;
		right: 0;
	}

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

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

@media (max-width: 980px) {
	.site-header {
		border-bottom: 0;
	}

	.nav-open .top-bar {
		border-bottom: 2px solid var(--color-brand);
	}

	.top-bar__inner {
		min-height: 84px;
	}

	.brand__mark {
		width: 56px;
		height: 56px;
		border-radius: 16px;
		font-size: 1.1rem;
	}

	.brand__text strong {
		font-size: 1.15rem;
	}

	.nav-toggle {
		position: relative;
		display: inline-grid;
		flex: 0 0 auto;
		width: 54px;
		height: 54px;
		place-items: center;
		border-radius: 16px;
	}

	.top-bar__meta {
		display: none;
	}

	.top-bar__mobile-actions {
		display: flex;
		gap: 8px;
		margin-left: auto;
	}

	.top-bar__mobile-actions .top-bar__social {
		width: 42px;
		height: 42px;
		font-size: 0.78rem;
	}

	.nav-toggle span:not(.screen-reader-text) {
		position: absolute;
		width: 24px;
		height: 3px;
		margin: 0;
		border-radius: 999px;
		transition: transform var(--transition-base), opacity var(--transition-base);
	}

	.nav-toggle span:not(.screen-reader-text):nth-child(1) {
		transform: translateY(-8px);
	}

	.nav-toggle span:not(.screen-reader-text):nth-child(3) {
		transform: translateY(8px);
	}

	.nav-open .nav-toggle span:not(.screen-reader-text):nth-child(1) {
		transform: rotate(45deg);
	}

	.nav-open .nav-toggle span:not(.screen-reader-text):nth-child(2) {
		opacity: 0;
	}

	.nav-open .nav-toggle span:not(.screen-reader-text):nth-child(3) {
		transform: rotate(-45deg);
	}

	.main-nav {
		position: fixed;
		inset: 84px 0 auto;
		max-height: calc(100vh - 84px);
		overflow-x: hidden;
		overflow-y: auto;
		background: var(--color-white);
		box-shadow: var(--shadow-soft);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-10px);
		transition: opacity var(--transition-base), transform var(--transition-base);
	}

	.nav-open .main-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.main-nav__inner,
	.primary-menu__list {
		display: block;
	}

	.main-nav__inner {
		width: 100%;
		padding: 0;
	}

	.primary-menu__item {
		position: relative;
		width: 100%;
	}

	.primary-menu__item.has-mega {
		display: block;
	}

	.primary-menu__item.has-mega::after {
		display: none;
	}

	.primary-menu__link {
		width: 100%;
		padding: 14px 64px 14px 18px;
		border-radius: 0;
		font-size: 1.05rem;
		font-weight: 800;
	}

	.primary-menu__link--highlight {
		border-radius: 0;
	}

	.primary-menu__mega-toggle {
		position: absolute;
		top: 0;
		right: 0;
		width: 58px;
		height: 54px;
		margin-left: 0;
		border-radius: 0;
		background: rgba(255, 185, 0, 0.18);
	}

	.has-mega.is-open .primary-menu__chevron {
		transform: rotate(180deg);
	}

	.mega-menu {
		position: static;
		display: none;
		min-width: 0;
		width: 100%;
		max-width: 100%;
		padding: 14px 18px 18px;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.has-mega.is-open .mega-menu {
		display: grid;
		transform: none;
	}

	.has-mega:not(.is-open):focus-within .mega-menu {
		display: none;
		pointer-events: none;
		transform: none;
	}

	.has-mega.is-open:focus-within .mega-menu {
		transform: none;
	}

	.mega-menu__featured {
		padding: 14px;
		border-color: rgba(255, 185, 0, 0.85);
		background: var(--color-white);
	}

	.mega-menu__featured h3,
	.mega-menu__column h3 {
		margin-bottom: 4px;
		font-size: 1.12rem;
	}

	.mega-menu a {
		font-size: 0.95rem;
		font-weight: 700;
	}

	.mega-menu__featured,
	.mega-menu__column,
	.mega-menu__cta {
		gap: 8px;
	}

	.mega-menu__cta {
		padding: 14px;
	}

	.mobile-menu-contacts {
		display: grid;
		gap: 14px;
		padding: 22px 18px 28px;
		font-size: 1rem;
		line-height: 1.35;
	}

	.mobile-menu-contact,
	.mobile-menu-contact__main {
		display: flex;
		align-items: center;
		gap: 12px;
		color: var(--color-text);
	}

	.mobile-menu-contact--row {
		flex-wrap: wrap;
	}

	.mobile-menu-contact--city {
		align-items: flex-start;
	}

	.mobile-menu-contact__body {
		display: grid;
		gap: 6px;
	}

	.mobile-menu-contact__label {
		color: var(--color-gray-500);
		font-size: 0.82rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	.mobile-menu-contact .city-switcher__select {
		min-height: 40px;
		font-size: 1rem;
	}

	.mobile-menu-contact__main {
		margin-right: 10px;
	}

	.mobile-menu-contact__icon {
		position: relative;
		display: inline-grid;
		flex: 0 0 auto;
		width: 36px;
		height: 36px;
		place-items: center;
		border-radius: 50%;
		background: var(--color-brand);
	}

	.mobile-menu-contact__icon::before,
	.mobile-menu-contact__icon::after {
		position: absolute;
		content: "";
	}

	.mobile-menu-contact__icon--mail::before {
		width: 18px;
		height: 13px;
		border: 3px solid var(--color-text);
		border-radius: 3px;
	}

	.mobile-menu-contact__icon--mail::after {
		width: 13px;
		height: 13px;
		border-right: 3px solid var(--color-text);
		border-bottom: 3px solid var(--color-text);
		transform: translateY(-3px) rotate(45deg);
	}

	.mobile-menu-contact__icon--phone::before {
		width: 17px;
		height: 17px;
		border: 4px solid var(--color-text);
		border-top-color: transparent;
		border-left-color: transparent;
		border-radius: 50%;
		transform: rotate(35deg);
	}

	.mobile-menu-contact__icon--pin::before {
		width: 18px;
		height: 18px;
		border-radius: 50% 50% 50% 0;
		background: var(--color-text);
		transform: rotate(-45deg);
	}

	.mobile-menu-contact__icon--pin::after {
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: var(--color-brand);
	}

	.mega-menu--services,
	.mega-menu--clients,
	.mega-menu__columns,
	.hero__grid,
	.split-section,
		.inner-usp,
		.inner-chart,
		.inner-attention-cta,
		.inner-lead-capture,
	.cta-panel,
	.final-cta,
	.ai-image-generator,
	.site-footer__top,
	.site-footer__nav {
		grid-template-columns: 1fr;
	}

	.mega-menu--services,
	.mega-menu--clients,
	.mega-menu__columns {
		gap: 12px;
	}

	.cards-grid--3,
	.cards-grid--4,
	.pricing-grid,
	.steps-grid,
	.stats-row--cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.theme-visual {
		min-height: 320px;
		max-width: 640px;
		margin-inline: auto;
	}

	.theme-visual__image {
		right: 50%;
		transform: translateX(50%);
	}

	.inner-cards-section--media .cards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.inner-cards-section--quote .inner-topic-card:first-child {
		grid-column: auto;
	}

	.inner-section-accent {
		position: relative;
		width: min(100%, 280px);
		margin: -12px 0 24px;
	}

	.motion-story__panel {
		grid-template-columns: 1fr;
	}

	.motion-story__visual {
		min-height: 280px;
	}

	.motion-story__orbit span {
		transform:
			rotate(calc(var(--step-index) * 90deg))
			translateX(118px)
			rotate(calc(var(--step-index) * -90deg));
	}

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

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

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

	.clients-logos__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.section-heading--sticky {
		position: static;
	}
}

@media (max-width: 640px) {
	:root {
		--transition-reveal: 1ms linear;
	}

	.ambient-field,
	.click-sparks,
	.page-transition,
	.section--animated-surface::before,
	.section--animated-surface::after,
	.site-footer::before,
	.site-footer::after,
	body::before {
		display: none;
	}

	body {
		font-size: 15.5px;
	}

	h1 {
		margin-bottom: 18px;
		font-size: clamp(2rem, 10vw, 2.7rem);
		line-height: 1.06;
	}

	.hero h1 {
		font-size: clamp(2rem, 9.2vw, 2.65rem);
	}

	h2 {
		margin-bottom: 16px;
		font-size: clamp(1.75rem, 8vw, 2.35rem);
		line-height: 1.12;
	}

	h3 {
		font-size: 1.12rem;
	}

	.section {
		padding: 44px 0;
	}

	.cta-panel,
	.final-cta {
		gap: 24px;
		padding: 24px;
		border-radius: 20px;
	}

	.cta-panel h2,
	.final-cta h2 {
		font-size: clamp(1.55rem, 6.4vw, 2rem);
	}

	.cta-panel p,
	.final-cta p {
		line-height: 1.45;
	}

	.lead-form {
		gap: 9px;
		padding: 14px;
		border-radius: 18px;
		font-size: 0.92rem;
	}

	.lead-form label {
		display: grid;
		gap: 5px;
	}

	.lead-form label > span {
		font-size: 0.9rem;
		line-height: 1.25;
	}

	.lead-form input:not([type="checkbox"]),
	.lead-form textarea {
		min-height: 42px;
		padding: 9px 12px;
		font-size: 0.95rem;
	}

	.lead-form textarea {
		min-height: 86px;
	}

	.lead-form .button {
		min-height: 44px;
		padding: 12px 16px;
		font-size: 0.95rem;
	}

	.form-consent {
		grid-template-columns: 16px 1fr;
		gap: 8px;
		font-size: 0.72rem;
		line-height: 1.28;
	}

	.form-consent input {
		width: 16px;
		height: 16px;
		margin-top: 1px;
	}

	.form-consent a {
		text-underline-offset: 2px;
	}

	.brand__text small {
		display: none;
	}

	.top-bar__inner {
		min-height: 78px;
		gap: 8px;
	}

	.brand {
		gap: 8px;
	}

	.brand__mark {
		width: 54px;
		height: 54px;
		border-radius: 15px;
		font-size: 1rem;
	}

	.brand__text strong {
		font-size: 1rem;
	}

	.top-bar__mobile-actions {
		gap: 8px;
	}

	.top-bar__mobile-actions .top-bar__social {
		width: 40px;
		height: 40px;
		font-size: 0.72rem;
	}

	.nav-toggle {
		width: 52px;
		height: 52px;
		border-radius: 16px;
	}

	.main-nav {
		inset: 78px 0 auto;
		max-height: calc(100vh - 78px);
	}

	.hero.section {
		padding-block: 42px clamp(16px, 4vw, 28px);
		padding-inline: 0;
	}

	.hero__subtitle {
		font-size: 1rem;
		line-height: 1.5;
	}

	.hero__actions,
	.not-found-page__actions,
	.site-footer__buttons {
		justify-content: center;
	}

	.hero__visual {
		display: none;
	}

	.page-hero::before,
	.page-hero::after {
		opacity: 0.5;
	}

	.not-found-page__grid {
		grid-template-columns: 1fr;
	}

	.not-found-page__visual {
		min-height: 300px;
	}

	.hero-network {
		display: none;
	}

	.visual-card--main {
		top: 22px;
		right: 10px;
		z-index: 2;
		width: min(238px, 68vw);
		min-height: 150px;
	}

	.visual-card--floating {
		bottom: 24px;
		left: 10px;
		z-index: 3;
		width: min(196px, 56vw);
	}

	.visual-card {
		gap: 6px;
		padding: 18px;
		border-radius: 20px;
	}

	.visual-card strong {
		font-size: 2rem;
	}

	.visual-card span,
	.visual-card small {
		font-size: 0.85rem;
	}

	.orb {
		inset: 86px 24px auto auto;
		width: 220px;
		height: 220px;
		filter: blur(10px);
	}

	.cards-grid--3,
	.cards-grid--4,
	.pricing-grid,
	.steps-grid {
		grid-template-columns: 1fr;
	}

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

	.inner-cards-section--media .cards-grid {
		grid-template-columns: 1fr;
	}

	.inner-cards-section--quote .inner-topic-card:first-child {
		grid-column: auto;
	}

	.inner-cards-section--timeline .cards-grid::before,
	.inner-section-accent {
		display: none;
	}

	.inner-text-visual {
		max-width: 100%;
	}

	.motion-story__panel {
		padding: 22px;
	}

	.motion-story__visual {
		min-height: auto;
	}

	.motion-story__orbit {
		display: none;
	}

	.motion-story__cards {
		grid-template-columns: 1fr;
		padding: 0;
	}

	.front-services-grid .service-card {
		min-height: 230px;
		padding: 16px;
	}

	.front-services-grid .service-card::after {
		right: 16px;
		bottom: 66px;
		left: 16px;
	}

	.service-card__number {
		font-size: 1.65rem;
	}

	.service-card__label {
		padding: 4px 7px;
		font-size: 0.68rem;
	}

	.front-services-grid .service-card p {
		font-size: 0.84rem;
		line-height: 1.35;
	}

	.service-card__link {
		font-size: 0.86rem;
	}

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

	.case-card__media,
	.case-card__media img {
		min-height: 180px;
	}

	.case-card__metrics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.case-card__body {
		padding: 20px;
	}

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

	.big-cta {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.ai-image-generator {
		padding: 22px;
	}

	.ai-image-generator__preview,
	.ai-image-generator__preview img {
		min-height: 260px;
	}

	.team-grid,
	.video-grid,
	.team-single,
	.video-single {
		grid-template-columns: 1fr;
	}

	.blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.blog-grid .post-card {
		min-height: 150px;
		padding: 16px;
	}

	.stats-row,
	.stats-row--cards,
	.inner-chart__legend,
	.geo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.inner-chart__plot {
		min-height: 170px;
		gap: 10px;
		padding-inline: 10px;
	}

	.inner-infographic__flow {
		grid-template-columns: 1fr;
	}

	.inner-infographic__flow::before {
		top: 8%;
		bottom: 8%;
		left: 38px;
		width: 2px;
		height: auto;
	}

	.inner-infographic__node {
		grid-template-columns: 54px 1fr;
		justify-items: start;
		text-align: left;
	}

	.inner-attention-cta__actions {
		justify-content: flex-start;
	}

	.lead-form--inline {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 0;
		background: transparent;
	}

	.pill-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.pill,
	.geo-grid span,
	.stat--card {
		padding: 10px 12px;
		font-size: 0.88rem;
		line-height: 1.25;
	}

	.service-card,
	.feature-card,
	.post-card,
	.pricing-card,
	.case-card {
		padding: 20px;
	}

	.site-footer__bottom {
		display: grid;
	}

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

	.scroll-top-button {
		right: 14px;
		bottom: 14px;
		min-height: 44px;
		padding: 10px 12px;
	}

	.scroll-top-button span {
		display: none;
	}
}

@media (max-width: 380px) {
	.stats-row,
	.stats-row--cards,
	.geo-grid,
	.pill-list {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
		animation-duration: 0.001ms !important;
	}

	.reveal {
		opacity: 1;
		transform: none;
	}

	.motion-item,
	.motion-item.is-visible,
	.text-reveal,
	.text-reveal.is-visible,
	.media-reveal,
	.media-reveal.is-visible,
	.micro-motion,
	.micro-motion.is-visible,
	.list-motion,
	.list-motion.is-visible {
		opacity: 1;
		background-size: 0 0;
		filter: none;
		transform: none;
		transition-delay: 0ms;
	}

	.tilt-card,
	.tilt-card.is-tilting,
	.button:hover {
		transform: none;
	}

	.hero-network {
		display: none;
	}

	.theme-visual,
	.theme-visual__halo,
	.theme-visual__card,
	.theme-visual__chips span,
	.theme-visual [data-motion-layer],
	.inner-text-visual span,
	.inner-section-accent span,
	.lead-form--animated::before,
	.lead-form--animated::after,
	.lead-route span,
	.motion-story__panel::before,
	.motion-story__panel::after,
	.motion-story__orbit,
	.motion-story__chips span,
	.scroll-top-button,
	.ambient-field,
	.ambient-field span,
	.click-sparks span,
	.page-transition,
	.section--animated-surface::before,
	.section--animated-surface::after,
	.site-footer::before,
	.site-footer::after,
	.motion-ripple,
	body::before,
	.page-hero::before,
	.page-hero::after {
		transform: none !important;
	}

	.lead-form--animated,
	.cta-panel,
	.final-cta,
	.inner-usp,
	.motion-story__panel {
		animation: none !important;
	}
}
