/* Shared recommendation primitive and Homepage/About contextual modules. */
.ctg-recommendation{
  min-width:0;
  margin:0;
  padding:0;
  font-family:var(--ctg-public-font-body);
}
.ctg-recommendation__quote{
  max-inline-size:var(--ctg-public-measure-body);
  margin:0;
  font-size:clamp(1.25rem,2vw,1.75rem);
  font-weight:400;
  line-height:1.55;
  letter-spacing:-.02em;
  text-wrap:pretty;
}
.ctg-recommendation__attribution{margin-top:2rem;}
.ctg-recommendation__attribution p{margin:0;}
.ctg-recommendation__name{
  font-size:.9375rem;
  font-weight:700;
  line-height:1.45;
}
.ctg-recommendation__meta,
.ctg-recommendation__source{
  margin-top:.35rem;
  font-size:.75rem;
  font-weight:400;
  line-height:1.6;
}
.ctg-recommendation__source{display:flex;flex-wrap:wrap;gap:.5rem 1rem;}
.ctg-recommendation__source a{color:inherit;text-underline-offset:.22em;}
.ctg-recommendation__source a:hover{color:var(--ctg-public-heading-dark);}
.ctg-recommendations-featured .ctg-recommendation__source a:hover{color:var(--ctg-public-heading-light);}
.ctg-recommendation__source a:focus-visible{
  outline:2px solid var(--ctg-public-focus-ring);
  outline-offset:var(--ctg-public-focus-offset);
}
.ctg-recommendations-context__shell{
  width:min(calc(100% - (2 * var(--ctg-public-gutter))),var(--ctg-public-content-max));
  margin-inline:auto;
}
.ctg-recommendations-context__eyebrow{
  margin:0;
  color:var(--ctg-public-eyebrow-primary);
  font-family:var(--ctg-public-font-body);
  font-size:var(--ctg-public-type-eyebrow);
  font-weight:700;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ctg-recommendations-context__link{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  margin-top:clamp(2.5rem,4vw,4rem);
  color:inherit;
  font-family:var(--ctg-public-font-body);
  font-size:.875rem;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
}
.ctg-recommendations-context__link:hover{text-decoration:underline;text-underline-offset:.3em;}
.ctg-recommendations-context__link:focus-visible{
  outline:2px solid var(--ctg-public-focus-ring);
  outline-offset:var(--ctg-public-focus-offset);
}
.ctg-home-recommendations{
  padding-block:0 clamp(3.75rem,5vw,5.5rem);
  background:var(--ctg-public-surface-light);
  color:var(--ctg-public-body-light);
}
.ctg-home-recommendations .ctg-recommendations-context__eyebrow{color:var(--ctg-public-eyebrow-tertiary);}
.ctg-home-recommendations__intro{max-inline-size:var(--ctg-public-measure-support);}
.ctg-home-recommendations__title{
  max-inline-size:var(--ctg-public-measure-section);
  margin:1.25rem 0 0;
  color:var(--ctg-public-heading-light);
  font-family:var(--ctg-public-font-heading);
  font-size:var(--ctg-public-type-h2);
  font-weight:560;
  line-height:1.1;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.ctg-home-recommendations__support{
  max-inline-size:var(--ctg-public-measure-lede);
  margin:1.25rem 0 0;
  color:var(--ctg-public-body-light);
  font-family:var(--ctg-public-font-body);
  font-size:var(--ctg-public-type-body);
  line-height:1.7;
  text-wrap:pretty;
}
.ctg-home-recommendations__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(2rem,5vw,5rem);
  margin-top:clamp(2.25rem,3.5vw,3.5rem);
}
.ctg-home-recommendations .ctg-recommendation+.ctg-recommendation{
  border-left:1px solid color-mix(in srgb,var(--ctg-public-heading-light) 14%,transparent);
  padding-left:clamp(2rem,5vw,5rem);
}
.ctg-home-recommendations .ctg-recommendation--featured-rule{
  padding-left:clamp(1.5rem,3vw,2.5rem);
  border-left:1px solid color-mix(in srgb,var(--ctg-public-heading-light) 14%,transparent);
}
.ctg-home-recommendations .ctg-recommendation__quote,
.ctg-home-recommendations .ctg-recommendation__name{color:var(--ctg-public-heading-light);}
.ctg-home-recommendations .ctg-recommendation__quote{
  font-size:clamp(1.125rem,1.5vw,1.375rem);
  line-height:1.55;
}
.ctg-home-recommendations .ctg-recommendation__attribution{margin-top:1.25rem;}
.ctg-home-recommendations .ctg-recommendation__meta{color:var(--ctg-public-body-light);}
.ctg-home-recommendations .ctg-recommendations-context__link{margin-top:clamp(1.75rem,3vw,2.5rem);}
.ctg-about-recommendation{
  padding-block:clamp(4.5rem,7vw,6.5rem) 0;
  background:var(--ctg-public-surface-dark);
  color:var(--ctg-public-body-dark);
}
.ctg-about-recommendation .ctg-recommendations-context__shell{max-inline-size:68rem;}
.ctg-about-recommendation .ctg-recommendation-contextual{
  display:grid;
  grid-template-columns:max-content minmax(0,4fr) max-content minmax(0,1fr);
  align-items:baseline;
  max-inline-size:60rem;
  margin-top:clamp(2.25rem,4vw,3.75rem);
  margin-left:clamp(1.25rem,5vw,5rem);
  padding-bottom:50px;
  padding-left:clamp(1.5rem,3vw,2.5rem);
  border-left:1px solid var(--ctg-public-card-border);
}
.ctg-about-recommendation .ctg-recommendation__treatment,
.ctg-about-recommendation .ctg-recommendation__treatment>.ctg-recommendation__attribution{display:contents;}
.ctg-about-recommendation .ctg-recommendation__treatment>.ctg-recommendation{grid-column:1/-1;}
.ctg-about-recommendation .ctg-recommendation__quote{
  max-inline-size:var(--ctg-public-measure-support);
  color:var(--ctg-public-heading-dark);
  font-size:clamp(1.5rem,2.65vw,2.25rem);
  line-height:1.45;
}
.ctg-about-recommendation .ctg-recommendation__attribution p{margin:0;}
.ctg-about-recommendation .ctg-recommendation__name{color:var(--ctg-public-heading-dark);}
.ctg-about-recommendation .ctg-recommendation__meta{color:var(--ctg-public-body-dark);}
.ctg-about-recommendation .ctg-recommendation__name{grid-column:1/-1;margin-top:2rem;}
.ctg-about-recommendation .ctg-recommendation__meta{grid-column:1;margin-top:0;}
.ctg-about-recommendation .ctg-recommendation__context-link{
  grid-column:3;
  display:inline-flex;
  align-items:center;
  color:var(--ctg-public-heading-dark);
  font-size:.875rem;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
}
.ctg-about-recommendation .ctg-recommendation__context-link:hover{text-decoration:underline;text-underline-offset:.3em;}
.ctg-about-recommendation .ctg-recommendation__context-link:focus-visible{
  outline:2px solid var(--ctg-public-focus-ring);
  outline-offset:var(--ctg-public-focus-offset);
}
@media(max-width:1023px){
  .ctg-home-recommendations__grid{grid-template-columns:1fr;gap:2rem;}
  .ctg-home-recommendations .ctg-recommendation+.ctg-recommendation{
    padding:2rem 0 0;
    border-top:1px solid color-mix(in srgb,var(--ctg-public-heading-light) 14%,transparent);
    border-left:0;
  }
}
@media(max-width:767px){
  .ctg-home-recommendations{padding-block:var(--ctg-public-section-block);}
  .ctg-about-recommendation{padding-block:var(--ctg-public-section-block) 0;}
  .ctg-recommendation__quote{font-size:1.1875rem;line-height:1.6;}
  .ctg-home-recommendations .ctg-recommendation__quote{font-size:1.125rem;}
  .ctg-about-recommendation .ctg-recommendation-contextual{
    display:block;
    margin-left:0;
    padding:0;
    border-left:0;
  }
  .ctg-about-recommendation .ctg-recommendation__treatment{
    display:block;
    padding-left:1.25rem;
    border-left:1px solid var(--ctg-public-card-border);
  }
  .ctg-about-recommendation .ctg-recommendation__quote{font-size:1.375rem;}
  .ctg-about-recommendation .ctg-recommendation__treatment>.ctg-recommendation__attribution{display:block;margin-top:2rem;}
  .ctg-about-recommendation .ctg-recommendation__name{margin-top:0;}
  .ctg-about-recommendation .ctg-recommendation__context-link{min-height:44px;margin-top:1.5rem;}
  .ctg-home-recommendations .ctg-recommendation{
    padding-left:1.25rem;
    border-left:1px solid color-mix(in srgb,var(--ctg-public-heading-light) 14%,transparent);
  }
  .ctg-home-recommendations .ctg-recommendation+.ctg-recommendation{
    padding:0 0 0 1.25rem;
    border-top:0;
    border-left:1px solid color-mix(in srgb,var(--ctg-public-heading-light) 14%,transparent);
  }
}
