/* base.css — reset, body, headings, .wrap, .eyebrow, .btn*, .reveal */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.07}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--moss)}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:13.5px;font-weight:700;letter-spacing:.02em;padding:13px 24px;border-radius:30px;cursor:pointer;border:1px solid var(--moss);transition:.25s;text-align:center}
.btn-primary{background:var(--grad);color:#fff;border-color:transparent}
.btn-primary:hover{filter:brightness(1.07);box-shadow:0 16px 32px -14px rgba(81,107,70,.7);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--moss)}.btn-ghost:hover{background:var(--moss);color:#fff}
.btn-clay{background:var(--grad-clay);color:#fff;border-color:transparent}.btn-clay:hover{filter:brightness(1.05);transform:translateY(-2px)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
