/*
 * AMSHOV visual system
 *
 * A calm, product-led redesign inspired by modern B2B technology sites:
 * generous whitespace, restrained navy/red accents, real imagery and soft
 * interactive feedback. This file is enqueued last so it refines existing
 * templates without changing their editable WordPress data structure.
 */

:root {
	--am-brand: #c82432;
	--am-brand-deep: #9f1724;
	--am-brand-soft: #fff0f1;
	--am-ink: #101827;
	--am-ink-soft: #172437;
	--am-body: #26364c;
	--am-muted: #64748b;
	--am-line: #dfe6ef;
	--am-surface: #ffffff;
	--am-canvas: #f7f9fc;
	--am-blue-soft: #edf4ff;
	--am-radius: 0.875rem;
	--am-radius-sm: 0.625rem;
	--am-shadow-hover: 0 14px 30px rgba(20, 36, 57, 0.09), 0 2px 7px rgba(20, 36, 57, 0.05);
	--am-container: 1240px;
}

/* Shared conversion panels on internal pages. */
body .about-inquiry.shared-inquiry-banner,
body .solutions-inquiry.shared-inquiry-banner,
body .product-archive-inquiry.shared-inquiry-banner,
body .blog-inquiry.shared-inquiry-banner {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 6vw, 5.5rem) 0;
  color: #65758b;
  border: 0;
  background:
    linear-gradient(118deg, rgb(247 251 255 / 92%) 0%, rgb(247 250 255 / 88%) 54%, rgb(255 247 248 / 89%) 100%),
    url("../images/shared-inquiry-workshop.png") center / cover no-repeat;
}

body .about-inquiry.shared-inquiry-banner::before,
body .solutions-inquiry.shared-inquiry-banner::before,
body .product-archive-inquiry.shared-inquiry-banner::before,
body .blog-inquiry.shared-inquiry-banner::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background:
    radial-gradient(circle at 8% 32%, rgb(82 148 215 / 13%), transparent 26rem),
    radial-gradient(circle at 91% 72%, rgb(200 36 50 / 12%), transparent 27rem);
}

body .about-inquiry.shared-inquiry-banner::after,
body .solutions-inquiry.shared-inquiry-banner::after,
body .product-archive-inquiry.shared-inquiry-banner::after,
body .blog-inquiry.shared-inquiry-banner::after {
  display: none;
}

body .shared-inquiry-banner > .container {
  position: relative;
  z-index: 1;
}

body .about-inquiry .about-inquiry-inner.shared-inquiry-panel,
body .solutions-inquiry .solutions-inquiry-inner.shared-inquiry-panel,
body .product-archive-inquiry .product-archive-inquiry-inner.shared-inquiry-panel,
body .blog-inquiry .blog-inquiry-panel.shared-inquiry-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(20rem, .85fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: .9rem clamp(2rem, 4vw, 4.5rem);
  min-height: clamp(20rem, 24vw, 25rem);
  padding: clamp(2.15rem, 4.5vw, 3.8rem) clamp(1.75rem, 5vw, 4.5rem);
  overflow: hidden;
  color: #65758b;
  border: 1px solid rgb(35 52 76 / 8%);
  border-radius: 1.35rem;
  background:
    linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 96%) 39%, rgb(255 255 255 / 84%) 50%, rgb(255 255 255 / 25%) 77%, rgb(255 255 255 / 9%) 100%),
    url("../images/shared-inquiry-workshop.png") right center / auto 100% no-repeat,
    linear-gradient(135deg, #f7fbff, #f5f8fc);
  box-shadow: 0 .9rem 2.5rem rgb(24 42 68 / 8%);
}

body .shared-inquiry-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  width: 100%;
  height: .1875rem;
  pointer-events: none;
  content: "";
  background: linear-gradient(90deg, #c82432 0%, #e06068 28%, #83b7e6 72%, rgb(131 183 230 / 0%) 100%);
}

body .shared-inquiry-panel::after {
  display: none;
}

body .shared-inquiry-panel .shared-inquiry-copy {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  max-width: 41rem;
}

body .shared-inquiry-panel .shared-inquiry-copy .section-kicker {
  margin-bottom: .75rem;
  color: #c82432;
}

body .shared-inquiry-panel .shared-inquiry-copy h2 {
  max-width: 19ch;
  margin: 0;
  color: #12233a;
  font-size: clamp(2rem, 3.1vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

body .shared-inquiry-panel .shared-inquiry-copy p:last-child {
  max-width: 40rem;
  margin: 1.15rem 0 0;
  color: #61728a;
  font-size: 1rem;
  line-height: 1.7;
}

body .shared-inquiry-panel .shared-inquiry-button {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  align-self: start;
  white-space: nowrap;
  box-shadow: 0 .6rem 1.25rem rgb(200 36 50 / 16%);
}

body .shared-inquiry-panel .shared-inquiry-button:hover {
  box-shadow: 0 .75rem 1.5rem rgb(200 36 50 / 20%);
  transform: translateY(-.125rem);
}

@media (max-width: 991.98px) {
  body .shared-inquiry-banner {
    padding-block: 2.75rem;
  }

  body .about-inquiry .about-inquiry-inner.shared-inquiry-panel,
  body .solutions-inquiry .solutions-inquiry-inner.shared-inquiry-panel,
  body .product-archive-inquiry .product-archive-inquiry-inner.shared-inquiry-panel,
  body .blog-inquiry .blog-inquiry-panel.shared-inquiry-panel {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-items: start;
    min-height: 0;
    background:
      linear-gradient(90deg, rgb(255 255 255 / 95%), rgb(255 255 255 / 79%)),
      url("../images/shared-inquiry-workshop.png") center / cover no-repeat;
  }

  body .shared-inquiry-panel .shared-inquiry-button {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }
}

@media (max-width: 767.98px) {
  body .about-inquiry .about-inquiry-inner.shared-inquiry-panel,
  body .solutions-inquiry .solutions-inquiry-inner.shared-inquiry-panel,
  body .product-archive-inquiry .product-archive-inquiry-inner.shared-inquiry-panel,
  body .blog-inquiry .blog-inquiry-panel.shared-inquiry-panel {
    gap: 1.75rem;
    padding: 2rem 1.4rem;
    border-radius: 1rem;
  }

  body .shared-inquiry-panel .shared-inquiry-copy h2 {
    max-width: none;
    font-size: clamp(1.85rem, 8vw, 2.4rem);
  }
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--am-body);
	background: var(--am-surface);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.site-main {
	overflow: clip;
}

@media (min-width: 1200px) {
	.container,
	.amshov-container {
		max-width: var(--am-container);
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--am-ink);
	font-weight: 750;
	letter-spacing: -0.035em;
}

h1 { line-height: 1.03; }
h2 { line-height: 1.1; }

p {
	line-height: 1.65;
}

a {
	text-underline-offset: 0.18em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid rgba(200, 36, 50, 0.35);
	outline-offset: 3px;
}

.section-kicker,
.eyebrow,
.homepage-category-heading .section-kicker,
.homepage-product-heading .section-kicker {
	color: var(--am-brand);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.section-heading h2,
.homepage-category-heading h2,
.homepage-product-heading h2 {
	font-size: clamp(2.15rem, 4.1vw, 3.55rem);
	letter-spacing: -0.045em;
}

.btn,
.wp-block-button__link {
	border-radius: 0.55rem;
	font-weight: 750;
	letter-spacing: -0.01em;
	transition: transform 260ms cubic-bezier(.2, .7, .25, 1), background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.btn-primary,
.site-header .header-quote-button,
.site-header .quote-button,
.btn-danger {
	background: var(--am-brand);
	border-color: var(--am-brand);
	box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.site-header .header-quote-button:hover,
.site-header .quote-button:hover,
.btn-danger:hover {
	background: var(--am-brand-deep);
	border-color: var(--am-brand-deep);
	box-shadow: 0 9px 20px rgba(159, 23, 36, 0.19);
	transform: translateY(-2px);
}

/* Header ----------------------------------------------------------------- */

.site-header {
	background: rgba(10, 18, 30, 0.97);
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.025);
	backdrop-filter: saturate(120%) blur(14px);
}

.site-header.is-scrolled,
.site-header.scrolled {
	background: rgba(8, 15, 26, 0.985);
	box-shadow: 0 9px 24px rgba(8, 15, 26, 0.16);
}

.site-header .navbar {
	min-height: 4.8rem;
}

.site-header .site-title,
.site-header .navbar-brand {
	font-size: clamp(1.35rem, 2vw, 1.65rem);
	font-weight: 850;
	letter-spacing: 0.105em;
}

.site-header .navbar-nav .nav-link,
.site-header .main-navigation a {
	position: relative;
	margin: 0 0.15rem;
	padding: 0.75rem 0.72rem;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	background: transparent;
	border-radius: 0;
}

.site-header .navbar-nav .nav-link::after,
.site-header .main-navigation > ul > li > a::after {
	position: absolute;
	bottom: 0.4rem;
	left: 0.72rem;
	right: 0.72rem;
	height: 2px;
	content: "";
	background: var(--am-brand);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 220ms ease;
}

.site-header .navbar-nav .nav-link:hover,
.site-header .navbar-nav .nav-link:focus-visible,
.site-header .navbar-nav .current-menu-item > .nav-link,
.site-header .navbar-nav .active > .nav-link,
.site-header .main-navigation a:hover,
.site-header .main-navigation .current-menu-item > a,
.site-header .main-navigation .current_page_item > a {
	color: #ffffff;
	background: transparent;
}

.site-header .navbar-nav .nav-link:hover::after,
.site-header .navbar-nav .nav-link:focus-visible::after,
.site-header .navbar-nav .current-menu-item > .nav-link::after,
.site-header .navbar-nav .active > .nav-link::after,
.site-header .main-navigation a:hover::after,
.site-header .main-navigation .current-menu-item > a::after,
.site-header .main-navigation .current_page_item > a::after {
	transform: scaleX(1);
}

.site-header .header-quote-button,
.site-header .quote-button {
	padding: 0.7rem 1.2rem;
	border-radius: 0.5rem;
	font-size: 0.9rem;
}

/* Homepage hero ---------------------------------------------------------- */

.homepage-hero,
.homepage-banner,
.hero-section {
	position: relative;
	background: #091321;
}

.homepage-hero::before,
.homepage-banner::before,
.hero-section::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	content: "";
	background:
		radial-gradient(circle at 76% 22%, rgba(79, 139, 223, 0.22), transparent 28rem),
		radial-gradient(circle at 25% 95%, rgba(200, 36, 50, 0.14), transparent 26rem);
}

.homepage-banner-slide,
.homepage-hero .carousel-item,
.homepage-banner .carousel-item {
	min-height: clamp(38rem, 48vw, 46rem);
}

.homepage-banner-slide::after,
.homepage-hero .carousel-item::after,
.homepage-banner .carousel-item::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(5, 13, 23, 0.92) 0%, rgba(7, 17, 29, 0.73) 37%, rgba(8, 18, 30, 0.18) 72%, rgba(8, 18, 30, 0.25) 100%);
}

.homepage-banner-content,
.homepage-hero .carousel-caption,
.homepage-banner .carousel-caption {
	z-index: 3;
	max-width: 41rem;
	text-align: left;
}

.homepage-banner-title,
.homepage-banner-content h1,
.homepage-hero h1,
.homepage-banner h1 {
	/* Keep longer marketing headlines prominent without letting them dominate
	 * the full height of the hero. */
	max-width: 43rem;
	color: #ffffff;
	font-size: clamp(2.85rem, 4.1vw, 4.35rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.052em;
	text-wrap: balance;
}

.homepage-banner-content p,
.homepage-hero .carousel-caption p,
.homepage-banner .carousel-caption p {
	max-width: 35rem;
	margin-top: 1.4rem;
	color: rgba(233, 241, 250, 0.86);
	font-size: clamp(1rem, 1.35vw, 1.16rem);
}

.homepage-hero .carousel-control-prev,
.homepage-hero .carousel-control-next,
.homepage-banner .carousel-control-prev,
.homepage-banner .carousel-control-next {
	width: 5.5%;
	opacity: 0.76;
}

.homepage-hero .carousel-indicators [data-bs-target],
.homepage-banner .carousel-indicators [data-bs-target] {
	width: 2.4rem;
	height: 2px;
	margin-right: 0.25rem;
	margin-left: 0.25rem;
	border: 0;
	background-color: rgba(255, 255, 255, 0.62);
}

.homepage-hero .carousel-indicators .active,
.homepage-banner .carousel-indicators .active {
	background-color: var(--am-brand);
}

/* Homepage rhythm and card language ------------------------------------- */

.homepage-category-grid,
.homepage-product-showcase,
.homepage-blog,
.homepage-news,
.homepage-customer-case {
	position: relative;
	padding-top: clamp(5.5rem, 6vw, 6.5rem);
	padding-bottom: clamp(5.5rem, 6vw, 6.5rem);
}

.homepage-category-grid {
	background:
		radial-gradient(circle at 10% 0%, rgba(207, 225, 250, 0.82), transparent 28rem),
		radial-gradient(circle at 94% 88%, rgba(255, 222, 225, 0.65), transparent 26rem),
		linear-gradient(150deg, #f8fbff 0%, #f9fbfd 48%, #fff9fa 100%);
}

.homepage-category-grid::before,
.homepage-product-showcase::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background-image: linear-gradient(rgba(40, 69, 106, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(40, 69, 106, 0.035) 1px, transparent 1px);
	background-size: 2.75rem 2.75rem;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.65), transparent 95%);
}

.homepage-category-grid .container,
.homepage-product-showcase .container,
.homepage-blog .container,
.homepage-news .container,
.homepage-customer-case .container {
	position: relative;
	z-index: 1;
}

.homepage-category-heading,
.homepage-product-heading {
	max-width: 45rem;
	margin: 0 auto clamp(2rem, 4vw, 3.25rem);
	text-align: center;
}

/* The product heading includes a side action on desktop. Give its title
 * enough room to read in two calm lines rather than stacking word by word. */
.homepage-product-heading {
	max-width: 68rem;
}

.homepage-product-heading h2 {
	font-size: clamp(2.15rem, 3.45vw, 3.3rem);
	line-height: 1.06;
}

.homepage-category-heading > p:last-child,
.homepage-product-heading > p:last-child {
	max-width: 39rem;
	margin-right: auto;
	margin-left: auto;
	color: var(--am-muted);
}

.homepage-category-track,
.homepage-category-grid .swiper-wrapper,
.homepage-category-grid .row {
	align-items: stretch;
}

.homepage-category-card,
.homepage-category-grid .swiper-slide {
	height: auto;
}

.homepage-category-link {
	position: relative;
	display: flex;
	min-height: 26.5rem;
	overflow: hidden;
	color: inherit;
	background: #ffffff;
	border: 1px solid #ffffff;
	border-radius: var(--am-radius);
	box-shadow: none;
	transition: transform 380ms cubic-bezier(.16, .84, .33, 1), box-shadow 380ms cubic-bezier(.16, .84, .33, 1), border-color 250ms ease;
}

.homepage-category-link::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 4;
	height: 0.18rem;
	content: "";
	pointer-events: none;
	background: linear-gradient(90deg, var(--am-brand), #ef6671);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 420ms cubic-bezier(.16, .84, .33, 1);
}

.homepage-category-link:hover,
.homepage-category-link:focus-visible {
	color: inherit;
	border-color: #ffffff;
	box-shadow: var(--am-shadow-hover), 0 0 0 4px rgba(232, 75, 87, 0.035);
	transform: translateY(-0.45rem);
}

.homepage-category-link:hover::before,
.homepage-category-link:focus-visible::before {
	transform: scaleX(1);
}

.homepage-category-copy {
	padding: 1.8rem 1.8rem 0.4rem;
}

.homepage-category-copy h3,
.homepage-category-card h3 {
	font-size: clamp(1.25rem, 1.6vw, 1.5rem);
	line-height: 1.08;
	transition: color 280ms ease;
}

.homepage-category-link:hover .homepage-category-name,
.homepage-category-link:focus-visible .homepage-category-name {
	color: var(--am-brand-deep);
}

.homepage-category-copy p,
.homepage-category-card p {
	color: var(--am-muted);
	font-size: 0.94rem;
	line-height: 1.55;
}

.homepage-category-media {
	min-height: 13.2rem;
	margin-top: auto;
	padding: 1.1rem;
	background: #ffffff;
}

.homepage-category-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 600ms cubic-bezier(.16, .84, .33, 1);
}

.homepage-category-link:hover .homepage-category-media img,
.homepage-category-link:focus-visible .homepage-category-media img {
	transform: translate3d(0, -0.45rem, 0);
}

.homepage-category-placeholder {
	color: #a4afbd;
	background: linear-gradient(140deg, #eef3f9, #f9fbfd);
}

.homepage-product-showcase {
	background: #ffffff;
}

.homepage-product-showcase::before {
	background-image: radial-gradient(circle at 78% 24%, rgba(215, 232, 252, 0.53), transparent 24rem), radial-gradient(circle at 18% 76%, rgba(255, 227, 230, 0.43), transparent 21rem);
	mask-image: none;
}

.homepage-product-card,
.amshov-product-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e1e7ee;
	border-radius: var(--am-radius);
	box-shadow: none;
	transition: transform 360ms cubic-bezier(.16, .84, .33, 1), box-shadow 360ms cubic-bezier(.16, .84, .33, 1), border-color 240ms ease;
}

.homepage-product-card:hover,
.amshov-product-card:hover {
	border-color: rgba(200, 36, 50, 0.22);
	box-shadow: var(--am-shadow-hover), 0 0 0 4px rgba(230, 71, 84, 0.032);
	transform: translateY(-0.38rem);
}

.homepage-product-media,
.amshov-product-card-media {
	background: #ffffff;
}

.homepage-product-image,
.amshov-product-card-image {
	object-fit: contain;
	transition: transform 600ms cubic-bezier(.16, .84, .33, 1);
}

.homepage-product-card:hover .homepage-product-image,
.amshov-product-card:hover .amshov-product-card-image {
	transform: scale(1.045);
}

.homepage-product-card-body,
.amshov-product-card-body {
	padding: 1.4rem 1.45rem 1.25rem;
}

