/* ==========================================================================
   Tine Flies Outfitters — custom heritage / engraved "ink on paper" system
   Black & white per client brief. Display = Zilla Slab (matches slab wordmark),
   body = Barlow, eyebrows = Barlow Condensed. Monochrome, hairline rules.
   ========================================================================== */

:root{
  --ink:#15120E;            /* near-black warm ink */
  --ink-2:#3a352d;          /* softer ink for body */
  --muted:#6b645a;          /* captions / meta */
  --surface:#FBFAF7;        /* paper */
  --surface-2:#F1EDE5;      /* alt band */
  --dark:#15120E;           /* dark band */
  --on-dark:#FBFAF7;
  --accent-fill:#15120E;    /* buttons (monochrome) */
  --accent-text:#15120E;    /* links */
  --on-accent:#FBFAF7;
  --bone:#C9C2B4;           /* the one warm neutral, used for edge bars / rules */
  --line:rgba(21,18,14,.22);
  --line-strong:rgba(21,18,14,.4);
  /* grayscale ramp */
  --ramp-900:#15120E; --ramp-800:#241f18; --ramp-700:#3a342a; --ramp-600:#544c3f;
  --ramp-500:#6f6659; --ramp-400:#8f8778; --ramp-300:#b3ab9c; --ramp-200:#d8d2c6;
  --ramp-100:#ece7dc; --ramp-050:#f7f4ee;
  --hero-scrim:.62;
  --hero-pos:center;
  --t:260ms cubic-bezier(.2,.7,.2,1);
  --s-card:0 14px 40px -18px rgba(21,18,14,.30), 0 2px 6px rgba(21,18,14,.07);
  --s-hover:0 26px 56px -18px rgba(21,18,14,.42), 0 3px 10px rgba(21,18,14,.12);
  --wrap:1180px;
  --font-display:"Zilla Slab", Georgia, serif;
  --font-body:"Barlow", system-ui, sans-serif;
  --font-cond:"Barlow Condensed", "Barlow", sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body)!important;
  color:var(--ink-2)!important;
  background:var(--surface)!important;
  font-size:17px; line-height:1.7; -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(--font-display);color:var(--ink);line-height:1.05;margin:0 0 .4em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}
