/* TEMPLATES section: hub grid + one-screen template pages */
.tpl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tpl-card{padding:12px 16px!important;gap:3px!important}.tpl-card .tt-title{margin:0}
.tpl-card .art-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tpl-card .tag.proc{background:var(--violet-soft,var(--accent-soft));color:var(--violet,var(--accent-text))}
.tpl-card .hub-blurb{-webkit-line-clamp:2}
.tpl-page{max-width:1120px}
.tpl-head{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px;margin-bottom:8px}
.tpl-head .eyebrow{margin:0}
.tpl-head h1{flex-basis:100%;margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,3.2vw,2rem);letter-spacing:-.02em}
.tpl-head .lead{flex-basis:100%;margin:0;max-width:80ch;color:var(--muted);font-size:.96rem;line-height:1.4}
.tpl-cols{display:grid;grid-template-columns:1.05fr 1fr;gap:12px}
.tpl-block{padding:12px 18px}.tpl-block h2{margin:0 0 6px;font-size:1.05rem}
.tpl-outline{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:3px 16px;counter-reset:o}
.tpl-outline li{font-size:.86rem;line-height:1.35;counter-increment:o;display:flex;gap:8px}
.tpl-outline li::before{content:counter(o);color:var(--accent-text);font-weight:700;min-width:1.1em}
.tpl-also{font-size:.8rem;margin:8px 0 0}
.tpl-sample{margin:0 0 8px;padding:8px 12px;border-left:3px solid var(--accent);font-size:.9rem;line-height:1.5;color:var(--text,inherit)}
.tpl-sample small{display:block;color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.tpl-aud{margin:0;font-size:.9rem;line-height:1.45}
.ph{background:rgba(255,214,10,.28);border-radius:3px;padding:0 2px}
.tpl-maps{margin:8px 2px 0;font-size:.78rem;line-height:1.4;color:var(--muted)}.tpl-maps b{color:var(--brand)}
.tpl-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:8px;padding:8px 14px!important}
.tpl-act .btn.primary{flex:none}
.tpl-act .dl-note{margin:0;flex:1 1 220px}
.tpl-act .lab-callout{flex:1 1 280px;margin:0}
@media (max-width:820px){.tpl-grid{grid-template-columns:1fr 1fr}.tpl-cols{grid-template-columns:1fr}}
@media (max-width:560px){.tpl-grid{grid-template-columns:1fr}.tpl-outline{grid-template-columns:1fr}}
