/* Homepage sections and inserted patterns consume the approved design tokens. */
.home .site-main { margin-block: 0; }
.home .inside-article { padding: 0; }
.home .entry-content { margin-block-start: 0; }
.lp-home-section { padding-block: var(--lp-space-2xl); }
.lp-home-section p { margin-block: 0 var(--lp-space-md); }
.lp-home-section .lp-eyebrow { margin-block-end: var(--lp-space-md); }
.lp-home-section h1 { font-size: var(--wp--preset--font-size--lp-h-1); }
.lp-home-section h2 { font-size: var(--wp--preset--font-size--lp-h-2); }
.lp-home-section .lp-home-intro { max-inline-size: 46rem; margin-block-end: var(--lp-space-xl); }
.lp-home-section h2 { max-inline-size: 24ch; }
.lp-home-section h3 { font-size: var(--wp--preset--font-size--lp-h-4); line-height: 1.35; margin-block-end: var(--lp-space-sm); }
.lp-home-section .lp-home-hero-grid,
.lp-home-section .lp-home-support-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--lp-space-2xl); align-items: center; }
.lp-home-hero { position: relative; isolation: isolate; min-block-size: max(620px, 100svh); padding-block: 0; overflow: hidden; border: 0; background: var(--lp-color-primary); }
.lp-home-hero > .lp-container { inline-size: 100%; max-inline-size: none; min-block-size: inherit; padding-inline: 0; }
.lp-home-section .lp-home-hero-grid { position: relative; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 0; align-items: center; min-block-size: max(620px, 100svh); padding-block-start: calc(var(--lp-sticky-header-height)); overflow: hidden; box-sizing: border-box; }
.lp-home-section .lp-home-hero-grid::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(2, 67, 44, 0.94) 0%, rgba(2, 67, 44, 0.86) 28%, rgba(2, 67, 44, 0.48) 55%, rgba(2, 67, 44, 0.08) 78%, rgba(2, 67, 44, 0) 100%); }
.lp-home-hero-copy { position: relative; z-index: 2; inline-size: min(750px, calc(100% - (2 * var(--lp-gutter)))); margin-inline: max(var(--lp-gutter), calc(((100% - var(--lp-container-wide)) / 2) + var(--lp-gutter))) auto; }
.lp-home-hero :where(.lp-eyebrow, h1, .lp-body-large) { color: var(--lp-color-white); }
.lp-home-hero .lp-eyebrow { font-size: 0.9375rem; font-weight: 600; }
.lp-home-hero h1 { max-inline-size: 750px; font-size: clamp(3.5rem, 4.17vw, 4rem); line-height: 1.1; letter-spacing: -0.025em; text-wrap: initial; }
.lp-home-hero-copy .lp-body-large { max-inline-size: 55ch; font-size: clamp(1.125rem, 1.32vw, 1.25rem); line-height: 1.6; margin-block-end: var(--lp-space-xl); }
.lp-home-hero .lp-actions { gap: var(--lp-space-md); }
.lp-home-hero .lp-cta .wp-block-button__link { min-block-size: 56px; padding: 0.75rem 1.75rem; font-size: 1rem; font-weight: 600; }
.lp-home-visual { position: absolute; inset: 0; z-index: 0; display: grid; min-inline-size: 0; min-block-size: 0; }
.lp-home-section .lp-home-image { display: grid; place-content: center; aspect-ratio: 8 / 5; border: 1px solid var(--lp-color-border); background: var(--lp-color-bg-alt); color: var(--lp-color-text); }
.lp-home-image p { margin: 0; padding: var(--lp-space-md); text-align: center; }
.lp-home-section .lp-home-image--hero { aspect-ratio: auto; border: 0; background: transparent; color: inherit; }
.lp-home-section figure.lp-home-image--hero { display: block; block-size: 100%; min-block-size: 0; margin: 0; overflow: hidden; }
.lp-home-image--hero img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 50% 58%; }
.lp-home-hero .lp-cta--secondary .wp-block-button__link { color: var(--lp-color-white); border-color: var(--lp-color-white); background: transparent; }
.lp-home-section .lp-home-product-grid,
.lp-home-section .lp-home-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lp-space-xl); }
.lp-home-product { display: flex; flex-direction: column; min-inline-size: 0; }
.lp-home-product > .lp-eyebrow { border-block-start: 2px solid var(--lp-color-primary); padding-block-start: var(--lp-space-md); }
.lp-home-product .lp-home-image { margin-block-end: var(--lp-space-lg); }
.lp-home-product .lp-home-link { margin-block-start: auto; padding-block-start: var(--lp-space-sm); }
.lp-home-link a { display: inline-flex; align-items: center; min-block-size: 44px; font-weight: 600; }
.lp-home-content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lp-space-xl); margin-block-start: var(--lp-space-xl); }
.lp-home-content-card { min-inline-size: 0; border-block-start: 2px solid var(--lp-color-primary); padding-block-start: var(--lp-space-lg); }
.lp-home-content-card .lp-product-card-image { margin-block-end: var(--lp-space-lg); aspect-ratio: 4 / 3; }
.lp-home-content-card > :last-child { margin-block-end: 0; }
.lp-home-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lp-home-value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lp-home-value-grid .lp-home-content-card { border-block-start: 0; border-inline-start: 3px solid var(--lp-color-primary); padding: var(--lp-space-sm) 0 var(--lp-space-sm) var(--lp-space-lg); }
.lp-home-applications-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--lp-space-md); }
.lp-home-applications-grid .lp-home-content-card { border: 1px solid var(--lp-color-border); padding: var(--lp-space-lg); background: var(--lp-color-white); }
.lp-home-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.lp-home-support-grid .lp-home-content-card { border-block-start-color: var(--lp-color-secondary); }
.lp-home-process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); counter-reset: lp-step; }
.lp-home-process-grid .lp-home-content-card { counter-increment: lp-step; }
.lp-home-process-grid .lp-home-content-card::before { content: counter(lp-step, decimal-leading-zero); display: block; color: var(--lp-color-primary); margin-block-end: var(--lp-space-md); font-size: var(--wp--preset--font-size--lp-h-3); }
.lp-home-about p { max-inline-size: 52rem; }
.lp-home-section .lp-home-value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lp-space-xl); }
.lp-home-section .lp-home-application-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--lp-space-lg); }
.lp-home-value-item { border-inline-start: 2px solid var(--lp-color-primary); padding-inline-start: var(--lp-space-lg); }
.lp-home-value-item p, .lp-home-resource p:last-child { margin: 0; }
.lp-home-application .lp-home-image { aspect-ratio: 4 / 3; margin-block-end: var(--lp-space-md); }
.lp-home-application h3 a { display: inline-block; padding-block: var(--lp-space-xs); }
.lp-home-support { background: var(--lp-color-primary-dark); }
.lp-home-support .lp-home-intro { margin: 0; align-self: start; }
.lp-home-support-item { padding-block: var(--lp-space-lg); border-block-start: 1px solid var(--lp-color-secondary); }
.lp-home-support-item:first-child { padding-block-start: 0; border: 0; }
.lp-home-support-item p { margin: 0; }
.lp-home-process-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--lp-space-lg); list-style: none; margin: 0; padding: 0; counter-reset: lp-step; }
.lp-home-process-list li { counter-increment: lp-step; border-block-start: 1px solid var(--lp-color-border); padding-block-start: var(--lp-space-md); font-weight: 600; }
.lp-home-process-list li::before { content: counter(lp-step, decimal-leading-zero); display: block; color: var(--lp-color-primary); margin-block-end: var(--lp-space-md); font-size: var(--wp--preset--font-size--lp-h-3); }
.lp-home-resource { padding-block-start: var(--lp-space-lg); border-block-start: 2px solid var(--lp-color-primary); }
.lp-home-quote-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--lp-space-xl); border-inline-start: 4px solid var(--lp-color-accent); padding-inline-start: var(--lp-space-xl); }
.lp-home-quote-copy { max-inline-size: 44rem; }
.lp-home-quote-inner .lp-actions { flex-shrink: 0; }
.lp-home-quote-copy p:last-child { margin: 0; }
@media (max-width: 1023px) {
  .lp-home-section .lp-home-hero-grid::after { background: linear-gradient(90deg, rgba(2, 67, 44, 0.95) 0%, rgba(2, 67, 44, 0.86) 42%, rgba(2, 67, 44, 0.34) 72%, rgba(2, 67, 44, 0.08) 100%); }
  .lp-home-hero h1 { font-size: clamp(2.5rem, 5vw, 3rem); }
  .lp-home-section .lp-home-value-grid, .lp-home-section .lp-home-application-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-home-section .lp-home-product-grid, .lp-home-section .lp-home-resource-grid { gap: var(--lp-space-lg); }
  .lp-home-process-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lp-home-content-grid, .lp-home-applications-grid, .lp-home-support-grid, .lp-home-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-home-quote-inner { align-items: start; flex-direction: column; }
}
@media (max-width: 767px) {
  .lp-home-hero { min-block-size: clamp(720px, 190vw, 820px); }
  .lp-home-section .lp-home-hero-grid { grid-template-columns: 1fr; min-block-size: 0; block-size: clamp(720px, 190vw, 820px); align-items: start; gap: 0; }
  .lp-home-section .lp-home-hero-grid::after { background: linear-gradient(180deg, rgba(2, 67, 44, 0.97) 0%, rgba(2, 67, 44, 0.9) 38%, rgba(2, 67, 44, 0.54) 58%, rgba(2, 67, 44, 0.08) 82%, rgba(2, 67, 44, 0) 100%); }
  .lp-home-hero-copy { align-self: start; padding-block: var(--lp-space-xl); }
  .lp-home-hero h1 { font-size: clamp(2.125rem, 8vw, 2.5rem); }
  .lp-home-image--hero img { object-position: 50% 62%; }
  .lp-home-section .lp-home-support-grid { grid-template-columns: 1fr; gap: var(--lp-space-xl); }
  .lp-home-section .lp-home-product-grid, .lp-home-section .lp-home-resource-grid, .lp-home-products-grid { grid-template-columns: 1fr; gap: var(--lp-space-xl); }
  .lp-home-product .lp-home-image { aspect-ratio: 2 / 1; }
  .lp-home-process-list { grid-template-columns: 1fr; gap: 0; }
  .lp-home-content-grid, .lp-home-applications-grid, .lp-home-support-grid, .lp-home-process-grid { grid-template-columns: 1fr; gap: var(--lp-space-lg); }
  .lp-home-process-list li { display: grid; grid-template-columns: 2rem 1fr; gap: var(--lp-space-md); padding-block: var(--lp-space-md); }
  .lp-home-process-list li::before { margin: 0; font-size: inherit; }
  .lp-home-quote-inner { padding-inline-start: var(--lp-space-lg); }
}
@media (max-width: 479px) {
  .lp-home-section .lp-home-value-grid { grid-template-columns: 1fr; }
  .lp-home-section .lp-home-application-grid { gap: var(--lp-space-md); }
  .lp-home-application h3 { font-size: var(--wp--preset--font-size--lp-body); }
  .lp-home-section .lp-actions, .lp-home-section .lp-cta, .lp-home-section .lp-cta a { inline-size: 100%; }
}
/* Keep homepage product and solution CTAs aligned at the bottom. */
.home .lp-home-content-card:has(> .lp-actions),
.home .lp-home-content-card:has(> .lp-content-link) {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.home .lp-home-content-card > .lp-actions,
.home .lp-home-content-card > .lp-content-link {
  margin-block-start: auto;
}

.home .lp-home-content-card > .lp-actions {
  padding-block-start: var(--lp-space-md);
}

.home .lp-home-content-card > .lp-content-link {
  padding-block-start: var(--lp-space-sm);
}
