* {
        box-sizing: border-box;
      }
      html,
      body {
        margin: 0;
        width: 100%;
        min-height: 100%;
        font-family: Arial, sans-serif;
        background: #fff;
        color: #092d59;
      }
      body {
        overflow-x: hidden;
      }
      main {
        height: 100vh;
        height: 100svh;
        min-height: 620px;
        display: grid;
        place-items: center;
        padding: 40px 5vw;
        overflow: hidden;
      }
      .hero {
        position: relative;
        width: min(1400px, 100%);
        display: grid;
        grid-template-columns: minmax(380px, 0.82fr) minmax(520px, 1.18fr);
        grid-template-areas: "copy photo";
        gap: clamp(48px, 8vw, 150px);
        align-items: center;
      }
      .hero__photo {
        grid-area: photo;
        width: 100%;
        height: min(56vh, 520px);
        min-height: 390px;
        object-fit: cover;
        border-radius: 12px;
        box-shadow: 0 10px 35px rgba(9, 45, 89, 0.1);
      }
      .hero__content {
        grid-area: copy;
        text-align: center;
      }
      .hero__content h1 {
        font-size: clamp(42px, 4vw, 62px);
        line-height: 1.02;
        margin: 0 auto 40px;
        letter-spacing: -0.035em;
      }
      .hero__content p {
        font-size: clamp(19px, 1.65vw, 27px);
        line-height: 1.4;
        color: #43628a;
        max-width: 580px;
        margin: 0 auto 26px;
      }
      .hero__content a {
        width: min(520px, 100%);
        min-height: 110px;
        margin: auto;
        border-radius: 14px;
        background: linear-gradient(135deg, #3e4af4, #2066d8);
        color: #fff;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: clamp(21px, 2vw, 30px);
        font-weight: 500;
        box-shadow: 0 14px 34px rgba(37, 74, 220, 0.24);
        animation: ctaBreath 1.8s ease-in-out infinite;
      }
      .hero__pointer {
        width: 190px;
        height: 108px;
        margin: 18px auto -105px;
        transform: translateX(34px);
      }
      .hero__pointer svg {
        display: block;
        width: 100%;
        height: 100%;
        overflow: visible;
        animation: pointerMove 1.5s ease-in-out infinite;
      }
      .hero__pointer path {
        stroke-width: 7;
      }
      .hero__pointer .swoosh {
        stroke-dasharray: 330;
        animation: pointerTrace 2.8s ease-in-out infinite;
      }
      .hero__pointer .tip {
        stroke-width: 8;
      }
      @keyframes ctaBreath {
        0%,
        100% {
          transform: scale(1);
          filter: brightness(1);
          box-shadow: 0 14px 34px rgba(37, 74, 220, 0.24);
        }
        50% {
          transform: scale(1.018);
          filter: brightness(1.1);
          box-shadow: 0 16px 44px rgba(37, 74, 220, 0.42);
        }
      }
      @keyframes pointerMove {
        0%,
        100% {
          transform: translateY(3px) rotate(-1deg);
        }
        50% {
          transform: translate(-5px, -5px) rotate(1deg);
        }
      }
      @keyframes pointerTrace {
        0%, 12% { stroke-dashoffset: 330; opacity: 0.25; }
        38%, 82% { stroke-dashoffset: 0; opacity: 1; }
        100% { stroke-dashoffset: 0; opacity: 0.25; }
      }
      @media (max-width: 980px) {
        main {
          height: auto;
          min-height: 100svh;
          padding: 18px 13px 30px;
          overflow: visible;
        }
        .hero {
          display: flex;
          flex-direction: column;
          gap: 0;
          width: min(720px, 100%);
        }
        .hero__photo {
          order: 1;
          width: 100%;
          height: 360px;
          min-height: 0;
          border-radius: 13px;
        }
        .hero__content {
          order: 2;
          padding-top: 27px;
          width: 100%;
        }
        .hero__content h1 {
          font-size: 38px;
          line-height: 1.12;
          margin-bottom: 19px;
        }
        .hero__content p {
          font-size: 20px;
          margin-bottom: 24px;
        }
        .hero__content a {
          min-height: 70px;
          font-size: 22px;
        }
        .hero__pointer {
          height: 76px;
          width: 125px;
          margin: 12px auto -6px;
          transform: translateX(20px) rotate(-8deg);
        }
      }
      @media (max-width: 390px) {
        .hero__photo {
          height: 310px;
        }
        .hero__content h1 {
          font-size: 32px;
        }
        .hero__content p {
          font-size: 18px;
        }
        .hero__content a {
          font-size: 20px;
        }
      }
