/* ===========================================================================
   Bitter Creek Outfitters — custom stylesheet
   Photo-less, type-forward. Deep hunter green + cream + brass.
   Palette matched to the client's named reference (deep green #1C2820).
   Class vocabulary is fixed per the rebuild skill; visual design is custom.
   =========================================================================== */

:root{
  --surface:#F6F3EC;
  --surface-alt:#ECE5D6;
  --ink:#1B2A21;
  --ink-2:#23362A;
  --muted:#47564C;
  --brass-fill:#A97B2C;      /* decorative bars/dots only */
  --brass-text:#7A4E14;      /* text/eyebrow on cream — 6.5:1 */
  --brass-on-dark:#C79A4E;   /* accent on dark bands — 5.8:1 */
  --cream-on-dark:#EDE7D6;
  --on-accent:#FFFFFF;
  --btn:#23362A;
  --btn-hover:#14201A;
  --ramp-900:#14201A;
  --ramp-800:#182720;
  --ramp-700:#23362A;
  --hero-scrim:.30;
  --hero-pos:center;
  --hairline:rgba(122,78,20,.26);
  --hairline-dark:rgba(199,154,78,.30);
  --shadow-1:0 1px 2px rgba(20,32,26,.06), 0 4px 14px rgba(20,32,26,.06);
  --shadow-2:0 8px 20px rgba(20,32,26,.10), 0 20px 44px rgba(20,32,26,.12);
  --t:260ms cubic-bezier(.2,.7,.2,1);
  --wrap:1160px;
  --wrap-narrow:780px;
  --serif:"DM Serif Display", Georgia, "Times New Roman", serif;
  --cond:"Oswald", "Arial Narrow", system-ui, sans-serif;
  --body:"Source Sans 3", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--body) !important;      /* MB widget defense */
  color:var(--ink) !important;
  background:var(--surface) !important;
  font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brass-text);text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.06;margin:0;letter-spacing:.002em}
p{margin:0 0 1em}

.wrap{width:min(var(--wrap),92vw);margin-inline:auto}
.wrap--narrow{width:min(var(--wrap-narrow),92vw)}

/* ---------- eyebrow ---------- */
.eyebrow{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.22em;
  font-size:.78rem;font-weight:600;color:var(--brass-text);margin:0 0 .9rem;
  display:flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--brass-fill);display:inline-block}
.eyebrow--ondark{color:var(--brass-on-dark)}
.eyebrow--ondark::before{background:var(--brass-on-dark)}

/* ===========================================================================
   Buttons  (.btn.btn--primary double class survives MB nav resets)
   =========================================================================== */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.09em;
  font-weight:600;font-size:.92rem;line-height:1;cursor:pointer;
  padding:.95em 1.5em;border-radius:2px;border:1.5px solid transparent;
  transition:transform var(--t), box-shadow var(--t), background var(--t), color var(--t), border-color var(--t);
  white-space:nowrap;text-align:center;
}
.btn__arw{transition:transform var(--t);display:inline-block}
.btn:hover .btn__arw{transform:translateX(4px)}
.btn--sm{padding:.7em 1.05em;font-size:.82rem}

.btn.btn--primary, button.mb_widget.btn--primary{
  background:var(--btn) !important;color:var(--on-accent) !important;border-color:var(--btn) !important;
}
.btn.btn--primary:hover, button.mb_widget.btn--primary:hover{
  background:var(--btn-hover) !important;transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(20,32,26,.28), 0 0 0 1px var(--brass-fill);
}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--hairline)}
.btn--ghost:hover{border-color:var(--brass-fill);color:var(--brass-text);transform:translateY(-2px)}
.btn--onaccent-ghost{background:transparent;color:var(--cream-on-dark);border-color:rgba(237,231,214,.4)}
.btn--onaccent-ghost:hover{border-color:var(--brass-on-dark);color:#fff;transform:translateY(-2px)}

/* ===========================================================================
   Header / nav
   =========================================================================== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background var(--t), box-shadow var(--t), border-color var(--t);
  border-bottom:1px solid transparent;
}
.site-header__inner{display:flex;align-items:center;gap:1.5rem;padding:.9rem 0;min-height:72px}
.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto}
.brand__logo{
  width:auto;height:52px;max-width:210px;border-radius:0;object-fit:contain;
  filter:brightness(0) invert(1);
  transition:height var(--t),filter var(--t);
}
.site-header.scrolled .brand__logo{height:44px;filter:none}
@media (max-width:600px){.brand__logo{height:42px;max-width:160px}}
.brand__word{
  font-family:var(--cond);text-transform:uppercase;font-weight:600;
  letter-spacing:.1em;font-size:1.02rem;line-height:1.02;color:var(--cream-on-dark);
  display:flex;flex-direction:column;transition:color var(--t);
}
.brand__word2{color:var(--brass-on-dark);font-weight:500}
.site-header.scrolled .brand__word{color:var(--ink)}
.site-header.scrolled .brand__word2{color:var(--brass-text)}

.site-header.scrolled{
  background:rgba(246,243,236,.92);backdrop-filter:blur(10px);
  box-shadow:var(--shadow-1);border-bottom-color:var(--hairline);
}

.nav-main{display:flex;align-items:center;gap:1.4rem}
.nav-main>a,.nav-dropdown__trigger{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;
  font-size:.9rem;font-weight:500;color:var(--cream-on-dark);
  position:relative;padding:.3em 0;transition:color var(--t);
}
.site-header.scrolled .nav-main>a,
.site-header.scrolled .nav-dropdown__trigger{color:var(--ink)}
.nav-main>a::after,.nav-dropdown__trigger::after{
  content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;
  background:var(--brass-on-dark);transform:scaleX(0);transform-origin:left;
  transition:transform var(--t);
}
.site-header.scrolled .nav-main>a::after,
.site-header.scrolled .nav-dropdown__trigger::after{background:var(--brass-fill)}
.nav-main>a:hover::after,.nav-dropdown:hover .nav-dropdown__trigger::after,
.nav-main>a[aria-current="page"]::after{transform:scaleX(1)}
.nav-main .btn{color:var(--on-accent)}

/* dropdown */
.nav-dropdown{position:relative}
.nav-dropdown__panel{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--surface);border:1px solid var(--hairline);border-radius:4px;
  box-shadow:var(--shadow-2);min-width:200px;padding:.5rem;
  display:flex;flex-direction:column;opacity:0;visibility:hidden;
  transition:opacity var(--t),transform var(--t),visibility var(--t);z-index:5;
}
.nav-dropdown::after{ /* hover bridge across the gap */
  content:"";position:absolute;top:100%;left:0;right:0;height:14px;
}
.nav-dropdown:hover .nav-dropdown__panel,.nav-dropdown:focus-within .nav-dropdown__panel{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px);
}
.nav-dropdown__panel a{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;
  font-size:.86rem;color:var(--ink) !important;padding:.6em .8em;border-radius:3px;
  transition:background var(--t),color var(--t);
}
.nav-dropdown__panel a:hover{background:var(--surface-alt);color:var(--brass-text) !important}

.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:var(--cream-on-dark);transition:var(--t)}
.site-header.scrolled .nav-toggle span{background:var(--ink)}

/* ===========================================================================
   Hero — color block (no client photography on file)
   =========================================================================== */
.hero{position:relative;isolation:isolate;overflow:hidden;color:var(--cream-on-dark)}
.hero--block{
  background:linear-gradient(158deg,var(--ramp-900) 0%,var(--ramp-800) 48%,var(--ramp-700) 100%);
  display:flex;align-items:flex-end;
  min-height:clamp(300px,40vh,360px);
  padding:calc(72px + 3rem) 0 3rem;
}
.hero--home{min-height:clamp(460px,64vh,640px)}
.hero__overlay{  /* contour motif, low opacity per hero policy */
  position:absolute;inset:0;z-index:-1;background:var(--cream-on-dark);
  -webkit-mask-image:url(/images/overlay-terrain.svg);mask-image:url(/images/overlay-terrain.svg);
  -webkit-mask-size:760px;mask-size:760px;-webkit-mask-position:70% 40%;mask-position:70% 40%;
  opacity:.08;
}
.hero--block::after{ /* radial accent bloom off-center */
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse 60% 70% at 82% 12%, rgba(199,154,78,.16), transparent 60%);
}
.hero__inner{position:relative;z-index:1}
.hero h1{
  font-size:clamp(2.7rem,7vw,5.2rem) !important;   /* MB widget defense */
  color:var(--cream-on-dark) !important;line-height:.98 !important;
  letter-spacing:.005em;margin:0 0 1rem;text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.hero__accent{color:var(--brass-on-dark)}
.hero__sub{
  font-family:var(--body);font-size:clamp(1.02rem,1.6vw,1.22rem);
  color:var(--cream-on-dark);max-width:44ch;margin:0 0 1.7rem;opacity:.94;
  text-shadow:0 1px 8px rgba(0,0,0,.3);
}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem}

