/* ------------------------------------------------------------------
   Your Social Recipe — landing page design tokens & CSS-only behaviour
   Tokens + base typography + CSS-only state/animation only.
   All layout, spacing, colour and type utilities live in the markup.
   ------------------------------------------------------------------ */

@font-face {
  font-family: 'Cal Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://file.squarespace-cdn.com/content/v2/namespaces/fonts/libraries/sqsp/assets/fec19bde-dde2-4957-93a3-0e8d9b8688bf/latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://file.squarespace-cdn.com/content/v2/namespaces/fonts/libraries/sqsp/assets/00f18ddb-a413-4d95-89fc-565df656a2e1/latin.woff2') format('woff2');
}

:root {
  --paper: #f5f9ff;
  --paper-2: #e7f1ff;
  --ink: #16161d;
  --ink-soft: #55555f;
  --blue: #2c2fed;
  --blue-deep: #1d1fc4;
  --red: #af2218;
  --red-deep: #8d1a12;
  --sky: #d3edfd;
  --line: rgba(22, 22, 29, 0.14);
  --line-strong: rgba(22, 22, 29, 0.28);
  --shadow: rgba(22, 22, 29, 0.28);
  --font-display: 'Cal Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-body: 'PT Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
}

html.dark {
  --paper: #0f0f16;
  --paper-2: #171826;
  --ink: #f5f9ff;
  --ink-soft: #b7b7c6;
  --blue: #3b3ef5;
  --blue-deep: #2c2fed;
  --red: #c22b20;
  --red-deep: #af2218;
  --sky: #22244c;
  --line: rgba(245, 249, 255, 0.16);
  --line-strong: rgba(245, 249, 255, 0.32);
  --shadow: rgba(0, 0, 0, 0.6);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  background-color: var(--paper);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.04;
}

:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
  border-radius: 2px;
}

/* --- native accordion state (details/summary) --- */
summary {
  list-style: none;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

details[open] .faq-sign {
  transform: rotate(45deg);
}

/* --- marquee (CSS-only) --- */
@keyframes sr-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.sr-marquee-track {
  display: flex;
  width: max-content;
  animation: sr-marquee 34s linear infinite;
}

/* --- scroll reveal (CSS-only, class toggled by JS) --- */
.reveal {
  opacity: 0;
  transform: translateY(18px);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-stagger] > *:nth-child(2) {
  transition-delay: 0.07s;
}

[data-stagger] > *:nth-child(3) {
  transition-delay: 0.14s;
}

[data-stagger] > *:nth-child(4) {
  transition-delay: 0.21s;
}

[data-stagger] > *:nth-child(5) {
  transition-delay: 0.28s;
}

[data-stagger] > *:nth-child(6) {
  transition-delay: 0.35s;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .sr-marquee-track {
    animation: none;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  [data-stagger] > * {
    transition-delay: 0s;
  }
}
