 html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; color: #111; background: #fafaf7; }
  .serif { font-family: 'Playfair Display', Georgia, serif; }
  .mono { font-family: 'JetBrains Mono', monospace; letter-spacing: 0.15em; }
  .hero-bg {
    background-image: linear-gradient(rgba(250,250,247,0.90), rgba(250,250,247,0.95)), url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1800&q=80&fit=crop');
    background-size: cover;
    background-position: center;
  }
  .grid-lines {
    background-image:
      linear-gradient(to right, rgba(0,0,0,0.04) 1px, transparent 1px);
    background-size: 8.33% 100%;
  }
  .divider { height: 1px; background: rgba(0,0,0,0.12); }
  .link-underline { position: relative; }
  .link-underline::after {
    content: ''; position: absolute; left: 0; bottom: -4px; width: 0; height: 2px;
    background: #c8102e; transition: width .3s;
  }
  .link-underline:hover::after, .link-underline.active::after { width: 100%; }
  details[open] summary .plus { transform: rotate(45deg); }
  .plus { transition: transform .3s; }
  .marquee { display: flex; animation: scroll 40s linear infinite; }
  @keyframes scroll { from { transform: translateX(0);} to { transform: translateX(-50%);} }

  .form-input-underline {
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(21, 23, 24, .25);
    border-radius: 0;
    padding: 12px 0;
    font-size: 1rem;
    color: var(--graphite);
    width: 100%;
    outline: none;
    transition: border-color .3s ease;
    font-family: Inter, sans-serif;
}