/* ===========================================================================
   Sections & tonal bands
   =========================================================================== */
.section{padding:clamp(3.4rem,7vw,6rem) 0;position:relative}
.section--alt{background:var(--surface-alt) !important}       /* MB widget defense */
.section--dark{background:var(--ramp-800) !important;color:var(--cream-on-dark);isolation:isolate}
.section--statement{padding:clamp(3rem,6vw,5.2rem) 0}
.section__title{font-size:clamp(2rem,4.4vw,3.1rem);margin:0 0 1.1rem;color:var(--ink)}
.section__title--ondark{color:var(--cream-on-dark)}
.section__intro{color:var(--muted);max-width:56ch;font-size:1.08rem;margin:0 0 2.4rem}
.section--dark .section__intro{color:var(--cream-on-dark);opacity:.9}

/* statement */
.statement{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.28;color:var(--ink);margin:0 0 1rem}
.statement--sm{font-size:clamp(1.2rem,2.2vw,1.6rem)}
.statement__by{font-family:var(--cond);text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;color:var(--brass-text);margin:0}

/* ---------- card grid ---------- */
.card-grid{display:grid;gap:1.4rem}
.card-grid--3{grid-template-columns:repeat(3,1fr)}
.card-grid--2{grid-template-columns:repeat(2,1fr)}

/* ---------- hunt card ---------- */
.hunt-card{
  background:var(--surface);border:1px solid var(--hairline);border-radius:6px;
  padding:1.6rem 1.5rem;display:flex;flex-direction:column;
  box-shadow:var(--shadow-1);transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.hunt-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:var(--brass-fill)}
.section--alt .hunt-card,.section--dark .hunt-card{background:var(--surface)}
.section--alt .hunt-card h3,.section--dark .hunt-card h3{color:var(--ink)}   /* re-ink guard */
.hunt-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.hunt-card__num{font-family:var(--serif);font-size:1.5rem;color:var(--brass-fill);line-height:1}
.hunt-card__species{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--muted);text-align:right;max-width:14ch}
.hunt-card h3{font-size:1.6rem;margin:0 0 .5rem;color:var(--ink)}
.hunt-card__lede{color:var(--muted);font-size:.98rem;margin:0 0 1.1rem;flex:0 0 auto}
.hunt-card__pkgs{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.1rem}
.hunt-card__pkg{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid var(--hairline)}
.hunt-card__pkg:last-child{border-bottom:0;padding-bottom:0}
.hunt-card__pkgname{font-weight:600;font-size:.95rem;color:var(--ink)}
.hunt-card__pkgprice{font-family:var(--cond);font-weight:600;font-size:1.2rem;color:var(--ink);white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.hunt-card__pkgprice small{font-family:var(--body);font-weight:400;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.hunt-card__incl{list-style:none;padding:0;margin:0 0 1.3rem;display:flex;flex-wrap:wrap;gap:.4rem}
.hunt-card__incl li{font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--brass-text);background:var(--surface-alt);padding:.3em .7em;border-radius:2px}
.hunt-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}

/* ===========================================================================
   Species index — SIGNATURE MOVE
   =========================================================================== */
