  * { box-sizing: border-box; }
  body { font-family: 'Public Sans', sans-serif; overflow-x: hidden; }
  .material-symbols-outlined { font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; vertical-align:middle; }

  /* ── Animations ── */
  @keyframes fadeInUp  { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
  @keyframes slideDown { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:translateY(0)} }
  @keyframes pulse-ring{
    0%  {box-shadow:0 0 0 0 rgba(106,198,200,.45)}
    70% {box-shadow:0 0 0 14px rgba(106,198,200,0)}
    100%{box-shadow:0 0 0 0 rgba(106,198,200,0)}
  }
  @keyframes gridFade  { from{opacity:0} to{opacity:.07} }
  @keyframes countUp   { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

  .afu { animation: fadeInUp .6s ease both; }
  .d1  { animation-delay:.08s } .d2 { animation-delay:.16s }
  .d3  { animation-delay:.24s } .d4 { animation-delay:.32s }

  /* ── Scroll reveal ── */
  .reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
  .reveal.visible { opacity:1; transform:translateY(0); }

  /* ── Mobile menu ── */
  #mobile-menu { display:none }
  #mobile-menu.open { display:block; animation:slideDown .3s ease both }
  .hamburger span {
    display:block; width:22px; height:2px;
    background:currentColor; border-radius:2px;
    transition:.3s ease; transform-origin:center;
  }
  .hamburger.open span:nth-child(1){ transform:translateY(8px) rotate(45deg) }
  .hamburger.open span:nth-child(2){ opacity:0; transform:scaleX(0) }
  .hamburger.open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg) }

  /* ── Compliance bar ── */
  .compliance-link { position:relative }
  .compliance-link::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:#6ac6c8; transition:.3s }
  .compliance-link:hover::after { width:100% }

  /* ── Report card ── */
  .report-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
  .report-card:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(14,111,115,.12); border-color:rgba(106,198,200,.45); }

  /* ── Tabs ── */
  .tab-btn { transition: all .18s ease; }
  .tab-btn.active {
    color: #0e6f73; border-bottom-color: #0e6f73;
    background: rgba(106,198,200,.06); font-weight:800;
  }
  .dark .tab-btn.active { color:#6ac6c8; border-bottom-color:#6ac6c8; }
  .tab-btn:not(.active):hover { color:#0e6f73; background:rgba(0,0,0,.03); }
  .dark .tab-btn:not(.active):hover { color:#6ac6c8; background:rgba(255,255,255,.04); }
  .tab-panel { display:none; animation: fadeInUp .35s ease both; }
  .tab-panel.active { display:block; }

  /* ── Prose ── */
  .legal-prose h5 { font-size:.9375rem; font-weight:800; color:#0e6f73; margin:1.75rem 0 .5rem; }
  .dark .legal-prose h5 { color:#6ac6c8; }
  .legal-prose p  { font-size:.875rem; color:#475569; line-height:1.75; margin-bottom:1rem; }
  .dark .legal-prose p { color:#94a3b8; }
  .legal-prose .note {
    margin-top:1.5rem; padding:1rem 1.25rem;
    background:rgba(106,198,200,.08); border-left:4px solid #6ac6c8;
    border-radius:.5rem; font-style:italic; font-size:.8125rem; color:#64748b;
  }
  .dark .legal-prose .note { background:rgba(106,198,200,.1); color:#94a3b8; }

  /* ── Stat card ── */
  .stat-card { transition: transform .22s ease, box-shadow .22s ease; }
  .stat-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(14,111,115,.10); }

  /* ── CTA btn ── */
  .btn-accent { transition:all .2s; }
  .btn-accent:hover { background:#e9c027; transform:translateY(-1px); box-shadow:0 10px 28px rgba(244,208,63,.35); }
  .btn-accent:active { transform:scale(.98); }

  /* ── Pulse ── */
  .btn-pulse { animation: pulse-ring 2.2s infinite; }

  /* ── Social ── */
  .social-btn { transition:all .2s; }
  .social-btn:hover { transform:translateY(-2px); }

  /* ── Grid bg ── */
  .grid-bg { animation: gridFade .8s ease both; animation-delay:.3s; }

  /* scrollbar-hide */
  .scrollbar-none::-webkit-scrollbar { display:none; }
  .scrollbar-none { -ms-overflow-style:none; scrollbar-width:none; }

  html { scroll-behavior:smooth; }