/* ---------- Field Notes (blog) ---------- */
.blog-hero{max-width:820px;margin:0 auto;padding:150px clamp(18px,4vw,44px) 40px;text-align:center}
.blog-hero-title{font-family:var(--serif);font-weight:900;font-size:clamp(38px,6vw,72px);line-height:1;letter-spacing:-.02em;margin:14px 0 22px}
.blog-hero-sub{font-size:clamp(16px,1.6vw,19px);color:var(--slate);max-width:56ch;margin:0 auto}

.post-grid{max-width:var(--wrap);margin:0 auto;padding:40px clamp(18px,4vw,44px) 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.post-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--teal)}
.post-card-link{display:block;padding:28px 26px}
.post-card-tag{font-family:var(--sans);font-weight:700;letter-spacing:.14em;font-size:11px;color:var(--phoenix);margin-bottom:16px}
.post-card h2{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.15;margin-bottom:12px}
.post-card p{color:var(--slate);font-size:15px;margin-bottom:18px}
.post-card-meta{font-size:13px;color:var(--slate);display:flex;gap:10px;align-items:center}
.post-card-meta i{color:var(--teal)}

/* ---------- single post ---------- */
.article-wrap{max-width:720px;margin:0 auto;padding:140px clamp(18px,4vw,28px) 40px}
.article-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--teal-dk);margin-bottom:30px}
.article-back:hover{color:var(--phoenix)}
.article-tag{font-family:var(--sans);font-weight:700;letter-spacing:.14em;font-size:12px;color:var(--phoenix);margin-bottom:14px}
.article-title{font-family:var(--serif);font-weight:900;font-size:clamp(32px,5vw,52px);line-height:1.03;letter-spacing:-.02em;margin-bottom:20px}
.article-meta{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--slate);padding-bottom:28px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.article-meta i{color:var(--teal)}
.article-body{font-size:18px;line-height:1.75;color:#1c2226}
.article-body>*{max-width:680px}
.article-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3vw,32px);line-height:1.15;margin:44px 0 16px;letter-spacing:-.01em}
.article-body h3{font-family:var(--serif);font-weight:600;font-size:22px;margin:32px 0 12px;color:var(--teal-dk)}
.article-body p{margin-bottom:22px}
.article-body ul,.article-body ol{margin:0 0 22px 22px}
.article-body li{margin-bottom:10px}
.article-body strong{font-weight:700}
.article-body a{color:var(--teal-dk);text-decoration:underline;text-underline-offset:3px}
.article-body a:hover{color:var(--phoenix)}
.article-body blockquote{border-left:4px solid var(--teal);background:var(--paper-2);padding:20px 24px;margin:28px 0;border-radius:0 12px 12px 0;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink)}
.article-body .callout{background:linear-gradient(120deg,rgba(14,140,140,.08),rgba(228,87,46,.06));border-radius:14px;padding:22px 26px;margin:28px 0;border:1px solid var(--line)}
.article-body .callout strong:first-child{color:var(--teal-dk);letter-spacing:.06em;text-transform:uppercase;font-size:13px;font-family:var(--sans)}
.article-body img{border-radius:14px;margin:28px 0;box-shadow:var(--shadow)}
.article-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.article-cta{margin-top:50px;padding:34px 30px;background:var(--ink);color:var(--paper);border-radius:18px;text-align:center}
.article-cta h3{font-family:var(--serif);font-size:26px;font-weight:600;margin-bottom:12px;color:var(--paper)}
.article-cta p{color:#B9C4C4;margin-bottom:22px;font-size:16px}

@media(max-width:900px){.post-grid{grid-template-columns:1fr}}
