   .custom-shadow {
     box-shadow: 0 10px 35px -10px rgba(37, 99, 235, 0.05), 0 1px 3px 0 rgba(0, 0, 0, 0.01);
   }

   .space-gradient {
     background: radial-gradient(circle at top right, #1E1B4B, #030712 80%);
   }

   /* Subtle dot background grid representing the image background */
   .bg-dots {
     background-image: radial-gradient(#E2E8F0 1.2px, transparent 1.2px);
     background-size: 20px 20px;
   }

   /* additional micro-adjustments for perfect responsiveness */
   .hero-container {
     min-height: 100vh;
     background: #fafafc;
   }

   /* decorative svg resize on small screens */
   .deco-svg {
     max-height: 280px;
     width: auto;
   }

   @media (min-width: 1024px) {
     .deco-svg {
       max-height: 400px;
     }
   }

   /* ensure text balance */
   .hero-title {
     letter-spacing: -0.02em;
   }

   /* always keep button readable */
   .btn-expert {
     white-space: nowrap;
   }

   /* improve dropdown indicators on mobile */
   nav a span {
     font-size: 0.6rem;
     opacity: 0.5;
   }

   /* small tap targets */
   nav a {
     padding: 0.25rem 0;
   }

   /* Corrected hero-bg: Applied as a full background layer without the dark darkening overlay */
   .hero-container {
     background-image: url("../assets/images/Saa-Company-hero.webp");
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
   }

   .banner-wrapper {
     width: 100%;
     min-height: 450px;
     /* Adjust height based on your layout needs */
     display: flex;
     justify-content: center;
     align-items: center;
     text-align: center;
     position: relative;
     padding: 40px 20px;

     /* Background Image Settings */
     background-image: url('../assets/images/Saa-background-banner.webp');
     /* Replace with your image file path */
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
     overflow: hidden;
   }

   /* Content Container */
   .banner-content {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 24px;
     /* Controls spacing between subtitle, title, and button */
     max-width: 800px;
     width: 100%;
   }

   /* "EXPLORE OUR WORK" Subtitle */
   .banner-subtitle {
     font-size: 11px;
     font-weight: 600;
     color: #a5aab5;
     /* Light grayish silver */
     letter-spacing: 4px;
     /* Recreates the wide tracking */
     text-transform: uppercase;
   }

   /* "See what we can do together." Main Heading */
   .banner-title {
     font-size: clamp(2rem, 4vw, 3.2rem);
     /* Responsive sizing: shrinks on mobile, grows on desktop */
     font-weight: 600;
     color: #ffffff;
     letter-spacing: -0.5px;
     line-height: 1.2;
   }

   /* "VIEW ALL PROJECTS" Pill Button */
   .banner-btn {
     display: inline-block;
     padding: 14px 36px;
     font-size: 10px;
     font-weight: 600 !important;
     /* background-color: #ffffff; */
     text-decoration: none;
     text-transform: uppercase;
     letter-spacing: 2px;
     color: black !important;

     background-color: #fff !important;
     border: 1px solid rgba(255, 255, 255, 0.35);
     border-radius: 50px;
     /* Makes it perfectly rounded */

     /* Smooth hover transition */
     transition: all 0.3s ease;
   }

   /* Interactive Hover State for the button */
   .banner-btn:hover {
     background-color: rgba(255, 255, 255, 1);
     color: #0b0c10;
     border-color: rgba(255, 255, 255, 1);
     box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.3);
   }

   .banner-p {
     font-size: 16px;
     color: #ffffff;
     /* Light gray for readability */
     max-width: 600px;
     line-height: 1.6;
   }






   .soft-shadow {
     box-shadow: 0 20px 40px -15px rgba(124, 58, 237, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.02);
   }

   .banner-gradient {
     background: radial-gradient(circle at top right, #3b0764, #020617 60%);
   }

   .glass-card {
     background: rgba(255, 255, 255, 0.03);
     border: 1px solid rgba(255, 255, 255, 0.07);
     backdrop-filter: blur(10px);
   }






   /* ---------- main section ---------- */
   .delivery-section {
     position: relative;
     width: 100%;
     overflow: hidden;
     background: #030114;
     /* fallback gradient if image fails */
     background-image:
       radial-gradient(circle at 30% 40%, rgba(139, 92, 246, 0.08) 0%, transparent 60%),
       radial-gradient(circle at 80% 70%, rgba(139, 92, 246, 0.05) 0%, transparent 50%),
       linear-gradient(180deg, #030114 0%, #0a0720 100%);
     padding: 60px 4% 80px;
     margin-bottom: 20px;
   }

   /* on larger screens more padding */
   @media (min-width: 768px) {
     .delivery-section {
       padding: 80px 4% 100px;
     }
   }

   @media (min-width: 1024px) {
     .delivery-section {
       padding: 100px 4% 120px;
     }
   }

   /* container */
   .delivery-container {
     position: relative;
     z-index: 10;
     max-width: 1280px;
     margin: 0 auto;
     width: 100%;
     padding-left: 20;
     padding-right: 20;

   }

   /* Shared Company-page content width: 1440px with a 4rem desktop gutter. */
   .company-page .company-content,
   .company-page .delivery-container {
     width: 100%;
     max-width: 1440px !important;
     margin-left: auto;
     margin-right: auto;
     padding-left: 4rem !important;
     padding-right: 4rem !important;
   }

   /* Use the same generous vertical rhythm as the homepage between Company sections. */
   .company-page > .company-content,
   .company-page > .delivery-section,
   .company-page > .cta-features-section {
     margin-top: 7.5rem;
     margin-bottom: 7.5rem;
   }

   .company-page > .hero-container {
     margin-bottom: 7.5rem;
   }

   @media (max-width: 1023px) {
     .company-page .company-content,
     .company-page .delivery-container {
       padding-left: 1.5rem !important;
       padding-right: 1.5rem !important;
     }

     .company-page > .company-content,
     .company-page > .delivery-section,
     .company-page > .cta-features-section,
     .company-page > .hero-container {
       
     }
   }

   @media (max-width: 639px) {
     .company-page .company-content,
     .company-page .delivery-container {
       padding-left: 1rem !important;
       padding-right: 1rem !important;
     }

     .company-page > .company-content,
     .company-page > .delivery-section,
     .company-page > .cta-features-section,
     .company-page > .hero-container {
       
     }
   }

   /* header */
   .delivery-tag {
     display: inline-flex;
     align-items: center;
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 3px;
     color: #8b5cf6;
     margin-bottom: 16px;
   }

   @media (min-width: 640px) {
     .delivery-tag {
       font-size: 12px;
       letter-spacing: 4px;
     }
   }

   .delivery-title {
     /* max-width: 820px; */
     font-weight: 600;
     color: #ffffff;
     line-height: 1.15;
     margin-bottom: 32px;
     font-size: clamp(1.8rem, 4.5vw, 3.2rem);
   }

   @media (min-width: 768px) {
     .delivery-title {
       margin-bottom: 48px;
     }
   }

   .delivery-title br {
     display: none;
   }

   @media (min-width: 640px) {
     .delivery-title br {
       display: inline;
     }
   }

   /* ---------- card grid: 2 columns left + 3 columns right ---------- */
   .cards-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 20px;
   }

   /* left column (2 cards) */
   .cards-left {
     display: flex;
     flex-direction: column;
     gap: 20px;
   }

   /* right column (3 cards) */
   .cards-right {
     display: flex;
     flex-direction: column;
     gap: 20px;
     margin-top: 100px;
   }

   /* ---------- card style ---------- */
   .delivery-card {
     position: relative;
     border-radius: 18px;
     overflow: hidden;
     /* background: rgba(255, 255, 255, 0.04); */
     /* backdrop-filter: blur(2px); */
     border: 1px solid rgba(139, 92, 246, 0.15);
     min-height: 180px;
     padding: 24px 20px;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     transition: all 0.35s ease;
     cursor: default;
     box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
   }

   @media (min-width: 480px) {
     .delivery-card {
       padding: 28px 24px;
       min-height: 200px;
     }
   }

   @media (min-width: 768px) {
     .delivery-card {
       padding: 32px 28px;
       min-height: 220px;
       border-radius: 20px;
     }
   }

   @media (min-width: 1024px) {
     .delivery-card {
       padding: 36px 32px;
       min-height: 240px;
     }
   }

   .delivery-card:hover {
     border-color: rgba(139, 92, 246, 0.4);
     background: rgba(255, 255, 255, 0.07);
     transform: translateY(-3px);
     box-shadow: 0 16px 40px rgba(139, 92, 246, 0.08);
   }

   /* subtle background image overlay (desktop only) */
   .card-bg-img {
     position: absolute;
     right: 0;
     top: 0;
     bottom: 0;
     width: 100%;
     /* opacity: 0.15; */
     background-size: cover;
     background-position: center;
     transition: opacity 0.4s ease;
     pointer-events: none;
     display: none;
   }

   @media (min-width: 640px) {
     .card-bg-img {
       display: block;
     }
   }

   .delivery-card:hover .card-bg-img {
     opacity: 0.25;
   }

   /* gradient overlay for readability */
   .card-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(90deg, rgba(3, 1, 20, 0.92) 50%, rgba(3, 1, 20, 0.4) 100%);
     pointer-events: none;
     display: none;
   }

   @media (min-width: 640px) {
     .card-overlay {
       display: block;
     }
   }

   /* card content */
   .card-content {
     position: relative;
     z-index: 2;
     display: flex;
     flex-direction: column;
     gap: 8px;
     max-width: 90%;
   }

   @media (min-width: 480px) {
     .card-content {
       max-width: 85%;
     }
   }

   @media (min-width: 768px) {
     .card-content {
       max-width: 75%;
     }
   }

   @media (min-width: 1024px) {
     .card-content {
       max-width: 70%;
     }
   }

   .card-label {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: #8b5cf6;
     margin-bottom: 2px;
   }

   @media (min-width: 640px) {
     .card-label {
       font-size: 11px;
     }
   }

   .card-desc {
     font-size: 13px;
     line-height: 1.5;
     color: #cbd5e1;
     margin: 0;
   }

   @media (min-width: 640px) {
     .card-desc {
       font-size: 14px;
     }
   }

   @media (min-width: 1024px) {
     .card-desc {
       font-size: 15px;
     }
   }

   .card-link {
     position: relative;
     z-index: 2;
     display: inline-flex;
     align-items: center;
     gap: 8px;
     font-size: 11px;
     font-weight: 600;
     color: #ffffff;
     text-decoration: none;
     margin-top: 12px;
     transition: color 0.25s ease;
     width: fit-content;
   }

   @media (min-width: 640px) {
     .card-link {
       font-size: 12px;
     }
   }

   .card-link i {
     font-size: 10px;
     transition: transform 0.25s ease;
   }

   .card-link:hover {
     color: #8b5cf6;
   }

   .card-link:hover i {
     transform: translateX(4px);
   }

   /* ---------- responsive: stack on small screens ---------- */
   @media (max-width: 767px) {
     .cards-grid {
       grid-template-columns: 1fr;
       gap: 16px;
     }

     .cards-left,
     .cards-right {
       gap: 16px;
     }

     .delivery-card {
       min-height: 160px;
       padding: 20px 16px;
     }

     .card-content {
       max-width: 100%;
     }

     .card-bg-img {
       width: 35%;
       opacity: 0.1;
     }
   }

   /* tablet: left 1, right 2? we keep 2+3 but adjust gaps */
   @media (min-width: 768px) and (max-width: 1023px) {
     .cards-grid {
       grid-template-columns: 1fr 1.2fr;
       gap: 18px;
     }

     .cards-left,
     .cards-right {
       gap: 18px;
     }

     .card-content {
       max-width: 80%;
     }
   }

   /* small tweak for very narrow */
   @media (max-width: 380px) {
     .delivery-card {
       padding: 16px 12px;
       min-height: 140px;
     }

     .card-desc {
       font-size: 12px;
     }

     .card-label {
       font-size: 9px;
     }
   }

   /* fallback background image (if url provided) – we use inline style but also bg class */
   .bg-fallback {
     background-color: #030114;
   }

   /* optional custom scroll */
   ::-webkit-scrollbar {
     width: 6px;
   }

   ::-webkit-scrollbar-track {
     background: #0a0720;
   }

   ::-webkit-scrollbar-thumb {
     background: #8b5cf6;
     border-radius: 10px;
   }














   /* main container – fluid, with max-width */
   .services-section {
     width: 100%;
     max-width: 1500px;
     margin: 0 auto;
     background: #ffffff;
     padding: 60px 24px 40px 24px;
     display: flex;
     flex-direction: column;
     gap: 60px;
     position: relative;
     transition: all 0.2s;
   }

   /* larger screens padding */
   @media (min-width: 1024px) {
     .services-section {
       padding: 80px 80px 60px 80px;
       gap: 80px;
     }
   }

   @media (min-width: 640px) and (max-width: 1023px) {
     .services-section {
       padding: 60px 40px 40px 40px;
       gap: 60px;
     }
   }

   /* top row: flex wrap */
   .top-row {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     align-items: center;
     width: 100%;
     gap: 30px;
   }

   .top-left {
     flex: 1 1 300px;
     max-width: 640px;
     display: flex;
     flex-direction: column;
     gap: 16px;
   }

   .top-left h1 {
     font-size: 32px;
     font-weight: 600;
     color: #0b0f19;
     line-height: 1.15;
     letter-spacing: -0.02em;
     margin: 0;
   }

   .top-left p {
     font-size: 15px;
     color: #475569;
     line-height: 1.6;
     max-width: 540px;
     margin: 0;
   }

   .top-right {
     flex: 1 1 280px;
     display: flex;
     justify-content: center;
     align-items: center;
     position: relative;
     max-width: 600px;
     height: auto;
     min-height: 200px;
     margin-top: 50px;
   }

   .top-right img {
     width: 100%;
     height: auto;
     max-height: 340px;
     object-fit: contain;
     opacity: 0.95;
     display: block;
     /* margin-top: 20px; */
   }

   /* grid – 5 columns, responsive */
   .service-grid {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 0;
     width: 100%;
     margin-top: 10px;
   }

   /* column card */
   .service-column {
     display: flex;
     flex-direction: column;
     padding: 0 16px;
     border-right: 1px solid #e2e8f0;
     box-sizing: border-box;
     cursor: pointer;
     position: relative;
     transition: all 0.25s ease;
   }

   .service-column:last-child {
     border-right: none;
     padding-right: 0;
   }

   .service-column:first-child {
     padding-left: 0;
   }

   /* icon circle with hover animation */
   .icon-circle {
     width: 44px;
     height: 44px;
     background-color: #0b0f19;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #ffffff;
     margin-bottom: 20px;
     transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
     flex-shrink: 0;
   }

   .service-column:hover .icon-circle {
     transform: scale(1.08) rotate(2deg);
     background-color: #7c4dff;
     box-shadow: 0 8px 18px rgba(124, 77, 255, 0.25);
   }

   /* dot indicator */
   .dot-indicator {
     width: 6px;
     height: 6px;
     background-color: #7c4dff;
     border-radius: 50%;
     position: absolute;
     right: -3px;
     top: 82px;
     z-index: 2;
     transition: transform 0.2s ease;
   }

   .service-column:hover .dot-indicator {
     transform: scale(1.5);
     background-color: #5a2fd6;
   }

   .column-title {
     margin: 0 0 10px 0;
     font-size: 14px;
     font-weight: 600;
     color: #7c4dff;
     letter-spacing: 0.05em;
     text-transform: uppercase;
     line-height: 1.4;
     transition: color 0.2s ease;
   }

   .service-column:hover .column-title {
     color: #3d1a9e;
   }

   .column-desc {
     margin: 0;
     font-size: 12px;
     color: #64748b;
     line-height: 1.5;
   }

   /* responsive grid */
   @media (max-width: 1024px) {
     .service-grid {
       grid-template-columns: repeat(3, 1fr);
       gap: 24px 16px;
     }

     .service-column {
       border-right: none;
       padding: 0 8px;
       border-bottom: 1px solid #e2e8f0;
       padding-bottom: 20px;
     }

     .service-column:last-child {
       border-bottom: none;
     }

     .service-column:first-child {
       padding-left: 0;
     }

     .dot-indicator {
       display: none;
     }

     .top-left h1 {
       font-size: 30px;
     }
   }

   @media (max-width: 700px) {
     .service-grid {
       grid-template-columns: repeat(2, 1fr);
       gap: 28px 12px;
     }

     .service-column {
       padding: 0 4px;
       border-bottom: 1px solid #e2e8f0;
       padding-bottom: 18px;
       border-right: none;
     }

     .service-column:nth-last-child(-n+2) {
       border-bottom: none;
     }

     .top-left h1 {
       font-size: 26px;
     }

     .top-left p {
       font-size: 14px;
     }

     .top-right {
       min-height: 160px;
     }
   }

   @media (max-width: 480px) {
     .services-section {
       padding: 40px 16px 30px 16px;
       gap: 40px;
     }

     .service-grid {
       grid-template-columns: 1fr 1fr;
       gap: 20px 8px;
     }

     .service-column {
       padding: 0 2px;
       border-bottom: 1px solid #e2e8f0;
       padding-bottom: 14px;
     }

     .icon-circle {
       width: 38px;
       height: 38px;
       margin-bottom: 14px;
     }

     .icon-circle svg {
       width: 16px;
       height: 16px;
     }

     .column-title {
       font-size: 12px;
     }

     .column-desc {
       font-size: 11px;
     }

     .top-left h1 {
       font-size: 22px;
     }

     .top-left span {
       font-size: 10px;
     }
   }

   /* animation: fade-in-up on scroll (intersection observer) */
   .animate-on-scroll {
     opacity: 0;
     transform: translateY(24px);
     transition: opacity 0.6s cubic-bezier(0.2, 0.9, 0.3, 1), transform 0.6s cubic-bezier(0.2, 0.9, 0.3, 1);
   }

   .animate-on-scroll.visible {
     opacity: 1;
     transform: translateY(0);
   }

   /* staggered delay for children */
   .service-column:nth-child(1) {
     transition-delay: 0.05s;
   }

   .service-column:nth-child(2) {
     transition-delay: 0.12s;
   }

   .service-column:nth-child(3) {
     transition-delay: 0.19s;
   }

   .service-column:nth-child(4) {
     transition-delay: 0.26s;
   }

   .service-column:nth-child(5) {
     transition-delay: 0.33s;
   }

   /* extra micro adjustment */
   .top-row .top-left span {
     font-size: 11px;
     font-weight: 600;
     color: #64748b;
     letter-spacing: 0.2em;
     text-transform: uppercase;
   }


   /* =====================================================
   CTA SECTION
===================================================== */

   .cta-section {
     padding: 80px 20px;
     background: #ffffff;
   }

   .cta-card {

     position: relative;
     overflow: hidden;

     max-width: 1280px;
     margin: auto;

     border-radius: 32px;

     background:
       linear-gradient(90deg,
         #f7f8fd 0%,
         #f9f8ff 55%,
         #fff4f7 100%);

     border: 1px solid #e8eaf6;

     box-shadow:
       0 25px 60px rgba(15, 23, 42, .06);

   }


   /* ==========================================
   Background Wave
========================================== */

   .cta-bg-pattern {

     position: absolute;

     inset: 0;

     pointer-events: none;

     background-image:
       radial-gradient(circle at 78% 30%, rgba(124, 77, 255, .08), transparent 48%),

       radial-gradient(circle at 92% 90%, rgba(255, 80, 180, .08), transparent 42%);

   }


   /* Animated Curved Lines */

   .cta-bg-pattern::before {

     content: "";

     position: absolute;

     right: -120px;
     top: -40px;

     width: 650px;
     height: 650px;

     opacity: .55;

     background: url("../assets/images/wave-pattern.svg") center/contain no-repeat;

     animation: waveFloat 10s ease-in-out infinite;

   }


   /* ==========================================
   CONTENT
========================================== */

   .cta-content {

     position: relative;

     z-index: 2;

   }


   /* ==========================================
   HEADING
========================================== */

   .cta-title {

     font-family: "Plus Jakarta Sans", sans-serif;

     font-weight: 600;

     color: #ffffff;

     letter-spacing: -.03em;

   }

   .cta-title span {

     background: linear-gradient(90deg, #6C63FF, #7C3AED);

     -webkit-background-clip: text;

     -webkit-text-fill-color: transparent;

   }


   /* ==========================================
   SUBTEXT
========================================== */

   .cta-subtitle {

     color: #64748B;

     font-size: 15px;

     line-height: 1.7;

   }

   .cta-note {

     color: #94A3B8;

     font-size: 14px;

   }


   /* ==========================================
   BUTTON
========================================== */

   .cta-button {

     display: inline-flex;

     align-items: center;

     gap: 12px;

     padding: 18px 34px;

     border-radius: 999px;

     text-decoration: none;

     color: #fff;

     font-weight: 600;

     background:
       linear-gradient(135deg,
         #5B4CF8,
         #7C3AED);

     box-shadow:
       0 14px 40px rgba(92, 74, 255, .35);

     transition:
       transform .35s,
       box-shadow .35s;

   }

   .cta-button:hover {

     transform:
       translateY(-4px);

     box-shadow:
       0 18px 48px rgba(92, 74, 255, .45);

   }

   .cta-button svg {

     transition: .35s;

   }

   .cta-button:hover svg:last-child {

     transform:
       translateX(5px);

   }


   /* ==========================================
   LOGO
========================================== */

   .cta-logo {

     transition: .35s;

   }

   .cta-card:hover .cta-logo {

     transform: scale(1.04);

   }


   /* ==========================================
   ANIMATIONS
========================================== */

   @keyframes waveFloat {

     0% {

       transform:
         translateY(0) rotate(0deg);

     }

     50% {

       transform:
         translateY(-12px) rotate(2deg);

     }

     100% {

       transform:
         translateY(0) rotate(0deg);

     }

   }

   /* =====================================================
   LARGE DESKTOP (1600px+)
===================================================== */

   @media (min-width:1600px) {

     .cta-card {
       max-width: 1500px;
       padding: 55px 70px;
     }

  

     .cta-button {
       padding: 20px 42px;
       font-size: 17px;
     }

     .cta-logo {
       width: 220px;
     }

   }

   /* =====================================================
   DESKTOP
===================================================== */

   @media (max-width:1400px) {

     .cta-card {
       padding: 48px;
     }

     .cta-title {
       font-size: 42px;
     }

   }

   /* =====================================================
   LAPTOP
===================================================== */

   @media (max-width:1200px) {

     .cta-card {
       padding: 42px;
     }

     .cta-title {
       font-size: 38px;
     }

     .cta-button {
       padding: 16px 30px;
     }

     .cta-logo {
       width: 190px;
     }

   }

   /* =====================================================
   TABLET
===================================================== */

   @media (max-width:992px) {

     .cta-content {

       display: flex;
       flex-direction: column;
       align-items: center;
       justify-content: center;

       text-align: center;

       gap: 35px;

     }

     .cta-left {

       display: flex;
       flex-direction: column;
       align-items: center;

       gap: 25px;

     }

     .cta-title {

       font-size: 34px;

     }

     .cta-subtitle,
     .cta-note {

       max-width: 620px;
       margin: auto;

     }

     .cta-button {

       width: auto;

     }

   }

   /* =====================================================
   MOBILE LANDSCAPE
===================================================== */

   @media (max-width:768px) {

     .cta-card {

       border-radius: 24px;

       padding: 35px 24px;

     }

     .cta-title {

       font-size: 30px;
       line-height: 1.3;

     }

     .cta-logo {

       width: 170px;

     }

     .cta-button {

       width: 100%;

       justify-content: center;

       padding: 16px;

     }

   }

   /* =====================================================
   MOBILE
===================================================== */

   @media (max-width:576px) {

     .cta-card {

       padding: 28px 20px;

       border-radius: 20px;

     }

     .cta-title {

       font-size: 26px;

     }

     .cta-subtitle {

       font-size: 14px;

     }

     .cta-note {

       font-size: 13px;

     }

     .cta-logo {

       width: 150px;

     }

     .cta-button {

       font-size: 14px;

       gap: 10px;

     }

   }

   /* =====================================================
   SMALL MOBILE
===================================================== */

   @media (max-width:420px) {

     .cta-card {

       padding: 22px 18px;

     }

     .cta-title {

       font-size: 22px;

     }

     .cta-logo {

       width: 135px;

     }

     .cta-button {

       padding: 15px;

       font-size: 13px;

     }

   }

   /* =====================================================
   320px DEVICES
===================================================== */

   @media (max-width:320px) {

     .cta-title {

       font-size: 20px;

     }

     .cta-logo {

       width: 120px;

     }

     .cta-subtitle {

       font-size: 13px;

     }

     .cta-note {

       font-size: 12px;

     }

     .cta-button {

       padding: 14px;

       font-size: 12px;

     }

   }

   /* ==========================================================
   PREMIUM BACKGROUND WAVE
========================================================== */

   .cta-card::before {

     content: "";

     position: absolute;

     top: -120px;
     right: -160px;

     width: 700px;
     height: 700px;

     border-radius: 50%;

     background:
       repeating-radial-gradient(circle,
         rgba(124, 77, 255, .08) 0px,
         rgba(124, 77, 255, .08) 2px,
         transparent 2px,
         transparent 18px);

     animation: waveRotate 22s linear infinite;

     opacity: .8;

     pointer-events: none;

   }

   .cta-card::after {

     content: "";

     position: absolute;

     inset: 0;

     background:
       radial-gradient(circle at 85% 40%,
         rgba(124, 77, 255, .12),
         transparent 45%);

     pointer-events: none;

   }


   /* ==========================================================
   FLOATING CARD
========================================================== */

   .cta-card {

     animation: cardFloat 7s ease-in-out infinite;

   }


   /* ==========================================================
   BUTTON SHINE EFFECT
========================================================== */

   .cta-button {

     position: relative;

     overflow: hidden;

   }

   .cta-button::before {

     content: "";

     position: absolute;

     top: 0;
     left: -120%;

     width: 60%;
     height: 100%;

     background:
       linear-gradient(120deg,
         transparent,
         rgba(255, 255, 255, .45),
         transparent);

     transform: skewX(-25deg);

     transition: 0s;

   }

   .cta-button:hover::before {

     left: 140%;

     transition: 1.2s;

   }


   /* ==========================================================
   BUTTON GLOW
========================================================== */

   .cta-button:hover {

     box-shadow:
       0 18px 45px rgba(92, 74, 255, .45),
       0 0 0 8px rgba(92, 74, 255, .08);

   }


   /* ==========================================================
   LOGO HOVER
========================================================== */

   .cta-logo {

     transition: .45s;

   }

   .cta-card:hover .cta-logo {

     transform:
       translateY(-4px) scale(1.03);

   }


   /* ==========================================================
   TITLE ANIMATION
========================================================== */

   .cta-title {

     animation: titleFade .8s ease both;

   }

   .cta-subtitle {

     animation: titleFade 1s .2s both;

   }

   .cta-note {

     animation: titleFade 1s .35s both;

   }

   .cta-button {

     animation: titleFade 1s .5s both;

   }


   /* ==========================================================
   HOVER LIFT
========================================================== */

   .cta-card {

     transition:
       transform .4s ease,
       box-shadow .4s ease;

   }

   .cta-card:hover {

     transform: translateY(-6px);

     box-shadow:
       0 30px 80px rgba(15, 23, 42, .12);

   }


   /* ==========================================================
   KEYFRAMES
========================================================== */

   @keyframes waveRotate {

     from {

       transform:
         rotate(0deg);

     }

     to {

       transform:
         rotate(360deg);

     }

   }

   @keyframes cardFloat {

     0%,
     100% {

       transform:
         translateY(0px);

     }

     50% {

       transform:
         translateY(-5px);

     }

   }

   @keyframes titleFade {

     from {

       opacity: 0;

       transform:
         translateY(20px);

     }

     to {

       opacity: 1;

       transform:
         translateY(0);

     }

   }

   .cta-bg-pattern {
     position: absolute;
     right: 0;
     top: 0;
     width: 45%;
     height: 100%;
     background: url("../assets/images/cta-wave-pattern.svg") right center/contain no-repeat;
     opacity: .9;
     pointer-events: none;
   }


   @keyframes timelineFlow {
     0% {
       transform: translateX(-100%);
     }

     100% {
       transform: translateX(100%);
     }
   }

   .animate-timeline-flow {
     animation: timelineFlow 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
   }
