/**
 * N3 Flatsome Elements - unified mobile presentation
 * Loaded last so desktop component styles remain untouched.
 */

/**
 * Shared typography for every public N3 widget.
 */
:is(
	.n3-hero-banner,
	.n3-stats-bar,
	.n3-service-scope,
	.n3-industry-apps,
	.n3-board-faults,
	.n3-repair-capabilities,
	.n3-capability-tabs,
	.n3-case-study-showcase,
	.n3-case-study-latest,
	.n3-why-choose,
	.n3-partners,
	.n3-testimonials,
	.n3-repair-cost,
	.n3-repair-time,
	.n3-repair-or-replace,
	.n3-repair-process,
	.n3-shipping-guide,
	.n3-service-policies,
	.n3-service-faqs,
	.n3-contact-cta,
	.n3-impact-chain,
	.n3-production-gallery,
	.n3-page-title,
	.n3-section-title,
	.n3-site-footer,
	.n3-case-study,
	.n3-case-listing,
	.n3-case-detail
) {
	font-family: Montserrat, sans-serif !important;
}

:is(
	.n3-hero-banner,
	.n3-stats-bar,
	.n3-service-scope,
	.n3-industry-apps,
	.n3-board-faults,
	.n3-repair-capabilities,
	.n3-capability-tabs,
	.n3-case-study-showcase,
	.n3-case-study-latest,
	.n3-why-choose,
	.n3-partners,
	.n3-testimonials,
	.n3-repair-cost,
	.n3-repair-time,
	.n3-repair-or-replace,
	.n3-repair-process,
	.n3-shipping-guide,
	.n3-service-policies,
	.n3-service-faqs,
	.n3-contact-cta,
	.n3-impact-chain,
	.n3-production-gallery,
	.n3-page-title,
	.n3-section-title,
	.n3-site-footer,
	.n3-case-study,
	.n3-case-listing,
	.n3-case-detail
) :is(
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	span,
	strong,
	em,
	small,
	a,
	button,
	input,
	select,
	textarea,
	label,
	li,
	b,
	mark
) {
	font-family: Montserrat, sans-serif !important;
}

/**
 * Keep every primary widget heading visually consistent on desktop.
 * Component styles use different clamp() ranges, so this late override
 * provides one shared desktop size while leaving mobile rules untouched.
 */
@media (min-width: 850px) {
	:is(
		.n3-service-scope__header,
		.n3-industry-apps__header,
		.n3-board-faults__header,
		.n3-repair-capabilities__header,
		.n3-capability-tabs__header,
		.n3-case-study-showcase__header,
		.n3-case-study-latest__header,
		.n3-why-choose__header,
		.n3-partners__header,
		.n3-testimonials__header,
		.n3-repair-cost__head,
		.n3-repair-time__header,
		.n3-repair-or-replace__header,
		.n3-repair-process__header,
		.n3-shipping-guide__header,
		.n3-service-policies__header,
		.n3-service-faqs__header,
		.n3-contact-cta__header,
		.n3-impact-chain__intro
	) > h2,
	.n3-contact-cta__header > h3 {
		font-size: 36px !important;
	}
}

