/* ==========================================================================
   AHM Industrial — Responsive
   Breakpoints: 1400 / 1200 / 1024 / 782 / 640 / 480
   ========================================================================== */

/* --------------------------------------------------------------------------
   Large desktop
   -------------------------------------------------------------------------- */

@media ( max-width: 1400px ) {
	.ahm-nav__menu > li > a {
		padding-inline: 14px;
	}

	.ahm-header__meta-label {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Small desktop / large tablet
   -------------------------------------------------------------------------- */

@media ( max-width: 1200px ) {
	:root {
		--ahm-gutter: 20px;
	}

	.ahm-footer__grid {
		gap: 40px 30px;
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

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

	.ahm-with-sidebar,
	.ahm-with-sidebar--left {
		grid-template-columns: minmax( 0, 1fr ) 300px;
	}

	.ahm-solution {
		grid-template-columns: 60px 1fr 1.3fr auto;
		gap: 16px 22px;
	}

	.ahm-header__meta {
		display: none;
	}

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

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

/* --------------------------------------------------------------------------
   Tablet — desktop nav collapses into the drawer here
   -------------------------------------------------------------------------- */

@media ( max-width: 1024px ) {
	:root {
		--ahm-header-h: 76px;
		--ahm-section-y: 72px;
	}

	/* Swap desktop nav for the hamburger */
	.ahm-nav {
		display: none;
	}

	.ahm-nav-toggle {
		display: flex;
	}

	.ahm-topbar__inner {
		justify-content: center;
		text-align: center;
	}

	.ahm-topbar__list--right {
		display: none;
	}

	/* Stack every two-column section */
	.ahm-about__grid,
	.ahm-documentary__grid,
	.ahm-process__grid,
	.ahm-why__grid,
	.ahm-faq__grid,
	.ahm-testimonials__grid,
	.ahm-contact__grid,
	.ahm-manufacture__grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 40px;
	}

	/* Media goes below copy on stacked layouts for a faster first paint */
	.ahm-documentary__grid > .ahm-video,
	.ahm-testimonials__grid > .ahm-testimonials__aside {
		order: -1;
	}

	.ahm-faq__aside {
		position: static;
	}

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

	.ahm-search-results {
		gap: 20px;
	}

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

	/* Dividers only make sense in a single row */
	.ahm-counters--divided .ahm-counter + .ahm-counter::before {
		display: none;
	}

	.ahm-with-sidebar,
	.ahm-with-sidebar--left {
		grid-template-columns: minmax( 0, 1fr );
	}

	.ahm-with-sidebar--left .ahm-sidebar {
		order: 0;
	}

	.ahm-hero {
		min-height: 0;
	}

	.ahm-hero__scrim {
		background: linear-gradient( 180deg, rgba( 10, 17, 25, 0.88 ) 0%, rgba( 10, 17, 25, 0.94 ) 100% );
	}

	.ahm-hero__dots {
		right: 50%;
		bottom: 22px;
		transform: translateX( 50% );
	}

	.ahm-about__media-grid .ahm-frame:first-child {
		aspect-ratio: 3 / 4;
	}

	/* Process steps lose the connector line when they wrap */
	.ahm-steps--row {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}

	.ahm-slider > * {
		flex: 0 0 calc( 80% - 15px );
	}

	.ahm-slider--3 > * {
		flex: 0 0 calc( 60% - 20px );
	}
}

/* --------------------------------------------------------------------------
   Mobile landscape
   -------------------------------------------------------------------------- */

@media ( max-width: 782px ) {
	.ahm-section-head--split {
		align-items: flex-start;
	}

	.ahm-cta__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.ahm-post-nav {
		grid-template-columns: minmax( 0, 1fr );
	}

	.ahm-post-nav__item--next {
		text-align: left;
	}

	.ahm-comment-form,
	.comment-form,
	.ahm-form--2col {
		grid-template-columns: minmax( 0, 1fr );
	}

	.ahm-checklist--2col {
		grid-template-columns: minmax( 0, 1fr );
	}

	.ahm-solution {
		grid-template-columns: 44px 1fr;
	}

	.ahm-solution__text {
		grid-column: 2;
	}

	.ahm-solution .ahm-icon-btn {
		grid-column: 2;
		justify-self: start;
	}

	.ahm-steps--row {
		grid-template-columns: minmax( 0, 1fr );
		gap: 26px;
	}

	.ahm-steps--row::before {
		display: none;
	}

	.ahm-steps--row .ahm-step {
		flex-direction: row;
		text-align: left;
	}

	.ahm-steps--row .ahm-step__num {
		width: 56px;
		height: 56px;
		margin-inline: 0;
		font-size: 1.125rem;
	}

	.ahm-why__features {
		grid-template-columns: minmax( 0, 1fr );
	}

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

	.ahm-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
	}

	.ahm-footer__legal {
		justify-content: center;
	}

	.alignwide {
		width: 100%;
		margin-inline: 0;
	}

	.alignleft,
	.alignright {
		float: none;
		display: block;
		margin: 0 auto 1.5em;
	}
}

/* --------------------------------------------------------------------------
   Mobile portrait
   -------------------------------------------------------------------------- */

@media ( max-width: 640px ) {
	:root {
		--ahm-gutter: 16px;
		--ahm-section-y: 56px;
	}

	.ahm-services__grid,
	.ahm-services__grid--3,
	.ahm-team__grid,
	.ahm-projects__grid,
	.ahm-blog__grid,
	.ahm-counters,
	.ahm-grid--2,
	.ahm-grid--3,
	.ahm-grid--4,
	.ahm-manufacture__tiles,
	.ahm-about__stats,
	.ahm-hero__strip {
		grid-template-columns: minmax( 0, 1fr );
	}

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

	.ahm-about__media-grid {
		grid-template-columns: minmax( 0, 1fr );
	}

	.ahm-about__media-grid .ahm-frame:first-child {
		aspect-ratio: 16 / 11;
		grid-row: auto;
	}

	.ahm-slider > *,
	.ahm-slider--3 > * {
		flex: 0 0 100%;
	}

	.ahm-card__body,
	.ahm-iconbox {
		padding: 26px 22px 28px;
	}

	.ahm-quote {
		padding: 30px 24px;
	}

	.ahm-contact__form-wrap,
	.comment-respond {
		padding: 28px 22px;
	}

	.ahm-accordion__trigger {
		padding: 18px 20px;
		font-size: 1rem;
	}

	.ahm-accordion__content {
		padding: 0 20px 22px;
	}

	.ahm-author-box,
	.comment-body {
		flex-direction: column;
		gap: 16px;
	}

	.comment-list .children {
		padding-left: 18px;
	}

	.ahm-exp-badge {
		right: 14px;
		bottom: 14px;
		padding: 18px 20px;
	}

	.ahm-exp-badge__value {
		font-size: 2.125rem;
	}

	.ahm-footer__grid {
		grid-template-columns: minmax( 0, 1fr );
	}

	.ahm-project__media {
		aspect-ratio: 4 / 4.4;
	}

	.ahm-btn {
		padding: 14px 26px;
	}

	.ahm-btn--lg {
		padding: 16px 32px;
	}

	.ahm-hero__actions .ahm-btn {
		width: 100%;
	}

	.ahm-to-top,
	.ahm-float-call {
		width: 46px;
		height: 46px;
	}

	.ahm-float-call {
		bottom: 20px;
		left: 20px;
	}

	.ahm-to-top {
		right: 20px;
		bottom: 20px;
	}

	.ahm-search-modal .search-field {
		font-size: 1.125rem;
	}

	.ahm-search-modal__close {
		top: 18px;
		right: 18px;
	}
}

/* --------------------------------------------------------------------------
   Very small screens
   -------------------------------------------------------------------------- */

@media ( max-width: 480px ) {
	.ahm-brand__tagline {
		display: none;
	}

	.ahm-brand img,
	.ahm-brand svg {
		max-height: 38px;
	}

	.ahm-brand__name {
		font-size: 1.1875rem;
	}

	.ahm-rating-summary {
		flex-direction: column;
		align-items: flex-start;
	}

	.ahm-employee-callout {
		flex-direction: column;
		align-items: flex-start;
	}

	.ahm-quote__author {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.ahm-footer__gallery {
		grid-template-columns: repeat( 3, 1fr );
	}

	.gallery-columns-3,
	.gallery-columns-4,
	.gallery-columns-5 {
		grid-template-columns: repeat( 2, 1fr );
	}
}

/* --------------------------------------------------------------------------
   Print
   -------------------------------------------------------------------------- */

@media print {
	.ahm-topbar,
	.ahm-header,
	.ahm-footer,
	.ahm-to-top,
	.ahm-float-call,
	.ahm-drawer,
	.ahm-overlay,
	.ahm-search-modal,
	.ahm-sidebar,
	.ahm-comments,
	.ahm-related,
	.ahm-cta,
	.ahm-preloader {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 12pt;
	}

	a {
		color: #000;
		text-decoration: underline;
	}

	.ahm-section {
		padding-block: 0;
	}
}
