      /* =========================
         RESET
      ========================= */

      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        position: relative;
        min-height: 100vh;
        isolation: isolate;

        font-family:
          Inter,
          -apple-system,
          BlinkMacSystemFont,
          "Segoe UI",
          sans-serif;

        color: var(--theme-text);

        background:
          radial-gradient(circle at calc(10% + var(--world-x-percent, 0%)) calc(10% + var(--world-y-percent, 0%)), var(--theme-glow), transparent 28%),
          radial-gradient(circle at calc(90% - var(--world-x-percent, 0%)) calc(85% - var(--world-y-percent, 0%)), var(--theme-accent-subtle), transparent 30%),
          var(--theme-bg);
      }

      body::before,
      body::after {
        position: fixed;
        inset: 0;
        pointer-events: none;
        content: "";
      }

      body::before {
        z-index: -1;
        opacity: .48;
        background-image: linear-gradient(var(--theme-grid) 1px, transparent 1px), linear-gradient(90deg, var(--theme-grid) 1px, transparent 1px);
        background-size: 78px 78px;
        mask-image: linear-gradient(to bottom, black, transparent 78%);
        transform: translate3d(var(--world-x-px, 0px), var(--scroll-grid-y, 0px), 0);
      }

      body::after {
        z-index: -1;
        background: radial-gradient(circle 240px at var(--pointer-x, 50vw) var(--pointer-y, 50vh), color-mix(in srgb, var(--theme-accent-soft) 13%, transparent), transparent 72%);
        mix-blend-mode: multiply;
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      /* =========================
         PAGE
      ========================= */

      .contact-page {
        width: min(1150px, 92%);
        margin: 0 auto;
        padding: 90px 0 110px;
      }

      /* =========================
         HEADER
      ========================= */

      .contact-header {
        max-width: 720px;
        margin: 0 auto 58px;
        text-align: center;
      }

      .contact-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;

        padding: 8px 14px;
        margin-bottom: 20px;

        border: 1px solid var(--theme-glow);
        border-radius: 999px;

        background: var(--theme-surface);
        backdrop-filter: blur(15px);

        color: var(--theme-accent);

        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.2px;

        box-shadow:
          0 8px 25px var(--theme-glow);
      }

      .contact-badge i {
        font-size: 11px;
      }

      .contact-header h1 {
        margin-bottom: 18px;

        color: var(--theme-text);

        font-size: clamp(45px, 7vw, 76px);
        font-weight: 800;
        line-height: 0.98;
        letter-spacing: -4px;
      }

      .contact-header h1 span {
        color: var(--theme-accent);
      }

      .contact-header p {
        max-width: 620px;
        margin: 0 auto;

        color: var(--theme-muted);

        font-size: 16px;
        line-height: 1.75;
      }

      /* =========================
         CONTACT GRID
      ========================= */

      .contact-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
      }

      /* =========================
         CONTACT CARD
      ========================= */

      .contact-card {
        position: relative;
        min-height: 155px;

        display: flex;
        align-items: center;

        overflow: hidden;

        padding: 26px;

        border: 1px solid var(--theme-border);
        border-radius: 26px;

        background:
          linear-gradient(
            135deg,
            var(--theme-surface-strong),
            var(--theme-surface-muted)
          );

        backdrop-filter: blur(22px);

        box-shadow: var(--theme-shadow);

        transition:
          transform 0.3s ease,
          border-color 0.3s ease,
          box-shadow 0.3s ease;
      }

      /* Background glow */

      .contact-card::before {
        content: "";

        position: absolute;

        width: 220px;
        height: 220px;

        top: -130px;
        right: -120px;

        border-radius: 50%;

        background: var(--theme-accent-faint);

        filter: blur(18px);

        transition:
          transform 0.5s ease,
          opacity 0.4s ease;
      }

      .contact-card:hover::before {
        transform: scale(2);
        opacity: 1.4;
      }

      /* Hover */

      .contact-card:hover {
        transform: translateY(-7px);

        border-color: var(--theme-glow);

        box-shadow:
          0 22px 55px var(--theme-glow);
      }

      /* =========================
         ICON
      ========================= */

      .contact-icon {
        position: relative;
        z-index: 2;

        width: 74px;
        height: 74px;

        flex: 0 0 74px;

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

        margin-right: 21px;

        border: 1px solid var(--theme-glow);
        border-radius: 21px;

        background: var(--theme-accent-faint);

        color: var(--theme-accent);

        font-size: 31px;

        transition:
          transform 0.3s ease,
          background 0.3s ease,
          color 0.3s ease,
          box-shadow 0.3s ease;
      }

      .contact-card:hover .contact-icon {
        transform: scale(1.08) rotate(-3deg);

        background: var(--theme-accent);
        color: var(--theme-accent-contrast);

        box-shadow:
          0 12px 30px var(--theme-glow);
      }

      /* =========================
         CONTENT
      ========================= */

      .contact-content {
        position: relative;
        z-index: 2;

        min-width: 0;
      }

      .contact-content span {
        display: block;

        margin-bottom: 6px;

        color: var(--theme-muted);

        font-size: 10px;
        font-weight: 800;
        letter-spacing: 1.3px;
      }

      .contact-content h3 {
        margin-bottom: 5px;

        color: var(--theme-text);

        font-size: 22px;
        font-weight: 750;
      }

      .contact-content p {
        margin: 0;

        overflow: hidden;

        color: var(--theme-muted);

        font-size: 13px;

        white-space: nowrap;
        text-overflow: ellipsis;
      }

      /* =========================
         ARROW
      ========================= */

      .contact-arrow {
        position: relative;
        z-index: 2;

        width: 40px;
        height: 40px;

        flex: 0 0 40px;

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

        margin-left: auto;

        border-radius: 13px;

        background: var(--theme-surface-muted);

        color: var(--theme-muted);

        font-size: 13px;

        transition:
          transform 0.3s ease,
          background 0.3s ease,
          color 0.3s ease;
      }

      .contact-card:hover .contact-arrow {
        transform: translate(3px, -3px);

        background: var(--theme-accent);
        color: var(--theme-accent-contrast);
      }

      /* =========================
         FOOTER TEXT
      ========================= */

      .contact-footer {
        margin-top: 45px;

        text-align: center;

        color: var(--theme-muted);

        font-size: 12px;
      }

      .contact-footer i {
        margin-right: 5px;

        color: var(--theme-accent);
      }

      /* =========================
         TABLET
      ========================= */

      @media (max-width: 800px) {
        .contact-page {
          padding: 70px 0 90px;
        }

        .contact-grid {
          grid-template-columns: 1fr;
        }

        .contact-header {
          margin-bottom: 42px;
        }
      }

      /* =========================
         MOBILE
      ========================= */

      @media (max-width: 520px) {
        .contact-page {
          width: 94%;
          padding: 55px 0 75px;
        }

        .contact-header {
          margin-bottom: 35px;
        }

        .contact-header h1 {
          font-size: clamp(42px, 14vw, 58px);
          letter-spacing: -2.5px;
        }

        .contact-header p {
          font-size: 14px;
          line-height: 1.65;
        }

        .contact-card {
          min-height: 125px;
          padding: 18px;

          border-radius: 21px;
        }

        .contact-icon {
          width: 60px;
          height: 60px;

          flex-basis: 60px;

          margin-right: 15px;

          border-radius: 17px;

          font-size: 25px;
        }

        .contact-content h3 {
          font-size: 18px;
        }

        .contact-content p {
          font-size: 12px;
        }

        .contact-arrow {
          width: 34px;
          height: 34px;

          flex-basis: 34px;

          border-radius: 10px;

          font-size: 11px;
        }
      }

      /* =========================
         SMALL MOBILE
      ========================= */

      @media (max-width: 370px) {
        .contact-card {
          padding: 15px;
        }

        .contact-icon {
          width: 52px;
          height: 52px;

          flex-basis: 52px;

          margin-right: 12px;

          border-radius: 15px;

          font-size: 22px;
        }

        .contact-content h3 {
          font-size: 16px;
        }

        .contact-content p {
          font-size: 11px;
        }

        .contact-arrow {
          display: none;
        }
      }

      /* =========================
         REDUCED MOTION
      ========================= */

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

      @media (hover: hover) and (pointer: fine) {
        .depth-entrance {
          opacity: 0;
          transform: translate3d(0, 22px, 0) scale(.98);
          transition: opacity .65s ease, transform .65s cubic-bezier(.22, .61, .36, 1);
        }

        .depth-entrance.depth-visible {
          opacity: 1;
          transform: translate3d(0, 0, 0) scale(1);
        }

        .contact-card {
          --tilt-x: 0deg;
          --tilt-y: 0deg;
          --glow-x: 50%;
          --glow-y: 50%;
          transform: translate3d(0, 0, 0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
          transform-style: preserve-3d;
          will-change: transform;
        }

        .contact-card:hover {
          transform: translate3d(0, -7px, 0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
        }

        .contact-card::before {
          left: var(--glow-x, auto);
          top: var(--glow-y, auto);
          transform: translate(-50%, -50%);
        }

        .contact-content,
        .contact-icon,
        .contact-arrow {
          transform: translateZ(12px);
        }

        .contact-icon,
        .contact-arrow {
          transition: transform .3s ease, background .3s ease, color .3s ease;
        }
      }

      .contact-card > * {
        position: relative;
        z-index: 1;
      }

      .contact-card::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: radial-gradient(circle at var(--glow-x, 50%) var(--glow-y, 50%), color-mix(in srgb, var(--theme-accent-soft) 16%, transparent), transparent 42%);
        opacity: 0;
        transition: opacity .35s ease;
      }

      .contact-card.interaction-active::after,
      .contact-card:hover::after {
        opacity: 1;
      }

      .contact-card .contact-arrow,
      .contact-card i.fa-arrow-up-right-from-square {
        transform: translate3d(var(--arrow-shift, 0px), 0, 0);
        transition: transform .35s cubic-bezier(.22, .61, .36, 1);
      }

      .depth-entrance.reveal-0 {
        transform: translate3d(0, 24px, 0) scale(.98);
      }

      .depth-entrance.reveal-1 {
        transform: translate3d(-24px, 14px, 0);
      }

      .depth-entrance.reveal-2 {
        transform: translate3d(24px, 14px, 0);
      }

      .depth-entrance.depth-visible {
        transform: translate3d(0, 0, 0) scale(1);
      }

      @media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
        body::before,
        body::after {
          transform: none;
          opacity: .2;
        }

        .depth-entrance {
          opacity: 1;
          transform: none;
        }

        .contact-card {
          transform: none;
          will-change: auto;
        }
      }
