:root{
  --parchment: #F6F1E7;
  --parchment-deep: #EFE8D8;
  --ink: #1E2A22;
  --ink-soft: #33463A;
  --sage: #52705E;
  --sage-deep: #3C5749;
  --gold: #C79A4E;
  --gold-soft: #E4C98A;
  --paper-line: rgba(30,42,34,0.14);
  --card: #FFFDF8;
  --max: 1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3, .serif{
  font-family:'Fraunces', serif;
  font-weight:500;
  margin:0;
  letter-spacing:-0.01em;
}
p{margin:0;}
a{color:inherit;}
img,svg{display:block;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}

a:focus-visible, button:focus-visible{
  outline:2px solid var(--sage-deep);
  outline-offset:3px;
  border-radius:2px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 24px;
  background:var(--ink);
  color:var(--parchment);
  border:1px solid var(--ink);
  border-radius:3px;
  font-family:'Inter', sans-serif;
  font-size:0.95rem;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.btn:hover{background:var(--sage-deep); border-color:var(--sage-deep);}
.btn-outline{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--ink);
}
.btn-outline:hover{background:var(--ink); color:var(--parchment);}
