/* sqip public sheet — hero/proof/pricing/faq dressing only.
   Shared components (.nav, .cta, .card, .footer, .hero, .qblock, .proof)
   live in system.css and are NOT redefined here. */
.role-grid { display: grid; gap: var(--s-300); grid-template-columns: repeat(3, 1fr); margin-top: var(--s-400); }
.role-name { font-weight: 600; }
.role-lane { font-size: var(--t-small); }
.price-grid { display: grid; gap: var(--s-300); grid-template-columns: repeat(2, 1fr); margin-top: var(--s-400); }
.price-figure { font-size: var(--t-section); font-weight: 600; letter-spacing: -.01em; }
.disclaimer { margin-top: var(--s-400); padding: 14px 18px; border-radius: var(--r-block); font-size: var(--t-small); }
.on-dark .disclaimer { border-left: 3px solid var(--accent); background: rgba(200, 240, 74, .06); color: var(--ink-dim); }
.deploy-list { list-style: none; margin: var(--s-300) 0 0; padding: 0; display: grid; gap: var(--s-300); }
.deploy-list li { padding-bottom: var(--s-300); border-bottom: 1px dashed var(--hairline-strong); }
.deploy-list li:last-child { border-bottom: 0; }
.faq { margin-top: var(--s-400); display: grid; gap: var(--s-200); }
.faq details { border-radius: var(--r-block); padding: 14px 18px; }
.on-dark .faq details { background: rgba(13, 25, 23, .85); border: 1px solid var(--hairline-strong); }
.faq summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.faq .faq-body { margin-top: var(--s-200); font-size: var(--t-small); }
.on-dark .faq .faq-body { color: var(--ink-dim); }
.contact-panel { margin-top: var(--s-500); }
.limit-list { margin: var(--s-200) 0 0; padding-left: 20px; }
@media (max-width: 900px) { .role-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { .role-grid, .price-grid { grid-template-columns: 1fr; } }
