/*
 * Root/general-site compact cascade.
 * Deliberately not loaded for /lms/ URLs or index.php.
 */
[data-tkm-scope="general"] {
    --general-section-y: 38px;
    --general-card-pad: 20px;
    --general-gap: 14px;
}

[data-tkm-scope="general"] body {
    font-family: 'Inter', sans-serif !important;
    font-size: .92rem;
}

[data-tkm-scope="general"] :where(
    h1,h2,h3,h4,h5,h6,p,a,button,label,input,select,textarea,table,th,td,
    .title,.subtitle,.description
) {
    font-family: 'Inter', sans-serif !important;
}

[data-tkm-scope="general"] :where(
    code,pre,kbd,samp,
    [class*="mono"],[class*="kicker"],[class*="eyebrow"],
    [class*="badge"],[class*="label"]
) {
    font-family: 'Courier New', monospace !important;
}

[data-tkm-scope="general"] :where(main, section) {
    min-height: auto !important;
}

[data-tkm-scope="general"] body > section,
[data-tkm-scope="general"] main > section {
    padding-top: var(--general-section-y) !important;
    padding-bottom: var(--general-section-y) !important;
}

[data-tkm-scope="general"] h1 {
    font-size: clamp(2rem,4.5vw,3.2rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -1.5px !important;
}
[data-tkm-scope="general"] h2 {
    font-size: clamp(1.6rem,3.5vw,2.4rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
}
[data-tkm-scope="general"] h3 {
    font-size: clamp(1.05rem,2vw,1.35rem) !important;
}
[data-tkm-scope="general"] :where(p,li,td) {
    line-height: 1.55 !important;
}

[data-tkm-scope="general"] :where(
    [class*="grid"],[class*="layout"],[class*="columns"],
    [class*="row"]:not(.form-row)
) {
    gap: var(--general-gap) !important;
}

[data-tkm-scope="general"] :where(
    [class$="-card"],[class*="-card "],
    [class$="-panel"],[class*="-panel "],
    [class$="-box"],[class*="-box "],
    [class*="form-container"]
) {
    padding: var(--general-card-pad) !important;
    border-radius: 12px !important;
}

[data-tkm-scope="general"] :where(
    button,input[type="submit"],input[type="button"],
    [class*="btn"],[class*="button"]
) {
    min-height: 38px !important;
    padding: 9px 16px !important;
    font-size: .8rem !important;
}

[data-tkm-scope="general"] :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    select,textarea
) {
    min-height: 38px !important;
    padding: 9px 11px !important;
    font-size: .84rem !important;
}

[data-tkm-scope="general"] :where(
    .page-header,.section-header,[class*="page-header"],[class*="section-header"],
    .contact-hero,.club-hero,.story-header
) {
    margin-bottom: 22px !important;
}

/* About page */
[data-tkm-scope="general"] .ah-content {
    padding: 42px 6% 32px !important;
    gap: 22px !important;
}
[data-tkm-scope="general"] #about-hero {
    min-height: auto !important;
}
[data-tkm-scope="general"] :where(
    #story,#values,#hub,#impact,#team,#vision,#investment,#about-cta,
    .story-section,.values-section,.hub-section,.impact-section,.team-section,
    .vision-section,.investment-section,.cta-section
) {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
}
[data-tkm-scope="general"] :where(
    .story-header,.team-sub,.vis-pillars,.inv-uses,.inv-btns
) {
    margin-bottom: 22px !important;
}
[data-tkm-scope="general"] :where(.story-card,.inv-card) {
    padding: 24px !important;
}
[data-tkm-scope="general"] .hub-layout { gap: 20px !important; }
[data-tkm-scope="general"] .tl-item { margin-bottom: 24px !important; }
[data-tkm-scope="general"] .inv-amount {
    font-size: clamp(2.2rem,5vw,3.5rem) !important;
}
[data-tkm-scope="general"] .cta-p,
[data-tkm-scope="general"] .hub-p {
    margin-bottom: 20px !important;
}

