/* ==========================================================================
   Lost Valley Outfitters — custom heritage build
   Mark: sculpted emblem badge (mule deer + turkey + boar, banner wordmark)
   Direction: heritage / ink-on-paper. Oswald condensed display + Source Serif body.
   Palette: warm cream paper, dark-chocolate ink, tan bands, espresso anchors,
            antique-gold hairline accent (text-bearing only where it clears 4.5:1).
   ========================================================================== */

:root{
  --surface:#F8F7F5;         /* warm paper            */
  --surface-alt:#EFEBE1;     /* tan band              */
  --espresso:#241C12;        /* dark full-bleed anchor */
  --ink:#2D251A;             /* dark chocolate text   */
  --muted:#5C4F36;           /* warm gray-brown       */
  --paper-line:#E4DFD3;      /* soft rule on paper    */

  /* accent (antique gold) — used for hairlines, dots, eyebrows, hover glow.
     NEVER as a text-bearing solid fill (white/ink both fail 4.5:1 on it). */
  --accent:#967600;
  --accent-text:#896B00;     /* eyebrow/link on cream  4.83:1  */
  --accent-text-alt:#6B4E00; /* eyebrow on tan bands           */
  --accent-on-dark:#D3BC78;  /* gold on espresso       8.99:1  */
  --accent-line:rgba(150,118,0,.42);

  /* ramp (from logo/photo hue, OKLCH-derived) */
  --ramp-50:#FAF2DA; --ramp-100:#ECDDB2; --ramp-200:#D3BC78; --ramp-300:#B99C3D;
  --ramp-400:#A38200; --ramp-500:#967600; --ramp-600:#6B4E00; --ramp-700:#523900;
  --ramp-800:#372300; --ramp-900:#1C0F00;

  --hero-scrim:.42;
  --hero-pos:50% 62%;

  --maxw:1200px;
  --gap:clamp(1.1rem,3vw,2rem);
  --pad-sec:clamp(4.5rem,8vw,7.5rem);

  --t:260ms cubic-bezier(.2,.7,.2,1);
  --t-slow:700ms cubic-bezier(.2,.7,.2,1);

  --sh-1:0 1px 2px rgba(28,15,0,.06), 0 2px 8px rgba(28,15,0,.06);
  --sh-2:0 10px 20px rgba(28,15,0,.10), 0 18px 44px rgba(28,15,0,.14);

  --ff-display:"Barlow Semi Condensed","Arial Narrow",Helvetica,Arial,sans-serif;
  --ff-body:"Barlow Semi Condensed",Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ff-body)!important;
  color:var(--ink)!important;
  background:var(--surface)!important;
  font-size:1.02rem; line-height:1.68; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--accent-text);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--ramp-700)}

/* ---- layout ------------------------------------------------------------- */
.wrap{width:min(100% - 2.4rem,var(--maxw));margin-inline:auto}
.wrap--narrow{max-width:760px}
.section{padding-block:var(--pad-sec);position:relative}
.section--alt{background:var(--surface-alt)!important}
.section--dark{background:var(--espresso)!important;color:#F3ECDD}
.section--dark h1,.section--dark h2,.section--dark h3{color:#F6EFDF}
.section--tight{padding-block:clamp(2.25rem,4.5vw,3.25rem)}

/* ---- type --------------------------------------------------------------- */
h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;line-height:1.02;
  letter-spacing:.01em;text-transform:uppercase;margin:0 0 .5em}
h1{font-size:clamp(2.5rem,6.4vw,4.75rem)}
h2{font-size:clamp(2rem,4.6vw,3.35rem)}
h3{font-size:clamp(1.3rem,2.4vw,1.7rem)}
p{margin:0 0 1.05rem}
.lead{font-size:clamp(1.18rem,2vw,1.42rem);line-height:1.55;color:var(--ink)}
.eyebrow{font-family:var(--ff-display);text-transform:uppercase;font-weight:600;
  letter-spacing:.26em;font-size:.82rem;color:var(--accent-text);
  display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.1rem}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--accent);display:inline-block}
