/* Layout concept: one long, quiet storytelling column. Warm off-white ground, slate type, a single indigo/blue accent, evidence-first cards. Single light look by choice. */
:root {
--ground: #fcfbf9;
  --ground-alt: #efebe5;
  --ground-footer: #f4f2ed;
  --ink: #0f172a;
  --ink-soft: #475569;
  --line: #e2e8f0;
  --accent: #2563eb;
  --accent-deep: #2d1282;
  color-scheme: light;
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
html { scroll-behavior: smooth; }
body { background: var(--ground); color: var(--ink); font-family: 'Inter', system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }
section[id] { scroll-margin-top: 80px; }

/* Scroll reveal: elements below the fold start hidden only once JS has measured them */
.reveal { transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.reveal.rv-hide { opacity: 0; transform: translateY(18px); }

/* Logo marquee */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-track { display: flex; width: max-content; animation: marquee 38s linear infinite; }
/* .marquee:hover .marquee-track { animation-play-state: paused; } */

/* Accordion */
.acc-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease-in-out; }
.acc-body > div { overflow: hidden; }
.acc-item.open .acc-body { grid-template-rows: 1fr; }
.acc-item.open .acc-chev { transform: rotate(180deg); }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
input, select, textarea { font-family: inherit; }
input[type=range] { accent-color: var(--accent); }

@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
.reveal, .reveal.rv-hide { transition: none; opacity: 1; transform: none; }
.marquee-track { animation: none; }
}
