.tp{--tp-cols:4;--tp-cols-tablet:2;--tp-gap:24px;--tp-accent:#8b3dff;--tp-title:#1a1a1a;--tp-text:#4a4a4a;--tp-card-bg:#fff;--tp-border:#1a1a1a;--tp-border-width:1px;--tp-radius:16px;--tp-padding:28px;--tp-cols-actual:var(--tp-cols)}.tp__header{margin-bottom:32px}.tp__header--center{margin-left:auto;margin-right:auto;max-width:62ch;text-align:center}.tp__heading{color:var(--tp-title);margin:0 0 8px}.tp__intro{color:var(--tp-text)}.tp__intro>:last-child{margin-bottom:0}.tp__grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--tp-gap)}.tp__card{background:var(--tp-card-bg);border:var(--tp-border-width) solid var(--tp-border);border-radius:var(--tp-radius);box-sizing:border-box;color:inherit;display:flex;flex:1 1 calc((100% - (var(--tp-cols-actual) - 1)*var(--tp-gap))/var(--tp-cols-actual));flex-direction:column;max-width:100%;min-width:0;padding:var(--tp-padding);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tp__grid--fixed .tp__card{flex-grow:0}.tp:not(.tp--equal) .tp__card{align-self:flex-start}.tp__badge{color:var(--tp-accent);display:block;line-height:1;margin-bottom:16px}.tp__badge--number{font-size:2rem;font-weight:700;letter-spacing:-.02em}.tp__badge--icon svg{fill:currentColor;height:32px;width:32px}.tp__badge--image img{display:block;height:auto;max-width:64px}.tp__card-title{color:var(--tp-title);font-size:1.0625rem;font-weight:500;line-height:1.35;margin:0 0 12px}.tp__card-text{color:var(--tp-text);font-size:.9375rem;line-height:1.6}.tp__card-text>:last-child{margin-bottom:0}a.tp__card:focus-visible,a.tp__card:hover{border-color:var(--tp-accent)}.tp--hover a.tp__card:focus-visible,.tp--hover a.tp__card:hover{box-shadow:0 12px 28px rgba(0,0,0,.08);transform:translateY(-4px)}a.tp__card:focus-visible{outline:2px solid var(--tp-accent);outline-offset:3px}@media (max-width:991px){.tp{--tp-cols-actual:var(--tp-cols-tablet)}}@media (max-width:575px){.tp{--tp-cols-actual:1}.tp__card{flex-basis:100%}.tp__grid--fixed .tp__card{flex-grow:1}}@media (prefers-reduced-motion:reduce){.tp__card{transition:none}.tp--hover a.tp__card:focus-visible,.tp--hover a.tp__card:hover{transform:none}}