* { box-sizing: border-box; }
  html { font-family: 'DM Sans', sans-serif; }

  /* Gradient */
  .brand-gradient { background: linear-gradient(135deg, #06a9c4, #0a4d59); }
  .brand-gradient-text {
    background: linear-gradient(135deg, #06a9c4, #0a4d59);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* Glass */
  .glass-light {
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,0.22);
  }
  .glass-dark {
    background: rgba(0,0,0,0.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,0.10);
  }
  .glass-card {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.16);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  }
  .dark .glass-card {
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(255,255,255,0.08);
  }
  .glass-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 60px rgba(6,169,196,0.15);
    background: rgba(255,255,255,0.14);
  }
  .dark .glass-card:hover {
    background: rgba(6,169,196,0.10);
  }

  /* Glow */
  .glow-circle {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
  }

  /* Theme transition */
  html { transition: background-color 0.3s ease, color 0.3s ease; }

  /* FAQ accordion */
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.3s ease;
  }
  .faq-answer.open { max-height: 300px; }

  /* Mobile menu */
  .mobile-menu {
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
  .mobile-menu.open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .menu-overlay {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .menu-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }

  /* Hamburger lines */
  .ham-line {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .ham-open .ham-top { transform: translateY(7px) rotate(45deg); }
  .ham-open .ham-mid { opacity: 0; }
  .ham-open .ham-bot { transform: translateY(-7px) rotate(-45deg); }

  /* Toggle switch */
  .toggle-track {
    width: 44px; height: 24px;
    border-radius: 999px;
    position: relative;
    cursor: pointer;
    transition: background 0.3s;
  }
  .toggle-thumb {
    position: absolute;
    top: 3px; left: 3px;
    width: 18px; height: 18px;
    border-radius: 50%;
    background: white;
    transition: transform 0.3s;
  }
  html.dark .toggle-thumb { transform: translateX(20px); }

  /* Hero section */
  .hero-bg {
    background: linear-gradient(135deg, #06a9c4 0%, #085e6e 50%, #0a4d59 100%);
  }

  /* Step connector */
  .step-connector {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(6,169,196,0.4), rgba(10,77,89,0.2));
    margin: 0 16px;
    margin-top: 28px;
  }

  /* Mock resume lines */
  .resume-line { border-radius: 2px; background: currentColor; }

  /* Scroll reveal */
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
  .reveal.visible { opacity: 1; transform: translateY(0); }

  /* Body bg */
  body { background: #f0f9fb; }
  html.dark body { background: #071c21; }
  html.dark { color: #e2e8f0; }

  /* Section bg alternating */
  .section-alt { background: rgba(6,169,196,0.04); }
  html.dark .section-alt { background: rgba(6,169,196,0.06); }

  /* CTA button */
  .btn-gradient {
    background: linear-gradient(135deg, #06a9c4, #0a4d59);
    color: white;
    transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
  }
  .btn-gradient:hover {
    opacity: 0.92;
    transform: translateY(-1px);
    box-shadow: 0 8px 32px rgba(6,169,196,0.35);
  }

  .btn-glass {
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.35);
    color: white;
    backdrop-filter: blur(10px);
    transition: background 0.2s, transform 0.2s;
  }
  .btn-glass:hover {
    background: rgba(255,255,255,0.25);
    transform: translateY(-1px);
  }
  /* Scrollbar width */
::-webkit-scrollbar {
  width: 10px;
}

/* Scrollbar track */
::-webkit-scrollbar-track {
  background: transparent;
}

/* Scrollbar thumb */
::-webkit-scrollbar-thumb {
  background: #06a9c4;
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}

/* Scrollbar thumb hover */
::-webkit-scrollbar-thumb:hover {
  background: #0a4d59;
}
