
:root {
  --bone:#f3eddf;
  --cream:#e8dfc9;
  --forest:#1f3024;
  --forest-deep:#162119;
  --forest-soft:#27392c;
  --caramel:#c08847;
  --caramel-deep:#9a6a36;
  --mute:#8a9b8e;
  --line:rgba(232,223,201,.16);
}
* { box-sizing:border-box; margin:0; padding:0 }
html, body { background:var(--forest-deep); color:var(--bone); overflow-x:hidden; }
body { font-family:'Karla', system-ui, sans-serif; font-weight:400; line-height:1.55; }
img { max-width:100%; display:block; }
a { color:inherit; }

.skip-link { position:absolute; left:-1000px; top:0; }
.skip-link:focus { left:1rem; top:1rem; background:var(--caramel); color:var(--forest-deep); padding:8px 14px; z-index:1000; }

/* MASTHEAD */
.hg-top {
  position:sticky; top:0; z-index:50;
  background:var(--forest-deep);
  padding:24px 64px;
  display:grid; grid-template-columns:auto 1fr auto;
  gap:48px; align-items:center;
  border-bottom:1px solid var(--line);
}
.hg-wm {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:26px; letter-spacing:.01em;
  color:var(--bone); text-decoration:none;
}
.hg-wm em { font-style:italic; color:var(--caramel); font-weight:400; }
.hg-nav { display:flex; gap:36px; justify-content:center; }
.hg-nav a {
  color:var(--bone); text-decoration:none;
  font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  opacity:.8; transition:.2s;
}
.hg-nav a:hover, .hg-nav a.hg-active { color:var(--caramel); opacity:1; }
.hg-cta {
  font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  padding:12px 24px; background:var(--caramel); color:var(--forest-deep);
  text-decoration:none; font-weight:500;
}

/* HERO — full bleed photo with bottom overlay */
.hg-hero {
  position:relative; height:min(86vh, 720px);
  background-size:cover; background-position:center;
}
.hg-hero::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(22,33,25,.2) 0%, rgba(22,33,25,0) 30%, rgba(22,33,25,.85) 100%);
}
.hg-hero-text {
  position:absolute; bottom:0; left:0; right:0;
  padding:0 64px 64px; z-index:2; max-width:1280px;
}
.hg-eyebrow {
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--caramel); margin-bottom:24px;
}
.hg-h1 {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:clamp(2.4rem, 6.4vw, 5.6rem);
  line-height:.98; letter-spacing:-.012em;
  font-weight:400; max-width:14ch;
  overflow-wrap:anywhere; word-break:break-word;
}
.hg-h1 em { font-style:italic; color:var(--caramel); }
.hg-h1 + p {
  font-size:18px; margin-top:32px;
  max-width:520px; color:var(--cream); line-height:1.55;
}

/* PAGE-HEAD — non-hero internal pages */
.hg-pagehead {
  padding:96px 64px 56px;
  border-bottom:1px solid var(--line);
  max-width:1080px;
}
.hg-pagehead .hg-eyebrow { margin-bottom:18px; }
.hg-pagehead h1 {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:clamp(2.4rem, 5.6vw, 4.6rem);
  line-height:1.04; letter-spacing:-.012em;
  font-weight:400; max-width:18ch;
  overflow-wrap:anywhere; word-break:break-word;
}
.hg-pagehead h1 em { font-style:italic; color:var(--caramel); }
.hg-pagehead .lede {
  font-size:18px; color:var(--cream); margin-top:24px;
  max-width:640px; line-height:1.6;
}

/* DIVIDER STRIP */
.hg-strip {
  background:var(--forest); padding:24px 64px;
  display:flex; justify-content:space-between; gap:40px;
  flex-wrap:wrap; font-size:13px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--cream);
  border-bottom:1px solid var(--line);
}
.hg-strip em {
  font-family:'Instrument Serif', Georgia, serif;
  font-style:italic; color:var(--caramel);
  text-transform:none; font-size:18px; letter-spacing:0;
}

/* SECTION */
.hg-section { padding:96px 64px; }
.hg-section--soft { background:var(--forest); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hg-sec-head { max-width:880px; margin-bottom:64px; }
.hg-sec-eye {
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--caramel); margin-bottom:18px;
}
.hg-sec-h2 {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:clamp(2.2rem, 4.6vw, 4rem);
  line-height:1.04; letter-spacing:-.012em; font-weight:400;
  overflow-wrap:anywhere; word-break:break-word;
}
.hg-sec-h2 em { font-style:italic; color:var(--caramel); }
.hg-sec-lede {
  font-size:17px; color:var(--cream); margin-top:24px;
  max-width:580px; line-height:1.65;
}