h2{font-size:clamp(1.9rem,3.8vw,3rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
p{margin:0 0 1.1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
.wrap--narrow{max-width:820px}

/* eyebrow / labels */
.eyebrow{
  font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.28em;
  font-weight:600;font-size:.86rem;color:var(--muted);margin:0 0 .9rem;
  display:flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--ink);opacity:.5;display:inline-block}
.eyebrow--center{justify-content:center}
.eyebrow--center::after{content:"";width:34px;height:1px;background:var(--ink);opacity:.5;display:inline-block}
.on-dark .eyebrow, .hero .eyebrow{color:rgba(251,250,247,.8)}
.on-dark .eyebrow::before,.on-dark .eyebrow::after,.hero .eyebrow::before,.hero .eyebrow::after{background:var(--on-dark)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;cursor:pointer;
  font-family:var(--font-cond)!important;font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  font-size:1rem;border:0;line-height:1;text-align:center;
  /* subtle symmetric cut-corners (top-left + bottom-right) for a little heritage flare */
  clip-path:polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
}
.btn svg{transition:transform var(--t)}
.btn:hover svg{transform:translateX(4px)}

/* PRIMARY — uniform solid rectangle; fills (inverts) on hover */
.btn.btn--primary{
  padding:17px 32px;background:var(--ink)!important;color:var(--on-accent)!important;
  border:1.5px solid var(--ink)!important;
  transition:transform var(--t),box-shadow var(--t),background var(--t),color var(--t),border-color var(--t);
}
.btn.btn--primary:hover{background:var(--on-accent)!important;color:var(--ink)!important;border-color:var(--ink)!important;
  transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(21,18,14,.45)}

/* SECONDARY — outlined rectangle, same footprint; fills on hover */
.btn--ghost{
  padding:16px 30px;background:transparent;color:var(--ink);border:1.5px solid var(--ink);
  transition:background var(--t),color var(--t),border-color var(--t),transform var(--t);
}
.btn--ghost:hover{background:var(--ink);color:var(--on-accent);border-color:var(--ink);transform:translateY(-2px)}

/* DARK CONTEXTS — hero, dark bands, CTA, and the transparent header over the hero.
   Primary starts light so it never blends into the dark; inverts to outline on hover. */
.hero .btn--primary,.section--dark .btn--primary,.cta-banner .btn--primary,
.site-header:not(.is-scrolled) .btn--primary{
  background:var(--on-accent)!important;color:var(--ink)!important;border-color:var(--on-accent)!important;
}
.hero .btn--primary:hover,.section--dark .btn--primary:hover,.cta-banner .btn--primary:hover,
.site-header:not(.is-scrolled) .btn--primary:hover{
  background:transparent!important;color:var(--on-accent)!important;border-color:var(--on-accent)!important;
}
.hero .btn--ghost,.section--dark .btn--ghost,.cta-banner .btn--ghost{
  color:var(--on-dark);border-color:rgba(251,250,247,.85);background:rgba(251,250,247,.08);
}
.hero .btn--ghost:hover,.section--dark .btn--ghost:hover,.cta-banner .btn--ghost:hover{
  background:var(--on-dark);color:var(--ink);border-color:var(--on-dark);
}
button.mb_widget.btn--primary{font-family:var(--font-cond)!important}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items: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 .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:96px;transition:height var(--t)}
.brand__logo{display:block}
.brand__logo img{height:82px;width:auto;transition:height var(--t)}
.header-logo-dark{display:none}
.site-header .wrap{height:108px}
.site-header.is-scrolled{background:rgba(251,250,247,.94);backdrop-filter:saturate(180%) blur(10px);box-shadow:0 1px 0 var(--line)}
.site-header.is-scrolled .wrap{height:72px}
.site-header.is-scrolled .brand__logo img{height:50px}
.site-header.is-scrolled .header-logo-light{display:none}
.site-header.is-scrolled .header-logo-dark{display:block}
/* on interior pages the header sits over an ink hero, so light logo default is right;
   once scrolled it flips to dark on paper. */

.nav-main{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.nav-main > li{position:relative}
.nav-main a{
  font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.13em;font-weight:600;font-size:1.02rem;
  color:var(--on-dark);position:relative;padding:6px 0;transition:color var(--t)
}
.site-header.is-scrolled .nav-main a{color:var(--ink)}
.nav-main a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:currentColor;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-cta{margin-left:6px}

/* dropdown */
.nav-dropdown{position:relative}
.nav-dropdown > a{display:inline-flex;align-items:center}
.nav-dropdown > a::before{content:"";position:absolute;left:0;right:0;top:100%;height:22px}
.nav-dropdown__panel{
  position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--surface);min-width:290px;padding:12px;box-shadow:var(--s-card);border:1px solid var(--line);
  opacity:0;visibility:hidden;transition:opacity var(--t),transform var(--t);z-index:70;
}
.nav-dropdown:hover .nav-dropdown__panel,.nav-dropdown:focus-within .nav-dropdown__panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-dropdown__panel a{display:block;color:var(--ink)!important;padding:11px 14px;letter-spacing:.06em;font-size:.98rem;transition:background var(--t)}
.nav-dropdown__panel a:hover{background:var(--surface-2)}
.nav-dropdown__panel a::after{display:none}

.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;z-index:80}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--on-dark);margin:5px 0;transition:all var(--t)}
.site-header.is-scrolled .nav-toggle span{background:var(--ink)}

/* ---------- hero (block, ink on paper) ---------- */
.hero{position:relative;overflow:hidden;background:var(--dark);color:var(--on-dark)}
.hero--block{min-height:clamp(560px,88vh,860px);display:flex;align-items:center}
.hero--page{min-height:clamp(300px,42vh,380px);display:flex;align-items:flex-end;padding-bottom:0}
.hero__bg-motif{position:absolute;inset:0;pointer-events:none;
  background-color:rgba(251,250,247,.9);
  -webkit-mask-image:url("/images/overlays/terrain-mid.svg");mask-image:url("/images/overlays/terrain-mid.svg");
  -webkit-mask-size:1100px auto;mask-size:1100px auto;-webkit-mask-repeat:repeat;mask-repeat:repeat;
  opacity:.06}
