/* Central Vermont Guide — "letterpress almanac" theme.
   Parchment ground, forest green and barn red, slab headings, hairline rules,
   square corners. Bootstrap supplies reset + a little grid; everything visual is here. */

:root{
  --parch:#f7f3ea;
  --parch-2:#efe9db;
  --ink:#23211d;
  --ink-2:#4c4840;
  --forest:#1d4d33;
  --forest-2:#2c6b48;
  --barn:#963c2c;
  --granite:#6f6f68;
  --rule:#d6cdb9;
  --rule-dark:#b7ab90;
  --measure:70ch;
}

html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--parch);
  color:var(--ink);
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  font-size:1.0625rem;
  line-height:1.65;
  font-synthesis-weight:none;
}
img{max-width:100%;height:auto;display:block}

.wrap{width:100%;max-width:1180px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}

a{color:var(--forest);text-decoration-thickness:1px;text-underline-offset:.15em}
a:hover{color:var(--barn)}

.skip{position:absolute;left:-9999px;top:0;background:var(--forest);color:#fff;padding:.6rem 1rem;z-index:50}
.skip:focus{left:0}

/* ---------- masthead ---------- */
.masthead{
  background:var(--parch);
  border-bottom:3px double var(--rule-dark);
  position:sticky;top:0;z-index:20;
}
.masthead-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;min-width:0;
  padding-top:.7rem;padding-bottom:.7rem;
}
.wordmark{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);min-width:0}
.wordmark .mark{
  width:30px;height:30px;flex:0 0 30px;background:var(--forest);
  clip-path:polygon(0% 100%, 24% 34%, 48% 66%, 68% 20%, 100% 100%);
}
.wordmark-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.wordmark-text strong{
  font-family:"Zilla Slab",Georgia,serif;font-weight:700;font-size:1.35rem;
  letter-spacing:.005em;color:var(--ink);
}
.wordmark-text em{
  font-style:normal;font-family:"Zilla Slab",Georgia,serif;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.14em;color:var(--granite);
}
.masthead-nav{min-width:0}
.masthead-nav ul{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;min-width:0;
  gap:.25rem 1.15rem;justify-content:flex-end;
}
.masthead-nav a{
  font-family:"Zilla Slab",Georgia,serif;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.11em;color:var(--ink-2);text-decoration:none;
  padding:.35rem 0;border-bottom:2px solid transparent;display:inline-block;
}
.masthead-nav a:hover{color:var(--barn);border-bottom-color:var(--barn)}
.masthead-nav a.on{color:var(--forest);border-bottom-color:var(--forest)}

/* ---------- layout ---------- */
.page-grid{
  display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;
  padding-top:2.25rem;padding-bottom:3.5rem;
}
@media (min-width:62rem){
  .page-grid{grid-template-columns:minmax(0,1fr) 15rem;gap:3.5rem}
}
.prose{min-width:0;max-width:var(--measure)}

.kicker{
  font-family:"Zilla Slab",Georgia,serif;text-transform:uppercase;letter-spacing:.18em;
  font-size:.7rem;color:var(--barn);margin:0 0 .6rem;
}

/* ---------- typography ---------- */
.prose h1{
  font-family:"Zilla Slab",Georgia,serif;font-weight:700;
  font-size:clamp(2rem,1.4rem + 2.4vw,2.9rem);line-height:1.1;
  margin:0 0 1rem;color:var(--ink);letter-spacing:-.01em;
}
.prose h2{
  font-family:"Zilla Slab",Georgia,serif;font-weight:600;
  font-size:clamp(1.3rem,1.1rem + .8vw,1.6rem);line-height:1.2;
  margin:2.4rem 0 .8rem;padding-top:.9rem;border-top:1px solid var(--rule);color:var(--forest);
}
.prose h3{
  font-family:"Zilla Slab",Georgia,serif;font-weight:600;font-size:1.12rem;
  margin:1.8rem 0 .5rem;color:var(--ink);
}
.prose p{margin:0 0 1.1rem}
.prose .lead{
  font-size:1.2rem;line-height:1.55;color:var(--ink-2);
  border-left:4px solid var(--barn);padding-left:1.1rem;margin-bottom:1.8rem;
}
.prose ul,.prose ol{margin:0 0 1.3rem;padding-left:1.35rem}
.prose li{margin-bottom:.5rem}
.prose ol{counter-reset:none}
.prose strong{font-weight:600}
.prose li strong{color:var(--forest)}