.section--alt .eyebrow{color:var(--accent-text-alt)}
.section--dark .eyebrow{color:var(--accent-on-dark)}
.section--dark .eyebrow::before{background:var(--accent-on-dark)}
.muted{color:var(--muted)}
.section--dark .muted{color:#CFC6B6}
.center{text-align:center}
.center .eyebrow{justify-content:center}

/* ---- buttons ------------------------------------------------------------ */
.btn,button.btn{
  display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;
  font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.08em;
  font-weight:600;font-size:.98rem;line-height:1;
  padding:.95rem 1.7rem;border-radius:3px;border:2px solid transparent;white-space:nowrap;
  transition:transform var(--t),box-shadow var(--t),background var(--t),color var(--t),border-color var(--t);
  text-decoration:none;
}
.btn .arw{transition:transform var(--t)}
.btn:hover .arw{transform:translateX(4px)}
.btn--primary,button.btn--primary.mb_widget,button.mb_widget.btn--primary{
  background:var(--ink)!important;color:var(--surface)!important;border-color:var(--ink)!important}
.btn--primary:hover,button.btn--primary.mb_widget:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(28,15,0,.28),0 0 0 4px var(--accent-line)!important;
  background:var(--ramp-800)!important;color:var(--surface)!important}
.btn--ghost,button.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{transform:translateY(-2px);background:var(--ink);color:var(--surface)}
.section--dark .btn--ghost{color:#F3ECDD;border-color:rgba(243,236,221,.6)}
.section--dark .btn--ghost:hover{background:#F3ECDD;color:var(--espresso)}
.hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.7);backdrop-filter:blur(2px)}
.hero .btn--ghost:hover{background:#fff;color:var(--ink)}
.cta-banner .btn--ghost{color:#F3ECDD;border-color:rgba(243,236,221,.6)}
.cta-banner .btn--ghost:hover{background:#F3ECDD;color:var(--espresso)}
/* primary button pops on dark/espresso bands (invert to cream) */
.cta-banner .btn--primary,.section--dark .btn--primary,
.cta-banner button.btn--primary.mb_widget,.section--dark button.btn--primary.mb_widget{
  background:#F5EEDE!important;color:var(--espresso)!important;border-color:#F5EEDE!important}
.cta-banner .btn--primary:hover,.section--dark .btn--primary:hover,
.cta-banner button.btn--primary.mb_widget:hover,.section--dark button.btn--primary.mb_widget:hover{
  background:#fff!important;color:var(--espresso)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 0 4px rgba(211,188,120,.35)!important}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}

/* ---- header ------------------------------------------------------------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:60;
  transition:background var(--t),box-shadow var(--t),border-color var(--t);
  border-bottom:1px solid transparent}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;min-height:88px;transition:min-height var(--t)}
.brand__logo{display:block;height:64px;width:auto;transition:height var(--t),filter var(--t)}
.site-header:not(.is-scrolled) .brand__logo{filter:drop-shadow(0 2px 7px rgba(0,0,0,.6))}
.brand__logo img{height:100%;width:auto;display:block}
.site-header.is-scrolled{background:rgba(251,250,247,.94);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--paper-line);border-bottom-color:var(--paper-line)}
.site-header.is-scrolled .wrap{min-height:70px}
.site-header.is-scrolled .brand__logo{height:48px}
/* transparent nav over hero: white links until scrolled */
.nav{display:flex;align-items:center;gap:clamp(1.1rem,2.4vw,2.4rem)}
.nav-main{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.1rem);list-style:none;margin:0;padding:0}
.nav-main a,.nav-toggle{font-family:var(--ff-display);text-transform:uppercase;
  letter-spacing:.1em;font-size:.95rem;font-weight:500;color:#fff;white-space:nowrap;
  position:relative;padding:.4rem 0;transition:color var(--t)}
.nav-main a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--accent);transition:right var(--t)}
.nav-main a:hover::after,.nav-main a.is-active::after{right:0}
.site-header.is-scrolled .nav-main a,.site-header.is-scrolled .nav-toggle{color:var(--ink)}
.site-header.is-scrolled .brand__logo{filter:none}
.nav-actions{display:flex;align-items:center;gap:1rem}
.header-phone{font-family:var(--ff-display);letter-spacing:.06em;color:#fff;font-size:1rem;white-space:nowrap}
.site-header.is-scrolled .header-phone{color:var(--ink)}
.nav .btn{padding:.7rem 1.2rem;font-size:.9rem}

/* dropdown */
.nav-item{position:relative}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;background:none;border:0}
.nav-dropdown-toggle .caret{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--t)}
.nav-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);
  min-width:250px;background:var(--surface);border:1px solid var(--paper-line);
  border-top:3px solid var(--accent);border-radius:3px;box-shadow:var(--sh-2);
  padding:.5rem;opacity:0;visibility:hidden;transition:opacity var(--t),transform var(--t),visibility var(--t);z-index:70}
