/* ============================================================
   Toby's Estate — reset + primitives
   ============================================================ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0 0 1em}

/* Layout */
.te-wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.te-section{padding:72px 0}

/* Type helpers */
.te-display{font-family:var(--te-headline);font-weight:var(--te-headline-wt);letter-spacing:-0.01em}
.te-mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.12em;font-size:12px}
.te-accent{color:var(--te-accent)}
.te-muted{color:var(--muted)}
.te-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.2em;font-size:11px;color:var(--te-accent)}
.te-h1{font-size:clamp(44px,6vw,76px);line-height:0.98}
.te-h2{font-size:clamp(32px,4vw,46px);line-height:1.05}

/* Buttons */
.te-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.12em;font-size:12px;
  padding:16px 28px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:opacity .15s,background .15s,color .15s}
.te-btn--accent{background:var(--te-accent);color:#fff}
.te-btn--dark{background:var(--ink);color:var(--cream)}
.te-btn--ghost{background:none;color:var(--ink);border-color:var(--ink)}
.te-btn:hover{opacity:.9}

/* Grids */
.te-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.te-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}

::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:rgba(22,19,16,0.2);border-radius:6px}