@media (max-width: 849px) {
	:is(
		.n3-hero-banner,
		.n3-stats-bar,
		.n3-service-scope,
		.n3-industry-apps,
		.n3-board-faults,
		.n3-repair-capabilities,
		.n3-capability-tabs,
		.n3-case-study-showcase,
		.n3-case-study-latest,
		.n3-why-choose,
		.n3-partners,
		.n3-testimonials,
		.n3-repair-cost,
		.n3-repair-time,
		.n3-repair-or-replace,
		.n3-repair-process,
		.n3-shipping-guide,
		.n3-service-policies,
		.n3-service-faqs,
		.n3-contact-cta
	) {
		--n3-mobile-ink: #071431;
		--n3-mobile-text: #4a5366;
		--n3-mobile-accent: #ffb400;
		max-width: 100%;
		overflow-x: clip;
	}

	:is(
		.n3-hero-banner,
		.n3-service-scope,
		.n3-industry-apps,
		.n3-board-faults,
		.n3-repair-capabilities,
		.n3-capability-tabs,
		.n3-case-study-showcase,
		.n3-case-study-latest,
		.n3-why-choose,
		.n3-partners,
		.n3-testimonials,
		.n3-repair-time,
		.n3-repair-or-replace,
		.n3-repair-process,
		.n3-shipping-guide,
		.n3-service-policies,
		.n3-service-faqs,
		.n3-contact-cta
	) :is(h1, h2, h3, h4, p) {
		overflow-wrap: anywhere;
	}

	:is(
		.n3-service-scope__header,
		.n3-industry-apps__header,
		.n3-board-faults__header,
		.n3-repair-capabilities__header,
		.n3-capability-tabs__header,
		.n3-case-study-showcase__header,
		.n3-case-study-latest__header,
		.n3-partners__header,
		.n3-testimonials__header,
		.n3-repair-time__header,
		.n3-repair-or-replace__header,
		.n3-repair-process__header,
		.n3-service-policies__header,
		.n3-service-faqs__header
	) h2 {
		font-size: clamp(27px, 6.4vw, 38px);
		font-weight: 700;
		letter-spacing: -.025em;
		line-height: 1.12;
		text-wrap: balance;
	}

	:is(
		.n3-service-scope__header,
		.n3-industry-apps__header,
		.n3-board-faults__header,
		.n3-repair-capabilities__header,
		.n3-capability-tabs__header,
		.n3-case-study-showcase__header,
		.n3-case-study-latest__header,
		.n3-partners__header,
		.n3-testimonials__header,
		.n3-repair-time__header,
		.n3-repair-or-replace__header,
		.n3-repair-process__header,
		.n3-service-policies__header,
		.n3-service-faqs__header
	) > p {
		font-size: 15px;
		line-height: 1.58;
	}

	/* Hero 00A/00B: copy, benefits, actions, then the full-width image. */
	.n3-hero-banner__inner {
		display: flex;
		flex-direction: column;
		padding: 30px 18px 0;
	}

	.n3-hero-banner__content {
		display: contents;
	}

	.n3-hero-banner__eyebrow {
		order: 1;
		align-self: flex-start;
		max-width: 100%;
		margin: 0 0 17px;
		padding: 7px 13px;
		border-radius: 999px;
		font-size: 13px;
		line-height: 1.35;
	}

	.n3-hero-banner h1 {
		order: 2;
		margin-bottom: 11px;
		font-size: clamp(33px, 8.3vw, 48px);
		font-weight: 700;
		letter-spacing: -.025em;
		line-height: 1.02;
	}

	.n3-hero-banner__description {
		order: 3;
		margin-bottom: 18px;
		font-size: 15px;
		line-height: 1.55;
	}

	.n3-hero-banner__actions {
		order: 5;
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		margin: 0 0 18px;
	}

	.n3-hero-banner__button {
		width: 100%;
		min-height: 52px;
		padding: 10px 14px;
		border-radius: 11px;
		font-size: 15px;
	}

	.n3-hero-banner__media {
		width: 100%;
		height: auto;
		aspect-ratio: 1.58;
		border-radius: 14px;
		background-position: center;
	}

	.n3-hero-banner__list {
		order: 4;
		margin: 14px 0 0;
	}

	.n3-hero-banner__list li {
		min-height: 46px;
		padding: 8px 0;
		font-size: 14px;
		line-height: 1.35;
	}

	/* Statistics become the vertical cards in 00B. */
	.n3-stats-bar {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 12px;
		border-radius: 14px;
	}

	.n3-stats-bar__item,
	.n3-stats-bar__item:last-child {
		display: grid;
		grid-column: auto;
		grid-template-columns: 68px minmax(86px, auto) minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: center;
		gap: 0 12px;
		min-height: 76px;
		padding: 9px 14px;
		border: 1px solid #e2e4e8;
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 3px 12px rgba(8, 20, 42, .06);
		text-align: left;
	}

	.n3-stats-bar__item::after {
		display: none !important;
	}

	.n3-stats-bar__icon {
		grid-row: 1 / 3;
		width: 58px;
		height: 58px;
		margin: 0;
	}

	.n3-stats-bar__value {
		grid-row: 1 / 3;
		width: auto;
		font-size: 23px;
		white-space: nowrap;
	}

	.n3-stats-bar__title {
		align-self: end;
		margin: 0;
		font-size: 12px;
		line-height: 1.2;
	}

	.n3-stats-bar__text {
		align-self: start;
		max-width: none;
		margin: 3px 0 0;
		font-size: 11px;
		line-height: 1.3;
	}

	/* Service scope: one full group per swipe, matching 01-1..01-4. */
	.n3-service-scope__groups {
		display: flex;
		gap: 14px;
		width: 100%;
		max-width: none;
		padding: 4px 4px 13px;
		overflow-x: auto;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.n3-service-scope__groups::-webkit-scrollbar {
		display: none;
	}

	.n3-service-scope__group {
		flex: 0 0 calc(100% - 8px);
		padding: 17px 12px;
		scroll-snap-align: center;
	}

	.n3-service-scope__group > h3 {
		font-size: 21px;
		line-height: 1.18;
	}

	.n3-service-scope__item {
		min-height: 190px;
		padding: 17px;
		border-radius: 14px;
	}

	.n3-service-scope__item h4 {
		font-size: 18px;
		line-height: 1.25;
	}

	.n3-service-scope__item > p {
		font-size: 14px;
		line-height: 1.55;
	}

	/* Industry application finder 03. */
	.n3-industry-apps {
		padding: 32px 12px 28px;
	}

	.n3-industry-apps__header {
		margin-bottom: 20px;
	}

	.n3-industry-apps__layout {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.n3-industry-apps__content {
		display: contents;
	}

	.n3-industry-apps__search {
		order: 1;
		min-height: 52px;
		margin: 0 0 4px;
	}

	.n3-industry-apps__sidebar {
		display: contents;
	}

	.n3-industry-apps__groups {
		order: 2;
	}

	.n3-industry-apps__items {
		order: 3;
	}

	.n3-industry-apps__cta {
		order: 4;
		margin-top: 4px;
	}

	.n3-industry-apps__group-list {
		gap: 5px;
	}

	.n3-industry-apps__group-list button {
		min-height: 52px;
		padding: 8px 12px;
		font-size: 13px;
	}

	.n3-industry-apps__item-toggle {
		min-height: 56px;
		padding: 9px 12px;
	}

	.n3-industry-apps__item-toggle strong {
		font-size: 14px;
		line-height: 1.28;
	}

	.n3-industry-apps__item-panel {
		padding: 13px 12px 16px;
	}

	.n3-industry-apps__item-description {
		font-size: 13px;
		line-height: 1.48;
	}

	.n3-industry-apps__chips {
		gap: 6px;
	}

	.n3-industry-apps__chips span {
		padding: 7px 10px;
		font-size: 12px;
	}

	/* Fault groups 04. */
	.n3-board-faults {
		padding: 32px 12px;
	}

	.n3-board-faults__groups {
		gap: 12px;
	}

	.n3-board-faults__group {
		padding: 14px;
		border-radius: 13px;
	}

	.n3-board-faults__group h3 {
		font-size: 17px;
		line-height: 1.28;
	}

	.n3-board-faults__tags {
		gap: 7px;
	}

	.n3-board-faults__tags > span {
		min-height: 34px;
		padding: 7px 10px;
		font-size: 12px;
	}

	.n3-board-faults__gallery-shell {
		padding: 0;
	}

	.n3-board-faults__gallery-item {
		flex-basis: 100%;
	}

	/* Repair capabilities 05. */
	.n3-repair-capabilities {
		padding: 35px 12px 45px;
	}

	.n3-repair-capabilities__header {
		margin-bottom: 25px;
	}

	.n3-repair-capabilities__grid {
		gap: 15px;
		max-width: 520px;
	}

	.n3-repair-capabilities__card {
		border-radius: 14px;
	}

	.n3-repair-capabilities__image {
		aspect-ratio: 1.55;
		margin: 10px 10px 0;
	}

	.n3-repair-capabilities__content {
		padding: 15px 15px 19px;
	}

	.n3-repair-capabilities__title {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 12px;
	}

	.n3-repair-capabilities__title h3 {
		font-size: 19px;
		line-height: 1.25;
	}

	.n3-repair-capabilities__content > p {
		font-size: 14px;
		line-height: 1.6;
	}

	/* Capability tabs 06: horizontal tabs and compact one-column panel. */
	.n3-capability-tabs {
		padding: 35px 12px 45px;
	}

	.n3-capability-tabs__header {
		margin-bottom: 25px;
	}

	.n3-capability-tabs__nav {
		gap: 5px;
		padding: 0 0 9px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.n3-capability-tabs__nav::-webkit-scrollbar {
		display: none;
	}

	.n3-capability-tabs__tab {
		flex: 1 1 72px;
		min-width: 72px;
		min-height: 64px;
		padding: 7px 4px;
		gap: 3px;
		scroll-snap-align: center;
		text-transform: none !important;
	}

	.n3-capability-tabs__tab strong {
		font-size: 13px;
	}

	.n3-capability-tabs__tab span {
		font-size: 10.5px;
		line-height: 1.25;
		text-transform: none !important;
	}

	.n3-capability-tabs__panel {
		padding: 12px;
		border-radius: 15px;
	}

	.n3-capability-tabs__gallery {
		height: auto;
		aspect-ratio: 1.42;
	}

	.n3-capability-tabs__content {
		padding: 17px 3px 0;
	}

	.n3-capability-tabs__content h3 {
		font-size: 28px;
		line-height: 1.14;
	}

	.n3-capability-tabs__content > p {
		font-size: 15px;
		line-height: 1.58;
	}

	.n3-capability-tabs__point {
		min-height: 64px;
	}

	.n3-capability-tabs__point strong {
		font-size: 14px;
		line-height: 1.35;
	}

	.n3-capability-tabs__highlights {
		display: none;
	}

	/* Case study showcase 07-1/07-2. */
	.n3-case-study-showcase {
		padding: 34px 10px 45px;
	}

	.n3-case-study-showcase__header {
		margin-bottom: 24px;
	}

	.n3-case-study-showcase__list {
		gap: 14px;
	}

	.n3-case-study-showcase__item {
		border-radius: 14px;
	}

	.n3-case-study-showcase__media {
		min-height: 0;
		aspect-ratio: 1.48;
	}

	.n3-case-study-showcase__content {
		padding: 16px 14px;
	}

	.n3-case-study-showcase__content h3 {
		font-size: 20px;
		line-height: 1.24;
	}

	.n3-case-study-showcase__excerpt {
		font-size: 13.5px;
		line-height: 1.5;
	}

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

	.n3-case-study-showcase__detail {
		min-height: 42px;
		font-size: 12px;
	}

	.n3-case-study-showcase__content > a {
		width: 100%;
		justify-content: center;
	}

	/* Latest case studies 07-3 retain side image on mobile. */
	.n3-case-study-latest {
		padding: 34px 10px 38px;
	}

	.n3-case-study-latest__tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.n3-case-study-latest__tabs::-webkit-scrollbar {
		display: none;
	}

	.n3-case-study-latest__tabs button {
		flex: 0 0 84px;
		min-width: 84px;
		min-height: 42px;
		padding: 6px 7px;
		font-size: 10.5px;
		line-height: 1.25;
		scroll-snap-align: center;
		text-transform: none !important;
	}

	.n3-case-study-latest__item {
		position: relative;
		display: grid;
		grid-template-columns: minmax(125px, 39%) minmax(0, 1fr) 18px;
		gap: 11px;
		padding: 10px;
		border-radius: 13px;
		align-items: start;
	}

	.n3-case-study-latest__image {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 1.5 / 1;
		align-self: start;
	}

	.n3-case-study-latest__content {
		padding: 0;
	}

	.n3-case-study-latest__content h3 {
		font-size: 16px;
		line-height: 1.22;
	}

	.n3-case-study-latest__content > p {
		display: -webkit-box;
		overflow: hidden;
		font-size: 12px;
		line-height: 1.42;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.n3-case-study-latest__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 5px 9px;
	}

	.n3-case-study-latest__meta small {
		font-size: 10.5px;
		line-height: 1.3;
	}

	.n3-case-study-latest__arrow {
		position: static;
		align-self: center;
		width: 18px;
	}

	/* Why choose 08A: image then individual benefit cards. */
	.n3-why-choose {
		padding: 32px 12px 40px;
	}

	.n3-why-choose__hero {
		margin: 0 0 15px;
	}

	.n3-why-choose__header {
		padding: 0 5px 23px;
	}

	.n3-why-choose__header h2 {
		font-size: clamp(29px, 7vw, 37px);
		line-height: 1.08;
	}

	.n3-why-choose__header > p {
		font-size: 14px;
		line-height: 1.55;
	}

	.n3-why-choose__hero-image,
	.n3-why-choose__hero-image img {
		min-height: 0;
		height: auto;
		aspect-ratio: 1.48;
		border-radius: 13px;
	}

	.n3-why-choose__grid {
		grid-template-columns: 1fr;
		gap: 11px;
	}

	.n3-why-choose__item {
		grid-template-columns: 78px minmax(0, 1fr);
		min-height: 138px;
		padding: 14px;
	}

	.n3-why-choose__item h3 {
		font-size: 15px;
		line-height: 1.3;
	}

	.n3-why-choose__item p {
		font-size: 13px;
		line-height: 1.48;
	}

	/* Partners 08B: four compact columns, arrows remain hidden. */
	.n3-partners {
		padding: 38px 10px 30px;
	}

	.n3-partners__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 8px;
	}

	.n3-partners__card {
		height: 92px;
		padding: 8px;
	}

	.n3-partners__nav {
		display: none !important;
	}

	/* Testimonials 09: swipe-only on mobile, readable author block. */
	.n3-testimonials {
		padding: 38px 12px 34px;
	}

	.n3-testimonials__header {
		margin-bottom: 20px;
	}

	.n3-testimonials__header h2 {
		font-size: clamp(28px, 7vw, 37px);
		line-height: 1.08;
	}

	.n3-testimonials__card {
		padding: 25px 20px 22px;
		border-radius: 18px;
	}

	.n3-testimonials__quote {
		font-size: 15px;
		line-height: 1.58;
	}

	.n3-testimonials__author {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 13px;
	}

	.n3-testimonials__avatar {
		flex-basis: 82px;
		width: 82px;
		height: 82px;
	}

	.n3-testimonials__author h3 {
		font-size: 18px;
		line-height: 1.2;
	}

	.n3-testimonials__author p {
		font-size: 13px;
		line-height: 1.4;
	}

	.n3-testimonials__arrow {
		display: none !important;
	}

	/* Repair cost 10. */
	.n3-repair-cost {
		padding: 28px 12px 36px;
	}

	.n3-repair-cost__box {
		padding: 15px;
		border-radius: 15px;
	}

	.n3-repair-cost__head h2 {
		font-size: clamp(28px, 7vw, 37px);
		line-height: 1.12;
	}

	.n3-repair-cost__head p {
		font-size: 14px;
		line-height: 1.58;
	}

	.n3-repair-cost__fields {
		gap: 13px;
	}

	.n3-repair-cost__field label {
		font-size: 14px;
	}

	.n3-repair-cost__field :is(select, input) {
		min-height: 58px;
		font-size: 15px;
	}

	.n3-repair-cost__submit {
		min-height: 54px;
		font-size: 16px;
	}

	.n3-repair-cost__result strong {
		font-size: 25px;
	}

	/* Repair time 11. */
	.n3-repair-time {
		padding: 30px 12px 22px;
	}

	.n3-repair-time__cards {
		gap: 11px;
	}

	.n3-repair-time__card {
		grid-template-columns: 72px minmax(0, 1fr);
		min-height: 148px;
		padding: 14px 12px;
	}

	.n3-repair-time__row {
		grid-template-columns: 22px minmax(0, 1fr) auto;
		font-size: 13px;
	}

	.n3-repair-time__row strong {
		grid-column: auto;
		font-size: 18px;
		white-space: nowrap;
	}

	/* Repair or replace 12: keep each criterion compact. */
	.n3-repair-or-replace {
		padding: 30px 12px 40px;
	}

	.n3-repair-or-replace__toggle {
		grid-template-columns: 46px 54px minmax(0, 1fr) 28px;
		min-height: 82px;
	}

	.n3-repair-or-replace__icon {
		width: 50px;
		height: 50px;
	}

	.n3-repair-or-replace__summary b {
		font-size: 14px;
		line-height: 1.28;
	}

	.n3-repair-or-replace__summary small {
		font-size: 12px;
		line-height: 1.38;
	}

	/* Repair process 13 as a compact vertical sequence. */
	.n3-repair-process {
		padding: 30px 12px 28px;
	}

	.n3-repair-process__steps {
		gap: 0;
		overflow: hidden;
		border: 1px solid #e0e3e8;
		border-radius: 14px;
		background: #fff;
	}

	.n3-repair-process__step {
		display: grid;
		grid-template-columns: 52px 66px minmax(0, 1fr);
		align-items: center;
		gap: 9px;
		min-height: 108px;
		padding: 12px 14px;
		border: 0;
		border-bottom: 1px solid #e0e3e8;
		border-radius: 0;
		box-shadow: none;
	}

	.n3-repair-process__step:last-of-type {
		border-bottom: 0;
	}

	.n3-repair-process__step-top {
		display: contents;
	}

	.n3-repair-process__step-top > strong {
		width: 46px;
		height: 46px;
		font-size: 20px;
	}

	.n3-repair-process__step-top > span {
		width: 58px;
		height: 58px;
	}

	.n3-repair-process__step h3 {
		align-self: end;
		margin: 0 0 4px;
		font-size: 15px;
	}

	.n3-repair-process__step p {
		grid-column: 3;
		align-self: start;
		margin: 0;
		font-size: 12px;
		line-height: 1.42;
	}

	/* Shipping 14. */
	.n3-shipping-guide__hero {
		display: block;
	}

	.n3-shipping-guide__header {
		padding: 30px 14px 22px;
	}

	.n3-shipping-guide__header h2 {
		font-size: 28px;
		line-height: 1.1;
	}

	.n3-shipping-guide__hero-image {
		display: none;
	}

	.n3-shipping-guide__columns {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 0 10px 12px;
	}

	.n3-shipping-guide__panel {
		padding: 14px 12px;
	}

	.n3-shipping-guide__panel h3 {
		font-size: 16px;
	}

	.n3-shipping-guide__panel li,
	.n3-shipping-guide__panel p {
		font-size: 12.5px;
		line-height: 1.42;
	}

	.n3-shipping-guide__contact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin: 0 10px;
		padding: 14px;
	}

	.n3-shipping-guide__features {
		display: none;
	}

	/* Policies 15: two item columns inside each group. */
	.n3-service-policies {
		padding: 30px 10px 25px;
	}

	.n3-service-policies__body {
		gap: 12px;
	}

	.n3-service-policies__core {
		padding: 14px 12px;
	}

	.n3-service-policies__core-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.n3-service-policies__core-list > div {
		grid-template-columns: 48px minmax(0, 1fr);
		min-height: 52px;
		border-radius: 10px;
	}

	.n3-service-policies__core-list span {
		width: 46px;
		height: 46px;
	}

	.n3-service-policies__core-list strong {
		padding: 5px 8px;
		font-size: 12px;
	}

	.n3-service-policies__groups {
		grid-template-columns: 1fr;
		gap: 11px;
	}

	.n3-service-policies__items {
		grid-template-columns: 1fr;
	}

	.n3-service-policies__item {
		grid-template-columns: 24px 54px minmax(0, 1fr);
		gap: 6px;
		min-height: 0;
		padding: 11px 7px;
	}

	.n3-service-policies__item:nth-child(odd) {
		border-right: 0;
	}

	.n3-service-policies__item-icon {
		width: 50px;
		height: 50px;
		padding: 7px;
	}

	.n3-service-policies__item h4 {
		font-size: 12px;
		line-height: 1.32;
	}

	.n3-service-policies__item p {
		font-size: 10.5px;
		line-height: 1.42;
	}

	/* FAQ 16. */
	.n3-service-faqs {
		padding: 32px 10px 30px;
	}

	.n3-service-faqs__question {
		grid-template-columns: 38px minmax(0, 1fr) 29px;
		min-height: 58px;
	}

	.n3-service-faqs__question > span {
		font-size: 14px;
		line-height: 1.35;
	}

	.n3-service-faqs__answer {
		padding: 13px 18px 18px 48px;
		font-size: 13px;
		line-height: 1.58;
	}

	/* Contact CTA 17. */
	.n3-contact-cta__main {
		padding: 55px 12px 0;
	}

	.n3-contact-cta__header h2,
	.n3-contact-cta__header h3 {
		font-size: clamp(29px, 7vw, 38px);
		line-height: 1.08;
	}

	.n3-contact-cta__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		padding: 12px 6px;
		overflow: visible;
	}

	.n3-contact-cta__steps::-webkit-scrollbar {
		display: none;
	}

	.n3-contact-cta__step {
		min-height: 145px;
		padding: 8px 7px;
	}

	.n3-contact-cta__step strong {
		font-size: 12px;
		line-height: 1.35;
	}

	.n3-contact-cta__board-image {
		display: none;
	}

	.n3-contact-cta__panel {
		width: calc(100% - 20px);
		margin: 18px 10px 25px;
		padding: 15px 12px;
	}
}