.spx{overflow:hidden}
.spx__bg{
  position:absolute;inset:0;z-index:0;background:var(--brass-on-dark);
  -webkit-mask-image:url(/images/overlay-terrain.svg);mask-image:url(/images/overlay-terrain.svg);
  -webkit-mask-size:900px;mask-size:900px;-webkit-mask-position:center;mask-position:center;
  opacity:.09;pointer-events:none;
}
.spx .wrap{position:relative;z-index:1}
.spx__list{display:flex;flex-direction:column;margin-top:1.5rem;border-top:1px solid var(--hairline-dark)}
.spx__row{
  display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1.5rem;
  padding:1.6rem .4rem;border-bottom:1px solid var(--hairline-dark);
  color:var(--cream-on-dark);transition:padding var(--t),background var(--t);
}
.spx__row:hover{padding-left:1.3rem;padding-right:0;background:rgba(199,154,78,.06)}
.spx__num{font-family:var(--serif);font-size:1.4rem;color:var(--brass-on-dark);opacity:.8}
.spx__name{font-family:var(--serif);font-size:clamp(1.9rem,4.5vw,3.4rem);line-height:1;color:var(--cream-on-dark)}
.spx__meta{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;color:var(--brass-on-dark);text-align:right;max-width:24ch}
.spx__from{font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;color:var(--cream-on-dark);white-space:nowrap;display:flex;align-items:center;gap:.5rem}
.spx__arw{transition:transform var(--t)}
.spx__row:hover .spx__arw{transform:translateX(5px)}

/* ===========================================================================
   Amenities / values / features
   =========================================================================== */
.amen-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-top:1rem}
.amen-col__h{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;color:var(--brass-on-dark);margin:0 0 1rem}
.section--alt .amen-col__h,.section:not(.section--dark) .amen-col__h{color:var(--brass-text)}
.amenities-grid{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.7rem}
.amen{display:flex;align-items:center;gap:.6rem;font-family:var(--cond);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;
  padding:.55em 1em;border:1px solid var(--hairline);border-radius:2px}
.section--dark .amen{border-color:var(--hairline-dark);color:var(--cream-on-dark)}
.amen__dot{width:8px;height:8px;border-radius:50%;background:var(--brass-fill);flex:0 0 auto}
.section--dark .amen__dot{background:var(--brass-on-dark)}
.amen--feat .amen__dot{background:transparent;border:2px solid var(--brass-fill)}
.section--dark .amen--feat .amen__dot{border-color:var(--brass-on-dark)}

.values-triad,.features-triad{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:1rem}
.value,.feature{position:relative;padding-top:1.4rem}
.value__rule,.feature__rule{position:absolute;top:0;left:0;width:44px;height:3px;background:var(--brass-fill)}
.value h3,.feature h3{font-size:1.35rem;margin:0 0 .5rem;color:var(--ink)}
.value p,.feature p{color:var(--muted);margin:0;font-size:.98rem}

/* ===========================================================================
   Guides / team
   =========================================================================== */
.guide-grid{max-width:720px}
.guide-card{background:var(--surface);border:1px solid var(--hairline);border-radius:6px;padding:2rem 1.6rem;text-align:center;box-shadow:var(--shadow-1);transition:transform var(--t),box-shadow var(--t)}
.guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.guide-card__mono{width:76px;height:76px;margin:0 auto 1rem;border-radius:50%;background:var(--ramp-800);color:var(--brass-on-dark);font-family:var(--serif);font-size:2rem;display:flex;align-items:center;justify-content:center}
.guide-card h3{font-size:1.4rem;margin:0 0 .3rem;color:var(--ink)}
.guide-card__role{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--brass-text);margin:0}

/* ===========================================================================
   Pricing rows (trip detail)
   =========================================================================== */
