/* Blog */
.phero .meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:var(--space-lg);color:var(--color-cream-ink);font-size:15px}
.ptag{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:#0B2A3C;background:#E0F2FE;border-radius:999px;padding:5px 11px}
.post{display:grid;grid-template-columns:minmax(0,70ch) minmax(220px,300px);justify-content:start;gap:clamp(48px,7vw,120px);padding-block:var(--space-4xl)}
.prose-a{min-width:0;font-size:18px;line-height:1.7;color:#24363A}
.prose-a h2{font-size:clamp(26px,2.4vw,32px);line-height:1.2;letter-spacing:-.02em;color:var(--color-ink);margin-top:56px;max-width:none;scroll-margin-top:110px}
.prose-a h3{font-size:21px;letter-spacing:-.01em;color:var(--color-ink);margin-top:32px}
.prose-a p{margin-top:16px}
.prose-a ul,.prose-a ol{margin-top:16px;padding-left:24px;display:grid;gap:8px}
.prose-a a{color:#05467A;text-decoration:underline;text-underline-offset:3px}
.prose-a a:hover{color:#021B33}
.short{background:linear-gradient(180deg,#EAF5FF,#FFFFFF);border:1px solid #D3E3F7;border-radius:20px;padding:24px 28px}
.short b{font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:#05467A}
.short ul{margin-top:10px}
.cover{display:block;width:100%;height:auto;border-radius:20px;margin-top:32px}
.tip{margin-top:24px;border-left:4px solid #0284C7;background:#F3F9FE;border-radius:0 14px 14px 0;padding:16px 20px}
.tip b{font-size:14px;color:#05467A}.tip p{margin-top:4px}
.prose-a .qa-list{margin-top:16px}
.toc{position:sticky;top:110px;align-self:start;border:1px solid var(--color-rule);border-radius:20px;padding:22px;background:#fff}
.toc b{font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-2)}
.toc ol{list-style:none;margin-top:12px;display:grid;gap:10px;font-size:15px;line-height:1.4}
.toc a{color:var(--color-ink);text-decoration:none}.toc a:hover{color:#05467A;text-decoration:underline}
.toc .btn{margin-top:20px;width:100%}
.plist{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pcard a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--color-rule);border-radius:22px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 12px 32px -22px rgba(14,28,31,.3);transition:transform .2s,box-shadow .2s}
.pcard a:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(14,28,31,.4)}
.pcard a:focus-visible{outline:2px solid #0284C7;outline-offset:3px}
.pcard img{display:block;width:100%;height:auto}
.pc-b{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.pc-b h2{font-size:21px;line-height:1.25;letter-spacing:-.015em;max-width:none}
.pc-b p{color:var(--color-ink-2);font-size:15px;line-height:1.5}
.pc-b .meta{margin-top:auto;display:flex;gap:14px;font-size:13.5px}
@media (max-width:1000px){.post{grid-template-columns:minmax(0,1fr)}.toc{position:static;order:-1}.plist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.plist{grid-template-columns:minmax(0,1fr)}.prose-a{font-size:17px}.short{padding:20px}}
@media (prefers-reduced-motion:reduce){.pcard a{transition:none}.pcard a:hover{transform:none}}
.toc a.btn,.toc a.btn:hover{color:var(--color-cream);text-decoration:none}
.pc-b .ptag{align-self:flex-start}
.toc-m{display:none;margin-top:20px;border:1px solid var(--color-rule);border-radius:16px;padding:14px 18px}
.toc-m summary{font-weight:700;cursor:pointer}
.toc-m ol{margin-top:10px;font-size:16px}
.toc-m a{color:var(--color-ink);text-decoration:none}
@media (max-width:1000px){.toc{display:none}.toc-m{display:block}}
