@layer sections {
      #footer {
        position: relative;
        padding: clamp(60px, 10vh, 110px) 0 0;
      }

      #footer .ft-inner {
        position: relative;
        z-index: 1;
        padding: 0 var(--space-1);
      }

      #footer .ft-top {
        position: relative;
        display: grid;
        grid-template-columns: calc(var(--space-3) - var(--space-1)) minmax(0, 1fr) auto;
        align-items: start;
        gap: 24px 0;
        border-top: 1px solid var(--color-2);
        padding-top: 22px;
      }

      #footer .ft-tag {
        padding-right: var(--space-4);
      }

      #footer .ft-links {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 22px;
        padding-left: var(--space-4);
      }

      #footer .ft-icons {
        display: flex;
        gap: 8px;
      }

      #footer .ft-word {
        display: flex;
        margin-top: clamp(48px, 10vh, 110px);
        font-size: min(34vw, (100vw - 2 * var(--space-1)) / (var(--len) * 0.45));
        line-height: 0.8;
        white-space: nowrap;
      }

      #footer .ft-a,
      #footer .ft-b {
        display: inline-block;
      }

      #footer .ft-bottom {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 6px 20px;
        padding: 16px 0 20px;
      }

      #footer .ghost {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 0;
        display: flex;
        justify-content: space-between;
        padding: 0 var(--space-1) 14px;
        color: var(--color-5);
        font-size: clamp(44px, 6.25vw, 112px);
        pointer-events: none;
        overflow: hidden;
      }

      #footer .ghost span {
        display: inline-block;
        line-height: 0.82;
      }

      @media (max-width: 700px) {
        #footer .ft-top {
          grid-template-columns: 1fr auto;
        }

        #footer .ft-links {
          grid-column: 1 / -1;
          grid-row: 2;
          padding-left: 0;
        }
      }
    }
