/** Shopify CDN: Minification failed

Line 74:11 Unexpected "{"
Line 74:20 Expected ":"
Line 82:11 Unexpected "{"
Line 82:20 Expected ":"

**/
/* Liberty & Victory: Modern Font Extension (non-overriding) */
/* Purpose: improve rendering; DO NOT replace theme font choices. */

/* 0) Optional fallbacks only (do not touch theme's variables) */
:root {
  --lv-fallback-sans: "Inter", "Segoe UI", "Roboto", "Noto Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
}

/* 1) Global text rendering and smoothing */
html, body {
  /* keep whatever the theme chose; only add fallbacks if the chosen font fails */
  font-family: var(--font-body-family), var(--lv-fallback-sans);
  font-feature-settings: "liga", "kern", "calt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 2) Headings follow theme settings; don't hardcode weight */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading-family), var(--lv-fallback-sans);
  font-weight: var(--font-heading-weight);
  letter-spacing: 0.01em;
  line-height: 1.15;
}

/* 3) Nav + controls: inherit theme body font and weight */
.header__inline-menu a,
.header__menu-item,
button, input, select, textarea {
  font-family: var(--font-body-family), var(--lv-fallback-sans);
  font-weight: var(--font-body-weight);
  letter-spacing: 0.02em;
}

/* 4) Kill legacy hardcoded stacks if any, without forcing a new one */
.header,
.header__content,
.header__inline-menu,
.menu-drawer {
  font-family: inherit !important;
}
/* Hero image fix for Liberty & Victory */
.banner__media img {
  object-fit: contain !important;  /* prevents zoom/crop */
  object-position: center center !important; /* centers the family */
  max-height: 100vh; /* ensures full-screen hero look */
  width: 100%;
}
/* === Liberty & Victory Hero Image Override === */
.banner__media img {
  object-fit: contain !important;
  object-position: center top !important;
  background-color: #f5f5f5; /* optional neutral filler */
}

/* Optional hybrid mode: cover on mobile, contain on desktop */
@media (max-width: 767px) {
  .banner__media img {
    object-fit: cover !important;
    object-position: center 20% !important;
  }
}
/* Desktop/fullscreen: no zoom */
@media (min-width: 990px){
  #Banner-{{ section.id }} .banner__media img{
    animation: none !important;
    transform: none !important;
  }
}

/* Optional: gentle, reversible zoom on mobile only */
@media (max-width: 989px){
  #Banner-{{ section.id }} .banner__media img{
    animation: heroZoom 8s ease-out; /* no forwards */
  }
  @keyframes heroZoom{
    from { transform: scale(1.02); }
    to   { transform: scale(1); }
  }
}
/* Push content below sticky header/announcement */
#MainContent { padding-top: var(--lv-offset, 80px); }

/* Make anchor/first-section scroll positions correct */
#MainContent .shopify-section:first-child { scroll-margin-top: var(--lv-offset, 80px); }

/* If your Hero Split uses a top-anchored caption band, offset it too */
.hero-split .caption-band,
.section-hero-split .caption-band {
  top: var(--lv-offset, 80px);
}

/* Mobile header is shorter; JS measures it, but add a safe fallback */
@media (max-width: 989px){
  #MainContent { padding-top: var(--lv-offset, 60px); }
}
