/* DAMA CI palette override loaded last */
:root {
    --ink: #211234;
    --muted: #5F5570;
    --line: #E7DDF7;
    --panel: #FBF8FF;
    --white: #FFFFFF;
    --blue: #8B5CF6;
    --blue-deep: #211234;
    --pink: #FF6FA3;
    --cyan: #78E0E7;
    --green: #42C8D8;
    --surface-soft: #F8F4FF;
    --surface-pink: #FFF3FA;
    --shadow: 0 18px 48px rgba(33, 18, 52, .10);
}

body {
    background:
        radial-gradient(circle at 8% 12%, rgba(255, 111, 163, .10), transparent 28%),
        radial-gradient(circle at 86% 10%, rgba(120, 224, 231, .14), transparent 30%),
        linear-gradient(180deg, #FCFAFF 0%, #F8F4FF 54%, #FFFFFF 100%) !important;
    color: var(--ink);
}

.site-header {
    background: rgba(252, 250, 255, .94) !important;
    border-bottom-color: rgba(33, 18, 52, .10) !important;
    box-shadow: 0 10px 30px rgba(33, 18, 52, .04);
    backdrop-filter: blur(14px);
}

.nav {
    color: var(--ink);
}

.nav a:hover,
.nav a:focus,
.member-panel a:hover {
    color: var(--blue);
}

.btn.primary,
.header-cta,
.member-admin-direct,
.manual-open-button,
.dama-member .btn_confirm .btn_submit,
.dama-member .btn_submit,
.bonus-board-wrap .notice_icon,
.bonus-board-wrap .bo_current,
.bonus-board-wrap .pg_current,
.bonus-board-wrap .btn_bo_user .btn:hover,
.bonus-board-wrap .bo_fx .btn_bo_user .btn:hover,
.bonus-board-wrap .bo_sch .btn_submit {
    background: linear-gradient(135deg, var(--blue-deep) 0%, #4F2DA8 100%) !important;
    border-color: rgba(33, 18, 52, .92) !important;
    color: #fff !important;
}

.btn.primary:hover,
.header-cta:hover,
.member-admin-direct:hover,
.manual-open-button:hover,
.dama-member .btn_confirm .btn_submit:hover,
.dama-member .btn_submit:hover {
    background: linear-gradient(135deg, #4F2DA8 0%, var(--blue) 100%) !important;
    border-color: var(--blue) !important;
    color: #fff !important;
}

.btn.secondary,
.btn.primary.ghost,
.header-link {
    background: rgba(255, 255, 255, .76) !important;
    border-color: rgba(139, 92, 246, .24) !important;
    color: var(--blue-deep) !important;
}

.btn.secondary:hover,
.btn.primary.ghost:hover,
.header-link:hover {
    background: var(--surface-soft) !important;
    border-color: rgba(139, 92, 246, .46) !important;
    color: var(--blue) !important;
}

.eyebrow,
.dama-story span,
.dama-cards b,
.theme-grid span,
.expansion-grid span,
.ai-insight-grid span,
.ai-detail-grid span,
.bonuslab-value-grid span,
.price-card span,
.option-grid span,
.demo-caption span,
.admin-demo-copy span,
.manual-hero-shot span,
.operation-points span,
.storage-note span,
.bonus-board-hero .eyebrow,
.dama-member .member-kicker {
    border-color: rgba(139, 92, 246, .28) !important;
    border-left-color: var(--blue) !important;
    background: var(--surface-soft) !important;
    color: #4F2DA8 !important;
}

.home-hero,
.hero {
    background:
        radial-gradient(circle at 0% 18%, rgba(255, 111, 163, .12), transparent 30%),
        radial-gradient(circle at 78% 12%, rgba(120, 224, 231, .16), transparent 34%),
        linear-gradient(180deg, #FFFFFF 0%, #F8F4FF 100%) !important;
    border-bottom-color: rgba(139, 92, 246, .16) !important;
}

.home-hero .lead,
.lead,
.section-head > p:last-child,
.demo-head > p,
.fit-head > p,
.operation-copy > p:not(.eyebrow),
.bonuslab-copy p,
.ai-lead,
.contact p,
.bonus-board-hero p,
.bonus-board-wrap #bo_list_total,
.bonus-board-wrap .tbl_head01 tbody td,
.bonus-board-view-wrap #bo_v_info,
.bonus-board-view-wrap #bo_v_con {
    color: var(--muted) !important;
}

.home-hero-facts div,
.dama-story div,
.dama-cards article,
.theme-grid article,
.expansion-grid article,
.fit-grid article,
.ai-insight-grid article,
.ai-detail-grid article,
.bonuslab-value-grid article,
.operation-steps article,
.price-card,
.option-grid article,
.process-grid article,
.demo-frame-card,
.admin-demo-card,
.faq-grid details,
.contact-card,
.contact-info-grid article,
.before-after,
.manual-hero-shot,
.manual-capture-section,
.admin-manual-section,
.method-panel,
.archive-brief,
.record-card,
.privacy-browser,
.privacy-capture-card,
.product-console,
.app-preview,
.contact-layer-panel,
.bonus-board-wrap .tbl_head01,
.bonus-board-view-wrap #bo_v,
.dama-member .member-page-head,
.dama-member .register_section,
#mb_confirm fieldset,
.fregister_terms,
.fregister_private {
    background: rgba(255, 255, 255, .88) !important;
    border-color: rgba(139, 92, 246, .18) !important;
    box-shadow: 0 16px 42px rgba(33, 18, 52, .07) !important;
}

#fregister .member-page-head p {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--muted) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    text-align: left !important;
}

#fregister .member-page-head p:before {
    display: none !important;
}

#fregister .register_notice,
#member_cert_refresh p {
    min-height: 0 !important;
    height: auto !important;
    padding: 14px 16px !important;
    border: 1px solid #E7DDF7 !important;
    background: #F8F4FF !important;
    color: #4F2DA8 !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

#fregister .register_notice:before,
#member_cert_refresh p:before {
    display: none !important;
}

