/* Mulleyville Hunting Club — styles derived from the 1986 club button */
:root{
  --black:#16130f;
  --char:#231e18;
  --char-2:#2e2720;
  --orange:#ef9a26;      /* button face */
  --blaze:#f26b1d;       /* blaze / hunter orange accent */
  --orange-dk:#c8741a;
  --red:#c8202a;         /* badge number red */
  --cream:#f6eedd;
  --paper:#fbf6ea;
  --ink:#231e18;
  --muted:#6b5f50;
  --line:#d9ccb2;
  --radius:10px;
  --head:"Oswald","Bebas Neue","Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;
  --body:"Lora",Georgia,"Times New Roman",serif;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);
  background-image:radial-gradient(rgba(120,90,40,.06) 1px,transparent 1px);background-size:4px 4px}
img{max-width:100%;height:auto;display:block}
a{color:#a4520f}
a:hover{color:var(--blaze)}
h1,h2,h3,h4{font-family:var(--head);text-transform:uppercase;letter-spacing:.04em;line-height:1.15;margin:0 0 .5em;color:var(--black)}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700}
h2{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:700}
h3{font-size:1.25rem;font-weight:600}
h4{font-size:1.05rem;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}

/* ---------- header / nav ---------- */
.site-header{background:var(--black);color:var(--orange);border-bottom:4px solid var(--orange);position:sticky;top:0;z-index:50}
.site-header .wrap{max-width:1320px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--orange)}
.brand img{width:48px;height:48px;border-radius:50%;box-shadow:0 0 0 2px var(--orange)}
.brand span{white-space:nowrap;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1.05;font-size:1.05rem}
.brand small{display:block;font-weight:400;font-size:.72rem;letter-spacing:.22em;color:#d9c7a6}
.nav-toggle{display:none}
.nav-btn{display:none;cursor:pointer;font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;color:var(--orange);border:2px solid var(--orange);border-radius:6px;padding:6px 12px;font-size:.95rem}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:0}
.site-nav a{display:block;padding:8px 9px;font-family:var(--head);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;white-space:nowrap;color:#f3e6cf;text-decoration:none;border-radius:4px}
.site-nav a:hover{color:var(--black);background:var(--orange)}
.site-nav a[aria-current="page"]{color:var(--orange);box-shadow:inset 0 -3px 0 var(--orange)}
@media (max-width:1180px){
  .nav-btn{display:inline-block}
  .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--black);border-bottom:4px solid var(--orange);display:none}
  .nav-toggle:checked ~ .site-nav{display:block}
  .site-nav ul{flex-direction:column;padding:8px 20px 16px}
  .site-nav a{padding:12px 8px;border-bottom:1px solid #3a3229;font-size:1.05rem}
}

/* ---------- hero ---------- */
.hero{background:var(--char);color:var(--cream);position:relative;overflow:hidden;
  background-image:
   radial-gradient(ellipse at 30% 40%,rgba(239,154,38,.18),transparent 60%),
   repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 2px,transparent 2px 10px);
  border-bottom:6px solid var(--orange)}
