/* ============================================================================
 * pages.css — small per-page tweaks, scoped by body class. Most layout lives
 * in sections.css; keep this file lean.
 * ==========================================================================*/

/* Home: give the hero visual a touch of breathing room on large screens */
@media (min-width: 1024px) {
  .p-home .hero-visual { margin-left: 12px; }
}

/* Plays pages: tinted hero background per audience (set via body class) */
.p-play .play-hero { background:
  radial-gradient(1000px 520px at 0% -20%, var(--tint, rgba(24,104,219,.10)), transparent 60%),
  var(--surface); }
.p-play-qa    { --tint: rgba(24,104,219,.12); }
.p-play-teams { --tint: rgba(73,178,182,.12); }
.p-play-jira  { --tint: rgba(246,150,11,.12); }

/* Platform page: module section anchors clear the sticky header */
.p-platform .module-row { scroll-margin-top: calc(var(--header-h) + 24px); }
.module-row { display: grid; grid-template-columns: 1fr; gap: clamp(28px,5vw,56px); align-items: center; }
.module-row + .module-row { margin-top: var(--section-y); }
@media (min-width: 960px) {
  .module-row { grid-template-columns: 1fr 1fr; }
  .module-row.flip .module-copy { order: 2; }
}
.module-copy .module-head { display: flex; align-items: center; gap: 12px; margin-bottom: var(--s4); }
.module-copy h2 { font-size: var(--fs-h2); }

/* Policies page */
.p-policies .policy-layout { display: grid; grid-template-columns: 1fr; gap: var(--s7); }
@media (min-width: 900px) { .p-policies .policy-layout { grid-template-columns: 240px 1fr; align-items: start; } }
.policy-nav { position: sticky; top: calc(var(--header-h) + 16px); display: flex; flex-direction: column; gap: 4px; }
.policy-nav button { text-align: left; padding: 12px 14px; border-radius: 10px; font-size: var(--fs-sm); font-weight: 700; color: var(--ink-mute); }
.policy-nav button.on { background: var(--blue-tint); color: var(--blue-deep); }
.policy-doc h2 { font-size: var(--fs-h3); margin: 0 0 6px; }
.policy-doc h3 { font-size: 1.125rem; margin: var(--s6) 0 8px; }
.policy-doc p { margin-bottom: var(--s4); color: var(--ink-soft); }
.policy-doc .pmeta { font-size: var(--fs-xs); color: var(--ink-faint); font-weight: 600; margin-bottom: var(--s5); }
.policy-toolbar { display: flex; gap: var(--s3); flex-wrap: wrap; align-items: center; margin-top: var(--s7); padding-top: var(--s5); border-top: 1px solid var(--line); }
.ack-toast { display: inline-flex; align-items: center; gap: 8px; background: var(--green-tint); color: var(--green-deep); border-radius: 10px; padding: 10px 14px; font-size: var(--fs-sm); font-weight: 700; }

@media print {
  .site-header, .site-footer, .cookie-banner, .lumina-fab, .policy-nav, .policy-toolbar, .nav-overlay, .mobile-drawer { display: none !important; }
  body { background: #fff; }
  .policy-doc [data-policy-panel] { display: block !important; page-break-after: always; }
}
