/* Homepage layout. Shared typography, buttons and colors live in site.css. */
.home-page { overflow-x: clip; }
.home-page :is(section, header) { scroll-margin-top: var(--site-anchor-offset); }

.home-page .home-hero { position: relative; display: flex; align-items: center; min-height: 440px; isolation: isolate; overflow: hidden; background: #263c38; color: #fff; }
.home-page .home-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(15, 29, 29, .9), rgba(15, 29, 29, .72) 43%, rgba(15, 29, 29, .13) 82%); }
.home-page .home-hero-content { padding-block: 60px 63px; }
.home-page .home-hero .site-kicker { color: var(--site-accent); }
.home-page .home-hero h1 { max-width: 640px; margin-top: 12px; color: #fff; font-size: 50px; font-weight: 600; line-height: 1.13; }
.home-page .home-hero-copy { max-width: 610px; margin-top: 17px; color: #f0f5f0; font-size: 15px; line-height: 1.7; }
.home-page .home-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 25px; }
.home-page .home-hero-link { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: 14px; font-weight: 600; }
.home-page .home-hero-link:hover { color: var(--site-accent); }
.home-page .home-hero-link i { font-size: 12px; }
.home-page .home-photo-picture { position: absolute; inset: 0; z-index: -2; }
.home-page .home-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 66%; }

