/* Main nav + full-screen menu (2026 redesign). Loaded after embeds.css/site.css and overrides the Webflow header styles. */
:root { --nav-ease: cubic-bezier(.2,.7,.2,1); --nav-t: .25s; --nav-ink: #0E0F0D; --nav-cream: #F4F1E8; --nav-gold: #C9A23B; --nav-green: #3D7A4E; }
.site-nav ul, .site-menu ul { list-style: none; margin: 0; padding: 0; }
.site-nav { transition: background-color var(--nav-t) var(--nav-ease), padding var(--nav-t) var(--nav-ease), border-color var(--nav-t) var(--nav-ease); }
.site-nav-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }
.site-nav-logo { transition: width var(--nav-t) var(--nav-ease), height var(--nav-t) var(--nav-ease); }
.site-nav-links { display: flex; align-items: center; gap: 30px; justify-self: center; transition: opacity var(--nav-t) var(--nav-ease), visibility var(--nav-t), transform var(--nav-t) var(--nav-ease); }
.site-nav-links > li { display: flex; align-items: center; }
.site-nav-link, .site-nav-phone, .site-nav-cta, .site-nav-toggle { height: 44px; box-sizing: border-box; }
.site-nav-link { display: inline-flex; align-items: center; gap: 6px; line-height: 1; }
.site-nav-chev { width: 12px; height: 12px; transition: transform .2s ease; }
.site-nav-actions { justify-self: end; gap: 20px; }
.site-nav-phone, .site-nav-cta { line-height: 1; }
.site-nav-cta { padding: 0 22px; }