.homepage-product-categories,
.amshov-product-card-categories {
	color: var(--am-brand);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.homepage-product-title,
.amshov-product-card-title {
	font-size: 1.2rem;
	line-height: 1.2;
}

.homepage-product-link,
.amshov-product-card-link,
.solution-card-link,
.blog-article-link {
	color: var(--am-brand);
	font-weight: 750;
}

.homepage-product-link:hover,
.amshov-product-card-link:hover,
.solution-card-link:hover,
.blog-article-link:hover {
	color: var(--am-brand-deep);
}

/* Dark manufacturing band ------------------------------------------------ */

.homepage-factory {
	position: relative;
	overflow: hidden;
	padding-top: clamp(5.25rem, 5.75vw, 6.25rem);
	padding-bottom: clamp(5.25rem, 5.75vw, 6.25rem);
	background: linear-gradient(135deg, #0a1423 0%, #101f34 55%, #142944 100%);
}

.homepage-factory::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background:
		radial-gradient(circle at 8% 84%, rgba(200, 36, 50, 0.24), transparent 23rem),
		radial-gradient(circle at 93% 13%, rgba(83, 147, 232, 0.2), transparent 26rem),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	background-size: auto, auto, 3.6rem 3.6rem, 3.6rem 3.6rem;
}

.homepage-factory .container {
	position: relative;
	z-index: 1;
}

.homepage-factory .section-kicker,
.homepage-factory-intro .section-kicker {
	color: #ff6671;
}

.homepage-factory h2,
.homepage-factory h3,
.homepage-factory .homepage-factory-copy,
.homepage-factory .homepage-factory-intro {
	color: #ffffff;
}

.homepage-factory .homepage-factory-copy p,
.homepage-factory .homepage-factory-intro p,
.homepage-factory .homepage-factory-capability p {
	color: rgba(230, 238, 249, 0.78);
}

.homepage-factory-visual {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--am-radius);
	box-shadow: 0 26px 52px rgba(0, 0, 0, 0.22);
}

.homepage-factory-visual img {
	width: 100%;
	min-height: 23rem;
	object-fit: cover;
}