/* Services page */
[data-tkm-scope="general"] #hub-hero .hero-container {
    padding: 42px 6% 32px !important;
    gap: 22px !important;
}
[data-tkm-scope="general"] #hub-hero { min-height: auto !important; }
[data-tkm-scope="general"] .hero-copy { margin-bottom: 20px !important; }
[data-tkm-scope="general"] .prog-header { margin-bottom: 26px !important; }
[data-tkm-scope="general"] .course-row {
    gap: 20px !important;
    margin-bottom: 28px !important;
}
[data-tkm-scope="general"] .cta-card {
    padding: 26px 22px !important;
    border-radius: 14px !important;
}

/* Public forms and legal pages */
[data-tkm-scope="general"] :where(
    .apply-page,.fund-page,#contact-page,#consultation-main,#club-container
) {
    padding: 38px 6% !important;
    min-height: auto !important;
}
[data-tkm-scope="general"] :where(
    .apply-wrap,.fund-wrap,.consultation-container
) {
    gap: 20px !important;
}
[data-tkm-scope="general"] .comms-grid {
    gap: 14px !important;
    margin-bottom: 24px !important;
}
[data-tkm-scope="general"] .legal-hero {
    padding: 38px 6% !important;
}
[data-tkm-scope="general"] .legal-content {
    padding: 32px 6% !important;
}
[data-tkm-scope="general"] .legal-content h2 {
    margin: 24px 0 12px !important;
}
[data-tkm-scope="general"] .glass-status {
    padding: 16px !important;
    margin-bottom: 22px !important;
}

/* Blog and general admin */
[data-tkm-scope="general"] .blog-hero {
    padding: 38px 0 18px !important;
}
[data-tkm-scope="general"] :where(.blog-grid,.featured-post) {
    gap: 16px !important;
    margin-bottom: 26px !important;
}
[data-tkm-scope="general"] #noResults,
[data-tkm-scope="general"] .tkm-empty {
    padding: 28px 16px !important;
}
[data-tkm-scope="general"] .tkm-layout {
    padding: 38px 20px !important;
    gap: 16px !important;
}
[data-tkm-scope="general"] :where(.tkm-bc-wrap,.tkm-bm-wrap) {
    padding: 38px 18px !important;
}
[data-tkm-scope="general"] :where(
    .dashboard-container,.admin-main,.admin-content,[class*="dashboard-content"]
) {
    padding-top: 22px !important;
    padding-bottom: 28px !important;
}

@media (max-width: 768px) {
    [data-tkm-scope="general"] {
        --general-section-y: 28px;
        --general-card-pad: 16px;
        --general-gap: 10px;
    }
    [data-tkm-scope="general"] :where(
        .apply-page,.fund-page,#contact-page,#consultation-main,#club-container
    ) {
        padding: 28px 5% !important;
    }
    [data-tkm-scope="general"] :where(
        [class*="grid"],[class*="layout"],.consultation-container
    ) {
        gap: 10px !important;
    }
}

