:root{
  --display-title:clamp(2.9rem,5.2vw,5.35rem);
  --page-title:clamp(2.65rem,4.6vw,4.65rem);
}

/* A single, restrained type scale shared by every page. */
.hero h1{
  max-width:780px;
  font-size:var(--display-title);
  line-height:1.01;
  letter-spacing:-.058em;
}

.memory-hero,
.product-hero,
.research-hero{
  padding-block:clamp(64px,7vw,92px) clamp(44px,5vw,62px);
}

.memory-hero h1,
.product-hero h1,
.research-hero h1{
  max-width:880px;
  margin:.5rem 0 1.25rem;
  font-size:var(--page-title);
  line-height:1.04;
  letter-spacing:-.052em;
}

.memory-hero>p:last-child,
.product-hero>p:last-child,
.research-hero>p:last-child{
  max-width:700px;
  font-size:clamp(.98rem,1.15vw,1.08rem);
  line-height:1.72;
}

.collection-heading h2{
  font-size:clamp(1.8rem,3.7vw,3rem);
  line-height:1.08;
}

.product-card h2{
  font-size:clamp(1.4rem,2.25vw,2.15rem);
  line-height:1.2;
  letter-spacing:-.032em;
}

.research-content h2{
  max-width:760px;
  font-size:clamp(1.35rem,2.15vw,1.9rem);
  line-height:1.25;
  letter-spacing:-.03em;
}

@media(max-width:720px){
  :root{
    --display-title:clamp(2.55rem,12.5vw,3.65rem);
    --page-title:clamp(2.4rem,11vw,3.35rem);
  }

  .hero h1,
  .memory-hero h1,
  .product-hero h1,
  .research-hero h1{
    line-height:1.04;
    letter-spacing:-.045em;
  }

  .memory-hero,
  .product-hero,
  .research-hero{
    padding-block:58px 40px;
  }

  .research-content h2,
  .product-card h2{
    font-size:clamp(1.3rem,6.5vw,1.75rem);
  }
}

