
/* ===== blog ===== */
body[data-route="blog"]{background:var(--paper)}
.blogwrap{width:min(1080px,92vw);margin-inline:auto}
.bloghead{background:var(--pitch);color:var(--paper);padding:clamp(96px,13vw,150px) 0 clamp(44px,6vw,70px);position:relative;overflow:hidden}
.bloghead::after{content:"";position:absolute;inset:auto -8% -55% auto;width:34rem;height:34rem;
  background:radial-gradient(circle,rgba(74,192,192,.17),transparent 64%);pointer-events:none}
.bloghead .blogwrap{position:relative;z-index:2}
.bloghead.narrow .blogwrap{width:min(72ch,92vw)}
.bkick{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--teal-glow)}
.bloghead h1{font-family:var(--display);font-weight:800;font-size:clamp(34px,6vw,62px);line-height:1.04;
  letter-spacing:-.025em;margin-top:16px;max-width:20ch}
.bloghead .blede{margin-top:20px;font-size:clamp(17px,2vw,20px);line-height:1.6;color:rgba(243,250,250,.72);max-width:62ch}
.bmeta{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,250,250,.5)}
.postlist{padding:clamp(40px,6vw,72px) 0 clamp(60px,8vw,100px);display:grid;gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.postcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;
  box-shadow:0 8px 24px rgba(24,48,72,.05);transition:transform .35s var(--e-out),box-shadow .35s;
  display:flex;flex-direction:column;text-decoration:none;color:inherit}
.postcard:hover{transform:translateY(-6px);box-shadow:0 26px 52px rgba(24,48,72,.14)}
.postcard .pk{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-deep)}
.postcard h2{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.22;color:var(--navy);margin-top:12px;letter-spacing:-.01em}
.postcard p{margin-top:12px;font-size:15px;line-height:1.66;color:#3C556B;flex:1}
.postcard .pfoot{margin-top:20px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--slate);display:flex;justify-content:space-between;gap:12px}
article.post{padding:clamp(40px,6vw,66px) 0 clamp(60px,8vw,96px)}
article.post .inner{width:min(72ch,92vw);margin-inline:auto}
article.post h2{font-family:var(--display);font-weight:800;font-size:clamp(23px,3.2vw,30px);color:var(--navy);
  margin-top:46px;line-height:1.24;letter-spacing:-.012em}
article.post p{margin-top:17px;font-size:17.5px;line-height:1.76;color:#2E4457}
article.post ul,article.post ol{margin-top:17px;padding-left:24px}
article.post li{margin-top:11px;font-size:17.5px;line-height:1.72;color:#2E4457}
article.post li::marker{color:var(--teal-deep)}
.postcta{margin-top:56px;background:var(--navy);color:var(--paper);border-radius:18px;padding:34px 36px}
.postcta h3{font-family:var(--display);font-weight:800;font-size:22px}
.postcta p{color:rgba(243,250,250,.74);margin-top:10px;font-size:16px}
.postcta a{display:inline-flex;align-items:center;gap:9px;margin-top:20px;background:var(--lime);color:var(--ink);
  text-decoration:none;font-weight:600;font-size:15px;padding:13px 24px;border-radius:999px}
.backlink{display:inline-block;margin-top:44px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--teal-deep);text-decoration:none}
@media (prefers-reduced-motion:reduce){.postcard:hover{transform:none}}