.homepage-factory-capabilities {
	margin-top: 2.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.homepage-factory-capability {
	min-height: 10.5rem;
	padding: 1.6rem;
	background: rgba(6, 15, 28, 0.16);
	border-right: 1px solid rgba(255, 255, 255, 0.15);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	transition: background-color 260ms ease;
}

.homepage-factory-capability:hover {
	background: rgba(255, 255, 255, 0.065);
}

.homepage-factory-capability > span,
.homepage-factory-capability .number {
	color: #ff6370;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

/* Light editorial sections ---------------------------------------------- */

.homepage-certification,
.homepage-solutions,
.homepage-customer-case,
.homepage-blog,
.homepage-news {
	padding-top: clamp(5.25rem, 5.5vw, 6rem);
	padding-bottom: clamp(5.25rem, 5.5vw, 6rem);
}

/* The solutions hero already carries its own vertical rhythm. */
.homepage-solutions {
	padding-block: 0;
}

.homepage-certification,
.homepage-customer-case {
	background: #f7f9fc;
}

.homepage-solutions,
.homepage-blog,
.homepage-news {
	background: #ffffff;
}

.homepage-certification .homepage-certification-media,
.homepage-customer-case-media,
.homepage-blog-card,
.homepage-news-card {
	overflow: hidden;
	border-radius: var(--am-radius);
}

.homepage-certification img,
.homepage-customer-case img {
	border-radius: var(--am-radius);
}

.homepage-certification .homepage-certification-grid > *,
.homepage-customer-case .homepage-customer-case-grid > *,
.homepage-solutions .homepage-solution-card,
.homepage-blog .homepage-blog-card,
.homepage-news .homepage-news-card {
	border-color: #e0e7ef;
}

.homepage-solution-card,
.homepage-blog-card,
.homepage-news-card {
	background: #ffffff;
	border: 1px solid #e0e7ef;
	border-radius: var(--am-radius);
	box-shadow: none;
	transition: transform 340ms cubic-bezier(.16, .84, .33, 1), box-shadow 340ms cubic-bezier(.16, .84, .33, 1), border-color 220ms ease;
}

.homepage-solution-card:hover,
.homepage-blog-card:hover,
.homepage-news-card:hover {
	border-color: rgba(200, 36, 50, 0.22);
	box-shadow: var(--am-shadow-hover);
	transform: translateY(-0.38rem);
}

.homepage-inquiry-banner,
.homepage-cta,
.product-archive-inquiry,
.solutions-inquiry,
.blog-inquiry {
	position: relative;
	overflow: hidden;
	background: linear-gradient(120deg, #111e32 0%, #142b49 68%, #1d3b62 100%);
}

.homepage-inquiry-banner::before,
.homepage-cta::before,
.product-archive-inquiry::before,
.solutions-inquiry::before,
.blog-inquiry::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background: radial-gradient(circle at 83% 16%, rgba(255, 96, 108, 0.28), transparent 24rem), radial-gradient(circle at 9% 110%, rgba(92, 164, 255, 0.2), transparent 28rem);
}

.homepage-inquiry-banner > *,
.homepage-cta > *,
.product-archive-inquiry > *,
.solutions-inquiry > *,
.blog-inquiry > * {
	position: relative;
	z-index: 1;
}

/* Product archive and product detail ------------------------------------ */

.product-archive-hero {
	min-height: var(--amshov-page-banner-height);
	padding: 6rem 0 4.5rem;
	background:
		linear-gradient(100deg, rgba(8, 18, 30, 0.88), rgba(11, 28, 47, 0.58)),
		var(--amshov-product-hero-image, var(--product-hero-image, none));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.product-archive-hero::after {
	background: radial-gradient(circle at 85% 8%, rgba(101, 163, 241, 0.19), transparent 24rem);
}

.product-archive-hero h1 {
	max-width: 46rem;
	color: #ffffff;
	font-size: clamp(3rem, 5vw, 4.7rem);
	letter-spacing: -0.058em;
}

.product-archive-description {
	max-width: 38rem;
	color: rgba(236, 243, 252, 0.86);
	font-size: 1.05rem;
}

.product-archive-main {
	background: linear-gradient(180deg, #ffffff, #f8fafc 82%);
}

.product-category-sidebar-inner,
.blog-category-navigation {
	padding: 1.45rem;
	background: #f8fafc;
	border: 1px solid #e1e7ef;
	border-radius: var(--am-radius-sm);
	box-shadow: none;
}

.product-category-filter-link,
.blog-category-list a {
	border-radius: 0.45rem;
}

.product-category-filter-link.is-active,
.product-category-filter-link:hover,
.blog-category-list a.is-current,
.blog-category-list a:hover {
	color: #ffffff;
	background: var(--am-brand);
}

.product-results-heading h2 {
	font-size: clamp(2.15rem, 4vw, 3.3rem);
}

.product-single-basic-article {
	background: #ffffff;
}

.product-single-basic-media {
	padding: 0;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: var(--am-radius);
	box-shadow: none;
}

.product-single-basic-image {
	max-height: 40rem;
	object-fit: contain;
}

.product-single-basic-thumbnail {
	border-color: #dce4ed;
	border-radius: 0.5rem;
}

.product-single-basic-thumbnail.is-active,
.product-single-basic-thumbnail:hover {
	border-color: var(--am-brand);
	box-shadow: 0 0 0 2px rgba(200, 36, 50, 0.1);
}

.product-single-basic-summary h1 {
	font-size: clamp(2rem, 2.65vw, 3.15rem);
	line-height: 1.06;
	letter-spacing: -0.045em;
}

.product-single-basic-content {
	max-width: 49rem;
	font-size: 1.03rem;
}

.product-single-basic-content img,
.product-single-basic-content figure img {
	border-radius: var(--am-radius-sm);
}

.product-single-basic-detail-group {
	padding: 1.5rem;
	background: #f8fafc;
	border: 1px solid #e1e7ef;
	border-radius: var(--am-radius-sm);
}

/* Solutions -------------------------------------------------------------- */

.solutions-page,
.solutions-page-article {
	background: #ffffff;
}

.solutions-hero {
	padding-top: 6.25rem;
	padding-bottom: 5.5rem;
	background: linear-gradient(118deg, #0c1727 0%, #132740 70%, #19355a 100%);
}

.solutions-hero::before {
	background: radial-gradient(circle at 75% 18%, rgba(84, 151, 232, 0.26), transparent 25rem), radial-gradient(circle at 18% 97%, rgba(200, 36, 50, 0.2), transparent 24rem);
}

.solutions-hero-title,
.solutions-hero h1,
.solutions-hero h2 {
	color: #ffffff;
	font-size: clamp(3rem, 5vw, 4.8rem);
	letter-spacing: -0.06em;
}

.solutions-hero-excerpt,
.solutions-hero p {
	color: rgba(237, 244, 252, 0.86);
	font-size: 1.06rem;
}

.solutions-hero-visual {
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #eef5fc;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--am-radius);
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.22);
}

.solutions-hero-image {
	min-height: 19rem;
	object-fit: contain;
}

.solutions-directory,
.solutions-applications,
.solutions-related-products,
.solutions-process {
	padding-top: clamp(4.5rem, 7vw, 6.5rem);
	padding-bottom: clamp(4.5rem, 7vw, 6.5rem);
}

.solutions-directory,
.solutions-related-products {
	background: linear-gradient(145deg, #f7faff, #ffffff 56%, #fff8f9);
}

.solution-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #dfe7ef;
	border-radius: var(--am-radius);
	box-shadow: none;
	transition: transform 360ms cubic-bezier(.16, .84, .33, 1), box-shadow 360ms cubic-bezier(.16, .84, .33, 1), border-color 240ms ease;
}

.solution-card:hover,
.solution-card:focus-within {
	border-color: rgba(200, 36, 50, 0.23);
	box-shadow: var(--am-shadow-hover);
	transform: translateY(-0.42rem);
}

.solution-card-media {
	min-height: 15rem;
	background: #eaf1f8;
}

.solution-card-media::after {
	background: linear-gradient(180deg, transparent 45%, rgba(12, 25, 42, 0.08));
}

.solution-card-image {
	object-fit: cover;
	transition: transform 650ms cubic-bezier(.16, .84, .33, 1);
}

.solution-card:hover .solution-card-image {
	transform: scale(1.055);
}

.solution-card-body {
	padding: 1.55rem;
}

.solution-card-number,
.solutions-application > span,
.solutions-capability > span,
.solutions-process-step > span {
	color: var(--am-brand);
	font-weight: 800;
}

.solution-card-title {
	font-size: 1.45rem;
}

.solutions-applications {
	background: #ffffff;
}

.solutions-application {
	padding: 1.55rem;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: var(--am-radius-sm);
}

.solutions-capabilities {
	background: #101d30;
}

.solutions-capabilities-heading h2,
.solutions-capability h3,
.solutions-capabilities-heading p,
.solutions-capability p {
	color: #ffffff;
}

.solutions-capabilities-heading > p:last-child,
.solutions-capability p {
	color: rgba(231, 239, 248, 0.78);
}

.solutions-capability {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.12);
	border-radius: var(--am-radius-sm);
}

.solutions-process-step {
	padding: 1.5rem;
	background: #ffffff;
	border: 1px solid #dfe7ef;
	border-radius: var(--am-radius-sm);
}

/* About ------------------------------------------------------------------ */

.about-page,
.about-page-article {
	background: #ffffff;
}

.about-hero {
	background:
		linear-gradient(90deg, #263f57 0%, rgba(42, 72, 94, 0.96) 36%, rgba(49, 82, 101, 0.72) 52%, rgba(60, 93, 108, 0.2) 76%, transparent 100%),
		url("../images/about/about-hero-reception.png") right 52% / 72% auto no-repeat,
		linear-gradient(118deg, #2c4b65, #7896a8);
}

.about-hero::before {
	background:
		radial-gradient(circle at 82% 10%, rgba(222, 239, 255, 0.2), transparent 27rem),
		linear-gradient(132deg, rgba(255, 255, 255, 0.08), transparent 44%),
		linear-gradient(180deg, rgba(13, 28, 43, 0.08), rgba(13, 28, 43, 0.2));
	background-size: auto;
	mask-image: none;
}

.about-hero h1,
.about-hero-title {
	color: #ffffff;
	font-size: clamp(3rem, 5vw, 4.8rem);
	letter-spacing: -0.06em;
}

.about-hero p,
.about-hero-excerpt {
	color: rgba(238, 244, 252, 0.86);
}

.about-hero--company .about-hero-row > :last-child {
	display: none;
}

@media (min-width: 992px) {
	.about-hero--company .about-hero-row > :first-child {
		flex: 0 0 52%;
		max-width: 52%;
	}
}

.about-company-profile,
.about-production,
.about-capabilities,
.about-certifications,
.about-partners,
.about-market {
	padding-top: clamp(4.75rem, 7vw, 6.75rem);
	padding-bottom: clamp(4.75rem, 7vw, 6.75rem);
}

.about-production,
.about-certifications,
.about-market {
	background: #f7f9fc;
}

.about-card,
.about-certification-card,
.about-partner-card,
.about-gallery-item {
	border: 1px solid #e0e7ef;
	border-radius: var(--am-radius-sm);
	box-shadow: none;
}

.about-card:hover,
.about-certification-card:hover,
.about-gallery-item:hover {
	border-color: rgba(200, 36, 50, 0.2);
	box-shadow: var(--am-shadow-hover);
}

/* Contact ---------------------------------------------------------------- */

.contact-page,
.contact-page-article {
	background: #f7f9fc;
}

.contact-hero {
	background: linear-gradient(120deg, #0c1727, #142943 70%, #1b365a);
}

.contact-hero-media::after {
	background: linear-gradient(90deg, rgba(7, 15, 27, 0.9), rgba(10, 24, 40, 0.52));
}

.contact-hero-title,
.contact-hero h1 {
	color: #ffffff;
	font-size: clamp(3rem, 5vw, 4.75rem);
	letter-spacing: -0.06em;
}

.contact-hero-excerpt,
.contact-hero p {
	color: rgba(239, 245, 252, 0.86);
}

.contact-main {
	padding-top: clamp(4.5rem, 7vw, 6.5rem);
	padding-bottom: clamp(4.5rem, 7vw, 6.5rem);
}

.contact-main-layout {
	overflow: hidden;
	border: 1px solid #dfe6ee;
	border-top: 3px solid var(--am-brand);
	border-radius: var(--am-radius);
	box-shadow: 0 16px 38px rgba(18, 34, 53, 0.07);
}

.contact-inquiry-panel {
	background: #ffffff;
}

.contact-information-panel {
	background: linear-gradient(150deg, #101c2d, #0a1422);
}

.contact-information-panel h2,
.contact-information-panel h3,
.contact-information-panel dt,
.contact-information-panel dd,
.contact-information-panel a {
	color: #ffffff;
}

.amshov-inquiry-form .form-control,
.amshov-inquiry-form .form-select {
	border-color: #d7e0ea;
	border-radius: 0.45rem;
	box-shadow: none;
}

.amshov-inquiry-form .form-control:focus,
.amshov-inquiry-form .form-select:focus {
	border-color: rgba(200, 36, 50, 0.65);
	box-shadow: 0 0 0 3px rgba(200, 36, 50, 0.09);
}

/* News and article detail ------------------------------------------------ */

.blog-page,
.news-single {
	background: #ffffff;
}

.blog-hero {
	padding-top: 6rem;
	padding-bottom: 4.5rem;
	background: linear-gradient(145deg, #f0f6ff 0%, #f8fbff 56%, #fff4f5 100%);
}

.blog-hero::before {
	background: none;
}

.blog-hero h1,
.blog-hero .section-kicker,
.blog-hero-description,
.blog-breadcrumb,
.blog-breadcrumb a {
	color: var(--am-ink);
}

.blog-hero h1 {
	font-size: clamp(3rem, 5vw, 4.7rem);
	letter-spacing: -0.06em;
}

.blog-archive-section {
	padding-top: clamp(4.5rem, 7vw, 6.5rem);
	padding-bottom: clamp(4.5rem, 7vw, 6.5rem);
	background: #ffffff;
}

.blog-article-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e0e7ef;
	border-radius: var(--am-radius);
	box-shadow: none;
	transition: transform 350ms cubic-bezier(.16, .84, .33, 1), box-shadow 350ms cubic-bezier(.16, .84, .33, 1), border-color 220ms ease;
}

.blog-article-card:hover {
	border-color: rgba(200, 36, 50, 0.2);
	box-shadow: var(--am-shadow-hover);
	transform: translateY(-0.4rem);
}

.blog-article-media {
	background: #edf3f8;
}

.blog-article-image {
	object-fit: cover;
	transition: transform 650ms cubic-bezier(.16, .84, .33, 1);
}

.blog-article-card:hover .blog-article-image {
	transform: scale(1.04);
}

.blog-article-card h2 {
	font-size: 1.45rem;
	line-height: 1.18;
}

.news-single-hero {
	padding-top: clamp(4.2rem, 7vw, 6.75rem);
	padding-bottom: clamp(4.2rem, 7vw, 6.75rem);
	background: linear-gradient(145deg, #f4f8fe, #ffffff 58%, #fff7f8);
}

.news-single-title {
	font-size: clamp(2.75rem, 5vw, 5rem);
	line-height: 1.02;
	letter-spacing: -0.062em;
}

.news-single-hero-media {
	overflow: hidden;
	border-radius: var(--am-radius);
	box-shadow: 0 20px 40px rgba(17, 35, 57, 0.11);
}

.news-single-hero-media img {
	object-fit: cover;
}

.news-single-reading-shell {
	padding-top: clamp(4rem, 6vw, 5.5rem);
	padding-bottom: clamp(5rem, 7vw, 7rem);
}

.news-single-content {
	max-width: 47rem;
	font-size: 1.04rem;
	line-height: 1.75;
}

.news-single-content h2,
.news-single-content h3,
.news-single-content h4 {
	margin-top: 2.25em;
	color: var(--am-ink);
}

.news-single-content blockquote {
	padding: 1.35rem 1.55rem;
	background: #f5f8fc;
	border-left-color: var(--am-brand);
	border-radius: 0 0.55rem 0.55rem 0;
}

/* Footer ----------------------------------------------------------------- */

.site-footer {
	position: relative;
	background: #0b121c;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer::before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	content: "";
	background: linear-gradient(90deg, transparent, var(--am-brand), transparent);
	opacity: 0.7;
}

.site-footer .footer-social-link,
.site-footer .social-link {
	border-radius: 0.45rem;
	transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.site-footer .footer-social-link:hover,
.site-footer .social-link:hover {
	background: var(--am-brand);
	border-color: var(--am-brand);
	transform: translateY(-2px);
}

/* Motion: deliberate, visible, but not abrupt --------------------------- */

@media (prefers-reduced-motion: no-preference) {
	.amshov-reveal,
	[data-amshov-reveal] {
		transform: translate3d(0, 3rem, 0);
		transition: opacity 900ms cubic-bezier(.16, 1, .3, 1), transform 900ms cubic-bezier(.16, 1, .3, 1);
	}

	.amshov-reveal.is-visible,
	.amshov-reveal.is-revealed,
	.amshov-reveal.revealed,
	[data-amshov-reveal].is-visible,
	[data-amshov-reveal].is-revealed {
		transform: translate3d(0, 0, 0);
	}

}

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

/* Responsive ------------------------------------------------------------- */

@media (max-width: 991.98px) {
	.site-header .navbar {
		min-height: 4.3rem;
	}

	.site-header .navbar-nav {
		padding: 0.7rem 0 1rem;
	}

	.site-header .navbar-nav .nav-link,
	.site-header .main-navigation a {
		padding: 0.65rem 0;
	}

	.site-header .navbar-nav .nav-link::after,
	.site-header .main-navigation > ul > li > a::after {
		left: 0;
		right: auto;
		width: 1.8rem;
		bottom: 0.35rem;
	}

	.homepage-banner-slide,
	.homepage-hero .carousel-item,
	.homepage-banner .carousel-item {
		min-height: 36rem;
	}

	.homepage-banner-content h1,
	.homepage-hero h1,
	.homepage-banner h1 {
		font-size: clamp(2.9rem, 8vw, 4.35rem);
	}

	.homepage-category-link {
		min-height: 25rem;
	}

	.homepage-factory-visual img {
		min-height: 18rem;
	}

	.solutions-hero,
	.about-hero,
	.contact-hero {
		padding-top: 5rem;
		padding-bottom: 4.5rem;
	}
}

@media (max-width: 767.98px) {
	.section-heading h2,
	.homepage-category-heading h2,
	.homepage-product-heading h2 {
		font-size: clamp(2.15rem, 10vw, 3rem);
	}

	.homepage-category-grid,
	.homepage-product-showcase,
	.homepage-blog,
	.homepage-news,
	.homepage-customer-case,
	.homepage-certification,
	.homepage-factory {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.homepage-banner-slide,
	.homepage-hero .carousel-item,
	.homepage-banner .carousel-item {
		min-height: 34rem;
	}

	.homepage-banner-slide::after,
	.homepage-hero .carousel-item::after,
	.homepage-banner .carousel-item::after {
		background: linear-gradient(90deg, rgba(5, 13, 23, 0.9), rgba(7, 17, 29, 0.68)), linear-gradient(0deg, rgba(5, 13, 23, 0.45), transparent);
	}

	.homepage-banner-content,
	.homepage-hero .carousel-caption,
	.homepage-banner .carousel-caption {
		left: 1.35rem;
		right: 1.35rem;
		bottom: 4.1rem;
	}

	.homepage-category-link {
		min-height: 24rem;
	}

	.homepage-category-copy {
		padding: 1.35rem 1.35rem 0.25rem;
	}

	.homepage-category-media {
		min-height: 12rem;
	}

	.homepage-factory-capability {
		min-height: auto;
	}

	.product-archive-hero {
		min-height: var(--amshov-page-banner-height);
		padding: 3.5rem 0;
	}

	.news-single-title,
	.solutions-hero-title,
	.about-hero h1,
	.contact-hero-title {
		font-size: clamp(2.4rem, 11vw, 3.5rem);
	}

	.product-single-basic-summary h1 {
		font-size: clamp(2rem, 8vw, 2.55rem);
	}

	.solution-card-media {
		min-height: 13rem;
	}

	.contact-main-layout {
		border-radius: 0.65rem;
	}
}

@media (max-width: 575.98px) {
	.site-header .site-title,
	.site-header .navbar-brand {
		font-size: 1.22rem;
	}

	.homepage-banner-slide,
	.homepage-hero .carousel-item,
	.homepage-banner .carousel-item {
		min-height: 32rem;
	}

	.homepage-banner-content h1,
	.homepage-hero h1,
	.homepage-banner h1 {
		font-size: clamp(2.5rem, 12vw, 3.2rem);
	}

	.homepage-category-link {
		min-height: 22.5rem;
	}

	.homepage-category-link:hover,
	.homepage-product-card:hover,
	.amshov-product-card:hover,
	.solution-card:hover,
	.blog-article-card:hover {
		transform: translateY(-0.2rem);
	}
}

/* Project experience -----------------------------------------------------
 * Keep the Customizer-driven cases, but present the three applications as
 * an intentional collection instead of a wide comparison table. */

.homepage-customer-case {
	background:
		radial-gradient(circle at 7% 14%, rgba(214, 228, 249, 0.72), transparent 26rem),
		radial-gradient(circle at 94% 88%, rgba(255, 220, 224, 0.62), transparent 24rem),
		linear-gradient(135deg, #f8faff 0%, #f8fafc 48%, #fffafb 100%);
}

.homepage-customer-case .homepage-cases-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: end;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.homepage-customer-case .homepage-cases-heading .section-heading {
	max-width: 47rem;
}

.homepage-customer-case .homepage-section-link {
	margin: 0 0 0.35rem;
	padding: 0.72rem 1.05rem;
	border: 1px solid rgba(200, 36, 50, 0.16);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.62);
	box-shadow: 0 0.35rem 1rem rgba(33, 51, 75, 0.035);
}

.homepage-customer-case .homepage-project-case-list {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.35rem);
	border: 0;
}

.homepage-customer-case .homepage-project-case {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 12.25rem;
	padding: clamp(1.5rem, 2.1vw, 1.9rem);
	overflow: hidden;
	border: 1px solid rgba(35, 52, 76, 0.075);
	border-radius: 1.2rem;
	background: rgba(255, 255, 255, 0.88);
	box-shadow: 0 0.45rem 1.25rem rgba(31, 49, 73, 0.045);
	transition: transform 340ms cubic-bezier(.16, .84, .33, 1), box-shadow 340ms cubic-bezier(.16, .84, .33, 1), border-color 220ms ease, background-color 220ms ease;
}

.homepage-customer-case .homepage-project-case::after {
	position: absolute;
	top: -3.25rem;
	right: -3.25rem;
	width: 10.5rem;
	height: 10.5rem;
	pointer-events: none;
	content: "";
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201, 37, 53, 0.095) 0%, rgba(201, 37, 53, 0) 69%);
}

.homepage-customer-case .homepage-project-case:nth-child(2)::after {
	background: radial-gradient(circle, rgba(83, 143, 207, 0.14) 0%, rgba(83, 143, 207, 0) 69%);
}

.homepage-customer-case .homepage-project-case:nth-child(3)::after {
	background: radial-gradient(circle, rgba(201, 37, 53, 0.07) 0%, rgba(83, 143, 207, 0) 69%);
}

.homepage-customer-case .homepage-project-case-number {
	position: relative;
	z-index: 1;
	padding: 0;
	color: var(--am-brand);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.homepage-customer-case .homepage-project-case h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--am-ink);
	font-size: clamp(1.35rem, 1.65vw, 1.7rem);
	line-height: 1.1;
	letter-spacing: -0.035em;
}

.homepage-customer-case .homepage-project-case p {
	position: relative;
	z-index: 1;
	max-width: none;
	margin: 0;
	color: var(--am-muted);
	font-size: 0.96rem;
	line-height: 1.65;
}

.homepage-customer-case .homepage-project-case:first-child {
	grid-row: span 2;
	min-height: 25.85rem;
	border-color: transparent;
	background:
		radial-gradient(circle at 88% 12%, rgba(119, 168, 226, 0.33), transparent 30%),
		radial-gradient(circle at 8% 92%, rgba(211, 49, 62, 0.24), transparent 35%),
		linear-gradient(145deg, #172438 0%, #111b2b 49%, #192b43 100%);
	box-shadow: 0 1rem 2.4rem rgba(24, 40, 61, 0.17);
}

.homepage-customer-case .homepage-project-case:first-child::before {
	position: absolute;
	top: -2.1rem;
	right: 1.25rem;
	pointer-events: none;
	content: "01";
	color: rgba(255, 255, 255, 0.06);
	font-size: clamp(9rem, 16vw, 15rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.09em;
}

.homepage-customer-case .homepage-project-case:first-child::after {
	top: auto;
	right: -3rem;
	bottom: -3.4rem;
	width: 15rem;
	height: 15rem;
	background: radial-gradient(circle, rgba(225, 54, 69, 0.28), rgba(225, 54, 69, 0) 68%);
}

.homepage-customer-case .homepage-project-case:first-child .homepage-project-case-number {
	color: #ff8a93;
}

.homepage-customer-case .homepage-project-case:first-child h3 {
	margin-top: auto;
	margin-bottom: 0.9rem;
	color: #ffffff;
	font-size: clamp(1.9rem, 3vw, 2.65rem);
	line-height: 1.04;
}

.homepage-customer-case .homepage-project-case:first-child p {
	max-width: 28rem;
	color: rgba(234, 241, 251, 0.8);
	font-size: 1rem;
}

.homepage-customer-case .homepage-project-case:not(:first-child) {
	display: grid;
	grid-template-columns: 3.5rem minmax(8rem, 0.82fr) minmax(0, 1.25fr);
	gap: clamp(1rem, 2vw, 1.7rem);
	align-items: center;
}

.homepage-customer-case .homepage-project-case:not(:first-child) .homepage-project-case-number,
.homepage-customer-case .homepage-project-case:not(:first-child) h3,
.homepage-customer-case .homepage-project-case:not(:first-child) p {
	margin: 0;
}

.homepage-customer-case .homepage-project-case:hover {
	padding-left: clamp(1.5rem, 2.1vw, 1.9rem);
	border-color: rgba(200, 36, 50, 0.17);
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 1rem 2rem rgba(31, 49, 73, 0.09);
	transform: translateY(-0.3rem);
}

.homepage-customer-case .homepage-project-case:first-child:hover {
	border-color: transparent;
	background:
		radial-gradient(circle at 88% 12%, rgba(119, 168, 226, 0.4), transparent 30%),
		radial-gradient(circle at 8% 92%, rgba(211, 49, 62, 0.29), transparent 35%),
		linear-gradient(145deg, #1a2a42 0%, #111d2f 49%, #1b304b 100%);
	box-shadow: 0 1.2rem 2.7rem rgba(24, 40, 61, 0.2);
}

@media (max-width: 991.98px) {
	.homepage-customer-case .homepage-project-case-list {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.homepage-customer-case .homepage-project-case:not(:first-child) {
		grid-template-columns: 2.5rem 1fr;
		gap: 0.75rem 1rem;
	}

	.homepage-customer-case .homepage-project-case:not(:first-child) p {
		grid-column: 2;
	}
}

@media (max-width: 767.98px) {
	.homepage-customer-case .homepage-cases-heading {
		grid-template-columns: 1fr;
		gap: 1.1rem;
	}

	.homepage-customer-case .homepage-section-link {
		justify-self: start;
		margin-bottom: 0;
	}

	.homepage-customer-case .homepage-project-case-list {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		gap: 0.9rem;
	}

	.homepage-customer-case .homepage-project-case {
		min-height: auto;
		padding: 1.4rem;
	}

	.homepage-customer-case .homepage-project-case:first-child {
		grid-row: auto;
		min-height: 19rem;
	}

	.homepage-customer-case .homepage-project-case:not(:first-child) {
		display: grid;
		grid-template-columns: 2.25rem 1fr;
		gap: 0.65rem 1rem;
		min-height: 11.5rem;
	}

	.homepage-customer-case .homepage-project-case:not(:first-child) p {
		grid-column: 2;
	}

	.homepage-customer-case .homepage-project-case:hover {
		padding-left: 1.4rem;
	}

	.homepage-customer-case .homepage-project-case p {
		grid-column: auto;
	}
}

/* Certification quick links ------------------------------------------------
 * Keep the existing Customizer labels, but present them as light capability
 * cards rather than a rigid three-column table. */
.homepage-certification .homepage-certification-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.8rem, 1.45vw, 1.25rem);
	margin-top: clamp(2.25rem, 4vw, 3.4rem);
	border: 0;
}

.homepage-certification .homepage-certification-item {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	min-height: 8.5rem;
	padding: clamp(1.35rem, 2.3vw, 1.85rem);
	overflow: hidden;
	border: 1px solid rgba(26, 43, 65, 0.065);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.84);
	box-shadow: 0 0.35rem 1rem rgba(29, 47, 70, 0.035);
	transition: transform 320ms cubic-bezier(.16, .84, .33, 1), box-shadow 320ms cubic-bezier(.16, .84, .33, 1), border-color 240ms ease;
}

.homepage-certification .homepage-certification-item + .homepage-certification-item {
	border-left: 1px solid rgba(26, 43, 65, 0.065);
}

.homepage-certification .homepage-certification-item::before {
	position: absolute;
	top: -3.5rem;
	right: -2.8rem;
	width: 9rem;
	height: 9rem;
	border-radius: 50%;
	content: "";
	pointer-events: none;
	background: radial-gradient(circle, rgba(89, 145, 205, 0.14), rgba(89, 145, 205, 0) 68%);
}

.homepage-certification .homepage-certification-item:nth-child(1) {
	border-color: rgba(201, 37, 53, 0.13);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 242, 244, 0.88));
}

.homepage-certification .homepage-certification-item:nth-child(1)::before {
	background: radial-gradient(circle, rgba(210, 49, 63, 0.16), rgba(210, 49, 63, 0) 69%);
}

.homepage-certification .homepage-certification-item:nth-child(2) {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 247, 255, 0.9));
}

.homepage-certification .homepage-certification-item:nth-child(3) {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 248, 252, 0.92));
}

.homepage-certification .homepage-certification-item span,
.homepage-certification .homepage-certification-item strong {
	position: relative;
	z-index: 1;
}

.homepage-certification .homepage-certification-item span {
	display: grid;
	width: 2.55rem;
	aspect-ratio: 1;
	place-items: center;
	border-radius: 0.7rem;
	color: var(--am-brand);
	background: rgba(201, 37, 53, 0.075);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.11em;
}

.homepage-certification .homepage-certification-item:nth-child(2) span {
	color: #2f6fad;
	background: rgba(66, 133, 198, 0.1);
}

.homepage-certification .homepage-certification-item:nth-child(3) span {
	color: #526274;
	background: rgba(82, 98, 116, 0.08);
}

.homepage-certification .homepage-certification-item strong {
	color: #142238;
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	font-weight: 750;
	line-height: 1.25;
	letter-spacing: -0.018em;
}

.homepage-certification .homepage-certification-item:hover {
	border-color: rgba(201, 37, 53, 0.18);
	box-shadow: 0 0.75rem 1.5rem rgba(30, 50, 76, 0.075);
	transform: translateY(-0.24rem);
}

@media (max-width: 767.98px) {
	.homepage-certification .homepage-certification-list {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.homepage-certification .homepage-certification-item {
		min-height: 6.8rem;
	}
}

/* A quiet visual bridge from the project experience cards into Insights. */
.homepage-customer-case {
	padding-bottom: clamp(3.75rem, 5vw, 5.25rem);
}

.homepage-customer-case::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	height: clamp(4.5rem, 7vw, 7rem);
	content: "";
	pointer-events: none;
	background: linear-gradient(180deg, rgba(248, 251, 255, 0), #f8fbff 100%);
}

.homepage-blog {
	position: relative;
	overflow: hidden;
	padding-top: clamp(3.35rem, 5vw, 4.75rem);
	padding-bottom: clamp(4.75rem, 6vw, 6.5rem);
	background:
		radial-gradient(42rem 24rem at 94% 0%, rgba(211, 229, 248, 0.52), transparent 68%),
		radial-gradient(34rem 21rem at 4% 0%, rgba(255, 228, 233, 0.36), transparent 70%),
		linear-gradient(180deg, #f8fbff 0%, #ffffff 48%, #ffffff 100%);
}

.homepage-blog .homepage-blog-heading {
	margin-bottom: clamp(2rem, 3.3vw, 3rem);
}

@media (max-width: 767.98px) {
	.homepage-customer-case {
		padding-bottom: 3.25rem;
	}

	.homepage-blog {
		padding-top: 3rem;
		padding-bottom: 4.5rem;
	}
}

/*
 * The Insights section uses the original equal-card layout from main.css.
 * These earlier feature-card experiments are kept out of the screen stylesheet.
 */
@media print {
/* Editorial treatment for Insights: one article reads as a feature, not an empty grid. */
.homepage-blog .homepage-blog-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 2rem;
}

.homepage-blog .homepage-blog-heading .section-heading {
	max-width: 44rem;
}

.homepage-blog .homepage-blog-heading .section-heading h2 {
	max-width: 15ch;
	font-size: clamp(2.4rem, 3.8vw, 4rem);
	line-height: 1.03;
	letter-spacing: -0.055em;
}

.homepage-blog .homepage-blog-heading .section-heading > p:last-child {
	max-width: 39rem;
	margin-top: 1.15rem;
	color: #607086;
	font-size: 1rem;
	line-height: 1.7;
}

.homepage-blog .homepage-section-link {
	display: inline-flex;
	align-items: center;
	gap: 0.62rem;
	margin-bottom: 0.15rem;
	padding: 0.78rem 1.05rem;
	border: 1px solid rgba(30, 47, 70, 0.12);
	border-radius: 999px;
	color: #17243a;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 0.3rem 0.85rem rgba(30, 47, 70, 0.035);
	white-space: nowrap;
	transition: transform 260ms cubic-bezier(.16, .84, .33, 1), border-color 220ms ease, background-color 220ms ease;
}

.homepage-blog .homepage-section-link:hover {
	border-color: rgba(201, 37, 53, 0.3);
	color: var(--am-brand);
	background: #ffffff;
	transform: translateY(-0.12rem);
}

.homepage-blog .homepage-blog-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.45rem);
}

.homepage-blog .homepage-blog-card {
	grid-column: span 4;
	min-width: 0;
	border: 1px solid transparent;
	border-radius: 1.25rem;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0.5rem 1.35rem rgba(26, 43, 65, 0.055);
	transition: transform 300ms cubic-bezier(.16, .84, .33, 1), box-shadow 300ms cubic-bezier(.16, .84, .33, 1), border-color 240ms ease;
}

.homepage-blog .homepage-blog-card:first-child {
	display: grid;
	grid-column: span 8;
	grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.9fr);
	min-height: 23rem;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.94));
}

