<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Aditya Sharma — Digital Marketing Freelancer</title>

<link href="https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap" rel="stylesheet">

<style>

  :root {

    --navy: #020c1b;

    --navy2: #0a1628;

    --navy3: #0d1f3c;

    --blue: #1a3a6b;

    --accent: #4a9eff;

    --accent2: #00d4ff;

    --accent3: #7b61ff;

    --text: #e8f0fe;

    --muted: #7a9cc8;

    --card: rgba(10,22,40,0.85);

    --glow: rgba(74,158,255,0.15);

  }


  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }


  html { scroll-behavior: smooth; }


  body {

    background: var(--navy);

    color: var(--text);

    font-family: 'DM Sans', sans-serif;

    overflow-x: hidden;

    cursor: none;

  }


  /* Custom cursor */

  .cursor {

    width: 12px; height: 12px;

    background: var(--accent);

    border-radius: 50%;

    position: fixed;

    top: 0; left: 0;

    pointer-events: none;

    z-index: 9999;

    transition: transform 0.1s ease;

    mix-blend-mode: screen;

  }

  .cursor-ring {

    width: 36px; height: 36px;

    border: 1.5px solid rgba(74,158,255,0.5);

    border-radius: 50%;

    position: fixed;

    top: 0; left: 0;

    pointer-events: none;

    z-index: 9998;

    transition: transform 0.15s ease, width 0.2s, height 0.2s;

  }


  /* Stars bg */

  .stars {

    position: fixed;

    inset: 0;

    z-index: 0;

    overflow: hidden;

    pointer-events: none;

  }

  .star {

    position: absolute;

    background: #fff;

    border-radius: 50%;

    animation: twinkle var(--d) ease-in-out infinite;

  }

  @keyframes twinkle {

    0%, 100% { opacity: 0.1; }

    50% { opacity: 0.8; }

  }


  /* Floating orbs */

  .orb {

    position: fixed;

    border-radius: 50%;

    filter: blur(80px);

    pointer-events: none;

    z-index: 0;

    animation: orbFloat var(--od) ease-in-out infinite alternate;

  }

  @keyframes orbFloat {

    from { transform: translate(0,0) scale(1); }

    to { transform: translate(var(--dx), var(--dy)) scale(1.1); }

  }


  /* NAV */

  nav {

    position: fixed;

    top: 0; width: 100%;

    z-index: 100;

    padding: 1.2rem 6%;

    display: flex;

    justify-content: space-between;

    align-items: center;

    background: rgba(2,12,27,0.8);

    backdrop-filter: blur(20px);

    border-bottom: 1px solid rgba(74,158,255,0.1);

    animation: slideDown 0.8s ease forwards;

  }

  @keyframes slideDown {

    from { transform: translateY(-100%); opacity: 0; }

    to { transform: translateY(0); opacity: 1; }

  }

  .logo {

    font-family: 'Syne', sans-serif;

    font-size: 1.4rem;

    font-weight: 800;

    background: linear-gradient(135deg, var(--accent), var(--accent2));

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    letter-spacing: -0.02em;

  }

  .nav-links { display: flex; gap: 2.5rem; list-style: none; }

  .nav-links a {

    color: var(--muted);

    text-decoration: none;

    font-size: 0.85rem;

    font-weight: 500;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    transition: color 0.3s;

    position: relative;

  }

  .nav-links a::after {

    content: '';

    position: absolute;

    bottom: -4px; left: 0;

    width: 0; height: 1.5px;

    background: var(--accent);

    transition: width 0.3s ease;

  }

  .nav-links a:hover { color: var(--accent); }

  .nav-links a:hover::after { width: 100%; }


  /* SECTIONS */

  section { position: relative; z-index: 1; }


  /* HERO */

  #hero {

    min-height: 100vh;

    display: flex;

    align-items: center;

    padding: 0 6%;

    padding-top: 90px;

  }

  .hero-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 4rem;

    align-items: center;

    width: 100%;

    max-width: 1200px;

    margin: 0 auto;

  }

  .hero-eyebrow {

    font-size: 0.8rem;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--accent);

    font-weight: 500;

    opacity: 0;

    animation: fadeUp 0.8s ease 0.3s forwards;

    display: flex;

    align-items: center;

    gap: 0.8rem;

    margin-bottom: 1.2rem;

  }

  .hero-eyebrow::before {

    content: '';

    width: 30px; height: 1.5px;

    background: var(--accent);

  }

  .hero-title {

    font-family: 'Syne', sans-serif;

    font-size: clamp(3rem, 5vw, 5rem);

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -0.03em;

    opacity: 0;

    animation: fadeUp 0.8s ease 0.5s forwards;

    margin-bottom: 1rem;

  }

  .hero-title .line1 { display: block; color: var(--text); }

  .hero-title .line2 {

    display: block;

    background: linear-gradient(135deg, var(--accent), var(--accent2), var(--accent3));

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

  }

  .hero-desc {

    font-size: 1rem;

    line-height: 1.8;

    color: var(--muted);

    max-width: 480px;

    opacity: 0;

    animation: fadeUp 0.8s ease 0.7s forwards;

    margin-bottom: 2.5rem;

  }

  .hero-cta {

    display: flex;

    gap: 1rem;

    flex-wrap: wrap;

    opacity: 0;

    animation: fadeUp 0.8s ease 0.9s forwards;

  }

  .btn-primary {

    background: linear-gradient(135deg, var(--accent), #0066cc);

    color: #fff;

    border: none;

    padding: 0.9rem 2.2rem;

    font-family: 'DM Sans', sans-serif;

    font-size: 0.9rem;

    font-weight: 500;

    border-radius: 50px;

    cursor: none;

    transition: transform 0.2s, box-shadow 0.3s;

    text-decoration: none;

    display: inline-flex;

    align-items: center;

    gap: 0.5rem;

    box-shadow: 0 0 30px rgba(74,158,255,0.3);

  }

  .btn-primary:hover {

    transform: translateY(-2px);

    box-shadow: 0 0 50px rgba(74,158,255,0.5);

  }

  .btn-outline {

    background: transparent;

    color: var(--accent);

    border: 1.5px solid rgba(74,158,255,0.4);

    padding: 0.9rem 2.2rem;

    font-family: 'DM Sans', sans-serif;

    font-size: 0.9rem;

    font-weight: 500;

    border-radius: 50px;

    cursor: none;

    transition: all 0.3s;

    text-decoration: none;

    display: inline-flex;

    align-items: center;

    gap: 0.5rem;

  }

  .btn-outline:hover {

    background: rgba(74,158,255,0.1);

    border-color: var(--accent);

  }


  /* Hero visual */

  .hero-visual {

    display: flex;

    justify-content: center;

    align-items: center;

    opacity: 0;

    animation: fadeIn 1s ease 1s forwards;

  }

  .avatar-ring {

    position: relative;

    width: 320px;

    height: 320px;

  }

  .ring1, .ring2, .ring3 {

    position: absolute;

    border-radius: 50%;

    border: 1px solid rgba(74,158,255,0.2);

    top: 50%; left: 50%;

    transform: translate(-50%,-50%);

    animation: spin var(--rs) linear infinite;

  }

  .ring1 { width: 100%; height: 100%; animation-duration: 20s; }

  .ring2 { width: 78%; height: 78%; animation-duration: 15s; animation-direction: reverse; border-style: dashed; }

  .ring3 { width: 56%; height: 56%; animation-duration: 10s; }

  @keyframes spin { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }


  .avatar-center {

    position: absolute;

    top: 50%; left: 50%;

    transform: translate(-50%,-50%);

    width: 150px; height: 150px;

    border-radius: 50%;

    background: linear-gradient(135deg, var(--blue), var(--navy2));

    border: 2px solid rgba(74,158,255,0.4);

    display: flex;

    align-items: center;

    justify-content: center;

    font-family: 'Syne', sans-serif;

    font-size: 3.5rem;

    font-weight: 800;

    color: var(--accent);

    box-shadow: 0 0 60px rgba(74,158,255,0.2), inset 0 0 40px rgba(74,158,255,0.05);

    animation: pulse 3s ease infinite;

  }

  @keyframes pulse {

    0%, 100% { box-shadow: 0 0 60px rgba(74,158,255,0.2), inset 0 0 40px rgba(74,158,255,0.05); }

    50% { box-shadow: 0 0 90px rgba(74,158,255,0.35), inset 0 0 60px rgba(74,158,255,0.1); }

  }


  /* Floating dots on ring */

  .ring-dot {

    position: absolute;

    width: 8px; height: 8px;

    border-radius: 50%;

    background: var(--accent);

    box-shadow: 0 0 10px var(--accent);

    top: 50%; left: 50%;

    transform-origin: 0 0;

  }


  .stats-row {

    display: flex;

    gap: 2rem;

    margin-top: 3rem;

    opacity: 0;

    animation: fadeUp 0.8s ease 1.1s forwards;

  }

  .stat-item { text-align: left; }

  .stat-num {

    font-family: 'Syne', sans-serif;

    font-size: 2rem;

    font-weight: 800;

    color: var(--accent);

    line-height: 1;

  }

  .stat-label {

    font-size: 0.78rem;

    color: var(--muted);

    text-transform: uppercase;

    letter-spacing: 0.08em;

    margin-top: 0.2rem;

  }


  /* SERVICES */

  #services {

    padding: 7rem 6%;

  }

  .section-header {

    text-align: center;

    margin-bottom: 4rem;

  }

  .section-tag {

    display: inline-flex;

    align-items: center;

    gap: 0.5rem;

    font-size: 0.75rem;

    letter-spacing: 0.2em;

    text-transform: uppercase;

    color: var(--accent);

    font-weight: 500;

    background: rgba(74,158,255,0.08);

    border: 1px solid rgba(74,158,255,0.2);

    padding: 0.4rem 1.2rem;

    border-radius: 50px;

    margin-bottom: 1.2rem;

  }

  .section-title {

    font-family: 'Syne', sans-serif;

    font-size: clamp(2rem, 4vw, 3.2rem);

    font-weight: 800;

    letter-spacing: -0.03em;

    line-height: 1.1;

    color: var(--text);

  }

  .section-title span {

    background: linear-gradient(135deg, var(--accent), var(--accent2));

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

  }

  .section-sub {

    font-size: 1rem;

    color: var(--muted);

    margin-top: 0.8rem;

    max-width: 500px;

    margin-left: auto;

    margin-right: auto;

    line-height: 1.8;

  }


  .services-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

    gap: 1.5rem;

    max-width: 1200px;

    margin: 0 auto;

  }

  .service-card {

    background: var(--card);

    border: 1px solid rgba(74,158,255,0.12);

    border-radius: 20px;

    padding: 2.5rem 2rem;

    position: relative;

    overflow: hidden;

    transition: all 0.4s ease;

    cursor: none;

  }

  .service-card::before {

    content: '';

    position: absolute;

    inset: 0;

    background: linear-gradient(135deg, rgba(74,158,255,0.05), transparent);

    opacity: 0;

    transition: opacity 0.4s;

  }

  .service-card::after {

    content: '';

    position: absolute;

    top: 0; left: 0; right: 0;

    height: 2px;

    background: linear-gradient(90deg, transparent, var(--accent), transparent);

    opacity: 0;

    transition: opacity 0.4s;

  }

  .service-card:hover {

    transform: translateY(-8px);

    border-color: rgba(74,158,255,0.35);

    box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 40px rgba(74,158,255,0.1);

  }

  .service-card:hover::before, .service-card:hover::after { opacity: 1; }

  .service-card.featured {

    border-color: rgba(74,158,255,0.35);

    background: linear-gradient(135deg, rgba(26,58,107,0.6), rgba(10,22,40,0.9));

  }

  .service-card.featured::after { opacity: 0.6; }

  .featured-badge {

    position: absolute;

    top: 1.2rem; right: 1.2rem;

    font-size: 0.65rem;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: var(--accent2);

    background: rgba(0,212,255,0.1);

    border: 1px solid rgba(0,212,255,0.25);

    padding: 0.3rem 0.8rem;

    border-radius: 50px;

  }

  .service-icon {

    width: 52px; height: 52px;

    background: linear-gradient(135deg, rgba(74,158,255,0.15), rgba(74,158,255,0.05));

    border: 1px solid rgba(74,158,255,0.2);

    border-radius: 14px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 1.4rem;

    margin-bottom: 1.5rem;

    transition: all 0.3s;

  }

  .service-card:hover .service-icon {

    background: rgba(74,158,255,0.2);

    border-color: rgba(74,158,255,0.4);

    transform: scale(1.1);

  }

  .service-name {

    font-family: 'Syne', sans-serif;

    font-size: 1.15rem;

    font-weight: 700;

    color: var(--text);

    margin-bottom: 0.5rem;

  }

  .service-desc {

    font-size: 0.88rem;

    color: var(--muted);

    line-height: 1.7;

    margin-bottom: 1.5rem;

  }

  .service-price {

    display: flex;

    align-items: baseline;

    gap: 0.3rem;

    margin-bottom: 1.2rem;

  }

  .price-currency {

    font-size: 0.9rem;

    color: var(--accent);

    font-weight: 500;

  }

  .price-amount {

    font-family: 'Syne', sans-serif;

    font-size: 2.2rem;

    font-weight: 800;

    color: var(--accent);

    line-height: 1;

  }

  .price-unit {

    font-size: 0.8rem;

    color: var(--muted);

  }

  .service-features {

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 0.5rem;

  }

  .service-features li {

    font-size: 0.83rem;

    color: var(--muted);

    display: flex;

    align-items: center;

    gap: 0.6rem;

  }

  .service-features li::before {

    content: '✦';

    color: var(--accent);

    font-size: 0.6rem;

    flex-shrink: 0;

  }


  /* ABOUT */

  #about {

    padding: 7rem 6%;

    background: linear-gradient(180deg, transparent, rgba(26,58,107,0.05), transparent);

  }

  .about-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 5rem;

    align-items: center;

    max-width: 1200px;

    margin: 0 auto;

  }

  .about-skills {

    display: flex;

    flex-wrap: wrap;

    gap: 0.7rem;

    margin-top: 2rem;

  }

  .skill-chip {

    font-size: 0.78rem;

    color: var(--accent);

    background: rgba(74,158,255,0.08);

    border: 1px solid rgba(74,158,255,0.2);

    padding: 0.4rem 1rem;

    border-radius: 50px;

    font-weight: 500;

    letter-spacing: 0.04em;

    transition: all 0.3s;

    cursor: none;

  }

  .skill-chip:hover {

    background: rgba(74,158,255,0.18);

    border-color: var(--accent);

    transform: translateY(-2px);

  }

  .about-text p {

    font-size: 0.95rem;

    color: var(--muted);

    line-height: 1.9;

    margin-bottom: 1.2rem;

  }

  .about-visual {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 1rem;

  }

  .about-card {

    background: var(--card);

    border: 1px solid rgba(74,158,255,0.12);

    border-radius: 16px;

    padding: 1.8rem 1.5rem;

    transition: all 0.3s;

  }

  .about-card:hover {

    border-color: rgba(74,158,255,0.3);

    transform: translateY(-4px);

    box-shadow: 0 10px 40px rgba(0,0,0,0.3);

  }

  .about-card:first-child {

    grid-column: span 2;

    background: linear-gradient(135deg, rgba(26,58,107,0.5), rgba(10,22,40,0.9));

  }

  .about-card-num {

    font-family: 'Syne', sans-serif;

    font-size: 2.5rem;

    font-weight: 800;

    color: var(--accent);

    line-height: 1;

    margin-bottom: 0.3rem;

  }

  .about-card-label {

    font-size: 0.82rem;

    color: var(--muted);

    line-height: 1.5;

  }


  /* CTA */

  #contact {

    padding: 7rem 6%;

    text-align: center;

  }

  .cta-box {

    background: linear-gradient(135deg, rgba(26,58,107,0.4), rgba(10,22,40,0.95));

    border: 1px solid rgba(74,158,255,0.2);

    border-radius: 30px;

    padding: 5rem 3rem;

    max-width: 800px;

    margin: 0 auto;

    position: relative;

    overflow: hidden;

  }

  .cta-box::before {

    content: '';

    position: absolute;

    top: -100px; right: -100px;

    width: 300px; height: 300px;

    background: radial-gradient(circle, rgba(74,158,255,0.15), transparent);

    border-radius: 50%;

  }

  .cta-title {

    font-family: 'Syne', sans-serif;

    font-size: clamp(2rem, 4vw, 3.2rem);

    font-weight: 800;

    letter-spacing: -0.03em;

    margin-bottom: 1rem;

  }

  .cta-desc {

    color: var(--muted);

    margin-bottom: 2.5rem;

    font-size: 1rem;

    line-height: 1.8;

    max-width: 500px;

    margin-left: auto;

    margin-right: auto;

    margin-bottom: 2.5rem;

  }

  .contact-links {

    display: flex;

    gap: 1.5rem;

    justify-content: center;

    flex-wrap: wrap;

    margin-top: 3rem;

    padding-top: 3rem;

    border-top: 1px solid rgba(74,158,255,0.1);

  }

  .contact-item {

    display: flex;

    align-items: center;

    gap: 0.6rem;

    color: var(--muted);

    font-size: 0.88rem;

    text-decoration: none;

    transition: color 0.3s;

  }

  .contact-item:hover { color: var(--accent); }

  .contact-icon {

    width: 34px; height: 34px;

    background: rgba(74,158,255,0.08);

    border: 1px solid rgba(74,158,255,0.15);

    border-radius: 8px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 0.9rem;

  }


  /* FOOTER */

  footer {

    padding: 2rem 6%;

    border-top: 1px solid rgba(74,158,255,0.08);

    display: flex;

    justify-content: space-between;

    align-items: center;

    color: var(--muted);

    font-size: 0.82rem;

  }


  /* Animations */

  @keyframes fadeUp {

    from { opacity: 0; transform: translateY(30px); }

    to { opacity: 1; transform: translateY(0); }

  }

  @keyframes fadeIn {

    from { opacity: 0; }

    to { opacity: 1; }

  }


  .reveal {

    opacity: 0;

    transform: translateY(40px);

    transition: opacity 0.8s ease, transform 0.8s ease;

  }

  .reveal.visible {

    opacity: 1;

    transform: translateY(0);

  }


  /* Progress bars */

  .skill-bar-wrap {

    margin-bottom: 1rem;

  }

  .skill-bar-top {

    display: flex;

    justify-content: space-between;

    margin-bottom: 0.4rem;

    font-size: 0.82rem;

    color: var(--muted);

  }

  .skill-bar {

    height: 4px;

    background: rgba(74,158,255,0.1);

    border-radius: 50px;

    overflow: hidden;

  }

  .skill-bar-fill {

    height: 100%;

    background: linear-gradient(90deg, var(--accent), var(--accent2));

    border-radius: 50px;

    width: 0;

    transition: width 1.2s ease;

  }


  /* Number ticker */

  .ticker { display: inline-block; }


  @media (max-width: 768px) {

    .hero-grid, .about-grid { grid-template-columns: 1fr; }

    .hero-visual { display: none; }

    .nav-links { display: none; }

    .stats-row { gap: 1.2rem; }

  }