.hero__watermark{position:absolute;right:-6%;top:50%;transform:translateY(-50%);height:118%;opacity:.06;pointer-events:none}
/* max-width:none is required so the global img{max-width:100%} can't squash the mark's aspect ratio */
.hero__watermark img{height:100%;width:auto;max-width:none}
.hero .wrap{position:relative;z-index:3;padding-top:120px;padding-bottom:70px;width:100%}
.hero--page .wrap{padding-top:130px;padding-bottom:34px}
.hero h1{color:var(--on-dark);max-width:16ch}
.hero__lead{font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:52ch;color:rgba(251,250,247,.86);margin-bottom:1.7rem}
.hero .btn-row{margin-top:6px}
.hero--page h1{max-width:20ch}
.hero__crumb{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.2em;font-size:.82rem;color:rgba(251,250,247,.7);margin-bottom:.7rem}

/* ---------- sections ---------- */
.section{position:relative;padding:clamp(64px,8vw,120px) 0}
.section--tight{padding:clamp(44px,5vw,72px) 0}
.section--alt{background:var(--surface-2)}
.section--dark{background:var(--dark);color:var(--on-dark)}
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--on-dark)}
.section--dark p{color:rgba(251,250,247,.82)}
.section--alt::before,.section--dark::before,.cta-banner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  -webkit-mask-image:url("/images/overlays/terrain-mid.svg");mask-image:url("/images/overlays/terrain-mid.svg");
  -webkit-mask-size:900px auto;mask-size:900px auto;-webkit-mask-repeat:repeat;mask-repeat:repeat;
}
.section--alt::before{background-color:var(--ink);opacity:.05}
.section--dark::before{background-color:var(--on-dark);opacity:.05}
.section > .wrap{position:relative;z-index:2}
.section__head{max-width:720px;margin:0 0 2.6rem}
.section__head--center{margin-left:auto;margin-right:auto;text-align:center}
.lead{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--ink-2)}
.section--dark .lead{color:rgba(251,250,247,.86)}

/* signature: oversized outlined wordmark — single centered line, sized to fit one row */
.bigmark-wrap{overflow:hidden;margin:-.1em 0 0;text-align:center}
.bigmark{display:inline-block;white-space:nowrap;pointer-events:none;user-select:none;
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:.92;
  font-size:clamp(1.6rem,6.6vw,7.5rem);color:transparent;-webkit-text-stroke:1.5px var(--line-strong)}

/* nav dropdown caret */
.nav-caret{width:11px;height:11px;margin-left:5px;transition:transform var(--t);flex:0 0 auto}
.nav-dropdown:hover .nav-caret,.nav-dropdown:focus-within .nav-caret{transform:rotate(180deg)}