.homepage-blog .homepage-blog-card:only-child {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.12fr) minmax(21rem, 0.88fr);
}

.homepage-blog .homepage-blog-card:first-child .homepage-blog-media {
	min-height: 23rem;
	aspect-ratio: auto;
}

.homepage-blog .homepage-blog-card:first-child .homepage-blog-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.7rem, 3vw, 3rem);
}

.homepage-blog .homepage-blog-card:first-child .homepage-blog-body h3 {
	margin-top: 0.8rem;
	font-size: clamp(1.45rem, 2vw, 2.05rem);
	line-height: 1.12;
	letter-spacing: -0.038em;
}

.homepage-blog .homepage-blog-card:first-child .homepage-blog-body p {
	-webkit-line-clamp: 4;
	margin-top: 1rem;
	font-size: 1rem;
	line-height: 1.7;
}

.homepage-blog .homepage-blog-card:not(:first-child) .homepage-blog-media {
	aspect-ratio: 4 / 3;
}

.homepage-blog .homepage-blog-card h3,
.homepage-blog .homepage-blog-card p {
	overflow-wrap: anywhere;
}

.homepage-blog .homepage-blog-card:hover {
	border-color: rgba(201, 37, 53, 0.16);
	box-shadow: 0 0.9rem 1.9rem rgba(26, 43, 65, 0.095);
	transform: translateY(-0.28rem);
}

