:root {
    --bg: #FBF9FE;
    --surface: #FFFFFF;
    --surface-alt: #F3E8FF;
    --text: #110D1B;
    --text-muted: #79728B;
    --border: #E4DFEC;
    --primary: #581C87;
    --primary-hover: #47156C;
    --on-primary: #FFFFFF;
    --primary-text: #581C87;
    --accent: #9333EA;
    --accent-hover: #7E22CE;
    --on-accent: #FFFFFF;
    --accent-text: #9333EA;
    --dark-band: #0E0C14;
    --on-dark: #FFFFFF;
    --on-dark-muted: #C8C2D8;
    --light-tint-border: #E9D5FF;
    --card-line-1: #9333EA;
    --card-line-2: #6366F1;
    --card-line-3: #EC4899;
    --card-line-4: #8B5CF6;
}

* {
    box-sizing: border-box;
}

body.scan-workbook-body {
    font-family: 'Wix Madefor Text', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.text-muted {
    color: var(--text-muted) !important;
}

.db-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 0;
    padding: 16px 32px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.db-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.db-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--primary-text);
    border: 1px solid var(--primary-text);
    border-radius: 0;
    padding: 16px 32px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.db-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.db-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0;
    padding: 28px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.db-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08);
}

.db-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 0;
    border: 1px solid var(--border);
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
    background-color: var(--surface-alt);
}

.db-media img,
.db-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.db-eyebrow {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--primary-text);
    display: inline-block;
    margin-bottom: 12px;
}

.db-title {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--text);
    margin-bottom: 20px;
}

.db-badge {
    display: inline-block;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    background-color: var(--accent);
    color: var(--on-accent);
    border-radius: 0;
    letter-spacing: 0.05em;
}

.db-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    border-radius: 0;
    font-size: 24px;
    flex-shrink: 0;
}

.db-section {
    padding-top: 90px;
    padding-bottom: 90px;
    background-color: var(--bg);
    position: relative;
}

.db-section-alt {
    padding-top: 90px;
    padding-bottom: 90px;
    background-color: var(--surface-alt);
    position: relative;
}

.db-section-dark {
    padding-top: 90px;
    padding-bottom: 90px;
    background-color: var(--dark-band);
    color: var(--on-dark);
    position: relative;
}

.db-section-brand {
    padding-top: 90px;
    padding-bottom: 90px;
    background-color: var(--primary);
    color: var(--on-primary);
    position: relative;
}

.db-section-brand .db-btn {
    background-color: var(--accent);
    color: var(--on-accent);
    border-color: var(--accent);
}

.db-section-brand .db-btn:hover {
    background-color: #7E22CE;
    border-color: #7E22CE;
}

.db-section-brand .db-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.db-section-brand .db-btn-alt:hover {
    background-color: var(--on-primary);
    color: var(--primary);
}

.db-section-dark .db-title,
.db-on-dark .db-title {
    color: var(--on-dark);
}

.db-section-dark .db-eyebrow,
.db-on-dark .db-eyebrow {
    color: var(--accent);
}

.db-section-dark p,
.db-on-dark p {
    color: var(--on-dark-muted);
}

.db-section-dark .text-muted,
.db-on-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.db-section-dark .db-btn-alt,
.db-on-dark .db-btn-alt {
    color: var(--on-dark);
    border-color: var(--on-dark);
}

.db-section-dark .db-btn-alt:hover,
.db-on-dark .db-btn-alt:hover {
    background-color: var(--on-dark);
    color: var(--dark-band);
}

