/* Rooted / in motion. Shared only by the two SwiftRoot landing pages.
   Existing navigation, forms, assessment, and sample keep their own runtime. */
.site-v3 {
  --v3-bg: #081d18;
  --v3-panel: #112b23;
  --v3-text: #edf4e9;
  --v3-muted: #b6c7bc;
  --v3-accent: #b8dfb0;
  --v3-gold: #d4c08d;
  --v3-paper: #f3f5ef;
  --v3-paper-ink: #17372d;
  --v2-canvas: var(--v3-paper);
  --v2-ink: var(--v3-paper-ink);
  --v2-muted: #4e6258;
  --v2-forest: var(--v3-bg);
  --v2-line: #ced9cd;
  --v2-lime: var(--v3-accent);
  --v2-soft: #e6ece0;
  background: var(--v2-canvas);
  color: var(--v2-ink);
  -webkit-font-smoothing: antialiased;
}
.dark .site-v3 {
  --v2-canvas: #0d231c;
  --v2-ink: var(--v3-text);
  --v2-muted: var(--v3-muted);
  --v2-line: #355043;
  --v2-soft: #173529;
}
.site-v3 .v2-dark {
  --v2-ink: var(--v3-text);
  --v2-muted: var(--v3-muted);
  --v2-line: #365047;
  --v2-soft: #1b392c;
  background: var(--v3-bg);
  color: var(--v3-text);
}
.site-v3 .v2-wrap,
.site-v3 .home-canvas { max-width: 1440px; padding-inline: clamp(24px, 5vw, 80px); }
.site-v3 .v2-section { padding-block: clamp(64px, 7.5vw, 110px); }
.site-v3 .v2-heading {
  max-width: 23ch;
  font-family: Manrope, "Avenir Next", "Segoe UI", sans-serif;
  font-size: clamp(2rem, 3.45vw, 3.15rem);
  font-weight: 600;
  letter-spacing: -0.055em;
  line-height: 1.14;
}
.site-v3 .v2-heading em,
.site-v3 h1 em { font-style: normal; font-weight: inherit; }
.site-v3 .v2-kicker {
  font-family: Manrope, "Segoe UI", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.65;
}
.site-v3 .v2-lede { font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); line-height: 1.75; }
.site-v3 .v2-copy { font-size: 1.0625rem; line-height: 1.8; }
.site-v3 .v2-note { font-size: 0.875rem; line-height: 1.7; }
.site-v3 .v2-button {
  min-height: 54px;
  padding: 15px 23px;
  border-radius: 7px;
  background: #153d2e;
  border-color: #153d2e;
  color: #f5f9f1;
  box-shadow: none;
  font-size: 0.9375rem;
}
.site-v3 .v2-button:hover { background: #24523b; }
.site-v3 .v2-dark .v2-button,
.dark .site-v3 .v2-button {
  background: var(--v3-accent);
  border-color: var(--v3-accent);
  color: #132b1b;
}
.site-v3 .v2-dark .v2-button:hover,
.dark .site-v3 .v2-button:hover { background: #cbe7c5; }
.site-v3 .v2-button-secondary,
.site-v3 .v2-dark .v2-button-secondary,
.dark .site-v3 .v2-button-secondary {
  color: var(--v2-ink);
  border-color: var(--v2-line);
  background: transparent;
}
.site-v3 .v2-button-secondary:hover { background: var(--v2-soft); }
.site-v3 .v2-button > span { margin-left: 8px; font-size: 1.1rem; }
.site-v3 .v2-actions { gap: 20px; }
.site-v3 .v2-actions > .v2-link { font-size: 0.9375rem; text-decoration: none; }
.site-v3 .v2-actions > .v2-link:hover { text-decoration: underline; text-underline-offset: 6px; }
.site-v3 :where(a, button, input, summary):focus-visible { outline-color: #aa5b27; }
.site-v3 .v2-dark :where(a, button, input, summary):focus-visible,
.site-v3 .home-site-header :where(a, button):focus-visible { outline-color: #e8ca8c; }
.site-v3 .v2-faq summary { font-weight: 600; }
.site-v3 [data-root-signal] { position: relative; isolation: isolate; overflow: clip; }
.site-v3 [data-root-signal] > .v2-wrap { position: relative; z-index: 1; }
.site-v3 [data-parallax-layer] { translate: 0 var(--nature-offset-y, 0px); pointer-events: none; }

/* A quiet forest header connects the brand to both heroes. */
.site-v3 .home-site-header {
  --home-ink: #edf4e9;
  --home-muted: #bdcfc1;
  --home-canvas: #081d18;
  --home-line: #30473d;
  background: #081d18;
  color: #edf4e9;
  border-color: #263e32;
  box-shadow: none;
}
.site-v3 .home-site-header .home-nav-inner { min-height: 88px; }
.site-v3 .home-desktop-nav a,
.site-v3 .paid-flight-plan-back-link { color: #d0ddd1; }
.site-v3 .home-desktop-nav a:hover,
.site-v3 .home-desktop-nav a[aria-current="page"] { color: #f3f7ed; }
.site-v3 .home-desktop-nav a::after,
.site-v3 .home-mobile-links a:not(.home-mobile-primary)::after { background: #a6d998; box-shadow: 0 0 0 1px #a6d99820; }
.site-v3 .home-desktop-nav a[aria-current="page"] { text-decoration: none; }
.site-v3 .home-nav-cta { background: #b8dfb0; border-color: #b8dfb0; color: #142d1c !important; border-radius: 6px; box-shadow: none; }
.site-v3 .home-nav-cta:hover { background: #cbe7c5; box-shadow: none; }
.site-v3 .home-theme-picker { border-color: #476052; border-radius: 6px; }
.site-v3 .home-theme-picker button { color: #c7d9cb; }
.site-v3 .home-theme-picker button[aria-pressed="true"] { background: #2c4e3c; color: #fff; }
.site-v3 .home-menu-toggle { border-color: #476052; color: #edf4e9; border-radius: 6px; }
.site-v3 .home-mobile-panel { background: #10291f; color: #edf4e9; }
.site-v3 .home-mobile-panel :is(a, button, p) { color: #edf4e9; }
.site-v3 .home-mobile-cta { background: #b8dfb0; color: #132b1b !important; }

@media (max-width: 767px) {
  .site-v3 .v2-section { padding-block: 64px; }
  .site-v3 .home-site-header .home-nav-inner { min-height: 76px; }
  .site-v3 .v2-wrap, .site-v3 .home-canvas { padding-inline: 24px; }
  .site-v3 .v2-heading { font-size: clamp(1.875rem, 7.9vw, 2.5rem); }
  .site-v3 .v2-copy { font-size: 1rem; }
  .site-v3 .v2-actions { gap: 12px; }
}
@media (max-width: 359px) {
  .site-v3 .v2-wrap, .site-v3 .home-canvas { padding-inline: 20px; }
  .site-v3 .v2-kicker { letter-spacing: 0.075em; }
}
@media (prefers-reduced-motion: reduce) {
  .site-v3 *, .site-v3 *::before, .site-v3 *::after { scroll-behavior: auto; }
  .site-v3 [data-parallax-layer] { translate: none; }
  .site-v3 .home-desktop-nav a::after,
  .site-v3 .home-mobile-links a:not(.home-mobile-primary)::after { animation: none; }
}
