Tailwind UI Pattern Registry for humans and agents

agency corporate digital enterprise consulting professional corporate

Agency Corporate

Enterprise-grade digital agency website with case studies, structured service grid, process diagram, and corporate authority.

corporate Responsive Vanilla JS
Live Preview

Sections

navbarheroservicescase-studiesprocessclientsinsightsctafooter

Patterns used

HTML
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Apex Digital — Digital Transformation, Delivered</title>
  <script src="https://cdn.tailwindcss.com"></script>
  <link rel="stylesheet" href="https://webspire.de/webspire-tokens.css">
  <link rel="stylesheet" href="https://webspire.de/webspire-components.css">
  <style>
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
    body { font-family: 'Inter', sans-serif; }

    /* Brand tokens */
    :root {
      --ws-color-accent: oklch(0.49 0.22 264);       /* indigo-600 */
      --ws-color-accent-hover: oklch(0.44 0.22 264);  /* indigo-700 */
      --ws-color-accent-subtle: oklch(0.93 0.06 264); /* indigo-100 */
      --ws-color-accent-muted: oklch(0.82 0.12 264);  /* indigo-200 */
    }

    /* hover-lift snippet */
    .hover-lift {
      --lift-distance: -4px;
      --lift-shadow: 0 8px 24px oklch(0 0 0 / 0.2);
      --lift-duration: 0.25s;
      transition:
        transform var(--lift-duration) cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow var(--lift-duration) cubic-bezier(0.16, 1, 0.3, 1);
    }
    .hover-lift:hover {
      transform: translateY(var(--lift-distance));
      box-shadow: var(--lift-shadow);
    }
    @media (prefers-reduced-motion: reduce) {
      .hover-lift { transition: none; }
    }

    /* Template-specific helpers */
    .step-line { position: relative; }
    .step-line::after {
      content: ''; position: absolute; top: 50%; left: 100%; width: 100%;
      height: 1px; background: var(--ws-color-accent-muted); transform: translateY(-50%);
    }
  </style>