.home-hero-facts dt,
.brief-list dt,
.service-flow-cards article b,
.method-panel strong,
.privacy-site-head strong,
.price-card h3,
.contact-info-grid h3,
.demo-caption h3,
.admin-demo-copy h3,
.faq-grid summary,
.bonus-board-hero h1,
.bonus-board-wrap .td_subject .bo_tit a,
.bonus-board-view-wrap #bo_v_title h1,
.bonus-board-view-wrap #bo_v_title .bo_v_tit {
    color: var(--ink) !important;
}

.home-hero-facts dd,
.brief-list dd,
.dama-story p,
.record-card,
.privacy-site-head p,
.privacy-private-card > p,
.contact-info-grid p,
.demo-caption p,
.admin-demo-copy p,
.faq-grid p {
    color: var(--muted) !important;
}

.dama-section,
.expansion-section,
.search-experience-section,
.pricing-section,
.bonuslab-value-section,
.notice-section,
.admin-demo-section,
.home-problem-section,
.home-outcome-section,
.home-template-section,
.home-service-section,
.home-pricing-section {
    background: #FCFAFF !important;
}

.theme-section,
.fit-section,
.process-section,
.faq-section,
.demo-section,
.ai-detail-section,
.operation-section,
.home-flow-section,
.home-ai-section,
.home-privacy-section {
    background: #F8F4FF !important;
    border-top-color: rgba(139, 92, 246, .14) !important;
}

.preview-showcase,
.home-feature-slide,
.search-demo-card,
.console-stage,
.ai-section,
.bonuslab-section {
    background:
        radial-gradient(circle at 86% 0%, rgba(255, 111, 163, .14), transparent 34%),
        linear-gradient(145deg, #211234 0%, #2D164D 100%) !important;
    color: #fff !important;
}

.home-feature-query,
.search-bar {
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(255, 255, 255, .16) !important;
}

.home-feature-query span,
.search-bar span,
.ai-section .eyebrow,
.bonuslab-section .eyebrow {
    color: #FFB7D0 !important;
    border-left-color: #FFB7D0 !important;
    background: transparent !important;
}

.home-feature-query strong,
.search-bar strong,
.ai-section h2,
.bonuslab-section h2 {
    color: #fff !important;
}

.home-feature-result,
.search-result-mini {
    background: #FFFBFE !important;
    border-color: rgba(255, 111, 163, .16) !important;
    color: var(--ink) !important;
}

.home-feature-result b,
.search-result-mini b {
    color: #B23C72 !important;
}

.home-feature-tags span,
.console-tags span,
.mini-tags span,
.label-cloud span,
.app-tags span,
.demo-links a,
.admin-demo-points b,
.contact-types span {
    background: var(--surface-pink) !important;
    border-color: rgba(255, 111, 163, .24) !important;
    color: #7A315B !important;
}

.home-slide-dots button {
    background: rgba(255, 255, 255, .46) !important;
}

.home-slide-dots button.is-active {
    background: #fff !important;
}

.console-top,
.record-card i {
    color: var(--muted) !important;
}

.console-top strong,
.privacy-label,
.price-card b,
.demo-caption a,
.contact-mail,
.footer-resource-links a:hover,
.footer-menu a:hover,
.home-problem-label,
.bonus-board-wrap #bo_list_total span,
.bonus-board-wrap .bo_sch button,
.point_list .point_num,
#pw_confirm p strong,
#formmail .frm_info {
    color: var(--blue) !important;
}

