/* Shared Fall Seven Ranch identity — change the palette here for both pages. */
:root {
  --blue: #70b2c1;
  --cream: #f0dfbf;
  --paper: #f5e9d1;
  --red: #b82b20;
  --red-type: #8f2119;
  --ink: #111411;
  --muted: #4c4c40;
  --rule: rgba(17, 20, 17, .25);
  --display: 'Anton', Impact, 'Arial Narrow', sans-serif;
  --condensed: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --body: 'Barlow', Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; -webkit-text-size-adjust: 100%; }
body { background: var(--cream); color: var(--ink); font-family: var(--body); font-weight: 400; -webkit-font-smoothing: antialiased; }
body::after { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 500; background: url('../images/print-grain.svg'); opacity: .22; mix-blend-mode: multiply; }
::selection { background: var(--red); color: var(--paper); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, .btn, .nav-cta { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; }
img { max-width: 100%; }
/* Keep controls comfortable to tap and prevent input zoom on iPhones. */
.btn, .nav-cta, .submit, .merch-submit { min-height: 48px; }
input, select, textarea { min-width: 0; }
.brand-bolt { display: inline-block; width: 22px; height: 34px; background: var(--red); clip-path: polygon(42% 0, 100% 0, 67% 37%, 94% 37%, 0 100%, 29% 53%, 5% 53%); }
.skip-link { position: fixed; top: -100px; left: 16px; padding: 16px 24px; z-index: 600; background: var(--ink); color: var(--paper); }
.skip-link:focus { top: 16px; }
.btn, .nav-cta { display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 16px 25px; border: 2px solid var(--ink); font-family: var(--condensed); font-size: .9rem; font-weight: 800; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.btn-fill, .nav-cta { background: var(--red); border-color: var(--red); color: var(--paper); }
.btn-line { color: var(--ink); background: transparent; }
.btn:hover, .nav-cta:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); transform: translateY(-2px); }
.btn span, .nav-cta span { font-size: 1.25rem; line-height: 1; }
.sh { font-family: var(--display); font-size: clamp(3rem, 5.5vw, 5.3rem); font-weight: 400; line-height: 1.04; text-transform: uppercase; letter-spacing: -.015em; margin-bottom: 32px; }
.sh em { color: var(--red); font-style: normal; }
.lbl { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.lbl-line { width: 25px; height: 4px; background: var(--red); }
.lbl-text { font-family: var(--condensed); font-size: .8rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
@media (pointer: coarse) {
  .btn:hover, .nav-cta:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
