  :root {
    --bg: #ffffff;
    --text-primary: #101c33;
    --text-secondary: #5d718e;
    --line: #dce5ef;
    --accent: #2d8bdc;
  }

  * {
    box-sizing: border-box;
  }

  html,
  body {
    margin: 0;
    padding: 0;
    min-height: 100%;
  }

  body {
    background: var(--bg);
    color: var(--text-primary);
    font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont,
      "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
  }

  .page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  /* --------------------------------
     MAIN HERO
  -------------------------------- */

  main {
    position: relative;
    flex: 1;
    min-height: calc(100vh - 260px);

    display: flex;
    align-items: center;

    padding: 70px 7.8vw;

    overflow: hidden;
  }

  .content {
    position: relative;
    z-index: 3;

    width: 52%;
    max-width: 700px;
  }

  /* --------------------------------
     BRAND
  -------------------------------- */

  .mark {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 105px;
  }

  .mark-glyph {
    width: 20px;
    height: 20px;

    border-radius: 50%;

    background: #4c9ee3;

    flex: none;
  }

  .mark h1 {
    margin: 0;

    font-size: 26px;
    line-height: 1;

    font-weight: 500;
    letter-spacing: -0.02em;
  }

  /* --------------------------------
     HERO COPY
  -------------------------------- */

  .eyebrow {
    margin-bottom: 24px;

    color: #167bc8;

    font-size: 13px;
    font-weight: 500;

    letter-spacing: 0.20em;

    text-transform: uppercase;
  }

  .headline {
    margin: 0 0 34px;

    max-width: 680px;

    font-size: clamp(38px, 4.4vw, 62px);
    line-height: 1.08;

    font-weight: 500;

    letter-spacing: -0.035em;

    color: var(--text-primary);
  }

  .description {
    max-width: 570px;
  }

  p {
    margin: 0 0 24px;

    color: var(--text-secondary);

    font-size: 17px;
    line-height: 1.65;
  }

  p strong {
    color: var(--text-primary);
    font-weight: 500;
  }

  /* --------------------------------
     CAPABILITIES
  -------------------------------- */

  .areas {
    display: flex;
    flex-wrap: wrap;

    gap: 12px 32px;

    margin-top: 42px;
    padding-top: 25px;

    border-top: 1px solid var(--line);

    font-size: 14px;

    color: var(--text-primary);
  }

  .areas span {
    display: flex;
    align-items: center;

    white-space: nowrap;
  }

  .areas span::before {
    content: "";

    width: 20px;
    height: 1px;

    background: var(--accent);

    margin-right: 12px;
  }

  /* --------------------------------
     STATUS
  -------------------------------- */

  .status {
    margin-top: 42px;

    font-size: 12px;
    font-weight: 500;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    color: #7890ac;
  }

  /* --------------------------------
     SPACE VISUAL
  -------------------------------- */

  .space-visual {
    position: absolute;

    z-index: 1;

    top: 0;
    right: -40px;

    width: 58%;
    height: 100%;

    pointer-events: none;
  }

  .space-visual::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
      linear-gradient(
        90deg,
        #ffffff 0%,
        rgba(255,255,255,0.95) 10%,
        rgba(255,255,255,0) 43%
      );

    z-index: 2;
  }

  .space-visual img {
    position: absolute;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: left center;

    mix-blend-mode: multiply;

    opacity: 0.96;
  }

  /* --------------------------------
     FOOTER
  -------------------------------- */

  footer {
    position: relative;

    z-index: 5;

    border-top: 1px solid var(--line);

    padding: 55px 7.8vw 45px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 80px;

    font-size: 13px;

    color: var(--text-secondary);
  }

  .footer-left {
    max-width: 360px;
  }

  .footer-brand {
    display: flex;
    align-items: center;

    gap: 11px;

    color: var(--text-primary);

    font-size: 15px;
    font-weight: 500;
  }

  .footer-glyph {
    width: 12px;
    height: 12px;

    border-radius: 50%;

    background: #4c9ee3;

    flex: none;
  }

  .footer-copy {
    margin-top: 18px;

    max-width: 300px;

    line-height: 1.6;

    color: var(--text-secondary);
  }

  .footer-copyright {
    margin-top: 28px;

    font-size: 12px;

    color: #8a9bb0;
  }

  .footer-links {
    display: flex;

    gap: 90px;
  }

  .footer-column {
    display: flex;
    flex-direction: column;

    gap: 11px;

    min-width: 120px;
  }

  .footer-title {
    margin-bottom: 8px;

    color: var(--text-primary);

    font-size: 12px;
    font-weight: 500;

    letter-spacing: 0.12em;

    text-transform: uppercase;
  }

  .footer-column a {
    width: fit-content;

    color: var(--text-secondary);

    text-decoration: none;

    border-bottom: 1px solid transparent;

    transition:
      color 0.15s ease,
      border-color 0.15s ease;
  }

  .footer-column a:hover {
    color: #167bc8;

    border-color: #167bc8;
  }

  /* --------------------------------
     ACCESSIBILITY
  -------------------------------- */

  a:focus-visible {
    outline: 2px solid var(--accent);

    outline-offset: 4px;
  }

  /* --------------------------------
     TABLET
  -------------------------------- */

  @media (max-width: 1000px) {

    main {
      padding: 60px 7vw;
    }

    .content {
      width: 60%;
    }

    .mark {
      margin-bottom: 80px;
    }

    .space-visual {
      width: 62%;

      right: -100px;
    }

    .headline {
      font-size: clamp(38px, 5vw, 54px);
    }

    footer {
      gap: 50px;
    }

    .footer-links {
      gap: 50px;
    }

  }

  /* --------------------------------
     MOBILE
  -------------------------------- */

  @media (max-width: 700px) {

    main {
      min-height: auto;

      padding: 45px 7vw 60px;

      align-items: flex-start;
    }

    .content {
      width: 100%;

      max-width: none;
    }

    .mark {
      margin-bottom: 80px;
    }

    .mark h1 {
      font-size: 22px;
    }

    .mark-glyph {
      width: 16px;
      height: 16px;
    }

    .eyebrow {
      font-size: 11px;

      letter-spacing: 0.16em;
    }

    .headline {
      max-width: 600px;

      font-size: 40px;

      line-height: 1.08;

      margin-bottom: 28px;
    }

    p {
      font-size: 16px;
    }

    .space-visual {
      position: absolute;

      top: auto;

      right: -45%;

      bottom: -40px;

      width: 105%;
      height: 430px;

      opacity: 0.65;
    }

    .space-visual::before {
      background:
        linear-gradient(
          180deg,
          #ffffff 0%,
          rgba(255,255,255,0.8) 25%,
          rgba(255,255,255,0) 65%
        );
    }

    .areas {
      position: relative;

      z-index: 4;

      max-width: 400px;

      gap: 14px 24px;
    }

    .status {
      position: relative;

      z-index: 4;
    }

    /* FOOTER */

    footer {
      padding: 40px 7vw;

      flex-direction: column;

      gap: 38px;
    }

    .footer-left {
      max-width: 100%;
    }

    .footer-links {
      width: 100%;

      display: grid;

      grid-template-columns: repeat(2, 1fr);

      gap: 35px 30px;
    }

  }

  /* --------------------------------
     SMALL MOBILE
  -------------------------------- */

  @media (max-width: 420px) {

    .headline {
      font-size: 34px;
    }

    .mark {
      margin-bottom: 65px;
    }

    .areas {
      flex-direction: column;

      gap: 12px;
    }

    .footer-links {
      grid-template-columns: 1fr 1fr;

      gap: 32px 20px;
    }

  }

  /* --------------------------------
     REDUCED MOTION
  -------------------------------- */

  @media (prefers-reduced-motion: reduce) {
    * {
      scroll-behavior: auto !important;
    }
  }

  /* --------------------------------
   NAVBAR
-------------------------------- */