</style>

</head>

<body>


<!-- Cursor -->

<div class="cursor" id="cursor"></div>

<div class="cursor-ring" id="cursorRing"></div>


<!-- Stars -->

<div class="stars" id="stars"></div>


<!-- Orbs -->

<div class="orb" style="width:500px;height:500px;background:radial-gradient(circle,rgba(26,58,107,0.6),transparent);top:-100px;left:-100px;--od:8s;--dx:40px;--dy:30px;"></div>

<div class="orb" style="width:400px;height:400px;background:radial-gradient(circle,rgba(74,158,255,0.08),transparent);bottom:20%;right:-80px;--od:11s;--dx:-30px;--dy:40px;"></div>

<div class="orb" style="width:300px;height:300px;background:radial-gradient(circle,rgba(123,97,255,0.07),transparent);top:60%;left:40%;--od:9s;--dx:20px;--dy:-30px;"></div>


<!-- NAV -->

<nav>

  <div class="logo">AS.</div>

  <ul class="nav-links">

    <li><a href="#services">Services</a></li>

    <li><a href="#portfolio">Work</a></li>

    <li><a href="#about">About</a></li>

    <li><a href="#contact">Contact</a></li>

  </ul>

  <a href="#contact" class="btn-primary" style="padding:0.6rem 1.5rem;font-size:0.82rem;">Hire Me ↗</a>