.hero .wrap{display:grid;grid-template-columns:minmax(260px,440px) 1fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero-pin{filter:drop-shadow(0 18px 30px rgba(0,0,0,.6));transform:rotate(-4deg);transition:transform .6s}
.hero-pin:hover{transform:rotate(0)}
.hero h1{color:var(--orange);font-size:clamp(2.3rem,6vw,4.4rem);margin-bottom:.15em;text-shadow:0 3px 0 rgba(0,0,0,.4)}
.hero .kicker{font-family:var(--head);letter-spacing:.35em;text-transform:uppercase;color:#d9c7a6;font-size:.95rem;margin-bottom:.6em}
.hero .lede{font-size:1.15rem;max-width:36em;color:#efe3cc}
.hero .est{display:inline-flex;gap:10px;flex-wrap:wrap;margin:14px 0 24px}
.chip{font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;padding:5px 12px;border:2px solid var(--orange);border-radius:999px;color:var(--orange)}
.btn{display:inline-block;font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;font-weight:600;padding:12px 22px;border-radius:6px;text-decoration:none;background:var(--orange);color:var(--black);border:2px solid var(--orange);margin:4px 8px 4px 0}
.btn:hover{background:var(--blaze);border-color:var(--blaze);color:var(--black)}
.btn.ghost{background:transparent;color:var(--orange)}
.btn.ghost:hover{background:var(--orange);color:var(--black)}
@media (max-width:760px){
  .hero .wrap{grid-template-columns:1fr;text-align:center;gap:24px;padding-top:32px;padding-bottom:40px}
  .hero-pin{max-width:280px;margin:0 auto}
  .hero .lede{margin-left:auto;margin-right:auto}
  .hero .est{justify-content:center}
}

/* page banner (interior pages) */
.banner{background:var(--char);color:var(--cream);border-bottom:6px solid var(--orange);
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 10px)}
.banner .wrap{display:flex;align-items:center;gap:24px;padding-top:34px;padding-bottom:34px}
.banner img{width:96px;height:96px;flex:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.banner h1{color:var(--orange);margin:0}
.banner p{margin:.3em 0 0;color:#e6d8bd;font-size:1.05rem}
@media (max-width:600px){.banner img{width:64px;height:64px}.banner .wrap{gap:14px}}

/* ---------- sections ---------- */
main{display:block}
.section{padding:56px 0}
.section.alt{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.dark{background:var(--black);color:var(--cream)}
.section.dark h2,.section.dark h3{color:var(--orange)}
.eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.3em;font-size:.8rem;color:var(--orange-dk);margin-bottom:.4em;display:block}
.divider{display:flex;align-items:center;gap:14px;margin:0 0 22px}
.divider::before,.divider::after{content:"";height:2px;background:var(--orange);flex:1;opacity:.7}
.divider h2{margin:0;text-align:center}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 2px 0 rgba(0,0,0,.04)}
.card h3{margin-bottom:.35em}
.card.patch{border:3px solid var(--black);outline:2px dashed var(--orange);outline-offset:-9px;padding:28px}
.card.dark{background:var(--char);color:var(--cream);border-color:#000}
.card.dark h3{color:var(--orange)}
.stat{text-align:center;background:var(--black);color:var(--orange);border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:6px solid var(--orange);box-shadow:inset 0 0 0 4px var(--black),inset 0 0 0 6px var(--orange);max-width:190px;margin:0 auto;width:100%}
.stat b{font-family:var(--head);font-size:2.6rem;line-height:1}
.stat span{font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:#e6d8bd;padding:0 14px}
.src{font-size:.82rem;color:var(--muted);font-style:italic}
.section.dark .src{color:#bfae90}
.note{background:#fff7e8;border-left:5px solid var(--orange);padding:14px 18px;border-radius:6px;margin:0 0 20px;font-size:.95rem}
.note.warn{background:#fdeceb;border-left-color:var(--red)}
.placeholder{background:repeating-linear-gradient(45deg,#efe6d2 0 10px,#e8dcc3 10px 20px);border:2px dashed #b9a57d;border-radius:var(--radius);color:#6b5a3e;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;min-height:160px;padding:16px}
.tbd{display:inline-block;font-family:var(--head);font-size:.78rem;letter-spacing:.1em;background:#e8dcc3;color:#6b5a3e;border:1px dashed #b9a57d;padding:1px 8px;border-radius:4px;text-transform:uppercase}
ul.ticks{list-style:none;padding:0;margin:0 0 1em}
ul.ticks li{padding-left:28px;position:relative;margin-bottom:.5em}
ul.ticks li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 2px var(--black)}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;margin:0 0 24px;border-radius:var(--radius);border:1px solid var(--line);background:#fff}
table{border-collapse:collapse;width:100%;font-size:.95rem}
caption{caption-side:top;text-align:left;font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;padding:12px 14px;background:var(--black);color:var(--orange);font-size:1.02rem}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid #ece2cd;vertical-align:top}
thead th{background:var(--char-2);color:#f3e6cf;font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-weight:500;font-size:.85rem}
tbody tr:nth-child(even){background:#fbf7ee}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tfoot td,tfoot th{background:var(--orange);color:var(--black);font-weight:700;font-family:var(--head);letter-spacing:.04em;border-bottom:none}

/* ---------- constitution ---------- */
.doc-layout{display:grid;grid-template-columns:270px 1fr;gap:36px;align-items:start}
.toc{position:sticky;top:90px;background:var(--black);color:var(--cream);border-radius:var(--radius);padding:18px 18px 10px;max-height:calc(100vh - 110px);overflow:auto;font-size:.9rem}
.toc h2{color:var(--orange);font-size:1.1rem}
.toc h3{color:#e6d8bd;font-size:.85rem;margin:14px 0 6px;letter-spacing:.14em}
.toc ol{margin:0;padding-left:0;list-style:none}
.toc li{margin:0}
.toc a{color:#f3e6cf;text-decoration:none;display:block;padding:3px 6px;border-radius:4px}
.toc a:hover{background:var(--orange);color:var(--black)}
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 40px}
.doc-head{text-align:center;border-bottom:3px double var(--black);padding-bottom:16px;margin-bottom:24px}
.doc-head h2{margin-bottom:.15em}
.doc-head p{margin:0;color:var(--muted)}
.article{scroll-margin-top:90px;margin:0 0 26px;padding-top:6px}
.article > h3{border-bottom:2px solid var(--orange);padding-bottom:4px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.article > h3 .num{color:var(--orange-dk)}
.sec{margin:0 0 .8em}
.sec b{font-family:var(--head);font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.9rem;margin-right:6px;color:var(--black)}
.doc ol.plain{margin:0 0 1em 1.2em}
.doc .items{list-style:none;padding-left:1.2em}
.doc .items li{margin-bottom:.5em}
.editor{font-size:.82rem;color:#8a4b10;background:#fff3df;border-radius:4px;padding:0 6px;font-style:italic}
@media (max-width:900px){.doc-layout{grid-template-columns:1fr}.toc{position:static;max-height:none}.doc{padding:22px 18px}}

/* ---------- members ---------- */
.officer{display:flex;gap:16px;align-items:flex-start}
.officer .badge{flex:none;width:62px;height:62px;border-radius:50%;background:var(--orange);color:var(--black);display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:1.25rem;border:4px solid var(--black);box-shadow:0 0 0 2px var(--orange)}
.officer h3{margin:0}
.role{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;color:var(--orange-dk);font-size:.8rem;display:block}
address{font-style:normal;font-size:.94rem;line-height:1.5}
.camp-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.camp-card header{background:var(--black);color:var(--orange);padding:12px 16px;display:flex;justify-content:space-between;align-items:center}
.camp-card header h3{color:var(--orange);margin:0}
.camp-card header span{font-family:var(--head);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#e6d8bd}
.camp-card .director{background:#fff1da;padding:10px 16px;border-bottom:1px solid var(--line);font-size:.93rem}
.camp-card ol{margin:0;padding:10px 16px 14px 40px;font-size:.95rem}
.camp-card li{padding:2px 0}
.phone{color:var(--muted);font-size:.86rem;white-space:nowrap}

/* ---------- calc ---------- */
.calc{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 16px}
.calc input{font:inherit;font-size:1.1rem;padding:10px 12px;border:2px solid var(--black);border-radius:6px;width:220px}
.calc label{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em}

/* ---------- gallery ---------- */
.trophy{border:3px solid var(--black);border-radius:var(--radius);background:#fff;overflow:hidden}
.trophy .placeholder{border:none;border-radius:0;min-height:190px}
.trophy .cap{padding:12px 14px;font-size:.92rem}

/* ---------- events ---------- */
.event{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;padding:16px 0;border-bottom:1px dashed var(--line)}
.event .when{background:var(--black);color:var(--orange);border-radius:8px;text-align:center;padding:10px 6px;font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;line-height:1.2}
.event .when b{display:block;font-size:1.5rem}
.event .when small{display:block;color:#e6d8bd;font-size:.72rem;letter-spacing:.14em}
.event h3{margin:0 0 .2em}
@media (max-width:520px){.event{grid-template-columns:1fr}.event .when{max-width:160px}}

/* ---------- footer ---------- */
.site-footer{background:var(--black);color:#d9c7a6;border-top:6px solid var(--orange);padding:40px 0 24px;font-size:.92rem}
.site-footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.site-footer h4{color:var(--orange)}
.site-footer a{color:#f3e6cf;text-decoration:none}
.site-footer a:hover{color:var(--orange)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:4px}
.site-footer .fine{border-top:1px solid #3a3229;margin-top:26px;padding-top:16px;font-size:.8rem;color:#9e8e74;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.foot-brand{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.foot-brand img{width:70px;height:70px}
.foot-brand b{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--orange);font-size:1.15rem;line-height:1.1}
@media (max-width:760px){.site-footer .cols{grid-template-columns:1fr}}

@media print{
  .site-header,.site-footer,.toc,.nav-btn{display:none}
  body{background:#fff}
  .doc-layout{display:block}
  .doc{border:none;padding:0}
  .banner{background:#fff;color:#000}
}
@media (max-width:600px){.grid.stats{grid-template-columns:repeat(2,1fr);gap:14px}.stat b{font-size:2rem}.stat{border-width:4px}}
.brand picture,.banner picture,.foot-brand picture{flex:none}
.brand img{object-fit:contain}
.nav-btn{white-space:nowrap}
@media (max-width:420px){.brand span{font-size:.92rem}.brand img{width:40px;height:40px}.nav-btn{padding:5px 9px;font-size:.85rem}}
@media (max-width:600px){.grid.g3.stats{grid-template-columns:repeat(3,1fr);gap:10px}.g3.stats .stat b{font-size:1.5rem}.g3.stats .stat span{font-size:.6rem;padding:0 6px;letter-spacing:.06em}}
.chip-tag{font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600;margin-right:8px;color:var(--orange-dk)}
.chip-tag.club{color:var(--red)}
.doc-layout > *{min-width:0}
/* Sunrise/sunset chart (Home page, #sun-hours) */
.sunchart{margin:14px 0 18px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-width:100%}
.sunchart svg{display:block;max-width:100%}
.sunchart figcaption{font-size:.85rem;margin-top:6px}
.sunchart .sw{display:inline-block;width:14px;height:10px;border-radius:2px;vertical-align:middle;margin-right:3px}
.sun-table{font-size:.9rem}
.sun-table td,.sun-table th{white-space:nowrap;padding-left:8px;padding-right:8px}
.sun-table td:last-child{white-space:normal;min-width:150px}
.sun-table tr.hl td{background:#fff3e8}
/* SUN-TABLE START */
#sun-hours,#whats-new{scroll-margin-top:90px}
.sun-wrap{max-height:min(560px,calc(100vh - 140px));overflow:auto;position:relative}
.sun-table thead th{position:sticky;top:0;z-index:2;background:var(--black);color:var(--orange);border-bottom:0;box-shadow:inset 0 -3px 0 var(--orange);font-size:.8rem;line-height:1.2;vertical-align:bottom}
.sun-table thead th small{color:#f3e6cf;text-transform:none;letter-spacing:0;font-family:inherit}
.sun-table td:first-child,.sun-table th:first-child{position:sticky;left:0}
.sun-table td:first-child{background:#fff;z-index:1;font-weight:600}
.sun-table tr.hl td:first-child{background:#fff3e8}
.sun-table thead th:first-child{z-index:3}
.table-hint{font-size:.85rem;color:#6b5a48;margin:0 0 6px}
@media (max-width:600px){.sun-table{font-size:.8rem}.sun-table td,.sun-table th{padding:7px 6px}.sun-table td:last-child{white-space:nowrap;min-width:0}}
/* SUN-TABLE END */
/* Lease Map link added: tighten nav so 10 links fit beside the brand */
.site-header .brand{margin-right:14px}
@media (min-width:1181px) and (max-width:1380px){.site-nav a{padding:8px 6px;font-size:.85rem;letter-spacing:.04em}}

/* Today highlight in the sunrise/sunset table (js/suntoday.js) */
.sun-table tr.today td,.sun-table tr.today td:first-child{background:var(--orange);color:#111;font-weight:700;border-bottom-color:#111}
.sun-table tr.today td strong{color:#111}
.today-badge{display:inline-block;background:#111;color:var(--orange);font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:4px;margin-right:6px;vertical-align:1px}
.sun-today{background:#111;color:#f3e6cf;border-left:5px solid var(--orange);border-radius:6px;padding:8px 14px;margin:0 0 8px;font-size:.95rem}
.sun-today strong{color:var(--orange)}
.sun-today[hidden]{display:none}

/* Rut estimate entries in the calendar (Home + Seasons) */
.event.est .when{background:#2a2420;border:2px dashed var(--orange)}
.event.est .when b{font-size:1.25rem}
.chip-tag.est{color:var(--black);background:#fff3e8;border:1px dashed var(--orange-dk);padding:1px 6px;border-radius:4px}