.pricing-rows{list-style:none;padding:0;margin:1.5rem 0 1rem}
.pricing-rows li{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--hairline)}
.pricing-rows li:last-child{border-bottom:0}
.pricing-rows__name{font-size:1.15rem;font-weight:600;color:var(--ink)}
.pricing-rows__price{font-family:var(--cond);font-weight:600;font-size:1.6rem;color:var(--ink);white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.pricing-rows__price small{font-family:var(--body);font-weight:400;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.pricing-note{color:var(--muted);font-size:.92rem;font-style:italic}

/* ===========================================================================
   FAQ / guest info
   =========================================================================== */
.guestinfo-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:1rem}
.guestinfo h3{font-size:1.3rem;margin:0 0 .8rem;color:var(--ink)}
.guestinfo p{color:var(--muted);font-size:.98rem}
.faq-list{margin-top:1.5rem;border-top:1px solid var(--hairline)}
.faq{border-bottom:1px solid var(--hairline)}
.faq summary{list-style:none;cursor:pointer;padding:1.2rem 0;font-family:var(--serif);font-size:1.25rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq__ic{position:relative;width:16px;height:16px;flex:0 0 auto}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;background:var(--brass-fill);transition:transform var(--t)}
.faq__ic::before{top:7px;left:0;width:16px;height:2px}
.faq__ic::after{top:0;left:7px;width:2px;height:16px}
.faq[open] .faq__ic::after{transform:scaleY(0)}
.faq__a{padding:0 0 1.3rem;color:var(--muted);max-width:68ch}
.faq__a p{margin:0}

/* ===========================================================================
   Gallery (empty state — no client photos yet)
   =========================================================================== */
.gallery-empty{text-align:center}
.gallery-empty__cta{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}
.gallery-grid{columns:3 240px;column-gap:1rem}
.gallery-grid img{width:100%;margin:0 0 1rem;border-radius:4px;break-inside:avoid}

/* ===========================================================================
   Contact
   =========================================================================== */
.contact-cards{margin-top:1rem}
.contact-card{background:var(--surface);border:1px solid var(--hairline);border-radius:6px;padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:var(--shadow-1);transition:transform var(--t),box-shadow var(--t),border-color var(--t)}
a.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:var(--brass-fill)}
.contact-card__k{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--brass-text)}
.contact-card__v{font-family:var(--serif);font-size:1.3rem;color:var(--ink);word-break:break-word}
.contact-form-shell{margin-top:1.5rem;min-height:120px;background:var(--surface);border:1px solid var(--hairline);border-radius:6px;padding:.5rem}

/* ===========================================================================
   CTA banner
   =========================================================================== */
.cta-banner{background:linear-gradient(140deg,var(--ramp-900),var(--ramp-700)) !important;color:var(--cream-on-dark);overflow:hidden;position:relative}
.cta-banner::before{content:"";position:absolute;inset:0;background:var(--brass-on-dark);-webkit-mask-image:url(/images/overlay-terrain.svg);mask-image:url(/images/overlay-terrain.svg);-webkit-mask-size:820px;mask-size:820px;-webkit-mask-position:20% 60%;mask-position:20% 60%;opacity:.08;pointer-events:none}
.cta-banner__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cta-banner h2{font-size:clamp(1.7rem,3.4vw,2.6rem);color:var(--cream-on-dark);margin:0 0 .4rem}
.cta-banner p{color:var(--cream-on-dark);opacity:.9;margin:0;max-width:46ch}
.cta-banner__btns{display:flex;gap:.85rem;flex-wrap:wrap}

/* ===========================================================================
   Footer
   =========================================================================== */
.site-footer{background:var(--ramp-900);color:var(--cream-on-dark);padding:3.4rem 0 1.6rem}
.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:2rem}
.brand__word--foot{font-size:1.15rem;color:var(--cream-on-dark)}
.brand__word--foot .brand__word2{color:var(--brass-on-dark)}
.site-footer__tag{color:var(--cream-on-dark);opacity:.82;margin:.8rem 0 .3rem;font-size:.96rem;max-width:34ch}
.site-footer__loc{font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--brass-on-dark);margin:0}
.site-footer__col h4{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--brass-on-dark);margin:0 0 1rem}
.site-footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.site-footer__col a,.site-footer__col li{color:var(--cream-on-dark);opacity:.86;font-size:.95rem;transition:opacity var(--t),color var(--t)}
.site-footer__col a:hover{opacity:1;color:var(--brass-on-dark)}
.site-footer__cta{margin-top:1.1rem}
.site-footer__base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid rgba(237,231,214,.14);font-size:.82rem;opacity:.7;font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em}

/* ===========================================================================
   Motion — scroll reveal
   =========================================================================== */
/* hide only when JS is present (fallback: content always visible) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity 700ms cubic-bezier(.2,.7,.2,1),transform 700ms cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1 !important;transform:none !important}
  *{scroll-behavior:auto}
}

/* ===========================================================================
   Hide MB-injected script/style artifacts
   =========================================================================== */