</nav>


<!-- HERO -->

<section id="hero">

  <div class="hero-grid">

    <div class="hero-content">

      <div class="hero-eyebrow">Available for Projects</div>

      <h1 class="hero-title">

        <span class="line1">Aditya</span>

        <span class="line2">Sharma</span>

      </h1>

      <p class="hero-desc">

        Freelance Digital Marketing Specialist helping businesses grow through cutting-edge AI-powered advertising, social media, and web development solutions.

      </p>

      <div class="hero-cta">

        <a href="#services" class="btn-primary">View Services ↓</a>

        <a href="#contact" class="btn-outline">Let's Connect →</a>

      </div>

      <div class="stats-row">

        <div class="stat-item">

          <div class="stat-num">50<span style="color:var(--accent2)">+</span></div>

          <div class="stat-label">Clients Served</div>

        </div>

        <div class="stat-item">

          <div class="stat-num">3<span style="color:var(--accent2)">yr</span></div>

          <div class="stat-label">Experience</div>

        </div>

        <div class="stat-item">

          <div class="stat-num">98<span style="color:var(--accent2)">%</span></div>

          <div class="stat-label">Satisfaction</div>

        </div>

      </div>

    </div>

    <div class="hero-visual">

      <div class="avatar-ring">

        <div class="ring1"></div>

        <div class="ring2"></div>

        <div class="ring3"></div>

        <div class="avatar-center">AS</div>

        <!-- Orbit dots -->

        <div id="orbitDots"></div>

      </div>

    </div>

  </div>

