.p-error {
  display: grid;
  justify-items: center;
  gap: var(--layout-section-padding-inner-large);
}
.p-error > .c-body-copy {
  grid-row: 1;
  inline-size: var(--ratio-full);
}

.p-error::before,
.p-error__action {
  inline-size: var(--ratio-full);
  max-inline-size: var(--layout-desktop-column-width);
}

.p-error__action {
  max-inline-size: var(--grid-mobile-width);
}
@media (min-width: 768px) {
  .p-error__action {
    max-inline-size: var(--layout-desktop-column-width);
  }
}

.p-error::before {
  content: "";
  grid-row: 2;
  aspect-ratio: 392/221;
  background: url("../images/error/notfound-mobile.png") no-repeat center/contain;
}
@media (min-width: 768px) {
  .p-error::before {
    background-image: url("../images/error/notfound.png");
  }
}

@media (max-width: 767px) {
  .p-error-page .l-footer__primary {
    padding-block-end: var(--space-24);
  }
}
.p-maintenance {
  display: grid;
  gap: var(--layout-section-padding-inner-large);
}

.p-maintenance__language {
  display: grid;
  gap: var(--layout-section-padding-inner-small);
}

.p-maintenance__language--chinese {
  gap: var(--space-0);
}
.p-maintenance__language--chinese > p:last-child {
  margin-block-start: var(--layout-section-padding-inner-small);
}
@media (min-width: 768px) {
  .p-maintenance__language--chinese > p:nth-child(2) {
    margin-block-start: var(--layout-section-padding-inner-small);
  }
  .p-maintenance__language--chinese > p:last-child {
    margin-block-start: var(--space-0);
  }
}

.p-maintenance-error {
  display: grid;
  gap: var(--space-16);
}
@media (min-width: 768px) {
  .p-maintenance-error {
    gap: var(--layout-section-padding-inner-small);
  }
}

.l-header[data-layout=minimal] .l-header__logo {
  padding-block-start: var(--space-4);
}
@media (max-width: 1023px) {
  .l-header[data-layout=minimal] .l-header__logo a {
    inline-size: calc(var(--space-100) + var(--space-4) - var(--space-1));
  }
}

.l-footer[data-layout=minimal] .l-footer__primary {
  display: block;
  padding-block: var(--space-32) var(--space-24);
}
@media (min-width: 768px) {
  .l-footer[data-layout=minimal] .l-footer__primary {
    padding-block: var(--space-48) var(--space-32);
  }
}
.l-footer[data-layout=minimal] .l-footer__copyright {
  max-inline-size: var(--grid-desktop-width);
  margin: var(--space-0) auto;
  text-align: center;
}