/* About dropdown: opens on hover and on keyboard focus */
.site-nav-dd { position: relative; }
.site-nav-dd-menu { position: absolute; top: 100%; left: 50%; min-width: 190px; padding: 10px; margin-top: 6px; background: rgba(14,15,13,.96); border: 1px solid rgba(244,241,232,.12); border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.35); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); opacity: 0; visibility: hidden; transform: translate(-50%, 6px); transition: opacity .2s var(--nav-ease), transform .2s var(--nav-ease), visibility .2s; }
.site-nav-dd-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.site-nav-dd:hover .site-nav-dd-menu, .site-nav-dd:focus-within .site-nav-dd-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.site-nav-dd.is-closed .site-nav-dd-menu { opacity: 0; visibility: hidden; }
.site-nav-dd:hover .site-nav-chev, .site-nav-dd:focus-within .site-nav-chev { transform: rotate(180deg); }
.site-nav-dd-link { display: block; padding: 10px 14px; border-radius: 8px; font: 500 14px/1.2 'Inter', system-ui, sans-serif; letter-spacing: .05em; text-transform: uppercase; color: var(--nav-cream); text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.site-nav-dd-link:hover, .site-nav-dd-link:focus-visible { color: var(--nav-gold); background: rgba(244,241,232,.06); }
.site-nav-link[aria-current], .site-nav-dd-link[aria-current] { color: #DDB856; }

/* Two-line toggle, morphs into an X */
.site-nav-toggle { display: block; width: 0; height: 46px; margin-left: -20px; opacity: 0; visibility: hidden; overflow: hidden; border: 1px solid rgba(244,241,232,.25) !important; transition: width var(--nav-t) var(--nav-ease), margin var(--nav-t) var(--nav-ease), opacity var(--nav-t) var(--nav-ease), visibility var(--nav-t), background-color .2s ease; }
.site-nav-toggle span { left: 50%; width: 18px; margin-left: -9px; right: auto; transition: transform var(--nav-t) var(--nav-ease), top var(--nav-t) var(--nav-ease); }
.site-nav-toggle span:nth-child(1) { top: 18px; }
.site-nav-toggle span:nth-child(2) { top: 25px; }
html.menu-open .site-nav-toggle span:nth-child(1) { top: 21.5px; transform: rotate(45deg); }
html.menu-open .site-nav-toggle span:nth-child(2) { top: 21.5px; transform: rotate(-45deg); }
.site-nav-toggle:hover { background: rgba(244,241,232,.1); }

/* Scrolled / compact state */
.site-nav.nav--scrolled .site-nav-links { opacity: 0; visibility: hidden; transform: translateY(-4px); pointer-events: none; }
.site-nav.nav--scrolled .site-nav-toggle, html.menu-open .site-nav-toggle { width: 46px; margin-left: 0; opacity: 1; visibility: visible; }
html.menu-open .site-nav { background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Full-screen menu */
.site-menu { padding: 0; display: block; background: var(--nav-ink); opacity: 0; visibility: hidden; clip-path: inset(0 0 100% 0); transition: opacity .3s var(--nav-ease), clip-path .45s var(--nav-ease), visibility 0s linear .45s; overflow-y: auto; overscroll-behavior: contain; }
html.menu-open .site-menu { opacity: 1; visibility: visible; clip-path: inset(0 0 0 0); transition: opacity .25s var(--nav-ease), clip-path .45s var(--nav-ease), visibility 0s; }
.site-menu-grid { min-height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; max-width: 1440px; margin: 0 auto; padding: 140px 40px 48px; box-sizing: border-box; }
.site-menu-col { display: flex; flex-direction: column; justify-content: center; }
.site-menu-links li, .site-menu-sublinks li, .site-menu-actions { opacity: 0; transform: translateY(14px); transition: opacity .35s var(--nav-ease), transform .45s var(--nav-ease); }
html.menu-open .site-menu-links li, html.menu-open .site-menu-sublinks li, html.menu-open .site-menu-actions { opacity: 1; transform: none; transition-delay: calc(.08s + var(--i, 0) * .04s); }
.site-menu-link { display: inline-block; font: 400 clamp(36px, 4.6vw, 68px)/1.05 'Bowlby One', 'Impact', sans-serif; text-transform: uppercase; color: var(--nav-cream); text-decoration: none; padding: 6px 0; border: 0; transition: color .2s ease, transform .25s var(--nav-ease); }
.site-menu-link:hover, .site-menu-link:focus-visible { color: var(--nav-gold); transform: translateX(6px); }
.site-menu-link[aria-current], .site-menu-sublink[aria-current] { color: #DDB856; }
.site-menu-sublinks { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 22px !important; padding-top: 22px !important; border-top: 1px solid rgba(244,241,232,.12); }
.site-menu-sublink { font: 500 15px/1 'Inter', system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: rgba(244,241,232,.75); text-decoration: none; padding: 8px 0; display: inline-block; transition: color .2s ease; }
.site-menu-sublink:hover, .site-menu-sublink:focus-visible { color: var(--nav-gold); }
.site-menu-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 24px; padding-top: 36px; }
.site-menu-cta { height: 52px; padding: 0 28px; }
.site-menu-phone { justify-content: flex-start; }
.site-menu-collage { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(6, 1fr); gap: 12px; max-height: calc(100vh - 188px); min-height: 420px; align-self: center; }
.site-menu-shot { margin: 0; overflow: hidden; border-radius: 16px; background: #1b1c19; opacity: 0; transform: scale(1.04); transition: opacity .5s var(--nav-ease), transform .7s var(--nav-ease); }
html.menu-open .site-menu-shot { opacity: 1; transform: none; transition-delay: .12s; }
.site-menu-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.site-menu-shot.s1 { grid-column: 1 / 4; grid-row: 1 / 4; }
.site-menu-shot.s2 { grid-column: 4 / 7; grid-row: 1 / 5; }
.site-menu-shot.s3 { grid-column: 1 / 4; grid-row: 4 / 7; }
.site-menu-shot.s5 { grid-column: 4 / 7; grid-row: 5 / 7; }

/* Undo the old Webflow breakpoints (1320/1200/640) in favour of these */
@media (max-width: 1320px) { .site-nav-phone-label { display: inline; } }
@media (max-width: 1200px) { .site-nav-links { display: flex; } }
@media (max-width: 1279px) {
  .site-nav-phone-label { display: none; }
  .site-nav-phone { width: 44px; justify-content: center; border-radius: 999px; border: 1px solid rgba(244,241,232,.25); }
  .site-nav-links { gap: 24px; }
}
/* Mobile / tablet: compact bar at all times */
@media (max-width: 991px) {
  .site-nav-inner { grid-template-columns: auto 1fr; padding: 0 24px; }
  .site-nav-links { display: none; }
  .site-nav-logo { width: 100px; height: 69px; }
  .site-nav-toggle { width: 46px; margin-left: 0; opacity: 1; visibility: visible; }
  /* Flex column: links anchored top, CTA + phone + photo strip pinned to the bottom; the middle scrolls on short screens */
  .site-menu-grid { display: flex; flex-direction: column; gap: 0; min-height: 100%; padding: calc(104px + env(safe-area-inset-top)) 24px max(20px, env(safe-area-inset-bottom)); }
  .site-menu-col { display: contents; }
  .site-menu-actions { margin-top: auto; padding-top: 28px; }
  .site-menu-collage { margin-top: 16px; flex: none; align-self: stretch; min-height: 0; max-height: none; grid-template-columns: repeat(4, 1fr); grid-template-rows: none; height: 120px; gap: 8px; }
  .site-menu-shot.s1, .site-menu-shot.s2, .site-menu-shot.s3, .site-menu-shot.s4, .site-menu-shot.s5 { grid-column: auto; grid-row: auto; border-radius: 10px; }
  .site-menu-link { font-size: clamp(30px, 7vw, 48px); }
}
@media (max-width: 640px) {
  .site-nav-inner { padding: 0 20px; }
  .site-nav-logo { width: 90px; height: 62px; }
  .site-nav.nav--scrolled .site-nav-logo { width: 80px; height: 55px; }
  .site-nav-actions { gap: 10px; }
  .site-nav-actions .site-nav-cta { display: none; }
  .site-nav-phone { width: 46px; height: 46px; }
  .site-menu-collage { grid-template-columns: repeat(4, 1fr); height: 96px; }
  .site-menu-actions { flex-direction: column; align-items: stretch; }
  .site-menu-phone { justify-content: center; }
}
/* No nav animation on page load: transitions are enabled one frame after the initial state is set */
html:not(.nav-ready) .site-nav, html:not(.nav-ready) .site-nav *, html:not(.nav-ready) .site-menu, html:not(.nav-ready) .site-menu * { transition: none !important; }

/* Slimmer bar (Oct 26): less vertical padding, logo a hair smaller; the blur is the bar itself only */
.site-nav { padding: 8px 0; }
.site-nav-logo { width: 136px; height: 94px; }
.site-nav.nav--scrolled { padding: 6px 0; }
.site-nav.nav--scrolled .site-nav-logo { width: 92px; height: 64px; }
@media (max-width: 991px) { .site-nav-logo { width: 96px; height: 66px; } }
@media (max-width: 640px) {
  .site-nav { padding: 6px 0; }
  .site-nav-logo { width: 84px; height: 58px; }
  .site-nav.nav--scrolled { padding: 5px 0; }
  .site-nav.nav--scrolled .site-nav-logo { width: 74px; height: 51px; }
}
/* Hero top padding follows the slimmer bar (about 34px shorter on desktop, 32px on mobile) */
.hunting-hero-section, .hero-section-fishing, .hero-section-gator, .legal-hero { padding-top: 128px !important; }
.hero-about { padding-top: 160px !important; }
.hero-contact, .header_cfwf_ejcdxf { padding-top: 204px !important; }
@media (min-width: 641px) { .hero-section { padding-top: 168px !important; } }
@media (max-width: 640px) {
  .hunting-hero-section, .hero-section-fishing, .hero-section-gator, .legal-hero { padding-top: 116px !important; }
  .hero-about { padding-top: 140px !important; }
  .hero-contact, .header_cfwf_ejcdxf { padding-top: 172px !important; }
  .hero-section { padding-top: 104px !important; }
}
