/* 04 TRUST: benefits chapter + area marquee */
  /* ---------- BENEFITS BENTO (gapless dense, 4+2 / 2+2+2, zero voids) ---------- */
  .benefits { padding: 96px 0; }
  .ben-grid {
    display: grid; grid-template-columns: repeat(6, 1fr);
    grid-auto-flow: dense;
    border: 1px solid #000;
  }
  .ben {
    border-right: 1px solid #000; border-bottom: 1px solid #000;
    background: #fff; display: flex; flex-direction: column;
    overflow: hidden;
    transition: opacity 0.8s cubic-bezier(0.32,0.72,0,1), transform 0.8s cubic-bezier(0.32,0.72,0,1);
  }
  .ben:nth-child(1) { grid-column: span 4; transition-delay: 0s; }
  .ben:nth-child(2) { grid-column: span 2; border-right: none; transition-delay: 0.05s; }
  .ben:nth-child(3) { grid-column: span 2; border-bottom: none; transition-delay: 0.1s; }
  .ben:nth-child(4) { grid-column: span 2; border-bottom: none; transition-delay: 0.15s; }
  .ben:nth-child(5) { grid-column: span 2; border-right: none; border-bottom: none; transition-delay: 0.2s; }
  .ben-img { overflow: hidden; border-bottom: 1px solid #000; }
  .ben-img img {
    width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover;
    filter: grayscale(1) contrast(1.15);
    transform: scale(0.96);
    transition: transform 0.9s cubic-bezier(0.32,0.72,0,1);
  }
  .ben-feature .ben-img img { aspect-ratio: 21 / 10; }
  .ben-grid.visible .ben-img img { transform: scale(1); }
  .ben:hover .ben-img img { transform: scale(1.05); }
  .ben-pad { padding: 32px; display: flex; flex-direction: column; flex-grow: 1; }
  .ben-pad .mono { color: #000; margin-bottom: 16px; display: block; }
  .ben-pad h3 {
    font-weight: 900;
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    letter-spacing: -0.025em; line-height: 1.05;
    margin-bottom: 12px; text-wrap: balance;
  }
  .ben-feature .ben-pad h3 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
  .ben-pad p { color: var(--muted); font-size: 16px; }
  .ben-list { margin-top: 20px; border-top: 1px solid #000; }
  .ben-list li {
    font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
    padding: 10px 0; border-bottom: 1px solid var(--line);
  }
  .ben-giant {
    font-weight: 900;
    font-size: clamp(4rem, 7vw, 7rem);
    letter-spacing: -0.05em; line-height: 1;
    margin: 8px 0 16px;
  }

  /* ---------- MARQUEE ---------- */
  .marquee {
    border-top: 1px solid #000; border-bottom: 1px solid #000;
    margin-top: 96px;
    overflow: hidden;
    background: #fff;
  }
  .marquee-track {
    display: flex; gap: 0; width: max-content;
    animation: scroll 32s linear infinite;
  }
  .marquee:hover .marquee-track { animation-play-state: paused; }
  @keyframes scroll { to { transform: translateX(-50%); } }
  .marquee span {
    font-weight: 900; font-size: clamp(28px, 3.4vw, 44px);
    letter-spacing: -0.01em; text-transform: uppercase;
    padding: 24px 32px;
    white-space: nowrap;
  }
  .marquee span:nth-child(odd) { border-right: 1px solid #000; }
  .marquee span:nth-child(even) {
    color: transparent;
    -webkit-text-stroke: 1.5px #000;
  }
