/* ============================================================
   Virgin Creek Outfitters — custom design system
   Palette: logo bronze #8A673C · cream #FBFAF7 · ink #14181A
   Type: Oswald (display) + Karla (body). Heritage / rugged Western.
   ============================================================ */

:root{
  --surface:#FBFAF7;
  --surface-2:#F2ECE2;
  --ink:#14181A;
  --ink-soft:#3A3B38;
  --accent-fill:#8A673C;
  --accent-text:#7A5A31;      /* slightly darker for links on cream: >4.5:1 */
  --accent-ui:#8A673C;
  --on-accent:#FFFFFF;
  --ramp-50:#FAF0E5; --ramp-100:#EDDBC6; --ramp-200:#D4B99A; --ramp-300:#BA9870;
  --ramp-400:#A37E53; --ramp-500:#8A673C; --ramp-600:#6B4B22; --ramp-700:#523712;
  --ramp-800:#362105; --ramp-900:#1C0E00;
  --line:rgba(138,103,60,.28);
  --line-soft:rgba(138,103,60,.16);
  --hero-scrim:.45;
  --hero-pos:center;

  --t:260ms cubic-bezier(.2,.7,.2,1);
  --s-card:0 14px 40px -18px rgba(28,14,0,.30), 0 2px 6px rgba(28,14,0,.07);
  --s-hover:0 26px 56px -18px rgba(28,14,0,.42), 0 3px 10px rgba(28,14,0,.12);

  --f-display:"Oswald", "Arial Narrow", system-ui, sans-serif;
  --f-body:"Karla", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --wrap:1200px;
  --pad:clamp(20px,5vw,64px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0 !important;
  font-family:var(--f-body) !important;
  color:var(--ink) !important;
  background:var(--surface) !important;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:var(--accent-text); text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-display); font-weight:700; line-height:1.04;
  letter-spacing:.005em; margin:0 0 .4em; text-transform:uppercase}