</section>


<!-- SERVICES -->

<section id="services">

  <div class="section-header reveal">

    <div class="section-tag">✦ What I Offer</div>

    <h2 class="section-title">Digital Marketing <span>Services</span></h2>

    <p class="section-sub">Tailored solutions to elevate your brand in the digital landscape — from AI-powered ads to full web development.</p>

  </div>


  <div class="services-grid">


    <div class="service-card featured reveal">

      <div class="featured-badge">Most Popular</div>

      <div class="service-icon">🌐</div>

      <div class="service-name">Website Development</div>

      <div class="service-desc">Fully responsive, high-performance websites crafted to convert visitors into customers. Modern design with SEO-ready architecture.</div>

      <div class="service-price">

        <span class="price-currency">₹</span>

        <span class="price-amount">19,999</span>

        <span class="price-unit">/ project</span>

      </div>

      <ul class="service-features">

        <li>Responsive Design (Mobile + Desktop)</li>

        <li>SEO Optimized Structure</li>

        <li>Fast Loading Performance</li>

        <li>CMS Integration Available</li>

        <li>3 Months Free Support</li>

      </ul>

    </div>


    <div class="service-card reveal">

      <div class="service-icon">🤖</div>

      <div class="service-name">AI Influencer Ads</div>

      <div class="service-desc">Next-gen AI-generated influencer campaigns that drive massive engagement without the influencer price tag.</div>

      <div class="service-price">

        <span class="price-currency">₹</span>

        <span class="price-amount">999</span>

        <span class="price-unit">/ campaign</span>

      </div>

      <ul class="service-features">

        <li>AI Avatar Creation</li>

        <li>Script & Storyboard</li>

        <li>Multi-Platform Ready</li>

        <li>Quick 3-Day Turnaround</li>

      </ul>

    </div>


    <div class="service-card reveal">

      <div class="service-icon">🛍️</div>

      <div class="service-name">AI Product Ads</div>

      <div class="service-desc">Stunning AI-generated product advertisements that make your products stand out in crowded marketplaces.</div>

      <div class="service-price">

        <span class="price-currency">₹</span>

        <span class="price-amount">1,499</span>

        <span class="price-unit">/ campaign</span>

      </div>

      <ul class="service-features">

        <li>Professional Product Visuals</li>

        <li>AI-Enhanced Backgrounds</li>

        <li>A/B Test Variants</li>

        <li>E-commerce Optimized</li>

      </ul>

    </div>


    <div class="service-card reveal">

      <div class="service-icon">📱</div>

      <div class="service-name">Social Media Ads</div>

      <div class="service-desc">High-converting ad campaigns across Instagram, Facebook, YouTube & more — data-driven and audience-targeted.</div>

      <div class="service-price">

        <span class="price-currency">₹</span>

        <span class="price-amount">999</span>

        <span class="price-unit">/ month</span>

      </div>

      <ul class="service-features">

        <li>Instagram & Facebook Ads</li>

        <li>Audience Targeting</li>

        <li>Performance Analytics</li>

        <li>Monthly Reporting</li>

      </ul>

    </div>


    <div class="service-card reveal">

      <div class="service-icon">📈</div>

      <div class="service-name">SEO & Content Strategy</div>

      <div class="service-desc">Rank higher on Google with data-backed SEO strategies and compelling content that drives organic growth.</div>

      <div class="service-price">

        <span class="price-currency">₹</span>

        <span class="price-amount">1,999</span>

        <span class="price-unit">/ month</span>

      </div>

      <ul class="service-features">

        <li>Keyword Research & Analysis</li>

        <li>On-Page Optimization</li>

        <li>Content Calendar</li>

        <li>Backlink Strategy</li>

      </ul>

    </div>


    <div class="service-card reveal">

      <div class="service-icon">⚡</div>

      <div class="service-name">Brand Identity & Design</div>

      <div class="service-desc">Cohesive visual identity — logos, brand kits, and marketing collateral that leave lasting impressions.</div>

      <div class="service-price">

        <span class="price-currency">₹</span>

        <span class="price-amount">2,499</span>

        <span class="price-unit">/ package</span>

      </div>

      <ul class="service-features">

        <li>Logo Design</li>

        <li>Brand Color Palette</li>

        <li>Social Media Templates</li>

        <li>Marketing Collateral</li>

      </ul>

    </div>


  </div>

