:root{
  --bark:#2B1D14;
  --bark-soft:#3E2C1E;
  --forest:#33422C;
  --forest-deep:#232D1E;
  --wood:#8B5E34;
  --wood-light:#B98452;
  --cream:#F6F1E5;
  --cream-dim:#EDE5D3;
  --rust:#B5502E;
  --rust-dark:#8E3E22;
  --line:#DED2B8;
  --muted:#6B5D4A;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Work Sans',system-ui,sans-serif;
  color:var(--bark);
  background:var(--cream);
  line-height:1.6;
  font-size:16.5px;
}
h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;
  color:var(--bark);
  line-height:1.15;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
section{padding:88px 0;}

/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(246,241,229,0.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.navbar{display:flex;align-items:center;justify-content:space-between;height:82px;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:700;font-size:21px;letter-spacing:.01em;color:var(--forest-deep);}
.brand svg{flex:none;}
.navlinks{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:500;}
.navlinks a:not(.btn){color:var(--bark-soft);}
.navlinks a:not(.btn):hover{color:var(--rust);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:3px;font-weight:600;font-size:15px;letter-spacing:.01em;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;border:1px solid transparent;}
.btn-primary{background:var(--rust);color:#fff;}
.btn-primary:hover{background:var(--rust-dark);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn-ghost:hover{background:rgba(255,255,255,.14);}
.btn-outline{background:transparent;color:var(--forest-deep);border-color:var(--forest);}
.btn-outline:hover{background:var(--forest);color:#fff;}

/* hero */
.hero{position:relative;min-height:88vh;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;}
.hero-bg{position:absolute;inset:0;overflow:hidden;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(20,14,9,.86) 0%, rgba(20,14,9,.35) 55%, rgba(20,14,9,.15) 100%);}
.hero-inner{position:relative;padding-bottom:76px;max-width:760px;}
.kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--wood-light);margin-bottom:14px;}
.hero .kicker{color:#E8C9A0;}
.hero h1{font-size:clamp(34px,5.2vw,58px);color:#fff;margin-bottom:16px;}
.hero .lede{font-size:18px;color:#EDE3D0;max-width:56ch;margin-bottom:30px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* generic section headers */
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:14px;}
.section-head p{color:var(--muted);font-size:17px;}
.center{margin-left:auto;margin-right:auto;text-align:center;}

/* highlight grid */
.highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.highlight{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 24px;}
.highlight .ico{width:40px;height:40px;color:var(--rust);margin-bottom:16px;}
.highlight h3{font-size:18px;margin-bottom:8px;}
.highlight p{color:var(--muted);font-size:14.5px;}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split img{border-radius:6px;width:100%;height:100%;object-fit:cover;max-height:520px;}
.split .lede{color:var(--muted);font-size:16.5px;margin-top:16px;}

/* photo grid */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.photo-grid a{display:block;border-radius:6px;overflow:hidden;aspect-ratio:4/3;}
.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.photo-grid a:hover img{transform:scale(1.05);}
.photo-grid .tall{grid-row:span 2;aspect-ratio:auto;}

/* hunting band */
.hunt-band{background:var(--forest-deep);color:#EFE7D5;}
.hunt-band h2{color:#fff;}
.hunt-band .section-head p{color:#C9BEA4;}
.hunt-band .kicker{color:#CF8D5F;}
.hunt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;}
.hunt-grid img{border-radius:6px;aspect-ratio:4/3;object-fit:cover;filter:saturate(.92);}
.hunt-note{margin-top:34px;background:rgba(255,255,255,.06);border:1px solid rgba(239,231,213,.18);border-radius:6px;padding:24px 28px;max-width:680px;}
.hunt-note p{color:#E5DBC5;font-size:15.5px;}
.hunt-note b{color:#fff;}

/* reviews */
.reviews{background:var(--cream-dim);}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.review{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px;}
.stars{color:var(--rust);letter-spacing:2px;margin-bottom:10px;font-size:15px;}
.review .quote{font-size:15px;color:var(--bark-soft);margin-bottom:16px;}
.review .who{font-size:13px;color:var(--muted);font-weight:600;}
.review .reply{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted);font-style:italic;}

/* things to do teaser */
.teaser{position:relative;color:#fff;}
.teaser .bg{position:absolute;inset:0;}
.teaser .bg img{width:100%;height:100%;object-fit:cover;}
.teaser .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(20,14,9,.82) 0%, rgba(20,14,9,.5) 100%);}
.teaser .inner{position:relative;max-width:560px;}
.teaser h2{color:#fff;}
.teaser p{color:#EDE3D0;}

/* form */
.form-section{background:var(--forest-deep);color:#EFE7D5;}
.form-section .kicker{color:#CF8D5F;}
.form-section h2{color:#fff;}
.form-section .lede{color:#C9BEA4;}
.form-card{background:#fff;border-radius:8px;padding:32px;color:var(--bark);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13px;font-weight:600;color:var(--bark-soft);}
.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:4px;padding:11px 12px;font-family:inherit;font-size:15px;background:var(--cream);color:var(--bark);}
.field textarea{min-height:100px;resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--rust);outline-offset:1px;}
.hp{position:absolute;left:-9999px;}
.form-error{color:var(--rust-dark);font-size:14px;margin-top:10px;min-height:20px;}
.form-foot{display:flex;align-items:center;gap:16px;margin-top:18px;flex-wrap:wrap;}
.reassure{font-size:13.5px;color:var(--muted);}

/* footer */
footer{background:var(--bark);color:#D9CDB8;padding:56px 0 26px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.foot-brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:700;font-size:20px;color:#fff;margin-bottom:14px;}
footer h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
footer a{display:block;color:#C9BEA4;margin-bottom:10px;font-size:14.5px;}
footer a:hover{color:#fff;}
footer p{font-size:14.5px;color:#B9AC93;}
.foot-bottom{display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(217,205,184,.15);font-size:13px;color:#8F8266;flex-wrap:wrap;gap:10px;}

/* sub-page header (gallery / things to do) */
.page-hero{position:relative;padding:150px 0 70px;color:#fff;}
.page-hero .bg{position:absolute;inset:0;}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(20,14,9,.82) 0%, rgba(20,14,9,.4) 100%);}
.page-hero .inner{position:relative;max-width:640px;}
.page-hero h1{color:#fff;font-size:clamp(30px,4.6vw,46px);}
.page-hero p{color:#EDE3D0;font-size:17px;margin-top:12px;}

.full-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.full-gallery a{display:block;border-radius:6px;overflow:hidden;aspect-ratio:4/3;}
.full-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.full-gallery a:hover img{transform:scale(1.04);}

.guide-item{display:grid;grid-template-columns:200px 1fr;gap:28px;padding:30px 0;border-bottom:1px solid var(--line);}
.guide-item:last-child{border-bottom:none;}
.guide-item .tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--rust);margin-bottom:8px;}
.guide-item h3{font-size:22px;margin-bottom:10px;}
.guide-item p{color:var(--muted);font-size:15.5px;}

.dine-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.dine{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 24px;}
.dine h4{font-family:'Fraunces',serif;font-size:17px;margin-bottom:6px;}
.dine p{color:var(--muted);font-size:14.5px;}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(15,10,6,.94);display:none;align-items:center;justify-content:center;z-index:100;padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:100%;max-height:88vh;border-radius:4px;}
.lightbox-close{position:absolute;top:24px;right:32px;color:#fff;font-size:32px;cursor:pointer;line-height:1;}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

@media (max-width:900px){
  .navlinks{display:none;}
  .highlights{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;}
  .photo-grid{grid-template-columns:repeat(2,1fr);}
  .hunt-grid{grid-template-columns:repeat(2,1fr);}
  .review-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .full-gallery{grid-template-columns:repeat(2,1fr);}
  .guide-item{grid-template-columns:1fr;}
  .dine-grid{grid-template-columns:1fr;}
}