.home-page .home-section-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .75fr); gap: 80px; align-items: end; }
.home-page .home-section-head .site-title { margin-top: 12px; }
.home-page .home-section-head .site-copy { font-size: 15px; }
.home-page .home-intro { padding: 88px 0 81px; }
.home-page .home-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin-top: 50px; }
.home-page .home-outcomes article { min-width: 0; border-top: 1px solid var(--site-border); padding-top: 23px; }
.home-page .home-outcome-number { float: right; color: #8a9c8e; font-size: 12px; }
.home-page .home-outcomes article > i { display: block; margin-bottom: 20px; color: var(--site-positive); font-size: 23px; }
.home-page .home-outcomes article:nth-child(2) > i { color: var(--site-brand); }
.home-page .home-outcomes article:nth-child(3) > i { color: #9b7525; }
.home-page .home-outcomes h3 { max-width: 320px; font-size: 19px; line-height: 1.45; }
.home-page .home-outcomes p { max-width: 355px; margin-top: 10px; color: var(--site-text-muted); font-size: 14px; line-height: 1.75; }

.home-page .home-products { padding: 83px 0; background: var(--site-surface-tint); }
.home-page .home-products-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: 95px; align-items: center; }
.home-page .home-products-intro .site-title { margin-top: 12px; }
.home-page .home-products-intro .site-copy { margin-top: 22px; font-size: 15px; }
.home-page .home-products-intro .site-text-link { margin-top: 27px; }
.home-page .home-product-list { border-top: 1px solid #cbd7cc; }
.home-page .home-product-list a { display: grid; grid-template-columns: 43px minmax(0, 1fr) 18px; align-items: center; gap: 22px; min-height: 112px; padding: 18px 0; border-bottom: 1px solid #cbd7cc; color: var(--site-text); }
.home-page .home-product-list a:hover { color: var(--site-positive); }
.home-page .home-product-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 5px; background: #dae9dc; color: var(--site-positive); font-size: 17px; }
.home-page .home-product-list a:nth-child(2n) .home-product-icon { background: #e2eaf4; color: var(--site-brand); }
.home-page .home-product-list strong, .home-page .home-product-list small { display: block; }
.home-page .home-product-list strong { font-size: 19px; font-weight: 600; line-height: 1.35; }
.home-page .home-product-list small { margin-top: 4px; color: var(--site-text-muted); font-size: 12px; line-height: 1.6; }
.home-page .home-product-arrow { justify-self: end; align-self: center; color: var(--site-positive); font-size: 12px; }

.home-page .home-showcase { padding: 88px 0 84px; }
.home-page .home-showcase .home-section-head { grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); }
.home-page .home-showcase .site-text-link { margin-top: 20px; }
.home-page .home-showcase-figure { max-width: 1100px; margin: 44px auto 0; }
.home-page .home-showcase-figure a, .home-page .home-showcase-figure img { display: block; }
.home-page .home-showcase-figure img { width: 100%; height: auto; }
.home-page .home-showcase-figure figcaption { margin-top: 12px; color: var(--site-text-muted); font-size: 11px; line-height: 1.55; }

.home-page .home-reports { padding: 83px 0; background: #eef3f9; }
.home-page .home-reports-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 95px; align-items: center; }
.home-page .home-reports .site-title { margin-top: 13px; }
.home-page .home-reports .site-copy { margin-top: 20px; font-size: 15px; }
.home-page .home-reports .site-text-link { margin-top: 25px; }
.home-page .home-report-options { border-top: 1px solid #cdd9e4; }
.home-page .home-report-options article { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 18px; padding: 27px 0; border-bottom: 1px solid #cdd9e4; }
.home-page .home-report-options article > i { margin-top: 5px; color: var(--site-brand); font-size: 19px; }
.home-page .home-report-options article:nth-child(2) > i { color: var(--site-positive); }
.home-page .home-report-options h3 { font-size: 19px; line-height: 1.4; }
.home-page .home-report-options p { margin-top: 7px; color: var(--site-text-muted); font-size: 13px; line-height: 1.75; }

.home-page .home-cta { padding: 72px 0 76px; background: var(--site-brand-hover); color: #fff; }
.home-page .home-setup-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 95px; align-items: center; }
.home-page .home-setup-grid .site-title { margin-top: 10px; }
.home-page .home-setup-grid .site-copy { color: #e4edf8; font-size: 15px; }
.home-page .home-setup-note { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 17px; color: var(--site-accent); font-size: 13px; font-weight: 600; }
.home-page .home-setup-benefit { display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; }
.home-page .home-setup-note i { font-size: 12px; }

.home-page .home-cta-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 65px; align-items: center; margin-top: 55px; padding-top: 47px; border-top: 1px solid rgba(255, 255, 255, .28); }
.home-page .home-cta .site-kicker { color: var(--site-accent); }
.home-page .home-cta .site-title { max-width: 700px; margin-top: 12px; color: #fff; }
.home-page .home-cta-grid p:not(.site-kicker) { max-width: 630px; margin-top: 17px; color: #e4edf8; font-size: 15px; line-height: 1.75; }
.home-page .home-cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.home-page .home-cta .site-button { min-width: 170px; }
.home-page .home-cta .site-text-link { color: #fff; }
.home-page .home-cta .site-text-link:hover { color: var(--site-accent); }

@media (max-width: 1000px) {
  .home-page .home-products-grid, .home-page .home-reports-grid, .home-page .home-setup-grid { gap: 50px; }
  .home-page .home-section-head { gap: 42px; }
  .home-page .home-hero h1 { font-size: 46px; }
}
@media (max-width: 760px) {
  .home-page .home-hero { min-height: 430px; }
  .home-page .home-hero::before { background: linear-gradient(90deg, rgba(12, 27, 28, .88), rgba(12, 27, 28, .64)); }
  .home-page .home-hero-content { padding-block: 50px 54px; }
  .home-page .home-hero h1 { font-size: 40px; max-width: 590px; }
  .home-page .home-hero-copy { font-size: 15px; }
  .home-page .home-hero-photo { object-position: 55% center; }
  .home-page .home-section-head, .home-page .home-showcase .home-section-head, .home-page .home-products-grid, .home-page .home-reports-grid, .home-page .home-setup-grid, .home-page .home-cta-grid { grid-template-columns: 1fr; gap: 26px; }
  .home-page .home-intro, .home-page .home-showcase { padding-block: 62px; }
  .home-page .home-products, .home-page .home-reports { padding-block: 65px; }
  .home-page .home-outcomes { gap: 18px; }
  .home-page .home-outcomes h3 { font-size: 17px; }
  .home-page .home-products-intro { margin-bottom: 17px; }
  .home-page .home-showcase-figure { margin-top: 30px; }
  .home-page .home-cta { padding-block: 56px; }
  .home-page .home-cta-grid { margin-top: 38px; padding-top: 35px; }
  .home-page .home-cta-actions { flex-direction: row; align-items: center; flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .home-page .home-hero-content { padding-block: 40px 43px; }
  .home-page .home-hero h1 { font-size: 36px; }
  .home-page .home-hero-copy { margin-top: 18px; font-size: 15px; }
  .home-page .home-hero-actions { gap: 21px; margin-top: 26px; }
  .home-page .home-outcomes { grid-template-columns: 1fr; margin-top: 35px; }
  .home-page .home-outcomes article { padding-top: 17px; }
  .home-page .home-outcomes article > i { margin-bottom: 10px; }
  .home-page .home-outcomes h3, .home-page .home-outcomes p { max-width: none; }
  .home-page .home-product-list a { min-height: 104px; gap: 14px; }
  .home-page .home-product-list strong { font-size: 17px; }
}
@media (max-width: 370px) {
  .home-page .home-hero { min-height: 465px; }
  .home-page .home-hero h1 { font-size: 34px; }
  .home-page .home-hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
}
