/* ================================
   SINGLE-PAGE LANDING - OVERRIDES
   Loaded last to win the cascade.
   ================================ */

/* Offset anchored sections for the fixed header */
section[id] {
    scroll-margin-top: 80px;
}

/* ========== Research Partners (merged into the Leadership/About section) ========== */
.partners-grid.single {
    display: grid;
    grid-template-columns: minmax(280px, 380px);
    justify-content: center;
}

/* Separate the Research Partners sub-header from the leadership grid */
.research-partners-header {
    margin-top: var(--spacing-xxl);
}

/* Partner card sits on the bright section bg — give it the same white as leader cards */
.leadership-section .partner-card {
    background-color: #fff;
}

/* ========== NEWS: center featured card(s) on the landing ========== */
.news-section .news-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 380px));
    justify-content: center;
    margin-bottom: 0;
}

/* News category badge needs a positioned ancestor */
.news-card {
    position: relative;
}

/* ========== TECHNOLOGY: modality cards + AI engine ========== */
.modality-grid .comparison-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: left;
}

/* Multi-modality message banner (dark bg + turquoise heading) */
.ai-engine {
    margin-top: var(--spacing-xl);
    background: var(--sense-dark);
    border-radius: 12px;
    padding: var(--spacing-xxl) var(--spacing-xl);
    text-align: center;
}

.ai-engine-heading {
    color: var(--sense-turquoise);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: var(--spacing-md);
    line-height: 1.3;
}

.ai-engine-desc {
    color: var(--sense-bright);
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .ai-engine-heading {
        font-size: 1.5rem;
    }
    .ai-engine-desc {
        font-size: 1rem;
    }
}

/* ========== HOW IT WORKS: equal-height step cards ========== */
/* Stretch every step to match the tallest card instead of centering */
.process-flow {
    align-items: stretch;
}

.process-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ========== LEADERSHIP: flat detail sections (remove inner card look) ========== */
/* Align cards to the top so expanding one does not stretch its row-mates */
.team-grid {
    align-items: start;
}

/* Reduce the outer card padding so there is more room for text */
.leader-card {
    padding: var(--spacing-md);
}

.leader-details {
    gap: var(--spacing-sm);
}

/* Drop the inner "card" styling — no background box, no extra padding */
.detail-section {
    background-color: transparent;
    padding: 0;
    border-radius: 0;
}

/* Subtle divider between sections instead of separate boxes */
.detail-section:not(:last-child) {
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* ========== LEADERSHIP: bilingual toggle label ========== */
.leader-card[data-expanded="false"] .toggle-text::after {
    content: "View More";
}
.leader-card[data-expanded="true"] .toggle-text::after {
    content: "View Less";
}
html[lang="ko"] .leader-card[data-expanded="false"] .toggle-text::after {
    content: "더 보기";
}
html[lang="ko"] .leader-card[data-expanded="true"] .toggle-text::after {
    content: "접기";
}
