/* Emberwing Labs site tokens: built on the intro/splash palette (black #000000, logo gold #FFB347, "labs" gold #F2C27E, ember #FF6A1A). */
:root {
  /* colour */
  --ew-black: #000000;        /* page background, same as the splash */
  --ew-surface: #0E0B09;      /* cards */
  --ew-line: rgba(242, 194, 126, .28);  /* hairlines, card borders (decorative) */
  --ew-gold: #F2C27E;         /* headings accents, links, buttons, tagline: 12.8:1 on black */
  --ew-gold-bright: #FFB347;  /* logo gold; highlights, hover: 11.8:1 */
  --ew-ember: #FF6A1A;        /* small accents, focus ring: 7.3:1 */
  --ew-text: #F3EADF;         /* body text: 17.6:1 */
  --ew-muted: #A89A8B;        /* secondary text: 7.7:1 */
  --ew-glow: none;
  /* type: Inter (free, Google Fonts / OFL) with system fallback */
  --ew-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ew-fs-xs: .8125rem; --ew-fs-sm: .9375rem; --ew-fs-md: 1.0625rem; --ew-fs-lg: 1.375rem;
  --ew-fs-xl: 2rem; --ew-fs-2xl: clamp(2.25rem, 4vw + 1rem, 3.5rem);
  --ew-lh-tight: 1.15; --ew-lh-body: 1.6;
  --ew-fw-light: 300; --ew-fw-regular: 400; --ew-fw-semibold: 600;
  --ew-tracking-tagline: .06em; --ew-tracking-kicker: .14em;
  /* gaps (4px base) */
  --ew-gap-1: 4px; --ew-gap-2: 8px; --ew-gap-3: 12px; --ew-gap-4: 16px; --ew-gap-5: 24px;
  --ew-gap-6: 32px; --ew-gap-7: 48px; --ew-gap-8: 64px; --ew-gap-9: 96px;
  --ew-content: 1120px;
  /* radius */
  --ew-radius-sm: 8px; --ew-radius-md: 14px; --ew-radius-lg: 20px; --ew-radius-pill: 999px;
  /* motion */
  --ew-ease: cubic-bezier(.2, .7, .2, 1); --ew-fast: 150ms; --ew-base: 250ms; --ew-slow: 400ms;
}
body { background: var(--ew-black); color: var(--ew-text); font-family: var(--ew-font); line-height: var(--ew-lh-body); }
a { color: var(--ew-gold); } a:hover { color: var(--ew-gold-bright); }
:focus-visible { outline: 2px solid var(--ew-ember); outline-offset: 3px; }
.ew-accent { color: var(--ew-gold); display: inline-block; }     /* accent SVGs use currentColor */
.ew-accent svg { width: 100%; height: auto; display: block; }
@media (prefers-reduced-motion: no-preference) {
  .ew-dragonfly .df-wing { animation: ew-flutter 1.6s var(--ew-ease) infinite; }
  .ew-dragonfly .df-right { animation-name: ew-flutter-r; }
  .ew-dragonfly .df-back { animation-delay: 80ms; }
  .ew-sparkle { animation: ew-twinkle 2.4s ease-in-out infinite; }
}
@keyframes ew-flutter   { 0%, 70%, 100% { transform: rotate(0); } 80% { transform: rotate(-8deg); } 90% { transform: rotate(4deg); } }
@keyframes ew-flutter-r { 0%, 70%, 100% { transform: rotate(0); } 80% { transform: rotate(8deg); }  90% { transform: rotate(-4deg); } }
@keyframes ew-twinkle   { 0%, 100% { opacity: .35; transform: scale(.85); } 50% { opacity: 1; transform: scale(1); } }