/* ---------- hero figure ---------- */
.hero{margin:.5rem 0 2rem}
.hero img{width:100%;border:1px solid var(--rule-dark)}
.hero figcaption{
  font-size:.78rem;color:var(--granite);padding-top:.45rem;
  font-family:"Zilla Slab",Georgia,serif;letter-spacing:.02em;
  border-bottom:1px solid var(--rule);padding-bottom:.6rem;
}

/* ---------- references ---------- */
.sources{
  margin-top:2.8rem;background:var(--parch-2);border:1px solid var(--rule-dark);
  padding:1.2rem 1.4rem;
}
.sources h2{
  border:0;padding:0;margin:0 0 .6rem;font-family:"Zilla Slab",Georgia,serif;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--granite);
}
.sources ul{margin:0;padding-left:1.1rem}
.sources li{font-size:.94rem;margin-bottom:.4rem}

/* ---------- rail ---------- */
.rail{min-width:0;font-size:.95rem}
@media (min-width:62rem){ .rail{position:sticky;top:5.5rem;align-self:start} }
.rail-title{
  font-family:"Zilla Slab",Georgia,serif;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.16em;color:var(--granite);margin:0 0 .7rem;
  padding-bottom:.5rem;border-bottom:2px solid var(--forest);
}
.rail ul{list-style:none;margin:0 0 1.2rem;padding:0}
.rail li{border-bottom:1px solid var(--rule)}
.rail li a{display:block;padding:.5rem 0;text-decoration:none;color:var(--ink-2)}
.rail li a:hover{color:var(--barn)}
.rail li a.on{color:var(--forest);font-weight:600}
.rail-note{font-size:.8rem;color:var(--granite);font-style:italic}

/* ---------- footer ---------- */
.site-foot{
  background:var(--forest);color:#e9e4d6;margin-top:2rem;
  padding:2.8rem 0 2.2rem;border-top:6px solid var(--barn);
}
.site-foot a{color:#e9e4d6;text-decoration:none;border-bottom:1px solid rgba(233,228,214,.35)}
.site-foot a:hover{color:#fff;border-bottom-color:#fff}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.6rem 2rem}
.foot-col h2{
  font-family:"Zilla Slab",Georgia,serif;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.16em;color:#b9cfbf;margin:0 0 .6rem;
}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin-bottom:.35rem;font-size:.92rem}
.disclaimer{
  margin:2.2rem 0 0;padding:1.1rem 1.2rem;font-size:.85rem;line-height:1.6;
  background:rgba(0,0,0,.16);border-left:4px solid var(--barn);color:#efeade;
}
.copyline{margin:1.1rem 0 0;font-size:.78rem;color:#b9cfbf}

/* ---------- 404 ---------- */
.notfound{padding:4rem 0 5rem;text-align:center}
.notfound h1{font-family:"Zilla Slab",Georgia,serif;font-size:clamp(2.2rem,1.6rem + 3vw,3.4rem);margin:0 0 .6rem}
.notfound p{max-width:44ch;margin:0 auto 1.4rem;color:var(--ink-2)}
.notfound .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.5rem;text-align:left;margin-top:2.5rem;border-top:1px solid var(--rule);padding-top:1.8rem}

/* ---------- safeguards ----------
   Content must NEVER be hidden waiting on JavaScript. If any scroll-reveal
   markup is ever added to this site, this keeps it visible regardless. */
[data-aos]{opacity:1 !important;transform:none !important;}

@media (max-width:36rem){
  .masthead-inner{justify-content:center;text-align:center}
  .masthead-nav ul{justify-content:center;gap:.25rem .85rem}
  .prose .lead{font-size:1.1rem}
}
@media print{
  .masthead,.rail,.site-foot{display:none}
  body{background:#fff}
}