</section>


<!-- ABOUT -->

<section id="about">

  <div class="about-grid" style="max-width:1200px;margin:0 auto;">

    <div class="about-text reveal">

      <div class="section-tag">✦ About Me</div>

      <h2 class="section-title" style="text-align:left;margin-bottom:1.5rem;">

        Passionate About <span>Digital Growth</span>

      </h2>

      <p>I'm Aditya Sharma, a dedicated freelance digital marketer based in Maharashtra, India. With 3+ years of hands-on experience, I specialize in blending cutting-edge AI tools with proven marketing strategies.</p>

      <p>My approach is data-first — every campaign I run is backed by analytics, market research, and continuous optimization to ensure you get the highest ROI possible.</p>


      <div style="margin-top:2rem;">

        <div class="skill-bar-wrap">

          <div class="skill-bar-top"><span>Social Media Marketing</span><span>95%</span></div>

          <div class="skill-bar"><div class="skill-bar-fill" data-width="95"></div></div>

        </div>

        <div class="skill-bar-wrap">

          <div class="skill-bar-top"><span>AI Advertising</span><span>90%</span></div>

          <div class="skill-bar"><div class="skill-bar-fill" data-width="90"></div></div>

        </div>

        <div class="skill-bar-wrap">

          <div class="skill-bar-top"><span>Web Development</span><span>85%</span></div>

          <div class="skill-bar"><div class="skill-bar-fill" data-width="85"></div></div>

        </div>

        <div class="skill-bar-wrap">

          <div class="skill-bar-top"><span>SEO & Content</span><span>88%</span></div>

          <div class="skill-bar"><div class="skill-bar-fill" data-width="88"></div></div>

        </div>

      </div>


      <div style="display:flex;align-items:center;gap:0.6rem;margin-bottom:1.2rem;color:var(--muted);font-size:0.88rem;">

        <span style="color:var(--accent);">📍</span> Based in <strong style="color:var(--text);">Mumbai, Maharashtra</strong>

        &nbsp;·&nbsp;

        <span style="color:var(--accent);">📞</span> <a href="tel:+919619156904" style="color:var(--text);text-decoration:none;">+91 96191 56904</a>

      </div>

    <div class="about-skills">

        <span class="skill-chip">AI Marketing</span>

        <span class="skill-chip">Meta Ads</span>

        <span class="skill-chip">Google Ads</span>

        <span class="skill-chip">WordPress</span>

        <span class="skill-chip">Canva Pro</span>

        <span class="skill-chip">Analytics</span>

        <span class="skill-chip">Email Marketing</span>

        <span class="skill-chip">Copywriting</span>

      </div>

    </div>


    <div class="about-visual reveal">

      <div class="about-card">

        <div class="about-card-num">₹50L+</div>

        <div class="about-card-label">Revenue Generated for Clients</div>

      </div>

      <div class="about-card">

        <div class="about-card-num">50+</div>

        <div class="about-card-label">Happy Clients</div>

      </div>

      <div class="about-card">

        <div class="about-card-num">200+</div>

        <div class="about-card-label">Campaigns Delivered</div>

      </div>

      <div class="about-card">

        <div class="about-card-num">3x</div>

        <div class="about-card-label">Avg. ROI Delivered</div>

      </div>

    </div>

  </div>

