
  :root { --grad: linear-gradient(135deg, #3b1580 0%, #6d28d9 50%, #db2777 100%); }
  body { font-family: 'DM Sans', sans-serif; color:#1e0b4b; background:#fbf9ff; -webkit-font-smoothing: antialiased; }
  h1,h2,h3,h4 { font-family:'Bricolage Grotesque', sans-serif; letter-spacing:-0.025em; }
  .grad-bg { background: var(--grad); }
  .grad-text { background: linear-gradient(90deg,#7c3aed,#ec4899); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .lime-text { color:#c4f548; }

  .glass { background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
  .glass-light { background: rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

  .grid-bg { background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 44px 44px; }
  .blob { position:absolute; border-radius:50%; filter: blur(70px); pointer-events:none; }

  /* nav */
  .nav-link { position:relative; font-weight:600; font-size:.92rem; color:#3b2a6b; transition:color .2s; }
  .nav-link::after { content:''; position:absolute; left:50%; bottom:-8px; width:6px; height:6px; border-radius:50%; background:#ec4899; transform:translateX(-50%) scale(0); transition:transform .25s; }
  .nav-link:hover, .nav-link.active { color:#6d28d9; }
  .nav-link:hover::after, .nav-link.active::after { transform:translateX(-50%) scale(1); }

  /* buttons */
  .btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-weight:700; border-radius:14px; padding:.85rem 1.5rem; transition: transform .2s, box-shadow .2s, background .2s; cursor:pointer; }
  .btn:active { transform:scale(.97); }
  .btn-primary { background: linear-gradient(135deg,#7c3aed,#db2777); color:#fff; box-shadow:0 12px 26px -10px rgba(124,58,237,.8); }
  .btn-primary:hover { transform:translateY(-2px); box-shadow:0 18px 30px -10px rgba(219,39,119,.7); }
  .btn-lime { background:#c4f548; color:#1e0b4b; box-shadow:0 12px 26px -10px rgba(196,245,72,.6); }
  .btn-lime:hover { transform:translateY(-2px); background:#d4ff63; }
  .btn-ghost-w { border:1.5px solid rgba(255,255,255,.5); color:#fff; }
  .btn-ghost-w:hover { background:rgba(255,255,255,.14); }
  .btn-ghost { border:1.5px solid #7c3aed; color:#6d28d9; background:#fff; }
  .btn-ghost:hover { background:#f6f1ff; }

  /* hero floaters */
  @keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
  .floaty { animation: floaty 5s ease-in-out infinite; }
  .floaty-2 { animation: floaty 6.5s ease-in-out infinite reverse; }

  /* reveal */
  .reveal { opacity:0; transform:translateY(22px); transition: opacity .7s ease, transform .7s ease; }
  .reveal.in { opacity:1; transform:none; }

  /* marquee */
  @keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
  .marquee-track { display:flex; width:max-content; animation: marquee 30s linear infinite; }
  .marquee:hover .marquee-track { animation-play-state:paused; }

  /* service tabs */
  .tab-btn { transition: all .25s; }
  .tab-btn[aria-selected="true"] { background: linear-gradient(135deg,#7c3aed,#db2777); color:#fff; box-shadow:0 12px 24px -12px rgba(124,58,237,.9); }
  .tab-panel { display:none; }
  .tab-panel.active { display:grid; animation: fadeIn .45s ease; }
  @keyframes fadeIn { from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }

  /* process connector */
  .step-line { background: repeating-linear-gradient(90deg, #c4b5fd 0 8px, transparent 8px 16px); height:2px; }

  /* faq */
  .faq-body { display:grid; grid-template-rows:0fr; transition: grid-template-rows .35s ease; }
  .faq-item.open .faq-body { grid-template-rows:1fr; }
  .faq-body > div { overflow:hidden; }
  .faq-item.open { border-color:#a78bfa; box-shadow:0 18px 32px -20px rgba(109,40,217,.5); }
  .faq-item.open .faq-icon { transform:rotate(45deg); background:#7c3aed; color:#fff; }
  .faq-icon { transition: transform .3s, background .3s; }

  /* inputs */
  .field { width:100%; border-radius:14px; padding:.9rem 1.1rem; background:#f6f1ff; color:#1e0b4b; border:2px solid transparent; outline:none; transition:border .2s, box-shadow .2s, background .2s; font-size:.95rem; }
  .field:focus { background:#fff; border-color:#7c3aed; box-shadow:0 0 0 4px rgba(124,58,237,.15); }
  .field.err { border-color:#ef4444; background:#fff5f5; }

  /* footer giant wordmark */
  .giant { font-family:'Bricolage Grotesque'; font-weight:800; line-height:.8; letter-spacing:-.04em;
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)); -webkit-background-clip:text; background-clip:text; color:transparent; }

  :focus-visible { outline:3px solid #c4f548; outline-offset:3px; border-radius:8px; }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation:none !important; transition:none !important; }
    .reveal { opacity:1; transform:none; }
  }





   /* services */

 .svc-tab { padding:.6rem 1.15rem; border-radius:999px; font-weight:700; font-size:.88rem; background:#fff; border:1.5px solid #ebe0ff; color:#5b21b6; transition:all .25s; }
  .svc-tab:hover { border-color:#a78bfa; }
  .svc-tab[aria-selected="true"] { background:linear-gradient(135deg,#7c3aed,#db2777); color:#fff; border-color:transparent; box-shadow:0 12px 24px -12px rgba(124,58,237,.9); }
  .svc-card { position:relative; background:#fff; border:1px solid #ebe0ff; border-radius:24px; padding:1.5rem; transition:transform .3s, box-shadow .3s, border-color .3s; animation:cardIn .45s ease both; overflow:hidden; }
  .svc-card::before { content:''; position:absolute; inset:0 0 auto 0; height:4px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .35s; }
  .svc-card:hover { transform:translateY(-6px); border-color:#c4b5fd; box-shadow:0 26px 40px -24px rgba(109,40,217,.55); }
  .svc-card:hover::before { transform:scaleX(1); }
  .svc-card:hover .svc-ico { background:var(--grad); color:#fff; transform:rotate(-6deg) scale(1.05); }
  .svc-ico { width:56px; height:56px; border-radius:16px; display:grid; place-items:center; background:#f6f1ff; color:#6d28d9; transition:all .3s; }
  .svc-num { position:absolute; top:1rem; right:1.25rem; font-family:'Bricolage Grotesque'; font-weight:800; font-size:2.6rem; line-height:1; color:#f1eaff; }
  @keyframes cardIn { from { opacity:0; transform:translateY(16px) } to { opacity:1; transform:none } }
  :focus-visible { outline:3px solid #c4f548; outline-offset:3px; border-radius:10px; }
  @media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } }
