
:root {
  --ink: #0a2a2e; --ink-soft: #1a3d42; --paper: #faf7f2; --paper-warm: #f5efe5;
  --teal: #0d4f5c; --teal-deep: #08363f; --amber: #d4751c; --amber-bright: #e88a2e;
  --sage: #6b8e7f; --green-money: #2d6a4f; --red-warning: #b04545; --rule: #d9d0c1;
  --shadow: 0 1px 2px rgba(10,42,46,0.04), 0 8px 24px rgba(10,42,46,0.06);
  --shadow-lg: 0 4px 12px rgba(10,42,46,0.08), 0 24px 48px rgba(10,42,46,0.12);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter Tight', 'Inter Tight Fallback', -apple-system, BlinkMacSystemFont, sans-serif; color:var(--ink); background:var(--paper); line-height:1.65; -webkit-font-smoothing:antialiased; }
.wrap { max-width:760px; margin:0 auto; padding:0 24px; }
.wrap-wide { max-width:1000px; margin:0 auto; padding:0 24px; }
h1, h2, h3 { font-family:'Fraunces', 'Fraunces Fallback', Georgia, serif; font-weight:500; line-height:1.2; letter-spacing:-0.01em; }

.btn { display:inline-block; background:var(--amber); color:#fff; padding:14px 28px; border-radius:999px; text-decoration:none; font-weight:600; font-size:16px; transition:background .15s, transform .15s; border:none; cursor:pointer; }
.btn:hover { background:var(--amber-bright); transform:translateY(-1px); }
.btn-secondary { background:#fff; color:var(--ink); border:1.5px solid var(--rule); }
.btn-secondary:hover { background:var(--paper-warm); }
nav { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; max-width:1000px; margin:0 auto; }

.post-header { background:var(--teal-deep); color:var(--paper); padding:56px 0 48px; }
.post-header .wrap { max-width:760px; }
.post-eyebrow { font-size:13px; color:var(--amber-bright); font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; }
.post-header h1 { font-size:clamp(28px,5vw,42px); color:#fff; margin-bottom:16px; }
.post-meta { font-size:14px; color:rgba(250,247,242,0.65); }
article { padding:48px 0 64px; }
article p { font-size:17px; color:var(--ink-soft); margin-bottom:20px; }
article h2 { font-size:26px; margin:36px 0 14px; color:var(--ink); }
article h3 { font-size:20px; margin:28px 0 10px; color:var(--ink); }
article ul, article ol { margin:0 0 20px 22px; }
article li { font-size:16.5px; color:var(--ink-soft); margin-bottom:8px; }
article strong { color:var(--ink); }
article a { color:var(--teal-deep); font-weight:600; text-decoration:underline; text-decoration-color:var(--amber); text-underline-offset:2px; }
.callout { background:var(--paper-warm); border:1px solid var(--rule); border-left:4px solid var(--amber); border-radius:8px; padding:20px 24px; margin:28px 0; }
.callout p { margin-bottom:0; font-size:15.5px; }
.callout strong { color:var(--amber); }
.callout.alert { background:#fbeee6; border-color:#e5c4b4; border-left-color:var(--red-warning); }
.callout.alert strong { color:var(--red-warning); }
.post-cta { background:var(--amber); color:#fff; border-radius:16px; padding:36px 32px; margin-top:40px; text-align:center; }
.post-cta h3 { color:#fff; margin-bottom:10px; font-size:22px; }
.post-cta p { color:rgba(255,255,255,0.9); margin-bottom:20px; font-size:15.5px; }
.post-cta .btn { background:var(--ink); }
.post-cta .btn:hover { background:var(--teal-deep); }
.related { border-top:1px solid var(--rule); margin-top:48px; padding-top:32px; }
.related h4 { font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:var(--sage); margin-bottom:16px; }
.related a { display:block; color:var(--ink); font-weight:600; text-decoration:none; padding:10px 0; border-bottom:1px solid var(--rule); }
.related a:hover { color:var(--amber); }
/* Blog hub grid */
.hub-hero { background:var(--teal-deep); color:var(--paper); padding:64px 0 56px; }
.hub-hero .eyebrow { font-size:14px; color:var(--amber-bright); font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:18px; }
.hub-hero h1 { font-size:clamp(34px,6vw,52px); color:#fff; margin-bottom:18px; }
.hub-hero .sub { font-size:clamp(16px,2.2vw,19px); color:rgba(250,247,242,.82); max-width:640px; }
.post-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:22px; margin-top:36px; }
.post-card { background:#fff; border:1px solid var(--rule); border-radius:16px; padding:26px; transition:all .2s; text-decoration:none; color:var(--ink); display:block; }
.post-card:hover { border-color:var(--amber); box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.post-card .tag { font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--amber); margin-bottom:10px; display:block; }
.post-card h3 { font-size:19px; margin-bottom:8px; line-height:1.3; }
.post-card p { font-size:14px; color:var(--ink-soft); }
footer { padding:40px 0 60px; border-top:1px solid var(--rule); margin-top:40px; }
footer .wrap-wide { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
footer p { font-size:13px; color:var(--sage); }
@media (max-width:720px) { .post-header { padding:40px 0 36px; } article { padding:36px 0 48px; } .post-grid { grid-template-columns:1fr; } }
