/*
Theme Name:   The Stem Cells Institute
Theme URI:    https://thestemcellsinstitute.com/
Description:  Custom theme for The Stem Cells Institute — hand-coded clinical architecture, zero page builder dependencies.
Author:       The Stem Cells Institute
Author URI:   https://thestemcellsinstitute.com/
 * Template:     kadence
 * Version:      1.0.7
 * Text Domain:  tsci-kadence-child
*/

/* ============================================================ */
/* GLOBAL COLOR TOKENS                                          */
/* Single source of truth — referenced via var(--tsci-*)        */
/* from header.php, footer.php, and every section's CSS.        */
/* ============================================================ */
:root {
	--tsci-primary: #1159AF;
	--tsci-primary-dark: #0C3F7D;
	--tsci-primary-bg: #F2F6FC;
	--tsci-primary-tint: #DCE9F8;
	--tsci-primary-tint-border: #B8D0EE;

	--tsci-accent: #8A4570;
	--tsci-accent-dark: #5C2C4A;
	--tsci-accent-tint: #F2E4EC;
	--tsci-accent-tint-border: #E3C7D6;

	--tsci-ink: #101828;
	--tsci-text: #475467;
	--tsci-border: #E4E7EC;

	/* Site-wide Content Grid Tokens */
	--tsci-max-width: 1280px;
	--tsci-gutter: 24px;
}

/* ============================================================ */
/* GLOBAL CONTAINER SYSTEM (1280px Maximum Content Width)       */
/* ============================================================ */
.tsci-container {
	width: 100% !important;
	max-width: var(--tsci-max-width, 1280px) !important;
	margin-inline: auto !important;
	padding-inline: var(--tsci-gutter, 24px) !important;
	box-sizing: border-box !important;
}

/* Site-wide Header & Footer Content Boundary */
.tsci-topbar-inner,
.tsci-header-inner,
.tsci-footer-inner,
.tsci-footer-cta-inner,
.tsci-footer-bottom-inner {
	max-width: var(--tsci-max-width, 1280px) !important;
	width: 100% !important;
	margin-inline: auto !important;
	padding-inline: var(--tsci-gutter, 24px) !important;
	box-sizing: border-box !important;
}

@media (max-width: 639px) {
	:root {
		--tsci-gutter: 16px;
	}
	.tsci-topbar-inner,
	.tsci-header-inner,
	.tsci-footer-inner,
	.tsci-footer-cta-inner,
	.tsci-footer-bottom-inner {
		padding-inline: 16px !important;
	}
}

/* Page/section-level CSS below lives here because it's shared across
   multiple pages (blog archive + every single post). One-off page
   sections (homepage hero, etc.) live in their own Custom HTML blocks
   instead of this file. */


/* ============================================================ */
/* THE STEM CELLS INSTITUTE - BLOG & RESOURCE ARCHIVE SYSTEM    */
/* Hand-crafted clinical publication architecture               */
/* ============================================================ */

/* Hide Kadence Default Entry Hero on Blog & Archive Pages */
.blog .entry-hero,
.archive .entry-hero,
.search-results .entry-hero {
    display: none !important;
}

/* Page Outer Wrapper */
.tsci-blog-page-wrapper {
    width: 100% !important;
    background-color: #F8FAFD !important;
    overflow-x: hidden !important;
}

