/* Tagify public entity / marketing pages */
:root {
    --tf-green: #65c97a;
    --tf-blue: #0066ff;
    --tf-blue-deep: #0056b3;
    --tf-ink: #1a1f2e;
    --tf-muted: #5b6475;
    --tf-bg: #f4f7fb;
    --tf-card: #ffffff;
    --tf-line: rgba(26, 31, 46, 0.08);
}

.tf-entity {
    color: var(--tf-ink);
    background:
        radial-gradient(1200px 480px at 10% -10%, rgba(101, 201, 122, 0.18), transparent 60%),
        radial-gradient(900px 420px at 90% 0%, rgba(0, 102, 255, 0.12), transparent 55%),
        linear-gradient(180deg, #eef5ff 0%, #ffffff 42%, var(--tf-bg) 100%);
}

.tf-entity-hero {
    padding: 2.5rem 0 2rem;
}

.tf-entity-hero--article {
    padding-bottom: 1.25rem;
}

.tf-brand-mark {
    margin: 0 0 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tf-blue-deep);
}

.tf-entity h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1rem;
    max-width: 18ch;
}

.tf-lead {
    font-size: 1.15rem;
    line-height: 1.6;
    color: var(--tf-muted);
    max-width: 42rem;
    margin: 0 0 1.5rem;
}

.tf-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
    color: var(--tf-muted);
}

.tf-breadcrumb a {
    color: var(--tf-blue-deep);
    text-decoration: none;
}

.tf-breadcrumb a:hover {
    text-decoration: underline;
}

.tf-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.tf-cta-row--flush {
    margin-top: 2rem;
}

.tf-entity-section {
    padding: 1.5rem 0 3rem;
}

.tf-entity-section--muted {
    background: rgba(255, 255, 255, 0.55);
    border-top: 1px solid var(--tf-line);
}

.tf-entity-section h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 1.25rem;
}

.tf-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.85rem;
    max-width: 44rem;
}

.tf-bullet-list li {
    position: relative;
    padding-left: 1.5rem;
    line-height: 1.55;
    color: var(--tf-muted);
}

.tf-bullet-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--tf-green);
}

.tf-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 768px) {
    .tf-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .tf-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.tf-entity-card {
    display: block;
    background: var(--tf-card);
    border: 1px solid var(--tf-line);
    border-radius: 12px;
    padding: 1.25rem 1.35rem;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    min-height: 8rem;
}

.tf-entity-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 102, 255, 0.28);
    box-shadow: 0 10px 28px rgba(26, 31, 46, 0.08);
    color: inherit;
}

.tf-entity-card h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: var(--tf-ink);
}

.tf-entity-card p {
    margin: 0;
    color: var(--tf-muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.tf-article-body {
    max-width: 44rem;
}

.tf-article-body h2 {
    margin-top: 1.75rem;
}

.tf-article-body p {
    color: var(--tf-muted);
    line-height: 1.7;
    font-size: 1.05rem;
}

.tf-sitemap-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
}

@media (min-width: 768px) {
    .tf-sitemap-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .tf-sitemap-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.tf-sitemap-group h2 {
    font-size: 1.15rem;
    margin-bottom: 0.75rem;
}

.tf-sitemap-group ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tf-sitemap-group li {
    margin-bottom: 0.45rem;
}

.tf-sitemap-group a {
    color: var(--tf-blue-deep);
    text-decoration: none;
}

.tf-sitemap-group a:hover {
    text-decoration: underline;
}

.tf-entity .btn {
    border-radius: 999px;
    padding: 0.7rem 1.25rem;
    font-weight: 600;
    min-height: 44px;
}

.tf-entity .btn-primary {
    background: var(--tf-blue);
    border-color: var(--tf-blue);
}

.tf-entity .btn-outline-primary {
    color: var(--tf-blue-deep);
    border-color: rgba(0, 86, 179, 0.35);
}
