.gr-glance { margin: 1.2rem 0 1.6rem; }
.gr-glance .fest-table th { width: 38%; white-space: normal; }
.gr-safety, .gr-method { margin: 1.4rem 0 1.8rem; padding: 1.1rem 1.25rem; border: 1px solid var(--parchment-edge); border-left: 3px solid var(--gold-ink); border-radius: 6px; background: var(--parchment-dark); }
.gr-safety h2, .gr-method h2 { margin: 0 0 0.6rem; font-size: 1.15rem; }
.gr-safety p, .gr-method p, .gr-safety li { margin: 0.4rem 0; font-size: 0.95rem; line-height: 1.65; }
.gr-safety ul { margin: 0.4rem 0 0 1.2rem; padding: 0; }
.gr-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 0.9rem; margin: 1rem 0 1.6rem; }
.gr-card { display: block; padding: 0.9rem 1rem; border: 1px solid var(--parchment-edge); border-radius: 6px; background: var(--parchment-dark); text-decoration: none; color: var(--ink); }
.gr-card strong { display: block; margin-bottom: 0.25rem; color: var(--gold-pale); }
.gr-card em { display: block; font-style: normal; font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-dim); margin-bottom: 0.3rem; }
.gr-card span { font-size: 0.88rem; color: var(--ink-faded); line-height: 1.5; }
.gr-tz { display: block; font-size: 0.78rem; color: var(--ink-dim); font-weight: 400; }
.gr-no td { color: var(--ink-dim); }
.gr-yes { color: var(--ink); }
.gr-matrix th, .gr-matrix td { text-align: center; white-space: nowrap; }
.gr-matrix tbody th { text-align: left; }
.gr-matrix .gr-y { font-weight: 600; }
.gr-matrix .gr-n { color: var(--ink-dim); }
.gr-contacts { margin-top: 1rem; }
