/* RiskAtlas ZA public site design system — locked October 2026 */
:root{
  --ra-indigo:#2B1E6B;--ra-indigo-deep:#17132F;--ra-plum:#8A2BE2;--ra-coral:#FF6B4A;
  --ra-sand:#F4E7D6;--ra-cloud:#F8FAFC;--ra-ink:#17132F;--ra-muted:#665F7A;
  --ra-line:#E6E0EE;--ra-white:#fff;--ra-radius:16px;--ra-focus:3px solid #8A2BE2
}
:focus-visible{outline:var(--ra-focus);outline-offset:4px}html{scroll-padding-top:84px}.skip-link{position:fixed;z-index:100;top:-80px;left:16px;background:#fff;color:var(--ra-indigo);padding:10px 16px;border:2px solid var(--ra-indigo);border-radius:8px}.skip-link:focus{top:12px}
.brand .mark{width:44px;height:44px;object-fit:contain}.brand{line-height:1.1}.links a,.footer a{border-radius:4px}.links a:hover,.footer a:hover{text-decoration:none}.learn{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.learn:hover{text-decoration-color:currentColor}.mobile-nav{display:none}
.products{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.product{min-height:248px;padding:22px;border-radius:var(--ra-radius);box-shadow:none}.product-top{align-items:flex-start}.product h3{margin:0 0 7px;line-height:1.18}.product p{font-size:.94rem;line-height:1.5;margin:8px 0 18px;color:var(--ra-muted)}.product .learn{font-size:.92rem}.product--developing{background:#FCFAFD;border-color:#E3D9EB}.product--developing .product-logo{opacity:.8}.product--developing h3{color:#332B4A}
@media(max-width:980px){.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;cursor:pointer;border:1px solid var(--ra-line);border-radius:10px;padding:10px 12px;font-weight:800;color:var(--ra-indigo);min-width:64px;text-align:center}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;right:0;top:calc(100% + 12px);width:min(280px,calc(100vw - 24px));display:grid;gap:0;background:#fff;border:1px solid var(--ra-line);border-radius:14px;box-shadow:0 16px 36px rgba(43,30,107,.18);padding:8px}.mobile-nav nav a{padding:12px;border-radius:8px;font-weight:700}.mobile-nav nav a:hover{background:#F7F3FA}}
@media(max-width:640px){.products{grid-template-columns:1fr}.product{min-height:0}.actions>.btn{display:none}.brand{font-size:1.15rem}.brand .mark{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
.footer a.brand{display:flex;align-items:center;gap:12px;font-size:1.45rem}
