.guia {
  overflow: clip;
}

.guia__inner {
  position: relative;
  display: flex;
  flex-direction: column;
}

.guia__intro,
.guia__outro {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.guia__title {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.75rem;
}

.guia__name {
  display: block;
  overflow: clip;
  padding-bottom: 0.12em;
  margin-bottom: -0.12em;
  font-size: clamp(3.25rem, 15vw, 6rem);
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.guia__name > span {
  display: inline-block;
}

.guia__tagline {
  font-size: clamp(1.625rem, 6.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.guia__tagline [data-word] {
  display: inline-block;
}

.guia__tagline .sheen {
  font-weight: 500;
}

.guia__lead {
  max-width: 32rem;
  margin-top: 1.5rem;
  color: var(--gray);
  font-size: clamp(1.0625rem, 1.25vw, 1.1875rem);
  line-height: 1.6;
}

.facts {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.75rem;
  width: 100%;
  margin-top: 2.5rem;
}

.fact {
  --fact-line: 1;
  position: relative;
  display: flex;
  flex: 1 1 50%;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 0 0.75rem 0 1rem;
}

.fact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.125rem;
  bottom: 0.125rem;
  display: none;
  width: 1px;
  background: var(--white-a16);
  transform: scaleY(var(--fact-line));
}

.fact:nth-child(odd) {
  padding-left: 0;
}

.fact:nth-child(even)::before {
  display: block;
}

.fact__icon {
  flex: none;
  width: 1.75rem;
  height: 1.75rem;
  fill: none;
  stroke: var(--magenta);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fact__text {
  display: flex;
  flex-direction: column;
  color: var(--white);
  font-size: 0.9375rem;
  line-height: 1.3;
}

.fact__number {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.guia__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.875rem;
  width: 100%;
  margin-top: 2.5rem;
}

.guia__download {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.625rem;
}

.magnet {
  display: flex;
}

.magnet > .button {
  flex: 1 1 auto;
}

.guia__file {
  color: var(--gray);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
}

.download {
  min-width: 15.5rem;
}

.download__state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  transition:
    transform 500ms var(--ease-out) 380ms,
    opacity 300ms ease 380ms;
}

.download__state--done {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(100%);
}

.download.is-done .download__state {
  opacity: 0;
  transform: translateY(-100%);
}

.download.is-done .download__state--done {
  opacity: 1;
  transform: none;
}

.download:not(.is-done) .download__state {
  transition-delay: 0ms;
}

.download__icon {
  flex: none;
  width: 1.25rem;
  height: 1.25rem;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.download__arrow {
  transition:
    transform 420ms var(--ease-in-out),
    opacity 200ms ease 220ms;
}

.download.is-done .download__arrow {
  opacity: 0;
  transform: translateY(5px);
}

.download:not(.is-done) .download__arrow {
  transition-delay: 0ms, 0ms;
}

.guia__visual {
  position: relative;
  margin: 2.5rem calc(var(--margin) * -1) 0;
  container-type: inline-size;
}

.shelf {
  --book-w: 77em;
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.68;
  font-size: 3.6px;
  font-size: 1cqw;
}

.shelf__halo {
  position: absolute;
  left: 4%;
  right: 4%;
  top: 22%;
  bottom: 6%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgb(248 0 88 / 0.34), rgb(248 0 88 / 0.1) 55%, rgb(248 0 88 / 0));
}

.shelf__orbit {
  position: absolute;
  left: -2%;
  top: 50%;
  width: 104%;
  height: auto;
  max-width: none;
  margin-top: -52%;
  overflow: visible;
  pointer-events: none;
}

.shelf__dashes {
  fill: none;
  stroke: rgb(248 0 88 / 0.5);
  stroke-width: 1.4;
  stroke-dasharray: 6 9;
}

.shelf__orbit-reveal {
  fill: none;
  stroke: #fff;
  stroke-width: 12;
}

.shelf__beam {
  fill: none;
  stroke: url(#shelf-beam);
  stroke-width: 1.2;
}

.shelf__beam--faint {
  opacity: 0.6;
}

.book-stage {
  --book-h: calc(var(--book-w) * 1.4144);
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: var(--book-w);
  height: var(--book-h);
  margin: calc(var(--book-h) / -2) 0 0 calc(var(--book-w) / -2);
  perspective: 190em;
}

.book-stage__floor {
  position: absolute;
  left: -34%;
  right: -34%;
  bottom: -15%;
  height: 26%;
  border-radius: 50%;
  background:
    radial-gradient(closest-side, rgb(8 8 8 / 0.92) 25%, rgb(8 8 8 / 0)),
    radial-gradient(closest-side, rgb(248 0 88 / 0.42), rgb(248 0 88 / 0.12) 60%, rgb(248 0 88 / 0));
}

.book-tilt,
.book,
.book__float {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}

.book {
  --t: 2.6em;
  transform: rotateY(-23deg) rotateX(4deg);
}

.book__cover,
.book__face {
  position: absolute;
  backface-visibility: hidden;
}

.book__cover {
  inset: 0;
  overflow: hidden;
  border-radius: 0.3em 0.7em 0.7em 0.3em;
  background: var(--black);
  box-shadow:
    inset 0 0 0 1px rgb(245 245 245 / 0.1),
    0 3em 5em -2.5em rgb(248 0 88 / 0.4);
  transform: translateZ(calc(var(--t) / 2));
  -webkit-box-reflect: below 0.8em linear-gradient(rgb(8 8 8 / 0) 76%, rgb(8 8 8 / 0.14));
}

.book__cover picture,
.book__cover img {
  display: block;
  width: 100%;
  height: 100%;
}

.book__cover img {
  object-fit: cover;
}

.book__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(245 245 245 / 0.16), rgb(245 245 245 / 0) 2.5%, rgb(8 8 8 / 0.35) 3.2%, rgb(8 8 8 / 0) 7%);
  pointer-events: none;
}

.book__glare {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  width: 300%;
  background: linear-gradient(110deg, rgb(245 245 245 / 0) 44%, rgb(245 245 245 / 0.13) 50%, rgb(245 245 245 / 0) 56%);
  transform: translateX(-12%);
  pointer-events: none;
}

.book__face--back {
  inset: 0;
  border-radius: 0.7em 0.3em 0.3em 0.7em;
  background: var(--black-2);
  transform: rotateY(180deg) translateZ(calc(var(--t) / 2));
}

.book__face--spine,
.book__face--pages {
  top: 0.3em;
  bottom: 0.3em;
  left: calc(50% - var(--t) / 2);
  width: var(--t);
}

.book__face--spine {
  top: 0;
  bottom: 0;
  border-radius: 0.3em;
  background: linear-gradient(90deg, var(--black), var(--black-2) 45%, var(--black));
  box-shadow: inset 0 0 0 1px rgb(245 245 245 / 0.22);
  transform: rotateY(-90deg) translateZ(calc(var(--book-w) / 2));
}

.book__face--pages {
  background:
    linear-gradient(90deg, rgb(8 8 8 / 0.5), rgb(8 8 8 / 0) 30%, rgb(8 8 8 / 0) 70%, rgb(8 8 8 / 0.5)),
    repeating-linear-gradient(90deg, rgb(245 245 245 / 0.92) 0 0.14em, rgb(161 161 170 / 0.75) 0.14em 0.28em);
  transform: rotateY(90deg) translateZ(calc(var(--book-w) / 2 - 0.35em));
}

.book__face--top {
  left: 0.3em;
  right: 0.35em;
  top: calc(50% - var(--t) / 2);
  height: var(--t);
  background: repeating-linear-gradient(180deg, rgb(245 245 245 / 0.85) 0 0.14em, rgb(161 161 170 / 0.7) 0.14em 0.28em);
  transform: rotateX(-90deg) translateZ(calc(var(--book-h) / 2 - 0.3em));
}

.sample {
  position: absolute;
  z-index: 3;
  width: 13.25em;
  font-size: clamp(0.6875rem, 0.6rem + 0.32vw, 0.875rem);
}

.sample--behind {
  z-index: 1;
}

.sample__float {
  position: relative;
}

.sample__body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 7.6em;
  padding: 1em 1.15em 1.1em;
  border-radius: 1.1em;
  background:
    linear-gradient(150deg, rgb(245 245 245 / 0.1), rgb(245 245 245 / 0.02) 60%),
    rgb(13 13 13 / 0.52);
  box-shadow:
    inset 0 1px 0 rgb(245 245 245 / 0.16),
    inset 0 0 0 1px rgb(245 245 245 / 0.1),
    0 1.6em 3em -1em rgb(8 8 8 / 0.9);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  backdrop-filter: blur(14px) saturate(130%);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .sample__body {
    background:
      linear-gradient(150deg, rgb(245 245 245 / 0.1), rgb(245 245 245 / 0.02) 60%),
      rgb(13 13 13 / 0.92);
  }
}

.sample__tag {
  color: var(--gray);
  font-family: var(--font-mono);
  font-size: 0.72em;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sample__key {
  margin-top: 0.75em;
  color: var(--white);
  font-size: 0.95em;
  line-height: 1.25;
}

.sample__value {
  margin-top: 0.2em;
  color: var(--white);
  font-size: 1.75em;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.sample__meta {
  margin-top: 0.3em;
  color: var(--gray);
  font-size: 0.85em;
}

.sample__chart {
  position: absolute;
  right: 1.15em;
  bottom: 1.2em;
  width: 3.8em;
  height: 1.9em;
  overflow: visible;
}

.sample__chart rect {
  fill: var(--magenta);
}

.sample__chart path {
  fill: none;
  stroke: var(--magenta);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sample__chart circle {
  fill: var(--magenta);
}

.sample__brands {
  display: flex;
  gap: 0.7em;
  margin-top: 0.75em;
}

.sample__brands svg {
  width: 1.7em;
  height: 1.7em;
  fill: none;
  stroke: var(--white);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sample__brands svg:first-child {
  stroke: var(--magenta);
}

.sample__list {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  margin-top: 0.8em;
  color: var(--gray);
  font-size: 0.92em;
  line-height: 1.35;
}

.sample__arrow {
  position: absolute;
  right: 1.15em;
  bottom: 1.1em;
  width: 1.3em;
  height: 1.3em;
  fill: none;
  stroke: var(--white);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sample--reach {
  left: 3%;
  top: 0.5%;
}

.sample--cost {
  right: 3%;
  bottom: 0.5%;
}

.sample--clicks,
.sample--channels {
  display: none;
}

.guia--page {
  padding-top: calc(var(--header-h) + clamp(2.5rem, 6vw, 5rem));
}

.guia__title--page .guia__name {
  font-size: clamp(3.5rem, 16vw, 6rem);
}

.topics__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem 4rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.topics__heading {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.topics__intro {
  max-width: 28rem;
  color: var(--gray);
  font-size: clamp(1.0625rem, 1.25vw, 1.25rem);
  line-height: 1.55;
}

.topics__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.topic {
  display: flex;
  flex: 1 1 100%;
  flex-direction: column;
  padding: 1.75rem 1.5rem 1.5rem;
  border-radius: 1.25rem;
  background: var(--black-2);
  box-shadow: inset 0 0 0 1px var(--white-a10);
}

.topic__title {
  display: flex;
  align-items: baseline;
  gap: 0.875rem;
  font-size: clamp(1.5rem, 2vw, 1.875rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.topic__index {
  flex: none;
  color: var(--magenta);
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.topic__text {
  flex: 1 0 auto;
  margin-top: 0.625rem;
  color: var(--gray);
  font-size: 1rem;
  line-height: 1.55;
}

.topic__chapters {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  box-shadow: inset 0 1px 0 var(--white-a10);
}

.topic__chapter {
  display: flex;
  gap: 0.875rem;
  color: var(--white);
  font-size: 0.9375rem;
  line-height: 1.45;
}

.topic__chapter-index {
  flex: none;
  color: var(--gray);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  line-height: 1.65;
}

.topics__note {
  margin-top: 2rem;
  color: var(--gray);
  font-size: 1rem;
  line-height: 1.55;
}

.topics__note-key {
  margin-right: 0.875rem;
  color: var(--white);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .topic {
    flex-basis: calc(50% - 0.5rem);
  }
}

@media (min-width: 1024px) {
  .topic {
    flex-basis: calc((100% - 2rem) / 3);
  }
}

@media (min-width: 768px) and (max-width: 1023px), (min-width: 1280px) {
  .fact {
    flex: 1 1 0;
    padding: 0 0.75rem 0 1.125rem;
  }

  .fact:first-child {
    padding-left: 0;
  }

  .fact:nth-child(odd):not(:first-child) {
    padding-left: 1.125rem;
  }

  .fact + .fact::before {
    display: block;
  }
}

@media (min-width: 768px) {
  .guia__actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    width: auto;
  }

  .guia__actions .button {
    min-width: 14.5rem;
  }

  .guia__visual {
    width: min(100%, 44rem);
    margin: 3rem auto 0;
  }

  .shelf {
    --book-w: 44em;
    aspect-ratio: 1 / 0.9;
  }

  .sample {
    width: 13.5em;
  }

  .sample__chart {
    width: 4.4em;
    height: 2.2em;
  }

  .sample--clicks,
  .sample--channels {
    display: block;
  }

  .sample--reach {
    left: 0;
    top: 12%;
  }

  .sample--clicks {
    left: 3%;
    top: 52%;
  }

  .sample--cost {
    right: 0;
    bottom: auto;
    top: 22%;
  }

  .sample--channels {
    right: -1%;
    top: 58%;
  }
}

@media (min-width: 1024px) {
  .guia__inner {
    justify-content: center;
    min-height: clamp(36rem, 46vw, 42rem);
  }

  .guia__intro,
  .guia__outro {
    width: 45%;
  }

  .guia__name {
    font-size: clamp(3.5rem, 6.4vw, 6rem);
  }

  .guia__tagline {
    font-size: clamp(1.75rem, 2.6vw, 2.625rem);
  }

  .guia__visual {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    width: 55%;
    margin: 0;
  }

  .shelf {
    --book-w: 45em;
    aspect-ratio: 1 / 0.98;
  }

  .sample {
    width: 13em;
  }

  .sample--reach {
    left: 0;
    top: 10%;
  }

  .sample--clicks {
    left: 2%;
    top: 49%;
  }

  .sample--cost {
    right: 0;
    top: 20%;
  }

  .sample--channels {
    right: -1%;
    top: 56%;
  }
}

@media (min-width: 1280px) {
  .sample {
    width: 14em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .download__state,
  .download__arrow {
    transition: opacity 150ms ease;
  }

  .download__state--done,
  .download.is-done .download__state {
    transform: none;
  }
}
