/* ══════════════════════════════════════
   ARTISAN'S TABLE - Base Styles
   ══════════════════════════════════════ */

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }

:root {
  /* Brand colors - Artisan's Table Brand Book (RGB 124 142 118 · 122 69 32) */
  --sage:       #7c8e76;
  --sage-dk:    #5a6855;
  --sage-lt:    #eef1ec;
  --rust:       #7a4520;
  --rust-lt:    #c8895a;
  --rust-pale:  #f5ece4;
  --cream:      #f9f5ef;
  --cream2:     #f2ebe0;
  --ink:        #1e1a14;
  --muted:      #7a6f62;
  --border:     rgba(122,69,32,.12);

  /* Typography - Brand Book: Cabinet Grotesk (sans), Cormorant Garamond (serif) */
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Cabinet Grotesk', system-ui, sans-serif;

  /* Spacing */
  --section-pad: 130px 60px;
  --section-pad-sm: 80px 28px;
}

body {
  font-family: var(--font-sans);
  background: var(--cream);
  color: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { max-width:100%; display:block; }
a { text-decoration:none; }

/* Section Label */
.label {
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--rust);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.label::before { content:''; width:24px; height:1.5px; background:var(--rust); }
.label.lt  { color:var(--rust-lt); }
.label.lt::before { background:var(--rust-lt); }
.label.sage { color:var(--sage-dk); }
.label.sage::before { background:var(--sage-dk); }
.label.white { color:rgba(255,255,255,.45); }
.label.white::before { background:rgba(255,255,255,.22); }
.label.center { justify-content:center; }

/* Headings */
h2.serif {
  font-family: var(--font-serif);
  font-weight: 300;
  line-height: 1.08;
}
h2.serif em { font-style:italic; color:var(--rust); }

/* Buttons */
.btn-primary {
  display: inline-block;
  padding: 16px 40px;
  background: var(--rust);
  color: #fff;
  border-radius: 3px;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 500;
  transition: background .25s, transform .2s;
}
.btn-primary:hover { background:var(--rust-lt); transform:translateY(-2px); }

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 14px 32px;
  border: 1.5px solid var(--rust);
  border-radius: 40px;
  color: var(--rust);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 500;
  transition: all .25s;
}
.btn-outline:hover { background:var(--rust); color:#fff; }

/* Scroll Reveal */
.r   { opacity:0; transform:translateY(32px);  transition:opacity .45s ease, transform .45s ease; }
.rl  { opacity:0; transform:translateX(-34px); transition:opacity .45s ease, transform .45s ease; }
.rr  { opacity:0; transform:translateX(34px);  transition:opacity .45s ease, transform .45s ease; }
.r.in, .rl.in, .rr.in { opacity:1; transform:none; }

.d1 { transition-delay:.05s!important; }
.d2 { transition-delay:.1s!important; }
.d3 { transition-delay:.15s!important; }
.d4 { transition-delay:.2s!important; }
.d5 { transition-delay:.25s!important; }

/* Custom Cursor */
#cur {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--rust);
  position: fixed; top:0; left:0;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%,-50%);
  transition: width .25s, height .25s;
  mix-blend-mode: multiply;
}
#cur.big { width:44px; height:44px; background:rgba(122,69,32,.18); }

@media (max-width:1024px) { :root { --section-pad: var(--section-pad-sm); } }