@media (max-width: 991.98px) {
	.homepage-blog .homepage-blog-card:first-child {
		grid-column: 1 / -1;
	}

	.homepage-blog .homepage-blog-card:not(:first-child) {
		grid-column: span 6;
	}
}

@media (max-width: 767.98px) {
	.homepage-blog .homepage-blog-heading {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 1.2rem;
	}

	.homepage-blog .homepage-blog-heading .section-heading h2 {
		max-width: 12ch;
		font-size: clamp(2.2rem, 10vw, 3.1rem);
	}

	.homepage-blog .homepage-section-link {
		justify-self: start;
	}

	.homepage-blog .homepage-blog-grid {
		grid-template-columns: 1fr;
	}

	.homepage-blog .homepage-blog-card,
	.homepage-blog .homepage-blog-card:first-child,
	.homepage-blog .homepage-blog-card:only-child,
	.homepage-blog .homepage-blog-card:not(:first-child) {
		grid-column: 1;
	}

	.homepage-blog .homepage-blog-card:first-child,
	.homepage-blog .homepage-blog-card:only-child {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.homepage-blog .homepage-blog-card:first-child .homepage-blog-media {
		min-height: 15.5rem;
		aspect-ratio: 16 / 10;
	}

	.homepage-blog .homepage-blog-card:first-child .homepage-blog-body {
		padding: 1.45rem;
	}
}

/* Homepage Insights: asymmetric editorial grid for a natural multi-article layout. */
.homepage-blog .homepage-blog-grid {
	grid-template-columns: minmax(0, 1.28fr) minmax(18rem, 0.72fr);
	grid-template-rows: repeat(2, minmax(15.2rem, auto));
	gap: clamp(1rem, 1.6vw, 1.35rem);
	align-items: stretch;
}

.homepage-blog .homepage-blog-card {
	grid-column: 2;
	min-height: 0;
	border: 1px solid rgba(20, 39, 65, 0.08);
	border-radius: 1.1rem;
	box-shadow: 0 0.55rem 1.2rem rgba(26, 43, 65, 0.045);
	background: rgba(255, 255, 255, 0.96);
}

.homepage-blog .homepage-blog-card:first-child:not(:only-child) {
	grid-column: 1;
	grid-row: 1 / span 2;
	display: grid;
	grid-template-rows: minmax(14rem, 1.08fr) minmax(0, 0.92fr);
	min-height: 31.75rem;
	background: linear-gradient(145deg, #ffffff 0%, #f6f9fd 100%);
}

.homepage-blog .homepage-blog-card:first-child:not(:only-child) .homepage-blog-media {
	min-height: 0;
	aspect-ratio: auto;
}

.homepage-blog .homepage-blog-card:first-child:not(:only-child) .homepage-blog-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.45rem, 2.5vw, 2.25rem);
}

