/*
Theme Name: FCA Firearm Legacy
Theme URI: https://www.forestcityarms.com/
Author: Forest City Arms
Template: kadence
Description: FCA's branded storefront theme, under active migration development.
Version: 0.4.6
Text Domain: fca-legacy
Requires at least: 6.4
Requires PHP: 8.0
*/

:root {
  --fca-green: #183a2b;
  --fca-green-deep: #10251c;
  --fca-evergreen: #18231e;
  --fca-panel: #202a25;
  --fca-sage: #aebcaa;
  --fca-cream: #f4f2ec;
  --fca-paper: #fffefa;
  --fca-ink: #111311;
  --fca-muted: #5c645e;
  --fca-line: #d7d2c8;
  --fca-display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
  --fca-body: Inter, Arial, sans-serif;
  --fca-content: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--fca-cream);
  color: var(--fca-ink);
  font-family: var(--fca-body);
  line-height: 1.55;
}
body, button, input, select, textarea { font-family: var(--fca-body); }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #c69447;
  outline-offset: 3px;
}
img { max-width: 100%; height: auto; }
.fca-wrap { width: min(calc(100% - 48px), var(--fca-content)); margin-inline: auto; }
.fca-skip-link { position: absolute; left: -9999px; top: 8px; z-index: 999; padding: 12px; background: var(--fca-cream); color: var(--fca-ink); }
.fca-skip-link:focus { left: 8px; }

