:root{
  --cream:#F6F1E7;
  --walnut:#5B4636;
  --sage:#7D8C6F;
  --sage-dark:#66755a;
  --linen:#EDE5D8;
  --ink:#2B2620;
  --muted:#7A7166;
  --line:rgba(91,70,54,.2);
  --radius-pill:999px;
  --font-display:"Fraunces",Georgia,serif;
  --font-body:"Work Sans",system-ui,-apple-system,sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,.font-display{font-family:var(--font-display);color:var(--walnut);font-weight:500;letter-spacing:-.01em}
.wrap{max-width:72rem;margin-inline:auto;padding-inline:1.25rem}
@media(min-width:768px){.wrap{padding-inline:2rem}}
.hairline{border-color:var(--line)}
.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-pill);padding:.8rem 1.75rem;font-weight:500;font-size:.95rem;line-height:1;transition:background .2s,color .2s,border-color .2s}
.btn-solid{background:var(--sage);color:#fff;border:1px solid var(--sage)}
.btn-solid:hover{background:var(--sage-dark);border-color:var(--sage-dark)}
.btn-outline{background:transparent;color:var(--walnut);border:1px solid var(--walnut)}
.btn-outline:hover{background:var(--walnut);color:var(--cream)}
.card{background:var(--linen);border:1px solid var(--line);border-radius:1.25rem;overflow:hidden}
.card:hover .card-img{transform:scale(1.03)}
.card-img{transition:transform .5s ease}
.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-dark);font-weight:600}
.divider{height:1px;background:var(--line);border:0}
.site-header{background:var(--cream);border-bottom:1px solid var(--line)}
.nav-link{color:var(--ink);font-size:.95rem}
.nav-link:hover{color:var(--walnut);text-decoration:underline;text-underline-offset:4px}
.spec-table{width:100%;border-collapse:collapse;font-size:.95rem}
.spec-table th,.spec-table td{text-align:left;padding:.7rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{color:var(--muted);font-weight:500;width:38%;padding-right:1rem}
input,textarea,select{background:#fff;border:1px solid var(--line);border-radius:.75rem;padding:.75rem 1rem;width:100%;font-size:.95rem;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--sage);outline-offset:1px;border-color:var(--sage)}
img{max-width:100%}
