/* Product portfolio: one type scale and one vertical rhythm for the homepage. */
.product-home {
  --home-copy-size: 21px;
  --home-copy-line: 26px;
}
.product-home .hero__name,
.product-home .hero__tagline,
.product-home .hero__focus {
  font-size: var(--home-copy-size);
  line-height: var(--home-copy-line);
  letter-spacing: -.02em;
}
.product-home .hero__name {
  font-size: var(--fs-display);
  line-height: var(--lh-display);
  letter-spacing: -.035em;
}
.product-home .hero__tagline { max-width: 540px; }
.product-home .hero__focus {
  margin: 8px 0 0;
  color: var(--ink-2);
  max-width: 36ch;
}
.product-home .hero__intro .actions { flex-wrap: wrap; gap: 12px; }
.product-home .hero__intro .btn--dark { background: transparent; border: 1px solid var(--hairline-2); }
.product-home .rule-dots + .about { margin-top: var(--space-5); }
.product-home .objects-gallery + .method-editorial { margin-top: var(--space-10); }
.product-home .method-editorial + .footer { margin-top: var(--space-10); }
.product-home .about + .objects-gallery,
.product-home .objects-gallery { margin-top: 0; }
.product-home .objects-gallery__glow--branchline { --glow-x: 20% !important; }
.product-home .objects-gallery__glow--hypershadow { --glow-x: 50% !important; }
.product-home .objects-gallery__glow--fintellect { --glow-x: 80% !important; }
.product-home .object-work__copy p { max-width: 36ch; }
.product-home .object-section__header {
  min-height: 112px;
  margin-bottom: 0;
  align-items: center;
}
.product-home .object-section__header h2 { font-size: clamp(38px, 4vw, 56px); }
.product-home .about {
  min-height: clamp(720px, calc(100svh - 32px), 920px);
  padding: clamp(72px, 9svh, 104px) 0 var(--space-7);
  border: 0;
  border-bottom: 1px solid var(--hairline);
}
.product-home .about__col { justify-content: flex-start; gap: var(--space-6); }
.product-home .about__col--jobs { justify-content: flex-start; gap: 0; }
.product-home .about__col--jobs .job { padding: 13px 0; }
.product-home .about__col--jobs .job:first-child { padding-top: 0; }
.product-home .about__col--jobs .job:last-of-type { padding-bottom: 0; }
.product-home .about__col--jobs .job__body { gap: 5px; }
.product-home .about__col--jobs .rule { margin: 0; }
.product-home .about .bio {
  max-width: 34ch;
  font-size: var(--home-copy-size);
  line-height: var(--home-copy-line);
  letter-spacing: -.015em;
}
.product-home .bio-label { margin: 0; color: var(--ink-3); font: var(--fs-label)/1.4 var(--font-mono); text-transform: uppercase; letter-spacing: .07em; }
.product-home .job__head { font-size: 16px; line-height: 1.35; }
.product-home .job__desc { max-width: 41ch; font-size: 15px; line-height: 1.45; letter-spacing: -.01em; }
.product-home .job__date { font-size: 12px; line-height: 1.4; }
.product-home .method-row > p { font-size: 16px; line-height: 1.5; }
.product-notes {
  margin: 0;
  padding: clamp(32px, 4vw, 56px) 0;
  border-top: 1px solid var(--hairline);
}
.product-notes__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; margin-bottom: 28px; }
.product-notes__intro h2 { font: 500 clamp(28px, 3vw, 42px)/1.08 var(--font-sans); letter-spacing: -.045em; margin: 0; max-width: 17ch; }
.product-notes__intro p { color: var(--ink-2); font: 500 18px/1.4 var(--font-sans); margin: 0; max-width: 48ch; }
.product-notes__eyebrow { display: block; margin-bottom: 20px; color: var(--ink-3); font: 12px/1.4 var(--font-mono); text-transform: uppercase; letter-spacing: .05em; }
.product-decisions { margin: 0; padding: 0; list-style: none; }
.product-decisions li { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.7fr); gap: 32px; border-top: 1px solid var(--hairline); padding: 23px 0; }
.product-decisions h3 { margin: 0; font: 500 20px/1.25 var(--font-sans); letter-spacing: -.025em; }
.product-decisions p { margin: 0; color: var(--ink-2); font: 500 18px/1.4 var(--font-sans); max-width: 65ch; }
.product-decisions code { color: var(--ink); font: .78em/1.5 var(--font-mono); overflow-wrap: anywhere; }
.product-status { margin: 24px 0 0; padding: 16px 0 0; border-top: 1px solid var(--hairline); color: var(--ink-2); font: 500 15px/1.5 var(--font-sans); max-width: 80ch; }
.product-status strong { color: var(--ink); font-weight: 500; }
.product-pipeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 0; margin: 0 0 28px; list-style: none; border-block: 1px solid var(--hairline); }
.product-pipeline li { padding: 20px 20px 20px 0; min-width: 0; }
.product-pipeline li + li { border-left: 1px solid var(--hairline); padding-left: 20px; }
.product-pipeline span { display: block; color: var(--ink-3); font: 11px/1.4 var(--font-mono); margin-bottom: 12px; }
.product-pipeline strong { display: block; color: var(--ink); font-size: 19px; font-weight: 500; margin-bottom: 7px; }
.product-pipeline p { color: var(--ink-2); font-size: 15px; line-height: 1.4; margin: 0; }
.product-case .case-outcome > p { max-width: 65ch; }
.product-case .case-fact dd { text-wrap: balance; }
.product-case .case-hero__note { max-width: 34ch; }
.product-case .case-toc a { font-size: 11px; }
.product-case .case-proof { margin-top: 32px; }
.product-case .case-video__meta { font-size: 14px; }
@media (max-width: 767px) {
  .product-home { --home-copy-size: 18px; --home-copy-line: 23px; }
  .product-home .hero__name,
  .product-home .hero__tagline,
  .product-home .hero__focus { font-size: var(--home-copy-size); line-height: var(--home-copy-line); }
  .product-home .hero__name { font-size: 26px; line-height: 30px; }
  .product-home .hero__focus { max-width: 30ch; }
  .product-home .rule-dots + .about { margin-top: var(--space-4); }
  .product-home .about { min-height: 0; padding: var(--space-5) 0 var(--space-6); }
  .product-home .about__col,
  .product-home .about__col--jobs { justify-content: flex-start; }
  .product-home .objects-gallery + .method-editorial,
  .product-home .method-editorial + .footer { margin-top: var(--space-8); }
  .product-home .about + .objects-gallery { margin-top: 0; }
  .product-home .object-section__header { min-height: 88px; margin-bottom: 0; }
  .product-home .about .bio { max-width: 38ch; font-size: var(--home-copy-size); line-height: var(--home-copy-line); }
  .product-home .about__col--jobs .job { padding: 16px 0; }
  .product-home .job__head { font-size: 15px; }
  .product-home .job__desc { font-size: 14px; }
  .product-notes__intro, .product-decisions li { grid-template-columns: 1fr; gap: 12px; }
  .product-notes__intro h2 { max-width: 22ch; }
  .product-notes__intro p, .product-decisions p { font-size: 16px; }
  .product-pipeline { grid-template-columns: 1fr 1fr; }
  .product-pipeline li:nth-child(3) { border-left: 0; padding-left: 0; }
  .product-pipeline li:nth-child(n+3) { border-top: 1px solid var(--hairline); }
}
