:root {
  --color-primary: #000;
  --color-primary2: #944933;
  --color-ink: #1c1c18;
  --color-muted: #45474a;
  --color-paper: #fcf9f3;
  --color-warm: #f6f3ed;
  --color-stone: #f0eee8;
  --color-accent: #944933;
  --color-line: rgba(28,28,24,.1);
}
.d_fl { display: flex;}
.fl_dir { flex-direction: column; }
.fl_just {justify-content: space-between;}
.al_cen { align-items: center; }
.fw500 { font-weight: 500; }
.fw700 { font-weight: 700; }
.grid { display: grid; }
.font-serif { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; }
.section-title { font-size: 48px; line-height: 56px; letter-spacing: -1.2px; text-transform: uppercase; }
.label { font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; }
.container { max-width: 1220px; padding: 0 15px; position: relative; margin: 0 auto; width: 100%; }
.fl_img { position: relative; overflow: hidden; }
.fl_img img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.btn { gap: 12px; justify-content: center; padding: 15px 32px; min-height: 48px; border: 1px solid #000; background: #000; color: #fff; font-size: 11px; font-weight: 600; line-height: 16px; letter-spacing: 1.1px; text-transform: uppercase; text-align: center; }
.btn:hover { background: var(--color-accent); border-color: var(--color-accent); color: white; }
.btn svg { flex-shrink: 0; vertical-align: middle; }
.btn--accent { background: var(--color-accent); border-color: var(--color-accent); }
.btn--accent:hover { background: #773925; border-color: #773925; }
.btn--outline { background: transparent; color: inherit; border-color: currentColor; }
.btn--wide { width: 100%; }
@media (max-width: 820px) { .section-title { font-size: 36px; line-height: 44px; letter-spacing: -.7px; } }
@media (max-width: 770px) { .section-title { font-size: 28px; line-height: 35px; } }
