/* UPPF Studio content blocks added 2026-10-13 (blog posts, new pages, local sections). Uses tokens from styles.css. */
.post{max-width:780px;margin:0 auto}
.post h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-stretch:112%;letter-spacing:-.02em;line-height:1.12;margin:2.1em 0 .6em}
.post h2.h2{font-size:clamp(1.9rem,3.8vw,3rem);margin:0 0 .5em}
.post h3{font-size:1.05rem;margin:1.4em 0 .3em}
.post p,.post li{color:var(--ink2);font-size:1.04rem;line-height:1.72}
.post p{margin:0 0 1.1em}
.post ul,.post ol{margin:0 0 1.2em;padding-left:1.3em}
.post li{margin:.35em 0}
.post a:not(.btn){color:var(--amber);text-decoration:underline;text-underline-offset:3px}
.post .pnote{font-size:.9rem;border-left:2px solid var(--amber);padding:6px 0 6px 14px;color:var(--dim)}
.tw{overflow-x:auto;margin:1.2em 0 1.6em;border:1px solid var(--line)}
.tw table{border-collapse:collapse;width:100%;min-width:520px;font-size:.92rem}
.tw th,.tw td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}
.tw th{color:var(--ink);background:var(--panel2)}
.tw a{color:var(--amber)}
.crumbs{font-size:.68rem;color:var(--dim);margin-bottom:16px}
.crumbs a{color:var(--dim);text-decoration:none}
.crumbs a:hover{color:var(--amber)}
.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:18px}
.post .related a{display:block;border:1px solid var(--line);background:var(--panel);padding:16px 18px;text-decoration:none;color:var(--ink);font-size:.95rem;line-height:1.3}
.cta{margin:2.4em 0;border:1px solid var(--line2);background:var(--panel);padding:28px}
.post .cta h2{margin:0 0 .4em}
.cta .btn{margin:6px 8px 0 0}
.sx-lbl{font-size:.62rem;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.sx-near{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:22px}
.sx-near .sx-lbl{margin-right:6px}
.sx-near a,.post .sx-near a{border:1px solid var(--line2);padding:7px 12px;font-size:.85rem;color:var(--ink);text-decoration:none;background:var(--panel)}
.sx-near a:hover{border-color:var(--amber);color:var(--amber)}
.sx-local{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start}
.sx-local .post{max-width:none;margin:0}
.post .sx-h3{font-size:1.2rem;margin:1.6em 0 .5em;color:var(--ink)}
.sx-aside{border:1px solid var(--line2);background:var(--panel);padding:24px;position:sticky;top:96px}
.sx-aside dl{margin:14px 0 20px}
.sx-aside dt{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-top:12px}
.sx-aside dd{margin:4px 0 0;color:var(--ink2);font-size:.95rem;line-height:1.5}
.sx-aside .btn{width:100%}
.sx-call{display:block;text-align:center;margin-top:12px;color:var(--ink);font-size:.9rem;text-decoration:none}
.sx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:34px}
.sx-grid a{display:block;border:1px solid var(--line);background:var(--panel);padding:18px;text-decoration:none;transition:border-color .2s}
.sx-grid a:hover{border-color:var(--amber)}
.sx-grid b{display:block;color:var(--ink);font-size:1rem;margin-bottom:4px}
.sx-grid span{color:var(--dim);font-size:.85rem}
.sx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:1.4em 0}
.sx-card{border:1px solid var(--line2);background:var(--panel);padding:22px;display:flex;flex-direction:column}
.sx-price{font-size:1.6rem;font-weight:800;color:var(--ink);margin:6px 0 8px;font-stretch:112%}
.post .sx-card p{font-size:.95rem;margin:0 0 10px}
.post .sx-card ul{padding-left:1.1em;margin:0 0 16px}
.post .sx-card li{font-size:.9rem}
.sx-card .btn{margin-top:auto}
@media(max-width:860px){.sx-local{grid-template-columns:1fr;gap:28px}.sx-aside{position:static}}
.mod p a{color:var(--amber);text-decoration:underline;text-underline-offset:3px}
