@font-face {
      font-family: 'Proxima Nova A';
      font-weight: 700;
      font-display: swap;
      src: url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/proxima-nova/proxima-nova-700.woff2) format('woff2'),
           url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/proxima-nova/proxima-nova-700.ttf) format('truetype');
    }
    @font-face {
      font-family: 'Proxima Nova A';
      font-weight: 800;
      font-display: swap;
      src: url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/proxima-nova/proxima-nova-800.woff2) format('woff2'),
           url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/proxima-nova/proxima-nova-800.ttf) format('truetype');
    }
    @font-face {
      font-family: 'Inter';
      font-weight: 400;
      font-display: swap;
      src: url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/inter/inter-400.woff2) format('woff2'),
           url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/inter/inter-400.ttf) format('truetype');
    }
    @font-face {
      font-family: 'Inter';
      font-weight: 600;
      font-display: swap;
      src: url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/inter/inter-600.woff2) format('woff2'),
           url(https://http2.mlstatic.com/ui/webfonts/v5.0.0/inter/inter-600.ttf) format('truetype');
    }
    @font-face {
      font-family: 'Inter';
      font-weight: 700;
      font-display: swap;
      src: url(https://http2.mlstatic.com/frontend-assets/fuji-fintech-ui-web/fonts/Inter-Bold.woff2) format('woff2');
    }

    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html, body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
    html body { background-color: #f5f5f5; font-family: 'Inter', -apple-system, sans-serif; }

    .page {
      display: flex;
      flex-direction: column;
      width: 100%;
      margin: 0 auto;
      gap: 8px;
      padding: 8px;
    }

:root {
  --landing-grid-columns: 12;
  --landing-grid-gap: 8px;
  --landing-grid-edge: 40px;
}

@media (min-width: 768px) {
  .landing-grid {
    display: grid;
    grid-template-columns: repeat(var(--landing-grid-columns), minmax(0, 1fr));
    column-gap: var(--landing-grid-gap);
    width: calc(100% - (var(--landing-grid-edge) * 2));
    margin-inline: auto;
    box-sizing: border-box;
  }

  .landing-grid--contained {
    width: 100%;
  }

  .landing-grid-composition {
    display: grid;
    grid-template-columns: repeat(var(--landing-grid-columns), minmax(0, 1fr));
    column-gap: var(--landing-grid-gap);
  }
}

.load-error { padding: 24px; font: 600 16px/1.4 Inter, sans-serif; color: #b42318; }
