  /* Base */
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { overflow-x: hidden; }

  /* Scroll line animation */
  .scroll-line {
    width: 100%;
    height: 32px;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(to bottom, transparent, #a8a098);
    animation: scrollDown 2s cubic-bezier(.22,.61,.36,1) infinite;
  }
  @keyframes scrollDown {
    0% { transform: translateY(-100%); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(200%); opacity: 0; }
  }

  /* Navbar scroll */
  #navbar.scrolled {
    background: rgba(250, 248, 246, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(0,0,0,0.06);
  }

  /* Mobile menu transitions */
  #mobileMenu.open {
    opacity: 1;
    pointer-events: all;
  }

  /* Selection */
  ::selection {
    background: #7B2D3B;
    color: white;
  }

  /* Custom scrollbar */
  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: #FAF8F6; }
  ::-webkit-scrollbar-thumb { background: #d1ccc6; border-radius: 4px; }
  ::-webkit-scrollbar-thumb:hover { background: #a8a098; }

  /* Focus visible */
  :focus-visible {
    outline: 2px solid #7B2D3B;
    outline-offset: 2px;
  }

  /* Smooth image loading */
  img {
    image-rendering: -webkit-optimize-contrast;
  }

  /* Reduce motion */
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .scroll-line { animation: none; }
    .reveal { opacity: 1 !important; transform: none !important; }
  }

  /* Print */
  @media print {
    header, footer, .scroll-line, #mobileMenu { display: none !important; }
    body { color: #000; background: #fff; }
  }