/* Final root-page density pass requested after the platform migration. */
[data-tkm-scope="general"] :where(
    .btn-primary,.primary-btn,[class*="btn-primary"],[class*="primary-btn"],
    [class*="submit-btn"],[class*="save-btn"],[class*="enroll"]
) {
    background: linear-gradient(135deg,#EF9F27,#C87E10) !important;
    border-color: rgba(239,159,39,.55) !important;
    color: #0D0D0D !important;
    box-shadow: 0 7px 20px rgba(239,159,39,.2) !important;
}
[data-theme="light"][data-tkm-scope="general"] :where(
    .btn-primary,.primary-btn,[class*="btn-primary"],[class*="primary-btn"],
    [class*="submit-btn"],[class*="save-btn"],[class*="enroll"]
) {
    background: linear-gradient(135deg,#0F6E56,#0A4F3E) !important;
    border-color: rgba(15,110,86,.55) !important;
    color: #FFF !important;
    box-shadow: 0 7px 20px rgba(15,110,86,.22) !important;
}

[data-tkm-scope="general"] :where(
    #hub-why,#hub-programs,#hub-cta,
    .story-section,.values-section,.hub-section,.impact-section,.team-section,
    .vision-section,.investment-section,.cta-section
) {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}
[data-tkm-scope="general"] .why-badges { margin-top: 20px !important; gap: 10px !important; }
[data-tkm-scope="general"] .why-badge { padding: 14px !important; gap: 10px !important; }
[data-tkm-scope="general"] .wb-icon { width: 34px !important; height: 34px !important; font-size: .86rem !important; }
[data-tkm-scope="general"] .prog-header { margin-bottom: 18px !important; }
[data-tkm-scope="general"] .course-row { margin-bottom: 22px !important; padding-bottom: 22px !important; gap: 16px !important; }
[data-tkm-scope="general"] .course-anim { min-height: 260px !important; border-radius: 12px !important; }
[data-tkm-scope="general"] .anim-ai,
[data-tkm-scope="general"] .anim-cyber { min-height: 260px !important; }
[data-tkm-scope="general"] .cta-card { padding: 22px 18px !important; }

[data-tkm-scope="general"] .blog-hero { padding: 26px 0 12px !important; }
[data-tkm-scope="general"] .blog-grid { gap: 10px !important; margin-bottom: 18px !important; }
[data-tkm-scope="general"] :where(.post-card,.blog-card,.featured-post) { padding: 14px !important; }
[data-tkm-scope="general"] .featured-post { margin-bottom: 18px !important; }

[data-tkm-scope="general"] :where(
    .story-card,.value-card,.team-card,.holo-card,.hub-feature-card,.inv-card
) { padding: 15px !important; }
[data-tkm-scope="general"] :where(
    .story-header,.team-sub,.vis-pillars,.inv-uses,.inv-btns
) { margin-bottom: 14px !important; }
[data-tkm-scope="general"] .tl-item { margin-bottom: 16px !important; }
[data-tkm-scope="general"] .inv-card { padding: 20px !important; }

@media (max-width:600px) {
    [data-tkm-scope="general"] #hub-hero .hero-container { padding: 28px 5% 22px !important; }
    [data-tkm-scope="general"] :where(#hub-why,#hub-programs,#hub-cta) {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}

/* General website login: compact card with protected icon/text lanes. */
[data-tkm-scope="general"] .login-wrapper {
    min-height: calc(100dvh - 80px) !important;
    padding: 18px 12px !important;
}
[data-tkm-scope="general"] .login-card {
    max-width: 360px !important;
    padding: 22px 22px 18px !important;
    border-radius: 12px !important;
}
[data-tkm-scope="general"] .login-logo {
    max-width: 92px !important;
    margin-bottom: 12px !important;
}
[data-tkm-scope="general"] .login-header {
    margin-bottom: 18px !important;
}
[data-tkm-scope="general"] .login-header h2 {
    font-size: 1.18rem !important;
    letter-spacing: -.5px !important;
}
[data-tkm-scope="general"] .login-header p {
    margin-top: 3px !important;
    font-size: .58rem !important;
}
[data-tkm-scope="general"] .form-group {
    margin-bottom: 13px !important;
}
[data-tkm-scope="general"] .form-label {
    margin-bottom: 6px !important;
    font-size: .58rem !important;
}
[data-tkm-scope="general"] .input-group {
    position: relative !important;
}
[data-tkm-scope="general"] .input-group .field-icon {
    left: 14px !important;
    width: 16px !important;
    font-size: .82rem !important;
    text-align: center !important;
    pointer-events: none !important;
}
[data-tkm-scope="general"] .input-group .login-input {
    min-height: 40px !important;
    padding: 9px 42px 9px 42px !important;
    font-size: .8rem !important;
}
[data-tkm-scope="general"] .password-toggle {
    right: 8px !important;
    width: 32px !important;
    height: 32px !important;
    min-height: 0 !important;
    padding: 0 !important;
    font-size: .8rem !important;
    transform: translateY(-50%) !important;
}
[data-tkm-scope="general"] .btn-login {
    min-height: 40px !important;
    padding: 9px 12px !important;
    font-size: .72rem !important;
    letter-spacing: 1px !important;
}
[data-tkm-scope="general"] :where(.alert-error,.alert-success) {
    padding: 9px 11px !important;
    margin-bottom: 13px !important;
    gap: 8px !important;
    font-size: .72rem !important;
}
[data-tkm-scope="general"] .login-card form + div {
    margin-top: 16px !important;
}

@media(max-width:420px) {
    [data-tkm-scope="general"] .login-card {
        max-width: 330px !important;
        padding: 18px 16px 15px !important;
    }
    [data-tkm-scope="general"] .login-logo { max-width: 78px !important; }
}
