body[data-site-theme="teal"] { --lime: #62c7bb; }
body[data-site-theme="mono"] { --lime: #f4f2ea; }
body[data-site-density="compact"] .section,
body[data-site-density="compact"] .site-block { padding-top: 72px; padding-bottom: 72px; }

.hero-custom-image {
  width: 100%;
  min-height: 540px;
  height: 100%;
  object-fit: cover;
  border: 1px solid var(--line);
  background: var(--paper-2);
}

.site-block { padding: 112px 0; border-top: 1px solid var(--line); }
.site-block.theme-paper { background: var(--paper); color: var(--ink); }
.site-block.theme-ink { background: var(--ink); color: var(--paper); }
.site-block.theme-lime { background: var(--lime); color: var(--ink); }
.site-block-inner { display: grid; gap: 36px; }
.site-block-eyebrow { color: var(--soft-ink); font: 500 11px/1 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.theme-ink .site-block-eyebrow { color: var(--lime); }
.site-block-title { max-width: 900px; font: 400 clamp(42px, 7vw, 92px)/.9 var(--display); letter-spacing: -.075em; }
.site-block-body { max-width: 680px; color: var(--soft-ink); font-size: 17px; line-height: 1.75; }
.theme-ink .site-block-body, .theme-ink .site-block-item p, .theme-ink .site-block-item blockquote { color: #c7c5bc; }
.site-block-button { justify-self: start; }
.theme-ink .site-block-button { border-color: var(--paper); color: var(--paper); }
.theme-lime .site-block-button { background: var(--ink); color: var(--paper); }
.site-block-split .site-block-inner { grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); align-items: stretch; }
.site-block-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 26px; padding-block: 32px; }
.site-block-media { min-height: 430px; display: grid; place-items: center; overflow: hidden; border: 1px solid currentColor; background: color-mix(in srgb, currentColor 7%, transparent); }
.site-block-media img { width: 100%; height: 100%; object-fit: cover; }
.site-block-placeholder { font: 500 10px var(--mono); letter-spacing: .14em; }
.site-block-items { display: grid; border-top: 1px solid currentColor; border-left: 1px solid currentColor; }
.site-block-items-benefits { grid-template-columns: repeat(3, 1fr); }
.site-block-items-testimonials { grid-template-columns: repeat(2, 1fr); }
.site-block-item { min-height: 210px; padding: 28px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.site-block-item-title { margin-bottom: 16px; font-size: 22px; line-height: 1.1; letter-spacing: -.04em; }
.site-block-item p, .site-block-item blockquote { color: var(--soft-ink); font-size: 14px; line-height: 1.7; }
.site-block-item blockquote { margin: 0 0 30px; font-size: 20px; }
.site-block-items-faq { grid-template-columns: 1fr; }
.site-block-items-faq .site-block-item { min-height: auto; display: grid; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr); gap: 40px; }
.site-block-hero .site-block-inner, .site-block-cta .site-block-inner { min-height: 460px; align-content: center; }
.site-block-hero .site-block-title, .site-block-cta .site-block-title { max-width: 1000px; font-size: clamp(58px, 10vw, 132px); }

@media (max-width: 860px) {
  .hero-custom-image { min-height: 430px; }
  .site-block { padding: 82px 0; }
  .site-block-split .site-block-inner { grid-template-columns: 1fr; }
  .site-block-media { min-height: 330px; }
  .site-block-items-benefits { grid-template-columns: 1fr 1fr; }
  .site-block-items-testimonials { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .hero-custom-image { min-height: 360px; }
  .site-block-items-benefits { grid-template-columns: 1fr; }
  .site-block-items-faq .site-block-item { grid-template-columns: 1fr; gap: 10px; }
  .site-block-hero .site-block-inner, .site-block-cta .site-block-inner { min-height: 360px; }
}