h2{font-size:clamp(1.9rem,4.2vw,3.1rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
p{margin:0 0 1rem}
.accent{color:var(--accent-text)}
.section--dark .accent,.hero .accent,.cta-banner .accent{color:var(--ramp-200)}

.wrap{width:100%; max-width:var(--wrap); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad)}
.wrap--narrow{max-width:820px}

.eyebrow{font-family:var(--f-display); text-transform:uppercase; letter-spacing:.22em;
  font-weight:600; font-size:.78rem; color:var(--accent-text); margin:0 0 .8rem}
.eyebrow--light{color:var(--ramp-200)}

/* ---------------- buttons ---------------- */
.btn{display:inline-flex; align-items:center; gap:.5em; font-family:var(--f-display);
  text-transform:uppercase; letter-spacing:.1em; font-weight:600; font-size:.92rem;
  padding:15px 26px; border-radius:2px; cursor:pointer; border:1px solid transparent;
  transition:all var(--t); line-height:1; white-space:nowrap}
.btn svg{transition:transform var(--t)}
.btn:hover svg{transform:translateX(4px)}
.btn.btn--primary{background:var(--accent-fill); color:var(--on-accent) !important; border-color:var(--accent-fill)}
.btn.btn--primary:hover{transform:translateY(-2px); box-shadow:0 14px 30px -12px rgba(138,103,60,.65)}
.btn--ghost{background:transparent; color:var(--ink); border-color:var(--line)}
.btn--ghost:hover{border-color:var(--accent-fill); color:var(--accent-text); transform:translateY(-2px)}
.btn--light{background:transparent; color:#fff !important; border-color:rgba(255,255,255,.5)}
.btn--light:hover{background:rgba(255,255,255,.12); transform:translateY(-2px)}
/* angled flag button (5J / GOA pattern) — hover: accent wipes in from the left edge */
.btn.btn--flag{position:relative; overflow:hidden; background:var(--ramp-800); color:#fff !important;
  padding:17px 32px 17px 30px; border:none; border-radius:0; z-index:0;
  clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%)}
.btn.btn--flag::before{content:""; position:absolute; left:0; top:0; bottom:0; width:7px;
  background:var(--accent-fill); z-index:2}
.btn.btn--flag::after{content:""; position:absolute; inset:0; background:var(--accent-fill);
  transform:scaleX(0); transform-origin:left center; transition:transform var(--t); z-index:1}
.btn.btn--flag > span, .btn.btn--flag > svg{position:relative; z-index:3}
.btn.btn--flag:hover::after{transform:scaleX(1)}
.btn.btn--flag:hover{transform:translateY(-2px); box-shadow:0 16px 34px -14px rgba(28,14,0,.6)}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.btn-row--center{justify-content:center}

/* ---------------- header ---------------- */
.site-header{position:fixed; top:0; left:0; right:0; z-index:60; background:transparent;
  transition:background var(--t), box-shadow var(--t), backdrop-filter var(--t)}
.site-header__inner{display:flex; align-items:center; gap:24px; padding-top:14px; padding-bottom:14px}
.brand{display:flex; align-items:center; flex:0 0 auto}
.brand__logo{height:64px; width:auto; transition:height var(--t); filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.site-header.is-scrolled .brand__logo{height:48px; filter:none}
.site-header.is-scrolled{background:rgba(251,250,247,.94); backdrop-filter:saturate(180%) blur(10px);
  box-shadow:0 1px 0 var(--line-soft)}
.nav-wrap{margin-left:auto}
.nav-main{display:flex; gap:26px; list-style:none; margin:0; padding:0}
.nav-main a{position:relative; font-family:var(--f-display); text-transform:uppercase;
  letter-spacing:.12em; font-weight:500; font-size:.9rem; color:#fff; padding:6px 0;
  text-shadow:0 1px 3px rgba(0,0,0,.45)}
.site-header.is-scrolled .nav-main a{color:var(--ink); text-shadow:none}
.nav-main a::after{content:""; position:absolute; left:0; bottom:0; width:100%; height:2px;
  background:var(--accent-fill); transform:scaleX(0); transform-origin:left; transition:transform var(--t)}
.nav-main a:hover::after,.nav-main a[aria-current="page"]::after{transform:scaleX(1)}
/* nav dropdown */
.nav-main .has-dropdown{position:relative}
.nav-dropdown{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  min-width:210px; background:rgba(251,250,247,.98); backdrop-filter:saturate(180%) blur(10px);
  border:1px solid var(--line); border-radius:3px; box-shadow:var(--s-card); padding:8px;
  list-style:none; margin:0; opacity:0; visibility:hidden; transition:opacity var(--t), transform var(--t); z-index:80}
.nav-main .has-dropdown::after{content:""; position:absolute; top:100%; left:0; right:0; height:16px}
.nav-main .has-dropdown:hover .nav-dropdown,
.nav-main .has-dropdown:focus-within .nav-dropdown{opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px)}
.nav-dropdown li{margin:0}
.nav-dropdown a{display:block; color:var(--ink) !important; text-shadow:none !important; padding:9px 14px;
  font-size:.82rem; letter-spacing:.1em; border-radius:2px}
.nav-dropdown a::after{display:none}
.nav-dropdown a:hover{background:var(--surface-2); color:var(--accent-text) !important}
.site-header__cta{display:flex; align-items:center; gap:16px}
.header-phone{font-family:var(--f-display); font-weight:600; letter-spacing:.06em; color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.45); white-space:nowrap}
.site-header.is-scrolled .header-phone{color:var(--ink); text-shadow:none}
.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px}
.nav-toggle span{width:26px; height:2px; background:#fff; transition:all var(--t)}
.site-header.is-scrolled .nav-toggle span{background:var(--ink)}
.nav-mobile{display:none}

/* ---------------- hero ---------------- */
.hero{position:relative; display:flex; align-items:flex-end; overflow:hidden}
.hero--photo{min-height:clamp(560px,92vh,900px)}
.hero--photo::before{content:""; position:absolute; inset:0; z-index:-2;
  background-image:var(--hero-img); background-size:cover; background-position:var(--hero-pos)}
.hero--photo::after{content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse 80% 68% at 40% 60%, rgba(15,10,4,.42) 0%, rgba(15,10,4,.10) 70%, rgba(15,10,4,0) 100%),
    linear-gradient(180deg, rgba(15,10,4,.34) 0%, rgba(15,10,4,.05) 40%, rgba(15,10,4,.82) 100%)}
.hero__inner{position:relative; z-index:2; padding-top:180px; padding-bottom:72px; max-width:900px}
.hero h1{color:#fff !important; font-size:clamp(2.6rem,6.4vw,5rem) !important; margin-bottom:.25em;
  text-shadow:0 2px 20px rgba(0,0,0,.4)}
.hero__sub{color:rgba(255,255,255,.92); font-size:clamp(1.05rem,1.7vw,1.3rem); max-width:640px;
  margin-bottom:1.8rem; text-shadow:0 1px 8px rgba(0,0,0,.5)}
/* block hero */
.hero--block{background:linear-gradient(158deg,var(--ramp-900),var(--ramp-700) 70%,var(--ramp-600));
  position:relative; isolation:isolate}
.hero--block::before{content:""; position:absolute; inset:0; z-index:-1; opacity:.10;
  background-color:#fff;
  -webkit-mask:url("/images/overlays/terrain.svg"); mask:url("/images/overlays/terrain.svg");
  -webkit-mask-size:900px auto; mask-size:900px auto; -webkit-mask-repeat:repeat; mask-repeat:repeat}
.hero--block::after{content:""; position:absolute; right:-8%; top:-30%; width:56%; height:150%;
  z-index:-1; background:radial-gradient(circle at center, rgba(212,185,154,.22), transparent 62%)}
.hero--block{min-height:clamp(300px,42vh,400px); display:flex; align-items:center}
.hero--block .hero__inner{padding-top:150px; padding-bottom:56px}
.hero--block h1{color:#fff !important; font-size:clamp(2.4rem,5.4vw,4rem) !important}
.hero--block .hero__sub{color:rgba(255,255,255,.9)}

/* ---------------- sections ---------------- */
.section{padding:clamp(56px,8vw,110px) 0; position:relative}
.section--alt{background:var(--surface-2) !important}
.section--dark{background:var(--ramp-900) !important; color:#fff; isolation:isolate}
.section--dark h1,.section--dark h2,.section--dark h3{color:#fff}
.section--dark p{color:rgba(255,255,255,.86)}
/* topo overlay on solid bands */
.section--alt::before,.section--dark.section--values::before,.cta-banner::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-color:var(--ink);
  -webkit-mask:url("/images/overlays/terrain.svg"); mask:url("/images/overlays/terrain.svg");
  -webkit-mask-size:900px auto; mask-size:900px auto; -webkit-mask-repeat:repeat; mask-repeat:repeat;
  opacity:.05}
.section--dark.section--values::before{background-color:#fff; opacity:.07}
.section--alt>*,.section--dark>*{position:relative; z-index:1}

.section-head{max-width:720px; margin:0 auto clamp(34px,5vw,56px); text-align:center}
.section-head--left{margin-left:0; text-align:left}
.section-head__sub{color:var(--ink-soft); font-size:1.05rem}
.section--dark .section-head__sub{color:rgba(255,255,255,.8)}
.section-head__link{display:inline-flex; align-items:center; gap:.4em; font-family:var(--f-display);
  text-transform:uppercase; letter-spacing:.1em; font-size:.85rem; color:var(--accent-text); margin-top:.6rem}

/* statement */
.section--statement{overflow:hidden}
.statement{max-width:900px; margin:0 auto; position:relative; z-index:2}
.statement__lead{font-family:var(--f-display); text-transform:none; font-weight:500;
  font-size:clamp(1.5rem,3vw,2.3rem); line-height:1.25; margin-bottom:1rem}
.section--statement-light{background:var(--surface)}
.statement__body{font-size:1.1rem; color:var(--ink-soft)}
.section--dark .statement__body{color:rgba(255,255,255,.82)}
/* signature move: oversized outlined wordmark bleeding off edge */
.signature{position:absolute; left:50%; top:52%; transform:translate(-50%,-50%);
  font-family:var(--f-display); font-weight:700; font-size:clamp(4rem,15vw,13rem);
  letter-spacing:.02em; white-space:nowrap; color:transparent;
  -webkit-text-stroke:1.5px rgba(212,185,154,.16); text-stroke:1.5px rgba(212,185,154,.16);
  pointer-events:none; z-index:0; user-select:none}

/* feature */
.feature{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center}
.feature--wide .feature__media{aspect-ratio:4/3}
.feature__media{position:relative; border-radius:3px; overflow:hidden; box-shadow:var(--s-card);
  border:1px solid var(--line)}
.feature__media img{width:100%; height:100%; object-fit:cover; transition:transform 700ms ease}
.feature__media:hover img{transform:scale(1.04)}
.feature__badge{position:absolute; top:18px; left:18px; background:var(--accent-fill); color:#fff;
  font-family:var(--f-display); text-transform:uppercase; letter-spacing:.14em; font-size:.72rem;
  padding:7px 14px}
.feature__facts{list-style:none; padding:0; margin:1.4rem 0 1.8rem; display:grid;
  grid-template-columns:1fr 1fr; gap:14px 24px}
.feature__facts li{display:flex; flex-direction:column; font-size:1rem; border-left:2px solid var(--line);
  padding-left:12px}
.feature__facts span{font-family:var(--f-display); text-transform:uppercase; letter-spacing:.12em;
  font-size:.68rem; color:var(--accent-text); margin-bottom:2px}

/* card grid */
.card-grid{display:grid; gap:26px}
.card-grid--3{grid-template-columns:repeat(3,1fr)}
.hunt-card{background:var(--surface); border:1px solid var(--line); border-radius:3px; overflow:hidden;
  transition:transform var(--t), box-shadow var(--t); box-shadow:var(--s-card); display:flex; flex-direction:column}
.hunt-card:hover{transform:translateY(-4px); box-shadow:var(--s-hover)}
.hunt-card__media{aspect-ratio:3/4; overflow:hidden}
.hunt-card__media img{width:100%; height:100%; object-fit:cover; transition:transform 700ms ease}
.hunt-card:hover .hunt-card__media img{transform:scale(1.04)}
.hunt-card__body{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1}
.section--alt .hunt-card h3{color:var(--ink)}
.hunt-card p{color:var(--ink-soft); font-size:.98rem}
.hunt-card__link{margin-top:auto; font-family:var(--f-display); text-transform:uppercase;
  letter-spacing:.1em; font-size:.82rem; color:var(--accent-text); display:inline-flex; align-items:center; gap:.4em}
.hunt-card__link svg{transition:transform var(--t)}
.hunt-card__link:hover svg{transform:translateX(4px)}

/* alternating rows */
.alt-rows{display:flex; flex-direction:column; gap:clamp(40px,6vw,80px)}
.alt-row{display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(28px,5vw,60px); align-items:center}
.alt-row--flip .alt-row__media{order:2}
.alt-row__media{border-radius:3px; overflow:hidden; box-shadow:var(--s-card); border:1px solid var(--line); aspect-ratio:3/2}
.alt-row__media img{width:100%; height:100%; object-fit:cover; transition:transform 700ms ease}
.alt-row:hover .alt-row__media img{transform:scale(1.03)}

/* values triad */
.values-triad{display:grid; grid-template-columns:repeat(3,1fr); gap:30px}
.value{padding:26px 0 0; border-top:2px solid var(--line)}
.section--dark .value{border-color:rgba(255,255,255,.22)}
.value__num{font-family:var(--f-display); font-size:1rem; color:var(--accent-text); letter-spacing:.15em}
.section--dark .value__num{color:var(--ramp-200)}
.value h3{margin:.4rem 0 .5rem}
.value p{color:var(--ink-soft)}
.section--dark .value p{color:rgba(255,255,255,.8)}

/* full-bleed photo breather */
.photo-fullbleed{min-height:clamp(320px,50vh,540px); background-image:var(--bg);
  background-size:cover; background-position:center; display:flex; align-items:flex-end; position:relative}
.photo-fullbleed::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(15,10,4,.6))}
.photo-fullbleed .wrap{position:relative; z-index:2; padding-bottom:40px}
.photo-fullbleed__caption{font-family:var(--f-display); text-transform:uppercase; letter-spacing:.14em;
  color:#fff; font-size:clamp(1.1rem,2.4vw,1.8rem); margin:0; text-shadow:0 2px 14px rgba(0,0,0,.5)}

/* scroller */
.section--scroller{padding-bottom:clamp(56px,8vw,110px)}
.scroller-wrap{position:relative}
.scroller{display:flex; gap:16px; overflow-x:auto; padding:6px var(--pad) 22px; scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch; cursor:grab; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none}
.scroller::-webkit-scrollbar{display:none}
.scroller.is-dragging{cursor:grabbing; scroll-behavior:auto; scroll-snap-type:none}
.scroller.is-dragging img{pointer-events:none}
.scroller__item{flex:0 0 auto; width:clamp(240px,32vw,340px); aspect-ratio:3/4; border-radius:3px;
  overflow:hidden; scroll-snap-align:start; box-shadow:var(--s-card); border:1px solid var(--line)}
.scroller__item img{width:100%; height:100%; object-fit:cover; transition:transform 700ms ease;
  user-select:none; -webkit-user-drag:none}
.scroller__item:hover img{transform:scale(1.05)}
.scroller-arrow{position:absolute; top:calc(50% - 11px); transform:translateY(-50%); z-index:5;
  width:52px; height:52px; border-radius:50%; border:1px solid var(--line);
  background:rgba(251,250,247,.92); backdrop-filter:blur(6px); color:var(--ink);
  display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--s-card);
  transition:background var(--t), transform var(--t), opacity var(--t), border-color var(--t)}
.scroller-arrow:hover{background:var(--accent-fill); color:#fff; border-color:var(--accent-fill)}
.scroller-arrow svg{width:22px; height:22px}
.scroller-arrow--prev{left:calc(var(--pad) - 26px)}
.scroller-arrow--next{right:calc(var(--pad) - 26px)}
.scroller-arrow[disabled]{opacity:0; pointer-events:none}
@media (max-width:640px){ .scroller-arrow{display:none} }

/* split */
.split{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,64px); align-items:center}
.split__media{border-radius:3px; overflow:hidden; box-shadow:var(--s-card); border:1px solid var(--line); aspect-ratio:4/5}
.split__media img{width:100%; height:100%; object-fit:cover}

/* photo duo */
.photo-duo{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.photo-duo img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:3px; border:1px solid var(--line)}

/* guide card */
.guide-card{display:flex; gap:30px; align-items:center; max-width:820px; margin:0 auto;
  background:var(--surface); border:1px solid var(--line); border-radius:3px; padding:34px; box-shadow:var(--s-card)}
.guide-card__mark{flex:0 0 120px; display:grid; place-items:center; background:var(--ramp-900);
  border-radius:3px; padding:18px}
.guide-card__mark img{height:84px; width:auto}
.guide-card__role{font-family:var(--f-display); text-transform:uppercase; letter-spacing:.14em;
  color:var(--accent-text); font-size:.82rem; margin:0 0 .8rem}
.guide-card__body h3{margin-bottom:.2rem}

/* info blocks + checklist */
.info-blocks{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.info-block{background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--accent-fill);
  border-radius:3px; padding:28px 26px; box-shadow:var(--s-card)}
.info-block h3{font-size:1.2rem; margin-bottom:1rem}
.info-block ul,.checklist{list-style:none; padding:0; margin:0}
.info-block li,.checklist li{position:relative; padding-left:26px; margin-bottom:.7rem; color:var(--ink-soft)}
.info-block li::before,.checklist li::before{content:""; position:absolute; left:0; top:.55em;
  width:9px; height:9px; background:var(--accent-fill); transform:rotate(45deg)}
.checklist{columns:2; column-gap:40px; max-width:760px; margin:0 auto 1.6rem}
.checklist li{break-inside:avoid}
.note{max-width:760px; margin:0 auto; text-align:center; font-style:italic; color:var(--ink-soft)}

/* faq */
.faq-list{display:flex; flex-direction:column; gap:0}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none; cursor:pointer; padding:22px 40px 22px 0; position:relative;
  font-family:var(--f-display); text-transform:uppercase; letter-spacing:.03em; font-size:1.05rem; font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq__icon{position:absolute; right:4px; top:50%; width:16px; height:16px; transform:translateY(-50%)}
.faq__icon::before,.faq__icon::after{content:""; position:absolute; top:50%; left:0; width:16px; height:2px;
  background:var(--accent-fill); transition:transform var(--t)}
.faq__icon::after{transform:rotate(90deg)}
.faq[open] .faq__icon::after{transform:rotate(0)}
.faq__a{padding:0 40px 22px 0}
.faq__a p{margin:0; color:var(--ink-soft)}

/* contact */
.contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.contact-card{display:flex; flex-direction:column; gap:6px; padding:28px; background:var(--surface);
  border:1px solid var(--line); border-radius:3px; box-shadow:var(--s-card); transition:transform var(--t),box-shadow var(--t)}
a.contact-card:hover{transform:translateY(-4px); box-shadow:var(--s-hover)}
.contact-card__label{font-family:var(--f-display); text-transform:uppercase; letter-spacing:.14em;
  font-size:.72rem; color:var(--accent-text)}
.contact-card__value{font-size:1.15rem; font-weight:600; color:var(--ink); word-break:break-word}
/* transparent wrapper — the MB embed carries its own card styling */
.contact-form-shell{background:transparent; border:0; border-radius:0; padding:0; box-shadow:none}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px}
.contact-form-shell label{display:flex; flex-direction:column; font-family:var(--f-display);
  text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; color:var(--ink-soft); gap:7px; margin-bottom:0}
