:root {
  --rock: #3d4a3a;
  --earth: #a25c4c;
  --paper: #f7f4ec;
  --alabaster: #eee9dc;
  --surface: #eae4cf;
  --ink: #332b24;
  --ink-soft: #6b6155;
  --rule: #d6cebc;
  --faxflower: #a9c0cb;
  --glass: #ddd8a0;
}
* { box-sizing: border-box; }
html { background: var(--alabaster); color: var(--ink); font-family: Inter, system-ui, sans-serif; line-height: 1.65; }
body { margin: 0; }
a { color: var(--rock); }
.skip-link { left: -999px; position: absolute; top: 0; }
.skip-link:focus { background: white; left: 1rem; padding: .75rem; z-index: 10; }
.site-header, .site-footer { align-items: center; display: flex; gap: 2rem; justify-content: space-between; margin: auto; max-width: 1120px; padding: 1.4rem 1.5rem; }
.site-header { border-bottom: 1px solid var(--rule); }
.site-header nav, .site-footer nav { display: flex; flex-wrap: wrap; gap: 1.1rem; }
.brand { color: var(--ink); font-family: Georgia, serif; font-size: 1.5rem; font-weight: 700; text-decoration: none; }
.site-footer { border-top: 1px solid var(--rule); color: var(--ink-soft); font-size: .9rem; margin-top: 5rem; }
.content-page, .content-index, .admin-shell { margin: 0 auto; max-width: 860px; padding: 4rem 1.5rem; }
.article-header { margin-bottom: 2.5rem; }
.eyebrow { color: var(--earth); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
h1, h2, h3 { font-family: Georgia, serif; line-height: 1.2; }
h1 { font-size: clamp(2.2rem, 7vw, 4rem); letter-spacing: -.025em; margin: .4rem 0 1.2rem; }
h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); margin-top: 3rem; }
h3 { font-size: 1.35rem; margin-top: 2.25rem; }
.verdict, .index-intro { color: var(--ink-soft); font-family: Georgia, serif; font-size: 1.25rem; max-width: 48rem; }
.verified { background: var(--surface); border-left: 4px solid var(--earth); display: inline-block; padding: .55rem .9rem; }
.review-banner { background: #fff2cb; border: 1px solid #d3ad35; font-weight: 700; margin-bottom: 2rem; padding: .7rem 1rem; }
.article-body { font-size: 1.08rem; }
.content-page--compare .article-body > h2:first-child {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-bottom: 0;
  margin: 0;
  padding: 1.4rem 1.5rem .5rem;
}
.content-page--compare .article-body > h2:first-child + ul {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-top: 0;
  margin: 0 0 2.5rem;
  padding: .4rem 1.5rem 1.4rem 2.8rem;
}
.content-page--compare .article-body > h2:first-child + ul li + li {
  margin-top: .65rem;
}
.article-body blockquote { border-left: 4px solid var(--rock); font-family: Georgia, serif; font-size: 1.35rem; margin: 2rem 0; padding: .4rem 0 .4rem 1.25rem; }
.article-body img { display: block; height: auto; margin-top: 2rem; max-width: 100%; }
.article-body img + em, .article-body p:has(> em:first-child:last-child) { color: var(--ink-soft); font-size: .9rem; }
.article-body table, .admin-shell table { border-collapse: collapse; display: block; margin: 2rem 0; max-width: 100%; overflow-x: auto; width: 100%; }
th, td { border: 1px solid var(--rule); min-width: 9rem; padding: .8rem; text-align: left; vertical-align: top; }
th { background: var(--surface); }
.content-cta { background: var(--rock); color: white; margin-top: 4rem; padding: clamp(1.5rem, 5vw, 3rem); }
.content-cta h2 { margin-top: 0; }
.button { background: var(--earth); border: 0; color: white; cursor: pointer; display: inline-block; font: inherit; font-weight: 700; padding: .75rem 1rem; text-decoration: none; }
.content-cta .button { background: var(--glass); color: var(--ink); }
.button--secondary { background: var(--faxflower); color: var(--ink); }
.cta-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.customer-identity { color: var(--ink-soft); font-weight: 700; }
.customer-story-body h2 { border-top: 1px solid var(--rule); padding-top: 2rem; }
.customer-story-body table td:first-child { font-weight: 700; }
.page-list { list-style: none; margin: 3rem 0; padding: 0; }
.page-list li { border-top: 1px solid var(--rule); padding: 1.5rem 0; }
.page-list li > a { font-family: Georgia, serif; font-size: 1.5rem; font-weight: 700; }
.page-list li p { color: var(--ink-soft); margin: .4rem 0; }
.page-list li span { font-size: .85rem; }
.empty-state { background: var(--paper); border: 1px solid var(--rule); padding: 1.5rem; }
.admin-heading { align-items: center; display: flex; justify-content: space-between; }
.admin-form { display: grid; gap: 1.25rem; }
.admin-form label { display: grid; font-weight: 700; gap: .35rem; }
.admin-form input, .admin-form select, .admin-form textarea { background: white; border: 1px solid var(--rule); border-radius: 0; color: var(--ink); font: inherit; padding: .65rem; width: 100%; }
.admin-form textarea { font-family: ui-monospace, monospace; }
.admin-form small { color: var(--ink-soft); font-family: Inter, system-ui, sans-serif; font-weight: 400; }
.form-errors { background: #ffe5de; border-left: 4px solid #a63722; margin: 1rem 0; padding: 1rem; }
@media (max-width: 600px) {
  .site-header, .site-footer { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .content-page, .content-index, .admin-shell { padding-top: 2.5rem; }
  h1 { font-size: 2.3rem; }
  th, td { min-width: 8rem; padding: .65rem; }
}