/* ---------- offering cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.card-grid--2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
/* four offerings share one uniform row on desktop, 2x2 on tablet, stacked on phone */
.card-grid--4{grid-template-columns:repeat(4,1fr);gap:20px}
.card-grid--4 .hunt-card__body{padding:22px 20px 24px}
.card-grid--4 .hunt-card__incl{font-size:.9rem}
@media(max-width:1080px){.card-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.card-grid--4{grid-template-columns:1fr}}
.hunt-card{
  position:relative;background:var(--surface);border:1px solid var(--line);overflow:hidden;
  display:flex;flex-direction:column;transition:transform var(--t),box-shadow var(--t);box-shadow:var(--s-card)
}
.hunt-card:hover{transform:translateY(-4px);box-shadow:var(--s-hover)}
.hunt-card__media{aspect-ratio:4/3;overflow:hidden;background:var(--ramp-200)}
.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:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.hunt-card__ey{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}
.hunt-card h3{margin-bottom:.5rem}
.hunt-card__price{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1.15rem;margin:.2rem 0 .8rem}
.hunt-card__price small{font-family:var(--font-body);font-weight:500;color:var(--muted);font-size:.82rem;letter-spacing:.02em}
.hunt-card__incl{list-style:none;margin:0 0 1.4rem;padding:0;font-size:.95rem}
.hunt-card__incl li{padding:5px 0 5px 20px;position:relative;border-bottom:1px solid var(--line);color:var(--ink-2)}
.hunt-card__incl li:last-child{border-bottom:0}
.hunt-card__incl li::before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;background:var(--ink);transform:rotate(45deg)}
.hunt-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}
.hunt-card__foot .card-link{white-space:nowrap}
.hunt-card__foot .btn--primary{padding:13px 18px;font-size:.9rem}
.card-grid--4 .hunt-card__foot .btn--primary{padding:12px 15px;font-size:.85rem}
.card-grid--4 .card-link{font-size:.85rem}
.card-link{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:.92rem;color:var(--ink);display:inline-flex;align-items:center;gap:.5rem}
.card-link svg{transition:transform var(--t)}
.card-link:hover svg{transform:translateX(4px)}
.section--alt .hunt-card h3{color:var(--ink)}

/* feature split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.split--reverse .split__media{order:2}
.split__media{position:relative}
.split__media img{width:100%;height:100%;max-height:640px;object-fit:cover;box-shadow:var(--s-card)}
.split__media--framed{border:1px solid var(--line);padding:12px;background:var(--surface)}
.split__badge{position:absolute;left:-1px;bottom:22px;background:var(--ink);color:var(--on-dark);font-family:var(--font-cond);
  text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;padding:10px 18px}

/* stats band */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;text-align:center}
.stat__num{font-family:var(--font-display);font-weight:700;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--on-dark);line-height:1}
.stat__lab{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;color:rgba(251,250,247,.72);margin-top:.5rem}

/* values triad */
.triad{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.value{border-top:2px solid var(--ink);padding-top:18px}
.value h3{margin-bottom:.4rem}
.section--dark .value{border-top-color:var(--on-dark)}

/* amenities pills */
.amenities{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:1.2rem 0 0}
.amenities li{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;
  border:1px solid var(--line);padding:8px 14px;display:flex;align-items:center;gap:8px;color:var(--ink-2)}
.amenities li::before{content:"";width:6px;height:6px;background:var(--ink);transform:rotate(45deg)}
.section--dark .amenities li{border-color:rgba(251,250,247,.3);color:rgba(251,250,247,.85)}
.section--dark .amenities li::before{background:var(--on-dark)}

/* pricing rows */
.pricing-rows{list-style:none;margin:1.4rem 0 0;padding:0}
.pricing-rows li{display:flex;justify-content:space-between;gap:20px;align-items:baseline;
  padding:14px 0;border-bottom:1px solid var(--line)}
.pricing-rows .p-name{font-family:var(--font-display);font-weight:600;color:var(--ink)}
.pricing-rows .p-price{font-family:var(--font-display);font-weight:700;color:var(--ink);white-space:nowrap}
.pricing-rows .p-price small{font-family:var(--font-body);font-weight:500;font-size:.8rem;color:var(--muted)}

/* full-bleed photo band */
.photoband{position:relative;height:clamp(340px,50vw,560px);overflow:hidden}
.photoband img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos,center)}
.photoband__cap{position:absolute;left:0;bottom:0;padding:22px 26px;background:linear-gradient(to top,rgba(21,18,14,.7),transparent);
  color:var(--on-dark);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.16em;font-size:.9rem;width:100%}

/* gallery */
.gallery-grid{columns:3 260px;column-gap:16px}
.gallery-grid img{width:100%;margin:0 0 16px;cursor:zoom-in;border:1px solid var(--line);transition:filter var(--t),transform var(--t)}
.gallery-grid img:hover{filter:brightness(1.04)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 2rem}
.gallery-filters button{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.12em;font-size:.86rem;font-weight:600;
  background:transparent;border:1px solid var(--line);padding:9px 18px;cursor:pointer;color:var(--ink-2);transition:all var(--t)}