.homepage-blog .homepage-blog-card:first-child:not(:only-child) .homepage-blog-body h3 {
	margin-top: 0.55rem;
	font-size: clamp(1.45rem, 2vw, 1.9rem);
	line-height: 1.14;
}

.homepage-blog .homepage-blog-card:first-child:not(:only-child) .homepage-blog-body p {
	-webkit-line-clamp: 3;
	margin-top: 0.75rem;
}

.homepage-blog .homepage-blog-card:nth-child(2),
.homepage-blog .homepage-blog-card:nth-child(3) {
	display: grid;
	grid-template-columns: minmax(8.5rem, 0.74fr) minmax(0, 1fr);
	grid-template-rows: 1fr;
	min-height: 15.2rem;
}

.homepage-blog .homepage-blog-card:nth-child(2) .homepage-blog-media,
.homepage-blog .homepage-blog-card:nth-child(3) .homepage-blog-media {
	min-height: 0;
	aspect-ratio: auto;
}

.homepage-blog .homepage-blog-card:nth-child(2) .homepage-blog-body,
.homepage-blog .homepage-blog-card:nth-child(3) .homepage-blog-body {
	display: flex;
	padding: 1.25rem 1.35rem;
}

.homepage-blog .homepage-blog-card:nth-child(2) .homepage-blog-body h3,
.homepage-blog .homepage-blog-card:nth-child(3) .homepage-blog-body h3 {
	margin-top: 0.45rem;
	font-size: 1.12rem;
	line-height: 1.2;
}

.homepage-blog .homepage-blog-card:nth-child(2) .homepage-blog-body p,
.homepage-blog .homepage-blog-card:nth-child(3) .homepage-blog-body p {
	-webkit-line-clamp: 2;
	margin-top: 0.65rem;
	font-size: 0.9rem;
	line-height: 1.56;
}

/* Keep a single homepage article in the original compact vertical card.
 * The editorial two-column treatment above only applies when there are
 * multiple articles to balance it. */
@supports selector(.homepage-blog-grid:has(> .homepage-blog-card:only-child)) {
	@media (min-width: 768px) {
		.homepage-blog .homepage-blog-grid:has(> .homepage-blog-card:only-child) {
			grid-template-columns: repeat(3, minmax(0, 1fr));
			grid-template-rows: auto;
		}

		.homepage-blog .homepage-blog-card:only-child {
			grid-column: 1;
			grid-row: auto;
			display: flex;
			flex-direction: column;
			min-height: 0;
			max-width: none;
			margin-inline: 0;
			background: rgba(255, 255, 255, 0.96);
		}

		.homepage-blog .homepage-blog-card:only-child .homepage-blog-media {
			min-height: 0;
			aspect-ratio: 16 / 10;
		}

		.homepage-blog .homepage-blog-card:only-child .homepage-blog-body {
			justify-content: flex-start;
			padding: clamp(1.25rem, 2.1vw, 1.75rem);
		}

		.homepage-blog .homepage-blog-card:only-child .homepage-blog-body h3 {
			font-size: 1.3rem;
			line-height: 1.24;
		}
	}
}

.homepage-blog .homepage-blog-card h3,
.homepage-blog .homepage-blog-card p {
	overflow-wrap: break-word;
	word-break: normal;
}

.homepage-blog .homepage-blog-read-more {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	margin-top: auto;
	padding-top: 1rem;
	color: #17243a;
	font-size: 0.84rem;
	font-weight: 780;
	text-decoration: none;
}

.homepage-blog .homepage-blog-read-more span {
	color: var(--am-brand);
	font-size: 1.15em;
	transition: transform 220ms ease;
}

.homepage-blog .homepage-blog-read-more:hover {
	color: var(--am-brand);
}

.homepage-blog .homepage-blog-read-more:hover span {
	transform: translateX(0.22rem);
}

.homepage-blog .homepage-blog-card:hover {
	border-color: rgba(201, 37, 53, 0.18);
	box-shadow: 0 0.75rem 1.5rem rgba(26, 43, 65, 0.075);
	transform: translateY(-0.2rem);
}

@media (max-width: 991.98px) {
	.homepage-blog .homepage-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
	}

	.homepage-blog .homepage-blog-card:first-child:not(:only-child),
	.homepage-blog .homepage-blog-card:nth-child(2),
	.homepage-blog .homepage-blog-card:nth-child(3) {
		grid-column: auto;
		grid-row: auto;
	}

	.homepage-blog .homepage-blog-card:first-child:not(:only-child) {
		min-height: 0;
	}
}

@media (max-width: 767.98px) {
	.homepage-blog .homepage-blog-grid {
		grid-template-columns: 1fr;
	}

	.homepage-blog .homepage-blog-card,
	.homepage-blog .homepage-blog-card:first-child:not(:only-child),
	.homepage-blog .homepage-blog-card:nth-child(2),
	.homepage-blog .homepage-blog-card:nth-child(3),
	.homepage-blog .homepage-blog-card:only-child {
		grid-column: 1;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		max-width: none;
	}

	.homepage-blog .homepage-blog-card:first-child:not(:only-child) .homepage-blog-media,
	.homepage-blog .homepage-blog-card:nth-child(2) .homepage-blog-media,
	.homepage-blog .homepage-blog-card:nth-child(3) .homepage-blog-media,
	.homepage-blog .homepage-blog-card:only-child .homepage-blog-media {
		min-height: 14rem;
		aspect-ratio: 16 / 9;
	}

	.homepage-blog .homepage-blog-card:first-child:not(:only-child) .homepage-blog-body,
	.homepage-blog .homepage-blog-card:nth-child(2) .homepage-blog-body,
	.homepage-blog .homepage-blog-card:nth-child(3) .homepage-blog-body,
	.homepage-blog .homepage-blog-card:only-child .homepage-blog-body {
		padding: 1.35rem;
	}
}
}

