body{display:flex;flex-direction:column;min-height:100dvh}main{flex:1;position:relative;z-index:1;padding:132px 24px 80px}.blog-wrap{max-width:1080px;margin:0 auto}.article-wrap{max-width:760px;margin:0 auto}.crumbs{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--ink-subtle);margin-bottom:22px;flex-wrap:wrap}.crumbs a{color:var(--ink-muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--ink-faint)}.blog-hero{text-align:center;margin-bottom:56px}.blog-hero h1{font-size:clamp(2.25rem,4.5vw,3.1rem);font-weight:600;letter-spacing:-.035em;line-height:1.08;color:var(--ink);margin:12px 0 16px}.blog-hero p{color:var(--ink-muted);font-size:1.05rem;line-height:1.6;max-width:560px;margin:0 auto}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.post-card{display:flex;flex-direction:column;padding:26px 24px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);text-decoration:none;transition:transform .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.post-card:hover{transform:translateY(-2px);border-color:var(--line-strong);background:var(--bg-elev)}.post-card .tag{align-self:flex-start;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:var(--radius-pill);margin-bottom:16px}.post-card h2{font-size:1.18rem;font-weight:600;letter-spacing:-.015em;line-height:1.3;color:var(--ink);margin-bottom:10px}.post-card p{color:var(--ink-subtle);font-size:.92rem;line-height:1.6;flex:1}.post-card .meta{margin-top:18px;font-size:.78rem;color:var(--ink-faint)}.article-cat{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.article-head h1{font-size:clamp(2rem,4vw,2.85rem);font-weight:600;letter-spacing:-.035em;line-height:1.1;color:var(--ink);margin-bottom:18px;text-wrap:balance}.article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--ink-subtle);padding-bottom:26px;margin-bottom:32px;border-bottom:1px solid var(--line)}.article-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint)}.prose{color:var(--ink-muted);font-size:1.02rem;line-height:1.75}.prose>p{margin-bottom:20px;text-wrap:pretty}.prose h2{font-size:1.55rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:44px 0 16px;line-height:1.25;scroll-margin-top:100px}.prose h3{font-size:1.18rem;font-weight:600;color:var(--ink);margin:28px 0 10px}.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(249,115,22,.35)}.prose a:hover{border-bottom-color:var(--accent)}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{margin:0 0 20px 1.2em}.prose li{margin-bottom:8px}.prose blockquote{margin:0 0 22px;padding:14px 20px;border-left:3px solid var(--accent);background:var(--bg-raised);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink);font-size:.98rem}.tool{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);padding:22px 24px;margin:0 0 18px}.tool h3{margin:0 0 4px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tool .best{font-size:.74rem;font-weight:600;color:var(--accent);letter-spacing:.02em}.tool .lede{color:var(--ink-subtle);font-size:.95rem;line-height:1.6;margin:6px 0 14px}.tool .pc{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.tool .pc div{font-size:.9rem;line-height:1.55}.tool .pc .h{font-weight:600;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.tool .pc .pros .h{color:#4ade80}.tool .pc .cons .h{color:var(--danger)}@media(max-width:560px){.tool .pc{grid-template-columns:1fr;gap:12px}}.cta-box{margin:40px 0;padding:30px 28px;text-align:center;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:radial-gradient(ellipse 80% 120% at 50% 0%,rgba(249,115,22,.12),transparent 70%),var(--bg-raised)}.cta-box h3{font-size:1.3rem;color:var(--ink);margin-bottom:8px;letter-spacing:-.02em}.cta-box p{color:var(--ink-muted);font-size:.96rem;margin-bottom:20px}.related{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}.related h2{font-size:1.1rem;color:var(--ink);margin-bottom:16px;font-weight:600}.related a{display:block;color:var(--ink-muted);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line);transition:color .15s}.related a:hover{color:var(--accent)}