</section>


<!-- PORTFOLIO -->

<section id="portfolio" style="padding:7rem 6%;">

  <div class="section-header reveal">

    <div class="section-tag">✦ My Work</div>

    <h2 class="section-title">Sample <span>Projects</span></h2>

    <p class="section-sub">A glimpse into real campaigns, websites, and AI-powered ads delivered for clients across Mumbai and beyond.</p>

  </div>


  <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;">


    <!-- Card 1 -->

    <div class="portfolio-card reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:20px;overflow:hidden;transition:all 0.4s;cursor:none;">

      <div style="position:relative;overflow:hidden;height:210px;">

        <img src="https://images.unsplash.com/photo-1547658719-da2b51169166?w=600&q=80" alt="Website Development Project" style="width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;" class="port-img">

        <div style="position:absolute;inset:0;background:linear-gradient(to top,rgba(2,12,27,0.9),transparent 60%);"></div>

        <div style="position:absolute;bottom:1rem;left:1.2rem;">

          <span style="font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent2);background:rgba(0,212,255,0.12);border:1px solid rgba(0,212,255,0.25);padding:0.3rem 0.8rem;border-radius:50px;">Web Dev</span>

        </div>

      </div>

      <div style="padding:1.5rem;">

        <div style="font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:0.5rem;">E-Commerce Store — Mumbai Retailer</div>

        <div style="font-size:0.83rem;color:var(--muted);line-height:1.7;margin-bottom:1rem;">Full responsive e-commerce website with payment gateway, inventory system, and SEO optimization. 3x increase in online sales within 60 days.</div>

        <div style="display:flex;justify-content:space-between;align-items:center;">

          <span style="font-size:0.8rem;color:var(--accent);font-weight:500;">₹19,999 · 14-day delivery</span>

          <span style="font-size:0.75rem;color:var(--muted);">🏆 +320% Traffic</span>

        </div>

      </div>

    </div>


    <!-- Card 2 -->

    <div class="portfolio-card reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:20px;overflow:hidden;transition:all 0.4s;cursor:none;">

      <div style="position:relative;overflow:hidden;height:210px;">

        <img src="https://images.unsplash.com/photo-1611162617213-7d7a39e9b1d7?w=600&q=80" alt="Social Media Campaign" style="width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;" class="port-img">

        <div style="position:absolute;inset:0;background:linear-gradient(to top,rgba(2,12,27,0.9),transparent 60%);"></div>

        <div style="position:absolute;bottom:1rem;left:1.2rem;">

          <span style="font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent);background:rgba(74,158,255,0.12);border:1px solid rgba(74,158,255,0.25);padding:0.3rem 0.8rem;border-radius:50px;">Social Ads</span>

        </div>

      </div>

      <div style="padding:1.5rem;">

        <div style="font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:0.5rem;">Instagram Campaign — Fashion Brand</div>

        <div style="font-size:0.83rem;color:var(--muted);line-height:1.7;margin-bottom:1rem;">Managed ₹50K ad spend across Instagram & Facebook for a Mumbai fashion brand. Achieved 4.2x ROAS with targeted reels and story ads.</div>

        <div style="display:flex;justify-content:space-between;align-items:center;">

          <span style="font-size:0.8rem;color:var(--accent);font-weight:500;">₹999/mo · Ongoing</span>

          <span style="font-size:0.75rem;color:var(--muted);">🚀 4.2x ROAS</span>

        </div>

      </div>

    </div>


    <!-- Card 3 -->

    <div class="portfolio-card reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:20px;overflow:hidden;transition:all 0.4s;cursor:none;">

      <div style="position:relative;overflow:hidden;height:210px;">

        <img src="https://images.unsplash.com/photo-1677442136019-21780ecad995?w=600&q=80" alt="AI Influencer Ads" style="width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;" class="port-img">

        <div style="position:absolute;inset:0;background:linear-gradient(to top,rgba(2,12,27,0.9),transparent 60%);"></div>

        <div style="position:absolute;bottom:1rem;left:1.2rem;">

          <span style="font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:#c084fc;background:rgba(192,132,252,0.12);border:1px solid rgba(192,132,252,0.25);padding:0.3rem 0.8rem;border-radius:50px;">AI Influencer</span>

        </div>

      </div>

      <div style="padding:1.5rem;">

        <div style="font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:0.5rem;">AI Avatar Campaign — D2C Brand</div>

        <div style="font-size:0.83rem;color:var(--muted);line-height:1.7;margin-bottom:1rem;">Created a hyper-realistic AI influencer persona for a D2C skincare brand. Viral video ad reached 2M+ impressions in 7 days with zero influencer fees.</div>

        <div style="display:flex;justify-content:space-between;align-items:center;">

          <span style="font-size:0.8rem;color:var(--accent);font-weight:500;">₹999 · 3-day delivery</span>

          <span style="font-size:0.75rem;color:var(--muted);">🔥 2M+ Impressions</span>

        </div>

      </div>

    </div>


    <!-- Card 4 -->

    <div class="portfolio-card reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:20px;overflow:hidden;transition:all 0.4s;cursor:none;">

      <div style="position:relative;overflow:hidden;height:210px;">

        <img src="https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?w=600&q=80" alt="AI Product Ads" style="width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;" class="port-img">

        <div style="position:absolute;inset:0;background:linear-gradient(to top,rgba(2,12,27,0.9),transparent 60%);"></div>

        <div style="position:absolute;bottom:1rem;left:1.2rem;">

          <span style="font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:#34d399;background:rgba(52,211,153,0.12);border:1px solid rgba(52,211,153,0.25);padding:0.3rem 0.8rem;border-radius:50px;">Product Ads</span>

        </div>

      </div>

      <div style="padding:1.5rem;">

        <div style="font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:0.5rem;">AI Product Shoot — Electronics Store</div>

        <div style="font-size:0.83rem;color:var(--muted);line-height:1.7;margin-bottom:1rem;">Replaced expensive product photoshoots with AI-generated visuals for an electronics brand. 15 product images delivered in 24 hours at a fraction of the cost.</div>

        <div style="display:flex;justify-content:space-between;align-items:center;">

          <span style="font-size:0.8rem;color:var(--accent);font-weight:500;">₹1,499 · 24hr delivery</span>

          <span style="font-size:0.75rem;color:var(--muted);">💰 80% Cost Saved</span>

        </div>

      </div>

    </div>


    <!-- Card 5 - Mumbai themed wide -->

    <div class="portfolio-card reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:20px;overflow:hidden;transition:all 0.4s;cursor:none;grid-column:span 2;">

      <div style="display:grid;grid-template-columns:1.2fr 1fr;min-height:200px;">

        <div style="position:relative;overflow:hidden;">

          <img src="https://images.unsplash.com/photo-1580674684081-7617fbf3d745?w=800&q=80" alt="Mumbai Digital Marketing" style="width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;" class="port-img">

          <div style="position:absolute;inset:0;background:linear-gradient(to right,transparent 60%,rgba(10,22,40,0.95));"></div>

        </div>

        <div style="padding:2rem 1.8rem;display:flex;flex-direction:column;justify-content:center;">

          <span style="font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent2);display:block;margin-bottom:0.8rem;">📍 Mumbai Client</span>

          <div style="font-family:'Syne',sans-serif;font-size:1.2rem;font-weight:700;margin-bottom:0.7rem;line-height:1.3;">Full Digital Presence — Real Estate Agency</div>

          <div style="font-size:0.83rem;color:var(--muted);line-height:1.7;margin-bottom:1.2rem;">Website + Social Ads + AI property videos. Helped a Mumbai real estate firm generate 120+ leads in the first month.</div>

          <div style="display:flex;gap:1rem;flex-wrap:wrap;">

            <span style="font-size:0.78rem;background:rgba(74,158,255,0.1);border:1px solid rgba(74,158,255,0.2);color:var(--accent);padding:0.3rem 0.8rem;border-radius:50px;">Website</span>

            <span style="font-size:0.78rem;background:rgba(74,158,255,0.1);border:1px solid rgba(74,158,255,0.2);color:var(--accent);padding:0.3rem 0.8rem;border-radius:50px;">Social Ads</span>

            <span style="font-size:0.78rem;background:rgba(74,158,255,0.1);border:1px solid rgba(74,158,255,0.2);color:var(--accent);padding:0.3rem 0.8rem;border-radius:50px;">AI Videos</span>

          </div>

          <div style="margin-top:1rem;font-size:0.8rem;color:var(--muted);">🏆 120+ Leads · ₹2.4Cr Revenue Generated</div>

        </div>

      </div>

    </div>


  </div>


  <style>

    .portfolio-card:hover { transform:translateY(-8px); border-color:rgba(74,158,255,0.35)!important; box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 40px rgba(74,158,255,0.1); }

    .portfolio-card:hover .port-img { transform:scale(1.07); }

    @media(max-width:768px){ .portfolio-card[style*="grid-column:span 2"],.portfolio-card[style*="grid-column: span 2"]{ grid-column:span 1!important; } .portfolio-card[style*="grid-template-columns:1.2fr"]{display:block;} }

  </style>

