:root {
      --brand: #0a5456;
      --brand-dark: #063b3d;
      --brand-soft: #e9f5f4;
      --white: #ffffff;
      --radius: 18px;
      --radius-small: 12px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      min-height: 100%;
      background: var(--brand);
    }

    body {
      position: relative;
      min-height: 100vh;
      margin: 0;
      display: grid;
      place-items: center;
      padding: 24px 16px;
      color: var(--white);
      background:
        linear-gradient(118deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 9px),
        var(--brand);
      background-size: 180px 180px, auto;
      font-family: "Montserrat", Arial, sans-serif;
      line-height: 1.6;
      letter-spacing: 0;
      overflow-x: hidden;
      overflow-y: auto;
      animation: bgDrift 18s linear infinite;
    }

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

    body::before {
      background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent),
        linear-gradient(0deg, transparent 0 48%, rgba(255, 255, 255, 0.08) 49% 51%, transparent 52% 100%);
      background-size: 100% 100%, 120px 120px;
      opacity: 0.72;
      transform: translateX(-100%) skewX(-12deg);
      animation: bgSweep 9s ease-in-out infinite;
    }

    body::after {
      background-image:
        linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
      background-size: 88px 88px;
      mask-image: linear-gradient(135deg, transparent 0%, #000 22%, #000 70%, transparent 100%);
      opacity: 0.28;
      animation: gridFloat 24s linear infinite;
    }

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

    .page {
      position: relative;
      z-index: 1;
      width: min(100%, 430px);
    }

    .card {
      display: grid;
      gap: 26px;
      padding: clamp(24px, 7vw, 34px);
      border: 1px solid var(--white);
      border-radius: var(--radius);
      background: var(--white);
      box-shadow: 0 22px 60px rgba(10, 84, 86, 0.34);
      backdrop-filter: blur(18px);
    }

    .brand {
      display: grid;
      justify-items: center;
      gap: 18px;
      text-align: center;
    }

    .logo-box {
      width: 100%;
      min-height: 132px;
      display: grid;
      place-items: center;
      padding: 18px;
      border-radius: var(--radius);
      background: var(--white);
      overflow: hidden;
    }

    .logo-box img {
      display: block;
      width: min(100%, 310px);
      max-height: 96px;
      object-fit: contain;
    }

    .eyebrow {
      margin: 0;
      color: var(--brand);
      font-size: 0.78rem;
      font-weight: 800;
      text-transform: uppercase;
    }

    h1 {
      margin: 0;
      color: var(--brand);
      font-size: clamp(2rem, 8vw, 3rem);
      font-weight: 800;
      line-height: 1.08;
      letter-spacing: 0;
    }

    .subtitle {
      max-width: 30ch;
      margin: 0;
      color: var(--brand);
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.5;
    }

    .links {
      display: grid;
      gap: 14px;
    }

    .contact-panel {
      display: grid;
      gap: 26px;
    }

    .btn {
      min-height: 64px;
      display: grid;
      grid-template-columns: 32px 1fr 24px;
      align-items: center;
      gap: 14px;
      padding: 14px 18px;
      border: 2px solid var(--brand);
      border-radius: var(--radius-small);
      background: var(--brand);
      color: var(--white);
      box-shadow: 0 18px 42px rgba(10, 84, 86, 0.2);
      font-size: 1rem;
      font-weight: 800;
      transition: transform 180ms ease, background 180ms ease, color 180ms ease;
    }

    .btn:hover,
    .btn:focus-visible {
      transform: translateY(-3px);
      background: var(--white);
      color: var(--brand);
      outline: none;
    }

    .btn svg {
      display: block;
      width: 24px;
      height: 24px;
      stroke: currentColor;
      stroke-width: 2.4;
      stroke-linecap: round;
      stroke-linejoin: round;
      fill: none;
    }

    .btn .whatsapp {
      fill: currentColor;
      stroke: none;
      stroke-width: 0;
    }

    .label {
      min-width: 0;
      line-height: 1.18;
    }

    .arrow {
      justify-self: end;
    }

    .note {
      margin: 0;
      color: var(--brand);
      font-size: 0.82rem;
      font-weight: 700;
      text-align: center;
    }

    @media (min-width: 820px) {
      body {
        padding: 40px;
      }

      .page {
        width: min(100%, 980px);
      }

      .card {
        grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.1fr);
        grid-template-rows: 1fr;
        gap: 0;
        min-height: 540px;
        padding: 0;
        overflow: hidden;
        border-radius: 28px;
        box-shadow: 0 34px 90px rgba(4, 44, 46, 0.34);
      }

      .brand {
        grid-column: 1;
        grid-row: 1;
        align-content: center;
        justify-items: start;
        min-height: 540px;
        padding: 56px;
        background:
          radial-gradient(circle at 18% 16%, rgba(10, 84, 86, 0.12), transparent 32%),
          linear-gradient(145deg, var(--brand-soft), var(--white));
        border-right: 1px solid rgba(10, 84, 86, 0.12);
        text-align: left;
      }

      .logo-box {
        min-height: 150px;
        padding: 0;
        place-items: center start;
        background: transparent;
      }

      .logo-box img {
        width: min(100%, 330px);
        max-height: 112px;
      }

      .eyebrow {
        padding: 7px 11px;
        background: rgba(10, 84, 86, 0.09);
        border-radius: 999px;
      }

      .subtitle {
        max-width: 34ch;
        font-size: 1.08rem;
      }

      .contact-panel {
        grid-column: 2;
        grid-row: 1;
        align-content: center;
        gap: 24px;
        min-height: 540px;
        padding: 56px;
      }

      .links {
        gap: 18px;
      }

      .btn {
        min-height: 74px;
        padding-inline: 22px;
        border-radius: 15px;
        font-size: 1.04rem;
      }

      .note {
        text-align: center;
      }
    }

    @media (max-width: 360px) {
      body {
        padding-inline: 12px;
      }

      .card {
        padding-inline: 18px;
      }

      .btn {
        grid-template-columns: 28px 1fr 20px;
        gap: 12px;
        padding-inline: 14px;
      }

      .btn svg {
        width: 22px;
        height: 22px;
      }
    }

    @keyframes bgDrift {
      to {
        background-position: 180px 180px, 0 0;
      }
    }

    @keyframes bgSweep {
      0%,
      42% {
        transform: translateX(-120%) skewX(-12deg);
      }

      68%,
      100% {
        transform: translateX(120%) skewX(-12deg);
      }
    }

    @keyframes gridFloat {
      to {
        background-position: 88px 88px, 88px 88px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }
