/* CAD Talent — shared base rules used by every page.
   Page-specific stylesheets (home.css / methodology.css / founder.css) hold
   each page's full design (they intentionally also include their own reset
   and tokens, since the light "home" theme and the dark "methodology /
   founder" theme define different token values) — this file covers the
   handful of rules that are byte-for-byte identical everywhere. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* NOTE: intentionally no overflow-x:hidden on html/body — that ancestor
   overflow silently breaks position:sticky on .nav in production builds.
   Any element that needs horizontal containment (marquees, carousels) sets
   its own overflow:hidden locally instead. */
h1, h2, h3, h4 { margin: 0; line-height: 1.04; letter-spacing: -0.02em; }
p { margin: 0; text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; color: inherit; }
.skip { position: absolute; left: -999px; top: 0; z-index: 200; padding: 10px 16px; border-radius: 4px; }
.skip:focus { left: 12px; top: 12px; }
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity: 1; transform: none; }
.reveal.d1 { transition-delay: .08s; }
.reveal.d2 { transition-delay: .16s; }
.reveal.d3 { transition-delay: .24s; }
.reveal.d4 { transition-delay: .32s; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1 !important; transform: none !important; } }
