    :root {
      --accent-1: #6C5CE7;
      --accent-2: #00D1FF;
      --shadow: 0 10px 30px rgba(12,12,30,0.35);
    }

    /* Floating button wrapper */
    .float-wrap {
      position: fixed;
      right: 28px;
      bottom: 28px;
      z-index: 9999;
      font-family: sans-serif;
    }

    /* Button styles */
    .enquiry-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 22px;
      border-radius: 40px;
      font-size: 15px;
      font-weight: bold;
      color: #fff;
      cursor: pointer;
      border: none;
      background: linear-gradient(135deg, var(--accent-1), var(--accent-2));
      box-shadow: var(--shadow), 0 0 40px rgba(108,92,231,0.18);
      transition: transform .18s cubic-bezier(.2,.9,.3,1), box-shadow .18s ease;
      position: relative;
      overflow: hidden;
    }

    .enquiry-btn:hover {
      transform: translateY(-6px) scale(1.02);
      box-shadow: 0 18px 50px rgba(2,6,30,0.55);
    }
    .enquiry-btn:active {
      transform: translateY(-2px) scale(.98);
    }

    @keyframes floatY {
      0% { transform: translateY(0) }
      50% { transform: translateY(-6px) }
      100% { transform: translateY(0) }
    }
    .enquiry-btn.animate-float {
      animation: floatY 3.6s ease-in-out infinite;
    }

    .enquiry-btn::before {
      content:"";
      position: absolute;
      inset: 0;
      border-radius: 40px;
      z-index: -1;
      background: radial-gradient(circle at 50% 50%, rgba(0,209,255,0.14), transparent 35%);
      filter: blur(14px);
      animation: pulse 3.2s ease-in-out infinite;
    }
    @keyframes pulse {
      0% { transform: scale(.9); opacity:.85 }
      50% { transform: scale(1.12); opacity:.55 }
      100% { transform: scale(.9); opacity:.85 }
    }

    .ripples {
      position: absolute;
      inset: 0;
      border-radius: 40px;
      overflow: hidden;
      pointer-events: none;
    }
    .ripple {
      position: absolute;
      width: 20px; height: 20px;
      border-radius: 50%;
      background: rgba(255,255,255,0.26);
      transform: translate(-50%,-50%) scale(0);
      animation: rippleGrow .7s cubic-bezier(.22,.9,.3,1) forwards;
    }
    @keyframes rippleGrow {
      to { transform: translate(-50%,-50%) scale(14); opacity:0 }
    }

    .enquiry-btn svg {
      width: 22px; height: 22px;
      fill: white;
      flex-shrink: 0;
    }

    /* Sliding form panel */
    .contact-panel {
      position: fixed;
      right: 28px;
      bottom: 90px;
      width: 360px;
      max-width: 90vw;
      background: #fff;
      border-radius: 12px;
      padding: 16px;
      box-shadow: 0 20px 60px rgba(0,0,0,0.4);
      transform: translateY(20px) scale(.95);
      opacity: 0;
      transition: transform .25s ease, opacity .2s ease;
      z-index: 9998;
      font-family: sans-serif;
      display: none;
    }
    .contact-panel.open {
      transform: translateY(0) scale(1);
      opacity: 1;
      display: block;
    }

    .contact-panel h4 {
      margin: 0 0 10px;
    }
    .contact-panel input,
    .contact-panel textarea {
      width: 100%;
      padding: 10px 12px;
      margin-top: 8px;
      border-radius: 8px;
      border: 1px solid #ddd;
      font: inherit;
      height: 42px;
    }
    .contact-panel textarea {
      min-height: 80px;
    }
    .contact-panel button {
      margin-top: 12px;
      width: 100%;
      padding: 10px;
      border-radius: 8px;
      border: none;
      background: linear-gradient(90deg,var(--accent-1),var(--accent-2));
      color: #fff;
      font-weight: bold;
      cursor: pointer;
    }
    .contact-panel .close-btn {
      background: #eee;
      color: #333;
      margin-top: 8px;
    }

    @media (max-width: 480px) {
      .contact-panel {
        right: 16px;
        bottom: 80px;
        width: calc(100% - 32px);
      }
    }