.nav-dropdown::after{content:"";position:absolute;top:-14px;left:0;right:0;height:14px} /* hover bridge */
.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px)}
.nav-item:hover .nav-dropdown-toggle .caret{transform:rotate(225deg) translateY(2px)}
.nav-dropdown a{display:block;color:var(--ink)!important;padding:.62rem .85rem;border-radius:2px;
  font-size:.9rem;letter-spacing:.06em}
.nav-dropdown a::after{display:none}
.nav-dropdown a:hover{background:var(--surface-alt);color:var(--ramp-700)!important}

/* mobile nav */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:.4rem}
.nav-toggle span{width:26px;height:2px;background:currentColor;display:block;transition:var(--t)}
@media(max-width:940px){
  .header-phone{display:none}
  .nav-toggle{display:flex}
  .nav{position:fixed;inset:0 0 0 auto;width:min(84vw,360px);background:var(--surface);
    box-shadow:var(--sh-2);transform:translateX(100%);transition:transform var(--t);
    padding:6rem 1.6rem 2rem;overflow-y:auto;z-index:65;
    flex-direction:column;align-items:stretch;gap:1.2rem}
  body.nav-open .nav{transform:none}
  body.nav-open .nav-scrim{opacity:1;visibility:visible}
  .nav-scrim{position:fixed;inset:0;background:rgba(20,15,8,.5);opacity:0;visibility:hidden;transition:var(--t);z-index:64}
  .nav-main{flex-direction:column;align-items:flex-start;gap:.4rem}
  .nav-main a,.nav-dropdown-toggle{color:var(--ink)!important;font-size:1.15rem;width:100%}
  .nav-dropdown{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;
    border:0;border-left:2px solid var(--accent-line);border-radius:0;min-width:0;margin:.2rem 0 .6rem .4rem;padding:.2rem 0}
  .nav-dropdown a{padding:.5rem .8rem}
  .nav .btn{margin-top:1rem;width:100%;justify-content:center}
  .nav-toggle{z-index:66}
  body.nav-open .site-header .nav-toggle{color:var(--ink)}
}

/* ---- hero --------------------------------------------------------------- */
.hero{position:relative;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.hero--photo{min-height:100vh;min-height:100svh}
.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 82% 70% at 50% 66%,rgba(15,10,4,.34) 0%,rgba(15,10,4,.08) 66%,rgba(15,10,4,0) 100%),
    linear-gradient(180deg,rgba(15,10,4,.40) 0%,rgba(15,10,4,.10) 40%,rgba(15,10,4,.86) 100%)}
.hero--photo .hero__inner{padding-block:clamp(6rem,14vh,10rem) clamp(3rem,8vh,5.5rem)}
.hero__inner{position:relative;z-index:2;width:min(100% - 2.4rem,var(--maxw));margin-inline:auto}
.hero--photo h1{font-size:clamp(2.9rem,8vw,6.5rem)!important;max-width:16ch;
  text-shadow:0 2px 24px rgba(0,0,0,.4)}
.hero--photo .hero__sub{font-size:clamp(1.1rem,2vw,1.4rem);max-width:46ch;
  text-shadow:0 1px 12px rgba(0,0,0,.5);color:#F6EFDF}
.hero .eyebrow{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.hero .eyebrow::before{background:var(--accent-on-dark)}
.scroll-cue{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:2;
  width:26px;height:42px;border:2px solid rgba(255,255,255,.6);border-radius:14px}
.scroll-cue::after{content:"";position:absolute;left:50%;top:8px;width:3px;height:8px;border-radius:2px;
  background:rgba(255,255,255,.85);transform:translateX(-50%);animation:cue 1.6s infinite}
@keyframes cue{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* block hero (interior pages) */
.hero--block{min-height:clamp(260px,40vh,340px);align-items:center;color:#fff;
  background:linear-gradient(158deg,var(--ramp-900) 0%,var(--ramp-700) 62%,var(--ramp-800) 100%);position:relative;overflow:hidden}
.hero--block::before{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse 60% 90% at 82% 20%,rgba(150,118,0,.30),transparent 60%)}
.hero--block .overlay-terrain{position:absolute;inset:0;z-index:0;
  -webkit-mask:url(/images/terrain-ridge.svg) center/720px repeat;
  mask:url(/images/terrain-ridge.svg) center/720px repeat;background:#F3ECDD;opacity:.08}
.hero--block .hero__inner{padding-block:0;z-index:2}
.hero--block h1{font-size:clamp(2.4rem,5.4vw,3.9rem)!important;margin-bottom:.35rem}
.hero--block .hero__sub{color:#EFE7D6;max-width:52ch;font-size:1.08rem}
.hero--block .eyebrow{color:var(--accent-on-dark)}
.hero--block .eyebrow::before{background:var(--accent-on-dark)}
.hero--home-block{min-height:clamp(420px,52vh,560px)}

/* home block hero content is set by --hero-img being empty; fall back handled in build */

/* ---- intro / statement -------------------------------------------------- */
.statement{max-width:20ch}
.intro-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.intro-split__media{position:relative}
.intro-split__media img{border-radius:3px;box-shadow:var(--sh-2);width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.intro-split__media .tag{position:absolute;left:-14px;bottom:22px;background:var(--ink);color:var(--surface);
  font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;padding:.55rem 1rem;box-shadow:var(--sh-1)}
@media(max-width:820px){.intro-split{grid-template-columns:1fr}.intro-split__media{order:-1}}

/* ---- cards -------------------------------------------------------------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:var(--gap)}
.hunt-card{position:relative;display:flex;flex-direction:column;background:var(--surface);
  border:1px solid var(--paper-line);border-radius:4px;overflow:hidden;box-shadow:var(--sh-1);
  transition:transform var(--t),box-shadow var(--t),border-color var(--t)}
.hunt-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--accent-line)}
.hunt-card__media{aspect-ratio:3/2;overflow:hidden;background:var(--ramp-800)}
.hunt-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.hunt-card:hover .hunt-card__media img{transform:scale(1.05)}
.hunt-card__body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.hunt-card__eyebrow{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.16em;
  font-size:.74rem;color:var(--accent-text);margin-bottom:.5rem}
.section--alt .hunt-card__eyebrow{color:var(--accent-text-alt)}
.hunt-card h3{margin:0 0 .5rem;font-size:1.35rem}
.section--alt .hunt-card h3{color:var(--ink)}
.hunt-card p{color:var(--muted);font-size:.98rem;margin:0 0 1.1rem}
.hunt-card__foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-top:1rem;border-top:1px solid var(--paper-line)}
.hunt-card__price{font-family:var(--ff-display);color:var(--ink);font-size:1.15rem;letter-spacing:.02em}
.hunt-card__price small{display:block;font-family:var(--ff-body);text-transform:none;letter-spacing:0;
  color:var(--muted);font-size:.76rem;font-weight:400}
.hunt-card__link{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;
  color:var(--accent-text);display:inline-flex;gap:.4rem;align-items:center}
.hunt-card__link .arw{transition:transform var(--t)}
.hunt-card:hover .hunt-card__link .arw{transform:translateX(4px)}
.hunt-card--wide{grid-column:1/-1}

/* ---- stats band --------------------------------------------------------- */
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat__num{font-family:var(--ff-display);font-size:clamp(2.6rem,6vw,4.2rem);line-height:.9;color:var(--accent-on-dark)}
.stat__label{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;
  color:#EFE7D6;margin-top:.7rem}
.stat+.stat{position:relative}
@media(max-width:760px){.stats-band{grid-template-columns:repeat(2,1fr);gap:2.2rem}}

/* ---- species index (signature) ----------------------------------------- */
.species-index{position:relative;overflow:hidden}
.species-index .overlay-terrain{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask:url(/images/terrain-open.svg) center/760px repeat;
  mask:url(/images/terrain-open.svg) center/760px repeat;background:#F3ECDD;opacity:.07}
.species-index .wrap{position:relative;z-index:1}
.species-list{border-top:1px solid rgba(211,188,120,.28);margin-top:1.5rem}
.species-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;
  padding:1.05rem 0;border-bottom:1px solid rgba(211,188,120,.28);
  text-decoration:none;color:inherit;cursor:pointer;
  transition:background var(--t),padding var(--t)}
.species-row:hover{background:rgba(211,188,120,.06);padding-left:.8rem}
.species-row:hover .species-row__name{color:var(--accent-on-dark)}
.species-row__no{font-family:var(--ff-display);color:var(--accent-on-dark);font-size:1rem;letter-spacing:.1em;opacity:.75}
.species-row__name{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.02em;
  font-size:clamp(1.5rem,3.6vw,2.6rem);color:#F6EFDF;line-height:1;transition:color var(--t)}
.species-row__method{font-family:var(--ff-body);color:#CFC6B6;font-size:.92rem;text-align:right;max-width:26ch;
  display:inline-flex;align-items:center;justify-content:flex-end;gap:.7rem}
.species-row__go{font-family:var(--ff-display);color:var(--accent-on-dark);font-size:1.2rem;
  opacity:0;transform:translateX(-6px);transition:opacity var(--t),transform var(--t)}
.species-row:hover .species-row__go{opacity:1;transform:translateX(0)}
@media(max-width:640px){.species-row{grid-template-columns:auto 1fr}.species-row__method{display:none}}

/* ---- pricing rows ------------------------------------------------------- */
.pricing-rows{list-style:none;margin:1.4rem 0 0;padding:0}
.pricing-rows li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:1rem 0;border-bottom:1px solid var(--paper-line)}
.pricing-rows li:first-child{border-top:1px solid var(--paper-line)}
.pricing-rows .pr-name{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.04em;
  font-size:1.05rem;color:var(--ink)}
.pricing-rows .pr-name small{display:block;font-family:var(--ff-body);text-transform:none;letter-spacing:0;
  color:var(--muted);font-size:.86rem;font-weight:400;margin-top:.15rem}
.pricing-rows .pr-price{font-family:var(--ff-display);font-size:1.35rem;color:var(--ink);white-space:nowrap}
.pricing-rows .pr-price sup{font-size:.62em;margin-right:2px;position:relative;top:-.5em}

/* ---- feature list / included ------------------------------------------- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem;margin-top:1.5rem}
.feature{padding:1.5rem 1.4rem;background:var(--surface);border:1px solid var(--paper-line);border-radius:4px}
.section--alt .feature{background:var(--surface)}
.feature h3{font-size:1.15rem;margin-bottom:.5rem}
.feature p{color:var(--muted);margin:0;font-size:.96rem}
.chip-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem;border:1px solid var(--accent-line);
  border-radius:100px;font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--ink)}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.section--dark .chip{color:#F3ECDD;border-color:rgba(211,188,120,.4)}
.section--dark .chip::before{background:var(--accent-on-dark)}

/* ---- guest info blocks -------------------------------------------------- */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap)}
.info-card{padding:1.7rem 1.6rem;border:1px solid var(--paper-line);border-radius:4px;background:var(--surface)}
.info-card h3{font-size:1.2rem;margin-bottom:.7rem}
.info-card ul{margin:0;padding:0;list-style:none}
.info-card li{padding:.4rem 0 .4rem 1.4rem;position:relative;color:var(--muted);font-size:.97rem}
.info-card li::before{content:"";position:absolute;left:0;top:.85rem;width:8px;height:2px;background:var(--accent)}

/* ---- faq accordion ------------------------------------------------------ */
.faq{border-top:1px solid var(--paper-line)}
.faq__item{border-bottom:1px solid var(--paper-line)}
.faq__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:1.25rem 2.5rem 1.25rem 0;
  font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem;color:var(--ink);
  position:relative;display:block}
.faq__q::after{content:"";position:absolute;right:.3rem;top:50%;width:12px;height:12px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:translateY(-70%) rotate(45deg);transition:transform var(--t)}
.faq__item.is-open .faq__q::after{transform:translateY(-30%) rotate(225deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height var(--t)}
.faq__a p{padding:0 0 1.3rem;color:var(--muted);margin:0}

/* ---- gallery ------------------------------------------------------------ */
.gallery-grid{columns:3 300px;column-gap:14px}
.gallery-grid figure{margin:0 0 14px;break-inside:avoid;border-radius:4px;overflow:hidden;
  cursor:zoom-in;position:relative;box-shadow:var(--sh-1)}
.gallery-grid img{width:100%;height:auto;transition:transform var(--t-slow),filter var(--t)}
.gallery-grid figure:hover img{transform:scale(1.04);filter:brightness(1.05)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.8rem}
.gallery-filter{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;
  padding:.5rem 1rem;border:1px solid var(--paper-line);background:transparent;color:var(--muted);
  border-radius:100px;cursor:pointer;transition:var(--t)}
.gallery-filter:hover{color:var(--ink);border-color:var(--accent-line)}
.gallery-filter.is-active{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.gallery-scroller{display:flex;gap:14px;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory;
  scrollbar-width:thin}
.gallery-scroller figure{margin:0;flex:0 0 clamp(260px,42vw,440px);scroll-snap-align:start;
  border-radius:4px;overflow:hidden;box-shadow:var(--sh-1);cursor:zoom-in}
.gallery-scroller img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(15,10,4,.94);display:flex;align-items:center;
  justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--t),visibility var(--t)}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox img{max-width:92vw;max-height:86vh;width:auto;border-radius:3px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox__btn{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);
  color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.4rem;cursor:pointer;display:flex;
  align-items:center;justify-content:center;transition:var(--t)}
.lightbox__btn:hover{background:rgba(255,255,255,.22)}
.lb-prev{left:2vw;top:50%;transform:translateY(-50%)}
.lb-next{right:2vw;top:50%;transform:translateY(-50%)}
.lb-close{top:2vh;right:2vw}
@media(max-width:640px){.lb-prev{left:.5rem}.lb-next{right:.5rem}}

/* ---- photo fullbleed ---------------------------------------------------- */
.photo-fullbleed{position:relative;height:clamp(320px,52vh,560px);overflow:hidden}
.photo-fullbleed img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos)}

/* ---- cta band ----------------------------------------------------------- */
.cta-banner{position:relative;overflow:hidden;background:var(--espresso);color:#F3ECDD;text-align:center}
.cta-banner::before{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 100% at 50% -10%,rgba(150,118,0,.28),transparent 60%)}
.cta-banner .wrap{position:relative;z-index:1}
.cta-banner h2{color:#F6EFDF;max-width:18ch;margin-inline:auto}
.cta-banner p{color:#CFC6B6;max-width:46ch;margin-inline:auto}

/* ---- guides / team ------------------------------------------------------ */
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap)}
.guide-card{background:var(--surface);border:1px solid var(--paper-line);border-radius:4px;padding:1.7rem;text-align:center}
.guide-card__badge{width:74px;height:74px;margin:0 auto 1rem;border-radius:50%;background:var(--surface-alt);
  display:flex;align-items:center;justify-content:center;border:2px solid var(--accent-line)}
.guide-card__photo{width:140px;height:140px;margin:0 auto 1.1rem;border-radius:50%;object-fit:cover;display:block;
  border:2px solid var(--accent-line);box-shadow:var(--sh-1)}
.guide-card__badge span{font-family:var(--ff-display);font-size:1.6rem;color:var(--accent-text)}
.guide-card h3{font-size:1.25rem;margin-bottom:.2rem}
.guide-card .role{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;
  color:var(--accent-text);margin-bottom:.8rem}
.guide-card p{color:var(--muted);font-size:.95rem;margin:0}

/* ---- contact ------------------------------------------------------------ */
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap)}
.contact-card{padding:1.8rem 1.6rem;border:1px solid var(--paper-line);border-radius:4px;background:var(--surface);text-align:center}
.contact-card .ico{width:44px;height:44px;margin:0 auto 1rem;color:var(--accent-text)}
.contact-card h3{font-size:1.05rem;letter-spacing:.1em}
.contact-card a,.contact-card p{color:var(--muted);font-size:1rem;margin:.2rem 0 0;word-break:break-word}
.contact-card a:hover{color:var(--ink)}
.contact-form-shell{background:var(--surface);border:1px solid var(--paper-line);border-radius:4px;padding:clamp(1.4rem,3vw,2.4rem)}
/* MB form embed carries its own styling — bare wrapper, no border/background/padding */
.mb-form-wrap{background:transparent;border:0;padding:0;min-height:120px;width:100%}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.field{margin-bottom:1.1rem}
.field label{display:block;font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.1em;
  font-size:.78rem;color:var(--ink);margin-bottom:.4rem}
