.team-public-page{
            --tp-red:#dc3545;
            --tp-red-dark:#b42333;
            --tp-text:#1f2937;
            --tp-muted:#6b7280;
            --tp-border:#e5e7eb;
            --tp-soft:#f8fafc;
            --tp-shadow:0 16px 38px rgba(15,23,42,.08);
        }

        .team-public-page .team-hero,
        .team-public-page .team-main-card{
            border-radius:1.5rem;
            box-shadow:var(--tp-shadow);
            overflow:hidden;
            background:#fff;
        }

        .team-public-page .team-hero{
            background:
                    radial-gradient(circle at top right, rgba(220,53,69,.10), transparent 28%),
                    linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
        }

        .team-public-page .section-kicker{
            display:inline-block;
            font-size:.82rem;
            text-transform:uppercase;
            letter-spacing:.12em;
            font-weight:800;
            color:var(--tp-red);
            margin-bottom:.75rem;
        }

        .team-public-page .hero-actions{
            display:flex;
            flex-wrap:wrap;
            gap:.75rem;
            margin-top:1rem;
        }

        .team-public-page .hero-info-card{
            min-width:240px;
            max-width:320px;
            background:#fff;
            border:1px solid var(--tp-border);
            border-radius:1.2rem;
            padding:1rem 1.1rem;
            color:var(--tp-text);
        }

        .team-public-page .hero-info-title{
            font-size:.78rem;
            text-transform:uppercase;
            letter-spacing:.08em;
            color:var(--tp-muted);
            font-weight:800;
            margin-bottom:.45rem;
        }

        .team-public-page .team-count-badge{
            display:inline-flex;
            align-items:center;
            padding:.55rem .95rem;
            border-radius:999px;
            background:#fff1f2;
            color:var(--tp-red-dark);
            border:1px solid rgba(220,53,69,.12);
            font-weight:700;
        }

        .team-public-page .team-grid{
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
            gap:1.25rem;
        }

        .team-public-page .contact-card-new{
            border:1px solid var(--tp-border);
            border-radius:1.2rem;
            background:linear-gradient(180deg, #fff 0%, #fafbfc 100%);
            overflow:hidden;
            height:100%;
            display:flex;
            flex-direction:column;
        }

        .team-public-page .contact-photo-wrap{
            position:relative;
        }

        .team-public-page .contact-photo{
            width:100%;
            height:260px;
            object-fit:cover;
            display:block;
            background:#fff;
        }

        .team-public-page .contact-photo-placeholder{
            width:100%;
            height:260px;
            display:flex;
            align-items:center;
            justify-content:center;
            background:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
            color:#9ca3af;
            font-size:4.2rem;
        }

        .team-public-page .contact-primary-badge{
            position:absolute;
            left:1rem;
            bottom:1rem;
            display:inline-flex;
            align-items:center;
            padding:.45rem .8rem;
            border-radius:999px;
            background:rgba(220,53,69,.95);
            color:#fff;
            font-weight:700;
            font-size:.82rem;
            box-shadow:0 10px 22px rgba(220,53,69,.20);
        }

        .team-public-page .contact-content{
            padding:1.15rem;
            display:flex;
            flex-direction:column;
            gap:.55rem;
        }

        .team-public-page .contact-name{
            font-size:1.08rem;
            font-weight:800;
            color:var(--tp-text);
            margin:0;
        }

        .team-public-page .contact-role{
            display:inline-flex;
            align-self:flex-start;
            padding:.4rem .75rem;
            border-radius:999px;
            background:#fff1f2;
            color:var(--tp-red-dark);
            font-weight:700;
            font-size:.85rem;
        }

        .team-public-page .contact-department{
            color:var(--tp-muted);
            font-size:.95rem;
        }

        .team-public-page .contact-links{
            display:grid;
            gap:.55rem;
            margin-top:.25rem;
        }

        .team-public-page .contact-link{
            display:flex;
            align-items:center;
            gap:.55rem;
            text-decoration:none;
            color:var(--tp-text);
            font-size:.95rem;
            word-break:break-word;
        }

        .team-public-page .contact-link i{
            color:var(--tp-red);
        }

        .team-public-page .contact-link:hover{
            color:var(--tp-red-dark);
        }

        .team-public-page .contact-notes{
            color:var(--tp-muted);
            font-size:.95rem;
            line-height:1.65;
            border-top:1px solid var(--tp-border);
            margin-top:.4rem;
            padding-top:.9rem;
        }

        .team-public-page .empty-note{
            padding:1rem 1.1rem;
            border:1px dashed #ddd;
            border-radius:1rem;
            background:#fafafa;
            color:#6c757d;
        }

        @media (max-width: 767.98px){
            .team-public-page .contact-photo,
            .team-public-page .contact-photo-placeholder{
                height:220px;
            }
        }
