/* Responsive refinements, loaded last on every page.
   Fixes viewport-height-dependent leading, undersized tap targets,
   the footer link row and the 401 page overflow. */

/* Leading follows the type, not the window height (was 4vh / 7vh / 8vh). */
.paragraph,
.paragraph-4,
.paragraph-5 {
	line-height: 1.75;
}

@media screen and (max-width: 991px) {
	.heading {
		line-height: 1.15;
	}
}

/* Footer links: wrap with a real gap, 44px tap height. */
.div-block-21 {
	flex-wrap: wrap;
	align-items: center;
	column-gap: 1.25rem;
}

.div-block-21 .link,
.div-block-21 .link.tcs {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 0 0.25rem;
}

/* Tap targets for buttons and mailto links. */
.contact-button,
.contact-info {
	min-height: 44px;
}

.contact-button {
	min-width: 150px;
}

@media screen and (max-width: 991px) {
	.contact-button {
		width: auto;
		min-width: 150px;
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

/* 401: copy width was 60vw / 75vw and overflowed the 28rem container. */
.utility-page-content .paragraph.long {
	width: auto;
	max-width: 100%;
}

.utility-page-content {
	max-width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

/* Touch: no hover-only lift. */
@media (hover: none) {
	.scroll-to-top:hover,
	.scroll-to-top.scroll-to-top--visible:hover {
		transform: none;
	}
}

/* Notched phones: keep the floating button and page edges clear. */
@supports (padding: max(0px)) {
	.scroll-to-top {
		right: max(1.25rem, 3vw, env(safe-area-inset-right));
		bottom: max(1.25rem, 3vh, env(safe-area-inset-bottom));
	}
}

/* Logo link: 44px minimum tap height. */
.w-nav-brand {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* Mobile only (<640px): tighter section rhythm and readable type.
   Tablet/desktop (640px+) keep Webflow breakpoint rules unchanged. */
@media screen and (max-width: 639.98px) {
	body,
	.body {
		font-size: 1rem;
		line-height: 1.5;
	}

	.paragraph,
	.paragraph-4,
	.paragraph-5 {
		font-size: 1rem;
		line-height: 1.5;
	}

	.paragraph.main {
		font-size: 1rem;
		line-height: 1.5;
	}

	.heading {
		line-height: 1.15;
	}

	.field-label {
		font-size: 1rem;
		line-height: 1.4;
	}

	.text-field,
	.w-input,
	.w-select,
	textarea.text-field {
		font-size: 1rem;
		line-height: 1.5;
		min-height: 3rem;
		height: auto;
	}

	.text-field.message,
	textarea.text-field {
		min-height: 8rem;
	}

	.sign-up,
	.sign-up.login,
	.sign-up.login.web {
		height: auto;
		min-height: 44px;
	}

	.div-block-12,
	.div-block-16,
	.columns-5,
	.container-3 {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.section-10 {
		padding-top: 2rem;
	}

	.div-block-17 {
		height: auto;
		min-height: 0;
		padding: 1rem;
	}

	.contact-us {
		margin-bottom: 1.5rem;
	}

	.hero-section {
		margin-bottom: 2rem;
	}

	.hero-overlay {
		padding: 1.5rem 1rem;
	}

	.section.mobile {
		margin-top: 1.5rem;
		padding: 2rem 1rem;
	}

	.section-2 {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.section-2.about {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.section-3 {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.section-5 {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.section-8 {
		margin-top: 2rem;
	}

	.section-9 {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.section-12,
	.section-13 {
		padding-top: 2rem;
		padding-right: 1rem;
		padding-bottom: 2rem;
		padding-left: 1rem;
		font-size: 1rem;
		line-height: 1.5;
	}

	.div-block-9 {
		margin-top: 1.5rem;
	}

	.infographic-2 {
		padding-top: 2rem;
	}

	.infographic-2.image {
		padding-top: 1.5rem;
	}

	.image-3 {
		height: auto;
		max-height: none;
	}

	#Contact .container-10 {
		padding: 2rem 1rem;
	}

	.utility-page-wrap {
		height: auto;
		min-height: 100svh;
		padding: 2rem 1rem;
		box-sizing: border-box;
	}

	.div-block-21 .link,
	.div-block-21 .link.tcs {
		font-size: 0.875rem;
	}
}