.gallery-filters button.is-active,.gallery-filters button:hover{background:var(--ink);color:var(--on-accent);border-color:var(--ink)}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(15,13,10,.94);z-index:200;display:none;align-items:center;justify-content:center}
.lb.is-open{display:flex}
.lb img{max-width:92vw;max-height:86vh;width:auto;border:1px solid rgba(251,250,247,.15)}
.lb__btn{position:absolute;background:none;border:0;color:var(--on-dark);cursor:pointer;font-size:2.4rem;line-height:1;padding:14px;opacity:.8;transition:opacity var(--t)}
.lb__btn:hover{opacity:1}
.lb__close{top:10px;right:16px}
.lb__prev{left:8px;top:50%;transform:translateY(-50%)}
.lb__next{right:8px;top:50%;transform:translateY(-50%)}

/* team / guide cards */
.guide-card{background:var(--surface);border:1px solid var(--line);padding:26px}
.guide-card h3{margin-bottom:.2rem}
.guide-card__role{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;color:var(--muted);margin-bottom:.8rem}
.guide-card__mono{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--ink);border:1px solid var(--line);width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}

/* faq accordion */
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--ink)}
.faq__q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--muted);transition:transform var(--t)}
.faq__item.is-open .faq__q::after{content:"\2013"}
.faq__a{max-height:0;overflow:hidden;transition:max-height var(--t)}
.faq__a-inner{padding:0 0 22px;color:var(--ink-2)}

/* guest info blocks */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.info-block{border-left:2px solid var(--ink);padding:4px 0 4px 22px}
.info-block h3{margin-bottom:.6rem}
.info-block ul{list-style:none;margin:0;padding:0}
.info-block li{padding:6px 0 6px 18px;position:relative;font-size:.97rem;border-bottom:1px solid var(--line)}
.info-block li:last-child{border-bottom:0}
.info-block li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;background:var(--ink);transform:rotate(45deg)}

/* cta banner */
.cta-banner{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden}
.cta-banner::before{background-color:var(--on-dark);opacity:.05}
.cta-banner .wrap{position:relative;z-index:2;text-align:center;padding-top:clamp(60px,8vw,100px);padding-bottom:clamp(60px,8vw,100px)}
.cta-banner h2{color:var(--on-dark);max-width:20ch;margin:0 auto .6rem}
.cta-banner p{color:rgba(251,250,247,.82);max-width:56ch;margin:0 auto 1.6rem}
.cta-banner .btn-row{justify-content:center}

/* contact cards */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:900px){.contact-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.contact-cards{grid-template-columns:1fr}}
.contact-card{border:1px solid var(--line);padding:28px 24px;background:var(--surface);
  display:flex;flex-direction:column;justify-content:flex-start;min-height:150px}
.contact-card .eyebrow{margin-bottom:.9rem;white-space:nowrap}
.contact-card a,.contact-card p{font-family:var(--font-display);font-size:1.2rem;color:var(--ink);font-weight:600;margin:0;word-break:break-word}
.contact-card a:hover{text-decoration:underline}

/* form */
.contact-form-shell{background:var(--surface);border:1px solid var(--line);padding:clamp(24px,4vw,40px)}
/* bare variant — the MB form renders its own card, so no wrapper box behind it */
.contact-form-shell--bare{background:transparent;border:0;padding:0}
.form-field{margin-bottom:18px}
.form-field label{display:block;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;margin-bottom:7px;color:var(--ink)}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:13px 14px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);
  font-family:var(--font-body);font-size:1rem;border-radius:0}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--ink);outline-offset:-2px}
.hp{position:absolute;left:-9999px}