/* ------------------------------------------------------------ */
/* 1. EDITORIAL HERO SECTION (Deep Biocellular Horizon)         */
/* ------------------------------------------------------------ */
.tsci-blog-hero-section {
    position: relative !important;
    width: 100% !important;
    padding: 5.5rem 1.5rem 5rem 1.5rem !important;
    text-align: center !important;
    overflow: hidden !important;
    background:
        radial-gradient(120% 90% at 50% -10%, rgba(138, 69, 112, 0.08) 0%, rgba(17, 89, 175, 0.06) 38%, rgba(242, 246, 252, 0.90) 72%, #FFFFFF 100%),
        linear-gradient(180deg, #F8FAFD 0%, #FFFFFF 100%) !important;
    border-bottom: 1px solid var(--tsci-border, #E4E7EC) !important;
}

/* Luminous Horizon Atmospheric Layers */
.tsci-blog-hero-section::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100% !important;
    background:
        radial-gradient(circle at 18% 40%, rgba(17, 89, 175, 0.045) 0%, transparent 48%),
        radial-gradient(circle at 82% 35%, rgba(138, 69, 112, 0.05) 0%, transparent 48%),
        radial-gradient(circle at 50% 65%, rgba(255, 255, 255, 0.8) 0%, transparent 60%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.tsci-blog-hero-inner {
    position: relative !important;
    z-index: 2 !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Editorial Category Badge */
.tsci-blog-hero-badge-wrap {
    margin-bottom: 1.25rem !important;
}

.tsci-blog-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    color: var(--tsci-accent, #8A4570) !important;
    border: 1px solid rgba(138, 69, 112, 0.22) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.813rem !important;
    font-weight: 700 !important;
    padding: 0.45rem 1.15rem !important;
    border-radius: 9999px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 8px -2px rgba(138, 69, 112, 0.12) !important;
}

.tsci-blog-badge-icon {
    width: 14px !important;
    height: 14px !important;
    color: var(--tsci-accent, #8A4570) !important;
    flex-shrink: 0 !important;
}

/* Hero Title */
.tsci-blog-hero-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 3.25rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    line-height: 1.18 !important;
    margin: 0 0 1.25rem 0 !important;
    letter-spacing: -0.025em !important;
    text-wrap: balance !important;
}

/* Hero Subtitle */
.tsci-blog-hero-subtitle {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    color: var(--tsci-text, #475467) !important;
    line-height: 1.65 !important;
    margin: 0 0 2.25rem 0 !important;
    max-width: 740px !important;
}

/* ------------------------------------------------------------ */
/* Search Bar in Hero                                           */
/* ------------------------------------------------------------ */
.tsci-blog-search-container {
    width: 100% !important;
    max-width: 580px !important;
    margin: 0 auto 2rem auto !important;
}

.tsci-blog-search-form {
    width: 100% !important;
    margin: 0 !important;
}

.tsci-blog-search-input-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 9999px !important;
    padding: 0.35rem 0.4rem 0.35rem 1.25rem !important;
    box-shadow: 0 8px 24px -4px rgba(17, 89, 175, 0.08), 0 2px 6px -1px rgba(16, 24, 40, 0.04) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.tsci-blog-search-input-wrap:focus-within {
    border-color: var(--tsci-primary, #1159AF) !important;
    box-shadow: 0 0 0 4px rgba(17, 89, 175, 0.12), 0 8px 24px -4px rgba(17, 89, 175, 0.12) !important;
}

.tsci-search-icon {
    width: 18px !important;
    height: 18px !important;
    color: #98A2B3 !important;
    flex-shrink: 0 !important;
    margin-right: 0.75rem !important;
}

.tsci-blog-search-input {
    flex-grow: 1 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.938rem !important;
    color: var(--tsci-ink, #101828) !important;
    padding: 0.5rem 0.5rem 0.5rem 0 !important;
    box-shadow: none !important;
}

.tsci-blog-search-input::placeholder {
    color: #98A2B3 !important;
}

.tsci-blog-search-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    background: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 9999px !important;
    padding: 0.65rem 1.35rem !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.15s ease !important;
    flex-shrink: 0 !important;
}

.tsci-blog-search-btn:hover {
    background: var(--tsci-primary-dark, #0C3F7D) !important;
    transform: scale(1.02) !important;
}

/* ------------------------------------------------------------ */
/* Category / Topic Filter Pills                                */
/* ------------------------------------------------------------ */
.tsci-blog-category-nav {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.tsci-blog-filter-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    justify-content: center !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.tsci-filter-item {
    margin: 0 !important;
    padding: 0 !important;
}

.tsci-filter-pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.45rem 1.1rem !important;
    background: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 9999px !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.844rem !important;
    font-weight: 600 !important;
    color: var(--tsci-text, #475467) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.04) !important;
}

.tsci-filter-pill:hover {
    color: var(--tsci-accent, #8A4570) !important;
    border-color: var(--tsci-accent-tint-border, #E3C7D6) !important;
    background: var(--tsci-accent-tint, #F2E4EC) !important;
}

.tsci-filter-pill.is-active {
    background: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    border-color: var(--tsci-primary, #1159AF) !important;
    box-shadow: 0 2px 8px -1px rgba(17, 89, 175, 0.25) !important;
}

/* ------------------------------------------------------------ */
/* 2. MAIN BLOG CONTENT AREA                                    */
/* ------------------------------------------------------------ */
.tsci-blog-main-content {
    padding: 3.5rem 0 6rem 0 !important;
    background-color: #F8FAFD !important;
    width: 100% !important;
    display: block !important;
}

/* ------------------------------------------------------------ */
/* FEATURED ARTICLE SPOTLIGHT (Page 1 Only)                     */
/* ------------------------------------------------------------ */
.tsci-featured-article-card {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    background: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.5rem !important;
    overflow: hidden !important;
    box-shadow: 0 12px 32px -4px rgba(17, 89, 175, 0.06), 0 4px 12px -2px rgba(16, 24, 40, 0.03) !important;
    margin-bottom: 3.5rem !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.tsci-featured-article-card:hover {
    transform: translateY(-4px) !important;
    border-color: var(--tsci-primary-tint-border, #B8D0EE) !important;
    box-shadow: 0 22px 40px -6px rgba(17, 89, 175, 0.12), 0 8px 16px -4px rgba(16, 24, 40, 0.04) !important;
}

.tsci-featured-thumb-wrap {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 340px !important;
    background: var(--tsci-primary-bg, #F2F6FC) !important;
    overflow: hidden !important;
}

.tsci-featured-thumb-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.tsci-featured-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tsci-featured-article-card:hover .tsci-featured-img {
    transform: scale(1.03) !important;
}

.tsci-featured-spotlight-badge {
    position: absolute !important;
    top: 1.25rem !important;
    left: 1.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    background: rgba(16, 24, 40, 0.85) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    color: #FCD34D !important;
    border: 1px solid rgba(252, 211, 77, 0.35) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.35rem 0.85rem !important;
    border-radius: 9999px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

.tsci-featured-body {
    padding: 2.75rem 2.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.tsci-featured-meta-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.6rem !important;
    margin-bottom: 1rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.813rem !important;
    color: #667085 !important;
}

.tsci-card-cat-pill {
    display: inline-block !important;
    background: var(--tsci-accent-tint, #F2E4EC) !important;
    color: var(--tsci-accent, #8A4570) !important;
    border: 1px solid rgba(138, 69, 112, 0.22) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 9999px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.tsci-meta-bullet {
    color: #D0D5DD !important;
    font-size: 0.875rem !important;
}

.tsci-featured-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
}

.tsci-featured-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.85rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 1rem 0 !important;
    letter-spacing: -0.015em !important;
}

.tsci-featured-title a {
    color: var(--tsci-ink, #101828) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.tsci-featured-title a:hover {
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-featured-excerpt {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 0 1.75rem 0 !important;
}

.tsci-featured-cta-row {
    margin-top: auto !important;
}

.tsci-btn-featured-read {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.938rem !important;
    font-weight: 700 !important;
    padding: 0.75rem 1.6rem !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 4px 14px -2px rgba(17, 89, 175, 0.35) !important;
}

.tsci-btn-featured-read:hover {
    background: var(--tsci-primary-dark, #0C3F7D) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px -2px rgba(17, 89, 175, 0.45) !important;
    color: #FFFFFF !important;
}

/* ------------------------------------------------------------ */
/* SECTION HEADER FOR ARTICLE GRID                             */
/* ------------------------------------------------------------ */
.tsci-blog-grid-header {
    margin-bottom: 2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 2px solid var(--tsci-border, #E4E7EC) !important;
    padding-bottom: 1rem !important;
}

.tsci-grid-section-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
    letter-spacing: -0.01em !important;
}

/* ------------------------------------------------------------ */
/* 3-COLUMN RESPONSIVE ARTICLE GRID                             */
/* ------------------------------------------------------------ */
.tsci-blog-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
}

.tsci-blog-card {
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.25rem !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: 0 4px 12px -2px rgba(16, 24, 40, 0.04) !important;
    width: 100% !important;
}

.tsci-blog-card:hover {
    transform: translateY(-6px) !important;
    border-color: var(--tsci-accent-tint-border, #E3C7D6) !important;
    box-shadow: 0 20px 30px -5px rgba(17, 89, 175, 0.08), 0 10px 15px -5px rgba(138, 69, 112, 0.06) !important;
}

/* Card Thumbnail Frame */
.tsci-card-thumb {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    overflow: hidden !important;
    display: block !important;
}

.tsci-thumb-frame {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.tsci-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tsci-blog-card:hover .tsci-thumb-img {
    transform: scale(1.04) !important;
}

/* Card Category Overlay Badge */
.tsci-card-category {
    position: absolute !important;
    top: 0.85rem !important;
    left: 0.85rem !important;
    background-color: rgba(242, 228, 236, 0.94) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    color: var(--tsci-accent, #8A4570) !important;
    border: 1px solid rgba(138, 69, 112, 0.25) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.688rem !important;
    font-weight: 700 !important;
    padding: 0.3rem 0.75rem !important;
    border-radius: 9999px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

/* Card Body Content */
.tsci-card-content {
    padding: 1.65rem 1.65rem 1.5rem 1.65rem !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    box-sizing: border-box !important;
}

.tsci-card-meta {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.813rem !important;
    color: #667085 !important;
    font-weight: 500 !important;
    margin-bottom: 0.75rem !important;
}

.tsci-card-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
}

.tsci-card-meta-sep {
    color: #D0D5DD !important;
}

.tsci-card-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.188rem !important;
    line-height: 1.4 !important;
    color: var(--tsci-ink, #101828) !important;
    font-weight: 700 !important;
    margin: 0 0 0.85rem 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.tsci-card-title a {
    color: var(--tsci-ink, #101828) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.tsci-card-title a:hover {
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-card-excerpt p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.938rem !important;
    line-height: 1.55 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 0 1.5rem 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.tsci-card-footer {
    margin-top: auto !important;
    padding-top: 1rem !important;
    border-top: 1px solid #F2F4F7 !important;
}

.tsci-card-readmore {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    color: var(--tsci-primary, #1159AF) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.tsci-card-readmore svg {
    width: 15px !important;
    height: 15px !important;
    transition: transform 0.2s ease !important;
}

.tsci-blog-card:hover .tsci-card-readmore {
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-blog-card:hover .tsci-card-readmore svg {
    transform: translateX(4px) !important;
}

/* ------------------------------------------------------------ */
/* 4. MODERN ACCESSIBLE NUMERIC PAGINATION                      */
/* ------------------------------------------------------------ */
.tsci-blog-pagination {
    margin-top: 4.5rem !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.tsci-blog-pagination ul {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.tsci-blog-pagination .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 1rem !important;
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 0.65rem !important;
    color: var(--tsci-text, #475467) !important;
    font-family: 'Work Sans', sans-serif !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: 0.938rem !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.04) !important;
}

.tsci-blog-pagination a.page-numbers:hover {
    border-color: var(--tsci-accent-tint-border, #E3C7D6) !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    color: var(--tsci-accent-dark, #5C2C4A) !important;
}

.tsci-blog-pagination .page-numbers.current {
    background-color: var(--tsci-primary, #1159AF) !important;
    border-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    box-shadow: 0 2px 8px -1px rgba(17, 89, 175, 0.3) !important;
}

/* ------------------------------------------------------------ */
/* EMPTY STATE CARD                                             */
/* ------------------------------------------------------------ */
.tsci-no-posts-card {
    text-align: center !important;
    padding: 5rem 2rem !important;
    background: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.5rem !important;
    max-width: 600px !important;
    margin: 2rem auto !important;
    box-shadow: 0 8px 24px -4px rgba(17, 89, 175, 0.05) !important;
}

.tsci-no-posts-icon {
    width: 68px !important;
    height: 68px !important;
    margin: 0 auto 1.5rem auto !important;
    background: var(--tsci-primary-bg, #F2F6FC) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tsci-no-posts-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 0.75rem 0 !important;
}

.tsci-no-posts-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1rem !important;
    color: var(--tsci-text, #475467) !important;
    line-height: 1.6 !important;
    margin: 0 0 2rem 0 !important;
}

.tsci-no-posts-actions {
    display: flex !important;
    gap: 1rem !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* ------------------------------------------------------------ */
/* 5. PRE-FOOTER CLINICAL CONSULTATION BRIDGE                   */
/* ------------------------------------------------------------ */
.tsci-blog-consult-banner {
    margin-top: 5rem !important;
    background: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.5rem !important;
    padding: 3rem 2.5rem !important;
    box-shadow: 0 12px 30px -4px rgba(17, 89, 175, 0.06) !important;
    position: relative !important;
    overflow: hidden !important;
}

.tsci-blog-consult-banner::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 6px !important;
    height: 100% !important;
    background: linear-gradient(180deg, var(--tsci-accent, #8A4570) 0%, var(--tsci-primary, #1159AF) 100%) !important;
}

.tsci-blog-consult-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 2.5rem !important;
    position: relative !important;
    z-index: 2 !important;
}

.tsci-blog-consult-content {
    max-width: 680px !important;
}

.tsci-consult-badge-wrap {
    margin-bottom: 0.75rem !important;
}

.tsci-consult-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    color: var(--tsci-accent, #8A4570) !important;
    border: 1px solid rgba(138, 69, 112, 0.22) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.35rem 0.85rem !important;
    border-radius: 9999px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.tsci-blog-consult-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    line-height: 1.25 !important;
    margin: 0 0 0.65rem 0 !important;
    letter-spacing: -0.015em !important;
}

.tsci-blog-consult-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.969rem !important;
    line-height: 1.6 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

.tsci-blog-consult-actions {
    display: flex !important;
    align-items: center !important;
    gap: 0.85rem !important;
    flex-shrink: 0 !important;
    flex-wrap: wrap !important;
}

.tsci-btn-consult-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    background: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.906rem !important;
    font-weight: 700 !important;
    padding: 0.75rem 1.45rem !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 4px 12px -2px rgba(17, 89, 175, 0.3) !important;
}

.tsci-btn-consult-primary:hover {
    background: var(--tsci-primary-dark, #0C3F7D) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px -2px rgba(17, 89, 175, 0.4) !important;
    color: #FFFFFF !important;
}

.tsci-btn-consult-secondary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    background: #FFFFFF !important;
    color: var(--tsci-ink, #101828) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.906rem !important;
    font-weight: 700 !important;
    padding: 0.75rem 1.35rem !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.tsci-btn-consult-secondary:hover {
    background: var(--tsci-accent-tint, #F2E4EC) !important;
    border-color: var(--tsci-accent-tint-border, #E3C7D6) !important;
    color: var(--tsci-accent-dark, #5C2C4A) !important;
}

/* ------------------------------------------------------------ */
/* RESPONSIVE MEDIA QUERIES                                     */
/* ------------------------------------------------------------ */
@media (max-width: 1024px) {
    .tsci-blog-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }
    .tsci-featured-article-card {
        grid-template-columns: 1fr !important;
    }
    .tsci-featured-thumb-wrap {
        min-height: 280px !important;
        max-height: 380px !important;
    }
    .tsci-featured-body {
        padding: 2.25rem 2rem !important;
    }
    .tsci-blog-consult-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

@media (max-width: 768px) {
    .tsci-blog-hero-section {
        padding: 4.25rem 1.25rem 3.75rem 1.25rem !important;
    }
    .tsci-blog-hero-title {
        font-size: 2.5rem !important;
    }
    .tsci-blog-hero-subtitle {
        font-size: 1.05rem !important;
    }
    .tsci-blog-consult-banner {
        padding: 2.25rem 1.75rem !important;
    }
    .tsci-blog-consult-title {
        font-size: 1.45rem !important;
    }
}

@media (max-width: 640px) {
    .tsci-blog-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    .tsci-blog-hero-title {
        font-size: 2.15rem !important;
    }
    .tsci-featured-body {
        padding: 1.75rem 1.25rem !important;
    }
    .tsci-featured-title {
        font-size: 1.45rem !important;
    }
    .tsci-featured-excerpt {
        font-size: 0.95rem !important;
    }
    .tsci-blog-consult-banner {
        padding: 2rem 1.5rem !important;
    }
    .tsci-blog-consult-title {
        font-size: 1.35rem !important;
    }
    .tsci-blog-consult-actions {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .tsci-btn-consult-primary,
    .tsci-btn-consult-secondary {
        justify-content: center !important;
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .tsci-blog-hero-title {
        font-size: 1.85rem !important;
    }
    .tsci-blog-search-input-wrap {
        flex-direction: column !important;
        padding: 0.5rem !important;
        border-radius: 1rem !important;
    }
    .tsci-blog-search-input {
        width: 100% !important;
        padding: 0.5rem 0.5rem !important;
        text-align: center !important;
    }
    .tsci-search-icon {
        display: none !important;
    }
    .tsci-blog-search-btn {
        width: 100% !important;
        justify-content: center !important;
        border-radius: 0.65rem !important;
    }
    .tsci-card-content {
        padding: 1.25rem !important;
    }
}



/* ============================================================ */
/* THE STEM CELLS INSTITUTE - SINGLE POST PAGE                  */
/* ============================================================ */

.tsci-post-area {
    background-color: var(--tsci-primary-bg, #F2F6FC);
    width: 100%;
}

.tsci-post-hero {
    padding: 6.5rem 1.5rem !important;
    background: linear-gradient(135deg, var(--tsci-primary-dark, #0C3F7D) 0%, var(--tsci-primary, #1159AF) 100%) !important;
    color: #FFFFFF !important;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.tsci-post-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: url('data:image/svg+xml,%3Csvg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%23ffffff" fill-opacity="0.05"%3E%3Cpath d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');
    opacity: 0.9;
    z-index: 1;
    pointer-events: none;
}

.tsci-post-hero-container {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.tsci-post-hero-cat {
    display: inline-block;
    background-color: rgba(255,255,255,0.16);
    border: 1px solid rgba(255,255,255,0.3);
    color: #FFFFFF;
    font-family: 'Work Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 0.35rem 1rem;
    border-radius: 2rem;
    margin-bottom: 1.5rem;
    letter-spacing: 0.05em;
}

.tsci-post-entry-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    color: #FFFFFF !important;
    margin: 0 0 1.5rem 0 !important;
}

@media (min-width: 768px) {
    .tsci-post-entry-title { font-size: 3.1rem !important; }
}

.tsci-post-hero-meta-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    font-family: 'Work Sans', sans-serif;
    font-size: 0.938rem;
    color: var(--tsci-primary-tint, #DCE9F8);
}

.tsci-post-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.tsci-post-meta-item svg {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
}

.tsci-post-layout-wrapper {
    max-width: 1280px;
    margin-inline: auto;
    width: 100%;
    padding: 4rem 1.5rem;
    box-sizing: border-box;
}

.tsci-post-main-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3.5rem;
}

@media (min-width: 1024px) {
    .tsci-post-main-grid {
        grid-template-columns: 7fr 3.5fr;
    }
}

.tsci-post-article-content {
    background-color: #FFFFFF;
    border: 1px solid var(--tsci-border, #E4E7EC);
    border-radius: 1.5rem;
    padding: 2rem 1.5rem;
}

@media (min-width: 768px) {
    .tsci-post-article-content { padding: 3.5rem; }
}

.tsci-post-featured-image-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 2.5rem 0 !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(12, 63, 125, 0.08);
}

.tsci-post-featured-img {
    width: 100% !important;
    height: auto !important;
    max-height: 480px !important;
    object-fit: cover !important;
    display: block !important;
}

.tsci-post-content-body {
    font-family: 'Work Sans', sans-serif;
    font-size: 1.063rem;
    line-height: 1.85;
    color: #33453F;
}

.tsci-post-content-body h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.85rem !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 2.5rem 0 1.25rem 0 !important;
    font-weight: 700 !important;
}

.tsci-post-content-body h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.45rem !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 2rem 0 1rem 0 !important;
    font-weight: 700 !important;
}

.tsci-post-content-body p {
    margin: 0 0 1.5rem 0 !important;
}

.tsci-post-content-body a {
    color: var(--tsci-primary, #1159AF) !important;
    text-decoration: none !important;
    border-bottom: none !important;
    transition: color 0.2s ease !important;
}

.tsci-post-content-body a:hover {
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-post-content-body ul, .tsci-post-content-body ol {
    margin: 0 0 1.75rem 1.5rem !important;
    padding: 0 !important;
}

.tsci-post-content-body ul { list-style-type: disc !important; }
.tsci-post-content-body ol { list-style-type: decimal !important; }

.tsci-post-content-body li {
    margin-bottom: 0.5rem !important;
    display: list-item !important;
}

.tsci-post-sidebar-column {
    width: 100%;
}

.tsci-post-sticky-form-card {
    position: -webkit-sticky;
    position: sticky;
    top: 110px !important;
    background: #FFFFFF;
    border: 1px solid var(--tsci-border, #E4E7EC);
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 10px 25px -5px rgba(12, 63, 125, 0.05);
    transition: top 0.3s ease !important;
}

.tsci-post-form-header-banner {
    background-color: var(--tsci-primary-dark, #0C3F7D);
    padding: 1.75rem;
    text-align: center;
    color: #FFFFFF;
}

.tsci-post-form-header-banner h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.25rem !important;
    color: #FFFFFF !important;
    margin: 0 0 0.25rem 0 !important;
    font-weight: 700 !important;
}

.tsci-post-form-header-banner p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.875rem !important;
    color: var(--tsci-primary-tint, #DCE9F8) !important;
    margin: 0 !important;
}

.tsci-post-form-wrapper {
    padding: 2rem 1.75rem;
}

.tsci-post-form {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.tsci-post-form-field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.tsci-post-form-field label {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--tsci-text, #475467);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.tsci-post-form-field input,
.tsci-post-form-field textarea,
.tsci-post-form-field select {
    width: 100% !important;
    box-sizing: border-box;
    padding: 0.75rem 1rem !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 8px !important;
    font-size: 0.938rem !important;
    color: var(--tsci-ink, #101828) !important;
    outline: none !important;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    font-family: 'Work Sans', sans-serif;
}

.tsci-post-form-field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475467'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.1rem;
    padding-right: 2.5rem !important;
    cursor: pointer;
}

.tsci-post-form-field input:focus,
.tsci-post-form-field textarea:focus,
.tsci-post-form-field select:focus {
    border-color: var(--tsci-accent, #8A4570) !important;
    background-color: #FFFFFF !important;
}

.tsci-post-form-group-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.tsci-post-form-field-checkbox {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin-top: 0.25rem;
}

.tsci-post-form-field-checkbox input[type="checkbox"] {
    margin-top: 0.2rem !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    accent-color: var(--tsci-primary, #1159AF);
    cursor: pointer;
    flex-shrink: 0;
}

.tsci-post-form-field-checkbox label {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.75rem !important;
    line-height: 1.45 !important;
    color: var(--tsci-text, #475467) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer;
    user-select: none;
}

.tsci-post-form-submit-btn {
    width: 100% !important;
    padding: 0.9rem !important;
    background-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-size: 0.938rem !important;
    transition: background-color 0.2s ease !important;
    margin-top: 0.25rem;
}

.tsci-post-form-submit-btn:hover {
    background-color: var(--tsci-accent, #8A4570) !important;
}

.tsci-post-share-box {
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid var(--tsci-border, #E4E7EC);
}

.tsci-post-share-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.938rem !important;
    color: var(--tsci-text, #475467) !important;
    font-weight: 700 !important;
    margin: 0 0 1rem 0 !important;
}

.tsci-post-share-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.tsci-post-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.25rem;
    border-radius: 8px;
    font-family: 'Work Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #FFFFFF !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
}

.tsci-post-share-btn:hover {
    opacity: 0.85 !important;
}

.tsci-post-share-btn svg {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
}
/* Third-party brand colors kept as-is — not part of our brand palette */
.tsci-post-share-btn.fb { background-color: #1877F2; }
.tsci-post-share-btn.tw { background-color: #1DA1F2; }
.tsci-post-share-btn.pin { background-color: #BD081C; }

.tsci-post-author-card {
    margin-top: 3.5rem;
    background-color: var(--tsci-primary-bg, #F2F6FC);
    border: 1px solid var(--tsci-border, #E4E7EC);
    border-radius: 1rem;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

@media (min-width: 600px) {
    .tsci-post-author-card {
        flex-direction: row;
        align-items: center;
    }
}

.tsci-post-author-avatar img {
    border-radius: 50% !important;
    width: 110px !important;
    height: 110px !important;
    min-width: 110px !important;
    min-height: 110px !important;
    object-fit: cover !important;
    border: 4px solid #FFFFFF;
    box-shadow: 0 4px 12px rgba(12, 63, 125, 0.08);
}

.tsci-post-author-text {
    flex-grow: 1;
}

.tsci-post-author-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.688rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--tsci-primary, #1159AF);
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: 0.25rem;
}

.tsci-post-author-name {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.35rem !important;
    color: var(--tsci-ink, #101828) !important;
    font-weight: 700 !important;
    margin: 0 0 0.5rem 0 !important;
}

.tsci-post-author-bio {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.938rem !important;
    line-height: 1.6 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

.tsci-post-related-section {
    margin-top: 4.5rem;
    border-top: 1px solid var(--tsci-border, #E4E7EC);
    padding-top: 3.5rem;
}

.tsci-post-related-heading {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.6rem !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 2rem 0 !important;
    font-weight: 700 !important;
}

.tsci-post-related-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
}

@media (min-width: 600px) {
    .tsci-post-related-grid { grid-template-columns: repeat(3, 1fr); }
}

.tsci-post-related-card {
    background-color: #FFFFFF;
    border: 1px solid var(--tsci-border, #E4E7EC);
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.tsci-post-related-thumb {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
    background-color: var(--tsci-primary-bg, #F2F6FC);
}

.tsci-post-related-thumb img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.tsci-post-related-content {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.tsci-post-related-card-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    margin: 0 0 0.5rem 0 !important;
    font-weight: 700 !important;
}

.tsci-post-related-card-title a {
    color: var(--tsci-ink, #101828) !important;
    text-decoration: none !important;
}

.tsci-post-related-card-title a:hover { color: var(--tsci-accent, #8A4570) !important; }

.tsci-post-related-date {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.813rem;
    color: #7A8B9E;
    font-weight: 500;
}


/* ============================================================ */
/* HOMEPAGE SECTION 1 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-hero-section {
	background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%);
	padding: 48px 20px 64px;
	overflow: hidden;
}
.tsci-hero-section * { box-sizing: border-box !important; }
.tsci-hero-section br { display: none !important; }

.tsci-hero-grid {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column;
	gap: 48px;
}

.tsci-hero-content {
	display: flex !important;
	flex-direction: column;
	gap: 24px;
}

.tsci-hero-badge {
	display: inline-flex !important;
	align-self: flex-start !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	align-items: center;
	gap: 8px;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 8px 14px !important;
	border-radius: 20px !important;
	border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
}
.tsci-hero-badge svg {
	width: 14px; height: 14px; min-width: 14px; min-height: 14px;
	color: var(--tsci-primary, #1159AF) !important;
}

.tsci-hero-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 2.1rem !important;
	line-height: 1.18 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}

.tsci-hero-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
	max-width: 560px;
}

.tsci-hero-benefits {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	margin: 4px 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.tsci-hero-benefits li {
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}
.tsci-hero-benefit-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	min-width: 22px;
	min-height: 22px;
	border-radius: 50%;
	background: var(--tsci-primary, #1159AF) !important;
	flex-shrink: 0;
}
.tsci-hero-benefit-icon svg {
	width: 13px; height: 13px; min-width: 13px; min-height: 13px;
	color: #FFFFFF !important;
}

.tsci-hero-actions {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	margin-top: 8px;
}
.tsci-hero-btn-primary {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 14px 26px !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 14px rgba(17, 89, 175, 0.28);
	transition: background 0.2s ease, transform 0.2s ease;
}
.tsci-hero-btn-primary:hover,
.tsci-hero-btn-primary:focus-visible {
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	box-shadow: 0 4px 14px rgba(138, 69, 112, 0.3);
	transform: translateY(-2px);
}
.tsci-hero-btn-primary svg { width: 17px; height: 17px; min-width: 17px; min-height: 17px; }

.tsci-hero-btn-secondary {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #FFFFFF !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 14px 26px !important;
	border-radius: 8px !important;
	border: 1.5px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.tsci-hero-btn-secondary:hover,
.tsci-hero-btn-secondary:focus-visible {
	border-color: var(--tsci-accent, #8A4570) !important;
	background: var(--tsci-accent-tint, #F2E4EC) !important;
	color: var(--tsci-accent-dark, #5C2C4A) !important;
}

/* ============ CONSULTATION FORM CARD ============ */
.tsci-hero-form-wrap {
	width: 100%;
}
.tsci-hero-form-card {
	background: linear-gradient(160deg, var(--tsci-primary, #1159AF) 0%, var(--tsci-primary-dark, #0C3F7D) 100%) !important;
	border-radius: 20px !important;
	padding: 28px 22px !important;
	box-shadow: 0 24px 48px -12px rgba(12, 63, 125, 0.32);
}
.tsci-hero-form-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.3rem !important;
	color: #FFFFFF !important;
	margin: 0 0 6px 0 !important;
}
.tsci-hero-form-sub {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14px !important;
	color: #C9DCF4 !important;
	margin: 0 0 24px 0 !important;
}

.tsci-hero-form {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
}
.tsci-hero-form-row {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
}
.tsci-hero-field {
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 0;
}
.tsci-hero-field label {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #EAF1FB !important;
}
.tsci-hero-field label .tsci-req { color: #E3B8CE !important; }

.tsci-hero-field input,
.tsci-hero-field select {
	width: 100% !important;
	box-sizing: border-box !important;
	background: #FFFFFF !important;
	border: 1px solid rgba(255,255,255,0.3) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14.5px !important;
	color: var(--tsci-ink, #101828) !important;
	outline: none !important;
	transition: box-shadow 0.15s ease;
}
.tsci-hero-field input::placeholder { color: #8896A8 !important; }
.tsci-hero-field input:focus,
.tsci-hero-field select:focus {
	box-shadow: 0 0 0 3px rgba(138, 69, 112, 0.35) !important;
}
.tsci-hero-field select {
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230C3F7D' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px !important;
	padding-right: 38px !important;
	cursor: pointer;
}

.tsci-hero-consent {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	margin-top: 2px;
}
.tsci-hero-consent input[type="checkbox"] {
	width: 17px !important;
	height: 17px !important;
	min-width: 17px !important;
	min-height: 17px !important;
	margin-top: 2px !important;
	accent-color: var(--tsci-accent, #8A4570);
	cursor: pointer;
	flex-shrink: 0;
}
.tsci-hero-consent label {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 12.5px !important;
	line-height: 1.55 !important;
	color: #C9DCF4 !important;
	cursor: pointer;
}
.tsci-hero-consent label .tsci-req { color: #E3B8CE !important; }

/* Honeypot — hidden from real users, catches bots that autofill every field */
.tsci-hero-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.tsci-hero-submit-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	background: #FFFFFF !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 14px !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	margin-top: 4px;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.tsci-hero-submit-btn:hover,
.tsci-hero-submit-btn:focus-visible {
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
}
.tsci-hero-submit-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	transform: none;
}

.tsci-hero-form-status {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	text-align: center;
	border-radius: 8px;
	padding: 10px 12px;
	display: none;
}
.tsci-hero-form-status.tsci-status-success {
	display: block !important;
	background: rgba(255,255,255,0.16) !important;
	color: #FFFFFF !important;
}
.tsci-hero-form-status.tsci-status-error {
	display: block !important;
	background: rgba(255,255,255,0.16) !important;
	color: #FFE8B0 !important;
}

/* ============ TABLET (640px+) ============ */
@media (min-width: 640px) {
	.tsci-hero-section { padding: 64px 32px 80px; }
	.tsci-hero-title { font-size: 2.6rem !important; }
	.tsci-hero-desc { font-size: 1.05rem !important; }
	.tsci-hero-benefits { flex-direction: row; flex-wrap: wrap; gap: 12px 28px; }
	.tsci-hero-actions { flex-direction: row; flex-wrap: wrap; gap: 14px; }
	.tsci-hero-form-row { flex-direction: row; gap: 12px; }
	.tsci-hero-form-card { padding: 32px 28px !important; }
}

/* ============ DESKTOP (1000px+) ============ */
@media (min-width: 1000px) {
	.tsci-hero-section { padding: 72px 32px 96px; }
	.tsci-hero-grid {
		flex-direction: row;
		align-items: flex-start;
		gap: 64px;
	}
	.tsci-hero-content {
		flex: 1 1 540px;
		padding-top: 8px;
	}
	.tsci-hero-title { font-size: 3.1rem !important; line-height: 1.14 !important; }
	.tsci-hero-form-wrap {
		flex: 1 1 420px;
		max-width: 460px;
	}
	.tsci-hero-form-card { padding: 36px 32px !important; }
	.tsci-hero-form-title { font-size: 1.4rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-hero-btn-primary, .tsci-hero-btn-secondary, .tsci-hero-submit-btn {
		transition: none !important;
	}
}

/* ============================================================ */
/* HOMEPAGE SECTION 2 */
/* ============================================================ */
/* ============ BASE (mobile) ============ */
.tsci-stats-section {
	background: linear-gradient(135deg, var(--tsci-primary-dark, #0C3F7D) 0%, var(--tsci-primary, #1159AF) 100%);
	padding: 40px 20px;
}
.tsci-stats-section * { box-sizing: border-box !important; }
.tsci-stats-section br { display: none !important; }
.tsci-stats-grid {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 32px 16px;
}
.tsci-stats-item {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}
.tsci-stats-number {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 2.1rem !important;
	line-height: 1 !important;
	color: #FFFFFF !important;
	margin: 0 !important;
	letter-spacing: -0.01em !important;
}
.tsci-stats-label {
	font-family: 'Work Sans', sans-serif !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	color: #C9DCF4 !important;
	margin: 0 !important;
}
/* ============ TABLET AND UP ============ */
@media (min-width: 640px) {
	.tsci-stats-section {
		padding: 48px 32px;
	}
	.tsci-stats-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 24px;
	}
	.tsci-stats-number {
		font-size: 2.5rem !important;
	}
	.tsci-stats-label {
		font-size: 14px !important;
	}
}
/* ============ DESKTOP ============ */
@media (min-width: 1024px) {
	.tsci-stats-section {
		padding: 56px 32px;
	}
	.tsci-stats-item {
		gap: 8px;
	}
	.tsci-stats-number {
		font-size: 2.9rem !important;
	}
	.tsci-stats-label {
		font-size: 15px !important;
	}
}

/* ============================================================ */
/* HOMEPAGE SECTION 3 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-why4-section {
	background: #FFFFFF;
	padding: 56px 20px;
}
.tsci-why4-section * { box-sizing: border-box !important; }
.tsci-why4-section br { display: none !important; }

.tsci-why4-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column;
	gap: 32px;
}

/* -------- split header -------- */
.tsci-why4-header {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
}
.tsci-why4-header-left {
	display: flex !important;
	flex-direction: column;
	gap: 14px;
}
.tsci-why4-badge {
	display: inline-flex !important;
	align-self: flex-start !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	padding: 7px 15px !important;
	border-radius: 20px !important;
}
.tsci-why4-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.9rem !important;
	line-height: 1.18 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-why4-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* -------- image with glass caption -------- */
.tsci-why4-image-wrap {
	position: relative;
	width: 100%;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 48px -12px rgba(16, 24, 40, 0.18);
}
.tsci-why4-image-wrap img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	object-fit: cover !important;
	display: block !important;
}
.tsci-why4-glass-caption {
	position: absolute;
	left: 16px;
	bottom: 16px;
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.82) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 100px;
	padding: 10px 18px 10px 12px !important;
	box-shadow: 0 8px 24px rgba(16, 24, 40, 0.12);
}
.tsci-why4-glass-dot {
	width: 8px;
	height: 8px;
	min-width: 8px;
	border-radius: 50%;
	background: var(--tsci-accent, #8A4570) !important;
	flex-shrink: 0;
}
.tsci-why4-glass-caption span:last-child {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 12.5px !important;
	color: var(--tsci-ink, #101828) !important;
	white-space: nowrap;
}

/* -------- elevated soft-shadow cards -------- */
.tsci-why4-cards {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 16px;
}

.tsci-why4-card {
	background: #FFFFFF;
	border-radius: 18px;
	padding: 24px;
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	box-shadow: 0 2px 8px rgba(16, 24, 40, 0.05), 0 1px 2px rgba(16, 24, 40, 0.04);
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}
.tsci-why4-card:hover {
	box-shadow: 0 16px 32px -8px rgba(16, 24, 40, 0.14);
	transform: translateY(-3px);
}

.tsci-why4-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	min-width: 46px;
	min-height: 46px;
	border-radius: 13px;
	flex-shrink: 0;
}
.tsci-why4-card-icon svg { width: 22px; height: 22px; min-width: 22px; min-height: 22px; }

.tsci-why4-icon-blue {
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
}
.tsci-why4-icon-plum {
	background: var(--tsci-accent-tint, #F2E4EC) !important;
	color: var(--tsci-accent-dark, #5C2C4A) !important;
}

.tsci-why4-card h3 {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 16.5px !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}
.tsci-why4-card p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-why4-section { padding: 72px 32px; }
	.tsci-why4-title { font-size: 2.3rem !important; }
	.tsci-why4-cards { grid-template-columns: repeat(2, 1fr); }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-why4-section { padding: 100px 32px; }

	.tsci-why4-header {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: 20px;
	}
	.tsci-why4-header-left { flex: 0 1 450px; }
	.tsci-why4-title { font-size: 2.75rem !important; }
	.tsci-why4-desc {
		flex: 1 1 auto;
		max-width: 540px;
		font-size: 1.05rem !important;
		line-height: 1.75 !important;
		padding-bottom: 4px;
	}

	.tsci-why4-image-wrap {
		aspect-ratio: unset;
	}
	.tsci-why4-image-wrap img { aspect-ratio: 21 / 8; }

	.tsci-why4-cards { grid-template-columns: repeat(4, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-why4-card { transition: none !important; }
}

/* ============================================================ */
/* HOMEPAGE SECTION 4 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-cond3-section {
	background: #FFFFFF;
	padding: 56px 20px;
}
.tsci-cond3-section * { box-sizing: border-box !important; }
.tsci-cond3-section br { display: none !important; }

.tsci-cond3-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column;
	gap: 40px;
}

.tsci-cond3-header {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
	max-width: 760px;
	margin: 0 auto;
}
.tsci-cond3-badge {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	padding: 8px 16px !important;
	border-radius: 20px !important;
}
.tsci-cond3-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7rem !important;
	line-height: 1.25 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-cond3-highlight {
	color: var(--tsci-accent, #8A4570) !important;
}
.tsci-cond3-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* -------- gradient-header cards -------- */
.tsci-cond3-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 20px 20px;
}

.tsci-cond3-card {
	background: #FFFFFF;
	border-radius: 18px;
	overflow: visible;
	box-shadow: 0 4px 16px rgba(16, 24, 40, 0.07);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.tsci-cond3-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 36px -10px rgba(16, 24, 40, 0.16);
}

.tsci-cond3-card-header {
	position: relative;
	height: 64px;
	border-radius: 18px 18px 0 0;
	background: linear-gradient(135deg, var(--tsci-primary, #1159AF) 0%, var(--tsci-accent, #8A4570) 100%);
}
.tsci-cond3-card:nth-child(even) .tsci-cond3-card-header {
	background: linear-gradient(135deg, var(--tsci-accent, #8A4570) 0%, var(--tsci-primary, #1159AF) 100%);
}

.tsci-cond3-card-icon {
	position: absolute;
	bottom: -20px;
	left: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	border-radius: 13px;
	background: #FFFFFF !important;
	box-shadow: 0 8px 20px rgba(16, 24, 40, 0.16);
}
.tsci-cond3-card:nth-child(3n+1) .tsci-cond3-card-icon svg { color: var(--tsci-primary, #1159AF); }
.tsci-cond3-card:nth-child(3n+2) .tsci-cond3-card-icon svg { color: var(--tsci-accent, #8A4570); }
.tsci-cond3-card:nth-child(3n+3) .tsci-cond3-card-icon svg { color: var(--tsci-primary, #1159AF); }
.tsci-cond3-card-icon svg { width: 23px; height: 23px; min-width: 23px; min-height: 23px; }

.tsci-cond3-card-body {
	padding: 32px 20px 24px;
	display: flex !important;
	flex-direction: column;
	gap: 12px;
}
.tsci-cond3-card-body h3 {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}
.tsci-cond3-card-body p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

.tsci-cond3-tags {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}
.tsci-cond3-tags span {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary-bg, #F2F6FC) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Work Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	padding: 6px 12px !important;
	border-radius: 100px !important;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-cond3-section { padding: 72px 32px; }
	.tsci-cond3-title { font-size: 2.1rem !important; }
	.tsci-cond3-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-cond3-section { padding: 100px 32px; }
	.tsci-cond3-title { font-size: 2.5rem !important; }
	.tsci-cond3-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
	.tsci-cond3-card-header { height: 72px; }
	.tsci-cond3-card-body { padding: 36px 22px 26px; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-cond3-card { transition: none !important; }
}

/* ============================================================ */
/* HOMEPAGE SECTION 5 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-global-section {
	background: var(--tsci-primary-bg, #F2F6FC);
	padding: 48px 20px;
}
.tsci-global-section * { box-sizing: border-box !important; }
.tsci-global-section br { display: none !important; }

.tsci-global-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column;
	gap: 32px;
}

/* -------- stat anchor -------- */
.tsci-global-stat {
	display: flex !important;
	justify-content: center;
}
.tsci-global-stat-card {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	background: linear-gradient(150deg, var(--tsci-primary, #1159AF) 0%, var(--tsci-accent, #8A4570) 100%);
	border-radius: 24px;
	padding: 36px 40px;
	box-shadow: 0 20px 40px -14px rgba(17, 89, 175, 0.4);
	width: 100%;
	max-width: 280px;
}
.tsci-global-stat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border-radius: 50%;
	background: rgba(255,255,255,0.16) !important;
	color: #FFFFFF !important;
}
.tsci-global-stat-icon svg { width: 22px; height: 22px; min-width: 22px; min-height: 22px; }
.tsci-global-stat-number {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 3.4rem !important;
	line-height: 1 !important;
	color: #FFFFFF !important;
	letter-spacing: -0.02em !important;
}
.tsci-global-stat-label {
	font-family: 'Work Sans', sans-serif !important;
	font-weight: 500 !important;
	font-size: 13.5px !important;
	color: #E4E7EC !important;
	text-align: center;
}

/* -------- content -------- */
.tsci-global-content {
	display: flex !important;
	flex-direction: column;
	gap: 24px;
	text-align: center;
}
.tsci-global-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.6rem !important;
	line-height: 1.28 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}

.tsci-global-list {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.tsci-global-list li {
	display: flex !important;
	align-items: center;
	gap: 12px;
	background: #FFFFFF;
	border-radius: 12px;
	padding: 14px 16px;
	text-align: left;
}
.tsci-global-check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	min-height: 28px;
	border-radius: 50%;
	background: var(--tsci-accent-tint, #F2E4EC) !important;
	color: var(--tsci-accent-dark, #5C2C4A) !important;
	flex-shrink: 0;
}
.tsci-global-check svg { width: 14px; height: 14px; min-width: 14px; min-height: 14px; }
.tsci-global-list li span:last-child {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	color: var(--tsci-ink, #101828) !important;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-global-section { padding: 64px 32px; }
	.tsci-global-title { font-size: 1.9rem !important; }
	.tsci-global-list li { padding: 16px 18px; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-global-section { padding: 88px 32px; }

	.tsci-global-inner {
		flex-direction: row;
		align-items: center;
		gap: 56px;
	}
	.tsci-global-stat { flex: 0 0 300px; }
	.tsci-global-stat-card { max-width: 100%; padding: 48px 36px; }
	.tsci-global-stat-number { font-size: 4rem !important; }

	.tsci-global-content {
		flex: 1 1 auto;
		text-align: left;
	}
	.tsci-global-title { font-size: 2.2rem !important; }
	.tsci-global-list { flex-direction: row; flex-wrap: wrap; }
	.tsci-global-list li { flex: 1 1 calc(50% - 6px); }
}

@media (min-width: 1280px) {
	.tsci-global-title { font-size: 2.4rem !important; }
}

/* ============================================================ */
/* HOMEPAGE SECTION 6 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-revo-section {
	background: #FFFFFF;
	padding: 56px 20px;
}
.tsci-revo-section * { box-sizing: border-box !important; }
.tsci-revo-section br { display: none !important; }

.tsci-revo-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column;
	gap: 40px;
}

.tsci-revo-header {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
	max-width: 640px;
	margin: 0 auto;
}
.tsci-revo-badge {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	padding: 7px 15px !important;
	border-radius: 20px !important;
}
.tsci-revo-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7rem !important;
	line-height: 1.22 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-revo-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.6 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* -------- connected roadmap steps -------- */
.tsci-revo-path {
	display: flex !important;
	flex-direction: column;
	gap: 0;
}

.tsci-revo-step {
	display: flex !important;
	align-items: flex-start;
	gap: 18px;
}

.tsci-revo-step-marker {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	position: relative;
}
.tsci-revo-step-num {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	color: var(--tsci-accent, #8A4570) !important;
	letter-spacing: 0.04em;
}
.tsci-revo-step-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	min-width: 56px;
	min-height: 56px;
	border-radius: 50%;
	background: var(--tsci-primary, #1159AF);
	color: #FFFFFF !important;
	box-shadow: 0 8px 20px -6px rgba(17, 89, 175, 0.35);
	flex-shrink: 0;
}
.tsci-revo-step:nth-child(3) .tsci-revo-step-icon,
.tsci-revo-step:nth-child(5) .tsci-revo-step-icon {
	background: var(--tsci-accent, #8A4570);
	box-shadow: 0 8px 20px -6px rgba(138, 69, 112, 0.35);
}
.tsci-revo-step-icon svg { width: 25px; height: 25px; min-width: 25px; min-height: 25px; }

.tsci-revo-connector {
	width: 2px;
	min-height: 40px;
	background: var(--tsci-border, #E4E7EC);
	margin-left: 27px;
}

.tsci-revo-step-body {
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	padding-top: 8px;
	min-width: 0;
}
.tsci-revo-step-body h3 {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}
.tsci-revo-step-body p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* -------- CTA banner -------- */
.tsci-revo-cta-banner {
	display: flex !important;
	flex-direction: column;
	gap: 20px;
	background: var(--tsci-primary-dark, #0C3F7D);
	border-radius: 22px;
	padding: 32px 24px;
	text-align: center;
}
.tsci-revo-cta-text {
	display: flex !important;
	flex-direction: column;
	gap: 8px;
}
.tsci-revo-cta-text h3 {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.3rem !important;
	color: #FFFFFF !important;
	margin: 0 !important;
}
.tsci-revo-cta-text p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14.5px !important;
	line-height: 1.55 !important;
	color: #E4E7EC !important;
	margin: 0 !important;
}

.tsci-revo-cta-btn {
	display: inline-flex !important;
	align-self: center !important;
	align-items: center;
	gap: 8px;
	background: #FFFFFF !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 14px 26px !important;
	border-radius: 100px !important;
	white-space: nowrap;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.tsci-revo-cta-btn:hover,
.tsci-revo-cta-btn:focus-visible {
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
}
.tsci-revo-cta-btn svg { width: 17px; height: 17px; min-width: 17px; min-height: 17px; }

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-revo-section { padding: 72px 32px; }
	.tsci-revo-title { font-size: 2rem !important; }
	.tsci-revo-cta-banner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		text-align: left;
		padding: 36px 40px;
	}
	.tsci-revo-cta-text { flex: 1 1 auto; }
	.tsci-revo-cta-btn { align-self: auto !important; flex: 0 0 auto; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-revo-section { padding: 100px 32px; }
	.tsci-revo-title { font-size: 2.4rem !important; }

	.tsci-revo-path {
		flex-direction: row;
		align-items: flex-start;
		gap: 0;
	}
	.tsci-revo-step {
		flex: 1 1 0;
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 16px;
	}
	.tsci-revo-connector {
		width: auto;
		min-height: 2px;
		height: 2px;
		flex: 0 0 60px;
		margin: 46px 0 0;
	}
	.tsci-revo-step-body { padding-top: 0; align-items: center; }
	.tsci-revo-step-body p { max-width: 240px; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-revo-cta-btn { transition: none !important; }
}

/* ============================================================ */
/* HOMEPAGE SECTION 7 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-journey2-section {
	background: var(--tsci-primary-bg, #F2F6FC);
	padding: 48px 20px;
}
.tsci-journey2-section * { box-sizing: border-box !important; }
.tsci-journey2-section br { display: none !important; }

.tsci-journey2-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
}

.tsci-journey2-panel {
	background: #FFFFFF;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 48px -16px rgba(16, 24, 40, 0.14);
	display: flex !important;
	flex-direction: column;
}

/* -------- image column -------- */
.tsci-journey2-image-col {
	position: relative;
}
.tsci-journey2-image-col img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
	display: block !important;
}

.tsci-journey2-quote {
	margin: -32px 16px 0;
	position: relative;
	background: var(--tsci-accent, #8A4570) !important;
	border-radius: 16px;
	padding: 18px 20px;
	display: flex !important;
	flex-direction: column;
	gap: 8px;
	box-shadow: 0 12px 28px -8px rgba(138, 69, 112, 0.4);
}
.tsci-journey2-quote svg {
	width: 22px;
	height: 22px;
	min-width: 22px;
	color: rgba(255,255,255,0.5) !important;
}
.tsci-journey2-quote p {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	line-height: 1.45 !important;
	color: #FFFFFF !important;
	margin: 0 !important;
}

/* -------- content column -------- */
.tsci-journey2-content-col {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
	padding: 44px 20px 32px;
}

.tsci-journey2-badge {
	display: inline-flex !important;
	align-self: flex-start !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	padding: 7px 15px !important;
	border-radius: 20px !important;
}
.tsci-journey2-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.6rem !important;
	line-height: 1.22 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}

.tsci-journey2-lead {
	font-family: 'Work Sans', sans-serif !important;
	font-weight: 500 !important;
	font-size: 1.02rem !important;
	line-height: 1.6 !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}
.tsci-journey2-content-col p:not(.tsci-journey2-lead) {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.95rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

.tsci-journey2-cta {
	display: inline-flex !important;
	align-self: flex-start !important;
	align-items: center;
	gap: 8px;
	background: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 14px 26px !important;
	border-radius: 100px !important;
	margin-top: 8px;
	transition: background 0.2s ease, transform 0.2s ease;
}
.tsci-journey2-cta:hover,
.tsci-journey2-cta:focus-visible {
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
}
.tsci-journey2-cta svg { width: 17px; height: 17px; min-width: 17px; min-height: 17px; }

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-journey2-section { padding: 64px 32px; }
	.tsci-journey2-content-col { padding: 48px 40px 40px; }
	.tsci-journey2-title { font-size: 2rem !important; }
	.tsci-journey2-lead { font-size: 1.1rem !important; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-journey2-section { padding: 88px 32px; }

	.tsci-journey2-panel {
		flex-direction: row;
		align-items: stretch;
	}
	.tsci-journey2-image-col {
		flex: 0 0 44%;
	}
	.tsci-journey2-image-col img {
		aspect-ratio: unset;
		height: 100%;
		min-height: 100%;
	}
	.tsci-journey2-quote {
		position: absolute;
		left: 24px;
		right: 24px;
		bottom: 24px;
		margin: 0;
	}

	.tsci-journey2-content-col {
		flex: 1 1 56%;
		padding: 56px 48px;
		justify-content: center;
	}
	.tsci-journey2-title { font-size: 2.2rem !important; }
	.tsci-journey2-lead { font-size: 1.15rem !important; }
	.tsci-journey2-content-col p:not(.tsci-journey2-lead) { font-size: 1rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-journey2-cta { transition: none !important; }
}

/* ============================================================ */
/* HOMEPAGE SECTION 8 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-whystem2-section {
	background: #FFFFFF;
}
.tsci-whystem2-section * { box-sizing: border-box !important; }
.tsci-whystem2-section br { display: none !important; }

/* -------- top: magazine text block -------- */
.tsci-whystem2-top {
	max-width: 780px;
	margin: 0 auto;
	padding: 56px 20px 40px;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}
.tsci-whystem2-badge {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	padding: 7px 15px !important;
	border-radius: 20px !important;
}
.tsci-whystem2-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7rem !important;
	line-height: 1.22 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-whystem2-columns {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
	text-align: left;
}
.tsci-whystem2-columns p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.75 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* -------- bottom: full-bleed dark strip -------- */
.tsci-whystem2-strip {
	background: var(--tsci-primary-dark, #0C3F7D);
	padding: 40px 20px;
}
.tsci-whystem2-strip-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column;
	gap: 32px;
}

.tsci-whystem2-strip-header {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	text-align: center;
}
.tsci-whystem2-strip-header h3 {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.5rem !important;
	color: #FFFFFF !important;
	margin: 0 !important;
	letter-spacing: -0.01em !important;
}
.tsci-whystem2-strip-header p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.98rem !important;
	line-height: 1.6 !important;
	color: #C9DCF4 !important;
	margin: 0 auto !important;
	max-width: 480px;
}

.tsci-whystem2-features {
	display: flex !important;
	flex-direction: column;
	gap: 24px;
}

.tsci-whystem2-feature {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}
.tsci-whystem2-feature-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	min-width: 50px;
	min-height: 50px;
	border-radius: 50%;
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	flex-shrink: 0;
}
.tsci-whystem2-feature-icon svg { width: 23px; height: 23px; min-width: 23px; min-height: 23px; }
.tsci-whystem2-feature p {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	line-height: 1.5 !important;
	color: #FFFFFF !important;
	margin: 0 !important;
	max-width: 240px;
}

.tsci-whystem2-divider {
	display: none;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-whystem2-top { padding: 72px 32px 48px; }
	.tsci-whystem2-title { font-size: 2rem !important; }
	.tsci-whystem2-strip { padding: 56px 32px; }
	.tsci-whystem2-strip-header h3 { font-size: 1.75rem !important; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-whystem2-top { padding: 100px 32px 64px; max-width: 900px; }
	.tsci-whystem2-title { font-size: 2.4rem !important; }
	.tsci-whystem2-columns {
		flex-direction: row;
		gap: 40px;
		column-count: 2;
	}
	.tsci-whystem2-columns p { flex: 1 1 50%; }

	.tsci-whystem2-strip { padding: 72px 32px; }
	.tsci-whystem2-strip-inner { gap: 48px; }
	.tsci-whystem2-strip-header h3 { font-size: 2rem !important; }
	.tsci-whystem2-strip-header p { max-width: 560px; }

	.tsci-whystem2-features {
		flex-direction: row;
		align-items: flex-start;
	}
	.tsci-whystem2-feature {
		flex: 1 1 0;
	}
	.tsci-whystem2-divider {
		display: block;
		width: 1px;
		background: rgba(255,255,255,0.14);
		align-self: stretch;
		flex: 0 0 auto;
	}
}

/* ============================================================ */
/* HOMEPAGE SECTION 9 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-how-section {
	background: #FFFFFF;
	padding: 56px 20px;
}
.tsci-how-section * { box-sizing: border-box !important; }
.tsci-how-section br { display: none !important; }

.tsci-how-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column-reverse;
	gap: 32px;
}

/* -------- image column -------- */
.tsci-how-image-col img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
	display: block !important;
	border-radius: 20px;
	box-shadow: 0 20px 44px -16px rgba(16, 24, 40, 0.2);
}

/* -------- content column -------- */
.tsci-how-content {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
}
.tsci-how-eyebrow {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 12.5px !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--tsci-accent, #8A4570) !important;
}
.tsci-how-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7rem !important;
	line-height: 1.2 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}

.tsci-how-steps {
	display: flex !important;
	flex-direction: column;
	gap: 28px;
	margin-top: 12px;
}

.tsci-how-step {
	display: flex !important;
	flex-direction: column;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--tsci-border, #E4E7EC);
}
.tsci-how-step:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.tsci-how-ghost-num {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 3.2rem !important;
	line-height: 0.75 !important;
	color: var(--tsci-primary-bg, #F2F6FC) !important;
	margin-bottom: -6px;
	user-select: none;
}

.tsci-how-step p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.75 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

.tsci-how-cta {
	display: inline-flex !important;
	align-self: flex-start !important;
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 15px 28px !important;
	border-radius: 100px !important;
	margin-top: 12px;
	transition: background 0.2s ease, transform 0.2s ease;
}
.tsci-how-cta:hover,
.tsci-how-cta:focus-visible {
	background: var(--tsci-accent-dark, #5C2C4A) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-how-section { padding: 72px 32px; }
	.tsci-how-title { font-size: 2.1rem !important; }
	.tsci-how-ghost-num { font-size: 3.8rem !important; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-how-section { padding: 100px 32px; }

	.tsci-how-inner {
		flex-direction: row;
		align-items: flex-start;
		gap: 64px;
	}
	.tsci-how-content {
		flex: 1 1 52%;
	}
	.tsci-how-title { font-size: 2.5rem !important; }
	.tsci-how-ghost-num { font-size: 4.2rem !important; }

	.tsci-how-image-col {
		flex: 1 1 42%;
		position: sticky;
		top: 100px;
	}
	.tsci-how-image-col img { aspect-ratio: unset; height: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-how-cta { transition: none !important; }
}

/* ============================================================ */
/* HOMEPAGE SECTION 10 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-testi-section {
	background: var(--tsci-primary-bg, #F2F6FC);
	padding: 48px 0;
}
.tsci-testi-section * { box-sizing: border-box !important; }
.tsci-testi-section br { display: none !important; }

.tsci-testi-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
}

.tsci-testi-header {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
	max-width: 620px;
	margin: 0 auto;
	padding: 0 20px 32px;
}
.tsci-testi-badge {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 12.5px !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--tsci-accent, #8A4570) !important;
}
.tsci-testi-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.9rem !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-testi-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.6 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* -------- snap-scroll card row -------- */
.tsci-testi-scroller {
	display: flex !important;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 4px 20px 12px;
	scrollbar-width: none;
}
.tsci-testi-scroller::-webkit-scrollbar { display: none; }

.tsci-testi-card {
	flex: 0 0 82%;
	scroll-snap-align: start;
	background: #FFFFFF;
	border-radius: 18px;
	padding: 24px;
	display: flex !important;
	flex-direction: column;
	gap: 14px;
	box-shadow: 0 4px 16px rgba(16, 24, 40, 0.06);
}

.tsci-testi-quote-mark {
	width: 30px;
	height: 30px;
	min-width: 30px;
	color: var(--tsci-primary-tint, #DCE9F8) !important;
}

.tsci-testi-stars {
	display: flex !important;
	gap: 3px;
	margin-top: -6px;
}
.tsci-testi-stars svg {
	width: 15px;
	height: 15px;
	min-width: 15px;
	color: var(--tsci-accent, #8A4570) !important;
}

.tsci-testi-text {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
	flex-grow: 1;
}

.tsci-testi-person {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--tsci-border, #E4E7EC);
}
.tsci-testi-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	border-radius: 50%;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 13.5px !important;
	flex-shrink: 0;
}
.tsci-testi-avatar-blue {
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
}
.tsci-testi-avatar-plum {
	background: var(--tsci-accent-tint, #F2E4EC) !important;
	color: var(--tsci-accent-dark, #5C2C4A) !important;
}
.tsci-testi-person-text {
	display: flex !important;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.tsci-testi-person-text strong {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: var(--tsci-ink, #101828) !important;
}
.tsci-testi-person-text span {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 12px !important;
	color: var(--tsci-text, #475467) !important;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-testi-section { padding: 64px 0; }
	.tsci-testi-title { font-size: 2.1rem !important; }
	.tsci-testi-card { flex: 0 0 46%; }
}

/* ============ DESKTOP (1024px+) — grid instead of scroll ============ */
@media (min-width: 1024px) {
	.tsci-testi-section { padding: 88px 0; }
	.tsci-testi-header { padding: 0 32px 44px; }
	.tsci-testi-title { font-size: 2.4rem !important; }

	.tsci-testi-scroller {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		overflow-x: visible;
		padding: 4px 32px 12px;
		max-width: 1280px;
		width: 100%;
		margin: 0 auto;
	}
	.tsci-testi-card { flex: none; }
}

/* ============================================================ */
/* HOMEPAGE SECTION 11 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-faq-section {
	background: #FFFFFF;
	padding: 56px 20px;
}
.tsci-faq-section * { box-sizing: border-box !important; }
.tsci-faq-section br { display: none !important; }

.tsci-faq-inner {
	max-width: 1280px;
	width: 100%;
	margin-inline: auto;
	display: flex !important;
	flex-direction: column;
	gap: 40px;
}

/* -------- left: FAQ column -------- */
.tsci-faq-col {
	display: flex !important;
	flex-direction: column;
	gap: 24px;
}
.tsci-faq-header {
	display: flex !important;
	flex-direction: column;
	gap: 14px;
}
.tsci-faq-badge {
	display: inline-flex !important;
	align-self: flex-start !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	padding: 7px 15px !important;
	border-radius: 20px !important;
}
.tsci-faq-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7rem !important;
	line-height: 1.2 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-faq-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

.tsci-faq-accordion {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
}
.tsci-faq-item {
	border: 1px solid var(--tsci-border, #E4E7EC);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color 0.2s ease;
}

/* Hide the actual radio input — the label is what's visibly clicked */
.tsci-faq-toggle {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.tsci-faq-question {
	width: 100% !important;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: #FFFFFF !important;
	padding: 16px 18px !important;
	cursor: pointer;
	margin: 0 !important;
}
.tsci-faq-question span {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	color: var(--tsci-ink, #101828) !important;
}
.tsci-faq-chevron {
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	color: var(--tsci-text, #475467) !important;
	flex-shrink: 0;
	transition: transform 0.2s ease, color 0.2s ease;
}

.tsci-faq-answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.25s ease;
	overflow: hidden;
}
.tsci-faq-answer p {
	overflow: hidden;
	margin: 0 !important;
	padding: 0 18px !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
}

/* -------- checked state drives everything -------- */
.tsci-faq-toggle:checked ~ .tsci-faq-question {
	background: var(--tsci-primary-tint, #DCE9F8) !important;
}
.tsci-faq-toggle:checked ~ .tsci-faq-question .tsci-faq-chevron {
	transform: rotate(180deg);
	color: var(--tsci-primary, #1159AF) !important;
}
.tsci-faq-toggle:checked ~ .tsci-faq-answer {
	grid-template-rows: 1fr;
}
.tsci-faq-toggle:checked ~ .tsci-faq-answer p {
	padding: 14px 18px 18px !important;
}
.tsci-faq-item:has(.tsci-faq-toggle:checked) {
	border-color: var(--tsci-primary, #1159AF);
}

/* -------- right: sticky form -------- */
.tsci-faq-form-col {
	width: 100%;
}
.tsci-faq-form-card {
	background: linear-gradient(160deg, var(--tsci-primary, #1159AF) 0%, var(--tsci-primary-dark, #0C3F7D) 100%);
	border-radius: 20px;
	padding: 28px 22px;
	box-shadow: 0 24px 48px -12px rgba(12, 63, 125, 0.3);
}
.tsci-faq-form-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.3rem !important;
	color: #FFFFFF !important;
	margin: 0 0 6px 0 !important;
}
.tsci-faq-form-sub {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14px !important;
	color: #C9DCF4 !important;
	margin: 0 0 22px 0 !important;
}

.tsci-faq-form {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
}
.tsci-faq-form-row {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
}
.tsci-faq-field {
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 0;
}
.tsci-faq-field label {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #EAF1FB !important;
}
.tsci-faq-field label .tsci-faq-req { color: #9FC8F0 !important; }

.tsci-faq-field input,
.tsci-faq-field select {
	width: 100% !important;
	box-sizing: border-box !important;
	background: #FFFFFF !important;
	border: 1px solid rgba(255,255,255,0.3) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14.5px !important;
	color: var(--tsci-ink, #101828) !important;
	outline: none !important;
	transition: box-shadow 0.15s ease;
}
.tsci-faq-field input::placeholder { color: #8896A8 !important; }
.tsci-faq-field input:focus,
.tsci-faq-field select:focus {
	box-shadow: 0 0 0 3px rgba(255,255,255,0.35) !important;
}
.tsci-faq-field select {
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230C3F7D' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px !important;
	padding-right: 38px !important;
	cursor: pointer;
}

.tsci-faq-consent {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	margin-top: 2px;
}
.tsci-faq-consent input[type="checkbox"] {
	width: 17px !important;
	height: 17px !important;
	min-width: 17px !important;
	min-height: 17px !important;
	margin-top: 2px !important;
	accent-color: #FFFFFF;
	cursor: pointer;
	flex-shrink: 0;
}
.tsci-faq-consent label {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 12.5px !important;
	line-height: 1.55 !important;
	color: #C9DCF4 !important;
	cursor: pointer;
}
.tsci-faq-consent label .tsci-faq-req { color: #9FC8F0 !important; }

.tsci-faq-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.tsci-faq-submit-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	background: #FFFFFF !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 14px !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	margin-top: 4px;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.tsci-faq-submit-btn:hover,
.tsci-faq-submit-btn:focus-visible {
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
}
.tsci-faq-submit-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	transform: none;
}

.tsci-faq-form-status {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	text-align: center;
	border-radius: 8px;
	padding: 10px 12px;
	display: none;
}
.tsci-faq-form-status.tsci-faq-status-success {
	display: block !important;
	background: rgba(255,255,255,0.16) !important;
	color: #FFFFFF !important;
}
.tsci-faq-form-status.tsci-faq-status-error {
	display: block !important;
	background: rgba(255,255,255,0.16) !important;
	color: #FFE8B0 !important;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-faq-section { padding: 72px 32px; }
	.tsci-faq-title { font-size: 2.1rem !important; }
	.tsci-faq-form-row { flex-direction: row; gap: 12px; }
	.tsci-faq-form-card { padding: 32px 28px; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-faq-section { padding: 100px 32px; }

	.tsci-faq-inner {
		flex-direction: row;
		align-items: flex-start;
		gap: 56px;
	}
	.tsci-faq-col { flex: 1 1 58%; }
	.tsci-faq-title { font-size: 2.4rem !important; }

	.tsci-faq-form-col {
		flex: 1 1 38%;
		position: sticky;
		top: 100px;
	}
	.tsci-faq-form-card { padding: 36px 32px; }
	.tsci-faq-form-title { font-size: 1.4rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-faq-chevron, .tsci-faq-answer, .tsci-faq-submit-btn {
		transition: none !important;
	}
}


/* ============================================================ */
/* CONDITIONS TREATED SECTION 1 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-condhero-section {
	background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%);
	padding: 48px 20px 40px;
}
.tsci-condhero-section * { box-sizing: border-box !important; }
.tsci-condhero-section br { display: none !important; }

.tsci-condhero-inner {
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.tsci-condhero-badge {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 8px 16px !important;
	border-radius: 20px !important;
	border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
}
.tsci-condhero-badge svg {
	width: 14px; height: 14px; min-width: 14px; min-height: 14px;
	color: var(--tsci-primary, #1159AF) !important;
}

.tsci-condhero-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 2rem !important;
	line-height: 1.18 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	max-width: 860px !important;
	margin: 0 auto !important;
}

.tsci-condhero-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
	max-width: 720px;
}

.tsci-condhero-actions {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 320px;
	margin-top: 4px;
}
.tsci-condhero-btn-primary {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 14px 26px !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 14px rgba(17, 89, 175, 0.28);
	transition: background 0.2s ease, transform 0.2s ease;
}
.tsci-condhero-btn-primary:hover,
.tsci-condhero-btn-primary:focus-visible {
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
}
.tsci-condhero-btn-primary svg { width: 17px; height: 17px; min-width: 17px; min-height: 17px; }

.tsci-condhero-btn-secondary {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #FFFFFF !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	padding: 14px 26px !important;
	border-radius: 8px !important;
	border: 1.5px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.tsci-condhero-btn-secondary:hover,
.tsci-condhero-btn-secondary:focus-visible {
	border-color: var(--tsci-accent, #8A4570) !important;
	background: var(--tsci-accent-tint, #F2E4EC) !important;
	color: var(--tsci-accent-dark, #5C2C4A) !important;
}
.tsci-condhero-btn-secondary svg { width: 17px; height: 17px; min-width: 17px; min-height: 17px; }

/* -------- category icon strip (single line, horizontal scroll on narrow screens) -------- */
.tsci-condhero-categories {
	display: flex !important;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 10px;
	margin-top: 16px;
	padding-top: 24px;
	padding-bottom: 4px;
	border-top: 1px solid var(--tsci-border, #E4E7EC);
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.tsci-condhero-categories::-webkit-scrollbar { display: none; }

.tsci-condhero-cat {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	background: #FFFFFF !important;
	border: 1px solid var(--tsci-border, #E4E7EC) !important;
	border-radius: 100px !important;
	padding: 8px 15px !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 12.5px !important;
	color: var(--tsci-ink, #101828) !important;
	white-space: nowrap;
}
.tsci-condhero-cat svg {
	width: 15px; height: 15px; min-width: 15px; min-height: 15px;
	color: var(--tsci-accent, #8A4570) !important;
}

/* ============ TABLET (640px+) ============ */
@media (min-width: 640px) {
	.tsci-condhero-section { padding: 64px 32px 48px; }
	.tsci-condhero-title { font-size: 2.5rem !important; }
	.tsci-condhero-actions {
		flex-direction: row;
		max-width: none;
		width: auto;
	}
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-condhero-section { padding: 88px 32px 56px; }
	.tsci-condhero-title { font-size: 3rem !important; }
	.tsci-condhero-desc { font-size: 1.08rem !important; }
	.tsci-condhero-categories { gap: 12px; margin-top: 24px; padding-top: 32px; justify-content: center; overflow-x: visible; }
	.tsci-condhero-cat { padding: 9px 18px !important; font-size: 13.5px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-condhero-btn-primary, .tsci-condhero-btn-secondary { transition: none !important; }
}

/* ============================================================ */
/* CONDITIONS TREATED SECTION 2 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-condgrid-section {
	background: var(--tsci-primary-bg, #F2F6FC);
	padding: 48px 20px;
}
.tsci-condgrid-section * { box-sizing: border-box !important; }
.tsci-condgrid-section br { display: none !important; }

.tsci-condgrid-inner {
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
	display: flex !important;
	flex-direction: column;
	gap: 36px;
}

.tsci-condgrid-header {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
	max-width: 680px;
	margin: 0 auto;
}
.tsci-condgrid-badge {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	padding: 7px 15px !important;
	border-radius: 20px !important;
}
.tsci-condgrid-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7rem !important;
	line-height: 1.25 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-condgrid-highlight {
	color: var(--tsci-accent, #8A4570) !important;
}
.tsci-condgrid-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* -------- full-bleed image cards -------- */
.tsci-condgrid-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 20px;
}

.tsci-condgrid-card {
	position: relative;
	display: block !important;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	text-decoration: none !important;
	box-shadow: 0 4px 20px rgba(16, 24, 40, 0.1);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.tsci-condgrid-card:hover,
.tsci-condgrid-card:focus-visible {
	transform: translateY(-5px);
	box-shadow: 0 24px 44px -12px rgba(16, 24, 40, 0.28);
}

.tsci-condgrid-card img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.5s ease;
}
.tsci-condgrid-card:hover img {
	transform: scale(1.08);
}

.tsci-condgrid-arrow {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	min-width: 38px;
	min-height: 38px;
	border-radius: 50%;
	background: rgba(255,255,255,0.92) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	z-index: 2;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.tsci-condgrid-card:hover .tsci-condgrid-arrow {
	background: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	transform: rotate(45deg);
}
.tsci-condgrid-arrow svg { width: 17px; height: 17px; min-width: 17px; min-height: 17px; }

.tsci-condgrid-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: 20px 18px;
	background: linear-gradient(180deg, rgba(16,24,40,0) 0%, rgba(16,24,40,0.55) 45%, rgba(16,24,40,0.92) 100%);
	display: flex !important;
	flex-direction: column;
	gap: 6px;
}
.tsci-condgrid-overlay h3 {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	color: #FFFFFF !important;
	margin: 0 !important;
}

.tsci-condgrid-desc-text {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 12.5px !important;
	line-height: 1.55 !important;
	color: #E4E7EC !important;
	margin: 0 !important;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, opacity 0.25s ease, margin-top 0.3s ease;
}
.tsci-condgrid-card:hover .tsci-condgrid-desc-text {
	max-height: 100px;
	opacity: 1;
	margin-top: 2px;
}

.tsci-condgrid-tags {
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 4px;
}
.tsci-condgrid-tags span {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	width: fit-content !important;
	background: rgba(255,255,255,0.16) !important;
	border: 1px solid rgba(255,255,255,0.28) !important;
	color: #FFFFFF !important;
	font-family: 'Work Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 11px !important;
	padding: 4px 10px !important;
	border-radius: 100px !important;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-condgrid-section { padding: 64px 32px; }
	.tsci-condgrid-title { font-size: 2.1rem !important; }
	.tsci-condgrid-grid { grid-template-columns: repeat(2, 1fr); }
	.tsci-condgrid-card { aspect-ratio: 4 / 4.2; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-condgrid-section { padding: 88px 32px; }
	.tsci-condgrid-title { font-size: 2.4rem !important; }
	.tsci-condgrid-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
	.tsci-condgrid-card { aspect-ratio: 4 / 4.6; }
	.tsci-condgrid-overlay h3 { font-size: 19px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-condgrid-card, .tsci-condgrid-card img, .tsci-condgrid-arrow, .tsci-condgrid-desc-text { transition: none !important; }
}

/* ============================================================ */
/* CONDITIONS TREATED SECTION 3 */
/* ============================================================ */
/* ============ BASE (mobile) ============ */
.tsci-stats-section {
	background: linear-gradient(135deg, var(--tsci-primary-dark, #0C3F7D) 0%, var(--tsci-primary, #1159AF) 100%);
	padding: 40px 20px;
}
.tsci-stats-section * { box-sizing: border-box !important; }
.tsci-stats-section br { display: none !important; }
.tsci-stats-grid {
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 32px 16px;
}
.tsci-stats-item {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}
.tsci-stats-number {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 2.1rem !important;
	line-height: 1 !important;
	color: #FFFFFF !important;
	margin: 0 !important;
	letter-spacing: -0.01em !important;
}
.tsci-stats-label {
	font-family: 'Work Sans', sans-serif !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	color: #C9DCF4 !important;
	margin: 0 !important;
}
/* ============ TABLET AND UP ============ */
@media (min-width: 640px) {
	.tsci-stats-section {
		padding: 48px 32px;
	}
	.tsci-stats-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 24px;
	}
	.tsci-stats-number {
		font-size: 2.5rem !important;
	}
	.tsci-stats-label {
		font-size: 14px !important;
	}
}
/* ============ DESKTOP ============ */
@media (min-width: 1024px) {
	.tsci-stats-section {
		padding: 56px 32px;
	}
	.tsci-stats-item {
		gap: 8px;
	}
	.tsci-stats-number {
		font-size: 2.9rem !important;
	}
	.tsci-stats-label {
		font-size: 15px !important;
	}
}

/* ============================================================ */
/* CONDITIONS TREATED SECTION 4 */
/* ============================================================ */
/* ============ BASE — MOBILE FIRST ============ */
.tsci-why3s-section {
	background: #FFFFFF;
	padding: 48px 20px;
}
.tsci-why3s-section * { box-sizing: border-box !important; }
.tsci-why3s-section br { display: none !important; }

.tsci-why3s-inner {
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
	display: flex !important;
	flex-direction: column;
	gap: 36px;
}

/* -------- image with floating badge -------- */
.tsci-why3s-image-col {
	position: relative;
}
.tsci-why3s-image-wrap {
	width: 100%;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 20px 44px -16px rgba(16, 24, 40, 0.18);
}
.tsci-why3s-image-wrap img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover !important;
	display: block !important;
}
.tsci-why3s-float-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: #FFFFFF !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	padding: 9px 18px !important;
	border-radius: 100px !important;
	box-shadow: 0 8px 20px rgba(16, 24, 40, 0.14);
}

/* -------- content -------- */
.tsci-why3s-content-col {
	display: flex !important;
	flex-direction: column;
	gap: 20px;
}
.tsci-why3s-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.7rem !important;
	line-height: 1.22 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
}
.tsci-why3s-desc {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

.tsci-why3s-list {
	display: flex !important;
	flex-direction: column;
	gap: 14px;
	margin-top: 8px;
}

.tsci-why3s-item {
	display: flex !important;
	align-items: flex-start;
	gap: 16px;
	background: #FFFFFF;
	border: 1px solid var(--tsci-border, #E4E7EC);
	border-radius: 16px;
	padding: 20px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.tsci-why3s-item:hover {
	border-color: var(--tsci-primary-tint-border, #B8D0EE);
	box-shadow: 0 10px 24px -8px rgba(16, 24, 40, 0.1);
}
.tsci-why3s-item:nth-child(2) {
	border-color: var(--tsci-accent-tint-border, #E3C7D6);
}
.tsci-why3s-item:nth-child(2):hover {
	border-color: var(--tsci-accent, #8A4570);
}

.tsci-why3s-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	border-radius: 50%;
	background: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	flex-shrink: 0;
}
.tsci-why3s-item:nth-child(2) .tsci-why3s-num {
	background: var(--tsci-accent-tint, #F2E4EC) !important;
	color: var(--tsci-accent-dark, #5C2C4A) !important;
}

.tsci-why3s-item-text {
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.tsci-why3s-item-text h3 {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}
.tsci-why3s-item-text p {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* ============ TABLET (700px+) ============ */
@media (min-width: 700px) {
	.tsci-why3s-section { padding: 64px 32px; }
	.tsci-why3s-title { font-size: 2.1rem !important; }
}

/* ============ DESKTOP (1024px+) ============ */
@media (min-width: 1024px) {
	.tsci-why3s-section { padding: 88px 32px; }

	.tsci-why3s-inner {
		flex-direction: row;
		align-items: center;
		gap: 56px;
	}
	.tsci-why3s-image-col {
		flex: 1 1 42%;
	}
	.tsci-why3s-content-col {
		flex: 1 1 58%;
	}
	.tsci-why3s-title { font-size: 2.3rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	.tsci-why3s-item { transition: none !important; }
}

/* ============================================================ */
/* CONDITIONS TREATED SECTION 5 */
/* ============================================================ */
/* ============================================================ */
/* THE STEM CELLS INSTITUTE - OUR PROCESS (STEP SWITCHER)       */
/* Relies on the --tsci-* tokens already declared in style.css  */
/* ============================================================ */

.tsci-process {
	background-color: var(--tsci-primary-bg, #F2F6FC) !important;
	padding: 5rem 1.5rem !important;
}

.tsci-process-inner {
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
}

.tsci-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ---------------- Header ---------------- */

.tsci-process-header {
	text-align: center !important;
	max-width: 680px !important;
	margin: 0 auto 3rem auto !important;
}

.tsci-process-badge {
	display: inline-block !important;
	background-color: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	padding: 0.55rem 1.3rem !important;
	border-radius: 999px !important;
	margin-bottom: 1.5rem !important;
}

.tsci-process-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 2rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 1.25rem 0 !important;
}

.tsci-process-subtitle {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1.0625rem !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* ---------------- Step switcher ---------------- */

.tsci-process-fieldset {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 0.6rem !important;
}

.tsci-process-radio {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}

.tsci-process-tab {
	flex: 1 1 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.6rem !important;
	background-color: #FFFFFF !important;
	border: 1px solid var(--tsci-border, #E4E7EC) !important;
	border-radius: 999px !important;
	padding: 0.7rem 1.2rem !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.875rem !important;
	color: var(--tsci-text, #475467) !important;
	text-align: center !important;
	cursor: pointer !important;
	user-select: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.tsci-process-tab-index {
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	border-radius: 50% !important;
	background-color: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary, #1159AF) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.75rem !important;
	transition: background-color 0.2s ease, color 0.2s ease !important;
}

.tsci-process-tab:hover {
	border-color: var(--tsci-primary-tint-border, #B8D0EE) !important;
	background-color: var(--tsci-primary-bg, #F2F6FC) !important;
}

.tsci-process-radio:checked + .tsci-process-tab {
	background-color: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	box-shadow: 0 4px 10px -2px rgba(17, 89, 175, 0.35) !important;
}

.tsci-process-radio:checked + .tsci-process-tab:hover {
	background-color: var(--tsci-primary, #1159AF) !important;
}

.tsci-process-radio:checked + .tsci-process-tab .tsci-process-tab-index {
	background-color: rgba(255, 255, 255, 0.22) !important;
	color: #FFFFFF !important;
}

.tsci-process-radio:focus-visible + .tsci-process-tab {
	outline: 2px solid var(--tsci-accent, #8A4570) !important;
	outline-offset: 2px !important;
}

/* ---------------- Panel ---------------- */

.tsci-process-panel {
	width: 100% !important;
	display: none !important;
	background-color: #FFFFFF !important;
	border: 1px solid var(--tsci-border, #E4E7EC) !important;
	border-radius: 1.25rem !important;
	padding: 2rem !important;
	margin-top: 1.75rem !important;
	gap: 1.75rem !important;
	box-shadow: 0 16px 30px -10px rgba(17, 89, 175, 0.1) !important;
}

.tsci-process-radio:checked + .tsci-process-tab + .tsci-process-panel {
	display: flex !important;
	flex-direction: column !important;
}

.tsci-process-panel-icon {
	width: 64px !important;
	height: 64px !important;
	min-width: 64px !important;
	border-radius: 1rem !important;
	background-color: var(--tsci-primary-tint, #DCE9F8) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.tsci-process-panel-icon svg {
	width: 28px !important;
	height: 28px !important;
	color: var(--tsci-primary, #1159AF) !important;
}

.tsci-process-panel-phase {
	display: inline-block !important;
	align-self: flex-start !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	color: var(--tsci-accent-dark, #5C2C4A) !important;
	background-color: var(--tsci-accent-tint, #F2E4EC) !important;
	padding: 0.3rem 0.7rem !important;
	border-radius: 0.4rem !important;
	margin-bottom: 0.85rem !important;
}

.tsci-process-panel-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 0 0.75rem 0 !important;
}

.tsci-process-panel-text {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.9375rem !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 0 1.25rem 0 !important;
}

.tsci-process-panel-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.65rem !important;
}

.tsci-process-panel-list li {
	position: relative !important;
	padding-left: 1.5rem !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.875rem !important;
	color: var(--tsci-text, #475467) !important;
}

.tsci-process-panel-list li::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 0.4rem !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background-color: var(--tsci-primary, #1159AF) !important;
}

/* ---------------- CTA ---------------- */

.tsci-process-cta-wrap {
	display: flex !important;
	justify-content: center !important;
	margin-top: 3rem !important;
}

.tsci-process-cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.6rem !important;
	background-color: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	text-decoration: none !important;
	padding: 0.95rem 2rem !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 22px -6px rgba(138, 69, 112, 0.4) !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.tsci-process-cta svg {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	transition: transform 0.2s ease !important;
}

.tsci-process-cta:hover,
.tsci-process-cta:focus-visible {
	background-color: var(--tsci-accent-dark, #5C2C4A) !important;
	transform: translateY(-2px) !important;
}

.tsci-process-cta:hover svg {
	transform: translateX(3px) !important;
}

.tsci-process-cta:focus-visible {
	outline: 2px solid var(--tsci-accent-dark, #5C2C4A) !important;
	outline-offset: 3px !important;
}

/* ---------------- Tablet / Desktop ---------------- */

@media (min-width: 640px) {
	.tsci-process { padding: 6rem 2rem !important; }
	.tsci-process-title { font-size: 2.5rem !important; }
	.tsci-process-panel {
		flex-direction: row !important;
		padding: 2.5rem !important;
	}
	.tsci-process-radio:checked + .tsci-process-tab + .tsci-process-panel {
		flex-direction: row !important;
	}
}

@media (min-width: 1024px) {
	.tsci-process-title { font-size: 2.75rem !important; }
}

/* ---------------- Reduced motion ---------------- */

@media (prefers-reduced-motion: reduce) {
	.tsci-process-tab,
	.tsci-process-tab-index,
	.tsci-process-cta,
	.tsci-process-cta svg {
		transition: none !important;
	}
	.tsci-process-cta:hover { transform: none !important; }
}

/* ============================================================ */
/* CONDITIONS TREATED SECTION 6 */
/* ============================================================ */
/* ============================================================ */
/* THE STEM CELLS INSTITUTE - TESTIMONIALS                      */
/* Plum-tinted background to separate this section visually     */
/* from the primary-blue-tinted sections around it.             */
/* ============================================================ */

.tsci-testimonials {
	background-color: var(--tsci-accent-tint, #F2E4EC) !important;
	padding: 5rem 1.5rem !important;
}

.tsci-testimonials-inner {
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
}

/* ---------------- Header ---------------- */

.tsci-testimonials-header {
	text-align: center !important;
	max-width: 680px !important;
	margin: 0 auto 3.5rem auto !important;
}

.tsci-testimonials-badge {
	display: inline-block !important;
	background-color: var(--tsci-accent, #8A4570) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	padding: 0.55rem 1.3rem !important;
	border-radius: 999px !important;
	margin-bottom: 1.5rem !important;
}

.tsci-testimonials-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 2rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 1.25rem 0 !important;
}

.tsci-testimonials-subtitle {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1.0625rem !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* ---------------- Grid ---------------- */

.tsci-testimonials-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.75rem !important;
}

@media (min-width: 768px) {
	.tsci-testimonials-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (min-width: 1024px) {
	.tsci-testimonials-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ---------------- Card ---------------- */

.tsci-testimonial-card {
	background-color: #FFFFFF !important;
	border: 1px solid var(--tsci-accent-tint-border, #E3C7D6) !important;
	border-radius: 1.25rem !important;
	padding: 2rem !important;
	display: flex !important;
	flex-direction: column !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}

.tsci-testimonial-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 18px 30px -10px rgba(92, 44, 74, 0.16) !important;
}

.tsci-testimonial-quote {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	color: var(--tsci-accent, #8A4570) !important;
	opacity: 0.35 !important;
	margin-bottom: 1rem !important;
}

.tsci-testimonial-text {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.9375rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 0 1.75rem 0 !important;
	flex-grow: 1 !important;
}

.tsci-testimonial-footer {
	display: flex !important;
	align-items: center !important;
	gap: 0.85rem !important;
	padding-top: 1.25rem !important;
	border-top: 1px solid var(--tsci-border, #E4E7EC) !important;
}

.tsci-testimonial-avatar {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	border-radius: 50% !important;
	background-color: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary, #1159AF) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.875rem !important;
}

.tsci-testimonial-person {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
}

.tsci-testimonial-name {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.9375rem !important;
	color: var(--tsci-ink, #101828) !important;
}

.tsci-testimonial-meta {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.8125rem !important;
	color: var(--tsci-text, #475467) !important;
}

/* ---------------- Tablet / Desktop ---------------- */

@media (min-width: 640px) {
	.tsci-testimonials { padding: 6rem 2rem !important; }
	.tsci-testimonials-title { font-size: 2.5rem !important; }
}

@media (min-width: 1024px) {
	.tsci-testimonials-title { font-size: 2.75rem !important; }
}

/* ---------------- Reduced motion ---------------- */

@media (prefers-reduced-motion: reduce) {
	.tsci-testimonial-card {
		transition: none !important;
	}
}

/* ============================================================ */
/* CONDITIONS TREATED SECTION 7 */
/* ============================================================ */
/* ============================================================ */
/* THE STEM CELLS INSTITUTE - FINAL CTA BANNER                  */
/* Full-bleed primary-blue gradient, reused pattern technique    */
/* from the single-post hero, for a strong closing moment.       */
/* ============================================================ */

.tsci-finalcta {
	position: relative !important;
	background: linear-gradient(135deg, var(--tsci-primary-dark, #0C3F7D) 0%, var(--tsci-primary, #1159AF) 100%) !important;
	padding: 5rem 1.5rem !important;
	text-align: center !important;
	overflow: hidden !important;
}

.tsci-finalcta::before {
	content: '' !important;
	position: absolute !important;
	top: 0; left: 0; right: 0; bottom: 0;
	background-image: url('data:image/svg+xml,%3Csvg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%23ffffff" fill-opacity="0.06"%3E%3Cpath d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E') !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.tsci-finalcta-inner {
	position: relative !important;
	z-index: 1 !important;
	max-width: 720px !important;
	margin: 0 auto !important;
}

.tsci-finalcta-badge {
	display: inline-block !important;
	background-color: rgba(255, 255, 255, 0.14) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	padding: 0.5rem 1.25rem !important;
	border-radius: 999px !important;
	margin-bottom: 1.5rem !important;
}

.tsci-finalcta-title {
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-size: 2rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: #FFFFFF !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 1.25rem 0 !important;
}

.tsci-finalcta-text {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 1.0625rem !important;
	line-height: 1.7 !important;
	color: #D6E4F7 !important;
	margin: 0 0 2.25rem 0 !important;
}

.tsci-finalcta-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.6rem !important;
	background-color: #FFFFFF !important;
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	font-family: 'Plus Jakarta Sans', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	text-decoration: none !important;
	padding: 0.95rem 2.1rem !important;
	border-radius: 999px !important;
	box-shadow: 0 12px 26px -6px rgba(0, 0, 0, 0.28) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.tsci-finalcta-btn svg {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	transition: transform 0.2s ease !important;
}

.tsci-finalcta-btn:hover,
.tsci-finalcta-btn:focus-visible {
	color: var(--tsci-primary-dark, #0C3F7D) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 16px 32px -6px rgba(0, 0, 0, 0.34) !important;
}

.tsci-finalcta-btn:hover svg {
	transform: translateX(3px) !important;
}

.tsci-finalcta-btn:focus-visible {
	outline: 2px solid #FFFFFF !important;
	outline-offset: 3px !important;
}

.tsci-finalcta-trust {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.6rem !important;
	margin-top: 1.75rem !important;
}

.tsci-finalcta-trust-item {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	font-family: 'Work Sans', sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #BBD1EC !important;
}

.tsci-finalcta-trust-item svg {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	color: #7FE8B8 !important;
}

/* ---------------- Tablet / Desktop ---------------- */

@media (min-width: 640px) {
	.tsci-finalcta { padding: 6rem 2rem !important; }
	.tsci-finalcta-title { font-size: 2.5rem !important; }

	.tsci-finalcta-trust {
		flex-direction: row !important;
		justify-content: center !important;
		gap: 2rem !important;
	}
}

@media (min-width: 1024px) {
	.tsci-finalcta-title { font-size: 2.75rem !important; }
}

/* ---------------- Reduced motion ---------------- */

@media (prefers-reduced-motion: reduce) {
	.tsci-finalcta-btn,
	.tsci-finalcta-btn svg {
		transition: none !important;
	}
	.tsci-finalcta-btn:hover { transform: none !important; }
}

/* ============================================================ */
/* THE STEM CELLS INSTITUTE — CONTACT US PAGE                   */
/* ============================================================ */

.tsci-contact-hero-section {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%) !important;
    padding: 5rem 1.5rem 3.5rem 1.5rem !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.tsci-contact-hero-section * { box-sizing: border-box !important; }
.tsci-contact-hero-section br { display: none !important; }

.tsci-contact-hero-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.tsci-contact-hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: var(--tsci-primary-tint, #DCE9F8) !important;
    color: var(--tsci-primary, #1159AF) !important;
    border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 0.45rem 1.15rem !important;
    border-radius: 9999px !important;
    margin-bottom: 1.25rem !important;
}

.tsci-contact-hero-badge svg {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    color: var(--tsci-primary, #1159AF) !important;
}

.tsci-contact-hero-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 3.25rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    line-height: 1.15 !important;
    max-width: 800px !important;
    margin: 0 auto 1.25rem auto !important;
    letter-spacing: -0.02em !important;
}

@media (max-width: 768px) {
    .tsci-contact-hero-title { font-size: 2.25rem !important; }
}

.tsci-contact-hero-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 auto !important;
    max-width: 800px !important;
}

.tsci-contact-main-section {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    padding: 2.5rem 1.5rem 6rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.tsci-contact-main-section * { box-sizing: border-box !important; }
.tsci-contact-main-section br { display: none !important; }

.tsci-contact-grid-container {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    align-items: start !important;
}

@media (min-width: 1024px) {
    .tsci-contact-grid-container {
        grid-template-columns: 4.5fr 7.5fr !important;
        gap: 3.5rem !important;
    }
}

/* Info Cards Sidebar */
.tsci-contact-info-panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
}

.tsci-contact-info-header {
    margin-bottom: 0.5rem !important;
}

.tsci-contact-info-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: var(--tsci-primary-tint, #DCE9F8) !important;
    color: var(--tsci-primary, #1159AF) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 0.35rem 0.95rem !important;
    border-radius: 9999px !important;
    margin-bottom: 0.75rem !important;
}

.tsci-contact-info-header h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.85rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 0.75rem 0 !important;
}

.tsci-contact-info-header p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

.tsci-contact-card-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
}

.tsci-contact-info-card {
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.25rem !important;
    padding: 1.35rem 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1.25rem !important;
    box-shadow: 0 10px 25px -5px rgba(12, 63, 125, 0.05) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
    text-decoration: none !important;
}

.tsci-contact-info-card:hover {
    transform: translateY(-4px) !important;
    border-color: var(--tsci-primary-tint-border, #B8D0EE) !important;
    box-shadow: 0 18px 28px -5px rgba(12, 63, 125, 0.08) !important;
}

.tsci-contact-card-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--tsci-primary, #1159AF) !important;
    flex-shrink: 0 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.tsci-contact-info-card:hover .tsci-contact-card-icon {
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-contact-card-icon svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
}

.tsci-contact-card-content {
    display: flex !important;
    flex-direction: column !important;
}

.tsci-contact-card-label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.813rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #7A8B9E !important;
    margin-bottom: 0.25rem !important;
}

.tsci-contact-card-val {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.063rem !important;
    font-weight: 600 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
}

/* Contact Form Card */
.tsci-contact-form-card {
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.5rem !important;
    padding: 2.5rem 2rem !important;
    box-shadow: 0 20px 48px -12px rgba(16, 24, 40, 0.12) !important;
}

@media (min-width: 768px) {
    .tsci-contact-form-card { padding: 3.5rem 3rem !important; }
}

.tsci-contact-form-card-header {
    margin-bottom: 2rem !important;
}

.tsci-contact-form-card-header h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 0.5rem 0 !important;
}

.tsci-contact-form-card-header p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1rem !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

/* Contact Form Layout & Inputs */
.tsci-contact-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
}

.tsci-contact-form .tsci-form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
}

@media (min-width: 640px) {
    .tsci-contact-form .tsci-form-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .tsci-contact-form .tsci-form-row.tsci-form-row-full {
        grid-template-columns: 1fr !important;
    }
}

.tsci-contact-form .tsci-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.45rem !important;
    position: relative !important;
}

.tsci-contact-form .tsci-field label {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--tsci-ink, #101828) !important;
}

.tsci-contact-form .tsci-field label .tsci-req {
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-contact-form .tsci-field input,
.tsci-contact-form .tsci-field select,
.tsci-contact-form .tsci-field textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 0.75rem !important;
    padding: 0.85rem 1rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    color: var(--tsci-ink, #101828) !important;
    outline: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.tsci-contact-form .tsci-field input::placeholder,
.tsci-contact-form .tsci-field textarea::placeholder {
    color: #94A3B8 !important;
}

.tsci-contact-form .tsci-field input:focus,
.tsci-contact-form .tsci-field select:focus,
.tsci-contact-form .tsci-field textarea:focus {
    border-color: var(--tsci-primary, #1159AF) !important;
    box-shadow: 0 0 0 3px rgba(17, 89, 175, 0.18) !important;
}

.tsci-contact-form .tsci-field select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231159AF' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 16px !important;
    padding-right: 2.5rem !important;
    cursor: pointer !important;
}

.tsci-contact-form .tsci-field textarea {
    resize: vertical !important;
    min-height: 110px !important;
}

.tsci-contact-form .tsci-consent-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
    margin-top: 0.25rem !important;
}

.tsci-checkbox-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.65rem !important;
    cursor: pointer !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.8125rem !important;
    line-height: 1.55 !important;
    color: var(--tsci-text, #475467) !important;
}

.tsci-checkbox-label input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    margin-top: 2px !important;
    accent-color: var(--tsci-primary, #1159AF) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.tsci-checkbox-label .tsci-req {
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-contact-submit-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.65rem !important;
    width: 100% !important;
    background-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    padding: 1rem 1.5rem !important;
    border: none !important;
    border-radius: 9999px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(17, 89, 175, 0.28) !important;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
    margin-top: 0.5rem !important;
}

.tsci-contact-submit-btn:hover {
    background-color: var(--tsci-accent, #8A4570) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px -4px rgba(138, 69, 112, 0.35) !important;
}

.tsci-contact-submit-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.tsci-contact-submit-btn svg {
    transition: transform 0.2s ease !important;
}

.tsci-contact-submit-btn:hover svg {
    transform: translateX(4px) !important;
}

/* Form Success & Error States */
.tsci-form-success-banner {
    display: none;
    background-color: #ECFDF3 !important;
    border: 1px solid #A6F4C5 !important;
    border-radius: 1rem !important;
    padding: 2rem !important;
    text-align: center !important;
    color: #027A48 !important;
}

.tsci-form-success-banner.is-active {
    display: block !important;
}

.tsci-form-success-banner h4 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    margin: 0 0 0.5rem 0 !important;
    color: #027A48 !important;
}

.tsci-form-success-banner p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.tsci-field-error {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.75rem !important;
    color: #D92D20 !important;
    font-weight: 600 !important;
    display: none;
    margin-top: 0.25rem !important;
}

.tsci-field-error.is-visible {
    display: block !important;
}

.field-invalid-state {
    border-color: #FDA29B !important;
    background-color: #FEF3F2 !important;
}

.tsci-submit-spinner {
    display: none;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #FFFFFF;
    border-radius: 50%;
    animation: tsci-spin 0.8s linear infinite;
}

@keyframes tsci-spin {
    to { transform: rotate(360deg); }
}


/* ============================================================ */
/* THE STEM CELLS INSTITUTE — 404 ERROR PAGE                    */
/* ============================================================ */

.tsci-404-section, .tsci-404-wrapper {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%) !important;
    padding: 5rem 1.5rem 6rem 1.5rem !important;
    text-align: center !important;
    min-height: 70vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.tsci-404-section * { box-sizing: border-box !important; }
.tsci-404-section br { display: none !important; }

.tsci-404-container {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.tsci-404-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    border: 1px solid var(--tsci-accent-tint-border, #E3C7D6) !important;
    color: var(--tsci-accent, #8A4570) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 0.4rem 1.15rem !important;
    border-radius: 9999px !important;
    margin-bottom: 1.25rem !important;
}

.tsci-404-badge-dot {
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    border-radius: 50% !important;
    background-color: var(--tsci-accent, #8A4570) !important;
}

.tsci-404-code {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 6.5rem !important;
    font-weight: 800 !important;
    color: var(--tsci-primary, #1159AF) !important;
    line-height: 1 !important;
    margin: 0 0 1rem 0 !important;
    letter-spacing: -0.04em !important;
}

@media (min-width: 768px) {
    .tsci-404-code { font-size: 8.5rem !important; }
}

.tsci-404-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 1.25rem 0 !important;
    letter-spacing: -0.02em !important;
}

@media (min-width: 768px) {
    .tsci-404-title { font-size: 2.75rem !important; }
}

.tsci-404-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
    color: var(--tsci-text, #475467) !important;
    max-width: 620px !important;
    margin: 0 0 2.25rem 0 !important;
}

.tsci-404-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.85rem !important;
    justify-content: center !important;
    margin-bottom: 3.5rem !important;
}

.tsci-404-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.6rem !important;
    background-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    padding: 0.85rem 1.75rem !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(17, 89, 175, 0.28) !important;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.tsci-404-btn-primary:hover {
    background-color: var(--tsci-accent, #8A4570) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px -4px rgba(138, 69, 112, 0.35) !important;
}

.tsci-404-btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.6rem !important;
    background-color: #FFFFFF !important;
    color: var(--tsci-primary, #1159AF) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    padding: 0.85rem 1.75rem !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(12, 63, 125, 0.04) !important;
    transition: all 0.2s ease !important;
}

.tsci-404-btn-secondary:hover {
    border-color: var(--tsci-accent-tint-border, #E3C7D6) !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    color: var(--tsci-accent, #8A4570) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px -2px rgba(138, 69, 112, 0.18) !important;
}

/* Quick Links Grid */
.tsci-404-links-wrapper {
    width: 100% !important;
    max-width: 780px !important;
    border-top: 1px solid var(--tsci-border, #E4E7EC) !important;
    padding-top: 3rem !important;
}

.tsci-404-links-heading {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 1.5rem 0 !important;
    text-align: center !important;
}

.tsci-404-quick-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
}

@media (min-width: 640px) {
    .tsci-404-quick-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.25rem !important;
    }
}

.tsci-404-quick-card {
    background: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.15rem !important;
    padding: 1.25rem 1.35rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    text-decoration: none !important;
    text-align: left !important;
    box-shadow: 0 4px 14px rgba(12, 63, 125, 0.03) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.tsci-404-quick-card:hover {
    transform: translateY(-3px) !important;
    border-color: var(--tsci-primary-tint-border, #B8D0EE) !important;
    box-shadow: 0 12px 28px -6px rgba(12, 63, 125, 0.09) !important;
}

.tsci-404-quick-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 10px !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    color: var(--tsci-primary, #1159AF) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.tsci-404-quick-card:hover .tsci-404-quick-icon {
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    color: var(--tsci-accent, #8A4570) !important;
}

.tsci-404-quick-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.15rem !important;
    flex-grow: 1 !important;
}

.tsci-404-quick-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
}

.tsci-404-quick-sub {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.8125rem !important;
    color: var(--tsci-text, #475467) !important;
}

.tsci-404-quick-arrow {
    color: #94A3B8 !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
    flex-shrink: 0 !important;
}

.tsci-404-quick-card:hover .tsci-404-quick-arrow {
    transform: translateX(4px) !important;
    color: var(--tsci-primary, #1159AF) !important;
}

/* ============================================================ */
/* THE STEM CELLS INSTITUTE — INDIVIDUAL CONDITION PAGES        */
/* Standardized 12-Section Clinical Architecture               */
/* ============================================================ */

/* ============================================================ */
/* THE STEM CELLS INSTITUTE — CONDITION DETAIL PAGES (12 SECS)  */
/* Standardized 12-Section Clinical Architecture (1280px standard) */
/* ============================================================ */

/* Condition Page Container Boundary */
.tsci-condition-hero-inner,
.tsci-condition-overview-inner,
.tsci-condition-symptoms-inner,
.tsci-condition-mechanisms-inner,
.tsci-condition-journey-inner,
.tsci-condition-motivations-inner,
.tsci-candidacy-inner,
.tsci-condition-why-inner,
.tsci-condition-benefits-inner,
.tsci-condition-results-inner,
.tsci-condition-faq-inner,
.tsci-condition-form-inner {
    max-width: var(--tsci-max-width, 1280px) !important;
    width: 100% !important;
    margin-inline: auto !important;
    padding-inline: var(--tsci-gutter, 24px) !important;
    box-sizing: border-box !important;
}

/* Common Section Badges & Titles */
.tsci-condition-section-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    border: 1px solid rgba(138, 69, 112, 0.22) !important;
    color: var(--tsci-accent, #8A4570) !important;
    padding: 0.375rem 0.875rem !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.813rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 1rem !important;
}

.tsci-condition-section-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 1rem 0 !important;
    letter-spacing: -0.02em !important;
}

@media (max-width: 767px) {
    .tsci-condition-section-title { font-size: 1.85rem !important; }
}

/* Site-Wide Internal Link Styling (Brand Purple #8A4570, Normal Weight, Bold on Hover, No Underline) */
a.tsci-internal-link,
.tsci-condition-inner a.tsci-internal-link,
.tsci-condition-overview-content a.tsci-internal-link,
.tsci-motivations-card a.tsci-internal-link,
.tsci-candidacy-box a.tsci-internal-link,
.tsci-cond-faq-answer a.tsci-internal-link,
.tsci-condition-inner p a:not(.tsci-condition-btn-primary):not(.tsci-candidacy-btn):not(.tsci-form-submit-btn):not(.tsci-form-privacy-link) {
    color: var(--tsci-accent, #8A4570) !important;
    font-weight: inherit !important;
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    transition: color 0.2s ease, font-weight 0.2s ease, opacity 0.2s ease !important;
}

a.tsci-internal-link:hover,
.tsci-condition-inner a.tsci-internal-link:hover,
.tsci-condition-overview-content a.tsci-internal-link:hover,
.tsci-motivations-card a.tsci-internal-link:hover,
.tsci-candidacy-box a.tsci-internal-link:hover,
.tsci-cond-faq-answer a.tsci-internal-link:hover,
.tsci-condition-inner p a:not(.tsci-condition-btn-primary):not(.tsci-candidacy-btn):not(.tsci-form-submit-btn):not(.tsci-form-privacy-link):hover {
    color: var(--tsci-accent-dark, #5C2C4A) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    opacity: 0.85 !important;
}

/* Section 1: Hero — Deep Biocellular Horizon (Approved Direction) */
.tsci-condition-hero-section {
    position: relative !important;
    width: 100% !important;
    padding: 6.25rem 1.5rem 5.25rem 1.5rem !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background-color: #EDF3FB !important;
    background-image:
        /* 1. Luminous reading center (ensures text remains 100% crisp & readable) */
        radial-gradient(ellipse 650px 380px at 50% 40%, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.5) 65%, transparent 100%),
        /* 2. Deep Left Azure Anchor */
        radial-gradient(circle 520px at 4% 12%, rgba(12, 63, 125, 0.28) 0%, rgba(17, 89, 175, 0.14) 45%, transparent 75%),
        /* 3. Deep Right Plum Anchor */
        radial-gradient(circle 520px at 96% 14%, rgba(92, 44, 74, 0.28) 0%, rgba(138, 69, 112, 0.14) 45%, transparent 75%),
        /* 4. Upper Cross-Gradient Wash */
        linear-gradient(135deg, rgba(17, 89, 175, 0.18) 0%, rgba(220, 233, 248, 0.60) 30%, rgba(242, 228, 236, 0.55) 70%, rgba(138, 69, 112, 0.20) 100%),
        /* 5. Smooth linear cascade to white */
        linear-gradient(180deg, #E6F0FA 0%, #F5F8FC 45%, #FFFFFF 100%) !important;
    border-bottom: 1px solid rgba(17, 89, 175, 0.15) !important;
}
.tsci-condition-hero-section * { box-sizing: border-box !important; }
.tsci-condition-hero-section br { display: none !important; }

/* Atmospheric Canopy Layer */
.tsci-condition-hero-section::before {
    content: '' !important;
    position: absolute !important;
    top: -140px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1100px !important;
    height: 420px !important;
    background: radial-gradient(ellipse 70% 50% at 50% 50%, rgba(138, 69, 112, 0.32) 0%, rgba(17, 89, 175, 0.28) 45%, transparent 80%) !important;
    filter: blur(80px) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Grounding Soft Transition into Section 2 */
.tsci-condition-hero-section::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 75px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.tsci-condition-hero-inner {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1060px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Glassmorphic Treatment Badge */
.tsci-condition-hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1.5px solid rgba(138, 69, 112, 0.40) !important;
    color: var(--tsci-accent-dark, #5C2C4A) !important;
    padding: 0.45rem 1.25rem !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.813rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    margin-bottom: 1.45rem !important;
    box-shadow: 0 4px 16px -2px rgba(138, 69, 112, 0.24), 0 2px 4px rgba(17, 89, 175, 0.12) !important;
}

/* High-Contrast Dominant Title */
.tsci-condition-hero-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 3.35rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #0F172A) !important;
    line-height: 1.16 !important;
    margin: 0 0 1.35rem 0 !important;
    letter-spacing: -0.025em !important;
    max-width: 960px !important;
}

/* Legible Clinical Description */
.tsci-condition-hero-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.75 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 0 2.25rem 0 !important;
    max-width: 840px !important;
}

.tsci-condition-hero-actions {
    display: flex !important;
    gap: 1rem !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

/* Primary Consultation CTA with Medical Blue Depth */
.tsci-condition-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background: linear-gradient(135deg, #1159AF 0%, #0D4E9D 100%) !important;
    color: #FFFFFF !important;
    padding: 0.95rem 2.25rem !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 6px 20px -3px rgba(17, 89, 175, 0.42), 0 2px 6px -1px rgba(138, 69, 112, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tsci-condition-btn-primary:hover {
    background: linear-gradient(135deg, #8A4570 0%, #6E3358 100%) !important;
    box-shadow: 0 8px 24px -2px rgba(138, 69, 112, 0.45) !important;
    transform: translateY(-2px) !important;
    color: #FFFFFF !important;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
    .tsci-condition-hero-section {
        padding: 5.5rem 1.5rem 4.5rem 1.5rem !important;
    }
    .tsci-condition-hero-title {
        font-size: 2.85rem !important;
    }
}

@media (max-width: 768px) {
    .tsci-condition-hero-section {
        padding: 4.5rem 1.25rem 3.75rem 1.25rem !important;
    }
    .tsci-condition-hero-title {
        font-size: 2.25rem !important;
        line-height: 1.2 !important;
    }
    .tsci-condition-hero-desc {
        font-size: 1.05rem !important;
        margin-bottom: 1.75rem !important;
    }
    .tsci-condition-hero-badge {
        font-size: 0.75rem !important;
        padding: 0.38rem 1rem !important;
        white-space: normal !important;
        text-align: center !important;
    }
}

@media (max-width: 480px) {
    .tsci-condition-hero-section {
        padding: 3.75rem 1rem 3.25rem 1rem !important;
    }
    .tsci-condition-hero-title {
        font-size: 1.85rem !important;
        line-height: 1.22 !important;
    }
    .tsci-condition-hero-desc {
        font-size: 0.98rem !important;
        line-height: 1.65 !important;
    }
    .tsci-condition-btn-primary {
        width: 100% !important;
        justify-content: center !important;
        padding: 0.875rem 1.5rem !important;
    }
}

/* Section 2: Clinical Definition / Overview */
.tsci-condition-overview-section {
    background-color: #FFFFFF !important;
    padding: 5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-overview-section * { box-sizing: border-box !important; }
.tsci-condition-overview-section br { display: none !important; }

.tsci-condition-overview-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3.5rem !important;
    align-items: center !important;
}

@media (min-width: 992px) {
    .tsci-condition-overview-grid {
        grid-template-columns: 1.15fr 0.85fr !important;
    }
}

.tsci-condition-overview-content p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.063rem !important;
    line-height: 1.8 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 0 1.5rem 0 !important;
}

.tsci-condition-overview-content p:last-child {
    margin-bottom: 0 !important;
}

.tsci-condition-overview-media {
    border-radius: 1.25rem !important;
    overflow: hidden !important;
    box-shadow: 0 20px 40px -10px rgba(17, 89, 175, 0.12) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    aspect-ratio: auto !important;
    height: auto !important;
    background-color: #EAEFF6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tsci-condition-overview-img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
}

/* Section 3: Symptoms & Challenges Grid (6 Cards) */
.tsci-condition-symptoms-section {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    padding: 5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-symptoms-section * { box-sizing: border-box !important; }
.tsci-condition-symptoms-section br { display: none !important; }

.tsci-section-header-center {
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto 3.5rem auto !important;
}

.tsci-section-header-center p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.063rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

.tsci-symptom-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
}

@media (min-width: 768px) {
    .tsci-symptom-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (min-width: 1024px) {
    .tsci-symptom-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

.tsci-symptom-card {
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.25rem !important;
    padding: 2rem !important;
    box-shadow: 0 10px 25px -5px rgba(12, 63, 125, 0.05) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.tsci-symptom-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 22px 30px -5px rgba(12, 63, 125, 0.08) !important;
}

.tsci-symptom-icon-wrap {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid rgba(138, 69, 112, 0.12) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--tsci-primary, #1159AF) !important;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease !important;
}

.tsci-symptom-card:hover .tsci-symptom-icon-wrap {
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    border-color: rgba(138, 69, 112, 0.3) !important;
    color: var(--tsci-accent, #8A4570) !important;
    transform: scale(1.05) !important;
}

.tsci-symptom-card h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
}

.tsci-symptom-card p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

/* Section 4: Biological Mechanisms (5 Cards) */
.tsci-condition-mechanisms-section {
    background-color: #FFFFFF !important;
    padding: 5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-mechanisms-section * { box-sizing: border-box !important; }
.tsci-condition-mechanisms-section br { display: none !important; }

.tsci-mechanisms-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
}

@media (min-width: 768px) {
    .tsci-mechanisms-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (min-width: 1024px) {
    .tsci-mechanisms-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

.tsci-mechanism-card {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
    border-radius: 1.25rem !important;
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.tsci-mechanism-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 28px -5px rgba(12, 63, 125, 0.08) !important;
    border-color: var(--tsci-accent-tint-border, #E3C7D6) !important;
}

.tsci-mechanism-number {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    color: var(--tsci-accent, #8A4570) !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(138, 69, 112, 0.25) !important;
}

.tsci-mechanism-card h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
}

.tsci-mechanism-card p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

/* Section 5: Care Journey Timeline (6 Steps + Media) */
.tsci-condition-journey-section {
    background: linear-gradient(180deg, var(--tsci-primary-bg, #F2F6FC) 0%, #FFFFFF 100%) !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-journey-section * { box-sizing: border-box !important; }
.tsci-condition-journey-section br { display: none !important; }

.tsci-timeline-container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
}

@media (min-width: 768px) {
    .tsci-timeline-container { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (min-width: 1024px) {
    .tsci-timeline-container { grid-template-columns: repeat(3, 1fr) !important; }
}

.tsci-timeline-card {
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.25rem !important;
    padding: 2rem 1.75rem !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    box-shadow: 0 10px 25px -5px rgba(12, 63, 125, 0.05) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.tsci-timeline-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 30px -5px rgba(12, 63, 125, 0.08) !important;
}

.tsci-timeline-step-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--tsci-accent, #8A4570) !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    border: 1px solid rgba(138, 69, 112, 0.2) !important;
    padding: 0.35rem 0.85rem !important;
    border-radius: 9999px !important;
    width: fit-content !important;
}

.tsci-timeline-card h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
}

.tsci-timeline-card p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

.tsci-journey-media-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    margin-top: 3rem !important;
    align-items: start !important;
}

@media (min-width: 768px) {
    .tsci-journey-media-strip {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.tsci-journey-media-item {
    border-radius: 1.25rem !important;
    overflow: hidden !important;
    box-shadow: 0 16px 36px rgba(17, 89, 175, 0.1) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    aspect-ratio: auto !important;
    height: auto !important;
    background-color: #EAEFF6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tsci-journey-img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
}

/* Section 6: Patient Motivations */
.tsci-condition-motivations-section {
    background-color: #FFFFFF !important;
    padding: 5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-motivations-section * { box-sizing: border-box !important; }
.tsci-condition-motivations-section br { display: none !important; }

.tsci-motivations-card {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.5rem !important;
    padding: 3rem 2.5rem !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
}

.tsci-motivations-card p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.063rem !important;
    line-height: 1.8 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 0 1.5rem 0 !important;
}

.tsci-motivations-card p:last-child {
    margin-bottom: 0 !important;
}

/* Section 7: Candidacy Assessment Box */
.tsci-candidacy-section {
    background-color: #FFFFFF !important;
    padding: 5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-candidacy-section * { box-sizing: border-box !important; }
.tsci-candidacy-section br { display: none !important; }

.tsci-candidacy-box {
    position: relative !important;
    overflow: hidden !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    background: linear-gradient(135deg, var(--tsci-primary-dark, #0C3F7D) 0%, var(--tsci-primary, #1159AF) 100%) !important;
    color: #FFFFFF !important;
    border-radius: 1.5rem !important;
    padding: 3.5rem 2.5rem !important;
    text-align: center !important;
    box-shadow: 0 20px 48px -12px rgba(12, 63, 125, 0.3) !important;
}

.tsci-candidacy-shield-bg {
    position: absolute !important;
    right: -20px !important;
    bottom: -30px !important;
    width: 240px !important;
    height: auto !important;
    opacity: 0.12 !important;
    pointer-events: none !important;
}

.tsci-candidacy-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #FFFFFF !important;
    padding: 0.375rem 0.875rem !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.813rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 1.25rem !important;
}

.tsci-candidacy-box h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin: 0 0 1.25rem 0 !important;
}

.tsci-candidacy-box p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
    color: var(--tsci-primary-tint, #DCE9F8) !important;
    max-width: 800px !important;
    margin: 0 auto 2.5rem auto !important;
}

.tsci-candidacy-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: #FFFFFF !important;
    color: var(--tsci-primary, #1159AF) !important;
    padding: 0.875rem 2rem !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.tsci-candidacy-btn:hover {
    background-color: var(--tsci-accent, #8A4570) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

/* Section 8: Why Choose Us (4 Pillars) */
.tsci-condition-why-section {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-why-section * { box-sizing: border-box !important; }
.tsci-condition-why-section br { display: none !important; }

.tsci-pillar-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
}

@media (min-width: 640px) {
    .tsci-pillar-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (min-width: 1024px) {
    .tsci-pillar-grid { grid-template-columns: repeat(4, 1fr) !important; }
}

.tsci-pillar-card {
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.25rem !important;
    padding: 2rem 1.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    box-shadow: 0 4px 20px rgba(16, 24, 40, 0.05) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.tsci-pillar-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 16px 32px rgba(17, 89, 175, 0.1) !important;
}

.tsci-pillar-icon-wrap {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    background-color: var(--tsci-accent-tint, #F2E4EC) !important;
    border: 1px solid rgba(138, 69, 112, 0.2) !important;
    color: var(--tsci-accent, #8A4570) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}

.tsci-pillar-card:hover .tsci-pillar-icon-wrap {
    background-color: var(--tsci-accent, #8A4570) !important;
    color: #FFFFFF !important;
    transform: scale(1.05) !important;
}

.tsci-pillar-card h3 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
}

.tsci-pillar-card p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

/* Section 9: Key Benefits (6 Items) */
.tsci-condition-benefits-section {
    background-color: #FFFFFF !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-benefits-section * { box-sizing: border-box !important; }
.tsci-condition-benefits-section br { display: none !important; }

.tsci-benefit-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
}

@media (min-width: 640px) {
    .tsci-benefit-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (min-width: 1024px) {
    .tsci-benefit-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

.tsci-benefit-card {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
    border-radius: 1rem !important;
    padding: 1.5rem 1.75rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.tsci-benefit-card:hover {
    transform: translateY(-3px) !important;
    border-color: var(--tsci-accent, #8A4570) !important;
}

.tsci-benefit-check {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 50% !important;
    background-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tsci-benefit-text {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
}

/* Section 10: Clinical Results (4 Stat Cards) */
.tsci-condition-results-section {
    background: linear-gradient(135deg, var(--tsci-primary-dark, #0C3F7D) 0%, var(--tsci-primary, #1159AF) 100%) !important;
    color: #FFFFFF !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-results-section * { box-sizing: border-box !important; }
.tsci-condition-results-section br { display: none !important; }

.tsci-condition-results-section .tsci-condition-section-title {
    color: #FFFFFF !important;
}

.tsci-condition-results-section .tsci-condition-section-badge {
    background-color: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #FFFFFF !important;
}

.tsci-result-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
}

@media (min-width: 1024px) {
    .tsci-result-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

@media (max-width: 480px) {
    .tsci-result-stat-grid {
        gap: 0.75rem !important;
    }
}

.tsci-result-stat-card {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 1.25rem !important;
    padding: 2.25rem 1.5rem !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    backdrop-filter: blur(8px) !important;
    transition: transform 0.25s ease, background 0.25s ease !important;
}

@media (max-width: 480px) {
    .tsci-result-stat-card {
        padding: 1.5rem 0.75rem !important;
    }
}

.tsci-result-stat-card:hover {
    transform: translateY(-5px) !important;
    background: rgba(255, 255, 255, 0.14) !important;
}

.tsci-result-stat-value {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 3rem !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    line-height: 1.1 !important;
}

@media (max-width: 480px) {
    .tsci-result-stat-value {
        font-size: 2.25rem !important;
    }
}

.tsci-result-stat-label {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--tsci-primary-tint, #DCE9F8) !important;
}

@media (max-width: 480px) {
    .tsci-result-stat-label {
        font-size: 0.875rem !important;
    }
}

/* Section 11: Condition FAQs (CSS-Only Checkbox Accordion) */
.tsci-condition-faq-section {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-faq-section * { box-sizing: border-box !important; }
.tsci-condition-faq-section br { display: none !important; }

.tsci-cond-faq-accordion {
    max-width: 900px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
}

.tsci-cond-faq-item {
    background: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.tsci-cond-faq-item:hover {
    border-color: var(--tsci-primary-tint-border, #B8D0EE) !important;
    box-shadow: 0 4px 16px rgba(12, 63, 125, 0.04) !important;
}

.tsci-cond-faq-input {
    display: none !important;
}

.tsci-cond-faq-label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1.35rem 1.75rem !important;
    cursor: pointer !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
    user-select: none !important;
    margin: 0 !important;
}

.tsci-cond-faq-label .tsci-faq-icon {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    color: var(--tsci-primary, #1159AF) !important;
    transition: transform 0.25s ease !important;
    flex-shrink: 0 !important;
}

.tsci-cond-faq-input:checked ~ .tsci-cond-faq-label .tsci-faq-icon {
    transform: rotate(180deg) !important;
}

.tsci-cond-faq-answer {
    display: none !important;
    padding: 0 1.75rem 1.5rem 1.75rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
    color: var(--tsci-text, #475467) !important;
    border-top: 1px solid #F2F4F7 !important;
    padding-top: 1rem !important;
}

.tsci-cond-faq-answer p {
    margin: 0 !important;
}

.tsci-cond-faq-input:checked ~ .tsci-cond-faq-answer {
    display: block !important;
}

/* Section 12: Consultation Form CTA */
.tsci-condition-form-section {
    background-color: #FFFFFF !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-condition-form-section * { box-sizing: border-box !important; }
.tsci-condition-form-section br { display: none !important; }

.tsci-condition-form-card {
    max-width: 820px !important;
    margin: 0 auto !important;
    background: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.5rem !important;
    padding: 3.5rem 2.5rem !important;
    box-shadow: 0 10px 30px rgba(12, 63, 125, 0.05) !important;
}

@media (max-width: 639px) {
    .tsci-condition-form-card {
        padding: 2.25rem 1.5rem !important;
    }
}

.tsci-condition-form-subtitle {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 0 2rem 0 !important;
    text-align: center !important;
}

.tsci-cond-form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
}

@media (min-width: 640px) {
    .tsci-cond-form-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.tsci-cond-form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem !important;
}

.tsci-cond-form-group.full-width {
    grid-column: 1 / -1 !important;
}

.tsci-cond-form-label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
}

.tsci-cond-form-input,
.tsci-cond-form-textarea {
    width: 100% !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 10px !important;
    background-color: #FFFFFF !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1rem !important;
    color: var(--tsci-ink, #101828) !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.tsci-cond-form-input:focus,
.tsci-cond-form-textarea:focus {
    outline: none !important;
    border-color: var(--tsci-primary, #1159AF) !important;
    box-shadow: 0 0 0 3px rgba(17, 89, 175, 0.15) !important;
}

.tsci-cond-form-consent {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 1rem 0 !important;
}

.tsci-cond-form-consent input[type="checkbox"] {
    margin-top: 0.2rem !important;
    accent-color: var(--tsci-primary, #1159AF) !important;
}

.tsci-cond-form-submit {
    width: 100% !important;
    padding: 1rem 2rem !important;
    background-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(17, 89, 175, 0.3) !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.tsci-cond-form-submit:hover {
    background-color: var(--tsci-accent, #8A4570) !important;
    transform: translateY(-2px) !important;
}

.tsci-honeypot-field {
    display: none !important;
}


/* ============================================================ */
/* THE STEM CELLS INSTITUTE — ABOUT US PAGE (PAGE ID 646)       */
/* ============================================================ */

/* Section 1: Hero */
.tsci-abouthero-section {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%) !important;
    padding: 5rem 1.5rem 4rem 1.5rem !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-abouthero-section * { box-sizing: border-box !important; }
.tsci-abouthero-section br { display: none !important; }

.tsci-abouthero-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-abouthero-badge,
.tsci-aboutcare-badge,
.tsci-aboutteam-badge,
.tsci-aboutpillars-badge,
.tsci-faqhero-badge,
.tsci-medrecord-hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-primary-tint, #DCE9F8) !important;
    color: var(--tsci-primary, #1159AF) !important;
    padding: 0.375rem 0.875rem !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.813rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 1.25rem !important;
}

.tsci-abouthero-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.75rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: var(--tsci-ink, #101828) !important;
    max-width: 860px !important;
    margin: 0 auto 1.25rem auto !important;
    letter-spacing: -0.02em !important;
}

@media (max-width: 767px) {
    .tsci-abouthero-title {
        font-size: 2rem !important;
    }
}

.tsci-abouthero-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
    color: var(--tsci-text, #475467) !important;
    max-width: 860px !important;
    margin: 0 auto !important;
}

/* Section 2: Care & History */
.tsci-aboutcare-section {
    background-color: #FFFFFF !important;
    padding: 5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-aboutcare-section * { box-sizing: border-box !important; }
.tsci-aboutcare-section br { display: none !important; }

.tsci-aboutcare-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-aboutcare-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3.5rem !important;
    align-items: center !important;
}

@media (min-width: 992px) {
    .tsci-aboutcare-grid {
        grid-template-columns: 1.1fr 0.9fr !important;
    }
}

.tsci-aboutcare-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 0.75rem 0 !important;
}

@media (max-width: 767px) {
    .tsci-aboutcare-title {
        font-size: 1.85rem !important;
    }
}

.tsci-aboutcare-subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--tsci-primary, #1159AF) !important;
    margin: 0 0 1.25rem 0 !important;
}

.tsci-aboutcare-text {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.05rem !important;
    line-height: 1.75 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 0 1.5rem 0 !important;
}

.tsci-aboutstats-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    margin-top: 2rem !important;
}

@media (min-width: 768px) {
    .tsci-aboutstats-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        margin-top: 3rem !important;
    }
}

.tsci-aboutstat-card {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1rem !important;
    padding: 1.25rem 1.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
}

.tsci-aboutstat-value {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--tsci-primary, #1159AF) !important;
    line-height: 1.1 !important;
}

.tsci-aboutstat-label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.813rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--tsci-text, #475467) !important;
}

.tsci-aboutcare-media {
    border-radius: 1.5rem !important;
    overflow: hidden !important;
    box-shadow: 0 20px 40px -10px rgba(17, 89, 175, 0.15) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    aspect-ratio: 1 / 1 !important;
    background-color: #EAEFF6 !important;
}

.tsci-aboutcare-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

/* Section 3: Leadership Team */
.tsci-aboutteam-section {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-aboutteam-section * { box-sizing: border-box !important; }
.tsci-aboutteam-section br { display: none !important; }

.tsci-aboutteam-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-aboutteam-header {
    text-align: center !important;
    max-width: 750px !important;
    margin: 0 auto 3.5rem auto !important;
}

.tsci-aboutteam-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 0.75rem 0 !important;
}

.tsci-aboutteam-subtitle {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

.tsci-aboutteam-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
}

@media (min-width: 768px) {
    .tsci-aboutteam-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

.tsci-team-card {
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.25rem !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(16, 24, 40, 0.05) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.tsci-team-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 16px 32px rgba(17, 89, 175, 0.12) !important;
}

.tsci-team-media {
    width: 100% !important;
    height: 300px !important;
    overflow: hidden !important;
    background-color: #EAEFF6 !important;
}

.tsci-team-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

.tsci-team-card:hover .tsci-team-img {
    transform: scale(1.03) !important;
}

.tsci-team-content {
    padding: 1.75rem !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.tsci-team-name {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 0.35rem 0 !important;
}

.tsci-team-role {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: var(--tsci-primary, #1159AF) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 1rem !important;
}

.tsci-team-bio {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

/* Section 4: Pillars */
.tsci-aboutpillars-section {
    background-color: #FFFFFF !important;
    padding: 5.5rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-aboutpillars-section * { box-sizing: border-box !important; }
.tsci-aboutpillars-section br { display: none !important; }

.tsci-aboutpillars-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-aboutpillars-header {
    text-align: center !important;
    max-width: 750px !important;
    margin: 0 auto 3.5rem auto !important;
}

.tsci-aboutpillars-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 0.75rem 0 !important;
}

.tsci-aboutpillars-subtitle {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}

.tsci-aboutpillars-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
}

@media (min-width: 640px) {
    .tsci-aboutpillars-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .tsci-aboutpillars-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

.tsci-pillar-card {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.25rem !important;
    padding: 2.25rem 1.75rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.tsci-pillar-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 16px 30px rgba(17, 89, 175, 0.08) !important;
    border-color: var(--tsci-primary, #1159AF) !important;
}

.tsci-pillar-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    background-color: #FFFFFF !important;
    color: var(--tsci-primary, #1159AF) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(17, 89, 175, 0.1) !important;
    margin-bottom: 0.5rem !important;
}

.tsci-pillar-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
}

.tsci-pillar-text {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    color: var(--tsci-text, #475467) !important;
    margin: 0 !important;
}


/* ============================================================ */
/* THE STEM CELLS INSTITUTE — GLOBAL FAQS PAGE (PAGE ID 807)    */
/* ============================================================ */

/* Hero */
.tsci-faqhero-section {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%) !important;
    padding: 5rem 1.5rem 3.5rem 1.5rem !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-faqhero-section * { box-sizing: border-box !important; }
.tsci-faqhero-section br { display: none !important; }

.tsci-faqhero-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-faqhero-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.75rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: var(--tsci-ink, #101828) !important;
    max-width: 860px !important;
    margin: 0 auto 1.25rem auto !important;
    letter-spacing: -0.02em !important;
}

@media (max-width: 767px) {
    .tsci-faqhero-title {
        font-size: 2rem !important;
    }
}

.tsci-faqhero-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
    color: var(--tsci-text, #475467) !important;
    max-width: 860px !important;
    margin: 0 auto !important;
}

/* Content */
.tsci-faqmain-section {
    background-color: #FFFFFF !important;
    padding: 3rem 1.5rem 6rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-faqmain-section * { box-sizing: border-box !important; }
.tsci-faqmain-section br { display: none !important; }

.tsci-faqmain-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-faqtopics-wrap {
    max-width: 960px !important;
    margin-inline: auto !important;
    margin-bottom: 3.5rem !important;
    text-align: center !important;
}

.tsci-faqtopics-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--tsci-muted, #667085) !important;
    margin: 0 0 1rem 0 !important;
}

.tsci-faqtopics-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
    justify-content: center !important;
}

.tsci-faqtopic-pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.6rem 1.35rem !important;
    border-radius: 9999px !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    color: var(--tsci-primary, #1159AF) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.938rem !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.tsci-faqtopic-pill:hover {
    background-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    border-color: var(--tsci-primary, #1159AF) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(17, 89, 175, 0.25) !important;
}

.tsci-faqaccordion-list {
    max-width: 960px !important;
    width: 100% !important;
    margin-inline: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
}

.tsci-faqtopic-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    scroll-margin-top: 100px !important;
}


/* ============================================================ */
/* THE STEM CELLS INSTITUTE — MEDICAL RECORD (PAGE ID 941)     */
/* ============================================================ */

/* Hero */
.tsci-medrecord-hero-section {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%) !important;
    padding: 5rem 1.5rem 3.5rem 1.5rem !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-medrecord-hero-section * { box-sizing: border-box !important; }
.tsci-medrecord-hero-section br { display: none !important; }

.tsci-medrecord-hero-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-medrecord-hero-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.75rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: var(--tsci-ink, #101828) !important;
    max-width: 860px !important;
    margin: 0 auto 1.25rem auto !important;
    letter-spacing: -0.02em !important;
}

@media (max-width: 767px) {
    .tsci-medrecord-hero-title {
        font-size: 2rem !important;
    }
}

.tsci-medrecord-hero-desc {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
    color: var(--tsci-text, #475467) !important;
    max-width: 860px !important;
    margin: 0 auto !important;
}

/* Main Form Container */
.tsci-medrecord-main-section {
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    padding: 2.5rem 1.5rem 6rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-medrecord-main-section * { box-sizing: border-box !important; }
.tsci-medrecord-main-section br { display: none !important; }

.tsci-medrecord-main-inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin-inline: auto !important;
}

.tsci-medrecord-card {
    max-width: 960px !important;
    width: 100% !important;
    margin-inline: auto !important;
    background-color: #FFFFFF !important;
    border: 1px solid var(--tsci-border, #E4E7EC) !important;
    border-radius: 1.5rem !important;
    padding: 3rem 2.5rem !important;
    box-shadow: 0 12px 36px rgba(16, 24, 40, 0.06) !important;
}

@media (max-width: 767px) {
    .tsci-medrecord-card {
        padding: 2rem 1.25rem !important;
    }
}

.tsci-medrecord-card-header {
    margin-bottom: 2.5rem !important;
    border-bottom: 1px solid var(--tsci-border, #E4E7EC) !important;
    padding-bottom: 1.5rem !important;
    text-align: center !important;
}

.tsci-medrecord-form-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

.tsci-form-section {
    border: none !important;
    padding: 0 0 2.25rem 0 !important;
    margin: 0 0 2.25rem 0 !important;
    border-bottom: 1px solid #F2F4F7 !important;
}

.tsci-form-section:last-of-type {
    border-bottom: none !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 0 !important;
}

.tsci-form-section-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--tsci-navy, #0C3F7D) !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
}

.tsci-form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
    margin-bottom: 1.25rem !important;
}

@media (min-width: 640px) {
    .tsci-form-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 768px) {
    .tsci-form-row-3 {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

.tsci-form-row-full {
    grid-template-columns: 1fr !important;
}

.tsci-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem !important;
}

.tsci-field label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #344054 !important;
    margin: 0 !important;
}

.tsci-req {
    color: #D92D20 !important;
    font-weight: 700 !important;
}

.tsci-field input[type="text"],
.tsci-field input[type="email"],
.tsci-field input[type="tel"],
.tsci-field input[type="date"],
.tsci-field select,
.tsci-field textarea {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid var(--tsci-border, #D0D5DD) !important;
    border-radius: 0.5rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.95rem !important;
    color: var(--tsci-ink, #101828) !important;
    background-color: #FFFFFF !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
}

.tsci-field input:focus,
.tsci-field select:focus,
.tsci-field textarea:focus {
    outline: none !important;
    border-color: var(--tsci-primary, #1159AF) !important;
    box-shadow: 0 0 0 3px rgba(17, 89, 175, 0.15) !important;
}

.tsci-field textarea {
    min-height: 90px !important;
    resize: vertical !important;
}

.tsci-field-help {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.813rem !important;
    color: var(--tsci-muted, #667085) !important;
    margin: 0.25rem 0 0.5rem 0 !important;
    line-height: 1.5 !important;
}

.tsci-file-input {
    padding: 0.6rem !important;
    border: 2px dashed #D0D5DD !important;
    border-radius: 0.5rem !important;
    background-color: var(--tsci-primary-bg, #F2F6FC) !important;
    cursor: pointer !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.875rem !important;
    color: var(--tsci-text, #475467) !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.tsci-file-input:hover {
    border-color: var(--tsci-primary, #1159AF) !important;
    background-color: #EBF3FC !important;
}

.tsci-consent-field {
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}

.tsci-checkbox-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: var(--tsci-text, #475467) !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.tsci-checkbox-label input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-top: 2px !important;
    accent-color: var(--tsci-primary, #1159AF) !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

.tsci-medrecord-submit-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    width: 100% !important;
    background-color: var(--tsci-primary, #1159AF) !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    padding: 1rem 2rem !important;
    border-radius: 0.6rem !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(17, 89, 175, 0.25) !important;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
    margin-top: 1.5rem !important;
}

.tsci-medrecord-submit-btn:hover {
    background-color: var(--tsci-accent, #8A4570) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px -4px rgba(138, 69, 112, 0.35) !important;
    color: #FFFFFF !important;
}

.tsci-medrecord-submit-btn .tsci-btn-icon {
    width: 18px !important;
    height: 18px !important;
    transition: transform 0.2s ease !important;
}

.tsci-medrecord-submit-btn:hover .tsci-btn-icon {
    transform: translateX(4px) !important;
}

.tsci-form-success-banner {
    background-color: #ECFDF3 !important;
    border: 1px solid #A6F4C5 !important;
    border-radius: 1rem !important;
    padding: 2.5rem 1.75rem !important;
    text-align: center !important;
    margin-top: 1.5rem !important;
}

.tsci-form-success-banner h4 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: #027A48 !important;
    margin: 0 0 0.5rem 0 !important;
}

.tsci-form-success-banner p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #027A48 !important;
    margin: 0 !important;
}

.message-hidden {
    display: none !important;
}


/* ============================================================ */
/* THE STEM CELLS INSTITUTE — SEARCH RESULTS PAGE               */
/* ============================================================ */

.tsci-search-hero {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--tsci-primary-bg, #F2F6FC) 100%) !important;
    padding: 4.5rem 1.5rem 3rem 1.5rem !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tsci-search-hero * { box-sizing: border-box !important; }
.tsci-search-hero br { display: none !important; }

.tsci-search-hero-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 2.75rem !important;
    font-weight: 800 !important;
    color: var(--tsci-ink, #101828) !important;
    margin: 0 0 1rem 0 !important;
}

.tsci-search-query-highlight {
    color: var(--tsci-primary, #1159AF) !important;
}



/* ============================================================ */
/* MODERN TESTIMONIALS & CLINICAL STORIES UI/UX                 */
/* High-trust medical authority design system                   */
/* ============================================================ */

/* ---------------- Hero Section ---------------- */
.tsci-testihero {
	position: relative !important;
	background: linear-gradient(135deg, var(--tsci-primary-dark, #0C3F7D) 0%, var(--tsci-primary, #1159AF) 100%) !important;
	padding: 5rem 1.5rem 4.5rem !important;
	text-align: center !important;
	overflow: hidden !important;
}

.tsci-testihero::before {
	content: "" !important;
	position: absolute !important;
	top: 0; left: 0; right: 0; bottom: 0;
	background-image: url("data:image/svg+xml,%3Csvg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%23ffffff" fill-opacity="0.05"%3E%3Cpath d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.tsci-testihero-inner {
	position: relative !important;
	z-index: 1 !important;
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
}

.tsci-testihero-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	background-color: rgba(255, 255, 255, 0.15) !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	color: #FFFFFF !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	padding: 0.5rem 1.25rem !important;
	border-radius: 9999px !important;
	margin-bottom: 1.25rem !important;
}

.tsci-testihero-badge svg {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	color: #60A5FA !important;
}

.tsci-testihero-title {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 2.35rem !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	color: #FFFFFF !important;
	letter-spacing: -0.02em !important;
	max-width: 860px !important;
	margin: 0 auto 1.25rem auto !important;
}

.tsci-testihero-subtitle {
	font-family: "Work Sans", sans-serif !important;
	font-size: 1.1rem !important;
	line-height: 1.7 !important;
	color: #D6E4F7 !important;
	max-width: 860px !important;
	margin: 0 auto 2.5rem auto !important;
}

/* ---------------- Stat Bar Capsule Grid ---------------- */
.tsci-testihero-stats {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 1rem !important;
	max-width: 780px !important;
	margin: 0 auto !important;
}

@media (min-width: 640px) {
	.tsci-testihero { padding: 6.5rem 2rem 5.5rem !important; }
	.tsci-testihero-title { font-size: 3.1rem !important; }
	.tsci-testihero-stats {
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 1.25rem !important;
	}
}

.tsci-testihero-stat {
	background: rgba(255, 255, 255, 0.08) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 1rem !important;
	padding: 1.25rem 1rem !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	gap: 0.35rem !important;
}

.tsci-testihero-stat-value {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.75rem !important;
	font-weight: 800 !important;
	color: #FFFFFF !important;
	line-height: 1.1 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
}

.tsci-testihero-stat-value svg {
	width: 18px !important;
	height: 18px !important;
	color: #F59E0B !important;
}

.tsci-testihero-stat-label {
	font-family: "Work Sans", sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #CBD5E1 !important;
	line-height: 1.3 !important;
}

/* ---------------- Main Review Section ---------------- */
.tsci-reviewwall {
	background-color: #F8FAFC !important;
	padding: 4.5rem 1.5rem 6rem !important;
}

@media (min-width: 768px) {
	.tsci-reviewwall { padding: 5.5rem 2rem 7rem !important; }
}

.tsci-reviewwall-inner {
	max-width: 1280px !important;
	width: 100% !important;
	margin-inline: auto !important;
}

/* ---------------- Section Header ---------------- */
.tsci-reviewwall-header {
	text-align: center !important;
	max-width: 720px !important;
	margin: 0 auto 3rem auto !important;
}

.tsci-reviewwall-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	background-color: var(--tsci-primary-tint, #DCE9F8) !important;
	color: var(--tsci-primary, #1159AF) !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	padding: 0.45rem 1.15rem !important;
	border-radius: 9999px !important;
	margin-bottom: 1rem !important;
}

.tsci-reviewwall-title {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 2.15rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.015em !important;
	margin: 0 0 1rem 0 !important;
}

@media (min-width: 768px) {
	.tsci-reviewwall-title { font-size: 2.65rem !important; }
}

.tsci-reviewwall-subtitle {
	font-family: "Work Sans", sans-serif !important;
	font-size: 1.05rem !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 !important;
}

/* ---------------- Spotlight Lead Story ---------------- */
.tsci-review-spotlight {
	background: #FFFFFF !important;
	border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
	border-radius: 1.5rem !important;
	padding: 2rem !important;
	box-shadow: 0 10px 30px -5px rgba(12, 63, 125, 0.06) !important;
	margin-bottom: 2rem !important;
	position: relative !important;
	overflow: hidden !important;
}

@media (min-width: 860px) {
	.tsci-review-spotlight {
		padding: 2.75rem !important;
		display: grid !important;
		grid-template-columns: 1fr 300px !important;
		gap: 2.5rem !important;
		align-items: center !important;
	}
}

.tsci-spotlight-content {
	display: flex !important;
	flex-direction: column !important;
	gap: 1.25rem !important;
}

.tsci-spotlight-meta-top {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.75rem !important;
}

.tsci-tag-pill {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	background-color: var(--tsci-primary-bg, #F2F6FC) !important;
	color: var(--tsci-primary, #1159AF) !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	padding: 0.35rem 0.85rem !important;
	border-radius: 9999px !important;
	border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
}

.tsci-verified-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	color: #027A48 !important;
	background-color: #ECFDF3 !important;
	border: 1px solid #A6F4C5 !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	padding: 0.35rem 0.85rem !important;
	border-radius: 9999px !important;
}

.tsci-verified-badge svg {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	color: #027A48 !important;
}

.tsci-spotlight-quote {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.6 !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}

@media (min-width: 768px) {
	.tsci-spotlight-quote { font-size: 1.35rem !important; }
}

.tsci-spotlight-patient-card {
	background: var(--tsci-primary-bg, #F2F6FC) !important;
	border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
	border-radius: 1.25rem !important;
	padding: 1.75rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
}

.tsci-spotlight-patient-header {
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
}

.tsci-spotlight-avatar {
	width: 54px !important;
	height: 54px !important;
	min-width: 54px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, var(--tsci-primary, #1159AF) 0%, var(--tsci-primary-dark, #0C3F7D) 100%) !important;
	color: #FFFFFF !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.1rem !important;
	box-shadow: 0 4px 10px rgba(17, 89, 175, 0.25) !important;
}

.tsci-spotlight-name {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.15rem !important;
	color: var(--tsci-ink, #101828) !important;
	margin: 0 !important;
}

.tsci-spotlight-meta {
	font-family: "Work Sans", sans-serif !important;
	font-size: 0.85rem !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0.2rem 0 0 0 !important;
}

.tsci-spotlight-rating {
	display: flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	padding-top: 0.5rem !important;
	border-top: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
}

.tsci-spotlight-rating svg {
	width: 18px !important;
	height: 18px !important;
	color: #F59E0B !important;
}

.tsci-spotlight-rating-text {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.875rem !important;
	color: var(--tsci-ink, #101828) !important;
	margin-left: 0.35rem !important;
}

/* ---------------- 3-Column Modern Review Grid ---------------- */
.tsci-review-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.5rem !important;
}

@media (min-width: 640px) {
	.tsci-review-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (min-width: 1024px) {
	.tsci-review-grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 1.75rem !important;
	}
}

/* ---------------- Individual Review Card ---------------- */
.tsci-review-card {
	background-color: #FFFFFF !important;
	border: 1px solid var(--tsci-border, #E4E7EC) !important;
	border-radius: 1.25rem !important;
	padding: 1.75rem !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 4px 15px -2px rgba(12, 63, 125, 0.04) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.tsci-review-card:hover {
	transform: translateY(-4px) !important;
	border-color: var(--tsci-primary-tint-border, #B8D0EE) !important;
	box-shadow: 0 16px 32px -4px rgba(12, 63, 125, 0.09) !important;
}

.tsci-review-card-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin-bottom: 1rem !important;
}

.tsci-review-card-stars {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.2rem !important;
}

.tsci-review-card-stars svg {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	color: #F59E0B !important;
}

.tsci-review-card-quote {
	font-family: "Work Sans", sans-serif !important;
	font-size: 0.95rem !important;
	line-height: 1.7 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 0 1.5rem 0 !important;
	flex-grow: 1 !important;
}

.tsci-review-card-footer {
	display: flex !important;
	align-items: center !important;
	gap: 0.85rem !important;
	padding-top: 1.25rem !important;
	border-top: 1px solid #F1F5F9 !important;
	margin-top: auto !important;
}

.tsci-review-card-avatar {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	border-radius: 50% !important;
	background: var(--tsci-primary-bg, #F2F6FC) !important;
	border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
	color: var(--tsci-primary, #1159AF) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
}

.tsci-review-card-author-info {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
}

.tsci-review-card-author-name {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	color: var(--tsci-ink, #101828) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
}

.tsci-review-card-author-name svg {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	color: #027A48 !important;
}

.tsci-review-card-author-meta {
	font-family: "Work Sans", sans-serif !important;
	font-size: 0.8rem !important;
	color: #64748B !important;
}

.tsci-review-card-timeline {
	font-family: "Work Sans", sans-serif !important;
	font-size: 0.75rem !important;
	color: var(--tsci-primary, #1159AF) !important;
	font-weight: 500 !important;
	margin-top: 0.15rem !important;
}

/* ---------------- Bottom Consultation CTA Banner ---------------- */
.tsci-testi-cta-banner {
	background: #FFFFFF !important;
	border: 1px solid var(--tsci-primary-tint-border, #B8D0EE) !important;
	border-radius: 1.5rem !important;
	padding: 3rem 1.5rem !important;
	margin-top: 3.5rem !important;
	text-align: center !important;
	box-shadow: 0 10px 30px -5px rgba(12, 63, 125, 0.05) !important;
}

@media (min-width: 768px) {
	.tsci-testi-cta-banner { padding: 4rem 3rem !important; }
}

.tsci-testi-cta-inner {
	max-width: 680px !important;
	margin: 0 auto !important;
}

.tsci-testi-cta-title {
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.85rem !important;
	font-weight: 800 !important;
	color: var(--tsci-ink, #101828) !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 0.85rem 0 !important;
}

@media (min-width: 768px) {
	.tsci-testi-cta-title { font-size: 2.25rem !important; }
}

.tsci-testi-cta-sub {
	font-family: "Work Sans", sans-serif !important;
	font-size: 1.05rem !important;
	line-height: 1.65 !important;
	color: var(--tsci-text, #475467) !important;
	margin: 0 0 2rem 0 !important;
}

.tsci-testi-cta-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
	background-color: var(--tsci-primary, #1159AF) !important;
	color: #FFFFFF !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	padding: 0.95rem 2rem !important;
	border-radius: 9999px !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(17, 89, 175, 0.28) !important;
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.tsci-testi-cta-btn:hover {
	background-color: var(--tsci-accent, #8A4570) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px -6px rgba(138, 69, 112, 0.35) !important;
	color: #FFFFFF !important;
}

.tsci-testi-cta-btn svg {
	width: 18px !important;
	height: 18px !important;
	transition: transform 0.2s ease !important;
}

.tsci-testi-cta-btn:hover svg {
	transform: translateX(4px) !important;
}

/* ============================================================ */
/* TSCI SUBMIT & PROCESS SPAN HELPERS                            */
/* ============================================================ */
.tsci-hero-submit-text,
.tsci-faq-submit-text {
  display: inline;
}

.tsci-process-tab-label {
  display: inline-block;
}

.tsci-process-panel-body {
  width: 100%;
}

/* ============================================================ */
/* THE STEM CELLS INSTITUTE — SITE-WIDE HEADER & FOOTER SYSTEM  */
/* Modern, Medical-Grade Architecture (1280px container locked) */
/* ============================================================ */

/* Accessibility Skip Link */
.tsci-skip-link {
	position: absolute;
	top: -9999px;
	left: 20px;
	background: #1159AF;
	color: #FFFFFF !important;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 600;
	z-index: 10000;
	border-radius: 6px;
	text-decoration: none;
	transition: top 0.2s ease;
}
.tsci-skip-link:focus {
	top: 10px;
	outline: 2px solid #FFFFFF;
}

/* ============================================================ */
/* 1. TOP UTILITY BAR                                           */
/* ============================================================ */
.tsci-topbar {
	background: #0A1E3B;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: #E2E8F0;
	font-size: 12.5px;
	position: relative;
	z-index: 1001;
	overflow: hidden;
}

.tsci-topbar-inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	min-height: 38px;
	gap: 16px;
}

.tsci-topbar-group {
	display: flex;
	align-items: center;
	gap: 14px;
}

.tsci-topbar-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Work Sans', sans-serif;
	font-size: 12.5px;
	font-weight: 500;
	color: #CBD5E1;
	text-decoration: none;
	white-space: nowrap;
}

.tsci-topbar-icon {
	color: #38BDF8;
	flex-shrink: 0;
}

.tsci-topbar-sep {
	color: #475569;
	font-size: 10px;
	user-select: none;
}

.tsci-topbar-link {
	transition: color 0.2s ease;
}

.tsci-topbar-link:hover,
.tsci-topbar-link:focus-visible {
	color: #FFFFFF;
	text-decoration: none;
}

.tsci-topbar-portal {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #FFFFFF;
	font-weight: 600;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.tsci-topbar-portal:hover,
.tsci-topbar-portal:focus-visible {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.35);
	color: #FFFFFF;
	text-decoration: none;
}

@media (max-width: 1100px) {
	.tsci-topbar-left {
		display: none;
	}
	.tsci-topbar-inner {
		justify-content: center;
		padding-block: 6px;
	}
}

@media (max-width: 639px) {
	.tsci-topbar-inner {
		justify-content: center;
		padding-inline: 12px !important;
		gap: 10px;
	}
	.tsci-topbar-right .tsci-topbar-link[href^="mailto:"] {
		display: none;
	}
	.tsci-topbar-sep {
		display: none;
	}
	.tsci-topbar-item {
		font-size: 12px;
	}
}

/* ============================================================ */
/* 2. MAIN HEADER & NAVIGATION                                  */
/* ============================================================ */
.tsci-header {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: #FFFFFF;
	border-bottom: 1px solid #E2E8F0;
	transition: box-shadow 0.25s ease, background 0.25s ease;
}

.tsci-header.tsci-is-scrolled {
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.08);
	border-bottom-color: rgba(226, 232, 240, 0.8);
}

.tsci-header-inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	min-height: 84px;
	gap: 20px;
}

/* Brand Identity */
.tsci-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
	flex-shrink: 0;
	line-height: 1;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.tsci-logo:hover,
.tsci-logo:focus-visible {
	opacity: 0.92;
	transform: translateY(-1px);
}

.tsci-logo-img {
	display: block;
	height: 66px;
	width: auto;
	max-height: 70px;
	max-width: 100%;
	object-fit: contain;
}

/* Desktop Navigation */
.tsci-nav {
	display: none;
	flex: 1 1 auto;
	justify-content: center;
}

@media (min-width: 1024px) {
	.tsci-nav {
		display: flex;
	}
}

.tsci-nav-list {
	display: flex;
	align-items: center;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tsci-nav-list > li {
	position: relative;
	margin: 0;
	padding: 0;
}

.tsci-nav-list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 26px 0;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 14.5px;
	font-weight: 600;
	color: #334155;
	text-decoration: none !important;
	position: relative;
	transition: color 0.2s ease;
}

.tsci-nav-list > li > a:hover,
.tsci-nav-list > li > a:focus-visible {
	color: #1159AF;
}

/* Active Menu Indicator */
.tsci-nav-list > li.current-menu-item > a,
.tsci-nav-list > li.current-menu-ancestor > a {
	color: #1159AF;
}

.tsci-nav-list > li.current-menu-item > a::after,
.tsci-nav-list > li.current-menu-ancestor > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: #1159AF;
	border-radius: 3px 3px 0 0;
}

.tsci-nav-caret {
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: middle;
	transition: transform 0.2s ease;
}

.tsci-nav-list > li.menu-item-has-children:hover > a .tsci-nav-caret,
.tsci-nav-list > li.menu-item-has-children:focus-within > a .tsci-nav-caret {
	transform: rotate(180deg);
}

/* Dropdown Menu */
.tsci-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	min-width: 250px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.12);
	list-style: none;
	margin: 0;
	padding: 8px !important;
	display: flex;
	flex-direction: column;
	gap: 2px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
	z-index: 1050;
}

.tsci-nav-list > li.menu-item-has-children:hover > .sub-menu,
.tsci-nav-list > li.menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
	pointer-events: auto;
}

.tsci-nav .sub-menu a {
	display: block;
	padding: 9px 14px;
	border-radius: 8px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13.5px;
	font-weight: 600;
	color: #334155;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

.tsci-nav .sub-menu a:hover,
.tsci-nav .sub-menu a:focus-visible {
	background: #EFF6FF;
	color: #1159AF;
}

.tsci-nav .sub-menu .current-menu-item > a {
	background: #F0F7FF;
	color: #1159AF;
	font-weight: 700;
}

/* ── Nested sub-menus (3rd level: sub-item that has its own children) ─────── */

/* Mark items inside the dropdown that have children */
.tsci-nav .sub-menu li.menu-item-has-children {
	position: relative;
}

/* Show a right-pointing chevron on items that have a nested sub-menu */
.tsci-nav .sub-menu li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: auto;
	padding-left: 8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center right;
	background-size: 14px 14px;
	flex-shrink: 0;
}

/* Make the link flex so the chevron sits at the right edge */
.tsci-nav .sub-menu li.menu-item-has-children > a {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
}

/* Nested sub-menu panel — flies out to the right */
.tsci-nav .sub-menu .sub-menu {
	position: absolute;
	top: -8px;
	left: 100%;
	margin-left: 6px;
	transform: translateX(6px);
	min-width: 220px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	box-shadow: 0 16px 36px -4px rgba(15, 23, 42, 0.12);
	list-style: none;
	margin-top: 0;
	padding: 8px !important;
	display: flex;
	flex-direction: column;
	gap: 2px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
	z-index: 1060;
}

/* Show nested sub-menu on hover/focus */
.tsci-nav .sub-menu li.menu-item-has-children:hover > .sub-menu,
.tsci-nav .sub-menu li.menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	pointer-events: auto;
}

/* If nested sub-menu would overflow to the right, flip it left */
@media (max-width: 1280px) {
	.tsci-nav .sub-menu .sub-menu {
		left: auto;
		right: 100%;
		margin-left: 0;
		margin-right: 6px;
		transform: translateX(-6px);
	}
	.tsci-nav .sub-menu li.menu-item-has-children:hover > .sub-menu,
	.tsci-nav .sub-menu li.menu-item-has-children:focus-within > .sub-menu {
		transform: translateX(0);
	}
}


/* Header Actions */
.tsci-header-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.tsci-header-call-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #F1F5F9;
	color: #0C3F7D;
	text-decoration: none !important;
	transition: background 0.2s ease, transform 0.2s ease;
}

.tsci-header-call-btn:hover,
.tsci-header-call-btn:focus-visible {
	background: #E2E8F0;
	color: #1159AF;
	transform: translateY(-1px);
}

@media (min-width: 1024px) {
	.tsci-header-call-btn {
		display: none;
	}
}

.tsci-header-cta {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 10px 22px;
	border-radius: 9999px;
	background: #1159AF;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(17, 89, 175, 0.22);
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	white-space: nowrap;
}

.tsci-header-cta svg {
	transition: transform 0.2s ease;
}

.tsci-header-cta:hover,
.tsci-header-cta:focus-visible {
	background-color: #8A4570 !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(138, 69, 112, 0.28);
}

.tsci-header-cta:hover svg {
	transform: translateX(3px);
}

@media (min-width: 640px) {
	.tsci-header-cta {
		display: inline-flex;
	}
}

/* Accessible Hamburger Toggle */
.tsci-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	cursor: pointer;
	color: #0C3F7D;
	padding: 0;
	transition: background 0.2s ease, border-color 0.2s ease;
}

@media (max-width: 1023px) {
	.tsci-menu-toggle {
		display: inline-flex !important;
	}
}

.tsci-menu-toggle:hover,
.tsci-menu-toggle:focus-visible {
	background: #EDF2F7;
	border-color: #CBD5E1;
}

@media (min-width: 1024px) {
	.tsci-menu-toggle {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}
}

.tsci-hamburger-box {
	width: 20px;
	height: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}

.tsci-hamburger-line,
.tsci-hamburger-box::before,
.tsci-hamburger-box::after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #0C3F7D;
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.2s ease;
}

/* Animated Hamburger state when open */
.tsci-menu-toggle[aria-expanded="true"] .tsci-hamburger-box::before {
	transform: translateY(6px) rotate(45deg);
}

.tsci-menu-toggle[aria-expanded="true"] .tsci-hamburger-line {
	opacity: 0;
}

.tsci-menu-toggle[aria-expanded="true"] .tsci-hamburger-box::after {
	transform: translateY(-6px) rotate(-45deg);
}

@media (max-width: 480px) {
	.tsci-header-inner {
		padding-inline: 16px !important;
		gap: 8px !important;
		min-height: 72px;
	}
	.tsci-logo {
		gap: 0 !important;
	}
	.tsci-logo-img {
		height: 52px !important;
		max-height: 54px !important;
	}
	.tsci-header-actions {
		gap: 6px !important;
	}
	.tsci-header-call-btn {
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		min-height: 36px !important;
	}
	.tsci-menu-toggle {
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		min-height: 38px !important;
	}
}

/* ============================================================ */
/* 3. MOBILE NAVIGATION DRAWER                                  */
/* ============================================================ */
.tsci-mobile-drawer {
	position: fixed;
	inset: 0;
	z-index: 9999;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transition: visibility 0.3s ease;
}

.tsci-mobile-drawer.tsci-drawer-open {
	visibility: visible;
	pointer-events: auto;
}

.tsci-drawer-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 25, 47, 0.55);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.tsci-mobile-drawer.tsci-drawer-open .tsci-drawer-backdrop {
	opacity: 1;
}

.tsci-drawer-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 86%;
	max-width: 380px;
	background: #FFFFFF;
	display: flex;
	flex-direction: column;
	box-shadow: -10px 0 32px rgba(15, 23, 42, 0.2);
	transform: translateX(100%);
	transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.tsci-mobile-drawer.tsci-drawer-open .tsci-drawer-panel {
	transform: translateX(0);
}

body.tsci-nav-lock {
	overflow: hidden !important;
	touch-action: none !important;
}

.tsci-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #E2E8F0;
}

.tsci-drawer-header .tsci-logo-img {
	height: 54px;
	max-height: 56px;
	width: auto;
}

.tsci-drawer-close {
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #475569;
	transition: background 0.2s ease, color 0.2s ease;
}

.tsci-drawer-close:hover,
.tsci-drawer-close:focus-visible {
	background: #EDF2F7;
	color: #0C3F7D;
}

.tsci-drawer-body {
	padding: 20px;
	flex: 1 1 auto;
	overflow-y: auto;
}

.tsci-drawer-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* Parent item row: text left, caret right */
.tsci-drawer-nav-list > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 13px 14px;
	border-radius: 10px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #1E293B;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
}

/* Constrain the caret specifically inside drawer anchors */
.tsci-drawer-nav-list > li > a .tsci-nav-caret {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	flex-shrink: 0;
}

/* Rotate caret when sub-menu is open */
.tsci-drawer-nav-list > li.tsci-submenu-open > a .tsci-nav-caret {
	transform: rotate(180deg);
}

.tsci-drawer-nav-list > li > a:hover,
.tsci-drawer-nav-list > li.current-menu-item > a {
	background: #EFF6FF;
	color: #1159AF;
}

/* Sub-menu: hidden by default, revealed by JS adding .tsci-submenu-open on parent li */
.tsci-drawer-nav-list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: none;
	flex-direction: column;
	gap: 4px;
	padding-left: 28px;
	padding-bottom: 8px;
	border-left: 2px solid #E2E8F0;
	margin-left: 14px;
}

.tsci-drawer-nav-list > li.tsci-submenu-open > .sub-menu {
	display: flex;
}

.tsci-drawer-nav-list .sub-menu a {
	display: block;
	padding: 8px 12px;
	border-radius: 6px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13.5px;
	font-weight: 500;
	color: #475569;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
}

.tsci-drawer-nav-list .sub-menu a:hover,
.tsci-drawer-nav-list .sub-menu .current-menu-item > a {
	background: #F1F5F9;
	color: #1159AF;
}

/* The JS-injected toggle button that wraps the caret in the mobile drawer */
.tsci-submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	padding: 4px;
	margin: 0;
	cursor: pointer;
	border-radius: 6px;
	flex-shrink: 0;
	color: inherit;
	transition: background 0.15s ease, transform 0.2s ease;
	line-height: 0;
}

.tsci-submenu-toggle:hover {
	background: rgba(17, 89, 175, 0.08);
}

.tsci-submenu-toggle svg,
.tsci-submenu-toggle .tsci-nav-caret {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.tsci-drawer-nav-list > li.tsci-submenu-open .tsci-submenu-toggle .tsci-nav-caret {
	transform: rotate(180deg);
}

.tsci-drawer-cta-wrap {
	margin-top: 24px;
}

.tsci-drawer-cta-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 48px;
	padding: 12px 20px;
	border-radius: 9999px;
	background: #1159AF;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(17, 89, 175, 0.25);
	transition: background-color 0.2s ease;
}

.tsci-drawer-cta-btn:hover {
	background-color: #8A4570 !important;
}

.tsci-drawer-footer {
	padding: 20px;
	background: #F8FAFC;
	border-top: 1px solid #E2E8F0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tsci-drawer-contact-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Work Sans', sans-serif;
	font-size: 13.5px;
	color: #334155;
}

.tsci-drawer-contact-item svg {
	color: #1159AF;
	flex-shrink: 0;
}

.tsci-drawer-contact-item a {
	color: #1159AF;
	text-decoration: none;
	font-weight: 600;
}

.tsci-drawer-meta {
	font-size: 11.5px;
	color: #64748B;
	padding-top: 8px;
	border-top: 1px solid #E2E8F0;
	font-family: 'Work Sans', sans-serif;
	line-height: 1.4;
}

/* ============================================================ */
/* 4. SITE-WIDE FOOTER SYSTEM                                   */
/* ============================================================ */
.tsci-footer {
	background: #08172E;
	color: #F1F5F9;
	position: relative;
	overflow: hidden;
}

/* Pre-Footer Medical Consultation Banner */
.tsci-footer-cta-banner {
	background: linear-gradient(135deg, #0A2247 0%, #0F3266 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 48px 0;
}

.tsci-footer-cta-inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	flex-wrap: wrap;
}

.tsci-footer-cta-text {
	max-width: 680px;
}

.tsci-footer-cta-badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 9999px;
	background: rgba(56, 189, 248, 0.15);
	border: 1px solid rgba(56, 189, 248, 0.3);
	color: #7DD3FC;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 12px;
}

.tsci-footer-cta-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 800;
	color: #FFFFFF;
	margin: 0 0 8px 0;
	line-height: 1.25;
}

.tsci-footer-cta-desc {
	font-family: 'Work Sans', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: #CBD5E1;
	margin: 0;
}

.tsci-footer-cta-action {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	flex-shrink: 0;
}

.tsci-footer-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 28px;
	border-radius: 9999px;
	background: #1159AF;
	color: #FFFFFF !important;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(17, 89, 175, 0.35);
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	white-space: nowrap;
}

.tsci-footer-cta-btn svg {
	transition: transform 0.2s ease;
}

.tsci-footer-cta-btn:hover,
.tsci-footer-cta-btn:focus-visible {
	background-color: #8A4570 !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(138, 69, 112, 0.38);
}

.tsci-footer-cta-btn:hover svg {
	transform: translateX(3px);
}

.tsci-footer-cta-note {
	font-family: 'Work Sans', sans-serif;
	font-size: 12px;
	color: #94A3B8;
}

/* Main 4-Column Footer Area */
.tsci-footer-main {
	padding: 64px 0 48px;
}

.tsci-footer-grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
	gap: 48px;
}

@media (max-width: 1023px) {
	.tsci-footer-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px;
	}
}

@media (max-width: 639px) {
	.tsci-footer-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

/* Column 1: Brand */
.tsci-footer-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
	margin-bottom: 24px;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.tsci-footer-logo:hover,
.tsci-footer-logo:focus-visible {
	opacity: 0.92;
	transform: translateY(-2px);
}

.tsci-footer-logo-img {
	display: block;
	width: 250px;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

@media (max-width: 480px) {
	.tsci-footer-logo {
		margin-bottom: 20px !important;
	}
	.tsci-footer-logo-img {
		width: 205px !important;
	}
}

.tsci-footer-tagline {
	font-family: 'Work Sans', sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: #94A3B8;
	margin: 0 0 20px 0;
	max-width: 320px;
}

.tsci-footer-social {
	display: flex;
	align-items: center;
	gap: 10px;
}

.tsci-footer-social a {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #CBD5E1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tsci-footer-social a:hover,
.tsci-footer-social a:focus-visible {
	background: #1159AF;
	border-color: #1159AF;
	color: #FFFFFF;
}

/* Headings & Links */
.tsci-footer-heading {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 13.5px;
	font-weight: 700;
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 20px 0;
}

.tsci-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tsci-footer-links a {
	font-family: 'Work Sans', sans-serif;
	font-size: 14px;
	color: #94A3B8;
	text-decoration: none !important;
	display: inline-block;
	transition: color 0.2s ease, transform 0.2s ease;
}

.tsci-footer-links a:hover,
.tsci-footer-links a:focus-visible {
	color: #FFFFFF;
	transform: translateX(3px);
}

.tsci-footer-link-highlight {
	color: #38BDF8 !important;
	font-weight: 600;
}

.tsci-footer-link-highlight:hover {
	color: #7DD3FC !important;
}

/* Column 4: Contact & Clinical Details */
.tsci-footer-contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tsci-footer-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.tsci-footer-contact-item .tsci-footer-icon {
	color: #38BDF8;
	margin-top: 2px;
	flex-shrink: 0;
}

.tsci-footer-contact-label {
	display: block;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748B;
	margin-bottom: 2px;
}

.tsci-footer-contact-val {
	display: block;
	font-family: 'Work Sans', sans-serif;
	font-size: 14px;
	color: #E2E8F0;
	line-height: 1.45;
}

.tsci-footer-contact-hint {
	font-size: 12px;
	color: #94A3B8;
}

.tsci-footer-contact-link {
	color: #E2E8F0;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.tsci-footer-contact-link:hover,
.tsci-footer-contact-link:focus-visible {
	color: #38BDF8;
}

/* Bottom Legal Bar */
.tsci-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 22px 0;
}

.tsci-footer-bottom-inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.tsci-footer-copyright {
	font-family: 'Work Sans', sans-serif;
	font-size: 13px;
	color: #64748B;
	margin: 0;
}

.tsci-footer-legal {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 20px;
}

.tsci-footer-legal a {
	font-family: 'Work Sans', sans-serif;
	font-size: 13px;
	color: #64748B;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.tsci-footer-legal a:hover,
.tsci-footer-legal a:focus-visible {
	color: #FFFFFF;
}

@media (prefers-reduced-motion: reduce) {
	.tsci-header,
	.tsci-drawer-panel,
	.tsci-drawer-backdrop,
	.tsci-footer-cta-btn,
	.tsci-header-cta,
	.tsci-nav-caret,
	.tsci-hamburger-line,
	.tsci-hamburger-box::before,
	.tsci-hamburger-box::after {
		transition: none !important;
	}
}