.db-section-dark .db-card,
.db-on-dark .db-card {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.db-section-dark .db-card p,
.db-on-dark .db-card p {
    color: var(--text);
}

.db-section-dark .db-card .text-muted,
.db-on-dark .db-card .text-muted {
    color: var(--text-muted) !important;
}

.db-section-dark .db-card .db-title,
.db-on-dark .db-card .db-title {
    color: var(--text);
}

.db-section-dark .db-card .db-eyebrow,
.db-on-dark .db-card .db-eyebrow {
    color: var(--primary-text);
}

.db-section-dark .db-card .db-btn-alt,
.db-on-dark .db-card .db-btn-alt {
    color: var(--primary-text);
    border-color: var(--primary-text);
}

@media (max-width: 991.98px) {

    .db-section,
    .db-section-alt,
    .db-section-dark,
    .db-section-brand {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .db-title {
        font-size: 30px;
    }
}

/* ===== header_navigation ===== */
.sq-header {
    position: sticky;
    top: 0;
    z-index: 1040;
    width: 100%;
    box-shadow: 0 2px 10px rgba(14, 12, 20, 0.06);
    font-family: 'Wix Madefor Text', sans-serif;
}

.sq-header .sq-topbar {
    background-color: #0E0C14;
    color: #C8C2D8;
    font-size: 13px;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sq-header .sq-boundary-badge {
    display: inline-flex;
    align-items: center;
    background-color: rgba(147, 51, 234, 0.2);
    color: #C084FC;
    border: 1px solid rgba(192, 132, 252, 0.3);
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1;
}

.sq-header .sq-top-disclaimer-link {
    color: #C8C2D8;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 12px;
    transition: color 0.2s ease;
}

.sq-header .sq-top-disclaimer-link:hover {
    color: #FFFFFF;
}

.sq-header .sq-topbar-link {
    color: #C8C2D8;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sq-header .sq-topbar-link:hover {
    color: #FFFFFF;
}

.sq-header .sq-navbar {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E4DFEC;
    padding-top: 10px;
    padding-bottom: 10px;
}

.sq-header .sq-brand-logo {
    max-width: 44px;
    height: 44px;
    object-fit: contain;
}

.sq-header .sq-brand-text {
    font-size: 20px;
    font-weight: 800;
    color: #110D1B;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.sq-header .sq-brand-highlight {
    color: #9333EA;
}

.sq-header .sq-brand-sub {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #9333EA;
    letter-spacing: 0.16em;
    line-height: 1;
}

.sq-header .sq-brand-center {
    text-decoration: none;
    margin-left: 20px;
    margin-right: 20px;
}

.sq-header .sq-toggler {
    border: 1px solid #E4DFEC;
    padding: 6px 10px;
    border-radius: 4px;
}

.sq-header .sq-toggler:focus {
    box-shadow: 0 0 0 2px rgba(147, 51, 234, 0.25);
}

.sq-header .sq-nav-link {
    color: #110D1B;
    font-size: 15px;
    font-weight: 600;
    padding: 10px 14px;
    transition: color 0.2s ease;
}

.sq-header .sq-nav-link:hover,
.sq-header .sq-nav-link:focus {
    color: #9333EA;
}

.sq-header .sq-dropdown-menu {
    background-color: #FFFFFF;
    border: 1px solid #E4DFEC;
    border-radius: 0;
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.1);
    padding: 8px 0;
    margin-top: 4px;
    min-width: 250px;
}

.sq-header .sq-dropdown-header {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #79728B;
    padding: 8px 16px 4px;
}

.sq-header .sq-dropdown-item {
    font-size: 14px;
    font-weight: 600;
    color: #110D1B;
    padding: 10px 16px;
    transition: background-color 0.2s ease, color 0.2s ease;
    display: flex;
    align-items: center;
}

.sq-header .sq-dropdown-item:hover,
.sq-header .sq-dropdown-item:focus {
    background-color: #F3E8FF;
    color: #581C87;
}

.sq-header .sq-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #581C87;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 12px 20px;
    border-radius: 0;
    text-decoration: none;
    border: 1px solid #581C87;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sq-header .sq-action-btn:hover,
.sq-header .sq-action-btn:focus {
    background-color: #47156C;
    border-color: #47156C;
    color: #FFFFFF;
}

@media (max-width: 991px) {
    .sq-header .sq-navbar {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .sq-header .navbar-collapse {
        background-color: #FFFFFF;
        padding: 16px 0 12px;
        border-top: 1px solid #E4DFEC;
        margin-top: 8px;
    }

    .sq-header .sq-nav-link {
        padding: 8px 0;
        border-bottom: 1px solid rgba(228, 223, 236, 0.4);
    }

    .sq-header .sq-dropdown-menu {
        box-shadow: none;
        border: 1px solid #E4DFEC;
        background-color: #FBF9FE;
        margin-bottom: 8px;
        padding: 4px 0;
    }

    .sq-header .sq-action-btn {
        width: 100%;
        margin-top: 12px;
    }
}

@media (max-width: 767px) {
    .sq-header .sq-topbar {
        font-size: 12px;
    }

    .sq-header .sq-topbar .container {
        justify-content: center;
        text-align: center;
    }

    .sq-header .sq-brand-text {
        font-size: 17px;
    }
}

/* ===== hero_section ===== */
.sq-hero {
    position: relative;
    background-color: var(--dark-band, #0E0C14);
    color: var(--on-dark, #FFFFFF);
    min-height: 580px;
    display: flex;
    align-items: center;
}

.sq-hero__video-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.sq-hero__bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sq-hero__video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(14, 12, 20, 0.94) 0%, rgba(24, 21, 36, 0.88) 100%);
}

.sq-hero__badge {
    background-color: rgba(147, 51, 234, 0.25);
    border: 1px solid var(--accent, #9333EA);
    border-radius: 4px;
}

.sq-hero__title {
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.sq-hero__title-primary {
    color: #FFFFFF;
}

.sq-hero__title-accent {
    color: var(--accent-light, #C084FC);
}

.sq-hero__lead {
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 600px;
    color: var(--on-dark-muted, #C8C2D8);
}

.sq-hero__cta-btn {
    background-color: var(--accent, #9333EA);
    color: #FFFFFF;
    text-decoration: none;
    padding: 14px 28px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.08em;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--accent, #9333EA);
    border-radius: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sq-hero__cta-btn:hover {
    background-color: var(--accent-hover, #7E22CE);
    border-color: var(--accent-hover, #7E22CE);
    color: #FFFFFF;
}

.sq-hero__secondary-btn {
    background-color: transparent;
    color: #FFFFFF;
    text-decoration: none;
    padding: 14px 24px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.08em;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sq-hero__secondary-btn:hover {
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: var(--dark-band, #0E0C14);
}

.sq-hero__disclaimer-note {
    background: rgba(0, 0, 0, 0.45);
    border-left: 3px solid #EAB308;
    border-radius: 0;
}

.sq-hero__notebook-card {
    background: rgba(24, 21, 36, 0.92);
    border: 1px solid rgba(147, 51, 234, 0.35);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
}

.sq-hero__status-dot {
    width: 8px;
    height: 8px;
    background-color: var(--accent-light, #C084FC);
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 8px var(--accent, #9333EA);
}

.bg-purple-tint {
    background-color: rgba(147, 51, 234, 0.2);
}

.text-purple {
    color: var(--accent-light, #C084FC);
}

.sq-hero__pipeline-item {
    background: rgba(14, 12, 20, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sq-hero__pipeline-item:hover {
    background: rgba(88, 28, 135, 0.35);
    border-color: var(--accent, #9333EA);
}

.sq-hero__step-num {
    font-family: monospace;
    font-size: 11px;
    font-weight: 700;
    color: var(--accent-light, #C084FC);
    background: rgba(147, 51, 234, 0.15);
    padding: 4px 6px;
    border-radius: 2px;
}

.sq-hero__step-desc {
    font-size: 11px;
    color: var(--on-dark-muted, #908A9F);
    line-height: 1.3;
}

.sq-hero__step-link {
    color: var(--on-dark-muted, #C8C2D8);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    text-decoration: none;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.sq-hero__step-link:hover {
    color: #FFFFFF;
    background-color: var(--accent, #9333EA);
}

@media (max-width: 767px) {
    .sq-hero__title {
        font-size: 18px;
        hyphens: auto;
    }

    .sq-hero__lead {
        font-size: 14px;
    }

    .sq-hero__cta-btn,
    .sq-hero__secondary-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ===== the_core_scientific_workflow ===== */
.workflow-framework-section {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--page-background, #FBF9FE);
    color: #110D1B;
}

.workflow-framework-section .workflow-lead {
    max-width: 780px;
    color: #544D63;
    font-size: 16px;
    line-height: 1.6;
}

.workflow-framework-section .text-accent {
    color: #9333EA;
}

.workflow-framework-section .workflow-step-btn {
    background: #FFFFFF;
    border: 1px solid #E4DFEC;
    padding: 16px 14px;
    border-radius: 0;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.workflow-framework-section .workflow-step-btn:hover {
    border-color: #9333EA;
    background: #F3E8FF;
}

.workflow-framework-section .workflow-step-btn.active {
    background: #581C87;
    border-color: #581C87;
}

.workflow-framework-section .workflow-step-btn .step-num {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #9333EA;
}

.workflow-framework-section .workflow-step-btn.active .step-num {
    color: #C084FC;
}

.workflow-framework-section .workflow-step-btn .step-tag {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #79728B;
    font-weight: 600;
}

.workflow-framework-section .workflow-step-btn.active .step-tag {
    color: #E9D5FF;
}

.workflow-framework-section .workflow-step-btn .step-label {
    font-size: 13px;
    font-weight: 700;
    color: #110D1B;
    line-height: 1.25;
}

.workflow-framework-section .workflow-step-btn.active .step-label {
    color: #FFFFFF;
}

.workflow-framework-section .stage-pane {
    display: none;
}

.workflow-framework-section .stage-pane.active {
    display: block;
}

.workflow-framework-section .stage-content-box {
    background: #FFFFFF;
    border: 1px solid #E4DFEC;
    padding: 36px;
    border-radius: 0;
}

.workflow-framework-section .stage-subheading {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #79728B;
}

.workflow-framework-section .stage-heading {
    font-size: 26px;
    font-weight: 800;
    color: #110D1B;
    line-height: 1.25;
}

.workflow-framework-section .stage-text {
    font-size: 15px;
    color: #544D63;
    line-height: 1.6;
}

.workflow-framework-section .stage-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.workflow-framework-section .stage-checklist li {
    font-size: 14px;
    color: #110D1B;
    position: relative;
    padding-left: 20px;
}

.workflow-framework-section .stage-checklist li::before {
    content: '▪';
    position: absolute;
    left: 0;
    top: 0;
    color: #9333EA;
    font-size: 16px;
    line-height: 1;
}

.workflow-framework-section .workflow-spec-card {
    background: #181524;
    color: #FFFFFF;
    border-left: 4px solid #9333EA;
}

.workflow-framework-section .spec-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #FFFFFF;
}

.workflow-framework-section .spec-card-desc {
    font-size: 14px;
    color: #C8C2D8;
    line-height: 1.6;
    font-style: italic;
}

.workflow-framework-section .spec-meta {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.workflow-framework-section .spec-meta .meta-label {
    font-size: 11px;
    text-transform: uppercase;
    color: #908A9F;
    letter-spacing: 0.08em;
}

.workflow-framework-section .spec-meta .meta-value {
    font-size: 12px;
    font-weight: 700;
    color: #C084FC;
    text-transform: uppercase;
}

.workflow-framework-section .slider-trap-banner {
    background: #0E0C14;
    border: 4px solid #9333EA;
    color: #FFFFFF;
    position: relative;
}

.workflow-framework-section .trap-tag {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #C084FC;
}

.workflow-framework-section .trap-heading {
    font-size: 24px;
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1.3;
}

.workflow-framework-section .trap-text {
    font-size: 15px;
    color: #C8C2D8;
    line-height: 1.6;
}

.workflow-framework-section .reference-heading {
    font-size: 22px;
    font-weight: 800;
    color: #110D1B;
}

.workflow-framework-section .reference-subtext {
    font-size: 14px;
    color: #79728B;
}

.workflow-framework-section .research-case-card {
    background: #FFFFFF;
    border: 1px solid #E4DFEC;
    border-bottom: 3px solid #9333EA;
    border-radius: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.workflow-framework-section .research-case-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08);
}

.workflow-framework-section .db-media-frame {
    height: 220px;
    overflow: hidden;
}

.workflow-framework-section .db-media-frame img {
    height: 100%;
    object-fit: cover;
}

.workflow-framework-section .card-date-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #9333EA;
    color: #FFFFFF;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
}

.workflow-framework-section .card-author-line {
    font-size: 13px;
    color: #79728B;
}

.workflow-framework-section .card-item-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}

.workflow-framework-section .card-item-title a {
    color: #110D1B;
    transition: color 0.2s ease;
}

.workflow-framework-section .card-item-title a:hover {
    color: #9333EA;
}

.workflow-framework-section .card-excerpt {
    font-size: 14px;
    color: #544D63;
    line-height: 1.6;
}

.workflow-framework-section .card-link-accent {
    color: #9333EA;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

.workflow-framework-section .card-link-accent:hover {
    color: #581C87;
}

.workflow-framework-section .db-btn {
    background: #581C87;
    color: #FFFFFF;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: none;
    text-decoration: none;
    border-radius: 0;
    transition: background-color 0.2s ease;
}

.workflow-framework-section .db-btn:hover {
    background: #47156C;
    color: #FFFFFF;
}

.workflow-framework-section .db-btn-alt {
    background: #9333EA;
    color: #FFFFFF;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: none;
    text-decoration: none;
    border-radius: 0;
    transition: background-color 0.2s ease;
}

.workflow-framework-section .db-btn-alt:hover {
    background: #7E22CE;
    color: #FFFFFF;
}

.workflow-framework-section .db-badge {
    background: #F3E8FF;
    color: #581C87;
    font-weight: 700;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.workflow-framework-section .db-eyebrow {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #581C87;
}

.workflow-framework-section .db-title {
    font-size: 36px;
    font-weight: 800;
    color: #110D1B;
    line-height: 1.2;
}

@media (max-width: 767px) {
    .workflow-framework-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .workflow-framework-section .db-title {
        font-size: 24px;
    }

    .workflow-framework-section .stage-heading {
        font-size: 20px;
    }

    .workflow-framework-section .stage-content-box {
        padding: 22px;
    }

    .workflow-framework-section .trap-heading {
        font-size: 18px;
    }

    .workflow-framework-section .db-media-frame {
        height: 180px;
    }
}

/* ===== educational_exploration_categories ===== */
.sqw-categories-section {
    background-color: var(--surface-alt, #F3E8FF);
    color: var(--text, #110D1B);
    position: relative;
    overflow: hidden;
}

.sqw-categories-section .sqw-eyebrow {
    color: var(--primary, #581C87);
    font-size: 13px;
    letter-spacing: 0.14em;
}

.sqw-categories-section .sqw-heading {
    color: var(--text, #110D1B);
    font-size: 40px;
    line-height: 1.2;
}

.sqw-categories-section .sqw-accent-word {
    color: var(--accent, #9333EA);
}

.sqw-categories-section .sqw-lead-text {
    color: var(--text-muted, #544D63);
    font-size: 17px;
    line-height: 1.6;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.sqw-categories-section .sqw-category-card {
    background: #FFFFFF;
    border: 1px solid var(--neutral-border, #E4DFEC);
    border-radius: 0;
    padding: 32px 28px 24px;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

.sqw-categories-section .sqw-category-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08);
}

.sqw-categories-section .sqw-icon-box {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #FFFFFF;
    border-radius: 0;
    flex-shrink: 0;
}

.sqw-categories-section .sqw-icon-p1 {
    background-color: #581C87;
}

.sqw-categories-section .sqw-icon-p2 {
    background-color: #9333EA;
}

.sqw-categories-section .sqw-icon-p3 {
    background-color: #6366F1;
}

.sqw-categories-section .sqw-icon-p4 {
    background-color: #EC4899;
}

.sqw-categories-section .sqw-icon-p5 {
    background-color: #8B5CF6;
}

.sqw-categories-section .sqw-card-step {
    background: var(--light-tint, #F3E8FF);
    color: var(--primary, #581C87);
    font-size: 11px;
    font-weight: 700;
    padding: 6px 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid var(--light-tint-border, #E9D5FF);
}

.sqw-categories-section .sqw-card-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

.sqw-categories-section .sqw-title-link {
    color: var(--text, #110D1B);
    text-decoration: none;
    transition: color 0.2s ease;
}

.sqw-categories-section .sqw-title-link:hover,
.sqw-categories-section .sqw-title-link:focus {
    color: var(--accent, #9333EA);
}

.sqw-categories-section .sqw-card-description {
    color: var(--text-muted, #544D63);
    font-size: 15px;
    line-height: 1.6;
}

.sqw-categories-section .sqw-card-footer {
    border-color: var(--neutral-border, #E4DFEC) !important;
}

.sqw-categories-section .sqw-card-action {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--primary, #581C87);
    background: transparent;
    padding: 6px 0;
    border: none;
    transition: color 0.2s ease;
}

.sqw-categories-section .sqw-card-action:hover,
.sqw-categories-section .sqw-card-action:focus {
    color: var(--accent, #9333EA);
}

.sqw-categories-section .sqw-bottom-line {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
}

.sqw-categories-section .sqw-line-p1 {
    background-color: #581C87;
}

.sqw-categories-section .sqw-line-p2 {
    background-color: #9333EA;
}

.sqw-categories-section .sqw-line-p3 {
    background-color: #6366F1;
}

.sqw-categories-section .sqw-line-p4 {
    background-color: #EC4899;
}

.sqw-categories-section .sqw-line-p5 {
    background-color: #8B5CF6;
}

@media (max-width: 767px) {
    .sqw-categories-section .sqw-heading {
        font-size: 16px;
        hyphens: auto;
    }

    .sqw-categories-section .sqw-card-title {
        font-size: 14px;
    }

    .sqw-categories-section .sqw-lead-text {
        font-size: 14px;
    }

    .sqw-categories-section .sqw-category-card {
        padding: 22px 18px 18px;
    }
}

/* ===== featured_research_question_analyses ===== */
.featured-cases-section {
    padding-top: 90px;
    padding-bottom: 90px;
    position: relative;
}

.featured-cases-section .featured-cases-header {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.featured-cases-section .featured-cases-accent {
    color: var(--accent);
}

.featured-cases-section .featured-cases-lead {
    font-size: 17px;
    line-height: 1.6;
    color: var(--text-muted);
    max-width: 680px;
}

.featured-cases-section .featured-cases-pill {
    border: none;
    border-radius: 50rem;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 600;
    background-color: var(--light-tint);
    color: var(--primary);
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
    text-decoration: none;
}

.featured-cases-section .featured-cases-pill:hover {
    background-color: var(--light-tint-border);
    color: var(--primary);
}

.featured-cases-section .featured-cases-pill.is-active {
    background-color: var(--primary);
    color: #ffffff;
}

.featured-cases-section .featured-case-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.featured-cases-section .featured-case-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08);
}

.featured-cases-section .featured-case-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: var(--surface-alt);
}

.featured-cases-section .featured-case-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

.featured-cases-section .featured-case-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: var(--accent);
    color: #ffffff;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 0;
    z-index: 2;
}

.featured-cases-section .featured-case-meta {
    font-size: 13px;
    color: var(--text-muted);
}

.featured-cases-section .featured-case-icon {
    color: var(--primary);
    font-size: 14px;
}

.featured-cases-section .featured-case-heading {
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    color: var(--text);
}

.featured-cases-section .featured-case-title-link {
    color: var(--text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.featured-cases-section .featured-case-title-link:hover {
    color: var(--accent);
}

.featured-cases-section .featured-case-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--primary);
    margin-bottom: 3px;
}

.featured-cases-section .featured-case-text {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text);
}

.featured-cases-section .featured-case-code {
    font-family: monospace;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--accent);
    background-color: var(--surface-alt);
    padding: 8px 12px;
    border-left: 3px solid var(--accent);
    border-radius: 0;
    word-break: break-word;
}

.featured-cases-section .featured-case-btn {
    border-radius: 0;
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: var(--primary);
    color: #ffffff;
    border: 1px solid var(--primary);
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.featured-cases-section .featured-case-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: #ffffff;
}

.featured-cases-section .featured-cases-all-btn {
    border-radius: 0;
    padding: 16px 36px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background-color: var(--accent);
    color: #ffffff;
    border: 1px solid var(--accent);
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.featured-cases-section .featured-cases-all-btn:hover {
    background-color: var(--accent-hover);
    border-color: var(--accent-hover);
    color: #ffffff;
}

.featured-cases-section .featured-case-bottom-line {
    height: 3px;
    width: 100%;
}

.featured-cases-section .featured-line-violet {
    background-color: #9333EA;
}

.featured-cases-section .featured-line-indigo {
    background-color: #6366F1;
}

.featured-cases-section .featured-line-pink {
    background-color: #EC4899;
}

.featured-cases-section .featured-line-purple {
    background-color: #8B5CF6;
}

@media (max-width: 767px) {
    .featured-cases-section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .featured-cases-section .db-title {
        font-size: 16px;
        hyphens: auto;
    }

    .featured-cases-section .featured-case-heading {
        font-size: 14px;
        hyphens: auto;
    }

    .featured-cases-section .featured-cases-lead {
        font-size: 15px;
    }

    .featured-cases-section .featured-cases-pill {
        font-size: 12px;
        padding: 8px 16px;
    }
}

/* ===== we_and_the_typical_approach ===== */
.sq-compare-section {
    padding-top: 80px;
    padding-bottom: 80px;
}

@media (max-width: 767px) {
    .sq-compare-section {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

.sq-compare-section .sq-compare-title {
    font-size: 38px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #110D1B;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .sq-compare-section .sq-compare-title {
        font-size: 16px;
        hyphens: auto;
    }
}

.sq-compare-section .sq-compare-highlight {
    color: #9333EA;
}

.sq-compare-section .sq-compare-lead {
    font-size: 16px;
    line-height: 1.6;
    color: #544D63;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.sq-compare-section .sq-dimension-card {
    background: #FFFFFF;
    border: 1px solid #E4DFEC;
    border-radius: 0;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

.sq-compare-section .sq-dimension-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08);
}

.sq-compare-section .sq-card-stripe {
    height: 4px;
    width: 100%;
}

.sq-compare-section .sq-stripe-1 {
    background-color: #9333EA;
}

.sq-compare-section .sq-stripe-2 {
    background-color: #6366F1;
}

.sq-compare-section .sq-stripe-3 {
    background-color: #EC4899;
}

.sq-compare-section .sq-stripe-4 {
    background-color: #8B5CF6;
}

.sq-compare-section .sq-card-body {
    padding: 24px 20px;
    height: 100%;
}

.sq-compare-section .sq-dim-badge {
    width: 32px;
    height: 32px;
    background: #581C87;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sq-compare-section .sq-dim-name {
    font-size: 15px;
    font-weight: 700;
    color: #110D1B;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .sq-compare-section .sq-dim-name {
        font-size: 14px;
    }
}

.sq-compare-section .sq-method-box {
    padding: 14px 12px;
    border: 1px solid #E4DFEC;
    border-radius: 0;
}

.sq-compare-section .sq-method-ours {
    background: #FBF9FE;
    border-left: 3px solid #581C87;
}

.sq-compare-section .sq-method-typical {
    background: #FFFFFF;
    border-left: 3px solid #79728B;
}

.sq-compare-section .sq-method-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #581C87;
    margin-bottom: 6px;
}

.sq-compare-section .sq-method-tag-alt {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #79728B;
    margin-bottom: 6px;
}

.sq-compare-section .sq-method-desc {
    font-size: 13px;
    line-height: 1.5;
    color: #544D63;
}

.sq-compare-section .sq-deep-card {
    background: #FFFFFF;
    border: 1px solid #E4DFEC;
    border-left: 4px solid #9333EA;
    padding: 28px;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sq-compare-section .sq-deep-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08);
}

.sq-compare-section .sq-deep-badge {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9333EA;
    margin-bottom: 12px;
}

.sq-compare-section .sq-deep-title-link {
    text-decoration: none;
    display: block;
}

.sq-compare-section .sq-deep-title {
    font-size: 18px;
    font-weight: 700;
    color: #110D1B;
    line-height: 1.35;
    margin-bottom: 12px;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .sq-compare-section .sq-deep-title {
        font-size: 14px;
    }
}

.sq-compare-section .sq-deep-title-link:hover .sq-deep-title {
    color: #9333EA;
}

.sq-compare-section .sq-deep-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #544D63;
    margin-bottom: 20px;
}

.sq-compare-section .sq-meta-author {
    font-size: 13px;
    font-weight: 600;
    color: #79728B;
}

.sq-compare-section .sq-deep-action {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9333EA;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

.sq-compare-section .sq-deep-action:hover {
    color: #581C87;
}

/* ===== common_industry_pitfalls ===== */
.pitfalls-expertise-block {
    background-color: var(--page-background, #FBF9FE);
    color: var(--text, #110D1B);
}

.pitfalls-expertise-block .pitfalls-eyebrow {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--primary, #581C87);
}

.pitfalls-expertise-block .pitfalls-heading {
    font-size: clamp(24px, 4vw, 40px);
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--primary_text, #110D1B);
    overflow-wrap: anywhere;
}

.pitfalls-expertise-block .pitfalls-heading-accent {
    color: var(--accent, #9333EA);
}

.pitfalls-expertise-block .pitfalls-lead {
    font-size: clamp(15px, 2vw, 17px);
    line-height: 1.6;
    color: var(--secondary_text, #544D63);
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.pitfalls-expertise-block .pitfalls-tabs-container {
    background-color: #F3E8FF;
    border: 1px solid var(--neutral_border, #E4DFEC);
    border-radius: 50rem;
}

.pitfalls-expertise-block .pitfalls-tab-btn {
    border: none;
    background: transparent;
    color: var(--primary, #581C87);
    border-radius: 50rem;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    outline: none;
}

.pitfalls-expertise-block .pitfalls-tab-btn:hover {
    background-color: rgba(88, 28, 135, 0.12);
    color: var(--primary, #581C87);
}

.pitfalls-expertise-block .pitfalls-tab-btn.active {
    background-color: var(--primary, #581C87);
    color: #FFFFFF;
}

.pitfalls-expertise-block .pitfalls-card {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--neutral_border, #E4DFEC);
    border-radius: 0px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
}

.pitfalls-expertise-block .pitfalls-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08);
}

.pitfalls-expertise-block .pitfalls-card--violet {
    border-bottom: 3px solid #581C87;
}

.pitfalls-expertise-block .pitfalls-card--purple {
    border-bottom: 3px solid #9333EA;
}

.pitfalls-expertise-block .pitfalls-card--indigo {
    border-bottom: 3px solid #6366F1;
}

.pitfalls-expertise-block .pitfalls-card--pink {
    border-bottom: 3px solid #EC4899;
}

.pitfalls-expertise-block .pitfalls-icon-box {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 24px;
    flex-shrink: 0;
}

.pitfalls-expertise-block .pitfalls-icon-box--violet {
    background-color: #581C87;
}

.pitfalls-expertise-block .pitfalls-icon-box--purple {
    background-color: #9333EA;
}

.pitfalls-expertise-block .pitfalls-icon-box--indigo {
    background-color: #6366F1;
}

.pitfalls-expertise-block .pitfalls-icon-box--pink {
    background-color: #EC4899;
}

.pitfalls-expertise-block .pitfalls-card-badge {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--primary, #581C87);
    background-color: var(--surface-alt, #F3E8FF);
}

.pitfalls-expertise-block .pitfalls-card-title {
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
    color: var(--primary_text, #110D1B);
}

.pitfalls-expertise-block .pitfalls-card-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--secondary_text, #544D63);
}

.pitfalls-expertise-block .pitfalls-comparison-box {
    background-color: #FBF9FE;
    border: 1px solid var(--neutral_border, #E4DFEC);
}

.pitfalls-expertise-block .pitfalls-diff-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
}

.pitfalls-expertise-block .pitfalls-diff-label--flawed {
    color: #B91C1C;
}

.pitfalls-expertise-block .pitfalls-diff-label--valid {
    color: #047857;
}

.pitfalls-expertise-block .pitfalls-diff-code {
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    background: #FFFFFF;
    padding: 6px 10px;
    border: 1px solid #E9D5FF;
    color: var(--primary_text, #110D1B);
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
}

.pitfalls-expertise-block .pitfalls-impact-tag {
    font-size: 12px;
    font-weight: 600;
    color: var(--secondary_text, #544D63);
}

.pitfalls-expertise-block .pitfalls-impact-tag i {
    color: #D97706;
}

.pitfalls-expertise-block .pitfalls-link {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--accent, #9333EA);
    text-decoration: none;
    transition: color 0.2s ease;
}

.pitfalls-expertise-block .pitfalls-link:hover {
    color: var(--primary, #581C87);
}

.pitfalls-expertise-block .pitfalls-summary-panel {
    background-color: #0E0C14;
    border: 2px solid var(--accent, #9333EA);
}

.pitfalls-expertise-block .pitfalls-cta-btn {
    background-color: var(--accent, #9333EA);
    color: #FFFFFF;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    transition: background-color 0.2s ease;
}

.pitfalls-expertise-block .pitfalls-cta-btn:hover {
    background-color: #7E22CE;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .pitfalls-expertise-block .pitfalls-heading {
        font-size: 16px;
        hyphens: auto;
    }

    .pitfalls-expertise-block .pitfalls-card-title {
        font-size: 14px;
        hyphens: auto;
    }

    .pitfalls-expertise-block .pitfalls-summary-panel h3 {
        font-size: 15px;
    }

    .pitfalls-expertise-block .pitfalls-tabs-container {
        border-radius: 8px;
        width: 100%;
    }

    .pitfalls-expertise-block .pitfalls-tab-btn {
        width: 100%;
        text-align: center;
        border-radius: 4px;
        padding: 8px 12px;
    }

    .pitfalls-expertise-block .pitfalls-summary-action {
        width: 100%;
    }

    .pitfalls-expertise-block .pitfalls-cta-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ===== press_academic_commentary ===== */
.sqw-academic-section {
    padding: 90px 0;
    background-color: #F3E8FF;
    position: relative;
    overflow: hidden
}

.sqw-academic-section .sqw-title-accent {
    color: #9333EA
}

.sqw-academic-section .sqw-section-intro {
    font-size: 16px;
    line-height: 1.6;
    color: #544D63;
    max-width: 760px;
    margin: 0 auto
}

.sqw-academic-section .sqw-sub-title {
    font-size: 22px;
    font-weight: 700;
    color: #110D1B;
    letter-spacing: -0.01em
}

.sqw-academic-section .sqw-review-card {
    background: #FFFFFF;
    border: 1px solid #E4DFEC;
    border-radius: 0;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    box-shadow: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease
}

.sqw-academic-section .sqw-review-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08)
}

.sqw-academic-section .sqw-review-rating {
    color: #9333EA;
    font-size: 15px;
    display: flex;
    gap: 4px
}

.sqw-academic-section .sqw-review-quote {
    font-size: 15px;
    line-height: 1.6;
    color: #110D1B;
    font-style: italic;
    margin-bottom: 24px;
    flex-grow: 1
}

.sqw-academic-section .sqw-review-source {
    border-top: 1px solid #E4DFEC;
    padding-top: 14px
}

.sqw-academic-section .sqw-source-pub {
    font-size: 14px;
    font-weight: 700;
    color: #581C87
}

.sqw-academic-section .sqw-source-meta {
    font-size: 12px;
    color: #79728B;
    margin-top: 2px
}

.sqw-academic-section .sqw-news-card {
    background: #FFFFFF;
    border: 1px solid #E4DFEC;
    border-radius: 0;
    border-bottom: 3px solid #9333EA;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease
}

.sqw-academic-section .sqw-news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08)
}

.sqw-academic-section .sqw-news-media {
    width: 100%;
    height: 220px;
    overflow: hidden;
    background-color: #E4DFEC
}

.sqw-academic-section .sqw-media-link {
    display: block;
    width: 100%;
    height: 100%
}

.sqw-academic-section .sqw-news-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.sqw-academic-section .sqw-date-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #9333EA;
    color: #FFFFFF;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 0
}

.sqw-academic-section .sqw-news-content {
    padding: 28px;
    flex-grow: 1;
    display: flex;
    flex-direction: column
}

.sqw-academic-section .sqw-news-meta {
    font-size: 13px;
    color: #79728B
}

.sqw-academic-section .sqw-news-meta i {
    color: #581C87
}

.sqw-academic-section .sqw-meta-topic {
    color: #581C87;
    font-weight: 600
}

.sqw-academic-section .sqw-news-title {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    margin: 0
}

.sqw-academic-section .sqw-title-link {
    color: #110D1B;
    text-decoration: none;
    transition: color 0.2s ease
}

.sqw-academic-section .sqw-title-link:hover {
    color: #9333EA
}

.sqw-academic-section .sqw-news-excerpt {
    font-size: 14px;
    line-height: 1.6;
    color: #544D63
}

.sqw-academic-section .sqw-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #581C87;
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.2s ease
}

.sqw-academic-section .sqw-action-btn:hover {
    background: #47156C;
    color: #FFFFFF
}

@media (max-width:767px) {
    .sqw-academic-section {
        padding: 56px 0
    }

    .sqw-academic-section .db-title {
        font-size: 24px;
        line-height: 1.25
    }

    .sqw-academic-section .sqw-news-media {
        height: 190px
    }

    .sqw-academic-section .sqw-news-content {
        padding: 20px
    }

    .sqw-academic-section .sqw-review-card {
        padding: 24px 20px
    }
}

/* ===== platform_guide_thinkorswim_stock_hacker ===== */
.tos-guide-spotlight {
    background-color: var(--dark-band, #0E0C14);
    color: var(--on-dark, #FFFFFF);
    position: relative;
    border-top: 1px solid rgba(147, 51, 234, 0.2);
    border-bottom: 1px solid rgba(147, 51, 234, 0.2);
}

.tos-guide-spotlight .tos-watermark {
    position: absolute;
    font-size: 200px;
    color: rgba(147, 51, 234, 0.05);
    line-height: 1;
    pointer-events: none;
    z-index: 0;
    user-select: none;
}

.tos-guide-spotlight .tos-watermark-left {
    top: -20px;
    left: -40px;
}

.tos-guide-spotlight .tos-watermark-right {
    bottom: -30px;
    right: -40px;
}

.tos-guide-spotlight .tos-disclaimer-pill {
    background: rgba(88, 28, 135, 0.35);
    border: 1px solid rgba(192, 132, 252, 0.3);
}

.tos-guide-spotlight .tos-pill-text {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--on-dark, #FFFFFF);
}

.tos-guide-spotlight .text-purple-light {
    color: var(--accent-light, #C084FC);
}

.tos-guide-spotlight .tos-eyebrow {
    color: var(--accent-light, #C084FC);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.tos-guide-spotlight .tos-title {
    font-size: 36px;
    line-height: 1.25;
    font-weight: 800;
    color: #FFFFFF;
}

.tos-guide-spotlight .tos-accent-word {
    color: var(--accent, #9333EA);
}

.tos-guide-spotlight .tos-intro-lead {
    max-width: 780px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--on-dark-muted, #C8C2D8);
}

.tos-guide-spotlight .tos-nav-tabs {
    border: none;
}

.tos-guide-spotlight .tos-tab-btn {
    background: #181524;
    color: #C8C2D8;
    border: 1px solid rgba(147, 51, 234, 0.25);
    border-radius: 50rem;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.tos-guide-spotlight .tos-tab-btn:hover {
    background: #261F38;
    color: #FFFFFF;
    border-color: var(--accent, #9333EA);
}

.tos-guide-spotlight .tos-tab-btn.active {
    background: var(--primary, #581C87);
    color: #FFFFFF;
    border-color: var(--accent, #9333EA);
    box-shadow: 0 4px 14px rgba(147, 51, 234, 0.35);
}

.tos-guide-spotlight .tos-workbench-card {
    background: #181524;
    border: 1px solid rgba(147, 51, 234, 0.35);
    border-radius: 0;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.tos-guide-spotlight .tos-category-chip {
    background: var(--primary, #581C87);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 5px 12px;
    border-radius: 0;
}

.tos-guide-spotlight .tos-param-indicator {
    font-size: 12px;
    font-weight: 600;
    color: #C8C2D8;
}

.tos-guide-spotlight .tos-panel-heading {
    font-size: 22px;
    font-weight: 700;
    color: #FFFFFF;
    letter-spacing: -0.01em;
}

.tos-guide-spotlight .tos-inquiry-box {
    background: rgba(88, 28, 135, 0.22);
    border-left: 3px solid var(--accent, #9333EA);
}

.tos-guide-spotlight .tos-label-tiny {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--accent-light, #C084FC);
}

.tos-guide-spotlight .tos-inquiry-text {
    font-size: 15px;
    font-style: italic;
    color: #FFFFFF;
    line-height: 1.5;
}

.tos-guide-spotlight .tos-detail-explanation {
    font-size: 14px;
    line-height: 1.6;
    color: #C8C2D8;
}

.tos-guide-spotlight .tos-pane-footer {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.tos-guide-spotlight .tos-stat-label {
    font-size: 12px;
    color: #908A9F;
    font-weight: 500;
}

.tos-guide-spotlight .tos-stat-value {
    font-size: 13px;
    color: #FFFFFF;
    font-weight: 600;
}

.tos-guide-spotlight .tos-code-badge {
    font-size: 11px;
    background: rgba(255, 255, 255, 0.08);
    color: #C8C2D8;
    padding: 4px 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.tos-guide-spotlight .tos-code-window {
    background: #0E0C14;
    border: 1px solid rgba(147, 51, 234, 0.3);
    border-radius: 0;
}

.tos-guide-spotlight .tos-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.tos-guide-spotlight .tos-dot-red {
    background: #EF4444;
}

.tos-guide-spotlight .tos-dot-yellow {
    background: #F59E0B;
}

.tos-guide-spotlight .tos-dot-green {
    background: #10B981;
}

.tos-guide-spotlight .tos-code-filename {
    font-family: monospace;
    font-size: 11px;
    color: #908A9F;
}

.tos-guide-spotlight .tos-code-block {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    line-height: 1.55;
    color: #E9D5FF;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
}

.tos-guide-spotlight .tos-pitfall-box {
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.tos-guide-spotlight .tos-pitfall-title {
    font-size: 13px;
}

.tos-guide-spotlight .tos-pitfall-text {
    font-size: 13px;
    color: #C8C2D8;
    line-height: 1.5;
}

.tos-guide-spotlight .tos-guide-hint {
    font-size: 12px;
}

.tos-guide-spotlight .tos-cta-btn {
    background: var(--primary, #581C87);
    color: #FFFFFF;
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: none;
    border-radius: 0;
    transition: background-color 0.2s ease;
}

.tos-guide-spotlight .tos-cta-btn:hover {
    background: var(--primary-hover, #47156C);
    color: #FFFFFF;
}

.tos-guide-spotlight .tos-disclaimer-note {
    font-size: 11px;
    line-height: 1.6;
    max-width: 900px;
    margin: 0 auto;
}

@media (max-width: 991.98px) {
    .tos-guide-spotlight .tos-workbench-card {
        padding: 24px;
    }

    .tos-guide-spotlight .border-lg-end {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 24px;
        margin-bottom: 24px;
    }
}

@media (max-width: 767.98px) {
    .tos-guide-spotlight .tos-title {
        font-size: 26px;
        line-height: 1.3;
    }

    .tos-guide-spotlight .tos-intro-lead {
        font-size: 14px;
    }

    .tos-guide-spotlight .tos-tab-btn {
        width: 100%;
        text-align: left;
        padding: 10px 16px;
    }

    .tos-guide-spotlight .tos-workbench-card {
        padding: 16px;
    }

    .tos-guide-spotlight .tos-cta-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ===== footer ===== */
.sq-footer {
    background-color: var(--dark-band, #0E0C14);
    color: var(--on-dark, #FFFFFF);
    padding-top: 56px;
    padding-bottom: 0;
    overflow-x: hidden;
    font-family: 'Wix Madefor Text', sans-serif;
}

.sq-footer a {
    transition: color 0.2s ease, opacity 0.2s ease;
}

.sq-footer .sq-disclaimer-plate {
    background-color: var(--dark-band-surface, #181524);
    border: 2px solid var(--accent, #9333EA);
    border-left-width: 6px;
    padding: 22px 26px;
    margin-bottom: 48px;
    border-radius: 0;
}

.sq-footer .sq-disclaimer-icon {
    color: var(--accent-light, #C084FC);
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
}

.sq-footer .sq-disclaimer-title {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sq-footer .sq-disclaimer-text {
    color: var(--on-dark-muted, #C8C2D8);
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sq-footer .sq-footer-main {
    padding-bottom: 48px;
}

.sq-footer .sq-footer-logo {
    max-width: 44px;
    max-height: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.sq-footer .sq-brand-name {
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.sq-footer .sq-footer-desc {
    color: var(--on-dark-muted, #C8C2D8);
    font-size: 14px;
    line-height: 1.6;
    max-width: 360px;
    overflow-wrap: anywhere;
}

.sq-footer .sq-framework-pill {
    background: rgba(147, 51, 234, 0.14);
    border: 1px solid rgba(147, 51, 234, 0.35);
    padding: 7px 14px;
    border-radius: 50rem;
}

.sq-footer .sq-framework-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--accent-light, #C084FC);
    flex-shrink: 0;
}

.sq-footer .sq-framework-text {
    color: var(--on-dark-muted, #C8C2D8);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sq-footer .sq-col-title {
    color: var(--accent-light, #C084FC);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.sq-footer .sq-footer-nav .sq-nav-item {
    margin-bottom: 9px;
}

.sq-footer .sq-footer-nav .sq-nav-link {
    color: var(--on-dark-muted, #C8C2D8);
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
    display: inline-block;
}

.sq-footer .sq-footer-nav .sq-nav-link:hover,
.sq-footer .sq-footer-nav .sq-nav-link:focus {
    color: #FFFFFF;
    text-decoration: underline;
}

.sq-footer .sq-contact-intro {
    color: var(--on-dark-muted, #C8C2D8);
    font-size: 14px;
    line-height: 1.6;
}

.sq-footer .sq-contact-icon {
    color: var(--accent-light, #C084FC);
    font-size: 16px;
    line-height: 1.3;
    flex-shrink: 0;
}

.sq-footer .sq-contact-val {
    color: var(--on-dark-muted, #C8C2D8);
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sq-footer .sq-contact-link {
    color: var(--on-dark-muted, #C8C2D8);
    text-decoration: none;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sq-footer .sq-contact-link:hover,
.sq-footer .sq-contact-link:focus {
    color: #FFFFFF;
    text-decoration: underline;
}

.sq-footer .sq-contact-page-link {
    color: var(--accent-light, #C084FC);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    border-bottom: 1px dashed var(--accent, #9333EA);
    padding-bottom: 2px;
}

.sq-footer .sq-contact-page-link:hover,
.sq-footer .sq-contact-page-link:focus {
    color: #FFFFFF;
    border-bottom-color: #FFFFFF;
}

.sq-footer .sq-bottom-strip {
    background-color: var(--primary, #581C87);
    color: #FFFFFF;
    padding-top: 18px;
    padding-bottom: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.sq-footer .sq-copyright {
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sq-footer .sq-legal-link {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

.sq-footer .sq-legal-link:hover,
.sq-footer .sq-legal-link:focus {
    color: #FFFFFF;
    text-decoration: underline;
}

.sq-footer .sq-legal-sep {
    color: rgba(255, 255, 255, 0.4);
    font-size: 12px;
}

@media (max-width: 767px) {
    .sq-footer {
        padding-top: 40px;
    }

    .sq-footer .sq-disclaimer-plate {
        padding: 16px 18px;
        margin-bottom: 32px;
        border-left-width: 4px;
    }

    .sq-footer .sq-disclaimer-text {
        font-size: 13px;
    }

    .sq-footer .sq-footer-main {
        padding-bottom: 32px;
    }

    .sq-footer .sq-col-title {
        margin-top: 8px;
        margin-bottom: 12px;
    }

    .sq-footer .sq-framework-pill {
        display: flex;
        width: 100%;
        justify-content: center;
    }

    .sq-footer .sq-bottom-strip {
        padding-top: 16px;
        padding-bottom: 16px;
    }
}

.sq-body {
    font-family: 'Wix Madefor Text', sans-serif;
    background-color: var(--page_background, #FBF9FE);
    color: var(--primary_text, #110D1B);
    line-height: 1.6;
    overflow-x: hidden;
}

.max-w-700 {
    max-width: 700px;
}

.text-purple {
    color: var(--accent-light, #C084FC) !important;
}

.sq-text-accent {
    color: var(--accent, #9333EA);
}

.sq-text-accent-light {
    color: var(--accent-light, #C084FC);
}

.sq-lead-paragraph {
    font-size: 16px;
    color: #544D63;
    line-height: 1.6;
}

.sq-cat-hero {
    background-color: var(--dark-band, #0E0C14);
    border-bottom: 1px solid rgba(147, 51, 234, 0.25);
}

.sq-cat-hero__crumbs {
    font-size: 13px;
    color: #908A9F;
}

.sq-cat-hero__crumb-link {
    color: #C8C2D8;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sq-cat-hero__crumb-link:hover {
    color: #FFFFFF;
    text-decoration: underline;
}

.sq-cat-hero__crumb-sep {
    color: rgba(255, 255, 255, 0.3);
}

.sq-cat-hero__crumb-current {
    color: #C084FC;
    font-weight: 600;
}

.sq-cat-hero__badge {
    background-color: rgba(147, 51, 234, 0.25);
    border: 1px solid var(--accent, #9333EA);
    border-radius: 0;
    color: #FFFFFF;
}

.sq-cat-hero__title {
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    overflow-wrap: anywhere;
}

.sq-cat-hero__lead {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #C8C2D8;
    max-width: 680px;
    overflow-wrap: anywhere;
}

.sq-cat-hero__cta {
    background-color: var(--accent, #9333EA);
    color: #FFFFFF;
    text-decoration: none;
    padding: 14px 28px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid var(--accent, #9333EA);
    transition: background-color 0.2s ease, border-color 0.2s ease;
    display: inline-flex;
    align-items: center;
}

.sq-cat-hero__cta:hover {
    background-color: var(--accent-hover, #7E22CE);
    border-color: var(--accent-hover, #7E22CE);
    color: #FFFFFF;
}

.sq-cat-hero__secondary {
    background-color: transparent;
    color: #FFFFFF;
    text-decoration: none;
    padding: 14px 24px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: background-color 0.2s ease, color 0.2s ease;
    display: inline-flex;
    align-items: center;
}

.sq-cat-hero__secondary:hover {
    background-color: #FFFFFF;
    color: #0E0C14;
}

.sq-cat-hero__sideplate {
    background: rgba(24, 21, 36, 0.92);
    border: 1px solid rgba(147, 51, 234, 0.35);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.sq-cat-hero__plate-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #C084FC;
}

.sq-cat-hero__plate-count {
    font-size: 12px;
    font-weight: 600;
    color: #C8C2D8;
}

.sq-cat-hero__check {
    color: #C084FC;
    font-size: 18px;
    line-height: 1.3;
    flex-shrink: 0;
}

.sq-cat-hero__plate-text {
    font-size: 13px;
    color: #C8C2D8;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sq-cat-intro {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--page_background, #FBF9FE);
}

.sq-cat-intro__media-wrap {
    position: relative;
    border: 1px solid #E4DFEC;
    background-color: #FFFFFF;
    aspect-ratio: 16/11;
    overflow: hidden;
}

.sq-cat-intro__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sq-cat-intro__image-badge {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #9333EA;
    color: #FFFFFF;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.sq-cat-intro__eyebrow {
    color: #581C87;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    display: inline-block;
}

.sq-cat-intro__title {
    font-size: clamp(1.75rem, 2.5vw, 2.3rem);
    font-weight: 800;
    line-height: 1.2;
    color: #110D1B;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

.sq-cat-intro__paragraph {
    font-size: 15px;
    color: #544D63;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sq-cat-intro__btn {
    background-color: #581C87;
    color: #FFFFFF;
    text-decoration: none;
    padding: 14px 28px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid #581C87;
    transition: background-color 0.2s ease;
    display: inline-flex;
    align-items: center;
}

.sq-cat-intro__btn:hover {
    background-color: #47156C;
    border-color: #47156C;
    color: #FFFFFF;
}

.sq-cat-intro__plus-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #581C87;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 20px;
    transition: background-color 0.2s ease;
}

.sq-cat-intro__plus-btn:hover {
    background-color: #47156C;
    color: #FFFFFF;
}

.sq-cat-matrix {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #F3E8FF;
    border-top: 1px solid #E9D5FF;
    border-bottom: 1px solid #E9D5FF;
}

.sq-cat-matrix__header {
    border-color: rgba(147, 51, 234, 0.2) !important;
}

.sq-cat-matrix__eyebrow {
    color: #9333EA;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    display: inline-block;
}

.sq-cat-matrix__title {
    font-size: clamp(1.8rem, 2.8vw, 2.5rem);
    font-weight: 800;
    line-height: 1.2;
    color: #110D1B;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

.sq-cat-matrix__header-desc {
    font-size: 15px;
    color: #544D63;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sq-pill-filter {
    border-radius: 50rem;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(88, 28, 135, 0.2);
    background-color: #FFFFFF;
    color: #581C87;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.sq-pill-filter.active,
.sq-pill-filter:hover {
    background-color: #581C87;
    color: #FFFFFF;
    border-color: #581C87;
}

.sq-search-box {
    width: 280px;
    max-width: 100%;
}

.sq-search-box__icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #79728B;
    font-size: 14px;
}

.sq-search-box__input {
    width: 100%;
    padding: 9px 14px 9px 38px;
    border: 1px solid #E4DFEC;
    background-color: #FFFFFF;
    color: #110D1B;
    font-size: 13px;
    border-radius: 0;
}

.sq-search-box__input:focus {
    outline: none;
    border-color: #9333EA;
    box-shadow: 0 0 0 2px rgba(147, 51, 234, 0.2);
}

.sq-mag-card {
    background-color: #FFFFFF;
    border: 1px solid #E4DFEC;
    border-radius: 0;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    position: relative;
}

.sq-mag-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #9333EA;
}

.sq-mag-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(88, 28, 135, 0.12);
    border-color: #C084FC;
}

.sq-mag-card__clickable-anchor {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.sq-mag-card__media-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background-color: #0E0C14;
}

.sq-mag-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.sq-mag-card:hover .sq-mag-card__img {
    transform: scale(1.03);
}

.sq-mag-card__date-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: #9333EA;
    color: #FFFFFF;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    border-radius: 0;
}

.sq-mag-card__body {
    padding: 24px;
    flex-grow: 1;
    background-color: #FFFFFF;
}

.sq-mag-card--compact .sq-mag-card__body {
    padding: 18px 20px;
}

.sq-mag-card__meta {
    font-size: 12px;
    color: #79728B;
}

.sq-mag-card__meta-icon {
    color: #581C87;
    font-size: 13px;
}

.sq-mag-card__meta-sep {
    color: #E4DFEC;
}

.sq-mag-card__meta-topic {
    color: #581C87;
    font-weight: 600;
}

.sq-mag-card__title {
    font-size: 19px;
    font-weight: 700;
    color: #110D1B;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.sq-mag-card--compact .sq-mag-card__title {
    font-size: 16px;
}

.sq-mag-card__excerpt {
    font-size: 14px;
    color: #544D63;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.sq-mag-card__cta-btn {
    display: inline-flex;
    align-items: center;
    color: #9333EA;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: auto;
}

.sq-mag-card:hover .sq-mag-card__cta-btn {
    color: #581C87;
}

.sq-cat-matrix__empty {
    background-color: #FFFFFF;
    border: 1px dashed #C084FC;
}

.sq-cat-matrix__empty-icon {
    font-size: 40px;
    color: #9333EA;
}

.sq-cat-matrix__empty-title {
    font-size: 20px;
    font-weight: 700;
    color: #110D1B;
}

.sq-cat-matrix__empty-text {
    font-size: 14px;
    color: #544D63;
}

.sq-checkpoints {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #FBF9FE;
    overflow: hidden;
}

.sq-checkpoints__watermark {
    position: absolute;
    font-size: 160px;
    color: rgba(147, 51, 234, 0.06);
    z-index: 0;
    pointer-events: none;
    line-height: 1;
}

.sq-checkpoints__watermark--left {
    top: 20px;
    left: 20px;
}

.sq-checkpoints__watermark--right {
    bottom: 20px;
    right: 20px;
}

.sq-checkpoint-card {
    background-color: #FFFFFF;
    border: 1px solid #E4DFEC;
    position: relative;
    display: flex;
    flex-direction: column;
}

.sq-checkpoint-card__icon-box {
    width: 52px;
    height: 52px;
    background-color: #581C87;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.sq-checkpoint-card__icon-box--indigo {
    background-color: #6366F1;
}

.sq-checkpoint-card__icon-box--pink {
    background-color: #EC4899;
}

.sq-checkpoint-card__title {
    font-size: 18px;
    font-weight: 700;
    color: #110D1B;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.sq-checkpoint-card__desc {
    font-size: 14px;
    color: #544D63;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sq-checkpoint-card__line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
}

.sq-checkpoint-card__line--violet {
    background-color: #581C87;
}

.sq-checkpoint-card__line--indigo {
    background-color: #6366F1;
}

.sq-checkpoint-card__line--pink {
    background-color: #EC4899;
}

.sq-newsletter-plate {
    background-color: #0E0C14;
    border: 4px solid #9333EA;
}

.sq-newsletter-title {
    font-size: clamp(1.8rem, 2.6vw, 2.4rem);
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.sq-newsletter-desc {
    font-size: 15px;
    color: #C8C2D8;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.sq-input-field {
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF;
    color: #110D1B;
    padding: 14px 18px;
    font-size: 14px;
    border-radius: 0;
}

.sq-input-field:focus {
    border-color: #9333EA;
    box-shadow: 0 0 0 2px rgba(147, 51, 234, 0.4);
}

.sq-consent-check {
    border-color: rgba(255, 255, 255, 0.4);
    background-color: transparent;
    border-radius: 2px;
}

.sq-consent-check:checked {
    background-color: #9333EA;
    border-color: #9333EA;
}

.sq-consent-label {
    font-size: 12px;
    color: #C8C2D8;
    line-height: 1.4;
}

.sq-consent-link {
    color: #C084FC;
    text-decoration: underline;
}

.sq-consent-link:hover {
    color: #FFFFFF;
}

.sq-form-error {
    font-size: 12px;
    color: #F87171;
    margin-top: 4px;
}

.sq-newsletter-submit {
    background-color: #9333EA;
    color: #FFFFFF;
    border: 1px solid #9333EA;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: background-color 0.2s ease;
}

.sq-newsletter-submit:hover {
    background-color: #7E22CE;
    border-color: #7E22CE;
    color: #FFFFFF;
}

.sq-form-success {
    background-color: rgba(34, 197, 94, 0.2);
    border: 1px solid #22C55E;
    color: #86EFAC;
    font-size: 13px;
    border-radius: 0;
}

@media (max-width: 767px) {
    .sq-cat-intro {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .sq-cat-matrix {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .sq-checkpoints {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .sq-cat-hero__title {
        font-size: 18px;
        hyphens: auto;
    }

    .sq-cat-intro__title,
    .sq-cat-matrix__title,
    .sq-newsletter-title {
        font-size: 16px;
        hyphens: auto;
    }

    .sq-mag-card__title,
    .sq-checkpoint-card__title {
        font-size: 14px;
        hyphens: auto;
    }

    .sq-search-box {
        width: 100%;
    }

    .sq-cat-matrix__filter-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .sq-mag-row {
        flex-direction: column;
    }

    .sq-cat-hero__cta,
    .sq-cat-hero__secondary,
    .sq-cat-intro__btn {
        width: 100%;
        justify-content: center;
    }
}


/* ===== PAGE: about ===== */
.about-mission-section{background:var(--page-background,#FBF9FE);padding-top:80px;padding-bottom:80px}.about-mission-media{position:relative;border:1px solid #E4DFEC;background:#FFFFFF;line-height:0}.about-mission-media img{width:100%;height:auto;aspect-ratio:520/620;object-fit:cover;display:block}.about-accent-text{color:#9333EA}.about-lead-text{font-size:17px;line-height:1.65;color:#110D1B;font-weight:500}.about-sub-text{font-size:15px;line-height:1.65;color:#544D63}.about-round-plus{width:48px;height:48px;border-radius:50%;background:#581C87;color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background-color .2s ease}.about-round-plus:hover{background:#47156C;color:#FFFFFF}.about-signature-text{font-size:26px;line-height:1.3;font-style:italic;font-weight:600;color:#110D1B}.about-role-caption{font-size:13px;font-weight:700;letter-spacing:.06em;color:#581C87;text-transform:uppercase}.about-methodology-section{background:#F3E8FF;padding-top:80px;padding-bottom:80px}.about-feature-card{background:#FFFFFF;border:1px solid #E4DFEC;position:relative;transition:transform .2s ease,box-shadow .2s ease}.about-feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(88,28,135,.08)}.about-card-icon-box{width:54px;height:54px;display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:22px}.about-icon-bg-1{background:#581C87}.about-icon-bg-2{background:#9333EA}.about-icon-bg-3{background:#6366F1}.about-icon-bg-4{background:#EC4899}.about-stripe-1{border-bottom:3px solid #581C87}.about-stripe-2{border-bottom:3px solid #9333EA}.about-stripe-3{border-bottom:3px solid #6366F1}.about-stripe-4{border-bottom:3px solid #EC4899}.about-card-heading{font-size:17px;font-weight:700;color:#110D1B;text-transform:uppercase;letter-spacing:.02em}.about-card-text{font-size:14px;line-height:1.55}.about-pill-tab{border-radius:50rem;padding:10px 24px;font-size:14px;font-weight:600;background:#FFFFFF;color:#581C87;border:1px solid #E9D5FF;transition:background-color .2s ease,color .2s ease}.about-pill-tab:hover{background:#E9D5FF;color:#47156C}.about-pill-tab.active{background:#581C87;color:#FFFFFF;border-color:#581C87}.about-boundary-section{background:#0E0C14;padding-top:90px;padding-bottom:90px}.about-watermark{position:absolute;font-size:180px;color:rgba(147,51,234,.06);line-height:1;pointer-events:none;z-index:0}.about-watermark-left{top:-20px;left:-20px}.about-watermark-right{bottom:-30px;right:-20px}.about-obsidian-card{background:#181524;border:1px solid rgba(147,51,234,.25)}.about-obsidian-text{color:#C8C2D8;font-size:15px;line-height:1.6}.about-boundary-list li{color:#E4DFEC;font-size:14px}.about-boundary-list i{font-size:18px}.about-quote-mark{font-size:56px;line-height:1}.about-quote-body{font-size:22px;line-height:1.5;color:#FFFFFF;font-style:italic;font-weight:400;border:none;padding:0}.about-quote-author{font-size:16px;letter-spacing:.02em}.about-quote-context{letter-spacing:.08em;font-size:12px}.about-stat-mini-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.about-stat-number{font-size:28px;font-weight:800;color:#C084FC;line-height:1.2}.about-stat-label{font-size:12px;font-weight:700;color:#C8C2D8;text-transform:uppercase;letter-spacing:.05em}@media (max-width:767px){.about-mission-section,.about-methodology-section,.about-boundary-section{padding-top:56px;padding-bottom:56px}.about-lead-text{font-size:15px}.about-sub-text{font-size:14px}.about-quote-body{font-size:18px}.about-watermark{display:none}}

/* ===== PAGE: thinkorswim-guide ===== */
.tos-highlight { color: var(--accent); }
.tos-guide-breakdown .tos-lead-text, .tos-interactive-builder-section .tos-lead-text, .tos-watchlist-workflow-section .tos-lead-text { color: var(--text-muted); font-size: 16px; line-height: 1.6; margin-top: 12px; }
.tos-filter-nav { border-bottom: 2px solid var(--border); padding-bottom: 12px; }
.tos-tab-btn { background: var(--surface-alt, #F3E8FF); color: var(--primary); border: 1px solid var(--border); border-radius: 50rem; padding: 10px 22px; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.tos-tab-btn:hover { background: var(--primary-hover, #47156C); color: #FFFFFF; border-color: var(--primary-hover, #47156C); }
.tos-tab-btn.active { background: var(--primary); color: var(--on-primary, #FFFFFF); border-color: var(--primary); }
.tos-tab-panel { display: none; }
.tos-tab-panel.active { display: block; }
.tos-detail-card { background: var(--surface, #FFFFFF); border: 1px solid var(--border); border-radius: 0; padding: 28px; position: relative; border-bottom: 3px solid var(--primary); }
.tos-card-title { font-size: 18px; font-weight: 700; color: var(--text); line-height: 1.3; }
.tos-card-description { font-size: 14px; color: var(--text-muted); line-height: 1.6; margin-bottom: 20px; }
.tos-icon-square { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #FFFFFF; font-size: 20px; flex-shrink: 0; }
.tos-icon-stock { background-color: #581C87; }
.tos-icon-option { background-color: #9333EA; }
.tos-icon-fundamental { background-color: #6366F1; }
.tos-icon-study { background-color: #EC4899; }
.tos-syntax-block { background: var(--surface-alt, #F3E8FF); border: 1px solid var(--border); padding: 16px; font-size: 13px; }
.tos-syntax-label { font-weight: 700; text-transform: uppercase; color: var(--primary); font-size: 11px; letter-spacing: 0.08em; margin-bottom: 8px; }
.tos-param-list { list-style: none; padding-left: 0; margin-bottom: 0; font-size: 13px; color: var(--text); }
.tos-param-list li:not(:last-child) { border-bottom: 1px dashed var(--border); }
.tos-code-box { background: #0E0C14; border: 1px solid #181524; padding: 16px; margin-bottom: 12px; overflow-x: auto; }
.tos-pre { margin: 0; font-family: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-size: 12px; color: #E9D5FF; line-height: 1.5; white-space: pre-wrap; word-break: break-all; }
.tos-code-note { font-size: 12px; color: var(--text-muted); font-style: italic; }
.tos-scenario-card, .tos-output-display { background: var(--surface, #FFFFFF); border: 1px solid var(--border); border-radius: 0; padding: 32px; }
.tos-inquiry-btn { width: 100%; border: 1px solid var(--border); background: var(--surface-alt, #FBF9FE); padding: 14px; border-radius: 0; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; cursor: pointer; }
.tos-inquiry-btn:hover { border-color: var(--accent); background: #F3E8FF; }
.tos-inquiry-btn.active { border-color: var(--accent); background: #F3E8FF; box-shadow: inset 4px 0 0 var(--accent); }
.tos-inquiry-btn .fw-bold { color: var(--text); font-size: 14px; }
.tos-inquiry-btn small { font-size: 12px; }
.tos-status-indicator { width: 10px; height: 10px; border-radius: 50%; background: #22C55E; display: inline-block; }
.tos-spec-box { background: #0E0C14; color: #FFFFFF; padding: 24px; border-left: 4px solid var(--accent); }
.tos-spec-heading { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--accent-light, #C084FC); font-weight: 700; }
.tos-spec-body { font-size: 14px; line-height: 1.6; }
.tos-rule-item { padding: 6px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.tos-rule-item:last-child { border-bottom: none; }
.tos-rule-label { color: #A855F7; font-weight: 700; margin-right: 8px; }
.tos-meta-info { font-size: 13px; color: var(--text-muted); }
.tos-link-accent { color: var(--accent); font-weight: 700; text-decoration: none; font-size: 13px; }
.tos-link-accent:hover { color: var(--primary); }
.tos-step-card { background: var(--surface, #FFFFFF); border: 1px solid var(--border); border-radius: 0; padding: 28px; position: relative; border-bottom: 3px solid var(--accent); display: flex; flex-direction: column; justify-content: space-between; }
.tos-step-number { font-size: 32px; font-weight: 800; color: rgba(88, 28, 135, 0.15); line-height: 1; margin-bottom: 14px; }
.tos-step-footer { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--border); }
.tos-tag { font-size: 11px; font-weight: 700; text-transform: uppercase; background: var(--surface-alt, #F3E8FF); color: var(--primary); padding: 4px 8px; border-radius: 0; display: inline-block; }
.tos-disclaimer-section { padding-top: 70px; padding-bottom: 70px; }
.tos-disclaimer-card { background: var(--dark-band-surface, #181524); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 0; padding: 40px; }
.tos-disclaimer-icon-badge { width: 56px; height: 56px; background: rgba(147, 51, 234, 0.2); border: 1px solid var(--accent); display: flex; align-items: center; justify-content: center; font-size: 26px; color: #FFFFFF; flex-shrink: 0; }
.tos-disclaimer-title { font-size: 28px; font-weight: 800; color: #FFFFFF; letter-spacing: -0.01em; }
.tos-disclaimer-body { font-size: 14px; line-height: 1.7; color: #C8C2D8; }
.tos-disclaimer-body p:not(:last-child) { margin-bottom: 16px; }
.tos-btn-legal { color: #FFFFFF; background: var(--primary); padding: 10px 20px; font-size: 13px; font-weight: 700; text-transform: uppercase; text-decoration: none; border: 1px solid var(--primary); transition: background-color 0.2s ease, border-color 0.2s ease; }
.tos-btn-legal:hover { background: var(--primary-hover); border-color: var(--primary-hover); color: #FFFFFF; }
@media (max-width: 767px) { .tos-disclaimer-title { font-size: 20px; } .tos-disclaimer-card { padding: 24px; } .tos-scenario-card, .tos-output-display { padding: 20px; } .tos-step-card, .tos-detail-card { padding: 20px; } .tos-tab-btn { width: 100%; text-align: center; } }

/* ===== PAGE: contact ===== */
.contact-page-section { background-color: var(--page_background, #FBF9FE); }
.contact-page-section .contact-accent-text { color: var(--accent, #9333EA); }
.contact-page-section .contact-info-card,
.contact-page-section .contact-form-card {
  background-color: var(--surface, #FFFFFF);
  border: 1px solid var(--neutral_border, #E4DFEC);
  border-radius: 0px;
  box-shadow: 0 4px 20px rgba(88, 28, 135, 0.04);
}
.contact-page-section .contact-lead-text { font-size: 15px; line-height: 1.6; }
.contact-page-section .contact-item {
  background-color: #FAF8FD;
  border: 1px solid #ECE7F4;
  border-radius: 0px;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.contact-page-section .contact-item:hover {
  border-color: #C084FC;
  background-color: #F6EFFE;
}
.contact-page-section .contact-icon-box {
  width: 44px;
  height: 44px;
  background-color: #581C87;
  color: #FFFFFF;
  border-radius: 0px;
}
.contact-page-section .contact-label {
  font-size: 11px;
  letter-spacing: 0.08em;
}
.contact-page-section .contact-value,
.contact-page-section .contact-value-link {
  font-size: 15px;
  overflow-wrap: anywhere;
  text-decoration: none;
  color: #110D1B;
  transition: color 0.2s ease;
}
.contact-page-section .contact-value-link:hover {
  color: #9333EA;
}
.contact-page-section .messaging-note {
  background-color: #F8F5FC !important;
  border-left-color: #581C87 !important;
}
.contact-page-section .contact-wa-link {
  color: #581C87;
  font-size: 13px;
  transition: color 0.2s ease;
}
.contact-page-section .contact-wa-link:hover {
  color: #9333EA;
}
.contact-page-section .contact-response-badge {
  background-color: #F3E8FF;
  color: #581C87;
  font-size: 12px;
  letter-spacing: 0.02em;
  border-radius: 0px;
}
.contact-page-section .contact-input,
.contact-page-section .contact-select,
.contact-page-section .contact-textarea {
  background-color: #FFFFFF;
  border: 1px solid #D6CEE2;
  border-radius: 0px;
  color: #110D1B;
  padding: 12px 14px;
  font-size: 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.contact-page-section .contact-input::placeholder,
.contact-page-section .contact-textarea::placeholder {
  color: #79728B;
  opacity: 1;
}
.contact-page-section .contact-input:focus,
.contact-page-section .contact-select:focus,
.contact-page-section .contact-textarea:focus {
  border-color: #9333EA;
  box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.15);
  outline: none;
}
.contact-page-section .contact-helper-text {
  font-size: 11px;
  color: #79728B;
  margin-top: 4px;
}
.contact-page-section .contact-checkbox {
  border-radius: 0px;
  border-color: #79728B;
  width: 1.15em;
  height: 1.15em;
  margin-top: 0.2em;
}
.contact-page-section .contact-checkbox:checked {
  background-color: #581C87;
  border-color: #581C87;
}
.contact-page-section .contact-submit-btn {
  background-color: #581C87;
  color: #FFFFFF;
  border: 1px solid #581C87;
  border-radius: 0px;
  padding: 14px 28px;
  font-size: 13px;
  letter-spacing: 0.08em;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.contact-page-section .contact-submit-btn:hover {
  background-color: #47156C;
  border-color: #47156C;
  color: #FFFFFF;
}
@media (max-width: 767px) {
  .contact-page-section .contact-submit-btn { width: 100%; }
  .contact-page-section .contact-info-card, .contact-page-section .contact-form-card { padding: 24px 18px !important; }
}

/* ===== PAGE: privacy ===== */
.privacy-policy-section { background-color: var(--bg, #FBF9FE); color: var(--text, #110D1B); font-family: 'Wix Madefor Text', sans-serif; }
.privacy-policy-section .text-accent { color: var(--accent, #9333EA); }
.privacy-policy-section .privacy-header { border-bottom: 1px solid var(--border, #E4DFEC); padding-bottom: 2rem; }
.privacy-policy-section .db-title { font-size: 36px; line-height: 1.2; font-weight: 800; color: var(--text, #110D1B); letter-spacing: -0.01em; margin-bottom: 0.75rem; }
.privacy-policy-section .privacy-meta-pill { font-size: 13px; color: var(--text-muted, #79728B); }
.privacy-policy-section .privacy-meta-text { font-weight: 500; }
.privacy-policy-section .privacy-meta-divider { color: var(--border, #E4DFEC); }
.privacy-policy-section .privacy-card { height: auto; display: block; background: var(--surface, #FFFFFF); border: 1px solid var(--border, #E4DFEC); border-radius: 0px; box-shadow: 0 4px 14px rgba(88, 28, 135, 0.04); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.privacy-policy-section .privacy-card:hover { transform: none; border-color: var(--accent-light, #C084FC); box-shadow: 0 8px 24px rgba(88, 28, 135, 0.08); }
.privacy-policy-section .privacy-icon-box { width: 44px; height: 44px; background: var(--light-tint, #F3E8FF); color: var(--primary, #581C87); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.privacy-policy-section .privacy-section-title { font-size: 20px; font-weight: 700; color: var(--text, #110D1B); text-transform: uppercase; letter-spacing: 0.02em; }
.privacy-policy-section .privacy-text { font-size: 15px; line-height: 1.65; color: var(--text, #544D63); }
.privacy-policy-section .privacy-list { padding-left: 1.25rem; margin-bottom: 0; }
.privacy-policy-section .privacy-list li { font-size: 15px; line-height: 1.65; color: var(--text, #544D63); margin-bottom: 0.75rem; }
.privacy-policy-section .privacy-list li strong { color: var(--text, #110D1B); }
.privacy-policy-section .privacy-sub-panel { background: var(--bg, #FBF9FE); border: 1px solid var(--border, #E4DFEC); height: 100%; border-left: 3px solid var(--accent, #9333EA); }
.privacy-policy-section .privacy-sub-title { font-size: 15px; font-weight: 700; color: var(--primary, #581C87); text-transform: uppercase; letter-spacing: 0.04em; }
.privacy-policy-section .privacy-sub-desc { font-size: 14px; line-height: 1.55; color: var(--text, #544D63); }
.privacy-policy-section .privacy-contact-card { background: var(--dark-band, #0E0C14); border: 2px solid var(--accent, #9333EA); color: var(--on-dark, #FFFFFF); }
.privacy-policy-section .privacy-cta-title { font-size: 22px; font-weight: 700; color: #FFFFFF; text-transform: uppercase; letter-spacing: 0.02em; }
.privacy-policy-section .privacy-cta-text { font-size: 14px; line-height: 1.6; color: var(--on-dark-muted, #C8C2D8); }
.privacy-policy-section .db-eyebrow { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--accent, #9333EA); }
.privacy-policy-section .db-badge { background: var(--light-tint, #F3E8FF); color: var(--primary, #581C87); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 4px 10px; display: inline-block; }
.privacy-policy-section .db-btn { background: var(--primary, #581C87); color: #FFFFFF; padding: 14px 28px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; border: 1px solid var(--primary, #581C87); transition: background-color 0.2s ease, border-color 0.2s ease; }
.privacy-policy-section .db-btn:hover { background: var(--primary-hover, #47156C); border-color: var(--primary-hover, #47156C); color: #FFFFFF; }
@media (max-width: 767px) { .privacy-policy-section .db-title { font-size: 22px; } .privacy-policy-section .privacy-section-title { font-size: 16px; } .privacy-policy-section .privacy-card { padding: 1.25rem !important; } .privacy-policy-section .privacy-contact-card { padding: 1.5rem !important; } .privacy-policy-section .db-btn { width: 100%; justify-content: center; } }

/* ===== PAGE: terms ===== */
.terms-block { background-color: var(--bg, #FBF9FE); color: var(--text, #110D1B); }
.terms-block .terms-sidebar { position: sticky; top: 24px; border-color: var(--border, #E4DFEC) !important; }
.terms-block .terms-nav-link { color: var(--text-muted, #544D63); font-weight: 600; font-size: 14px; padding: 10px 14px; border-radius: 0; border: 1px solid transparent; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.terms-block .terms-nav-link:hover { color: var(--primary, #581C87); background-color: var(--light-tint, #F3E8FF); border-color: var(--light-tint-border, #E9D5FF); }
.terms-block .terms-nav-link.active { color: var(--on-primary, #FFFFFF); background-color: var(--primary, #581C87); border-color: var(--primary, #581C87); }
.terms-block .terms-card { border-color: var(--border, #E4DFEC) !important; border-bottom: 3px solid var(--accent, #9333EA) !important; }
.terms-block .terms-icon { width: 38px; height: 38px; background-color: var(--primary, #581C87); color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }
.terms-block .terms-quick-links a { color: var(--primary, #581C87); font-weight: 600; }
.terms-block .terms-quick-links a:hover { color: var(--accent, #9333EA); }
.terms-block .db-btn { background-color: var(--primary, #581C87); color: #FFFFFF; border: none; padding: 10px 20px; font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: 0.05em; transition: background-color 0.2s ease; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.terms-block .db-btn:hover { background-color: var(--primary-hover, #47156C); color: #FFFFFF; }
.terms-block .db-btn-alt { background-color: transparent; color: var(--primary, #581C87); border: 1px solid var(--primary, #581C87); padding: 10px 20px; font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: 0.05em; transition: background-color 0.2s ease, color 0.2s ease; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.terms-block .db-btn-alt:hover { background-color: var(--primary, #581C87); color: #FFFFFF; }
.terms-block .db-badge { background-color: var(--light-tint, #F3E8FF); color: var(--primary, #581C87); font-size: 12px; font-weight: 700; padding: 4px 10px; text-transform: uppercase; letter-spacing: 0.05em; border: 1px solid var(--light-tint-border, #E9D5FF); }
.terms-block .db-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; color: var(--accent, #9333EA); }
@media (max-width: 991.98px) {
  .terms-block .terms-sidebar { position: static; margin-bottom: 24px; }
}
@media (max-width: 767.98px) {
  .terms-block .terms-card { padding: 24px 18px !important; }
  .terms-block .terms-sidebar { padding: 20px 16px !important; }
}

/* ===== PAGE: disclaimer ===== */
.disclaimer-page { background-color: var(--bg, #FBF9FE); min-height: 60vh; font-family: 'Wix Madefor Text', sans-serif; } .disclaimer-page .disclaimer-wrapper { max-width: 960px; } .disclaimer-page .disclaimer-notice-banner { background-color: var(--surface, #FFFFFF); border: 2px solid var(--primary, #581C87); box-shadow: 0 4px 20px rgba(88, 28, 135, 0.05); } .disclaimer-page .disclaimer-badge-icon { width: 64px; height: 64px; background-color: var(--light-tint, #F3E8FF); color: var(--primary, #581C87); border-radius: 50%; } .disclaimer-page .disclaimer-card { background-color: var(--surface, #FFFFFF); border-color: var(--border, #E4DFEC) !important; border-bottom: 3px solid var(--accent, #9333EA) !important; transition: transform 0.2s ease, box-shadow 0.2s ease; } .disclaimer-page .disclaimer-card:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(88, 28, 135, 0.08); } .disclaimer-page .disclaimer-card-icon { color: var(--primary, #581C87); } .disclaimer-page .disclaimer-text-panel { background-color: var(--surface, #FFFFFF); border-color: var(--border, #E4DFEC) !important; } .disclaimer-page .disclaimer-subitem:last-child { border-bottom: none !important; } .disclaimer-page .disclaimer-action-strip { background-color: var(--surface, #FFFFFF); border-color: var(--border, #E4DFEC) !important; } .disclaimer-page .db-btn { background-color: var(--primary, #581C87); color: #FFFFFF; padding: 12px 24px; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; display: inline-flex; align-items: center; justify-content: center; border-radius: 0px; border: none; transition: background-color 0.2s ease; } .disclaimer-page .db-btn:hover { background-color: var(--primary-hover, #47156C); color: #FFFFFF; } .disclaimer-page .db-btn-alt { background-color: var(--light-tint, #F3E8FF); color: var(--primary, #581C87); padding: 12px 24px; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; display: inline-flex; align-items: center; justify-content: center; border-radius: 0px; border: 1px solid var(--light-tint-border, #E9D5FF); transition: background-color 0.2s ease, color 0.2s ease; } .disclaimer-page .db-btn-alt:hover { background-color: var(--primary, #581C87); color: #FFFFFF; } @media (max-width: 767px) { .disclaimer-page .disclaimer-wrapper { width: 100%; } .disclaimer-page .disclaimer-action-strip { flex-direction: column; align-items: stretch !important; text-align: left; } .disclaimer-page .disclaimer-action-strip .db-btn, .disclaimer-page .disclaimer-action-strip .db-btn-alt { width: 100%; justify-content: center; } }

.ms-comment-card {
    border-color: #E4DFEC !important;
    border-radius: 0;
    background-color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(88, 28, 135, 0.04);
    transition: box-shadow 0.2s ease, border-color 0.2s ease
}

.ms-comment-card:hover {
    border-color: #9333EA !important;
    box-shadow: 0 6px 18px rgba(88, 28, 135, 0.08)
}

.ms-avatar-badge {
    width: 46px;
    height: 46px;
    background: linear-gradient(135deg, #581C87 0%, #9333EA 100%);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.04em;
    user-select: none
}

.ms-avatar-badge img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%
}

.ms-author-name {
    font-size: 16px;
    font-weight: 700;
    color: #110D1B;
    letter-spacing: -0.01em
}

.ms-author-badge {
    background-color: #F3E8FF;
    color: #581C87;
    border: 1px solid #E9D5FF;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    letter-spacing: 0.06em
}

.ms-comment-timestamp {
    font-size: 12px;
    color: #79728B
}

.ms-comment-content {
    font-size: 14.5px;
    line-height: 1.6;
    color: #544D63
}

.ms-comment-actions {
    border-color: #E4DFEC !important
}

.ms-action-btn {
    color: #79728B;
    font-size: 13px;
    font-weight: 600;
    transition: color 0.2s ease;
    cursor: pointer
}

.ms-action-btn:hover {
    color: #9333EA
}

.ms-action-btn i {
    font-size: 15px
}

.ms-like-count {
    font-size: 13px;
    color: inherit
}

.reply-comment {
    border-left: 3px solid #9333EA !important;
    border-color: #E4DFEC;
    background-color: #FBF9FE
}

.reply-comment:hover {
    border-left-color: #581C87 !important
}

.ms-avatar-badge-lead {
    background: linear-gradient(135deg, #0E0C14 0%, #581C87 100%);
    box-shadow: 0 0 0 2px #E9D5FF
}

.ms-author-badge-lead {
    background-color: #581C87;
    color: #FFFFFF;
    border: 1px solid #581C87
}


/* ===== PAGE TEMPLATE: research-questions, universe-and-criteria, filter-logic, scan-cases, manual-review ===== */
.sq-detail-hero {
    background-color: var(--dark-band, #0E0C14);
    color: var(--on-dark, #FFFFFF);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sq-detail-hero__inner {
    max-width: 820px;
}

.sq-breadcrumb {
    font-size: 13px;
}

.sq-breadcrumb__link {
    color: var(--accent-light, #C084FC);
    text-decoration: none;
    transition: color 0.2s ease;
}

.sq-breadcrumb__link:hover {
    color: #FFFFFF;
    text-decoration: underline;
}

.sq-breadcrumb__separator {
    color: rgba(255, 255, 255, 0.4);
    font-size: 10px;
}

.sq-breadcrumb__current {
    color: var(--on-dark-muted, #C8C2D8);
    max-width: 280px;
}

.sq-detail-hero__badge {
    background-color: rgba(147, 51, 234, 0.25);
    border: 1px solid var(--accent, #9333EA);
    border-radius: 4px;
}

.sq-detail-hero__title {
    font-size: clamp(1.85rem, 3.5vw, 2.75rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    overflow-wrap: anywhere;
}

.sq-detail-hero__subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.sq-detail-hero__meta {
    font-size: 13px;
    color: var(--on-dark-muted, #C8C2D8);
}

.sq-meta-dot {
    color: rgba(255, 255, 255, 0.3);
}

.sq-article-main {
    background-color: var(--page-background, #FBF9FE);
    min-height: 80vh;
}

.sq-numbered-container {
    max-width: 900px;
}

.sq-lead-media-wrap {
    border: 1px solid var(--neutral-border, #E4DFEC);
    background-color: var(--surface, #FFFFFF);
    padding: 10px;
}

.sq-media-frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #0E0C14;
}

.sq-lead-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sq-media-badge {
    top: 14px;
    left: 14px;
    background-color: var(--accent, #9333EA);
    color: #FFFFFF;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.sq-numbered-block {
    margin-bottom: 60px;
}

.sq-number-deco {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1;
    color: var(--accent, #9333EA);
    opacity: 0.85;
    font-variant-numeric: tabular-nums;
    min-width: 52px;
    flex-shrink: 0;
}

.sq-numbered-title {
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 800;
    color: var(--primary, #581C87);
    line-height: 1.25;
    border-left: 4px solid var(--accent, #9333EA);
    padding-left: 14px;
    overflow-wrap: anywhere;
}

.sq-prose {
    font-size: 16px;
    line-height: 1.7;
    color: #544D63;
}

.sq-lead-text {
    font-size: 1.12rem;
    line-height: 1.65;
    font-weight: 500;
    color: #110D1B;
}

.sq-inline-cta {
    background-color: var(--dark-band, #0E0C14);
    border-left: 5px solid var(--accent, #9333EA);
}

.sq-cta-chip {
    background-color: rgba(147, 51, 234, 0.3);
    color: var(--accent-light, #C084FC);
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.sq-cta-title {
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 800;
    line-height: 1.3;
}

.sq-cta-desc {
    font-size: 14px;
    line-height: 1.5;
}

.sq-cta-btn {
    background-color: var(--accent, #9333EA);
    color: #FFFFFF;
    text-decoration: none;
    padding: 13px 22px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid var(--accent, #9333EA);
    border-radius: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sq-cta-btn:hover {
    background-color: var(--accent-hover, #7E22CE);
    border-color: var(--accent-hover, #7E22CE);
    color: #FFFFFF;
}

.sq-key-facts {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--neutral-border, #E4DFEC);
}

.sq-accent-icon {
    color: var(--accent, #9333EA);
    font-size: 18px;
}

.sq-pull-quote {
    background-color: var(--light-tint, #F3E8FF);
    border-left: 5px solid var(--primary, #581C87);
    overflow: hidden;
}

.sq-pull-quote__watermark {
    position: absolute;
    right: 20px;
    bottom: -15px;
    font-size: 110px;
    line-height: 1;
    color: rgba(88, 28, 135, 0.08);
    pointer-events: none;
}

.sq-pull-quote__text {
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    font-weight: 600;
    font-style: italic;
    color: var(--primary, #581C87);
    line-height: 1.45;
}

.sq-pull-quote__author {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #110D1B;
}

.sq-toc-box {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--neutral-border, #E4DFEC);
}

.sq-toc-link {
    color: #110D1B;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.sq-toc-link:hover {
    color: var(--accent, #9333EA);
    text-decoration: underline;
}

.sq-toc-num {
    color: var(--accent, #9333EA);
    font-weight: 700;
}

.sq-article-tag {
    background-color: var(--light-tint, #F3E8FF);
    color: var(--primary, #581C87);
    border: 1px solid var(--light-tint-border, #E9D5FF);
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
}

.sq-related-block {
    background-color: var(--surface, #FFFFFF);
}

.sq-related-title {
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--primary, #581C87);
    letter-spacing: 0.05em;
}

.sq-related-link {
    color: #110D1B;
    text-decoration: none;
    background-color: var(--page-background, #FBF9FE);
    border: 1px solid var(--neutral-border, #E4DFEC);
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.sq-related-link:hover {
    background-color: var(--light-tint, #F3E8FF);
    color: var(--primary, #581C87);
    border-color: var(--accent, #9333EA);
}

.sq-newsletter-box {
    background-color: var(--dark-band, #0E0C14);
    border: 4px solid var(--accent, #9333EA);
}

.sq-newsletter-badge {
    background-color: rgba(147, 51, 234, 0.25);
    border: 1px solid rgba(192, 132, 252, 0.4);
}

.sq-newsletter-title {
    font-size: clamp(1.25rem, 2.2vw, 1.6rem);
    font-weight: 800;
}

.sq-newsletter-desc {
    font-size: 14px;
    line-height: 1.55;
}

.sq-form-input {
    background-color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0;
    color: #110D1B;
    font-size: 14px;
    padding: 12px 14px;
}

.sq-form-input:focus {
    background-color: #FFFFFF;
    color: #110D1B;
    border-color: var(--accent-light, #C084FC);
    box-shadow: 0 0 0 2px rgba(147, 51, 234, 0.35);
}

.sq-checkbox:checked {
    background-color: var(--accent, #9333EA);
    border-color: var(--accent, #9333EA);
}

.sq-nl-submit {
    background-color: var(--accent, #9333EA);
    color: #FFFFFF;
    border: 1px solid var(--accent, #9333EA);
    border-radius: 0;
    padding: 13px 20px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sq-nl-submit:hover {
    background-color: var(--accent-hover, #7E22CE);
    border-color: var(--accent-hover, #7E22CE);
    color: #FFFFFF;
}

.sq-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--neutral-border, #E4DFEC);
    background-color: var(--surface, #FFFFFF);
    color: var(--primary, #581C87);
    text-decoration: none;
    font-size: 16px;
    transition: all 0.2s ease;
}

.sq-share-btn:hover {
    background-color: var(--primary, #581C87);
    color: #FFFFFF;
    border-color: var(--primary, #581C87);
}

@media (max-width: 767px) {
    .sq-detail-hero__title {
        font-size: 18px;
        hyphens: auto;
    }

    .sq-numbered-title {
        font-size: 16px;
        hyphens: auto;
    }

    .sq-cta-title,
    .sq-newsletter-title {
        font-size: 14px;
        hyphens: auto;
    }

    .sq-number-deco {
        font-size: 24px;
        min-width: 36px;
    }

    .sq-prose {
        font-size: 14px;
    }

    .sq-cta-btn,
    .sq-nl-submit {
        width: 100%;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}

/* Readable interactive states and wrapping for the complete research workflow. */
.featured-cases-section .featured-cases-all-btn:focus-visible,
.featured-cases-section .featured-cases-all-btn:active {
    background-color: var(--accent-hover);
    border-color: var(--accent-hover);
    color: var(--on-accent);
}
.featured-cases-section .featured-cases-all-btn:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.sq-footer .sq-framework-pill { max-width: 100%; }
.sq-footer .sq-framework-text { white-space: normal; overflow-wrap: anywhere; }
.privacy-policy-section .privacy-section-title { overflow-wrap: anywhere; }
.privacy-policy-section .privacy-header .db-title { font-size: clamp(1.5rem, 3vw, 2.25rem); }
.privacy-policy-section .privacy-contact-card .db-eyebrow { color: #D8B4FE; }
.tos-pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.tos-reference-note { border-left: 3px solid var(--accent); background: var(--surface-alt); padding: 1.25rem; }
@media (max-width: 575.98px) {
    .privacy-policy-section .privacy-card > .d-flex { align-items: flex-start !important; }
    .privacy-policy-section .privacy-icon-box { width: 36px; height: 36px; font-size: 18px; }
}

.tos-guide-breakdown .tos-tab-btn.active, .tos-guide-breakdown .tos-tab-btn:hover, .tos-guide-breakdown .tos-tab-btn:focus-visible { background-color: var(--primary); color: #FFFFFF; border-color: var(--primary); }
.tos-guide-breakdown .tos-tab-btn:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.tos-rule-label { color: #D8B4FE; }
