.tp-page{background:var(--bg-section-soft);min-height:100vh;padding-top:68px}.tp-root{font-family:system-ui,sans-serif}.tp-hero{background:linear-gradient(135deg, var(--c-maroon) 0%, var(--c-maroon-deep) 60%, var(--c-ink) 100%);text-align:center;padding:5rem 5% 4rem}.tp-hero-tag{border-radius:var(--radius-pill);background:var(--a-yellow-15);color:var(--c-yellow);font-size:var(--fs-72);letter-spacing:3px;text-transform:uppercase;border:1px solid var(--a-yellow-25);margin-bottom:18px;padding:6px 20px;font-weight:700;display:inline-block}.tp-hero h1{font-family:var(--font-serif);color:var(--c-white);margin-bottom:14px;font-size:clamp(2.4rem,6vw,4rem);line-height:1.15}.tp-hero p{color:var(--a-white-75);font-size:var(--fs-105);max-width:620px;margin:0 auto 2.5rem;line-height:1.7}.tp-filters{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tp-filter-btn{border-radius:var(--radius-pill);font-weight:600;font-size:var(--fs-82);cursor:pointer;border:1.5px solid var(--a-white-30);color:var(--a-white-75);background:0 0;padding:7px 22px;transition:all .2s}.tp-filter-btn.active{border-color:var(--c-yellow);background:var(--a-yellow-15);color:var(--c-yellow)}.tp-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;max-width:1280px;margin:0 auto;padding:60px 5%;display:grid}.tp-card{background:var(--c-white);border-radius:var(--radius-20);box-shadow:0 4px 24px var(--a-black-06);border:1px solid var(--a-black-05);cursor:pointer;flex-direction:column;transition:box-shadow .3s,transform .3s;display:flex;overflow:hidden}.tp-card:hover{box-shadow:0 12px 40px var(--a-black-10);transform:translateY(-4px)}.tp-card-head{flex-grow:1;padding:28px 28px 20px}.tp-card-icon{border-radius:var(--radius-16);width:56px;height:56px;font-size:var(--fs-180);background:var(--tp-icon-bg);justify-content:center;align-items:center;margin-bottom:14px;display:flex;overflow:hidden}.tp-card-level{font-size:var(--fs-65);letter-spacing:2px;text-transform:uppercase;color:var(--tp-level-color);margin-bottom:6px;font-weight:700}.tp-card h3{font-family:var(--font-serif);font-size:var(--fs-130);color:var(--c-text-1);margin-bottom:4px}.tp-card-sub{font-size:var(--fs-80);color:var(--c-text-6);margin-bottom:10px}.tp-card-tagline{font-size:var(--fs-88);color:var(--c-text-4);border-left:3px solid var(--c-gold);margin-bottom:14px;padding-left:10px;font-style:italic;line-height:1.5}.tp-card p{font-size:var(--fs-88);color:var(--c-text-4);line-height:1.65}.tp-card-meta{border-top:1px solid var(--c-surface-gray);justify-content:space-between;align-items:center;gap:14px;padding:14px 28px;display:flex}.tp-meta-pills{gap:8px;display:flex}.tp-meta-pill{font-size:var(--fs-70);border-radius:var(--radius-pill);background:var(--c-f3f4f6);color:var(--c-text-4);padding:4px 12px;font-weight:600}.tp-btn-solid{background:linear-gradient(135deg,var(--c-maroon),var(--c-orange-deep));color:var(--c-white);border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-82);cursor:pointer;border:none;padding:10px 24px;text-decoration:none;transition:transform .2s,box-shadow .2s}.tp-btn-solid:hover{box-shadow:0 6px 20px var(--a-maroon-30);transform:translateY(-2px)}.tp-btn-solid--card{font-size:var(--fs-75);margin:0;padding:8px 20px}.tp-btn-solid--white{background:var(--c-white);color:var(--c-maroon);font-size:var(--fs-90);padding:13px 32px}.tp-btn-outline{border:1.5px solid var(--c-maroon);color:var(--c-maroon);border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-82);cursor:pointer;background:0 0;padding:9px 22px;text-decoration:none;transition:background .2s}.tp-btn-outline:hover{background:var(--a-maroon-6)}.tp-btn-outline--cta{border:2px solid var(--a-white-60);color:var(--c-white)}.tp-grid-sec{padding:0}.tp-cta-section{text-align:center;padding:80px 5%}.tp-cta-section h2{font-family:var(--font-serif);color:var(--sec-heading);margin-bottom:14px;font-size:clamp(1.8rem,4vw,2.6rem)}.tp-cta-section p{color:var(--sec-text);font-size:var(--fs-100);max-width:560px;margin:0 auto 36px;line-height:1.7}@media (max-width:600px){.tp-grid{grid-template-columns:1fr;padding:40px 4%}}
