/* Product landing (viryaintel.com, viryagrid.com): module cards, the plan table and the per-site accent.
   Loaded after site.css, which is the anshulsaxena.com stylesheet unchanged. Each site sets --accent on body:
   Virya Intelligence keeps saffron, Virya Grid uses ember, so the two read as siblings rather than clones. */
.product { --accent: var(--saffron); --accent-ink: var(--ember-deep); }
.product--grid { --accent: #F08A5D; --accent-ink: var(--ember-deep); }

/* ---------- Module cards (ivory section) ---------- */
.modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 40px 0 0; padding: 0; list-style: none; }
.module {
  display: flex; flex-direction: column; height: 100%; padding: 26px 24px 24px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  text-decoration: none; color: var(--ink);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
a.module:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(20, 23, 58, .1); border-color: rgba(200, 67, 31, .35); }
.module--note { background: var(--sand); }
.module__icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 18px; border-radius: 12px; background: rgba(228, 87, 46, .1); color: var(--accent-ink); }
.module__role { font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-ink); }
.module__name { margin: 6px 0 10px; font-weight: 600; font-size: 1.22rem; line-height: 1.2; letter-spacing: -.02em; }
.module__desc { font-size: .93rem; line-height: 1.6; color: var(--ink-soft); }

/* ---------- Plans (night section) ---------- */
.tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 40px 0 0; padding: 0; list-style: none; }
.tier {
  display: flex; flex-direction: column; padding: 26px 22px 22px; border-radius: var(--radius);
  background: var(--night-2); border: 1px solid rgba(251, 246, 236, .08);
}
.tier--main { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset; }
.tier__name { margin: 0 0 12px; font-weight: 600; font-size: 1.15rem; color: var(--accent); }
.tier__price { margin: 0; font-size: .9rem; color: var(--on-night-soft); }
.tier__num { font-weight: 700; font-size: 2.1rem; letter-spacing: -.03em; color: var(--on-night); margin-right: 4px; }
.tier__alt { margin: 6px 0 0; font-size: .85rem; line-height: 1.55; color: var(--on-night-soft); }
.tier__list { flex: 1; margin: 18px 0 20px; padding: 0; list-style: none; }
.tier__list li { position: relative; padding-left: 22px; margin: 0 0 9px; font-size: .9rem; line-height: 1.5; }
.tier__list li::before { content: ''; position: absolute; left: 2px; top: .45em; width: 10px; height: 6px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg); }
.tier--free .tier__list { flex: 0; margin-bottom: 4px; }
.tier--free .tier__alt { flex: 1; margin-bottom: 20px; }
.tier__soon {
  align-self: flex-start; padding: 7px 14px; border-radius: 999px; font-size: .8rem; font-weight: 600;
  border: 1px solid rgba(251, 246, 236, .3); color: var(--on-night);
}

/* ---------- Privacy page ---------- */
.prose { max-width: 70ch; }
.prose h1 { margin: 0 0 12px; font-weight: 600; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -.03em; line-height: 1.1; }
.prose h2 { margin: 36px 0 10px; font-weight: 600; font-size: 1.3rem; letter-spacing: -.02em; }
.prose p, .prose li { color: var(--ink-soft); line-height: 1.7; }
.prose a { color: var(--ember-deep); }
.prose .updated { font-size: .9rem; }

@media (max-width: 980px) {
  .modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .modules, .tiers { grid-template-columns: 1fr; }
  .module, .tier { padding: 22px 20px; }
}
