/* DeVo — responsive rules (loaded when "Responsive layout" is on). */

@media (max-width: 1200px) {
	.devo-main-menu > ul > li > a { padding: 0 calc(var(--devo-menu-spacing, 18px) * .7); }
	.devo-cols-5, .devo-cols-6 { --devo-cols: 4; }
}

@media (max-width: 1024px) {
	.devo-cols-3, .devo-cols-4, .devo-cols-5, .devo-cols-6 { --devo-cols: 2; }
	.devo-footer-top__cols:not(.devo-footer-cols--1) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.devo-project__columns { grid-template-columns: 1fr; }
	.devo-project__columns--sticky .devo-project__info { position: static; }
	.devo-title--large .devo-title__text { font-size: 56px; line-height: 62px; }
	.devo-title--medium .devo-title__text { font-size: 40px; line-height: 48px; }
	.devo-tabs--vertical { grid-template-columns: 1fr; }
	.devo-tabs--vertical .devo-tabs__nav { flex-direction: row; }
	.devo-tabs--vertical .devo-tabs__panes { margin: -1px 0 0; }
	.devo-pf-list:not(.devo-masonry) .devo-pf-item--large, .devo-pf-list:not(.devo-masonry) .devo-pf-item--large_width { grid-column: span 1; }
	.devo-pf-list:not(.devo-masonry) .devo-pf-item--large, .devo-pf-list:not(.devo-masonry) .devo-pf-item--large_height { grid-row: span 1; }
	body.devo-passepartout { padding: calc(var(--devo-pp-size, 20px) / 2); --devo-pp-offset: calc(var(--devo-pp-size, 20px) / 2); }
	.devo-pp--top, .devo-pp--bottom { height: calc(var(--devo-pp-size, 20px) / 2); }
	.devo-pp--left, .devo-pp--right { width: calc(var(--devo-pp-size, 20px) / 2); }
	body.devo-overlapping .devo-content-inner > .devo-layout { padding: 30px 20px; }
	.devo-content-inner { padding-bottom: 60px; }
}

@media (max-width: 768px) {
	h1 { font-size: 40px; line-height: 46px; }
	h2 { font-size: 32px; line-height: 38px; }
	h3 { font-size: 26px; line-height: 32px; }
	.devo-layout, .devo-layout--sidebar-right.devo-layout--narrow, .devo-layout--sidebar-right.devo-layout--wide, .devo-layout--sidebar-left.devo-layout--narrow, .devo-layout--sidebar-left.devo-layout--wide { grid-template-columns: minmax(0, 1fr); }
	.devo-layout--sidebar-left .devo-sidebar { order: 2; }
	.devo-posts--small_image .devo-post__inner { grid-template-columns: 1fr; gap: 20px; }
	.devo-search-item { flex-direction: column; }
	.devo-search-item__image { flex: 0 0 auto; }
	.devo-cta__row { flex-direction: column; text-align: center; }
	.devo-footer-bottom__cols { flex-direction: column; text-align: center !important; }
	.devo-footer-bottom__cols > * { text-align: center !important; }
	.devo-footer-menu ul { justify-content: center; }
	.devo-post-nav .nav-links { grid-template-columns: 1fr; }
	.devo-post-nav .nav-next { grid-column: 1; }
	.devo-author-box { flex-direction: column; text-align: center; align-items: center; }
	.devo-comments__list .children { padding-left: 20px; }
	.devo-search--fullscreen .devo-search__input { font-size: 28px; }
	.devo-fullscreen__menu > ul > li > a { font-size: 30px; line-height: 46px; }
	.devo-title--large .devo-title__text { font-size: 40px; line-height: 46px; }
	.devo-title--medium .devo-title__text { font-size: 34px; line-height: 40px; }
	.devo-title { margin-bottom: var(--devo-title-margin-m, 40px); }
	.devo-post__minimal { flex-direction: column; gap: 4px; }
	.devo-posts--masonry_full { padding: 0 var(--devo-gutter, 20px); }
}

@media (max-width: 600px) {
	.devo-cols-2, .devo-cols-3, .devo-cols-4, .devo-cols-5, .devo-cols-6 { --devo-cols: 1; }
	.devo-footer-top__cols:not(.devo-footer-cols--1) { grid-template-columns: 1fr; }
	.devo-contact-form__row { grid-template-columns: 1fr; }
	.devo-project-nav { grid-template-columns: 1fr 1fr; }
	.devo-project-nav__back { display: none; }
	.devo-side-area { width: 100vw; max-width: 100vw; }
	.devo-mobile-header .devo-logo__img { max-height: var(--devo-logo-h-mobile, 32px); }
	.devo-btt { --devo-btt-offset: 16px; }
	.devo-slider__arrow { width: 38px; height: 38px; }
	.devo-slider__arrow--prev { left: 6px; }
	.devo-slider__arrow--next { right: 6px; }
	.devo-tabs__nav button { flex: 1 1 100%; }
	.devo-single__footer { flex-direction: column; align-items: flex-start; }
}

/* Touch devices: no fixed backgrounds (iOS), no hover-only reveals */
@media (hover: none) {
	.devo-title--effect-fixed .devo-title__bg { background-attachment: scroll; }
	.devo-pf-hover--overlay .devo-pf-item__text, .devo-pf-hover--gradient .devo-pf-item__text { opacity: 1; background: linear-gradient(to top, rgba(0,0,0,.65), transparent 60%); justify-content: flex-end; }
	.devo-pf-hover--slide_up .devo-pf-item__text { transform: none; }
	.devo-team--overlay .devo-team__info { opacity: 1; background: linear-gradient(to top, rgba(0,0,0,.7), transparent 70%); justify-content: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	[data-devo-animate] { opacity: 1; transform: none; }
}