.navbar {
    position: relative;
    z-index: 10;

    height: 78px;

    padding: 0 7.8vw;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid var(--line);

    background: #ffffff;
}

.navbar-logo {
    display: flex;
    align-items: center;

    gap: 11px;

    color: var(--text-primary);

    font-size: 15px;
    font-weight: 500;

    text-decoration: none;
}

.navbar-glyph {
    width: 13px;
    height: 13px;

    border-radius: 50%;

    background: #4c9ee3;

    flex: none;
}

.navbar-right {
    display: flex;
    align-items: center;

    gap: 25px;
}

.navbar-about {
    color: var(--text-secondary);

    font-size: 13px;

    text-decoration: none;
}

.navbar-about:hover {
    color: #167bc8;
}.language-dropdown {
    position: relative;
}

.language-btn {
    cursor: pointer;
    list-style: none;

    padding: 8px 0;

    border: none;
    background: transparent;

    color: var(--text-secondary);

    font-family: inherit;
    font-size: 13px;
}

.language-btn:hover {
    color: #167bc8;
}

/* Remove default arrow */
.language-btn::-webkit-details-marker {
    display: none;
}

/* Show dropdown when clicked */
.language-dropdown[open] .language-options {
    display: block;
}

.language-options {
    display: none;

    position: absolute;

    top: calc(100% + 8px);
    right: 0;

    min-width: 130px;

    background: #ffffff;

    border: 1px solid var(--line);
    border-radius: 6px;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);

    z-index: 9999;
}

.language-options a {
    display: block;

    padding: 10px 15px;

    color: var(--text-secondary);

    font-size: 13px;
    text-decoration: none;

    white-space: nowrap;
}

.language-options a:hover {
    color: #167bc8;
    background: #f5f8fb;
}
.active-language {
    background-color: #f1f3f5;
    font-weight: 600;
}