</section>


<!-- TESTIMONIALS -->

<section style="padding:4rem 6%;background:linear-gradient(180deg,transparent,rgba(26,58,107,0.05),transparent);">

  <div class="section-header reveal" style="margin-bottom:3rem;">

    <div class="section-tag">✦ Client Love</div>

    <h2 class="section-title">What Clients <span>Say</span></h2>

  </div>

  <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;max-width:1100px;margin:0 auto;">

    <div class="reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:18px;padding:1.8rem;">

      <div style="color:var(--accent);font-size:1.2rem;margin-bottom:1rem;">★★★★★</div>

      <p style="font-size:0.88rem;color:var(--muted);line-height:1.8;margin-bottom:1.2rem;">"Aditya delivered our website in just 12 days. The design is stunning and our online enquiries doubled in the first month. Highly recommended!"</p>

      <div style="display:flex;align-items:center;gap:0.8rem;">

        <div style="width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy2));border:1px solid rgba(74,158,255,0.3);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;color:var(--accent);">RK</div>

        <div><div style="font-size:0.85rem;font-weight:500;">Rahul Kapoor</div><div style="font-size:0.75rem;color:var(--muted);">CEO, KapoorTech Mumbai</div></div>

      </div>

    </div>

    <div class="reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:18px;padding:1.8rem;">

      <div style="color:var(--accent);font-size:1.2rem;margin-bottom:1rem;">★★★★★</div>

      <p style="font-size:0.88rem;color:var(--muted);line-height:1.8;margin-bottom:1.2rem;">"The AI influencer ad blew my mind. We went viral without spending on a real influencer. Aditya is a genius at this AI stuff. Will work again!"</p>

      <div style="display:flex;align-items:center;gap:0.8rem;">

        <div style="width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy2));border:1px solid rgba(74,158,255,0.3);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;color:var(--accent);">PS</div>

        <div><div style="font-size:0.85rem;font-weight:500;">Priya Shah</div><div style="font-size:0.75rem;color:var(--muted);">Founder, GlowSkin D2C Brand</div></div>

      </div>

    </div>

    <div class="reveal" style="background:var(--card);border:1px solid rgba(74,158,255,0.12);border-radius:18px;padding:1.8rem;">

      <div style="color:var(--accent);font-size:1.2rem;margin-bottom:1rem;">★★★★★</div>

      <p style="font-size:0.88rem;color:var(--muted);line-height:1.8;margin-bottom:1.2rem;">"Our social media ads are now generating consistent leads. Aditya is responsive, professional, and the results speak for themselves. 10/10!"</p>

      <div style="display:flex;align-items:center;gap:0.8rem;">

        <div style="width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy2));border:1px solid rgba(74,158,255,0.3);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;color:var(--accent);">AM</div>

        <div><div style="font-size:0.85rem;font-weight:500;">Arjun Mehta</div><div style="font-size:0.75rem;color:var(--muted);">Director, Mehta Realty Mumbai</div></div>

      </div>

    </div>

  </div>

