/* Alif Analytics — shared styles. Page layout is in each page's inline styles (exported from the design). */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
img { max-width: 100%; height: auto; }

/* Keyboard focus that is always visible */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #C8102E; outline-offset: 3px; border-radius: 4px;
}

/* Skip link for keyboard and screen-reader users */
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; background: #0E0F12; color: #FFFFFF; padding: 10px 16px; border-radius: 6px; font: 600 15px 'IBM Plex Sans', Arial, sans-serif; text-decoration: none; }
.skip-link:focus { top: 12px; }

/* Header: on small screens the menu becomes one scrollable row under the logo */
@media (max-width: 820px) {
  .site-nav { flex-wrap: nowrap !important; overflow-x: auto; width: 100%; padding-bottom: 6px; scrollbar-width: none; gap: 22px !important; }
  .site-nav::-webkit-scrollbar { display: none; }
  .site-nav a { white-space: nowrap; flex: none; }
}

/* Tighter spacing on phones */
@media (max-width: 600px) {
  section > div[style*="padding: 104px 32px"], section > div[style*="padding: 96px 32px"] { padding-top: 64px !important; padding-bottom: 64px !important; }
  section > div[style*="padding: 64px 56px"], section > div[style*="padding: 72px 56px"] { padding: 40px 22px !important; }
  section[style*="padding: 0 32px 104px"] { padding-left: 16px !important; padding-right: 16px !important; }
  dl[style*="grid-template-columns: 180px 1fr"] { grid-template-columns: 1fr !important; gap: 4px !important; }
  dl[style*="grid-template-columns: 180px 1fr"] dd { margin-bottom: 12px !important; }
}

/* FAQ disclosure marker */
details > summary { list-style: none; position: relative; padding-right: 36px; }
details > summary::-webkit-details-marker { display: none; }
details > summary::after { content: "+"; position: absolute; right: 4px; top: 0; font-weight: 400; font-size: 26px; line-height: 1.1; color: #C8102E; }
details[open] > summary::after { content: "−"; }

/* Form feedback */
.form-status:empty { display: none; }
.form-status[data-state="ok"] { color: #7CE3B5; }
.form-status[data-state="error"] { color: #FF9AA4; }
form[data-sending] button[type="submit"] { opacity: 0.6; pointer-events: none; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }

/* Let forms and their fields shrink on narrow screens */
form[data-form] { min-width: 0; }
form[data-form] input, form[data-form] select, form[data-form] textarea { width: 100%; min-width: 0; }