.fca-header { position: relative; z-index: 5; color: var(--fca-cream); background: var(--fca-green); }
.fca-header__inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.fca-brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; flex: 0 0 auto; }
.fca-brand img { width: 56px; height: 58px; object-fit: contain; }
.fca-brand__text { font: 700 28px/.82 var(--fca-display); letter-spacing: .035em; text-transform: uppercase; }
.fca-brand__text small { display: block; margin-top: 7px; font: 600 8px/1 var(--fca-body); letter-spacing: .23em; }
.fca-menu { margin-left: auto; }
.fca-menu ul { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px 27px; margin: 0; padding: 0; list-style: none; }
.fca-menu a { display: block; padding: 10px 0; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.fca-menu a:hover { color: var(--fca-sage); }
.fca-header__account { color: var(--fca-cream); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }

.fca-hero { min-height: 565px; position: relative; display: flex; align-items: center; overflow: hidden; color: #fff; background: radial-gradient(ellipse at 80% 50%, rgba(67,91,72,.62), transparent 46%), linear-gradient(115deg, #10251c 0%, #183a2b 56%, #253a2d 100%); }
.fca-hero::after { content: ""; position: absolute; right: 5%; bottom: 0; width: clamp(150px, 24vw, 355px); height: 88%; background: var(--fca-sage); opacity: .12; mask: url("assets/pine.svg") center bottom / contain no-repeat; pointer-events: none; }
.fca-hero__content { padding-block: 76px; }
.fca-hero__content { position: relative; z-index: 1; }
.fca-eyebrow { margin: 0 0 15px; color: var(--fca-sage); font-size: 10px; font-weight: 700; letter-spacing: .21em; text-transform: uppercase; }
.fca-hero h1 { max-width: 880px; margin: 0; color: var(--fca-cream); font: 800 clamp(58px, 9vw, 116px)/.83 var(--fca-display); letter-spacing: .01em; text-transform: uppercase; }
.fca-hero__lede { max-width: 640px; margin: 25px 0 28px; color: #f3f1eb; font-size: 17px; }
.fca-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.fca-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 14px 19px; border: 1px solid transparent; background: var(--fca-sage); color: var(--fca-green-deep); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.fca-button:hover { background: var(--fca-cream); }
.fca-button--outline { border-color: rgba(244,242,236,.78); background: transparent; color: #fff; }
.fca-button--outline:hover { border-color: var(--fca-sage); background: var(--fca-sage); color: var(--fca-green-deep); }
.fca-proof { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 24px; color: #e0e4df; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.fca-legacy { padding: 86px 0 78px; background: var(--fca-evergreen); color: var(--fca-cream); }
.fca-legacy__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(32px, 6vw, 74px); }
.fca-legacy__brand-logo { display: block; width: 88px; height: auto; margin: 0 0 17px; }
.fca-legacy h2 { margin: 0 0 19px; font: 700 clamp(58px, 7vw, 92px)/.82 var(--fca-display); text-transform: uppercase; }
.fca-legacy h3 { font: 700 22px/1.05 var(--fca-display); text-transform: uppercase; }
.fca-legacy__journey { color: var(--fca-sage); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.fca-legacy__lede { max-width: 625px; color: #d5ddd7; font-size: 15px; line-height: 1.8; }
.fca-legacy__note { max-width: 570px; color: #aeb8b1; font-size: 11px; }
.fca-plan-card { padding: clamp(22px, 3vw, 32px); border: 1px solid #536158; background: var(--fca-panel); }
.fca-plan-card__top { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 19px; margin-bottom: 18px; border-bottom: 1px solid #536158; }
.fca-plan-card__label { color: var(--fca-sage); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.fca-plan-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.fca-plan-options article { padding: 13px 10px; background: var(--fca-evergreen); }
.fca-plan-options strong { display: block; font: 700 26px/.95 var(--fca-display); }
.fca-plan-options span { display: block; margin-top: 6px; color: #bdc7c0; font-size: 9px; }
.fca-plan-card__fine { margin-top: 17px; padding-top: 15px; border-top: 1px solid #536158; color: #aeb8b1; font-size: 10px; }
.fca-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 34px; }
.fca-feature { min-height: 168px; padding: 22px; border: 1px solid #536158; background: var(--fca-panel); }
.fca-feature__number { color: var(--fca-sage); font: 700 27px/.9 var(--fca-display); }
.fca-feature h3 { margin: 13px 0 8px; font: 700 13px/1.2 var(--fca-body); letter-spacing: .1em; }
.fca-feature p { margin: 0; color: #bdc7c0; font-size: 12px; }

.fca-section { padding: 70px 0; }
.fca-section--cream { background: var(--fca-cream); }
.fca-section__title { max-width: 780px; margin: 0 0 18px; font: 700 clamp(38px, 6vw, 62px)/.92 var(--fca-display); text-transform: uppercase; }
.fca-section__lede { max-width: 720px; color: var(--fca-muted); }
.fca-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 32px; background: var(--fca-line); }
.fca-steps article { min-height: 190px; padding: 25px; background: var(--fca-paper); }
.fca-steps strong { color: #70796e; font-size: 10px; letter-spacing: .16em; }
.fca-steps h3 { margin: 22px 0 8px; font: 700 30px/1 var(--fca-display); letter-spacing: .05em; text-transform: uppercase; }
.fca-steps p { margin: 0; color: var(--fca-muted); font-size: 13px; }

.fca-footer { background: var(--fca-green); color: var(--fca-cream); }
.fca-footer__main { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 32px; padding-block: 45px; }
.fca-footer__brand img { width: 46px; height: 52px; object-fit: contain; }
.fca-footer__brand h2 { margin: 10px 0 6px; font: 700 24px/1 var(--fca-display); letter-spacing: .04em; }
.fca-footer__brand p { max-width: 300px; color: #c9d5cd; font-size: 11px; }
.fca-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.fca-footer__column ul { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
.fca-footer__column li { margin: 0; padding: 0; }
.fca-footer__column h3 { margin: 0 0 7px; font: 700 12px/1 var(--fca-display); letter-spacing: .12em; text-transform: uppercase; }
.fca-footer__column a { color: #e2e6e1; font-size: 10px; text-decoration: none; }
.fca-footer__bottom { display: flex; justify-content: space-between; gap: 16px; padding-block: 16px 22px; border-top: 1px solid rgba(255,255,255,.2); color: #d7ded8; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.fca-footer__bottom a { text-decoration: none; }

.fca-page { min-height: 45vh; padding-block: 64px 90px; }
.fca-page__title { margin: 0 0 22px; font: 700 clamp(46px, 7vw, 82px)/.9 var(--fca-display); text-transform: uppercase; }
.fca-page__content { max-width: 860px; }
.fca-page__content h2, .fca-page__content h3 { font-family: var(--fca-display); text-transform: uppercase; }
.fca-pricing-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 30px 0; }
.fca-pricing-card { display: flex; flex-direction: column; min-height: 265px; padding: 25px; border: 1px solid var(--fca-line); background: var(--fca-paper); }
.fca-pricing-card h2 { margin: 0; font: 700 24px/1 var(--fca-display); text-transform: uppercase; }
.fca-pricing-card strong { display: block; margin: 16px 0; font: 700 38px/1 var(--fca-display); }
.fca-pricing-card p { flex: 1; color: var(--fca-muted); font-size: 13px; }
.fca-pricing-card .fca-button { align-self: flex-start; }

@media (max-width: 900px) {
  .fca-header__inner { flex-wrap: wrap; gap: 0 18px; padding-block: 11px; }
  .fca-menu { order: 3; width: 100%; margin: 0; }
  .fca-menu ul { justify-content: center; gap: 3px 17px; }
  .fca-menu a { padding-block: 7px; font-size: 9px; }
  .fca-legacy__grid { grid-template-columns: 1fr; }
  .fca-footer__main { grid-template-columns: 1fr 1fr; }
  .fca-pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .fca-wrap { width: min(calc(100% - 32px), var(--fca-content)); }
  .fca-header__inner { gap: 0 10px; }
  .fca-brand { min-width: 0; }
  .fca-brand img { width: 41px; height: 44px; }
  .fca-brand__text { font-size: 21px; }
  .fca-brand__text small { font-size: 7px; }
  .fca-header__account { font-size: 8px; }
  .fca-menu ul { justify-content: flex-start; gap: 0 14px; }
  .fca-menu ul { max-width: 100%; }
  .fca-menu a { font-size: 8px; letter-spacing: .08em; }
  .fca-hero { min-height: 530px; background-position: 60% center; }
  .fca-hero__content { padding-block: 58px; }
  .fca-hero h1 { font-size: clamp(51px, 16vw, 76px); }
  .fca-hero__lede { font-size: 15px; }
  .fca-legacy { padding-block: 58px; }
  .fca-legacy h2 { font-size: 62px; }
  .fca-plan-options { gap: 5px; }
  .fca-plan-options article { padding: 10px 7px; }
  .fca-plan-options strong { font-size: 22px; }
  .fca-plan-options span { font-size: 8px; }
  .fca-feature-grid, .fca-steps, .fca-pricing-grid { grid-template-columns: 1fr; }
  .fca-footer__main { grid-template-columns: 1fr 1fr; gap: 25px 15px; }
  .fca-footer__brand { grid-column: 1 / -1; }
  .fca-footer__bottom { flex-direction: column; }
}

/* Brand and conversion updates: explicit scope prevents Kadence defaults winning. */
.fca-header,
.fca-footer { font-family: var(--fca-body); }
.fca-header__inner { min-height: 104px; }
.fca-brand img { width: 82px; height: auto; flex: 0 0 auto; }
.fca-menu a,
.fca-header__account {
  color: var(--fca-cream) !important;
  font-family: var(--fca-body) !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .07em;
}
.fca-menu a:hover,
.fca-menu .current-menu-item > a,
.fca-header__account:hover { color: var(--fca-sage) !important; }
.fca-menu a:focus-visible,
.fca-header__account:focus-visible,
.fca-footer a:focus-visible { outline: 2px solid #c69447; outline-offset: 4px; }
.fca-footer__brand img { width: 72px; height: auto; }
.fca-footer__brand h2,
.fca-footer__column h3 { color: var(--fca-cream) !important; }
.fca-footer__column a {
  color: #e2e6e1 !important;
  font-family: var(--fca-body) !important;
  font-size: 13px !important;
  line-height: 1.5;
}
.fca-footer__column a:hover { color: var(--fca-sage) !important; }
.fca-footer__bottom { color: #d7ded8 !important; font-family: var(--fca-body) !important; font-size: 11px; }

.fca-home-section { padding: 76px 0; }
.fca-home-section--paper { background: var(--fca-paper); }
.fca-home-section--green { background: var(--fca-evergreen); color: var(--fca-cream); }
.fca-home-section--green .fca-home-section__intro h2,
.fca-home-section--green .fca-home-card h3,
.fca-home-final h2 { color: var(--fca-cream) !important; }
.fca-home-section__intro { max-width: 760px; margin-bottom: 32px; }
.fca-home-section__intro h2 { margin: 0 0 14px; font: 700 clamp(38px, 5.4vw, 64px)/.94 var(--fca-display); text-transform: uppercase; }
.fca-home-section__intro p:last-child { max-width: 700px; color: var(--fca-muted); font-size: 16px; }
.fca-home-section--green .fca-home-section__intro p:last-child { color: #d5ddd7; }
.fca-home-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.fca-home-card { min-height: 190px; padding: 25px; border: 1px solid var(--fca-line); background: var(--fca-paper); }
.fca-home-section--green .fca-home-card { border-color: #536158; background: var(--fca-panel); }
.fca-home-card__number { color: #70796e; font: 700 28px/.9 var(--fca-display); }
.fca-home-section--green .fca-home-card__number { color: var(--fca-sage) !important; }
.fca-home-card h3 { margin: 17px 0 9px; font: 700 25px/1 var(--fca-display); text-transform: uppercase; }
.fca-home-card p { margin: 0; color: var(--fca-muted); font-size: 14px; }
.fca-home-section--green .fca-home-card p { color: #bdc7c0; }
.fca-home-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 34px; margin: 0; padding: 0; list-style: none; }
.fca-home-list li { padding: 17px 0; border-bottom: 1px solid var(--fca-line); }
.fca-home-list strong { display: block; margin-bottom: 5px; font: 700 22px/1 var(--fca-display); text-transform: uppercase; }
.fca-home-list span { color: var(--fca-muted); font-size: 14px; }
.fca-home-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 36px; }
.fca-home-faq article { padding-top: 17px; border-top: 1px solid var(--fca-line); }
.fca-home-faq h3 { margin: 0 0 8px; font: 700 23px/1.05 var(--fca-display); text-transform: uppercase; }
.fca-home-faq p { margin: 0; color: var(--fca-muted); font-size: 14px; }
.fca-home-final { padding: 55px; background: var(--fca-green); color: var(--fca-cream); }
.fca-home-final h2 { max-width: 800px; margin: 0 0 14px; font: 700 clamp(38px, 5vw, 58px)/.94 var(--fca-display); text-transform: uppercase; }
.fca-home-final p { max-width: 680px; color: #d5ddd7; }
.fca-home-price-note { margin-top: 18px; color: #bdc7c0; font-size: 12px; }
.fca-home-security-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.fca-home-security-tag { color: var(--fca-sage); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.fca-home-section--green .fca-home-security-grid .fca-home-card h3 { color: var(--fca-cream) !important; }
.fca-home-section--green .fca-home-security-grid .fca-home-card p { color: #bdc7c0; }
.fca-home-security-note { max-width: 900px; margin: 23px 0 0; color: #bdc7c0; font-size: 12px; }

@media (max-width: 900px) {
  .fca-menu a, .fca-header__account { font-size: 11px !important; }
  .fca-home-security-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .fca-header__inner { min-height: 0; }
  .fca-brand img { width: 66px; }
  .fca-menu a, .fca-header__account { font-size: 11px !important; letter-spacing: .045em; }
  .fca-footer__brand img { width: 66px; }
  .fca-home-section { padding: 56px 0; }
  .fca-home-cards, .fca-home-list, .fca-home-faq, .fca-home-security-grid { grid-template-columns: 1fr; }
  .fca-home-card { min-height: 0; }
  .fca-home-final { padding: 30px 22px; }
}

