@layer components {
  .front {
    position: relative;
    display: grid;
    gap: var(--gap-lg);
    padding-block: clamp(2.5rem, 2rem + 2vw, 4.5rem);
    overflow: clip
  }

  @media (min-width: 61.25rem) {
    .front {
      grid-template-columns: 1.05fr 0.95fr;
      align-items: center;
      min-height: calc(100vh - var(--header-h));
      padding-block: 0
    }
  }

  .front__body {
    position: relative;
    z-index: 1;
    padding-inline: 1.25rem
  }

  @media (min-width: 61.25rem) {
    .front__body {
      padding-inline-start: max(2rem, calc((100vw - var(--container)) / 2));
      padding-inline-end: clamp(2rem, 4vw, 4.5rem)
    }
  }

  .front__title {
    margin-block-end: 1.1rem
  }

  .front__lede {
    margin-block-end: var(--gap-md);
    font-size: 1.05rem
  }

  .front__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-block-end: var(--gap-lg)
  }

  .front__media {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-lg);
    overflow: hidden
  }

  @media (min-width: 61.25rem) {
    .front__media {
      aspect-ratio: auto;
      height: 100%;
      min-height: 32rem
    }
  }

  .front__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform
  }

  .front__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, hsl(216 10% 10% / 0.55), transparent 45%);
    pointer-events: none
  }

  .status-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-block-end: var(--gap-md);
    padding: 0.9rem;
    border: 1px solid var(--ceniza);
    border-radius: var(--radius-md);
    background-color: hsl(216 10% 10% / 0.6);
    font-family: var(--font-mono)
  }

  .status-bar__item {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 0.76rem;
    letter-spacing: 0.04em;
    color: var(--humo)
  }

  .status-bar__item::before {
    content: "[";
    color: var(--ceniza)
  }

  .status-bar__item::after {
    content: "]";
    color: var(--ceniza)
  }

  .status-bar__item strong {
    color: var(--lava);
    font-size: 0.92rem
  }

  .section {
    padding-block: var(--gap-xl)
  }

  .section--tight {
    padding-block: var(--gap-lg)
  }

  .section--raise {
    background-color: var(--carbon-raise);
    border-block: 1px solid hsl(218 9% 25% / 0.5)
  }

  .page-head {
    display: grid;
    gap: var(--gap-lg);
    padding-block: clamp(2.5rem, 2rem + 2vw, 4rem)
  }

  @media (min-width: 56rem) {
    .page-head {
      grid-template-columns: 1fr 0.8fr;
      align-items: center
    }
  }

  .page-head__media {
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-lg);
    overflow: hidden
  }

  .page-head__media img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }

  .center-card {
    max-width: 34rem;
    margin-inline: auto;
    padding: var(--gap-lg) var(--gap-md);
    text-align: center
  }

  .center-card .eyebrow {
    justify-content: center
  }

  .center-card__steps {
    display: grid;
    gap: 0.9rem;
    margin-block: var(--gap-md);
    text-align: start
  }

  .center-card__steps li {
    display: flex;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--ceniza);
    border-radius: var(--radius-md);
    background-color: var(--grafito);
    font-size: 0.92rem
  }

  .center-card__steps strong {
    flex-shrink: 0;
    color: var(--lava);
    font-family: var(--font-mono)
  }

  .error-code {
    font-family: var(--font-mono);
    font-size: clamp(3rem, 2.4rem + 3vw, 5.5rem);
    color: var(--lava);
    line-height: 1
  }
}