.field input,.field select,.field textarea{width:100%;padding:.85rem .9rem;border:1px solid var(--paper-line);
  border-radius:3px;background:#fff;font-family:var(--ff-body);font-size:1rem;color:var(--ink);transition:border-color var(--t),box-shadow var(--t)}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-line)}
.hp{position:absolute;left:-9999px}

/* ---- footer ------------------------------------------------------------- */
.site-footer{background:var(--ramp-900);color:#CFC6B6;padding-block:clamp(3rem,6vw,4.5rem) 2rem}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
@media(max-width:820px){.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:520px){.footer-top{grid-template-columns:1fr}}
.footer-brand__logo{height:66px;margin-bottom:1rem}
.footer-brand p{color:#B7AC98;max-width:34ch;font-size:.95rem}
.footer-col h4{font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.16em;font-size:.85rem;
  color:var(--accent-on-dark);margin:0 0 1rem}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin-bottom:.55rem}
.footer-col a{color:#CFC6B6;font-size:.96rem}
.footer-col a:hover{color:#fff}
.social-row{display:flex;gap:.8rem;margin-top:1.2rem}
.social-row a{width:40px;height:40px;border:1px solid rgba(211,188,120,.35);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#CFC6B6;transition:var(--t)}
.social-row a:hover{background:var(--accent);color:var(--espresso);border-color:var(--accent);transform:translateY(-2px)}
.social-row svg{width:18px;height:18px}
.footer-bottom{border-top:1px solid rgba(211,188,120,.18);padding-top:1.6rem;
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;color:#8F8570;font-size:.85rem}
.footer-bottom a{color:#8F8570}.footer-bottom a:hover{color:#CFC6B6}

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

/* hide MB widget injected artifacts */
.mb_widget script,.mb_widget style,.mb-full-width>script,.mb-full-width>style,
[class*="mb-"] script,[class*="mb-"] style{display:none!important}

/* ---- utility ------------------------------------------------------------ */
.section-head{max-width:60ch;margin-bottom:2.2rem}
.section-head.center{margin-inline:auto}
.two-col-prose{columns:2 320px;column-gap:2.5rem}
@media(max-width:680px){.two-col-prose{columns:1}}
.spacer-s{height:1rem}
.divider{height:1px;background:var(--paper-line);border:0;margin:0}

/* home hero: keep the hunters fully in frame on narrow screens */
@media(max-width:640px){body[data-page="index"] .hero--photo::before{background-position:68% 50%}}

/* --- CLIENT FEEDBACK 2026-09-15 -------------------------------------------
   "oakstoneoutfitters.com - Casey really likes this website, please try to
   match aesthetics."

   Restyled at the token level only: structure, content and layout are
   untouched, so this is reversible by restoring the :root block. Borrowed
   from Oak Stone: Barlow Semi Condensed for both display and body (was
   Oswald over a Source Serif body), a lighter paper surface, warmer body
   text, more section whitespace, and their flatter square-ish buttons.

   Lost Valley's own gold ramp is DELIBERATELY kept rather than Oak Stone's
   navy - Oak Stone is a direct competitor on the same Central Coast, and
   Caleb's call on 2026-09-15 was to borrow the feel, not the brand colour.

   Barlow Semi Condensed is narrower than the outgoing serif, so body copy
   is nudged up from 16.3px to 17.4px with slight tracking to hold Oak
   Stone's airier reading rhythm. Verified no horizontal overflow at
   1024px and 375px.
   -------------------------------------------------------------------------- */
body{font-size:1.09rem; letter-spacing:.2px}