/* MASONRY GRID */
.hg-masonry { columns:3; column-gap:24px; }
.hg-masonry-item {
  break-inside:avoid; margin-bottom:24px;
  background:var(--forest-soft);
  border:1px solid var(--line);
}
.hg-masonry-item img { width:100%; display:block; }
.hg-masonry-pad { padding:24px 24px 28px; }
.hg-mi-cat {
  font-size:11px; letter-spacing:.16em; color:var(--caramel);
  text-transform:uppercase; margin-bottom:10px;
}
.hg-mi-name {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:24px; line-height:1.15; margin-bottom:10px;
  overflow-wrap:anywhere;
}
.hg-mi-meta { font-size:13px; color:var(--mute); }
.hg-mi-link { display:block; text-decoration:none; color:inherit; }
.hg-mi-link:hover .hg-mi-name { color:var(--caramel); }

/* PROSE */
.hg-prose { max-width:680px; margin:0 auto; padding:0 64px; }
.hg-prose p, .hg-prose ul, .hg-prose ol {
  font-size:17px; line-height:1.75; color:var(--bone);
  margin-bottom:22px; overflow-wrap:anywhere; word-break:break-word;
}
.hg-prose h2 {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:32px; line-height:1.15; margin-top:48px; margin-bottom:18px;
  font-weight:400;
}
.hg-prose h2 em { font-style:italic; color:var(--caramel); }
.hg-prose h3 {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:22px; line-height:1.2; margin-top:32px; margin-bottom:12px;
  color:var(--caramel); font-weight:400;
}
.hg-prose ul { list-style:none; }
.hg-prose ul li { position:relative; padding-left:22px; margin-bottom:10px; }
.hg-prose ul li::before { content:""; position:absolute; left:0; top:.7em; width:10px; height:1px; background:var(--caramel); }
.hg-prose a { color:var(--caramel); text-decoration:underline; text-decoration-color:rgba(192,136,71,.4); text-underline-offset:3px; }
.hg-prose a:hover { text-decoration-color:var(--caramel); }
.hg-prose blockquote {
  border-left:2px solid var(--caramel); padding-left:22px;
  margin:24px 0; font-family:'Instrument Serif', Georgia, serif;
  font-style:italic; font-size:22px; line-height:1.4; color:var(--cream);
}

/* STORY band */
.hg-story {
  padding:120px 64px; text-align:center;
  background:linear-gradient(180deg, var(--forest-deep) 0%, var(--forest) 50%, var(--forest-deep) 100%);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.hg-story-eye {
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--caramel); margin-bottom:24px;
}
.hg-story h2 {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:clamp(2.4rem, 5.4vw, 4.6rem);
  line-height:1.02; letter-spacing:-.012em;
  font-weight:400; max-width:18ch; margin:0 auto;
  overflow-wrap:anywhere; word-break:break-word;
}
.hg-story h2 em { font-style:italic; color:var(--caramel); }
.hg-story p {
  font-size:17px; color:var(--cream); max-width:600px;
  margin:36px auto 0; line-height:1.7;
}

/* FOOTER */
.hg-foot {
  padding:80px 64px 40px;
  display:grid; grid-template-columns:1.4fr 1fr;
  gap:80px;
  border-top:1px solid var(--line);
}
.hg-foot-brand .hg-foot-wm {
  font-family:'Instrument Serif', Georgia, serif;
  font-size:32px; line-height:1.1; margin-bottom:24px;
}
.hg-foot-brand .hg-foot-wm em { font-style:italic; color:var(--caramel); }
.hg-foot-brand p {
  font-size:15px; color:var(--cream);
  max-width:380px; line-height:1.7; margin-bottom:20px;
}
.hg-foot-addr {
  font-size:14px; color:var(--mute);
  line-height:1.85;
}
.hg-foot-grid {
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:36px;
}
.hg-foot-grid h5 {
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--caramel); margin-bottom:18px;
}
.hg-foot-grid a {
  color:var(--cream); text-decoration:none; display:block;
  font-size:14px; margin-bottom:10px; opacity:.85;
  overflow-wrap:anywhere;
}
.hg-foot-grid a:hover { opacity:1; color:var(--caramel); }
.hg-foot-bot {
  padding:24px 64px; border-top:1px solid var(--line);
  font-size:12px; color:var(--mute);
  display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;
}

/* MOBILE */
@media (max-width:880px) {
  .hg-top { padding:18px 24px; grid-template-columns:auto auto; gap:18px; }
  .hg-nav { display:none; }
  .hg-cta { padding:10px 18px; font-size:11px; }
  .hg-hero { height:min(70vh, 540px); }
  .hg-hero-text, .hg-strip, .hg-section, .hg-pagehead, .hg-story, .hg-prose, .hg-foot, .hg-foot-bot {
    padding-left:24px; padding-right:24px;
  }
  .hg-pagehead { padding-top:56px; padding-bottom:32px; }
  .hg-section { padding-top:56px; padding-bottom:56px; }
  .hg-story { padding-top:72px; padding-bottom:72px; }
  .hg-masonry { columns:1; }
  .hg-foot { grid-template-columns:1fr; gap:48px; padding:48px 24px 24px; }
  .hg-foot-grid { grid-template-columns:1fr 1fr; }
}