</head>
<body class="bg-white text-neutral-900 antialiased">

  <!-- Navbar -->
  <nav class="ws-navbar fixed top-0 inset-x-0 z-50 bg-white/95 backdrop-blur-sm border-b border-neutral-100" aria-label="Main navigation">
    <div class="max-w-7xl mx-auto flex items-center justify-between px-6 py-4">
      <a href="#" class="text-lg font-bold tracking-tight text-neutral-900">Apex Digital</a>
      <ul class="hidden md:flex items-center gap-8 text-sm font-medium text-neutral-500">
        <li><a href="#services" class="hover:text-neutral-900 transition-colors">Services</a></li>
        <li><a href="#work" class="hover:text-neutral-900 transition-colors">Work</a></li>
        <li><a href="#about" class="hover:text-neutral-900 transition-colors">About</a></li>
        <li><a href="#insights" class="hover:text-neutral-900 transition-colors">Insights</a></li>
        <li><a href="#contact" class="hover:text-neutral-900 transition-colors">Contact</a></li>
      </ul>
      <a href="#contact" class="hidden md:inline-flex items-center bg-neutral-900 text-white text-sm font-medium px-5 py-2.5 rounded-sm hover:bg-indigo-600 transition-colors">
        Start a project
      </a>
      <button id="menu-toggle" class="md:hidden p-2 -mr-2" aria-label="Open menu" aria-expanded="false" aria-controls="mobile-menu">
        <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 6h16M4 12h16M4 18h16"/>
        </svg>
      </button>
    </div>
    <div id="mobile-menu" class="hidden md:hidden border-t border-neutral-100 bg-white px-6 pb-6 pt-4">
      <ul class="flex flex-col gap-4 text-base font-medium text-neutral-700">
        <li><a href="#services" class="block py-1">Services</a></li>
        <li><a href="#work" class="block py-1">Work</a></li>
        <li><a href="#about" class="block py-1">About</a></li>
        <li><a href="#insights" class="block py-1">Insights</a></li>
        <li><a href="#contact" class="block py-1">Contact</a></li>
      </ul>
      <a href="#contact" class="mt-4 block text-center bg-neutral-900 text-white text-sm font-medium px-5 py-2.5 rounded-sm">
        Start a project
      </a>
    </div>
  </nav>

  <!-- Hero -->
  <header class="ws-hero pt-32 pb-20 md:pt-40 md:pb-28">
    <div class="max-w-7xl mx-auto px-6">
      <div class="max-w-3xl">
        <h1 class="text-4xl sm:text-5xl lg:text-7xl font-extrabold leading-tight tracking-tight text-neutral-900">
          Digital transformation,<br />delivered.
        </h1>
        <p class="mt-6 text-lg md:text-xl text-neutral-500 leading-relaxed max-w-2xl">
          We partner with enterprise leaders to design, build, and scale digital products and platforms that drive measurable business outcomes.
        </p>
        <a href="#contact" class="mt-8 inline-flex items-center bg-indigo-600 text-white text-sm font-semibold px-7 py-3.5 rounded-sm hover:bg-indigo-700 transition-colors">
          Start a project
        </a>
      </div>

      <!-- Stats -->
      <div class="ws-stats mt-20 grid grid-cols-2 md:grid-cols-4 border border-neutral-200">
        <div class="px-6 py-8 border-r border-b md:border-b-0 border-neutral-200">
          <div class="text-3xl md:text-4xl font-extrabold text-neutral-900">200+</div>
          <div class="mt-1 text-sm text-neutral-500">Projects Delivered</div>
        </div>
        <div class="px-6 py-8 border-b md:border-b-0 md:border-r border-neutral-200">
          <div class="text-3xl md:text-4xl font-extrabold text-neutral-900">F500</div>
          <div class="mt-1 text-sm text-neutral-500">Fortune 500 Clients</div>
        </div>
        <div class="px-6 py-8 border-r border-neutral-200">
          <div class="text-3xl md:text-4xl font-extrabold text-neutral-900">12</div>
          <div class="mt-1 text-sm text-neutral-500">Countries</div>
        </div>
        <div class="px-6 py-8">
          <div class="text-3xl md:text-4xl font-extrabold text-neutral-900">98%</div>
          <div class="mt-1 text-sm text-neutral-500">Client Retention</div>
        </div>
      </div>
    </div>
  </header>

  <!-- Services -->
  <section id="services" class="ws-features py-20 md:py-28 bg-neutral-50" aria-labelledby="services-heading">
    <div class="max-w-7xl mx-auto px-6">
      <div class="max-w-2xl mb-16">
        <p class="text-xs font-semibold text-neutral-400 uppercase tracking-[0.2em]">What we do</p>
        <h2 id="services-heading" class="mt-3 text-3xl md:text-4xl font-extrabold text-neutral-900 tracking-tight">Capabilities built for complexity.</h2>
      </div>
      <div class="grid md:grid-cols-2 gap-0 border border-neutral-200">
        <!-- Service 01 -->
        <div class="p-8 md:p-10 border-b md:border-r border-neutral-200 group">
          <span class="text-xs font-bold text-indigo-600 tracking-widest">01</span>
          <h3 class="mt-4 text-xl font-bold text-neutral-900">Digital Strategy</h3>
          <p class="mt-3 text-sm text-neutral-500 leading-relaxed">
            Market analysis, competitive positioning, roadmap development, and organizational change management. We define the path before building the product.
          </p>
        </div>
        <!-- Service 02 -->
        <div class="p-8 md:p-10 border-b border-neutral-200 group">
          <span class="text-xs font-bold text-indigo-600 tracking-widest">02</span>
          <h3 class="mt-4 text-xl font-bold text-neutral-900">Experience Design</h3>
          <p class="mt-3 text-sm text-neutral-500 leading-relaxed">
            User research, interaction design, design systems, and prototyping. Interfaces that simplify complexity and increase conversion.
          </p>
        </div>
        <!-- Service 03 -->
        <div class="p-8 md:p-10 md:border-r border-b md:border-b-0 border-neutral-200 group">
          <span class="text-xs font-bold text-indigo-600 tracking-widest">03</span>
          <h3 class="mt-4 text-xl font-bold text-neutral-900">Engineering</h3>
          <p class="mt-3 text-sm text-neutral-500 leading-relaxed">
            Full-stack development, cloud architecture, API design, and platform engineering. Scalable systems built for enterprise-grade reliability.
          </p>
        </div>
        <!-- Service 04 -->
        <div class="p-8 md:p-10 group">
          <span class="text-xs font-bold text-indigo-600 tracking-widest">04</span>
          <h3 class="mt-4 text-xl font-bold text-neutral-900">Data &amp; Analytics</h3>
          <p class="mt-3 text-sm text-neutral-500 leading-relaxed">
            Business intelligence, performance dashboards, A/B testing frameworks, and predictive modeling. Decisions backed by evidence, not assumptions.
          </p>
        </div>
      </div>
    </div>
  </section>

  <!-- Case Studies -->
  <section id="work" class="ws-cards py-20 md:py-28" aria-labelledby="work-heading">
    <div class="max-w-7xl mx-auto px-6">
      <div class="flex flex-col sm:flex-row sm:items-end justify-between gap-4 mb-16">
        <div>
          <p class="text-xs font-semibold text-neutral-400 uppercase tracking-[0.2em]">Selected work</p>
          <h2 id="work-heading" class="mt-3 text-3xl md:text-4xl font-extrabold text-neutral-900 tracking-tight">Results that speak for themselves.</h2>
        </div>
        <a href="#" class="text-sm font-medium text-indigo-600 hover:text-indigo-700 transition-colors">View all case studies</a>
      </div>
      <div class="grid md:grid-cols-3 gap-6">
        <!-- Case Study 1 -->
        <article class="hover-lift group cursor-pointer">
          <div class="aspect-[4/3] bg-slate-800 relative overflow-hidden rounded-sm">
            <div class="absolute inset-0 bg-gradient-to-br from-slate-700/40 to-transparent"></div>
            <span class="absolute top-4 left-4 text-xs font-semibold text-white/70 uppercase tracking-widest">Financial Services</span>
          </div>
          <div class="mt-5">
            <h3 class="text-lg font-bold text-neutral-900 group-hover:text-indigo-600 transition-colors">Global Payments Platform</h3>
            <p class="mt-1 text-sm text-neutral-500">End-to-end redesign of a cross-border payment platform serving 14M+ users across EMEA.</p>
            <div class="mt-4 flex items-center gap-3">
              <span class="text-xs font-bold text-indigo-600">42% conversion increase</span>
              <span class="w-1 h-1 bg-neutral-300 rounded-full" aria-hidden="true"></span>
              <span class="text-xs text-neutral-400">NordBank AG</span>
            </div>
          </div>
        </article>
        <!-- Case Study 2 -->
        <article class="hover-lift group cursor-pointer">
          <div class="aspect-[4/3] bg-neutral-700 relative overflow-hidden rounded-sm">
            <div class="absolute inset-0 bg-gradient-to-br from-neutral-600/40 to-transparent"></div>
            <span class="absolute top-4 left-4 text-xs font-semibold text-white/70 uppercase tracking-widest">Healthcare</span>
          </div>
          <div class="mt-5">
            <h3 class="text-lg font-bold text-neutral-900 group-hover:text-indigo-600 transition-colors">Patient Experience Portal</h3>
            <p class="mt-1 text-sm text-neutral-500">Unified digital patient journey for a hospital network with 23 facilities and 8,000 staff.</p>
            <div class="mt-4 flex items-center gap-3">
              <span class="text-xs font-bold text-indigo-600">3.2x engagement lift</span>
              <span class="w-1 h-1 bg-neutral-300 rounded-full" aria-hidden="true"></span>
              <span class="text-xs text-neutral-400">Meridian Health</span>
            </div>
          </div>
        </article>
        <!-- Case Study 3 -->
        <article class="hover-lift group cursor-pointer">
          <div class="aspect-[4/3] bg-zinc-800 relative overflow-hidden rounded-sm">
            <div class="absolute inset-0 bg-gradient-to-br from-zinc-700/40 to-transparent"></div>
            <span class="absolute top-4 left-4 text-xs font-semibold text-white/70 uppercase tracking-widest">Logistics</span>
          </div>
          <div class="mt-5">
            <h3 class="text-lg font-bold text-neutral-900 group-hover:text-indigo-600 transition-colors">Supply Chain Intelligence</h3>
            <p class="mt-1 text-sm text-neutral-500">Real-time analytics dashboard for a logistics provider managing 2M+ shipments annually.</p>
            <div class="mt-4 flex items-center gap-3">
              <span class="text-xs font-bold text-indigo-600">$18M operational savings</span>
              <span class="w-1 h-1 bg-neutral-300 rounded-full" aria-hidden="true"></span>
              <span class="text-xs text-neutral-400">Vantage Logistics</span>
            </div>
          </div>
        </article>
      </div>
    </div>
  </section>

  <!-- Process -->
  <section id="about" class="ws-steps py-20 md:py-28 bg-neutral-50" aria-labelledby="process-heading">
    <div class="max-w-7xl mx-auto px-6">
      <div class="max-w-2xl mb-16">
        <p class="text-xs font-semibold text-neutral-400 uppercase tracking-[0.2em]">How we work</p>
        <h2 id="process-heading" class="mt-3 text-3xl md:text-4xl font-extrabold text-neutral-900 tracking-tight">A proven framework for complex engagements.</h2>
      </div>
      <div class="grid grid-cols-1 md:grid-cols-4 gap-8 md:gap-0">
        <!-- Step 1 -->
        <div class="relative md:pr-8">
          <div class="flex items-center gap-4 md:flex-col md:items-start">
            <div class="w-12 h-12 bg-indigo-600 text-white flex items-center justify-center text-sm font-bold rounded-sm flex-shrink-0">01</div>
            <div class="hidden md:block w-full h-px bg-indigo-200 mt-6 mr-0"></div>
          </div>
          <h3 class="mt-4 text-lg font-bold text-neutral-900">Discovery</h3>
          <p class="mt-2 text-sm text-neutral-500 leading-relaxed">Stakeholder interviews, audit of existing systems, and definition of success metrics and constraints.</p>
          <div class="hidden md:block absolute top-6 left-12 right-0 h-px bg-indigo-200" aria-hidden="true"></div>
        </div>
        <!-- Step 2 -->
        <div class="relative md:pr-8">
          <div class="flex items-center gap-4 md:flex-col md:items-start">
            <div class="w-12 h-12 bg-indigo-600 text-white flex items-center justify-center text-sm font-bold rounded-sm flex-shrink-0">02</div>
          </div>
          <h3 class="mt-4 text-lg font-bold text-neutral-900">Strategy</h3>
          <p class="mt-2 text-sm text-neutral-500 leading-relaxed">Technical architecture, experience mapping, phased roadmap, and resource planning aligned to business goals.</p>
          <div class="hidden md:block absolute top-6 left-12 right-0 h-px bg-indigo-200" aria-hidden="true"></div>
        </div>
        <!-- Step 3 -->
        <div class="relative md:pr-8">
          <div class="flex items-center gap-4 md:flex-col md:items-start">
            <div class="w-12 h-12 bg-indigo-600 text-white flex items-center justify-center text-sm font-bold rounded-sm flex-shrink-0">03</div>
          </div>
          <h3 class="mt-4 text-lg font-bold text-neutral-900">Execution</h3>
          <p class="mt-2 text-sm text-neutral-500 leading-relaxed">Agile delivery in two-week sprints. Design, engineering, and QA working in parallel with continuous stakeholder review.</p>
          <div class="hidden md:block absolute top-6 left-12 right-0 h-px bg-indigo-200" aria-hidden="true"></div>
        </div>
        <!-- Step 4 -->
        <div class="relative">
          <div class="flex items-center gap-4 md:flex-col md:items-start">
            <div class="w-12 h-12 bg-indigo-600 text-white flex items-center justify-center text-sm font-bold rounded-sm flex-shrink-0">04</div>
          </div>
          <h3 class="mt-4 text-lg font-bold text-neutral-900">Optimization</h3>
          <p class="mt-2 text-sm text-neutral-500 leading-relaxed">Post-launch analytics, performance tuning, A/B testing, and iterative improvement based on real user data.</p>
        </div>
      </div>
    </div>
  </section>

  <!-- Clients -->
  <section class="ws-logo-cloud py-16 md:py-20 border-b border-neutral-100" aria-labelledby="clients-heading">
    <div class="max-w-7xl mx-auto px-6">
      <p id="clients-heading" class="text-xs font-semibold text-neutral-400 uppercase tracking-[0.2em] text-center mb-12">Trusted by industry leaders</p>
      <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-8 items-center">
        <div class="flex items-center justify-center py-4">
          <span class="text-lg font-bold text-neutral-300 tracking-tight">NordBank</span>
        </div>
        <div class="flex items-center justify-center py-4">
          <span class="text-lg font-bold text-neutral-300 tracking-tight">Meridian</span>
        </div>
        <div class="flex items-center justify-center py-4">
          <span class="text-lg font-bold text-neutral-300 tracking-tight">Vantage</span>
        </div>
        <div class="flex items-center justify-center py-4">
          <span class="text-lg font-bold text-neutral-300 tracking-tight">Altiora</span>
        </div>
        <div class="flex items-center justify-center py-4">
          <span class="text-lg font-bold text-neutral-300 tracking-tight">Centriq</span>
        </div>
        <div class="flex items-center justify-center py-4">
          <span class="text-lg font-bold text-neutral-300 tracking-tight">Helix Corp</span>
        </div>
      </div>
    </div>
  </section>

  <!-- Insights -->
  <section id="insights" class="ws-blog py-20 md:py-28" aria-labelledby="insights-heading">
    <div class="max-w-7xl mx-auto px-6">
      <div class="flex flex-col sm:flex-row sm:items-end justify-between gap-4 mb-16">
        <div>
          <p class="text-xs font-semibold text-neutral-400 uppercase tracking-[0.2em]">Insights</p>
          <h2 id="insights-heading" class="mt-3 text-3xl md:text-4xl font-extrabold text-neutral-900 tracking-tight">Perspectives on digital.</h2>
        </div>
        <a href="#" class="text-sm font-medium text-indigo-600 hover:text-indigo-700 transition-colors">All articles</a>
      </div>
      <div class="grid md:grid-cols-2 gap-8">
        <!-- Article 1 -->
        <article class="hover-lift group cursor-pointer border border-neutral-200 rounded-sm overflow-hidden">
          <div class="aspect-[16/9] bg-neutral-100"></div>
          <div class="p-6 md:p-8">
            <div class="flex items-center gap-3 text-xs text-neutral-400">
              <span class="font-semibold text-indigo-600 uppercase tracking-widest">Strategy</span>
              <span class="w-1 h-1 bg-neutral-300 rounded-full" aria-hidden="true"></span>
              <time datetime="2026-03-12">Mar 12, 2026</time>
              <span class="w-1 h-1 bg-neutral-300 rounded-full" aria-hidden="true"></span>
              <span>8 min read</span>
            </div>
            <h3 class="mt-3 text-lg font-bold text-neutral-900 group-hover:text-indigo-600 transition-colors">Why Most Digital Transformations Fail Before They Start</h3>
            <p class="mt-2 text-sm text-neutral-500 leading-relaxed">The organizational alignment problem that technology alone cannot solve, and the framework we use to address it.</p>
          </div>
        </article>
        <!-- Article 2 -->
        <article class="hover-lift group cursor-pointer border border-neutral-200 rounded-sm overflow-hidden">
          <div class="aspect-[16/9] bg-neutral-100"></div>
          <div class="p-6 md:p-8">
            <div class="flex items-center gap-3 text-xs text-neutral-400">
              <span class="font-semibold text-indigo-600 uppercase tracking-widest">Engineering</span>
              <span class="w-1 h-1 bg-neutral-300 rounded-full" aria-hidden="true"></span>
              <time datetime="2026-02-28">Feb 28, 2026</time>
              <span class="w-1 h-1 bg-neutral-300 rounded-full" aria-hidden="true"></span>
              <span>6 min read</span>
            </div>
            <h3 class="mt-3 text-lg font-bold text-neutral-900 group-hover:text-indigo-600 transition-colors">Platform Engineering at Scale: Lessons From 50 Enterprise Migrations</h3>
            <p class="mt-2 text-sm text-neutral-500 leading-relaxed">Patterns, anti-patterns, and the operational maturity model we developed after migrating legacy systems for Fortune 500 clients.</p>
          </div>
        </article>
      </div>
    </div>
  </section>

  <!-- CTA -->
  <section id="contact" class="ws-cta bg-neutral-950 py-20 md:py-28" aria-labelledby="cta-heading">
    <div class="max-w-3xl mx-auto px-6 text-center">
      <h2 id="cta-heading" class="text-3xl md:text-5xl font-extrabold text-white tracking-tight">Ready to transform?</h2>
      <p class="mt-4 text-lg text-neutral-400 max-w-xl mx-auto">Tell us about your challenge. We will respond within one business day with a tailored approach.</p>
      <form class="mt-10 flex flex-col sm:flex-row gap-3 max-w-lg mx-auto" aria-label="Contact form">
        <label for="cta-email" class="sr-only">Email address</label>
        <input type="email" id="cta-email" name="email" required placeholder="your@company.com"
          class="flex-1 bg-neutral-800 border border-neutral-700 text-white text-sm px-5 py-3.5 rounded-sm placeholder:text-neutral-500 focus:outline-none focus:border-indigo-500 transition-colors" />
        <button type="submit" class="bg-indigo-600 text-white text-sm font-semibold px-7 py-3.5 rounded-sm hover:bg-indigo-700 transition-colors whitespace-nowrap">
          Get in touch
        </button>
      </form>
    </div>
  </section>

  <!-- Footer -->
  <footer class="ws-footer bg-neutral-950 border-t border-neutral-800 py-16">
    <div class="max-w-7xl mx-auto px-6">
      <div class="grid grid-cols-1 md:grid-cols-4 gap-10">
        <div>
          <span class="text-lg font-bold text-white tracking-tight">Apex Digital</span>
          <p class="mt-3 text-sm text-neutral-500 leading-relaxed">Enterprise digital transformation consultancy.</p>
        </div>
        <div>
          <h3 class="text-xs font-semibold text-neutral-400 uppercase tracking-widest mb-4">Offices</h3>
          <ul class="space-y-2 text-sm text-neutral-500" role="list">
            <li>New York</li>
            <li>London</li>
            <li>Berlin</li>
          </ul>
        </div>
        <div>
          <h3 class="text-xs font-semibold text-neutral-400 uppercase tracking-widest mb-4">Company</h3>
          <ul class="space-y-2 text-sm text-neutral-500" role="list">
            <li><a href="#services" class="hover:text-white transition-colors">Services</a></li>
            <li><a href="#work" class="hover:text-white transition-colors">Work</a></li>
            <li><a href="#about" class="hover:text-white transition-colors">About</a></li>
            <li><a href="#insights" class="hover:text-white transition-colors">Insights</a></li>
            <li><a href="#contact" class="hover:text-white transition-colors">Contact</a></li>
          </ul>
        </div>
        <div>
          <h3 class="text-xs font-semibold text-neutral-400 uppercase tracking-widest mb-4">Legal</h3>
          <ul class="space-y-2 text-sm text-neutral-500" role="list">
            <li><a href="#" class="hover:text-white transition-colors">Privacy Policy</a></li>
            <li><a href="#" class="hover:text-white transition-colors">Terms of Service</a></li>
            <li><a href="#" class="hover:text-white transition-colors">Imprint</a></li>
          </ul>
        </div>
      </div>
      <div class="mt-14 pt-8 border-t border-neutral-800 flex flex-col sm:flex-row justify-between items-center gap-4">
        <p class="text-xs text-neutral-600">&copy; 2026 Apex Digital. All rights reserved.</p>
        <div class="flex items-center gap-6">
          <a href="#" class="text-xs text-neutral-600 hover:text-neutral-400 transition-colors">LinkedIn</a>
          <a href="#" class="text-xs text-neutral-600 hover:text-neutral-400 transition-colors">Twitter / X</a>
        </div>
      </div>
    </div>
  </footer>

  <!-- Mobile menu toggle -->
  <script>
    const toggle = document.getElementById('menu-toggle');
    const menu = document.getElementById('mobile-menu');
    toggle.addEventListener('click', () => {
      const open = !menu.classList.contains('hidden');
      menu.classList.toggle('hidden');
      toggle.setAttribute('aria-expanded', String(!open));
    });
    document.querySelectorAll('#mobile-menu a').forEach(link => {
      link.addEventListener('click', () => {
        menu.classList.add('hidden');
        toggle.setAttribute('aria-expanded', 'false');
      });
    });
  </script>
</body>
</html>

Enterprise digital agency with sharp, structured design. Numbered services, case study metrics, and a process diagram communicate premium positioning without flashiness.