.tp-sm-hero{padding:9rem var(--pad) 3rem;text-align:center;position:relative;overflow:clip;border-bottom:1px solid var(--border)}.tp-sm-hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 0%,black 20%,transparent 100%);mask-image:radial-gradient(ellipse 85% 75% at 50% 0%,black 20%,transparent 100%);pointer-events:none}.tp-sm-hero-inner{position:relative;z-index:1;max-width:760px}.tp-sm-title{font-family:var(--f-d);font-size:clamp(2rem, 5vw, 3rem);font-weight:800;line-height:1.1;margin:.4rem 0 .75rem}.tp-sm-sub{font-size:1.0625rem;line-height:1.6;color:var(--txt-2);margin:0}.tp-sm-body{padding:3.5rem 0 5rem}.tp-sm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;align-items:start}.tp-sm-group{background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:1.5rem 1.5rem 1rem}.tp-sm-group--wide{grid-column:1 / -1}.tp-sm-group-title{display:flex;align-items:center;gap:.6rem;font-family:var(--f-d);font-size:1.05rem;margin:0 0 .85rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.tp-sm-group-title::before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:var(--accent)}.tp-sm-count{margin-left:auto;font-family:var(--f-b);font-size:.72rem;font-weight:600;color:var(--txt-3);line-height:unset}.tp-sm-list{list-style:none;margin:0;padding:0}.tp-sm-list--cols{columns:220px;column-gap:.75rem}.tp-sm-list--cols li{break-inside:avoid}.tp-sm-link{display:block;margin:0 -.75rem;padding:.5rem .75rem;border-radius:8px;color:var(--txt-2);text-decoration:none;font-size:.9rem;line-height:1.4;transition:background 0.15s ease,color 0.15s ease}.tp-sm-link:hover,.tp-sm-link:focus-visible{background:var(--bg-2);color:var(--accent);outline:none}.tp-sm-link:focus-visible{box-shadow:0 0 0 2px var(--accent)}@media (max-width:720px){.tp-sm-hero{padding:7rem var(--pad) 2.5rem}.tp-sm-body{padding:2.5rem 0 3.5rem}.tp-sm-grid{grid-template-columns:1fr;gap:1rem}.tp-sm-list--cols{columns:1}}