:root {
  --soil: #4a3728;
  --soil-dk: #362818;
  --teal: #0e7490;
  --teal-dk: #155e75;
  --parch: #f7f3ea;
  --parch-dk: #efe8d8;
  --ink: #2d2621;
  --soft: #7a6f63;
  --line: #e2d9c6;
  --white: #ffffff;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: Corbel, Calibri, Optima, "Lucida Grande", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.68;
  font-size: 17px;
}

h1, h2, h3, h4 {
  font-family: Cambria, Constantia, "Hoefler Text", Georgia, serif;
  color: var(--soil);
  line-height: 1.25;
}
a { color: var(--teal-dk); }

.cs-hd { background: var(--white); padding: 18px 24px 14px; }
.cs-hd-in { max-width: 1020px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.cs-logo { text-decoration: none; }
.cs-logo b { font-family: Cambria, Georgia, serif; font-size: 23px; color: var(--soil); display: block; line-height: 1.1; }
.cs-logo i { font-style: normal; font-size: 13px; color: var(--soft); letter-spacing: .4px; }
.cs-call { text-align: right; }
.cs-call a { font-family: Cambria, Georgia, serif; font-weight: bold; font-size: 21px; color: var(--teal-dk); text-decoration: none; display: block; }
.cs-call span { font-size: 12.5px; color: var(--soft); }

.cs-nav { background: var(--soil); }
.cs-nav-in { max-width: 1020px; margin: 0 auto; display: flex; gap: 4px; flex-wrap: wrap; }
.cs-nav a { color: #e9dfc9; text-decoration: none; font-size: 15px; padding: 10px 15px; display: inline-block; }
.cs-nav a:hover { background: var(--soil-dk); color: var(--white); }

.cs-hero { background: var(--parch); border-bottom: 1px solid var(--line); padding: 52px 24px 56px; }
.cs-hero-in { max-width: 1020px; margin: 0 auto; }
.cs-kick { font-size: 13.5px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--teal-dk); font-weight: bold; margin-bottom: 10px; }
.cs-hero h1 { font-size: 37px; max-width: 640px; margin-bottom: 14px; }
.cs-hero .lede { font-size: 18.5px; color: var(--soft); max-width: 600px; margin-bottom: 26px; }
.cs-go { display: flex; gap: 13px; flex-wrap: wrap; }
.cs-btn {
  background: var(--teal); color: var(--white); text-decoration: none;
  font-weight: bold; padding: 14px 26px; border-radius: 6px; font-size: 16.5px; display: inline-block;
  border: 2px solid var(--teal);
}
.cs-btn:hover { background: var(--teal-dk); border-color: var(--teal-dk); }
.cs-btn.ghost { background: transparent; color: var(--soil); border: 2px solid var(--soil); }
.cs-btn.ghost:hover { background: var(--soil); color: var(--white); }

.cs-strip { max-width: 1020px; margin: 0 auto; padding: 34px 24px 6px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.cs-strip div { border-left: 3px solid var(--teal); padding-left: 14px; }
.cs-strip b { font-family: Cambria, Georgia, serif; font-size: 17px; color: var(--soil); display: block; }
.cs-strip p { font-size: 14.5px; color: var(--soft); }

.cs-sec { max-width: 1020px; margin: 0 auto; padding: 44px 24px; }
.cs-sec > h2 { font-size: 28px; margin-bottom: 6px; }
.cs-sec > .sub { color: var(--soft); margin-bottom: 26px; max-width: 640px; }

.cs-rows { display: grid; gap: 0; border-top: 1px solid var(--line); }
.cs-row { display: grid; grid-template-columns: 64px 1fr auto; gap: 18px; align-items: start; padding: 22px 4px; border-bottom: 1px solid var(--line); }
.cs-row .no { font-family: Cambria, Georgia, serif; font-size: 30px; color: var(--teal); font-weight: bold; line-height: 1; padding-top: 3px; }
.cs-row h3 { font-size: 20px; margin-bottom: 5px; }
.cs-row h3 a { color: var(--soil); text-decoration: none; }
.cs-row h3 a:hover { color: var(--teal-dk); }
.cs-row p { font-size: 15.5px; color: var(--soft); max-width: 620px; }
.cs-row .go { align-self: center; font-weight: bold; font-size: 14.5px; text-decoration: none; white-space: nowrap; }

.cs-prose { max-width: 730px; }
.cs-prose h2 { font-size: 24px; margin: 28px 0 10px; }
.cs-prose p, .cs-prose li { margin-bottom: 13px; }
.cs-prose ul, .cs-prose ol { padding-left: 24px; }
.cs-crumb { font-size: 13.5px; color: var(--soft); margin-bottom: 20px; }
.cs-crumb a { color: var(--soft); }

.cs-tbl { width: 100%; border-collapse: collapse; margin: 16px 0 22px; font-size: 15.5px; }
.cs-tbl th { font-family: Cambria, Georgia, serif; text-align: left; background: var(--parch); color: var(--soil); padding: 10px 13px; border: 1px solid var(--line); }
.cs-tbl td { padding: 10px 13px; border: 1px solid var(--line); }
.cs-tbl tr:nth-child(even) td { background: var(--parch); }

.cs-note { background: var(--parch); border: 1px solid var(--line); border-left: 4px solid var(--teal); padding: 16px 18px; margin: 18px 0; font-size: 15.5px; }
.cs-note b { color: var(--soil); }

.cs-towns { display: flex; gap: 8px 22px; flex-wrap: wrap; font-size: 16px; }
.cs-towns a { color: var(--soil); font-weight: bold; text-decoration: none; border-bottom: 2px solid var(--teal); padding-bottom: 2px; }
.cs-towns a:hover { color: var(--teal-dk); }

.cs-faq details { border-bottom: 1px dotted var(--soft); padding: 4px 0; }
.cs-faq summary { cursor: pointer; font-family: Cambria, Georgia, serif; font-weight: bold; font-size: 17px; color: var(--soil); padding: 12px 2px; }
.cs-faq .ans { padding: 0 2px 14px; color: var(--soft); font-size: 15.5px; }

.cs-band { background: var(--soil); color: #efe6d2; text-align: center; padding: 44px 24px; }
.cs-band h2 { color: var(--white); font-size: 27px; margin-bottom: 8px; }
.cs-band p { margin-bottom: 20px; color: #d8cbb2; }

.cs-form { max-width: 600px; display: grid; gap: 15px; }
.cs-form label { font-weight: bold; font-size: 14.5px; display: block; margin-bottom: 4px; color: var(--soil); }
.cs-form input, .cs-form select, .cs-form textarea {
  width: 100%; padding: 12px 13px; border: 1px solid #c9bda4; border-radius: 6px;
  background: var(--white); font-family: inherit; font-size: 15.5px;
}
.cs-form button {
  background: var(--soil); color: var(--white); border: none; border-radius: 6px; padding: 15px;
  font-family: inherit; font-weight: bold; font-size: 16.5px; cursor: pointer;
}
.cs-form button:hover { background: var(--soil-dk); }

.cs-ft { background: var(--parch); border-top: 1px solid var(--line); margin-top: 30px; }
.cs-ft-in { max-width: 1020px; margin: 0 auto; padding: 38px 24px; display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 26px; font-size: 14.5px; }
.cs-ft h4 { font-size: 16px; margin-bottom: 9px; }
.cs-ft a { color: var(--ink); text-decoration: none; line-height: 2; }
.cs-ft a:hover { color: var(--teal-dk); }
.cs-ft .big { font-family: Cambria, Georgia, serif; font-weight: bold; font-size: 19px; color: var(--teal-dk); }
.cs-ft-base { text-align: center; font-size: 12.5px; color: var(--soft); padding: 13px; border-top: 1px solid var(--line); }

.cs-bar {
  display: none; position: fixed; left: 0; right: 0; bottom: 0;
  background: var(--teal-dk); color: var(--white); text-align: center; text-decoration: none;
  font-weight: bold; font-size: 16.5px; padding: 15px; z-index: 50;
}

@media (max-width: 840px) {
  .cs-strip { grid-template-columns: 1fr; gap: 16px; }
  .cs-row { grid-template-columns: 44px 1fr; }
  .cs-row .no { font-size: 24px; }
  .cs-row .go { display: none; }
  .cs-ft-in { grid-template-columns: 1fr; }
  .cs-bar { display: block; }
  body { padding-bottom: 52px; }
  .cs-hero h1 { font-size: 29px; }
}

.cs-photo { margin: 22px 0 26px; }
.cs-photo img { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: 6px; background: var(--parch); padding: 7px; }
.cs-photo figcaption { font-size: 13.5px; color: var(--soft); padding: 9px 2px 0; }
.cs-photo figcaption::before { content: "— "; color: var(--teal); font-weight: bold; }
