/** Shopify CDN: Minification failed

Line 49:0 All "@import" rules must come first

**/
/* Falcon Windsocks — Brand tokens and base overrides
 * Layered on top of Dawn. Scoped to custom sections (.falcon-*) so Dawn
 * defaults remain intact elsewhere. */

:root {
  /* Brand palette */
  --falcon-navy-900: #0F172A;
  --falcon-navy-800: #1E293B;
  --falcon-navy-700: #334155;
  --falcon-slate-600: #475569;
  --falcon-slate-500: #64748B;
  --falcon-slate-400: #94A3B8;
  --falcon-slate-200: #E2E8F0;
  --falcon-slate-100: #F1F5F9;
  --falcon-slate-50: #F8FAFC;

  --falcon-orange-500: #F97316;
  --falcon-orange-600: #EA580C;
  --falcon-orange-50: #FFF7ED;

  --falcon-sky-500: #0EA5E9;

  --falcon-border: rgba(15, 23, 42, 0.08);
  --falcon-border-strong: rgba(15, 23, 42, 0.14);

  --falcon-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --falcon-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
  --falcon-shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.08);

  --falcon-radius-sm: 4px;
  --falcon-radius-md: 8px;
  --falcon-radius-lg: 14px;

  /* Typography scale (tight, engineering-grade) */
  --falcon-font-heading: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --falcon-font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --falcon-font-mono: 'IBM Plex Mono', 'SF Mono', 'Menlo', monospace;

  --falcon-tracking-caps: 0.08em;
  --falcon-tracking-tight: -0.015em;
}

/* Import Inter from Google Fonts. Swap for self-hosted later. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&display=swap');

/* Brand text selection */
::selection {
  background: var(--falcon-orange-500);
  color: #fff;
}
::-moz-selection {
  background: var(--falcon-orange-500);
  color: #fff;
}

/* Keyboard focus rings — only when navigating via keyboard (:focus-visible) */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
.falcon-btn:focus-visible,
.falcon-link:focus-visible {
  outline: 2px solid var(--falcon-orange-500);
  outline-offset: 3px;
  border-radius: 2px;
}

/* Global type baseline — overrides Dawn/Horizon's font tokens so any
   Dawn-rendered fragments (footer, visually hidden shop title, default
   sections) inherit Inter instead of the Assistant fallback. Only affects
   typography, not layout. */
:root {
  --font-body-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-heading-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

html {
  font-family: var(--falcon-font-body);
}

/* Reset some Dawn weight inheritance on Falcon sections only.
   Sections set their own color (light sections default to navy via the
   --falcon-section-fg custom property, dark sections override to #fff). */
.falcon-section {
  --falcon-section-fg: var(--falcon-navy-900);
  font-family: var(--falcon-font-body);
  color: var(--falcon-section-fg);
  line-height: 1.6;
}

.falcon-section.falcon-apps,
.falcon-section.falcon-cta {
  --falcon-section-fg: #fff;
}

.falcon-section * {
  box-sizing: border-box;
}

.falcon-section :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--falcon-font-heading);
  letter-spacing: var(--falcon-tracking-tight);
  line-height: 1.15;
  color: inherit;
  font-weight: 700;
  margin: 0 0 0.5em;
}

.falcon-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

@media (min-width: 768px) {
  .falcon-container {
    padding: 0 40px;
  }
}

/* Eyebrow label (small caps above headlines) */
.falcon-eyebrow {
  font-family: var(--falcon-font-mono);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--falcon-tracking-caps);
  color: var(--falcon-orange-600);
  margin-bottom: 16px;
  display: inline-block;
}

.falcon-eyebrow--slate {
  color: var(--falcon-slate-500);
}

/* Buttons */
.falcon-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  font-family: var(--falcon-font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  border-radius: var(--falcon-radius-sm);
  text-decoration: none;
  transition: all 0.15s ease;
  border: 1px solid transparent;
  cursor: pointer;
}

.falcon-btn--primary {
  background: var(--falcon-navy-900);
  color: #fff;
}

