/* Blog archive, category archive and standard post styles. */
.tc-blog-page,
.tc-single-post { --tc-blog-red: #d71920; --tc-blog-ink: #1f2a3a; --tc-blog-copy: #536273; --tc-blog-line: #e7ebef; color: var(--tc-blog-ink); background: #fff; }
.tc-blog-hero { padding: clamp(3.5rem, 7vw, 6rem) 0; background: linear-gradient(135deg, #f8fafc 0%, #fff 68%); border-bottom: 1px solid var(--tc-blog-line); }
.tc-blog-hero__inner { max-width: 780px; margin: 0 auto; text-align: center; }
.tc-blog-eyebrow, .tc-blog-list-header__eyebrow, .tc-single-post__categories { margin: 0 0 .85rem; color: var(--tc-blog-red); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tc-blog-hero h1, .tc-blog-list-header h2, .tc-single-post h1 { margin: 0; color: var(--tc-blog-ink); font-size: clamp(2rem, 4.5vw, 3.6rem); line-height: 1.13; }
.tc-blog-hero__inner > p:last-child { max-width: 660px; margin: 1.25rem auto 0; color: var(--tc-blog-copy); font-size: clamp(1rem, 1.8vw, 1.16rem); line-height: 1.75; }
.tc-blog-content { padding: clamp(3rem, 6vw, 5.5rem) 0; }
.tc-blog-list-header { max-width: 720px; margin: 0 auto clamp(2rem, 4vw, 3.25rem); text-align: center; }
.tc-blog-list-header h2 { font-size: clamp(1.65rem, 3.2vw, 2.45rem); }
.tc-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.tc-blog-card { position: relative !important; min-width: 0; border: 1px solid var(--tc-blog-line); border-radius: 12px; background: #fff; box-shadow: 0 9px 24px rgba(31, 42, 58, .05); overflow: hidden; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.tc-blog-card:hover { transform: translateY(-4px); border-color: rgba(215, 25, 32, .42); box-shadow: 0 16px 32px rgba(31, 42, 58, .11); }
.tc-blog-card__link { display: flex; flex-direction: column; min-height: 100%; color: inherit !important; text-decoration: none; }
.tc-blog-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #eef2f4; }
.tc-blog-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tc-blog-card__content { display: flex; flex: 1 1 auto; flex-direction: column; padding: 1.7rem; }
.tc-blog-card__categories { display: block; min-height: 1.2rem; margin-bottom: .85rem; color: var(--tc-blog-red); font-size: .73rem; font-weight: 800; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.tc-blog-card__categories a { color: inherit; text-decoration: none; }
.tc-blog-card h3 { display: block; margin: 0; color: var(--tc-blog-ink) !important; font-size: 1.32rem; line-height: 1.35; visibility: visible !important; }
.tc-blog-card__excerpt { display: block; margin: 1rem 0 1.4rem; color: var(--tc-blog-copy) !important; line-height: 1.7; visibility: visible !important; }
.tc-blog-card__read-more { margin-top: auto; color: var(--tc-blog-red); font-weight: 800; }
.tc-study-blog-image-link { display: block !important; position: relative !important; z-index: 2 !important; }
.tc-study-blog-card-body { position: relative !important; z-index: 3 !important; display: flex !important; flex: 1 1 auto !important; flex-direction: column !important; min-height: 230px !important; padding: 1.7rem !important; background: #fff !important; visibility: visible !important; opacity: 1 !important; }
.tc-study-blog-card-category { display: block !important; min-height: 1.2rem; margin-bottom: .85rem; color: var(--tc-blog-red) !important; font-size: .73rem !important; font-weight: 800 !important; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; visibility: visible !important; opacity: 1 !important; }
.tc-study-blog-card-category a { color: inherit !important; text-decoration: none; }
.tc-study-blog-card-title { display: block !important; margin: 0 !important; color: var(--tc-blog-ink) !important; font-family: inherit !important; font-size: 1.32rem !important; font-weight: 800 !important; line-height: 1.35 !important; visibility: visible !important; opacity: 1 !important; }
.tc-study-blog-card-title a { display: block !important; color: var(--tc-blog-ink) !important; text-decoration: none !important; visibility: visible !important; opacity: 1 !important; }
.tc-study-blog-card-excerpt { display: block !important; margin: 1rem 0 1.4rem !important; color: var(--tc-blog-copy) !important; font-size: 1rem !important; line-height: 1.7 !important; visibility: visible !important; opacity: 1 !important; }
.tc-study-blog-card-read-more { display: block !important; margin-top: auto !important; color: var(--tc-blog-red) !important; font-weight: 800 !important; visibility: visible !important; opacity: 1 !important; }
.tc-blog-card__link:focus-visible, .tc-blog-card__categories a:focus-visible, .tc-single-post a:focus-visible { outline: 3px solid #d71920; outline-offset: 4px; border-radius: 3px; }
.tc-blog-empty { margin: 0; padding: 1.5rem; border: 1px solid var(--tc-blog-line); border-radius: 10px; color: var(--tc-blog-copy); text-align: center; }
.tc-single-post { padding: clamp(3rem, 6vw, 5.5rem) 0; }
.tc-single-post__inner { max-width: 820px; margin: 0 auto; }
.tc-single-post__header { margin-bottom: 2.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(--tc-blog-line); }
.tc-single-post__meta { margin: 1rem 0 0; color: var(--tc-blog-copy); font-size: .92rem; }
.tc-single-post__featured-image { margin: 0 0 2.5rem; overflow: hidden; border-radius: 12px; }
.tc-single-post__featured-image img { display: block; width: 100%; height: auto; }
.tc-single-post__content { color: var(--tc-blog-copy); font-size: 1.04rem; line-height: 1.8; }
.tc-single-post__content h2, .tc-single-post__content h3 { margin: 2.2rem 0 .75rem; color: var(--tc-blog-ink); line-height: 1.3; }
.tc-single-post__content h2 { font-size: clamp(1.45rem, 3vw, 2rem); }
.tc-single-post__content h3 { font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
.tc-single-post__content p, .tc-single-post__content ul, .tc-single-post__content ol { margin: 0 0 1.15rem; }
.tc-single-post__content li + li { margin-top: .5rem; }
.tc-single-post__content a { color: var(--tc-blog-red); font-weight: 700; }

/* Keep common chat plugins as compact floating controls, never page-sized artwork. */
body .joinchat, body .joinchat__button, body .qlwapp, body #qlwapp, body .wa__btn_popup, body .floating-wpp, body .ht_ctc_chat, body #ht-ctc-chat, body .ht_ctc_chat_style, body .chaty-widget, body #chaty-widget, body #chaty-widget-0, body .whatsapp-chat, body #whatsapp-chat, body .chat-with-us { position: fixed !important; right: 1.25rem !important; bottom: 1.25rem !important; z-index: 9999 !important; width: auto !important; max-width: calc(100vw - 2.5rem) !important; height: auto !important; }
body .joinchat svg, body .joinchat__button svg, body .qlwapp svg, body #qlwapp svg, body .wa__btn_popup svg, body .floating-wpp svg, body .ht_ctc_chat svg, body #ht-ctc-chat svg, body .ht_ctc_chat_style svg, body .chaty-widget svg, body #chaty-widget svg, body #chaty-widget-0 svg, body .whatsapp-chat svg, body #whatsapp-chat svg, body .chat-with-us svg { width: 1.5rem !important; height: 1.5rem !important; max-width: 1.5rem !important; max-height: 1.5rem !important; }
@media (max-width: 960px) { .tc-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .tc-blog-grid { grid-template-columns: minmax(0, 1fr); } .tc-blog-card__content, .tc-study-blog-card-body { padding: 1.4rem !important; } body .joinchat, body .joinchat__button, body .qlwapp, body #qlwapp, body .wa__btn_popup, body .floating-wpp, body .ht_ctc_chat, body #ht-ctc-chat, body .ht_ctc_chat_style, body .chaty-widget, body #chaty-widget, body #chaty-widget-0, body .whatsapp-chat, body #whatsapp-chat, body .chat-with-us { right: .85rem !important; bottom: .85rem !important; } }
@media (prefers-reduced-motion: reduce) { .tc-blog-card { transition: none; } .tc-blog-card:hover { transform: none; } }
