
:root { --terra:#D57553; --teal:#505F64; --char:#3D3D3D; --cream:#F4F1EA; --card:#FFFFFF; --row:#FCFBF7; --line:#e3ded3; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',sans-serif; background:var(--cream); color:var(--char); min-height:100vh; }
.wrap { max-width:880px; margin:0 auto; padding:64px 28px 80px; }
.eyebrow { font-size:13px; letter-spacing:0.32em; color:var(--teal); font-weight:600; text-transform:uppercase; }
h1 { font-family:'Playfair Display',serif; font-weight:800; font-size:clamp(34px,6vw,52px); margin-top:10px; color:#2e2e2e; letter-spacing:-0.01em; }
.rule { width:56px; height:5px; background:var(--terra); margin:20px 0 22px; }
.subtitle { font-style:italic; font-size:17px; color:#4a4a4a; }
.section-label { font-size:12px; letter-spacing:0.22em; color:var(--teal); font-weight:700; text-transform:uppercase; margin:40px 0 14px; }
.rhythm { background:var(--card); border-left:5px solid var(--teal); padding:20px 26px; font-size:15.5px; line-height:1.7; list-style:none; }
.rhythm li { padding-left:18px; position:relative; }
.rhythm li:before { content:"\2022"; position:absolute; left:0; color:#9aa4a7; }
.cols { display:flex; gap:36px; margin-top:42px; flex-wrap:wrap; }
.col-main { flex:1.85; min-width:340px; }
.col-side { flex:1; min-width:220px; }
h2 { font-weight:650; font-size:23px; color:#2e2e2e; margin-bottom:16px; letter-spacing:-0.01em; }
table { width:100%; border-collapse:collapse; font-size:15px; }
thead th { background:var(--teal); color:#fff; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; font-weight:600; padding:10px 14px; text-align:left; }
thead th:last-child { text-align:right; }
tbody td { padding:9px 14px; border-bottom:1px solid var(--line); }
tbody tr:nth-child(odd) { background:var(--row); }
td.num { color:var(--terra); font-weight:700; width:34px; }
td.due { text-align:right; font-weight:650; }
td.arrow { color:#b8b2a5; text-align:center; width:40px; }
tbody tr:last-child td { border-bottom:3px solid var(--teal); }
.mocks { border-top:3px solid var(--teal); border-bottom:3px solid var(--teal); font-size:15px; }
.mocks div { padding:10px 16px; text-align:center; border-bottom:1px solid var(--line); }
.mocks div:nth-child(even) { background:var(--row); }
.mocks div:last-child { border-bottom:none; }
.back { display:inline-block; margin-bottom:34px; font-size:14px; color:var(--teal); text-decoration:none; font-weight:600; letter-spacing:0.06em; }
.back:hover { color:var(--terra); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; margin-top:42px; }
.card { background:var(--card); border:1px solid var(--line); border-top:4px solid var(--teal); padding:26px 24px 22px; text-decoration:none; color:var(--char); transition:transform .12s ease, box-shadow .12s ease; }
.card:nth-child(even) { border-top-color:var(--terra); }
.card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(61,61,61,.10); }
.card h3 { font-family:'Playfair Display',serif; font-size:24px; font-weight:800; color:#2e2e2e; }
.card p { font-size:13.5px; color:#6b6b6b; margin-top:8px; line-height:1.5; }
.card .go { display:inline-block; margin-top:14px; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; color:var(--terra); }
.badge { display:inline-block; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; color:#fff; background:var(--terra); padding:3px 9px; border-radius:3px; margin-bottom:10px; }
footer { margin-top:70px; font-size:12.5px; color:#9a948a; text-align:center; letter-spacing:0.04em; }