/* footer */
.site-footer{background:var(--dark);color:rgba(251,250,247,.75);padding:64px 0 30px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:44px}
.footer-logo img{height:78px;width:auto;margin-bottom:18px}
.footer-col h4{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.16em;font-size:.9rem;color:var(--on-dark);margin-bottom:16px}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin-bottom:10px}
.footer-col a{color:rgba(251,250,247,.75);transition:color var(--t)}
.footer-col a:hover{color:var(--on-dark)}
.footer-social{display:flex;gap:12px;margin-top:8px}
.footer-social a{width:38px;height:38px;border:1px solid rgba(251,250,247,.3);display:flex;align-items:center;justify-content:center;transition:all var(--t)}
.footer-social a:hover{background:var(--on-dark);border-color:var(--on-dark)}
.footer-social svg{width:17px;height:17px;fill:rgba(251,250,247,.8)}
.footer-social a:hover svg{fill:var(--ink)}
.footer-bottom{border-top:1px solid rgba(251,250,247,.16);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.86rem;color:rgba(251,250,247,.55)}
.footer-bottom a{color:rgba(251,250,247,.7)}

/* reveal motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 700ms ease,transform 700ms ease}
.reveal.is-in{opacity:1;transform:none}

/* hide injected widget artifacts */
.mb_widget script,.mb_widget style,.mb-full-width > script{display:none!important}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .split{grid-template-columns:1fr}
  .split--reverse .split__media{order:0}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .nav-toggle{display:block}
  .nav-main{
    position:fixed;top:0;right:0;bottom:0;width:min(84vw,340px);background:var(--surface);
    flex-direction:column;align-items:flex-start;gap:6px;padding:100px 30px 40px;
    transform:translateX(100%);transition:transform var(--t);box-shadow:var(--s-hover);z-index:75;overflow-y:auto
  }
  .nav-main.is-open{transform:translateX(0)}
  .nav-main a{color:var(--ink)!important;font-size:1.15rem;padding:9px 0}
  .nav-dropdown__panel{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;
    padding:0 0 0 16px;min-width:0;background:transparent}
  .nav-dropdown__panel a{padding:7px 0;font-size:1rem}
  .nav-cta{margin:14px 0 0}
  body.nav-open{overflow:hidden}
}
@media(max-width:768px){
  /* center the hero watermark and keep its true aspect on phones (no side-crop that reads as distortion) */
  .hero__watermark{height:auto;width:150%;top:46%;right:50%;transform:translate(50%,-50%)}
  .hero__watermark img{height:auto;width:100%;max-width:none}
}
@media(max-width:560px){
  .footer-top{grid-template-columns:1fr}
  .gallery-grid{columns:2 150px}
  h1{font-size:clamp(2.1rem,9vw,3rem)}
}

/* ===== RECURRING-FIX HARDENING (do not remove) ===== */
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem)!important}
body{font-family:var(--font-body)!important;color:var(--ink-2)!important;background:var(--surface)!important}
.section--alt{background:var(--surface-2)!important}
.section--dark,.cta-banner,.site-footer,.hero{background:var(--dark)!important}

/* Hero scale line — the acreage the operation runs on, called out above the lead */
.hero__scale{margin:0 0 .6rem;font-size:1.05rem;letter-spacing:.01em;color:var(--accent,#c8862b)}
.hero__scale strong{font-weight:600}
@media(max-width:640px){.hero__scale{font-size:.98rem}}

/* Scouting callout — dated field intel reads as proof, so give it a frame */
.scout-note{border:1px solid var(--line,#e2ddd3);border-left:3px solid var(--accent,#c8862b);
  border-radius:6px;padding:22px 24px;margin:26px 0 0;background:rgba(200,134,43,.05)}
.scout-note h3{margin:0 0 .5rem;font-size:1.05rem;letter-spacing:.04em}
.scout-note p{margin:0 0 .6rem}
.scout-note p:last-child{margin-bottom:0}
.scout-note__date{font-family:var(--font-cond,inherit);text-transform:uppercase;
  letter-spacing:.16em;font-size:.72rem;color:var(--accent,#c8862b);display:block;margin-bottom:.45rem}

/* Season dates list */
.season-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.season-list li{display:flex;justify-content:space-between;gap:18px;padding-bottom:7px;
  border-bottom:1px solid var(--line,#e2ddd3)}
.season-list li:last-child{border-bottom:0}
.season-list b{font-weight:600}
.season-list span{color:var(--muted,#6b6b60);text-align:right}