</section>


<!-- CTA -->

<section id="contact">

  <div class="cta-box reveal">

    <div class="section-tag" style="margin:0 auto 1.5rem;">✦ Let's Work Together</div>

    <h2 class="cta-title">Ready to Grow Your <span style="background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;">Business?</span></h2>

    <p class="cta-desc">Whether you need a stunning website, AI-powered ads, or a full digital strategy — I'm here to make it happen. Let's create something remarkable together.</p>

    <div style="display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;">

      <a href="mailto:frelanceraditya@gmail.com" class="btn-primary">📧 Get in Touch</a>

      <a href="tel:+919619156904" class="btn-outline">📞 Schedule a Call</a>

    </div>

    <div class="contact-links">

      <a class="contact-item" href="mailto:frelanceraditya@gmail.com">

        <div class="contact-icon">📧</div>

        frelanceraditya@gmail.com

      </a>

      <a class="contact-item" href="tel:+919619156904">

        <div class="contact-icon">📱</div>

        +91 96191 56904

      </a>

      <a class="contact-item" href="#">

        <div class="contact-icon">📍</div>

        Mumbai, Maharashtra

      </a>

    </div>

  </div>

</section>


<!-- FOOTER -->

<footer>

  <div class="logo">AS.</div>

  <div>© 2025 Aditya Sharma. All rights reserved.</div>

  <div style="color:var(--accent);font-size:0.8rem;">Digital Marketing Freelancer</div>

</footer>


<script>

// Custom cursor

const cursor = document.getElementById('cursor');

const ring = document.getElementById('cursorRing');

let mx = 0, my = 0, rx = 0, ry = 0;

document.addEventListener('mousemove', e => {

  mx = e.clientX; my = e.clientY;

  cursor.style.transform = `translate(${mx - 6}px, ${my - 6}px)`;

});

function animRing() {

  rx += (mx - rx - 18) * 0.12;

  ry += (my - ry - 18) * 0.12;

  ring.style.transform = `translate(${rx}px, ${ry}px)`;

  requestAnimationFrame(animRing);

}

animRing();

document.querySelectorAll('a, button, .service-card, .skill-chip').forEach(el => {

  el.addEventListener('mouseenter', () => {

    cursor.style.transform += ' scale(1.5)';

    ring.style.width = '50px'; ring.style.height = '50px';

  });

  el.addEventListener('mouseleave', () => {

    ring.style.width = '36px'; ring.style.height = '36px';

  });

});


// Stars

const starsEl = document.getElementById('stars');

for (let i = 0; i < 150; i++) {

  const s = document.createElement('div');

  s.className = 'star';

  const sz = Math.random() * 2.5 + 0.5;

  s.style.cssText = `

    width:${sz}px;height:${sz}px;

    top:${Math.random()*100}%;left:${Math.random()*100}%;

    --d:${2 + Math.random()*4}s;

    animation-delay:${Math.random()*4}s;

  `;

  starsEl.appendChild(s);

}


// Orbit dots

const orbitEl = document.getElementById('orbitDots');

const dots = [

  { angle: 0, radius: 155, color: '#4a9eff' },

  { angle: 120, radius: 155, color: '#00d4ff' },

  { angle: 240, radius: 155, color: '#7b61ff' },

  { angle: 60, radius: 118, color: '#4a9eff' },

  { angle: 180, radius: 118, color: '#00d4ff' },

];

dots.forEach(d => {

  const el = document.createElement('div');

  el.style.cssText = `

    position:absolute;width:8px;height:8px;

    border-radius:50%;background:${d.color};

    box-shadow:0 0 10px ${d.color};

    top:50%;left:50%;

    margin:-4px 0 0 -4px;

    transform-origin:${d.radius}px 0;

    transform:rotate(${d.angle}deg) translateX(${d.radius}px);

    animation:orbit${d.radius}${d.angle} ${8 + d.radius/20}s linear infinite;

  `;

  orbitEl.appendChild(el);

  const style = document.createElement('style');

  style.textContent = `

    @keyframes orbit${d.radius}${d.angle} {

      from { transform: rotate(${d.angle}deg) translateX(${d.radius}px); }

      to { transform: rotate(${d.angle + 360}deg) translateX(${d.radius}px); }

    }

  `;

  document.head.appendChild(style);

});


// Scroll reveal

const observer = new IntersectionObserver(entries => {

  entries.forEach((e, i) => {

    if (e.isIntersecting) {

      setTimeout(() => e.target.classList.add('visible'), i * 80);

      // Skill bars

      e.target.querySelectorAll('.skill-bar-fill').forEach(bar => {

        setTimeout(() => bar.style.width = bar.dataset.width + '%', 300);

      });

      observer.unobserve(e.target);

    }

  });

}, { threshold: 0.1 });

document.querySelectorAll('.reveal').forEach(el => observer.observe(el));


// Service cards stagger

document.querySelectorAll('.service-card').forEach((card, i) => {

  card.style.transitionDelay = `${i * 0.08}s`;

});

</script>

</body>

</html>


Comments

Popular posts from this blog

tiwari.classeszx