:root{
      --ab-orange:#FF6A1A;
      --ab-pink:#F5387A;
      --ab-purple:#8B5CF6;
      --ab-blue:#2E7CF6;
      --ab-orange-100:#FFE7D6;
      --ab-pink-100:#FEE1EC;
      --ab-purple-100:#EEE6FF;
      --ab-blue-100:#DFE9FF;
      --ab-cream:#FFFBF5;
      --ab-ink:#14181F;
      --ab-muted:#6B7385;
      --ab-line:#ECE4D6;
      --ab-rainbow:linear-gradient(
            135deg,
            #FF8A00,
            #FF5A00
        );
    }
    .ab-section{font-family:'Nunito',sans-serif; background:#fff;}
    .ab-section h2, .ab-section h3{font-family:'Space Grotesk',sans-serif; color:var(--ab-ink);}

    /* Intro */
    .ab-intro{padding:70px 0 80px; background:#fff;}
    .ab-intro h2{font-size:clamp(1.7rem,3vw,2.3rem); font-weight:700; margin-bottom:18px;}
    .ab-intro h2 span{
      background:var(--ab-rainbow);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }
    .ab-intro p{color:var(--ab-muted); font-size:1rem; line-height:1.75; margin-bottom:14px;}
    .ab-tagline{
      display:inline-block;
      font-size:.78rem;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
      color:var(--ab-pink);
      background:var(--ab-pink-100);
      padding:6px 14px;
      border-radius:20px;
      margin-bottom:14px;
    }
    .ab-cta-link{
      display:inline-block;
      background:var(--ab-rainbow);
      color:#fff !important;
      border:none;
      border-radius:8px;
      padding:12px 26px;
      font-weight:600;
      font-size:.95rem;
      margin-top:10px;
      text-decoration:none;
    }
    .ab-cta-link:hover{opacity:.92; color:#fff !important;}

    /* Illustration */
    .ab-illustration{
      background:var(--ab-cream);
      border:1px solid var(--ab-line);
      border-radius:18px;
      padding:26px;
    }
    .ab-illustration svg{width:100%; height:auto; display:block;}

    /* Badges row */
    .ab-badges{
      background:var(--ab-cream);
      border-top:1px solid var(--ab-line);
      border-bottom:1px solid var(--ab-line);
      padding:36px 0;
    }
    .ab-badge{
      text-align:center;
      padding:14px 10px;
    }
    .ab-badge .ab-badge-icon{
      width:48px;height:48px;
      border-radius:12px;
      display:flex;align-items:center;justify-content:center;
      margin:0 auto 12px;
    }
    .ab-badge .ab-badge-icon svg{width:24px;height:24px;}
    .ab-badge h4{font-family:'Space Grotesk',sans-serif; font-size:.98rem; font-weight:700; color:var(--ab-ink); margin-bottom:4px;}
    .ab-badge p{font-size:.83rem; color:var(--ab-muted); margin:0;}

    /* Services grid */
    .ab-services{padding:74px 0 80px;}
    .ab-services-head{max-width:600px; margin-bottom:40px;}
    .ab-services-head h2{font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:700; margin-bottom:10px;}
    .ab-services-head p{color:var(--ab-muted); font-size:1rem;}

    .ab-service-card{
      background:#fff;
      border:1px solid var(--ab-line);
      border-radius:14px;
      padding:26px 22px;
      height:100%;
      transition:box-shadow .15s ease, transform .15s ease;
    }
    .ab-service-card:hover{box-shadow:0 12px 28px rgba(20,24,31,.07); transform:translateY(-3px);}
    .ab-service-icon{
      width:46px;height:46px;
      border-radius:11px;
      display:flex;align-items:center;justify-content:center;
      margin-bottom:16px;
    }
    .ab-service-icon svg{width:23px;height:23px;}
    .ab-service-card h3{font-size:1.05rem; font-weight:700; margin-bottom:8px;}
    .ab-service-card p{color:var(--ab-muted); font-size:.88rem; margin:0; line-height:1.6;}

    /* Process */
    .ab-process{background:var(--ab-cream); padding:74px 0 80px; border-top:1px solid var(--ab-line); border-bottom:1px solid var(--ab-line);}
    .ab-process-head{max-width:600px; margin-bottom:44px;}
    .ab-process-head h2{font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:700; margin-bottom:10px;}
    .ab-process-head p{color:var(--ab-muted); font-size:1rem;}
    .ab-step{
      background:#fff;
      border:1px solid var(--ab-line);
      border-radius:14px;
      padding:24px 20px;
      height:100%;
      position:relative;
    }
    .ab-step .ab-step-num{
      font-family:'Space Grotesk',sans-serif;
      font-size:.78rem;
      font-weight:700;
      color:#fff;
      background:var(--ab-rainbow);
      width:30px;height:30px;
      border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      margin-bottom:14px;
    }
    .ab-step h3{font-size:1rem; font-weight:700; margin-bottom:6px;}
    .ab-step p{color:var(--ab-muted); font-size:.86rem; margin:0; line-height:1.6;}

    /* Why choose us */
    .ab-why{padding:74px 0 80px;}
    .ab-why-list{list-style:none; padding:0; margin:22px 0 0;}
    .ab-why-list li{
      display:flex;
      align-items:flex-start;
      gap:12px;
      margin-bottom:16px;
      font-size:.95rem;
      color:var(--ab-ink);
    }
    .ab-why-list li .ab-check{
      flex:none;
      width:22px;height:22px;
      border-radius:50%;
      background:var(--ab-rainbow);
      color:#fff;
      display:flex;align-items:center;justify-content:center;
      margin-top:2px;
    }
    .ab-why-list li .ab-check svg{width:12px;height:12px;}
    .ab-why-list li span.ab-why-text{color:var(--ab-muted);}
    .ab-why-list li strong{color:var(--ab-ink);}

    /* CTA band */
    .ab-cta-band{
      background:var(--ab-rainbow);
      padding:48px 0;
      text-align:center;
    }
    .ab-cta-band h2{color:#fff; font-size:clamp(1.4rem,2.6vw,1.9rem); font-weight:700; margin-bottom:10px;}
    .ab-cta-band p{color:rgba(255,255,255,.9); font-size:1rem; margin-bottom:22px;}
    .ab-cta-band a{
      display:inline-block;
      background:#fff;
      color:var(--ab-ink) !important;
      border-radius:8px;
      padding:12px 28px;
      font-weight:700;
      font-size:.95rem;
      text-decoration:none;
    }
    .ab-cta-band a:hover{opacity:.9;}