:root {
    --color-primary: #6C006D;
    --color-primary-dark: #500051;
    --color-primary-light: #8A0B8B;
    --color-warm-accent: #C08A2E;
    --color-warm-accent-dark: #9E6F1F;
    --color-antique-gold: #77560E;
    --color-warm-sand: #EAE5D9;
    --color-sand-light: #F7F5F0;
    --color-corporate-dark: #1A1625;
    --color-card-border: #D8D1C3;
    --color-card-bg: #FFFFFF;
    --font-heading: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;
}

body {
    font-family: var(--font-body);
    background-color: #FAFAF8;
    color: var(--color-corporate-dark);
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6, .font-heading {
    font-family: var(--font-heading);
    letter-spacing: -0.02em;
    font-weight: 700;
}

/* Strict Flat Corporate Card */
.corp-card {
    background-color: var(--color-card-bg);
    border: 1px solid var(--color-card-border);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.corp-card:hover {
    border-color: var(--color-antique-gold);
    box-shadow: 0 4px 12px rgba(108, 0, 109, 0.08);
}

.corp-card-accent {
    border-top: 4px solid var(--color-primary);
}

.corp-card-gold {
    border-top: 4px solid var(--color-warm-accent);
}

/* Flat Buttons (No Gradients) */
.btn-corp-primary {
    background-color: var(--color-primary);
    color: #FFFFFF;
    font-weight: 600;
    padding: 0.65rem 1.4rem;
    border-radius: 6px;
    border: 1px solid var(--color-primary-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background-color 0.15s ease;
    text-decoration: none;
    cursor: pointer;
}
.btn-corp-primary:hover {
    background-color: var(--color-primary-dark);
    color: #FFFFFF;
}

.btn-corp-accent {
    background-color: var(--color-warm-accent);
    color: #FFFFFF;
    font-weight: 600;
    padding: 0.65rem 1.4rem;
    border-radius: 6px;
    border: 1px solid var(--color-warm-accent-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background-color 0.15s ease;
    text-decoration: none;
    cursor: pointer;
}
.btn-corp-accent:hover {
    background-color: var(--color-warm-accent-dark);
    color: #FFFFFF;
}

.btn-corp-outline {
    background-color: transparent;
    color: var(--color-primary);
    font-weight: 600;
    padding: 0.65rem 1.4rem;
    border-radius: 6px;
    border: 1.5px solid var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.15s ease;
    text-decoration: none;
    cursor: pointer;
}
.btn-corp-outline:hover {
    background-color: var(--color-primary);
    color: #FFFFFF;
}

.btn-corp-sand {
    background-color: var(--color-warm-sand);
    color: var(--color-corporate-dark);
    font-weight: 600;
    padding: 0.65rem 1.4rem;
    border-radius: 6px;
    border: 1px solid var(--color-card-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.15s ease;
    text-decoration: none;
    cursor: pointer;
}
.btn-corp-sand:hover {
    background-color: #DDD6C7;
}

/* Badges */
.corp-badge {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.65rem;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.corp-badge-purple {
    background-color: #F3E5F3;
    color: var(--color-primary);
    border: 1px solid #E0BEE1;
}
.corp-badge-gold {
    background-color: #FAF4E8;
    color: var(--color-antique-gold);
    border: 1px solid #E9D5B4;
}
.corp-badge-sand {
    background-color: var(--color-warm-sand);
    color: var(--color-corporate-dark);
    border: 1px solid var(--color-card-border);
}

/* Floating WhatsApp / Phone Widget */
.floating-contact-pill {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
}

.whatsapp-float-btn {
    background-color: #25D366;
    color: #FFFFFF;
    padding: 12px 20px;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    font-weight: 700;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.whatsapp-float-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    color: #FFFFFF;
}

.ai-chat-float-btn {
    background-color: var(--color-primary);
    color: #FFFFFF;
    padding: 12px 20px;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(108, 0, 109, 0.3);
    font-weight: 700;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    border: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ai-chat-float-btn:hover {
    transform: translateY(-2px);
    background-color: var(--color-primary-dark);
}

/* Modal Overlay */
.corp-modal-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(26, 22, 37, 0.7);
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

/* Multi-Step Wizard Styling */
.wizard-step-pill {
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.85rem;
    border: 1px solid var(--color-card-border);
    background-color: #FFFFFF;
    color: #666;
}
.wizard-step-pill.active {
    background-color: var(--color-primary);
    color: #FFFFFF;
    border-color: var(--color-primary-dark);
}
.wizard-step-pill.completed {
    background-color: var(--color-warm-sand);
    color: var(--color-antique-gold);
    border-color: var(--color-warm-accent);
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}
/* Mobile interaction safeguards shared by the persistent public theme. */
button, a, input, select, textarea { touch-action: manipulation; }
@media (max-width: 639px) {
    #g3-rag-chat-modal {
        inset: auto 0 0 0;
        width: 100%;
        height: min(82dvh, 680px);
        max-height: 82dvh;
        border-radius: 1rem 1rem 0 0;
    }
    .floating-contact-pill { right: .75rem; bottom: max(.75rem, env(safe-area-inset-bottom)); }
    .floating-contact-pill a, .floating-contact-pill button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.article-rich h2,.article-rich h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;color:#1A1625;margin:1.5em 0 .55em}.article-rich h2{font-size:1.55em}.article-rich h3{font-size:1.25em}.article-rich p{margin:.9em 0}.article-rich ul,.article-rich ol{margin:1em 0;padding-left:1.5rem}.article-rich ul{list-style:disc}.article-rich ol{list-style:decimal}.article-rich blockquote{border-left:4px solid #77560E;background:#FAF4E8;padding:.85rem 1rem;margin:1.25rem 0}.article-rich pre{overflow:auto;background:#1A1625;color:white;border-radius:.5rem;padding:1rem}.article-rich a{color:#6C006D;text-decoration:underline;font-weight:600}