/* Homepage flow: project experience and insights
 * Keep both data-driven sections in one restrained editorial system. */
.homepage-customer-case,
.homepage-blog {
	isolation: isolate;
}

.homepage-customer-case .container,
.homepage-blog .container {
	position: relative;
	z-index: 1;
}

.homepage-customer-case {
	padding-top: clamp(4rem, calc(3rem + 3vw), 6rem);
	padding-bottom: clamp(4rem, calc(3rem + 3vw), 6rem);
	background:
		radial-gradient(52rem 25rem at 2% 2%, rgba(219, 232, 250, 0.82), transparent 72%),
		radial-gradient(43rem 25rem at 98% 90%, rgba(255, 226, 231, 0.7), transparent 70%),
		linear-gradient(155deg, #f8fbff 0%, #fbfcff 56%, #fff 100%);
}

.homepage-customer-case::after {
	height: clamp(5rem, 8vw, 7.8rem);
	background: linear-gradient(180deg, rgba(250, 252, 255, 0), #fafcff 100%);
}

.homepage-blog {
	margin-top: -1px;
	padding-top: clamp(4rem, calc(3rem + 3vw), 6rem);
	padding-bottom: clamp(4rem, calc(3rem + 3vw), 6rem);
	background:
		radial-gradient(38rem 21rem at 5% 0%, rgba(255, 226, 232, 0.48), transparent 72%),
		radial-gradient(44rem 24rem at 96% 0%, rgba(215, 230, 250, 0.68), transparent 72%),
		linear-gradient(180deg, #fafcff 0%, #f7faff 47%, #fff 100%);
}

.homepage-customer-case .homepage-cases-heading,
.homepage-blog .homepage-blog-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 1.75rem;
	margin-bottom: clamp(2rem, 3.5vw, 2.9rem);
}

.homepage-customer-case .homepage-cases-heading .section-heading,
.homepage-blog .homepage-blog-heading .section-heading {
	max-width: 46rem;
}

.homepage-customer-case .section-heading h2,
.homepage-blog .section-heading h2 {
	max-width: 25ch;
	font-size: clamp(2.1rem, 3.45vw, 3.4rem);
	line-height: 1.07;
	letter-spacing: -0.045em;
}

.homepage-customer-case .section-heading > p:last-child,
.homepage-blog .section-heading > p:last-child {
	max-width: 42rem;
	margin-top: 1rem;
	color: #5f7088;
	line-height: 1.65;
}

.homepage-customer-case .homepage-section-link,
.homepage-blog .homepage-section-link {
	margin: 0 0 0.2rem;
	padding: 0.72rem 1.08rem;
	border: 1px solid rgba(200, 36, 50, 0.16);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.76);
	box-shadow: 0 0.3rem 0.9rem rgba(31, 49, 73, 0.03);
}

.homepage-customer-case .homepage-project-case-list {
	grid-template-columns: minmax(0, 1.07fr) minmax(0, 0.93fr);
	gap: clamp(0.9rem, 1.6vw, 1.25rem);
}

.homepage-customer-case .homepage-project-case {
	min-height: 12.55rem;
	border-color: rgba(35, 52, 76, 0.075);
	box-shadow: 0 0.38rem 1rem rgba(31, 49, 73, 0.035);
}

.homepage-customer-case .homepage-project-case:first-child {
	min-height: 26.05rem;
	box-shadow: 0 0.85rem 2rem rgba(20, 34, 57, 0.14);
}

.homepage-customer-case .homepage-project-case:not(:first-child) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.7rem;
	padding: clamp(1.45rem, 2vw, 1.85rem);
}

.homepage-customer-case .homepage-project-case:not(:first-child) h3 {
	margin-top: auto;
	font-size: clamp(1.35rem, 1.65vw, 1.65rem);
}

.homepage-customer-case .homepage-project-case:not(:first-child) p {
	max-width: 30rem;
	margin: 0;
}

.homepage-customer-case .homepage-project-case:nth-child(2) {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 247, 255, 0.88));
}

.homepage-customer-case .homepage-project-case:nth-child(3) {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 247, 0.88));
}

.homepage-customer-case .homepage-project-case:hover {
	border-color: rgba(200, 36, 50, 0.16);
	box-shadow: 0 0.72rem 1.5rem rgba(31, 49, 73, 0.07);
	transform: translateY(-0.18rem);
}

.homepage-blog .homepage-blog-grid {
	gap: clamp(1rem, 1.7vw, 1.35rem);
	align-items: stretch;
}

.homepage-blog .homepage-blog-card {
	border: 1px solid rgba(35, 52, 76, 0.08);
	border-radius: 1.05rem;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0.42rem 1.05rem rgba(31, 49, 73, 0.035);
	transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.homepage-blog .homepage-blog-card:hover {
	border-color: rgba(200, 36, 50, 0.18);
	box-shadow: 0 0.72rem 1.5rem rgba(31, 49, 73, 0.07);
	transform: translateY(-0.18rem);
}

.homepage-blog .homepage-blog-media {
	background: #edf2f8;
}

.homepage-blog .homepage-blog-body {
	padding: clamp(1.25rem, 2.1vw, 1.75rem);
}

@media (max-width: 767.98px) {
	.homepage-customer-case .homepage-cases-heading,
	.homepage-blog .homepage-blog-heading {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.homepage-customer-case .homepage-section-link,
	.homepage-blog .homepage-section-link {
		justify-self: start;
	}

  .homepage-customer-case .homepage-project-case:not(:first-child) {
    min-height: 11.25rem;
    padding: 1.35rem;
  }
}

/* Homepage inquiry: an editorial, photo-backed conversion panel. */
.homepage-inquiry-banner {
  padding: clamp(3rem, 4.5vw, 4.5rem) 0;
  background:
    linear-gradient(118deg, rgb(247 251 255 / 92%) 0%, rgb(247 250 255 / 88%) 54%, rgb(255 247 248 / 89%) 100%),
    url("../images/shared-inquiry-workshop.png") center / cover no-repeat;
}

.homepage-inquiry-banner::before {
  background:
    radial-gradient(circle at 8% 32%, rgb(82 148 215 / 11%), transparent 26rem),
    radial-gradient(circle at 91% 72%, rgb(200 36 50 / 10%), transparent 27rem);
}

.homepage-inquiry-banner .homepage-inquiry-panel {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(20rem, .85fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: .9rem clamp(2rem, 4vw, 4.5rem);
  min-height: clamp(20rem, 24vw, 25rem);
  padding: clamp(2.15rem, 4.5vw, 3.8rem) clamp(1.75rem, 5vw, 4.5rem);
  overflow: hidden;
  color: #65758b;
  border: 1px solid rgb(35 52 76 / 8%);
  border-radius: 1.35rem;
  background:
    linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 96%) 39%, rgb(255 255 255 / 84%) 50%, rgb(255 255 255 / 25%) 77%, rgb(255 255 255 / 9%) 100%),
    url("../images/shared-inquiry-workshop.png") right center / auto 100% no-repeat,
    linear-gradient(135deg, #f7fbff, #f5f8fc);
  box-shadow: 0 .9rem 2.5rem rgb(24 42 68 / 8%);
}

.homepage-inquiry-panel::before {
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  width: 100%;
  height: .1875rem;
  background: linear-gradient(90deg, #c82432 0%, #e06068 28%, #83b7e6 72%, rgb(131 183 230 / 0%) 100%);
}

.homepage-inquiry-panel::after {
  display: none;
}

.homepage-inquiry-copy {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  max-width: 41rem;
}

.homepage-inquiry-copy .section-kicker {
  margin-bottom: .75rem;
  color: #c82432;
}

.homepage-inquiry-copy h2 {
  max-width: 19ch;
  margin: 0;
  color: #12233a;
  font-size: clamp(2rem, 3.1vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.homepage-inquiry-copy p:last-child {
  max-width: 40rem;
  margin: 1.15rem 0 0;
  color: #61728a;
  font-size: 1rem;
  line-height: 1.7;
}

.homepage-inquiry-button {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  align-self: start;
  white-space: nowrap;
  box-shadow: 0 .6rem 1.25rem rgb(200 36 50 / 16%);
}

.homepage-inquiry-button:hover {
  box-shadow: 0 .75rem 1.5rem rgb(200 36 50 / 20%);
  transform: translateY(-.125rem);
}

@media (max-width: 991.98px) {
  .homepage-inquiry-banner .homepage-inquiry-panel {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-items: start;
    background:
      linear-gradient(90deg, rgb(255 255 255 / 95%), rgb(255 255 255 / 79%)),
      url("../images/shared-inquiry-workshop.png") center / cover no-repeat;
  }

  .homepage-inquiry-button {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }
}

@media (max-width: 767.98px) {
  .homepage-inquiry-banner {
    padding-block: 3rem;
  }

  .homepage-inquiry-banner .homepage-inquiry-panel {
    gap: 1.75rem;
    padding: 2rem 1.4rem;
    border-radius: 1rem;
  }

  .homepage-inquiry-copy h2 {
    max-width: none;
  }
}
