:root { --ink:#1b211d; --paper:#f4efe7; --card:#fffaf2; --muted:#616960; --line:#d8d0c4; --green:#1f6b4f; }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 Inter, ui-sans-serif, system-ui, sans-serif; }
a { color:inherit; }
header, footer, main { max-width:1120px; margin:auto; }
header, footer { padding:24px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
header { border-bottom:1px solid var(--line); }
.brand { text-decoration:none; font-weight:800; }
.brand span { display:inline-grid; place-items:center; width:36px; height:36px; margin-right:10px; border-radius:50%; background:var(--green); color:white; }
.header-cta { font-weight:700; }
main { padding:78px 24px; }
.hero { display:grid; grid-template-columns:1.3fr .7fr; gap:56px; align-items:end; }
.eyebrow,.label { color:var(--green); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { font-size:clamp(3rem,7vw,6rem); line-height:.98; letter-spacing:-.055em; margin:16px 0 28px; }
.lede { max-width:720px; color:var(--muted); font-size:1.25rem; }
.button { display:inline-block; margin-top:20px; padding:13px 19px; border-radius:999px; background:var(--green); color:white; font-weight:750; text-decoration:none; }
aside { padding:30px; border:1px solid var(--line); border-radius:24px; background:var(--card); }
ol { margin:18px 0 0; padding:0; list-style:none; }
li { display:grid; gap:3px; padding:16px 0; border-top:1px solid var(--line); }
li span,.scope p,.fit p,footer p { color:var(--muted); }
.scope { margin-top:100px; padding-top:70px; border-top:1px solid var(--line); }
h2 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.08; letter-spacing:-.035em; max-width:760px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
.cards article { padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--card); }
.cards span { color:var(--green); font-weight:800; }
.cards h3 { font-size:1.35rem; margin:18px 0 8px; }
.fit { margin:90px 0 20px; max-width:760px; }
footer { border-top:1px solid var(--line); }
footer p { margin:3px 0 0; }
@media(max-width:760px){ .hero,.cards{grid-template-columns:1fr}.hero{gap:36px}header,footer{align-items:flex-start;flex-direction:column}main{padding-top:52px}.scope{margin-top:70px} }
