/* Signed Docs Republic — shared site chrome: tokens, header/nav, footer, cookie consent.
   Page-specific components (hero, cards, forms, buttons) stay in each page's own styles.
   Keep this dependency-free and conflict-free (no .card / .btn / .grid / .section here). */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--primary:#4f46e5;--primary-h:#3730a3;--secondary:#0d9488;--bg:#f9fafb;--surface:#fff;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--r:10px}
html{scroll-behavior:smooth}
body{font-family:'Manrope','Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
.container{max-width:1140px;margin:0 auto;padding:0 1.25rem}
a{color:inherit}
/* Header / nav */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-top:.85rem;padding-bottom:.85rem}
.brand{text-decoration:none;color:var(--text);font-weight:800;font-size:1.15rem;display:flex;align-items:center;gap:.45rem}
.brand .mark{font-size:1.35rem}
.site-nav{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.site-nav a{text-decoration:none;color:var(--muted);font-size:.92rem;font-weight:600;transition:color .15s}
.site-nav a:hover,.site-nav a.active{color:var(--primary)}
.nav-cta{background:var(--primary);color:#fff!important;padding:.5rem 1rem;border-radius:8px}
.nav-cta:hover{background:var(--primary-h)}
/* Footer */
.site-footer{background:#1f2937;color:#9ca3af;padding:2.5rem 0 1.5rem;font-size:.9rem}
.fcols{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}
.fb{color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}
.fcol h4{color:#d1d5db;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.65rem}
.fcol a{display:block;color:#9ca3af;text-decoration:none;margin-bottom:.35rem;transition:color .15s}
.fcol a:hover{color:#fff}
.fbottom{border-top:1px solid #374151;margin-top:1.75rem;padding-top:1.4rem;text-align:center;font-size:.8rem;line-height:1.7}
/* Cookie consent banner (injected by /assets/site.js) */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#fff;border-top:2px solid var(--primary);box-shadow:0 -4px 20px rgba(79,70,229,.12);padding:1rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between}
.cookie-banner p{margin:0;font-size:.875rem;color:#374151;flex:1;min-width:200px}
.cookie-banner p a{color:var(--primary)}
.cookie-actions{display:flex;gap:.5rem;flex-shrink:0}
.cookie-btn{padding:.45rem 1rem;font-size:.875rem;border-radius:6px;cursor:pointer;font-family:inherit;font-weight:600}
.cookie-btn.decline{border:1px solid #d1d5db;background:#fff;color:#6b7280}
.cookie-btn.accept{border:none;background:linear-gradient(135deg,#4f46e5,#0d9488);color:#fff}
/* Blog "Related reading" cross-link block */
.related-guides{margin-top:2.25rem;padding-top:1.1rem;border-top:1px solid var(--border);font-size:.92rem;color:var(--muted)}
.related-guides em{font-style:normal}
.related-guides a{color:var(--primary);text-decoration:none;font-weight:600}
.related-guides a:hover{text-decoration:underline}
@media(max-width:680px){.site-nav{gap:.9rem}.site-nav .hide-sm{display:none}.cookie-banner{flex-direction:column;align-items:stretch}.cookie-actions{justify-content:flex-end}}
/* Respect users who prefer reduced motion (WCAG 2.3.3): neutralise animations,
   transitions and smooth scrolling without affecting anyone else. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  html{scroll-behavior:auto}
}
