.hero-contact {
      background:
        radial-gradient(circle at 84% 18%, rgba(var(--secondary-rgb), 0.14), transparent 18rem),
        radial-gradient(circle at 12% 82%, rgba(var(--cta-rgb), 0.14), transparent 24rem),
        linear-gradient(180deg, var(--primary-blue) 0%, #06186f 100%);
    }

    .hero-contact::before {
      top: 2rem;
      right: 8vw;
      width: 11.5rem;
      height: 2.9rem;
      border-radius: 999px;
      background: linear-gradient(
        90deg,
        rgba(var(--cta-rgb), 0.92) 0 18%,
        transparent 18% 34%,
        rgba(var(--secondary-rgb), 0.82) 34% 60%,
        transparent 60% 76%,
        rgba(var(--cta-rgb), 0.84) 76% 100%
      );
      opacity: 0.72;
    }

    .hero-contact::after {
      right: -3.5rem;
      bottom: -4rem;
      width: 18rem;
      height: 12rem;
      border-top-left-radius: 6rem;
      border-bottom-left-radius: 6rem;
      background: linear-gradient(135deg, rgba(var(--secondary-rgb), 0.1), rgba(var(--secondary-rgb), 0.02));
    }

    .hero-contact .hero-grid {
      gap: clamp(1.35rem, 3vw, 2.35rem);
      align-items: center;
    }

    .hero-contact .hero-copy {
      max-width: min(42rem, 100%);
    }

    .hero-contact .hero-copy h1 {
      max-width: 9.2ch;
      font-size: clamp(3rem, 6.1vw, 5rem);
      line-height: 0.92;
      text-wrap: balance;
    }

    .hero-contact .hero-intro {
      max-width: 36rem;
      font-size: clamp(1rem, 1.08vw, 1.08rem);
      line-height: 1.66;
    }

    .hero-contact .hero-visual-contact {
      display: block;
      position: relative;
      isolation: isolate;
    }

    .hero-contact .hero-visual-contact::before,
    .hero-contact .hero-visual-contact::after {
      content: "";
      position: absolute;
      pointer-events: none;
      z-index: 0;
    }

    .hero-contact .hero-visual-contact::before {
      top: 1.4rem;
      left: 1.25rem;
      width: 9rem;
      height: 1rem;
      border-radius: 999px;
      background: linear-gradient(
        90deg,
        rgba(var(--secondary-rgb), 0.08),
        rgba(var(--secondary-rgb), 0.56) 36%,
        rgba(var(--cta-rgb), 0.14) 62%,
        rgba(var(--secondary-rgb), 0.08)
      );
      opacity: 0.42;
      transform-origin: left center;
      animation: contact-signal-sweep 8.6s ease-in-out infinite;
    }

    .hero-contact .hero-visual-contact::after {
      right: 1rem;
      bottom: 1.4rem;
      width: 7rem;
      height: 7rem;
      border-radius: 50%;
      background:
        radial-gradient(circle, rgba(var(--secondary-rgb), 0.34), transparent 60%);
      filter: blur(4px);
      opacity: 0.42;
      animation: contact-signal-pulse 7.4s ease-in-out infinite;
    }

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

    .hero-contact-stage {
      position: relative;
      display: grid;
      gap: 1rem;
      min-height: clamp(18rem, 28vw, 22rem);
      padding: 1.35rem;
      overflow: hidden;
      border-color: rgba(var(--secondary-rgb), 0.34);
      border-radius: 1.5rem;
      background:
        radial-gradient(circle at 100% 0%, rgba(var(--primary-rgb), 0.08), transparent 34%),
        radial-gradient(circle at 12% 86%, rgba(var(--cta-rgb), 0.12), transparent 10rem),
        linear-gradient(180deg, rgba(var(--secondary-rgb), 0.99), rgba(var(--cta-rgb), 0.95));
      box-shadow: 0 1.4rem 3rem rgba(var(--primary-rgb), 0.16);
      isolation: isolate;
      transform-origin: center;
      animation: contact-stage-breathe 13.5s ease-in-out infinite;
    }

    .hero-contact-stage::before {
      content: "";
      position: absolute;
      inset: 1rem;
      border-radius: 1.2rem;
      background:
        repeating-linear-gradient(0deg, transparent 0 3.2rem, rgba(var(--primary-rgb), 0.03) 3.2rem 3.28rem),
        repeating-linear-gradient(90deg, transparent 0 3.2rem, rgba(var(--primary-rgb), 0.025) 3.2rem 3.28rem);
      opacity: 0.72;
      pointer-events: none;
      z-index: 0;
      animation: contact-grid-drift 16s linear infinite;
    }

    .hero-contact-stage::after {
      content: "";
      position: absolute;
      right: -4rem;
      bottom: -4.5rem;
      width: 16rem;
      height: 16rem;
      border-radius: 50%;
      background:
        radial-gradient(circle at 50% 50%, rgba(var(--secondary-rgb), 0.3), transparent 48%),
        radial-gradient(circle at 50% 50%, transparent 0 40%, rgba(var(--primary-rgb), 0.1) 40.5% 41.2%, transparent 41.7%),
        radial-gradient(circle at 50% 50%, transparent 0 58%, rgba(var(--primary-rgb), 0.08) 58.5% 59.2%, transparent 59.7%);
      opacity: 0.82;
      pointer-events: none;
      z-index: 0;
      animation: contact-orbit-bloom 10.8s ease-in-out infinite;
    }

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

    .hero-contact-stage-top {
      display: flex;
      justify-content: space-between;
      gap: 0.75rem;
      align-items: center;
      flex-wrap: wrap;
    }

    .hero-contact-stage-top::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -0.25rem;
      height: 1px;
      background: linear-gradient(
        90deg,
        rgba(var(--primary-rgb), 0),
        rgba(var(--primary-rgb), 0.18) 16%,
        rgba(var(--primary-rgb), 0.42) 48%,
        rgba(var(--primary-rgb), 0.18) 84%,
        rgba(var(--primary-rgb), 0)
      );
      opacity: 0.5;
      transform-origin: center;
      animation: contact-line-glide 9.2s ease-in-out infinite;
    }

    .hero-contact-stage .pill {
      min-height: 2rem;
      padding-inline: 0.92rem;
      background: linear-gradient(90deg, rgba(var(--primary-rgb), 0.86), rgba(82, 103, 198, 0.96));
      color: var(--text-inverse);
      box-shadow: 0 0.7rem 1.4rem rgba(var(--primary-rgb), 0.14);
      animation: contact-pill-glow 6.2s ease-in-out infinite;
    }

    .hero-contact-stage-kicker {
      color: rgba(var(--primary-rgb), 0.6);
      font-size: 0.74rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .hero-contact-stage-copy {
      display: grid;
      gap: 0.7rem;
      max-width: 29rem;
    }

    .hero-contact-stage-copy h3 {
      margin: 0;
      color: var(--primary-blue);
      font-size: clamp(1.5rem, 2vw, 2rem);
      line-height: 1.02;
      letter-spacing: -0.035em;
      max-width: 16ch;
    }

    .hero-contact-stage-copy p {
      margin: 0;
      max-width: 35ch;
      color: rgba(var(--primary-rgb), 0.9);
      font-size: 1rem;
      line-height: 1.58;
    }

    .hero-contact-stage-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.75rem;
      position: relative;
    }

    .hero-contact-stage-grid::before {
      content: "";
      position: absolute;
      left: 10%;
      right: 10%;
      top: 1.1rem;
      height: 1px;
      background: linear-gradient(
        90deg,
        rgba(var(--primary-rgb), 0.06),
        rgba(var(--primary-rgb), 0.2) 18%,
        rgba(var(--primary-rgb), 0.34) 50%,
        rgba(var(--primary-rgb), 0.2) 82%,
        rgba(var(--primary-rgb), 0.06)
      );
      opacity: 0.38;
      pointer-events: none;
    }

    .hero-contact-stage-grid::after {
      content: "";
      position: absolute;
      top: 0.74rem;
      left: 10%;
      width: 0.76rem;
      height: 0.76rem;
      border-radius: 50%;
      background: rgba(var(--secondary-rgb), 0.96);
      box-shadow:
        0 0 0 0.22rem rgba(var(--primary-rgb), 0.12),
        0 0 1.4rem rgba(var(--secondary-rgb), 0.42);
      pointer-events: none;
      animation: contact-signal-run 8.4s cubic-bezier(0.34, 0.12, 0.18, 1) infinite;
    }

    .hero-contact-stage-item {
      display: grid;
      gap: 0.4rem;
      min-height: 100%;
      padding: 0.82rem 0.88rem 0.9rem;
      border: 1px solid rgba(var(--primary-rgb), 0.1);
      border-radius: 1rem;
      background: rgba(var(--secondary-rgb), 0.62);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
      backdrop-filter: blur(10px);
      transform-origin: center;
    }

    .hero-contact-stage-step {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      min-height: 1.6rem;
      padding: 0 0.54rem;
      border-radius: 999px;
      background: rgba(var(--primary-rgb), 0.08);
      color: rgba(var(--primary-rgb), 0.68);
      font-size: 0.66rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .hero-contact-stage-item strong {
      color: var(--primary-blue);
      font-family: "Montserrat", sans-serif;
      font-size: 0.9rem;
      font-weight: 700;
      line-height: 1.08;
    }

    .hero-contact-stage-item p {
      margin: 0;
      color: rgba(var(--primary-rgb), 0.82);
      font-size: 0.86rem;
      font-weight: 600;
      line-height: 1.42;
    }

    .hero-contact-stage-footer {
      display: flex;
      flex-wrap: wrap;
      gap: 0.55rem;
      padding-top: 0.2rem;
    }

    .hero-contact-stage-footer span {
      display: inline-flex;
      align-items: center;
      min-height: 1.9rem;
      padding: 0 0.76rem;
      border: 1px solid rgba(var(--primary-rgb), 0.12);
      border-radius: 999px;
      background: rgba(var(--primary-rgb), 0.06);
      color: rgba(var(--primary-rgb), 0.9);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage {
      animation: hero-stage-entry 1s cubic-bezier(0.18, 0.92, 0.2, 1) 0.14s both, contact-stage-breathe 13.5s ease-in-out 1.14s infinite;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-top {
      animation: hero-chip-in 0.74s cubic-bezier(0.22, 0.9, 0.2, 1) 0.28s both;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-copy {
      animation: hero-copy-in 0.88s cubic-bezier(0.18, 0.92, 0.2, 1) 0.38s both;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-item:nth-child(1) {
      animation: hero-panel-in 0.84s cubic-bezier(0.18, 0.92, 0.2, 1) 0.5s both, contact-card-hover 8.4s ease-in-out 1.5s infinite;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-item:nth-child(2) {
      animation: hero-panel-in 0.84s cubic-bezier(0.18, 0.92, 0.2, 1) 0.6s both, contact-card-hover 8.8s ease-in-out 1.6s infinite;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-item:nth-child(3) {
      animation: hero-panel-in 0.84s cubic-bezier(0.18, 0.92, 0.2, 1) 0.7s both, contact-card-hover 9.2s ease-in-out 1.7s infinite;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-footer span:nth-child(1) {
      animation: hero-chip-in 0.68s cubic-bezier(0.22, 0.9, 0.2, 1) 0.78s both, contact-chip-drift 6.4s ease-in-out 1.6s infinite;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-footer span:nth-child(2) {
      animation: hero-chip-in 0.68s cubic-bezier(0.22, 0.9, 0.2, 1) 0.86s both, contact-chip-drift 6.8s ease-in-out 1.7s infinite;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-footer span:nth-child(3) {
      animation: hero-chip-in 0.68s cubic-bezier(0.22, 0.9, 0.2, 1) 0.94s both, contact-chip-drift 7.2s ease-in-out 1.8s infinite;
    }

    .hero-contact .hero-visual.is-visible .hero-contact-stage-footer span:nth-child(4) {
      animation: hero-chip-in 0.68s cubic-bezier(0.22, 0.9, 0.2, 1) 1.02s both, contact-chip-drift 7.6s ease-in-out 1.9s infinite;
    }

    @keyframes contact-stage-breathe {
      0%,
      100% {
        transform: translate3d(0, 0, 0) scale(1);
        box-shadow: 0 1.4rem 3rem rgba(var(--primary-rgb), 0.16);
      }

      50% {
        transform: translate3d(0, -0.3rem, 0) scale(1.008);
        box-shadow: 0 1.8rem 3.4rem rgba(var(--primary-rgb), 0.2);
      }
    }

    @keyframes contact-grid-drift {
      0%,
      100% {
        transform: translate3d(0, 0, 0) scale(1);
      }

      50% {
        transform: translate3d(-0.45rem, 0.25rem, 0) scale(1.02);
      }
    }

    @keyframes contact-orbit-bloom {
      0%,
      100% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.74;
      }

      50% {
        transform: translate3d(-0.4rem, -0.5rem, 0) scale(1.06);
        opacity: 0.94;
      }
    }

    @keyframes contact-signal-sweep {
      0%,
      100% {
        transform: translateX(0) scaleX(1);
        opacity: 0.28;
      }

      45% {
        transform: translateX(0.65rem) scaleX(1.08);
        opacity: 0.5;
      }

      70% {
        transform: translateX(-0.25rem) scaleX(0.96);
        opacity: 0.34;
      }
    }

    @keyframes contact-signal-pulse {
      0%,
      100% {
        transform: scale(1);
        opacity: 0.32;
      }

      50% {
        transform: scale(1.12);
        opacity: 0.52;
      }
    }

    @keyframes contact-line-glide {
      0%,
      100% {
        transform: translateX(0) scaleX(1);
        opacity: 0.32;
      }

      50% {
        transform: translateX(0.35rem) scaleX(1.02);
        opacity: 0.54;
      }
    }

    @keyframes contact-signal-run {
      0% {
        transform: translateX(0);
        opacity: 0;
      }

      12% {
        opacity: 1;
      }

      50% {
        transform: translateX(13.2rem);
        opacity: 1;
      }

      88% {
        opacity: 1;
      }

      100% {
        transform: translateX(26.4rem);
        opacity: 0;
      }
    }

    @keyframes contact-card-hover {
      0%,
      100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-0.25rem);
      }
    }

    @keyframes contact-chip-drift {
      0%,
      100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-0.16rem);
      }
    }

    @keyframes contact-pill-glow {
      0%,
      100% {
        box-shadow: 0 0.7rem 1.4rem rgba(var(--primary-rgb), 0.14);
      }

      50% {
        box-shadow: 0 0.9rem 1.7rem rgba(var(--primary-rgb), 0.22);
      }
    }

    .faq-list {
      display: grid;
      gap: 0.9rem;
      padding: 1.2rem;
      border-color: rgba(var(--secondary-rgb), 0.18);
      border-radius: 1.5rem;
      background:
        radial-gradient(circle at 100% 0%, rgba(var(--primary-rgb), 0.08), transparent 38%),
        radial-gradient(circle at 0% 100%, rgba(var(--cta-rgb), 0.12), transparent 14rem),
        linear-gradient(180deg, rgba(var(--secondary-rgb), 0.98), rgba(var(--cta-rgb), 0.92));
      box-shadow: 0 1.1rem 2.6rem rgba(var(--primary-rgb), 0.08);
    }

    .faq-list-head {
      display: grid;
      gap: 0.42rem;
      padding: 0 0.1rem 0.2rem;
    }

    .faq-list-head .eyebrow {
      margin: 0;
      color: rgba(var(--primary-rgb), 0.52);
    }

    .faq-list-head h3 {
      margin: 0;
      max-width: 14ch;
      color: var(--primary-blue);
      font-size: clamp(1.22rem, 1.8vw, 1.58rem);
      line-height: 1.04;
      letter-spacing: -0.03em;
      text-wrap: balance;
    }

    .faq-list-head p {
      margin: 0;
      max-width: 34ch;
      color: rgba(var(--primary-rgb), 0.76);
      font-size: 0.95rem;
      line-height: 1.58;
    }

    .faq-item {
      margin: 0;
      border: 1px solid rgba(var(--primary-rgb), 0.1);
      border-radius: 1.25rem;
      background: linear-gradient(180deg, rgba(var(--secondary-rgb), 0.86), rgba(255, 255, 255, 0.74));
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.52),
        0 0.85rem 1.9rem rgba(var(--primary-rgb), 0.05);
      overflow: hidden;
      transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
    }

    .faq-item summary {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 0.9rem;
      padding: 1rem 1.05rem;
      list-style: none;
      cursor: pointer;
    }

    .faq-item summary::-webkit-details-marker {
      display: none;
    }

    .faq-item-step {
      display: grid;
      place-items: center;
      width: 2.2rem;
      height: 2.2rem;
      border-radius: 50%;
      background: rgba(var(--primary-rgb), 0.08);
      color: rgba(var(--primary-rgb), 0.68);
      font-size: 0.7rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38);
    }

    .faq-item-question {
      color: var(--primary-blue);
      font-family: "Montserrat", sans-serif;
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.24;
      letter-spacing: -0.02em;
      text-wrap: balance;
    }

    .faq-item-icon {
      position: relative;
      width: 2.1rem;
      height: 2.1rem;
      border-radius: 50%;
      background: rgba(var(--primary-rgb), 0.08);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
      transition: background 0.28s ease, transform 0.28s ease;
    }

    .faq-item-icon::before,
    .faq-item-icon::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 0.82rem;
      height: 0.14rem;
      border-radius: 999px;
      background: var(--primary-blue);
      transform: translate(-50%, -50%);
      transition: transform 0.28s ease, opacity 0.28s ease, background 0.28s ease;
    }

    .faq-item-icon::after {
      transform: translate(-50%, -50%) rotate(90deg);
    }

    .faq-item[open] {
      border-color: rgba(var(--primary-rgb), 0.16);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 1rem 2.2rem rgba(var(--primary-rgb), 0.08);
      transform: translateY(-1px);
    }

    .faq-item[open] .faq-item-icon {
      background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.92), rgba(82, 103, 198, 0.92));
    }

    .faq-item[open] .faq-item-icon::before,
    .faq-item[open] .faq-item-icon::after {
      background: var(--text-inverse);
    }

    .faq-item[open] .faq-item-icon::after {
      opacity: 0;
      transform: translate(-50%, -50%) rotate(90deg) scaleX(0.2);
    }

    .faq-answer {
      display: grid;
      gap: 0.45rem;
      padding: 0 1.05rem 1.05rem calc(1.05rem + 2.2rem + 0.9rem);
      border-top: 1px solid rgba(var(--primary-rgb), 0.08);
    }

    .faq-answer p {
      margin: 0;
      color: rgba(var(--primary-rgb), 0.8);
      font-size: 0.96rem;
      font-weight: 600;
      line-height: 1.72;
    }

    .form-status {
      font-weight: 700;
    }

    .form-status.is-pending {
      color: rgba(var(--primary-rgb), 0.74);
    }

    .form-status.is-success {
      color: #12663d;
    }

    .form-status.is-error {
      color: #9c1e1e;
    }

    @media (min-width: 68rem) {
      .hero-contact .hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.98fr);
      }
    }

    @media (max-width: 67.99rem) {
      .hero-contact .hero-copy {
        max-width: none;
      }

      .hero-contact .hero-copy h1 {
        max-width: 10.2ch;
        font-size: clamp(2.55rem, 8vw, 4rem);
      }

      .hero-contact .hero-intro {
        max-width: none;
      }

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

      .hero-contact-stage-grid::before,
      .hero-contact-stage-grid::after {
        display: none;
      }
    }

    @media (max-width: 47.99rem) {
      .hero-contact .hero-copy h1 {
        max-width: 10.8ch;
        font-size: clamp(2.3rem, 11vw, 3.35rem);
      }

      .hero-contact-stage {
        padding: 1rem;
      }

      .hero-contact-stage-copy h3,
      .hero-contact-stage-copy p {
        max-width: none;
      }

      .hero-contact .hero-visual-contact::before {
        left: 0.8rem;
        width: 6.5rem;
      }

      .hero-contact .hero-visual-contact::after {
        width: 5.2rem;
        height: 5.2rem;
      }

      .faq-list {
        padding: 1rem;
      }

      .faq-list-head h3,
      .faq-list-head p {
        max-width: none;
      }

      .faq-item summary {
        gap: 0.7rem;
        padding: 0.9rem;
      }

      .faq-item-question {
        font-size: 0.95rem;
      }

      .faq-answer {
        padding: 0 0.9rem 0.95rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero-contact::before,
      .hero-contact::after,
      .hero-contact .hero-visual-contact::before,
      .hero-contact .hero-visual-contact::after,
      .hero-contact-stage,
      .hero-contact-stage::before,
      .hero-contact-stage::after,
      .hero-contact-stage-top::after,
      .hero-contact-stage .pill,
      .hero-contact-stage-grid::after,
      .hero-contact .hero-visual.is-visible .hero-contact-stage,
      .hero-contact .hero-visual.is-visible .hero-contact-stage-top,
      .hero-contact .hero-visual.is-visible .hero-contact-stage-copy,
      .hero-contact .hero-visual.is-visible .hero-contact-stage-item,
      .hero-contact .hero-visual.is-visible .hero-contact-stage-footer span {
        animation: none !important;
        transform: none !important;
      }
    }