.falcon-btn--primary:hover {
  background: var(--falcon-navy-800);
  transform: translateY(-1px);
  box-shadow: var(--falcon-shadow-md);
}

.falcon-btn--secondary {
  background: transparent;
  color: var(--falcon-navy-900);
  border-color: var(--falcon-border-strong);
}

.falcon-btn--secondary:hover {
  background: var(--falcon-slate-50);
  border-color: var(--falcon-navy-900);
}

.falcon-btn--orange {
  background: var(--falcon-orange-500);
  color: #fff;
}

.falcon-btn--orange:hover {
  background: var(--falcon-orange-600);
  transform: translateY(-1px);
  box-shadow: var(--falcon-shadow-md);
}

.falcon-btn .falcon-arrow {
  transition: transform 0.25s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.falcon-btn:hover .falcon-arrow {
  transform: translateX(5px);
}

/* Text link with arrow */
.falcon-link {
  color: var(--falcon-navy-900);
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid transparent;
  transition: all 0.15s ease;
}

.falcon-link:hover {
  color: var(--falcon-orange-600);
  border-bottom-color: var(--falcon-orange-600);
}

.falcon-link .falcon-arrow {
  transition: transform 0.15s ease;
}

.falcon-link:hover .falcon-arrow {
  transform: translateX(3px);
}

/* Compliance pill */
.falcon-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--falcon-border-strong);
  border-radius: 999px;
  font-family: var(--falcon-font-mono);
  font-size: 12px;
  font-weight: 500;
  color: var(--falcon-slate-600);
  letter-spacing: var(--falcon-tracking-caps);
  text-transform: uppercase;
  background: #fff;
}

.falcon-pill--orange {
  border-color: var(--falcon-orange-500);
  color: var(--falcon-orange-600);
  background: var(--falcon-orange-50);
}

/* Reset weird Dawn spacing on new sections */
.shopify-section:has(.falcon-section) {
  padding: 0;
  margin: 0;
}

/* Phone snippet — used in topbar, hero, footer */
.falcon-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
  font-family: var(--falcon-font-body);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: color 0.2s ease;
}
.falcon-phone:hover { color: var(--falcon-orange-500); }
.falcon-phone__icon { flex-shrink: 0; opacity: 0.85; }
.falcon-phone__label {
  font-family: var(--falcon-font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: var(--falcon-tracking-caps);
  opacity: 0.65;
  margin-right: 2px;
}
.falcon-phone__num { font-variant-numeric: tabular-nums; }
.falcon-phone--sm { font-size: 13px; gap: 6px; }
.falcon-phone--light { color: rgba(255, 255, 255, 0.9); }
.falcon-phone--light:hover { color: #fff; }

/* Falcon topbar */
.falcon-topbar {
  background: var(--falcon-navy-900);
  color: rgba(255, 255, 255, 0.82);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.falcon-topbar__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 11px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  font-size: 12px;
  font-family: var(--falcon-font-mono);
  letter-spacing: var(--falcon-tracking-caps);
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .falcon-topbar__inner { padding: 11px 40px; }
}
.falcon-topbar__trust {
  display: none;
  align-items: center;
  gap: 24px;
  color: rgba(255, 255, 255, 0.6);
}
@media (min-width: 768px) {
  .falcon-topbar__trust { display: inline-flex; }
}
.falcon-topbar__item { white-space: nowrap; display: inline-flex; align-items: center; }
.falcon-topbar__item + .falcon-topbar__item::before {
  content: "";
  width: 3px;
  height: 3px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  margin-right: 24px;
  margin-left: -12px;
}
.falcon-topbar__item--highlight {
  color: var(--falcon-orange-400);
  font-weight: 600;
  letter-spacing: 0.14em;
}
.falcon-topbar__dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--falcon-orange-500);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2);
  margin-right: 10px;
  animation: falconTopbarPulse 2.2s ease-in-out infinite;
}
@keyframes falconTopbarPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2); }
  50% { box-shadow: 0 0 0 5px rgba(249, 115, 22, 0.08); }
}