.contact-form-shell>script,.contact-form-shell>style,
body>script[src*="mallardbay"],body>style[data-emotion]{display:none !important}

/* ===========================================================================
   Responsive
   =========================================================================== */
@media (max-width:980px){
  .card-grid--3{grid-template-columns:1fr 1fr}
  .values-triad,.features-triad,.guestinfo-blocks{grid-template-columns:1fr}
  .amen-cols{grid-template-columns:1fr;gap:1.6rem}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav-toggle{display:flex}
  .nav-main{
    position:fixed;inset:72px 0 auto 0;background:var(--surface);flex-direction:column;
    align-items:stretch;gap:0;padding:1rem 6vw 1.6rem;box-shadow:var(--shadow-2);
    border-bottom:1px solid var(--hairline);
    transform:translateY(-12px);opacity:0;visibility:hidden;transition:var(--t);
  }
  .nav-main.open{transform:none;opacity:1;visibility:visible}
  .nav-main>a,.nav-dropdown__trigger{color:var(--ink) !important;padding:.85em 0;border-bottom:1px solid var(--hairline)}
  .nav-main .btn{margin-top:1rem;justify-content:center}
  .nav-dropdown__panel{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;padding:0 0 0 1rem;min-width:0}
  .nav-dropdown::after{display:none}
  .card-grid--3,.card-grid--2{grid-template-columns:1fr}
  .spx__row{grid-template-columns:auto 1fr;gap:.5rem 1rem}
  .spx__meta{grid-column:2;text-align:left}
  .spx__from{grid-column:2}
  .cta-banner__inner{flex-direction:column;align-items:flex-start}
  .site-footer__grid{grid-template-columns:1fr}
}

/* ===========================================================================
   Lightbox (used when the gallery has images)
   =========================================================================== */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(20,32,26,.94);display:none;align-items:center;justify-content:center;padding:4vw}
.lightbox.open{display:flex}
.lightbox__img{max-width:90vw;max-height:86vh;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox__close{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(199,154,78,.18);border:1px solid rgba(237,231,214,.35);color:#fff;font-size:1.6rem;width:52px;height:52px;border-radius:50%;cursor:pointer;transition:background var(--t)}
.lightbox__nav:hover{background:var(--brass-fill)}
.lightbox__prev{left:3vw}
.lightbox__next{right:3vw}


/* ===========================================================================
   Photo heroes (client photography added 2026-09-15) — wires the previously
   declared --hero-pos / --hero-scrim vars that nothing was reading.
   =========================================================================== */
.hero--photo{
  background-image:
    linear-gradient(100deg, rgba(20,32,26,.90) 0%, rgba(20,32,26,.68) 38%, rgba(20,32,26,.30) 68%, rgba(20,32,26,.22) 100%),
    linear-gradient(180deg, rgba(20,32,26,calc(var(--hero-scrim) + .10)) 0%, rgba(20,32,26,.18) 34%, rgba(20,32,26,.80) 100%),
    var(--hero-img);
  background-size:cover;
  background-position:var(--hero-pos);
  background-repeat:no-repeat;
}
.hero--photo .hero__overlay{opacity:.05}
.hero--photo::after{background:radial-gradient(ellipse 60% 70% at 82% 12%, rgba(199,154,78,.10), transparent 62%)}

/* card thumbnails */
.hunt-card__img{
  aspect-ratio:3/2;overflow:hidden;border-radius:4px 4px 0 0;margin:-1px -1px 1.15rem;background:var(--surface-alt);
}
.hunt-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t)}
.hunt-card:hover .hunt-card__img img{transform:scale(1.04)}

/* gallery filter tabs */
.gal-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 0 2rem}
.gal-tab{
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;
  padding:.5rem 1.1rem;border:1px solid var(--hairline);border-radius:999px;background:transparent;
  color:var(--ink-2);cursor:pointer;transition:all var(--t);
}
.gal-tab:hover{border-color:var(--brass-text);color:var(--ink)}
.gal-tab[aria-selected="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}
.gallery-grid img{cursor:zoom-in}
@media (max-width:760px){.gallery-grid{columns:2 150px}}