.contact-form-shell input,.contact-form-shell select,.contact-form-shell textarea{
  font-family:var(--f-body); text-transform:none; letter-spacing:0; font-size:1rem; padding:12px 14px;
  border:1px solid var(--line); border-radius:2px; background:#fff; color:var(--ink); width:100%}
.contact-form-shell textarea{margin-bottom:18px}
.contact-form-shell input:focus,.contact-form-shell select:focus,.contact-form-shell textarea:focus{
  outline:none; border-color:var(--accent-fill); box-shadow:0 0 0 3px rgba(138,103,60,.14)}
.hp{position:absolute; left:-9999px}

/* gallery */
.gallery-filters{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px}
.gallery-filter{font-family:var(--f-display); text-transform:uppercase; letter-spacing:.12em; font-size:.82rem;
  padding:9px 18px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer;
  border-radius:2px; transition:all var(--t)}
.gallery-filter:hover{border-color:var(--accent-fill); color:var(--accent-text)}
.gallery-filter.is-active{background:var(--accent-fill); color:#fff; border-color:var(--accent-fill)}
.gallery-grid{column-count:3; column-gap:16px}
.gallery-grid__item{display:block; margin:0 0 16px; break-inside:avoid; border-radius:3px; overflow:hidden;
  border:1px solid var(--line); box-shadow:var(--s-card); cursor:zoom-in; position:relative}
.gallery-grid__item img{width:100%; transition:transform 700ms ease}
.gallery-grid__item::after{content:""; position:absolute; inset:0; background:rgba(28,14,0,0); transition:background var(--t)}
.gallery-grid__item:hover::after{background:rgba(28,14,0,.14)}
.gallery-grid__item:hover img{transform:scale(1.05)}
.gallery-grid__item.is-hidden{display:none}
.gallery-grid--mini{column-count:3; max-width:1000px; margin:0 auto}
@media (max-width:820px){ .gallery-grid--mini{column-count:2} }
@media (max-width:560px){ .gallery-grid--mini{column-count:1} }

/* lightbox */
.lightbox{position:fixed; inset:0; z-index:200; background:rgba(12,8,3,.94); display:flex;
  align-items:center; justify-content:center}
.lightbox[hidden]{display:none !important}
.lightbox__figure{margin:0; max-width:92vw; max-height:90vh; text-align:center}
.lightbox__figure img{max-width:92vw; max-height:82vh; width:auto; margin:0 auto; border-radius:2px}
.lightbox__figure figcaption{color:rgba(255,255,255,.86); font-size:.95rem; margin-top:12px; font-family:var(--f-body)}
.lightbox__close{position:absolute; top:20px; right:26px; background:none; border:0; color:#fff; font-size:2.6rem;
  line-height:1; cursor:pointer}
.lightbox__nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25); color:#fff; font-size:2rem; width:54px; height:54px; cursor:pointer;
  border-radius:50%; transition:background var(--t)}