@media (max-width: 650px) {
	:is(
		.n3-service-scope__header,
		.n3-industry-apps__header,
		.n3-board-faults__header,
		.n3-repair-capabilities__header,
		.n3-capability-tabs__header,
		.n3-case-study-showcase__header,
		.n3-case-study-latest__header,
		.n3-partners__header,
		.n3-testimonials__header,
		.n3-repair-time__header,
		.n3-repair-or-replace__header,
		.n3-repair-process__header,
		.n3-service-policies__header,
		.n3-service-faqs__header
	) h2 {
		font-size: clamp(26px, 7.4vw, 32px);
	}

	:is(
		.n3-service-scope__header,
		.n3-industry-apps__header,
		.n3-board-faults__header,
		.n3-repair-capabilities__header,
		.n3-capability-tabs__header,
		.n3-case-study-showcase__header,
		.n3-case-study-latest__header,
		.n3-partners__header,
		.n3-testimonials__header,
		.n3-repair-time__header,
		.n3-repair-or-replace__header,
		.n3-repair-process__header,
		.n3-service-policies__header,
		.n3-service-faqs__header
	) > p {
		font-size: 14px;
	}

	.n3-hero-banner__inner {
		padding: 25px 12px 0;
	}

	.n3-hero-banner h1 {
		font-size: clamp(31px, 9vw, 39px);
	}

	.n3-hero-banner__description {
		font-size: 14px;
	}

	.n3-stats-bar__item,
	.n3-stats-bar__item:last-child {
		grid-template-columns: 54px minmax(78px, auto) minmax(0, 1fr);
		gap: 0 8px;
		padding: 8px 10px;
	}

	.n3-stats-bar__icon {
		width: 48px;
		height: 48px;
	}

	.n3-stats-bar__value {
		font-size: 20px;
	}

	.n3-service-scope {
		padding-right: 8px;
		padding-left: 8px;
	}

	.n3-service-scope__group {
		flex-basis: calc(100% - 4px);
	}

	.n3-service-scope__item {
		min-height: 170px;
	}

	.n3-capability-tabs__tab {
		flex-basis: 66px;
		min-width: 66px;
	}

	.n3-capability-tabs__panel {
		padding: 10px;
	}

	.n3-capability-tabs__content h3 {
		font-size: 25px;
	}

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

	.n3-case-study-latest__item {
		grid-template-columns: minmax(110px, 40%) minmax(0, 1fr) 14px;
		gap: 8px;
	}

	.n3-case-study-latest__image {
		min-height: 0;
		aspect-ratio: 1.45 / 1;
	}

	.n3-case-study-latest__content h3 {
		font-size: 14px;
	}

	.n3-case-study-latest__content > p {
		font-size: 11px;
	}

	.n3-case-study-latest__meta small {
		font-size: 9.5px;
	}

	.n3-partners__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.n3-partners__card {
		height: 76px;
		padding: 6px;
	}

	.n3-testimonials__card {
		padding: 22px 15px 20px;
	}

	.n3-testimonials__quote {
		font-size: 14px;
	}

	.n3-repair-time__card {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.n3-repair-time__card-icon {
		width: 60px;
		height: 60px;
	}

	.n3-repair-time__row {
		font-size: 12px;
	}

	.n3-repair-time__row strong {
		font-size: 16px;
	}

	.n3-repair-or-replace__toggle {
		grid-template-columns: 42px 48px minmax(0, 1fr) 24px;
		gap: 6px;
		padding: 7px;
	}

	.n3-repair-or-replace__summary b {
		font-size: 13px;
	}

	.n3-repair-or-replace__summary small {
		font-size: 11px;
	}

	.n3-repair-process__step {
		grid-template-columns: 45px 54px minmax(0, 1fr);
		padding: 10px;
	}

	.n3-repair-process__step-top > strong {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}

	.n3-repair-process__step-top > span {
		width: 48px;
		height: 48px;
	}

	.n3-repair-process__step h3 {
		font-size: 14px;
	}

	.n3-repair-process__step p {
		font-size: 11px;
	}

	.n3-shipping-guide__contact {
		grid-template-columns: 1fr;
	}

	.n3-service-policies__item {
		grid-template-columns: 22px 44px minmax(0, 1fr);
	}

	.n3-service-policies__item-icon {
		width: 42px;
		height: 42px;
	}

	.n3-service-policies__item h4 {
		font-size: 11px;
	}

	.n3-service-policies__item p {
		font-size: 9.5px;
	}

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

@media (max-width: 390px) {
	.n3-hero-banner h1 {
		font-size: 30px;
	}

	.n3-stats-bar__item,
	.n3-stats-bar__item:last-child {
		grid-template-columns: 48px 72px minmax(0, 1fr);
	}

	.n3-stats-bar__icon {
		width: 43px;
		height: 43px;
	}

	.n3-stats-bar__value {
		font-size: 18px;
	}

	.n3-case-study-latest__item {
		grid-template-columns: 105px minmax(0, 1fr);
	}

	.n3-case-study-latest__image {
		min-height: 0;
		aspect-ratio: 1.35 / 1;
	}

	.n3-case-study-latest__arrow {
		display: none;
	}

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

	.n3-service-policies__items {
		grid-template-columns: 1fr;
	}

	.n3-service-policies__item:nth-child(odd) {
		border-right: 0;
	}
}
