/* ==========================================================================
   Site styles
   ========================================================================== */
label {
  margin: 0 0 var(--tok-size-6);
  display: block;
  font-size: .92em;
  font-weight: 600;
}
textarea {
  min-height: 96px;
  resize: vertical;
}
.fh-newsletter {
  display: grid;
  max-width: 560px;
  gap: var(--tok-size-14);
}
.fh-first-letter::first-letter {
  padding: var(--tok-size-6) var(--tok-size-8) 0 0;
  float: left;
}
.fh-first-letter::first-letter {
  font-size: 2.9em;
  color: var(--tok-theme-alt);
  line-height: .8;
  font-weight: bold;
  font-family: var(--tok-theme-font-h);
}
.fh-standfirst {
  line-height: 1.55;
  color: var(--tok-theme-fg);
  font-size: 1.18em;
}
.fh-link-button.fh-ghost {
  outline: 1px solid #3adf95;
  color: var(--tok-theme-main);
  background: transparent;
  outline-offset: -1px;
}
.fh-link-button.fh-small {
  font-size: .86em;
  padding: var(--tok-size-6) var(--tok-size-14);
}
.fh-link-button:focus-visible {
  outline: 2px solid var(--tok-theme-alt);
  outline-offset: 2px;
}
pre {
  font-size: .9em;
  border-radius: 0px;
}
pre {
  margin-top: 1.28em;
  color: var(--tok-theme-fg);
  padding: 17px var(--tok-size-18);
  margin-bottom: 1.28em;
  line-height: 1.5;
  overflow: auto;
  background: var(--tok-theme-card);
}
pre code {
  background: transparent;
  color: inherit;
  font-size: inherit;
  border-radius: 0;
  padding: 0;
}
hr,.fh-hr-line {
  background: var(--tok-theme-line);
  height: 2px;
  margin-bottom: var(--tok-size-28);
  border: 0;
  margin-top: var(--tok-size-28);
}
.fh-progress {
  left: 0;
  transition: width .1s linear;
  height: 4px;
  top: 0;
  background: var(--tok-theme-alt);
  position: fixed;
  z-index: 60;
  width: 0;
}
progress {
  width: 100%;
  height: 8px;
  accent-color: var(--tok-theme-main);
}
.fh-page-nav {
  margin-bottom: 34px;
  margin-top: 34px;
  justify-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: var(--tok-size-4);
}
.fh-page-nav a {
  text-decoration-line: none;
}
.fh-page-nav span {
  text-decoration-line: none;
}
.fh-page-nav span {
  text-align: center;
  min-width: 36px;
  padding: var(--tok-size-6) var(--tok-size-10) var(--tok-size-6) var(--tok-size-10);
  border: 1px solid var(--tok-theme-line);
  display: inline-block;
  border-radius: 1051px;
}
.fh-page-nav a {
  padding: var(--tok-size-6) var(--tok-size-10) var(--tok-size-6) var(--tok-size-10);
  display: inline-block;
  text-align: center;
  min-width: 36px;
  border: 1px solid var(--tok-theme-line);
  border-radius: 1051px;
}
.fh-page-nav [aria-current] {
  border-color: var(--tok-theme-main);
  color: #111111;
  background: var(--tok-theme-main);
}
.fh-visually-hidden {
  overflow: hidden;
  border: 0;
  margin: -1px;
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}
.fh-skip-link {
  color: #111111;
  padding: var(--tok-size-8) 13px var(--tok-size-8) 13px;
  border-radius: 0 0 6px 6px;
  background: var(--tok-theme-main);
  left: 8px;
  position: absolute;
  z-index: 100;
  transition: top .15s;
  top: -40px;
}
.fh-skip-link:focus {
  top: 0;
}
summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}
summary::after {
  transition: transform .2s;
  color: var(--tok-theme-muted);
  content: "+";
  float: right;
}
details[open] summary::after {
  transform: rotate(45deg);
}
details[open] summary {
  margin-bottom: var(--tok-size-6);
}
.fh-share-bar {
  gap: var(--tok-size-8);
  align-items: center;
  display: flex;
  margin: 25px 0 25px 0;
}
.fh-share-bar a {
  border: 1px solid var(--tok-theme-line);
}
.fh-share-bar a {
  justify-content: center;
  width: 36px;
  border-radius: 6px;
  align-items: center;
  color: var(--tok-theme-muted);
  display: inline-flex;
  height: 36px;
}
.fh-share-bar a:hover {
  border-color: var(--tok-theme-main);
  color: var(--tok-theme-main);
}
.fh-share-bar svg {
  height: 18px;
  width: 18px;
  fill: currentColor;
}
.fh-about-author {
  border-radius: 0px;
  margin: 41px 0;
  gap: 19px;
  padding: var(--tok-size-20);
  align-items: flex-start;
}
.fh-about-author {
  display: flex;
  border: 1px solid var(--tok-theme-line);
  background: var(--tok-theme-card);
}
.fh-about-author h4 {
  margin-bottom: var(--tok-size-4);
}
.fh-about-author p {
  font-size: .94em;
  margin: 0;
  color: var(--tok-theme-muted);
}
.fh-tag-pill {
  font-weight: 600;
}
.fh-tag-pill {
  font-size: .76em;
  background: var(--tok-theme-soft);
  border-radius: 4px;
  color: var(--tok-theme-main);
  letter-spacing: 0.04em;
  padding: 1px 7px;
  text-transform: none;
  display: inline-block;
}
.fh-tag-pill.fh-badge-alt {
  background: #da627026;
  color: var(--tok-theme-alt);
}
.fh-column-frame {
  width: min(1142px, calc(100% - 40px));
  margin: 0 auto;
}
.fh-page-top {
  z-index: 20;
  border-bottom: 1px solid var(--tok-theme-line);
}
.fh-page-top {
  background: var(--tok-theme-bg);
  color: var(--tok-theme-fg);
  position: relative;
}
.fh-page-top .fh-column-frame {
  min-height: 74px;
  gap: 21px;
  justify-content: space-between;
  display: flex;
  align-items: center;
}
.fh-wordmark-block {
  font-size: 1.2rem;
  display: inline-flex;
  align-items: center;
  color: inherit;
  font-weight: 600;
  font-family: var(--tok-theme-font-h);
  gap: var(--tok-size-10);
  text-decoration-line: none;
}
.fh-wordmark-block svg {
  height: 32px;
  width: 32px;
}
.fh-navigation-bar a {
  font-weight: 600;
}
.fh-navigation-bar a {
  text-decoration: none;
  border: 1px solid var(--tok-theme-line);
  color: inherit;
  padding: 9px var(--tok-size-14) 9px var(--tok-size-14);
  border-radius: 0;
}
.fh-feature-intro {
  width: min(1240px, calc(100% - 56px));
  color: var(--tok-theme-fg);
  text-align: center;
  position: relative;
  border: 3px solid var(--tok-theme-fg);
}
.fh-feature-intro {
  box-shadow: 8px 8px 0 var(--tok-theme-fg);
  padding: 95px 0 110px;
  overflow: hidden;
  margin: 19px auto;
  background: var(--tok-theme-bg);
}
.fh-feature-intro h1 {
  letter-spacing: 0.03em;
  margin: 0 auto var(--tok-size-18);
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  max-width: 900px;
}
.fh-feature-intro h1 {
  text-transform: uppercase;
  line-height: 1.05;
  font-family: var(--tok-theme-font-h);
}
.fh-feature-intro p {
  margin: 0 auto var(--tok-size-28);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  max-width: 720px;
  color: var(--tok-theme-muted);
}
.fh-next-step-links {
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--tok-size-10);
  display: flex;
}
.fh-tap-target {
  padding: 13px 19px;
  border-radius: 0;
  align-items: center;
  background: var(--tok-theme-fg);
}
.fh-tap-target {
  color: #111111;
  font-weight: bold;
  border: 3px solid var(--tok-theme-fg);
  justify-content: center;
  display: inline-flex;
  box-shadow: 4px 4px 0 var(--tok-theme-fg);
  text-decoration: none;
}
.fh-page-center {
  color: var(--tok-theme-fg);
  background: var(--tok-theme-bg);
}
.fh-topic-block {
  border-bottom: 1px solid var(--tok-theme-line);
  padding-bottom: 63px;
  padding-top: 63px;
}
.fh-topic-block h2 {
  text-underline-offset: 8px;
  text-transform: uppercase;
  margin: 0 0 26px;
  text-decoration: underline var(--tok-theme-alt) 4px;
  font-size: clamp(1.7rem, 3.4vw, 2.5rem);
  line-height: 1.15;
  font-family: var(--tok-theme-font-h);
}
.fh-editorial-text {
  line-height: 1.8;
  color: var(--tok-theme-fg);
  font-size: 1.08rem;
  max-width: 820px;
}
.fh-editorial-text h2,.fh-editorial-text h3 {
  font-family: var(--tok-theme-font-h);
}
.fh-card-matrix {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  gap: 21px;
  display: grid;
}
.fh-content-tile {
  border-radius: 0;
  min-width: 0;
  color: var(--tok-theme-fg);
}
.fh-content-tile {
  box-shadow: 6px 6px 0 var(--tok-theme-fg);
  outline: 3px solid #f1f3f2;
  background: var(--tok-theme-card);
  overflow: hidden;
  outline-offset: -3px;
}
.fh-content-tile img {
  background: var(--tok-theme-soft);
  object-fit: cover;
}
.fh-content-tile img {
  aspect-ratio: 16 / 9;
  display: block;
  width: 100%;
}
.fh-entry-details {
  align-items: flex-start;
  gap: 13px;
  padding: 23px;
  display: flex;
  flex-direction: column;
}
.fh-entry-details h3 {
  margin: 0;
  font-family: var(--tok-theme-font-h);
}
.fh-entry-details h3 {
  line-height: 1.25;
  font-size: 1.25rem;
}
.fh-entry-details h3 a {
  color: inherit;
  text-decoration: none;
}
.fh-entry-details p {
  color: var(--tok-theme-muted);
  margin: 0;
  line-height: 1.6;
}
.fh-entry-details time {
  color: var(--tok-theme-muted);
  font-size: .84rem;
}
.fh-entry-details code {
  font-size: .86rem;
  overflow-wrap: anywhere;
  max-width: 100%;
  color: var(--tok-theme-main);
}
.fh-entry-details .fh-tap-target {
  margin-top: auto;
}
.fh-extra-guides {
  text-decoration: underline;
}
.fh-extra-guides {
  text-underline-offset: 4px;
  font-weight: bold;
  color: var(--tok-theme-main);
}
.fh-media-player {
  max-width: 820px;
  outline: 1px solid #232927;
  border-radius: 0;
  overflow: hidden;
  outline-offset: -1px;
}
.fh-media-player {
  margin: 0 auto var(--tok-size-20);
  background: var(--tok-theme-card);
}
.fh-media-player video {
  background: var(--tok-theme-fg);
}
.fh-media-player video {
  max-height: 589px;
  width: 100%;
  display: block;
}
.fh-social-video .fh-tap-target {
  display: flex;
  margin: 0 auto;
  width: fit-content;
}
.fh-support-questions {
  gap: 13px;
  max-width: 900px;
  display: grid;
}
.fh-query-block {
  outline: 1px solid #232927;
  background: var(--tok-theme-card);
  outline-offset: -1px;
}
.fh-query-block {
  border-radius: 0;
  padding: 15px var(--tok-size-20);
}
.fh-query-block summary {
  cursor: pointer;
  font-weight: bold;
  font-family: var(--tok-theme-font-h);
}
.fh-query-block div {
  padding: var(--tok-size-12) 0 0;
  color: var(--tok-theme-muted);
  line-height: 1.7;
}
.fh-promo-frame {
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}
.fh-site-end {
  background: var(--tok-theme-fg);
  color: var(--tok-theme-bg);
  padding: 45px 0 25px;
}
.fh-site-end nav {
  margin: 0 0 19px;
}
.fh-site-end nav {
  gap: var(--tok-size-12) var(--tok-size-24);
  justify-content: center;
  flex-wrap: wrap;
  display: flex;
}
.fh-site-end a {
  text-decoration-line: none;
  color: var(--tok-theme-bg);
}
.fh-site-end p {
  margin: 0px;
}
.fh-site-end p {
  text-align: center;
  opacity: .75;
  font-size: .85rem;
}
.fh-feature-intro .fh-column-frame {
  width: min(1100px, calc(100% - 40px));
}
.fh-promo-frame .fh-sponsor-unit {
  margin: 0 auto 0 auto;
  max-width: 1212px;
}
.fh-promo-frame .fh-sponsor-image {
  height: auto;
}
.fh-site-story .fh-column-frame {
  display: grid;
  align-items: start;
}
.fh-site-story .fh-column-frame {
  gap: 22px;
  grid-template-columns: minmax(160px, .55fr) minmax(0, 1.45fr);
}
.fh-site-story h2 {
  margin: 0;
}
.fh-site-story .fh-editorial-text :first-child {
  margin-top: 0;
}
.fh-feature-intro .fh-next-step-links .fh-tap-target {
  color: #111111;
  background: var(--tok-theme-main);
}
.fh-site-end .fh-wordmark-block {
  color: var(--tok-theme-bg);
}
.fh-site-end .fh-wordmark-block svg {
  fill: var(--tok-theme-bg);
}
.fh-back-to-top {
  font-size: 1.1em;
  bottom: 28px;
  opacity: 0;
  background: var(--tok-theme-main);
  width: 40px;
  height: 47px;
  visibility: hidden;
  border: 0;
  position: fixed;
  right: 23px;
  z-index: 43;
  color: #111111;
  cursor: pointer;
  transition: opacity .2s;
  border-radius: 4px;
}
.fh-back-to-top[data-show] {
  visibility: visible;
  opacity: 1;
}
.fh-nf {
  padding: var(--tok-size-16) 0 37px;
}
.fh-shell {
  padding-right: var(--tok-size-20);
  padding-left: 22px;
}
@media screen and (width <= 855px) {
.fh-two-col {
  grid-template-columns: minmax(0,1fr);
}
}
@media screen and (width <= 855px) {
.fh-colophon-row {
  grid-template-columns: minmax(0,1fr);
}
}
@media screen and (width <= 662px) {
.fh-colophon-row nav {
  display: flex;
  flex-wrap: wrap;
}
}
@media screen and (width <= 855px) {
.fh-aside {
  position: static;
}
}
@media screen and (width <= 770px) {
.fh-burger {
  align-self: center;
  display: flex;
}
}
@media screen and (width <= 770px) {
.fh-links {
  width: 100%;
  display: none;
  flex-direction: column;
  border-top: 3px solid var(--tok-theme-fg);
}
}
@media screen and (width <= 770px) {
.fh-links a {
  padding-bottom: var(--tok-size-12);
  border-left: 0;
  padding-top: var(--tok-size-12);
}
}
@media screen and (width <= 770px) {
[data-expanded] .fh-links {
  display: flex;
}
}
@media screen and (width <= 662px) {
.fh-lead h1 {
  font-size: 1.55rem;
  line-height: 1.05;
}
}
@media screen and (width <= 662px) {
.fh-logo {
  font-size: 1.7rem;
}
}
@media screen and (width <= 662px) {
.fh-title-block h1 {
  font-size: 1.55rem;
}
}
@media screen and (width <= 891px) {
html {
  overflow-x: clip!important;
}
}
@media screen and (width <= 891px) {
.fh-cover-image {
  margin-right: 0!important;
  margin-top: 0!important;
  width: auto!important;
  margin-left: 0!important;
  max-width: 100%!important;
  margin-bottom: 23px!important;
}
}
@media screen and (width <= 891px) {
[data-cmp="fh-longform"] table {
  margin-bottom: 21px!important;
}
}
@media screen and (width <= 891px) {
.fh-scroll-x table {
  margin-bottom: 21px!important;
}
}
@media screen and (width <= 891px) {
.fh-scroll-x table {
  max-width: 100%!important;
  overflow-x: auto;
  width: auto!important;
  min-width: 0!important;
  display: block;
  margin-top: 21px!important;
}
}
@media screen and (width <= 891px) {
[data-cmp="fh-longform"] table {
  margin-top: 21px!important;
  display: block;
  overflow-x: auto;
  min-width: 0!important;
  width: auto!important;
  max-width: 100%!important;
}
}
@media screen and (width <= 891px) {
[data-cmp="fh-longform"] th {
  min-width: 8rem;
  overflow-wrap: break-word;
}
}
@media screen and (width <= 891px) {
[data-cmp="fh-longform"] td {
  overflow-wrap: break-word;
  min-width: 8rem;
}
}
@media screen and (width <= 891px) {
.fh-scroll-x th {
  overflow-wrap: break-word;
  min-width: 8rem;
}
}
@media screen and (width <= 891px) {
.fh-scroll-x td {
  overflow-wrap: break-word;
  min-width: 8rem;
}
}
@media screen and (width <= 548px) {
.fh-sponsor-content.fh-sponsor-side {
  flex-direction: column;
}
}
@media screen and (width <= 548px) {
.fh-sponsor-link {
  flex-basis: auto;
}
}
@media (prefers-contrast:more) {
a {
  text-decoration: underline;
}
}
@media (prefers-contrast:more) {
img {
  filter: contrast(1.1);
}
}
@media (prefers-reduced-motion:reduce) {
* {
  transition-duration: .01ms;
  animation-iteration-count: 1;
  animation-duration: .01ms;
  scroll-behavior: auto;
}
}
@media screen and (width <= 573px) {
.fh-about-author {
  flex-direction: column;
}
}
@media screen and (width <= 573px) {
.fh-promo-frame .fh-sponsor-unit {
  padding: 9px 9px;
}
}
@media screen and (width <= 770px) {
.fh-site-story .fh-column-frame {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--tok-size-12);
}
}
@media screen and (width <= 662px) {
.fh-feature-intro {
  padding: var(--tok-size-56) 0 59px;
}
}
@media screen and (width <= 662px) {
.fh-feature-intro {
  width: calc(100% - 30px);
  box-shadow: 4px 4px 0 var(--tok-theme-fg);
  margin: var(--tok-size-14) auto;
}
}
@media screen and (width <= 662px) {
.fh-topic-block {
  padding: var(--tok-size-40) 0;
}
}
@media screen and (width <= 473px) {
.fh-column-frame {
  width: calc(100% - 30px);
}
}
@media screen and (width <= 473px) {
.fh-page-top .fh-column-frame {
  min-height: 64px;
  gap: var(--tok-size-8);
}
}
@media screen and (width <= 473px) {
.fh-navigation-bar a {
  padding: var(--tok-size-8) var(--tok-size-10);
}
}
@media screen and (width <= 473px) {
.fh-entry-details {
  padding: var(--tok-size-18);
}
}