.lightbox__nav:hover{background:rgba(255,255,255,.22)}
.lightbox__prev{left:20px} .lightbox__next{right:20px}

/* cta banner */
.cta-banner{background:var(--ramp-900) !important; color:#fff; position:relative; isolation:isolate; overflow:hidden}
.cta-banner::before{opacity:.07; background-color:#fff !important}
.cta-banner__inner{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between;
  gap:34px; flex-wrap:wrap}
.cta-banner h2{color:#fff; margin-bottom:.4rem}
.cta-banner p{color:rgba(255,255,255,.86); margin:0; max-width:560px}

/* footer */
.site-footer{background:var(--ramp-900); color:rgba(255,255,255,.8); padding-top:64px}
.site-footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:40px; padding-bottom:44px}
.brand__logo--footer{height:76px; margin-bottom:16px}
.site-footer__tag{font-family:var(--f-display); text-transform:uppercase; letter-spacing:.05em;
  line-height:1.5; color:rgba(255,255,255,.72); font-size:.92rem}
.site-footer h4{font-size:.8rem; letter-spacing:.16em; color:var(--ramp-200); margin-bottom:1rem}
.site-footer ul{list-style:none; padding:0; margin:0}
.site-footer li{margin-bottom:.6rem}
.site-footer a{color:rgba(255,255,255,.8)}
.site-footer a:hover{color:#fff}
.site-footer__contact p{margin-bottom:.5rem}
.site-footer__book{margin-top:1rem}
.site-footer__legal{border-top:1px solid rgba(255,255,255,.12); padding-top:22px; padding-bottom:30px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.82rem; color:rgba(255,255,255,.55)}
.site-footer__legal p{margin:0}

/* reveal motion */
.reveal{opacity:0; transform:translateY(18px); transition:opacity 700ms ease, transform 700ms ease}
.reveal.is-in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1; transform:none; transition:none}
  *{scroll-behavior:auto !important}
}

/* ---------------- responsive ---------------- */
@media (max-width:980px){
  .feature,.alt-row,.alt-row--flip,.split{grid-template-columns:1fr}
  .alt-row--flip .alt-row__media{order:0}
  .card-grid--3,.values-triad,.info-blocks,.contact-cards{grid-template-columns:1fr 1fr}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .nav-wrap,.site-header__cta{display:none}
  .nav-toggle{display:flex}
  .header-phone{display:none}
  .nav-mobile[hidden]{display:none}
  .nav-mobile{display:block; position:fixed; top:0; right:0; bottom:0; width:min(80vw,340px); z-index:70;
    background:var(--ramp-900); padding:90px 30px 30px; transform:translateX(100%); transition:transform var(--t)}
  .nav-mobile.is-open{transform:translateX(0)}
  .nav-mobile ul{list-style:none; padding:0; margin:0 0 24px}
  .nav-mobile li{margin-bottom:4px}
  .nav-mobile a{display:block; font-family:var(--f-display); text-transform:uppercase; letter-spacing:.1em;
    color:#fff; font-size:1.15rem; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.12)}
  .nav-mobile .header-phone--mobile{display:block; color:var(--ramp-200); margin:8px 0 20px}
  .nav-mobile__sub{padding-left:20px !important; font-size:.98rem !important; color:var(--ramp-200) !important}
  .gallery-grid{column-count:2}
  .checklist{columns:1}
}
@media (max-width:560px){
  .card-grid--3,.values-triad,.info-blocks,.contact-cards,.form-grid,.photo-duo,
  .site-footer__grid{grid-template-columns:1fr}
  .feature__facts{grid-template-columns:1fr}
  .gallery-grid{column-count:1}
  .guide-card{flex-direction:column; text-align:center}
  .cta-banner__inner{flex-direction:column; align-items:flex-start}
}

/* ============================================================
   RECURRING-FIX HARDENING — MB widget CSS-bleed defenses.
   Do not remove. See skill Step 3.5.
   ============================================================ */
body{font-family:var(--f-body) !important; color:var(--ink) !important; background:var(--surface) !important}
.hero h1,.hero--block h1{font-size:clamp(2.4rem,5.4vw,5rem) !important; line-height:1.04 !important;
  text-transform:uppercase !important}
.section--alt{background:var(--surface-2) !important}
.section--dark,.cta-banner,.site-footer{background:var(--ramp-900) !important}
button.mb_widget.btn--primary{background:var(--accent-fill) !important; color:#fff !important;
  font-family:var(--f-display) !important; border:1px solid var(--accent-fill) !important; border-radius:2px !important}
button.mb_widget.btn--flag{background:var(--ramp-800) !important; color:#fff !important;
  font-family:var(--f-display) !important}
.section--alt .hunt-card h3{color:var(--ink)}   /* spec beats .section--alt h3 if added later */
/* hide any script/style nodes the widget injects into flow */
.mb_widget script,.mb_widget style,mb-widget script,mb-widget style{display:none !important}

/* turkey page: 2x2 mosaic of small turkey photos in the split slot (keeps each near native size) */
.split__media--mosaic{display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:6px; background:var(--line)}
.split__media--mosaic img{width:100%; height:100%; object-fit:cover; min-height:0}
@media (max-width:980px){ .split__media--mosaic{max-width:480px; margin:0 auto; width:100%} }
@media (max-width:760px){ .split__media--mosaic{gap:4px} }

/* 2026-11-04 launch: Nathan photo in guide card (client feedback) */
.guide-card__mark--photo{flex:0 0 240px; padding:0; background:none; overflow:hidden; aspect-ratio:3/4}
.guide-card__mark--photo img{width:100%; height:100%; object-fit:cover}
@media (max-width:820px){ .guide-card__mark--photo{flex:0 0 auto; width:100%; max-width:300px} }
