/* Compliance Adda site — page-level layout & responsive rules.
   All visual values come from the design-system tokens. */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

html, body { margin: 0; background: var(--surface-page); color: var(--color-ink); }
h1, h2, h3 { text-wrap: balance; margin: 0; }
p { margin: 0; text-wrap: pretty; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 2px; border-radius: 4px; }

.ca-wrap { max-width: var(--container-max); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* section rhythm */
.ca-section { padding: var(--space-3xl) 0; }
@media (min-width: 900px) { .ca-section { padding: 72px 0; } }

/* responsive grids */
.ca-grid { display: grid; gap: var(--space-lg); }
.ca-grid-2 { grid-template-columns: repeat(2, 1fr); }
.ca-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ca-grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) {
  .ca-grid-3, .ca-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .ca-grid-2, .ca-grid-3, .ca-grid-4 { grid-template-columns: 1fr; }
}

/* hero split */
.ca-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-3xl); align-items: center; }
@media (max-width: 980px) { .ca-hero-grid { grid-template-columns: 1fr; } }

/* two-column bands (about, contact) */
.ca-split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3xl); align-items: center; }
@media (max-width: 980px) { .ca-split { grid-template-columns: 1fr; } }

/* nav visibility */
.ca-nav-desktop { display: block; }
.ca-nav-mobile { display: none; }
@media (max-width: 980px) {
  .ca-nav-desktop { display: none; }
  .ca-nav-mobile { display: block; }
}

/* services marketplace layout */
.ca-market { display: grid; grid-template-columns: 264px 1fr; gap: var(--space-2xl); align-items: start; }
@media (max-width: 980px) { .ca-market { grid-template-columns: 1fr; } }
.ca-market-side { position: sticky; top: 96px; }
@media (max-width: 980px) { .ca-market-side { position: static; } }

/* service detail layout */
.ca-detail { display: grid; grid-template-columns: 1fr 340px; gap: var(--space-2xl); align-items: start; }
@media (max-width: 1080px) { .ca-detail { grid-template-columns: 1fr; } }
.ca-detail-rail { position: sticky; top: 96px; }
@media (max-width: 1080px) { .ca-detail-rail { position: static; } }

/* reveal on scroll (subtle, DS-compliant) */
.ca-reveal { opacity: 0; transform: translateY(14px); transition: opacity .4s ease, transform .4s ease; }
.ca-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ca-reveal { opacity: 1; transform: none; } }

/* hide on small screens */
@media (max-width: 700px) { .ca-hide-sm { display: none !important; } }