.price-card.main {
    border-color: rgba(139, 92, 246, .36) !important;
    box-shadow: 0 24px 58px rgba(139, 92, 246, .15) !important;
}

.price-card.main:before,
.privacy-logo-mark,
.chk_box input[type="radio"]:checked + label span:before,
.chk_box input[type="checkbox"]:checked + label span {
    background: linear-gradient(135deg, var(--pink) 0%, var(--blue) 100%) !important;
    border-color: var(--blue) !important;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.dama-member input:focus,
.dama-member select:focus,
.dama-member textarea:focus,
#mb_confirm input:focus {
    border-color: var(--blue) !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .14) !important;
}

.bonus-board-wrap .tbl_head01 thead th {
    background: #F8F4FF !important;
    border-bottom-color: #E7DDF7 !important;
    color: #4F2DA8 !important;
}

.bonus-board-wrap .tbl_head01 tbody tr:hover td {
    background: #FFF3FA !important;
}

.site-footer {
    background:
        radial-gradient(circle at 18% 0%, rgba(139, 92, 246, .26), transparent 34%),
        linear-gradient(180deg, #211234 0%, #120B1F 100%) !important;
    color: #F8F4FF !important;
}

.footer-ci {
    background: rgba(255, 255, 255, .94) !important;
}

.footer-brand-block p,
.footer-contact dd,
.footer-menu a,
.footer-resource-block dd,
.footer-bottom {
    color: rgba(248, 244, 255, .76) !important;
}

.footer-contact dt,
.footer-menu-block h2,
.footer-resource-block h2 {
    color: #fff !important;
}

.footer-resource-links a {
    background: rgba(255, 255, 255, .06) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    color: #fff !important;
}

/* Header logo sizing and wrap prevention */
@media (min-width: 1181px) {
    .header-inner {
        gap: 18px !important;
    }

    .brand-ci {
        width: 204px !important;
    }

    .nav {
        gap: 20px !important;
        font-size: 15px !important;
        white-space: nowrap;
    }

    .member-actions {
        gap: 8px !important;
    }

    .header-cta,
    .header-link,
    .member-admin-direct,
    .member-menu summary {
        min-height: 40px !important;
        padding-left: 13px !important;
        padding-right: 13px !important;
        font-size: 14px !important;
    }
}

@media (min-width: 1041px) and (max-width: 1180px) {
    .header-inner {
        flex-wrap: nowrap !important;
        min-height: 70px !important;
        padding: 0 !important;
        gap: 14px !important;
    }

    .brand-ci {
        width: 188px !important;
    }

    .nav {
        order: 0 !important;
        width: auto !important;
        flex: 1 1 auto;
        justify-content: center !important;
        gap: 14px !important;
        padding-top: 0 !important;
        font-size: 14px !important;
        white-space: nowrap;
    }

    .member-actions {
        margin-left: 0 !important;
        gap: 8px !important;
    }

    .header-cta,
    .header-link,
    .member-admin-direct,
    .member-menu summary {
        min-height: 38px !important;
        padding-left: 11px !important;
        padding-right: 11px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 1040px) {
    .header-inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 0 !important;
        padding: 14px 0 !important;
    }

    .brand-ci {
        width: 190px !important;
        max-width: calc(100vw - 108px) !important;
    }

    .nav-toggle {
        display: inline-flex !important;
        justify-self: end;
    }

    .nav {
        display: none !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding: 12px !important;
        background: #F8F4FF !important;
        border: 1px solid rgba(139, 92, 246, .18) !important;
        border-radius: 8px !important;
        color: var(--ink) !important;
        white-space: normal !important;
    }

    .site-header.nav-open .nav {
        display: grid !important;
    }

    .nav a {
        display: flex !important;
        min-height: 42px !important;
        align-items: center !important;
        padding: 0 12px !important;
        background: #fff !important;
        border: 1px solid rgba(139, 92, 246, .18) !important;
        border-radius: 6px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 640px) {
    .brand-ci {
        width: 154px !important;
        max-width: calc(100vw - 96px) !important;
    }
}

/* Keep the AI section CTA readable on narrow mobile widths. */
.home-ai-copy {
    min-width: 0 !important;
}

.home-ai-copy > .btn,
.home-check-list + .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    line-height: 1 !important;
}

@media (max-width: 640px) {
    .home-ai-copy > .btn,
    .home-check-list + .btn {
        min-width: 172px !important;
        min-height: 42px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* The privacy sample now uses a desktop capture, so keep the frame landscape. */
.privacy-capture-card {
    align-self: start !important;
    aspect-ratio: 1398 / 867 !important;
    min-height: 0 !important;
}

.privacy-capture-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
}

@media (min-width: 1101px) {
    .home-privacy-showcase {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        align-items: start !important;
    }

    .privacy-mode-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .privacy-mode-list article {
        min-height: 0 !important;
    }
}

@media (max-width: 720px) {
    .privacy-mode-list {
        grid-template-columns: 1fr !important;
    }
}

/* AI Search lead copy is explanatory body text; keep it readable on the dark panel. */
.ai-section .ai-lead {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #F1E7DF !important;
    line-height: 1.68 !important;
}

/* Contact page should follow the DAMA CI palette, not the old beige/brown tone. */
.contact.contact-page {
    background:
        radial-gradient(circle at 8% 16%, rgba(255, 111, 163, .09), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(120, 224, 231, .12), transparent 32%),
        linear-gradient(180deg, #FCFAFF 0%, #F8F4FF 56%, #FFFFFF 100%) !important;
    border-top-color: rgba(139, 92, 246, .14) !important;
}

.contact .eyebrow {
    color: var(--blue) !important;
    border-left-color: var(--blue) !important;
    background: transparent !important;
}

.contact-accent {
    color: #7C3AED !important;
}

.contact-types span {
    background: rgba(255, 255, 255, .84) !important;
    border-color: rgba(139, 92, 246, .24) !important;
    color: #4F2DA8 !important;
}

.contact-card,
.contact-info-grid article,
.contact-layer-panel {
    background: rgba(255, 255, 255, .92) !important;
    border-color: rgba(139, 92, 246, .18) !important;
    box-shadow: 0 20px 54px rgba(33, 18, 52, .08) !important;
}

.contact-info-grid span {
    background: #F8F4FF !important;
    border: 1px solid rgba(139, 92, 246, .18) !important;
    color: var(--blue) !important;
}

.contact .btn.primary.ghost {
    background: #FFFFFF !important;
    border-color: rgba(139, 92, 246, .24) !important;
    color: #3B1A65 !important;
}

.contact .btn.primary.ghost:hover {
    background: #F8F4FF !important;
    border-color: rgba(139, 92, 246, .38) !important;
    color: var(--blue) !important;
}

.contact-mail {
    color: #7C3AED !important;
}

/* Pricing and DAMA intro pages should avoid the previous beige editorial palette. */
.pricing-section,
.dama-section,
.expansion-section,
.search-experience-section {
    background:
        radial-gradient(circle at 8% 14%, rgba(255, 111, 163, .07), transparent 30%),
        radial-gradient(circle at 86% 8%, rgba(120, 224, 231, .12), transparent 32%),
        linear-gradient(180deg, #FCFAFF 0%, #FFFFFF 100%) !important;
}

.theme-section,
.operation-section {
    background:
        radial-gradient(circle at 86% 10%, rgba(120, 224, 231, .10), transparent 30%),
        linear-gradient(180deg, #F8F4FF 0%, #FFFFFF 100%) !important;
    border-top-color: rgba(139, 92, 246, .14) !important;
}

.position-note,
.pricing-options,
.pricing-table-note,
.pricing-storage-note {
    background:
        radial-gradient(circle at 96% 0%, rgba(120, 224, 231, .12), transparent 34%),
        rgba(255, 255, 255, .88) !important;
    border-color: rgba(139, 92, 246, .18) !important;
    color: var(--muted) !important;
    box-shadow: 0 16px 42px rgba(33, 18, 52, .055) !important;
}

.position-note {
    color: #3B1A65 !important;
}

.dama-story div,
.dama-cards article,
.theme-grid article,
.expansion-grid article,
.operation-steps article,
.operation-points > div,
.pricing-guide-grid article,
.option-grid article,
.pricing-mobile-list article {
    background: rgba(255, 255, 255, .9) !important;
    border-color: rgba(139, 92, 246, .18) !important;
    box-shadow: 0 16px 42px rgba(33, 18, 52, .06) !important;
}

.pricing-guide-grid article.featured,
.pricing-mobile-list article.featured,
.pricing-table thead th.featured {
    background:
        radial-gradient(circle at 100% 0%, rgba(120, 224, 231, .18), transparent 32%),
        #FCFAFF !important;
    border-color: rgba(139, 92, 246, .42) !important;
}

.dama-story span,
.dama-cards b,
.theme-grid span,
.expansion-grid span,
.operation-steps span,
.pricing-guide-grid span,
.price-card span,
.option-grid span,
.pricing-mobile-head span {
    background: #F8F4FF !important;
    border: 1px solid rgba(139, 92, 246, .18) !important;
    color: #4F2DA8 !important;
}

.pricing-table thead th {
    background: #F8F4FF !important;
    color: #211234 !important;
}

.pricing-table thead th.featured {
    box-shadow: inset 0 4px 0 #8B5CF6 !important;
}

.pricing-table tbody th {
    background: #FCFAFF !important;
}

.pricing-table-wrap {
    background: #FFFFFF !important;
    border-color: rgba(139, 92, 246, .18) !important;
    box-shadow: 0 18px 48px rgba(33, 18, 52, .075) !important;
}

.pricing-storage-note .eyebrow,
.pricing-option-head .eyebrow {
    color: var(--blue) !important;
    border-left-color: var(--blue) !important;
    background: transparent !important;
}

/* Balance service/admin feature grids and keep compact labels visually symmetric. */
#service-scope .expansion-grid,
.admin-feature-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#service-scope .expansion-grid article > span,
.admin-feature-summary article > span,
.admin-demo-copy span,
.dama-story span,
.dama-cards b,
.theme-grid span,
.operation-steps span,
.operation-points span,
.pricing-guide-grid span,
.price-card span,
.option-grid span,
.pricing-mobile-head span,
.pricing-table thead th span {
    display: inline-flex !important;
    width: auto;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding: 7px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    border: 1px solid rgba(139, 92, 246, .22) !important;
    border-left-color: rgba(139, 92, 246, .22) !important;
    box-sizing: border-box;
}

.home-section-title .eyebrow,
.home-hero .eyebrow,
.home-problem-section .eyebrow,
.home-flow-section .eyebrow,
.home-ai-section .eyebrow,
.home-operation-section .eyebrow,
.home-service-check-section .eyebrow,
.home-template-section .eyebrow,
.home-closing-section .eyebrow {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    justify-self: start !important;
    align-self: start !important;
    padding: 7px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    border: 1px solid rgba(139, 92, 246, .22) !important;
    border-left-color: rgba(139, 92, 246, .22) !important;
    box-sizing: border-box;
}

.home-cdn-section .eyebrow,
.home-trust-section .eyebrow {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    justify-self: start !important;
    align-self: start !important;
    padding: 7px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    background: rgba(255, 255, 255, .08) !important;
    box-sizing: border-box;
}

.home-cdn-section .eyebrow {
    color: #78E0E7 !important;
    border: 1px solid rgba(120, 224, 231, .28) !important;
    border-left-color: rgba(120, 224, 231, .28) !important;
}

.home-trust-section .eyebrow {
    color: #F1CABB !important;
    border: 1px solid rgba(241, 202, 187, .3) !important;
    border-left-color: rgba(241, 202, 187, .3) !important;
}

#admin-feature-summary,
.admin-demo-card,
#service-scope {
    scroll-margin-top: 110px;
}

@media (max-width: 980px) {
    #service-scope .expansion-grid,
    .admin-feature-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    #service-scope .expansion-grid,
    .admin-feature-summary {
        grid-template-columns: 1fr !important;
    }
}
