    /* ============================================================
    Great Solomon Manpower Services Inc. — Landing Page Styles (responsive)
    ============================================================ */
    /* Uses fast system fonts; no external font request. */

    .landing {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        background: #fff;
        color: #1e293b;
        overflow-x: hidden;
    }

    /* ===== NAVBAR ===== */
    .landing-nav {
        position: sticky;
        top: 0;
        z-index: 100;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.9rem 5vw;
        background: rgba(255, 255, 255, 0.85);
        backdrop-filter: blur(14px);
        border-bottom: 1px solid #eef2f7;
    }
    .landing-nav .l-brand { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 1.1rem; color: #1e293b; }
    .landing-nav .l-brand .logo-box {
        width: 38px; height: 38px; border-radius: 10px;
        background: linear-gradient(135deg, #6366f1, #8b5cf6);
        display: flex; align-items: center; justify-content: center;
        font-size: 1.1rem; color: #fff; box-shadow: 0 6px 16px rgba(99,102,241,0.35);
    }
    .landing-nav .l-links { display: flex; align-items: center; gap: 1.6rem; }
    .landing-nav .l-links a { font-size: 0.88rem; font-weight: 600; color: #475569; transition: color 0.15s; }
    .landing-nav .l-links a:hover { color: #6366f1; }
    .landing-nav .l-cta { display: flex; align-items: center; gap: 0.8rem; }
    .landing-nav .l-cta .btn { padding: 0.55rem 1.2rem; border-radius: 10px; font-size: 0.85rem; font-weight: 700; }
    .l-btn-primary { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: #fff; box-shadow: 0 4px 14px rgba(99,102,241,0.35); transition: all 0.2s; }
    .l-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(99,102,241,0.45); }
    .l-btn-ghost { color: #1e293b; font-weight: 700; transition: color 0.15s; }
    .l-btn-ghost:hover { color: #6366f1; }
    .landing-nav button.l-btn-ghost, .landing-nav button.l-btn-primary, .landing-hero button.l-btn-hero-primary { border:0; cursor:pointer; font:inherit; }

    .landing-hamburger { display: none; background: none; border: none; font-size: 1.6rem; cursor: pointer; color: #1e293b; }

    /* Mobile nav */
    .landing-mobile-nav {
        display: none;
        flex-direction: column;
        padding: 1rem 5vw;
        background: #fff;
        border-bottom: 1px solid #eef2f7;
        gap: 0.9rem;
    }
    .landing-mobile-nav.open { display: flex; }
    .landing-mobile-nav a { font-size: 0.95rem; font-weight: 600; color: #1e293b; padding: 0.55rem 0.5rem; border-radius: 8px; }
    .landing-mobile-nav a:hover { background: #eef2ff; color: #6366f1; }

    /* ===== HERO ===== */
    .landing-hero {
        position: relative;
        display: grid;
        grid-template-columns: 1.05fr 0.95fr;
        gap: 3rem;
        align-items: center;
        padding: 5rem 5vw 4.5rem;
        background: radial-gradient(1000px 600px at 0% 0%, #eef2ff 0%, #ffffff 55%);
    }
    .landing-hero::before {
        content: '';
        position: absolute; right: -140px; top: -140px;
        width: 480px; height: 480px; border-radius: 50%;
        background: radial-gradient(circle, rgba(139,92,246,0.12), transparent 60%);
        pointer-events: none;
    }
    .landing-hero .hero-eyebrow {
        display: inline-flex; align-items: center; gap: 8px;
        background: #eef2ff; color: #4f46e5;
        padding: 6px 14px; border-radius: 999px;
        font-size: 0.75rem; font-weight: 700; letter-spacing: 0.03em;
        margin-bottom: 1.3rem;
    }
    .landing-hero .hero-eyebrow .pulse { width: 7px; height: 7px; border-radius: 50%; background: #10b981; animation: heroPulse 1.6s infinite; }
    @keyframes heroPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

    .landing-hero h1 {
        font-size: 3.1rem;
        line-height: 1.12;
        font-weight: 900;
        letter-spacing: -0.03em;
        margin-bottom: 1.1rem;
        color: #0f172a;
    }
    .landing-hero h1 .grad {
        background: linear-gradient(135deg, #6366f1, #8b5cf6);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .landing-hero .hero-sub {
        font-size: 1.05rem;
        color: #64748b;
        max-width: 520px;
        margin-bottom: 2rem;
        line-height: 1.65;
    }
    .landing-hero .hero-cta { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.2rem; }
    .landing-hero .hero-cta .btn { padding: 0.85rem 1.8rem; border-radius: 12px; font-size: 0.95rem; font-weight: 700; }
    .l-btn-hero-primary { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: #fff; box-shadow: 0 8px 24px rgba(99,102,241,0.4); transition: all 0.2s; }
    .l-btn-hero-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(99,102,241,0.5); }
    .l-btn-hero-outline { background: #fff; color: #1e293b; border: 1.5px solid #e2e8f0; transition: all 0.2s; }
    .l-btn-hero-outline:hover { border-color: #6366f1; color: #6366f1; }

    .hero-trust { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
    .hero-trust .trust-item { display: flex; align-items: center; gap: 8px; font-size: 0.82rem; font-weight: 600; color: #475569; }

    .hero-visual {
        position: relative;
        display: flex; align-items: center; justify-content: center;
    }
    .hero-visual .dash-mockup {
        width: 100%; max-width: 520px;
        background: #fff;
        border: 1px solid #eef2f7;
        border-radius: 22px;
        box-shadow: 0 30px 60px -15px rgba(15,23,42,0.2);
        padding: 1.4rem;
    }
    .hero-visual .dash-top { display: flex; align-items: center; gap: 8px; margin-bottom: 1.2rem; }
    .hero-visual .dash-top .dot { width: 11px; height: 11px; border-radius: 50%; }
    .hero-visual .mock-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; margin-bottom: 1.2rem; }
    .hero-visual .mock-card { border: 1px solid #eef2f7; border-radius: 14px; padding: 1rem; }
    .hero-visual .mock-card .m-val { font-size: 1.5rem; font-weight: 800; }
    .hero-visual .mock-card .m-lbl { font-size: 0.72rem; color: #64748b; }
    .hero-visual .mock-chart { height: 130px; background: linear-gradient(180deg, #eef2ff 0%, #fff 100%); border-radius: 14px; border: 1px solid #eef2f7; position: relative; overflow: hidden; }
    .hero-visual .mock-chart::after {
        content: '';
        position: absolute; left: 0; right: 0; bottom: 0; height: 65%;
        background: linear-gradient(180deg, rgba(99,102,241,0.25), transparent);
        clip-path: polygon(0 100%, 0 60%, 15% 50%, 30% 55%, 45% 30%, 60% 38%, 75% 18%, 90% 25%, 100% 10%, 100% 100%);
    }

    .hero-float-card {
        position: absolute;
        background: #fff;
        border: 1px solid #eef2f7;
        border-radius: 14px;
        padding: 0.8rem 1.1rem;
        box-shadow: 0 16px 40px -10px rgba(15,23,42,0.18);
        display: flex; align-items: center; gap: 10px;
        font-size: 0.8rem; font-weight: 700;
        animation: floaty 4s ease-in-out infinite;
    }
    .hero-float-card.fc-1 { bottom: 30px; left: -10px; }
    .hero-float-card.fc-2 { top: 30px; right: -10px; animation-delay: 2s; }
    @keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

    /* ===== SECTIONS ===== */
    .landing-section { padding: 4.5rem 5vw; }
    .landing-section .sec-label { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: #6366f1; margin-bottom: 0.7rem; }
    .landing-section h2 { font-size: 2.2rem; font-weight: 900; letter-spacing: -0.02em; color: #0f172a; margin-bottom: 0.8rem; }
    .landing-section .sec-sub { color: #64748b; max-width: 620px; font-size: 1rem; line-height: 1.65; margin-bottom: 2.5rem; }

    /* Features grid */
    .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
    .feature-card {
        background: #fff;
        border: 1px solid #eef2f7;
        border-radius: 18px;
        padding: 1.7rem;
        transition: all 0.22s ease;
        position: relative;
        overflow: hidden;
    }
    .feature-card:hover { transform: translateY(-5px); box-shadow: 0 24px 48px -12px rgba(15,23,42,0.15); border-color: #e0e7ff; }
    .feature-card .f-icon {
        width: 50px; height: 50px; border-radius: 14px;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.4rem; margin-bottom: 1.1rem;
    }
    .feature-card .f-icon.i1 { background: #eef2ff; }
    .feature-card .f-icon.i2 { background: #ecfdf5; }
    .feature-card .f-icon.i3 { background: #eff6ff; }
    .feature-card .f-icon.i4 { background: #fef3c7; }
    .feature-card .f-icon.i5 { background: #fff7ed; }
    .feature-card .f-icon.i6 { background: #f5f3ff; }
    .feature-card h3 { font-size: 1.05rem; font-weight: 800; margin-bottom: 0.5rem; color: #0f172a; }
    .feature-card p { font-size: 0.88rem; color: #64748b; line-height: 1.6; margin-bottom: 0.9rem; }
    .feature-card .f-link { font-size: 0.82rem; font-weight: 700; color: #6366f1; }

    /* Stats band */
    .stats-band {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
        background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
        border-radius: 24px;
        padding: 3rem 2.5rem;
        color: #fff;
    }
    .stats-band .s-item { text-align: center; }
    .stats-band .s-val { font-size: 2.3rem; font-weight: 900; letter-spacing: -0.02em; }
    .stats-band .s-lbl { font-size: 0.82rem; color: #94a3b8; margin-top: 4px; }

    /* How it works */
    .steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
    .step-card {
        border: 1px solid #eef2f7;
        border-radius: 18px;
        padding: 1.8rem;
        position: relative;
        background: #fff;
    }
    .step-card .step-num {
        width: 42px; height: 42px; border-radius: 12px;
        background: linear-gradient(135deg, #6366f1, #8b5cf6);
        color: #fff; font-weight: 900; font-size: 1.1rem;
        display: flex; align-items: center; justify-content: center;
        margin-bottom: 1.1rem;
    }
    .step-card h3 { font-size: 1rem; font-weight: 800; margin-bottom: 0.45rem; }
    .step-card p { font-size: 0.87rem; color: #64748b; line-height: 1.6; }

    /* CTA band */
    .cta-band {
        text-align: center;
        background: radial-gradient(800px 400px at 50% 0%, #eef2ff 0%, #fff 70%);
        border-radius: 24px;
        border: 1px solid #eef2f7;
        padding: 4rem 2rem;
    }
    .cta-band h2 { font-size: 2.2rem; font-weight: 900; color: #0f172a; margin-bottom: 0.8rem; }
    .cta-band p { color: #64748b; margin-bottom: 2rem; font-size: 1.02rem; }
    .cta-band .btn { padding: 0.9rem 2.2rem; border-radius: 12px; font-size: 1rem; font-weight: 800; }

    /* Footer */
    .landing-footer {
        background: #0f172a;
        color: #94a3b8;
        padding: 3rem 5vw 2rem;
        display: grid;
        grid-template-columns: 2fr 1fr 1fr;
        gap: 2rem;
    }
    .landing-footer .f-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 1rem; }
    .landing-footer .f-brand .logo-box {
        width: 36px; height: 36px; border-radius: 10px;
        background: linear-gradient(135deg, #6366f1, #8b5cf6);
        display: flex; align-items: center; justify-content: center; color: #fff;
    }
    .landing-footer .f-brand span { font-weight: 800; color: #fff; }
    .landing-footer p { font-size: 0.85rem; line-height: 1.65; max-width: 320px; }
    .landing-footer .f-col h4 { color: #fff; font-size: 0.85rem; margin-bottom: 1rem; }
    .landing-footer .f-col a { display: block; font-size: 0.85rem; padding: 0.3rem 0; color: #94a3b8; transition: color 0.15s; }
    .landing-footer .f-col a:hover { color: #a5b4fc; }
    .landing-footer .f-bottom {
        grid-column: 1 / -1;
        border-top: 1px solid rgba(255,255,255,0.08);
        padding-top: 1.4rem;
        margin-top: 1.5rem;
        display: flex; align-items: center; justify-content: space-between;
        font-size: 0.78rem;
    }

    /* ===== CLIENT CHAT BUTTON (different from AI widget) ===== */
    .lc-chat-btn {
        position: fixed;
        bottom: 90px;
        right: 22px;
        z-index: 89;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: linear-gradient(135deg, #10b981, #059669);
        color: #fff;
        font-size: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 10px 25px rgba(16, 185, 129, 0.45);
        transition: all 0.2s ease;
        border: 3px solid #fff;
    }
    .lc-chat-btn:hover {
        transform: translateY(-3px) scale(1.05);
        box-shadow: 0 14px 30px rgba(16, 185, 129, 0.55);
    }
    .lc-chat-btn .lc-badge {
        position: absolute;
        top: -4px;
        right: -4px;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #ef4444;
        color: #fff;
        font-size: 0.65rem;
        font-weight: 800;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 2px solid #fff;
    }

    /* ===== CLIENT CHAT OVERLAY ===== */
    .lc-overlay {
        position: fixed;
        inset: 0;
        z-index: 200;
        background: rgba(15, 23, 42, 0.5);
        backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
        opacity: 0;
        visibility: hidden;
        transition: all 0.2s ease;
    }
    .lc-overlay.open { opacity: 1; visibility: visible; }

    .lc-modal {
        background: #fff;
        border-radius: 20px;
        width: 100%;
        max-width: 480px;
        max-height: 90vh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        box-shadow: 0 25px 50px -12px rgba(15,23,42,0.25);
        transform: translateY(20px) scale(0.98);
        transition: all 0.22s ease;
    }
    .lc-overlay.open .lc-modal { transform: translateY(0) scale(1); }

    .lc-header {
        background: linear-gradient(135deg, #10b981, #059669);
        color: #fff;
        padding: 1.2rem 1.4rem;
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .lc-header .lc-icon {
        width: 40px; height: 40px;
        border-radius: 12px;
        background: rgba(255,255,255,0.2);
        display: flex; align-items: center; justify-content: center;
        font-size: 1.2rem;
    }
    .lc-header .lc-info { flex: 1; }
    .lc-header .lc-info .lc-title { font-size: 1rem; font-weight: 800; }
    .lc-header .lc-info .lc-sub { font-size: 0.72rem; opacity: 0.85; }
    .lc-header .lc-close {
        width: 32px; height: 32px; border-radius: 8px;
        background: rgba(255,255,255,0.15);
        display: flex; align-items: center; justify-content: center;
        color: #fff; font-size: 0.9rem; cursor: pointer;
        transition: all 0.15s;
    }
    .lc-header .lc-close:hover { background: rgba(255,255,255,0.25); }

    .lc-body {
        flex: 1;
        overflow-y: auto;
        padding: 1.2rem 1.4rem;
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        background: #f8fafc;
    }
    .lc-body .lc-field label {
        display: block;
        font-size: 0.78rem;
        font-weight: 700;
        color: #475569;
        margin-bottom: 0.35rem;
    }
    .lc-body .lc-field select,
    .lc-body .lc-field input,
    .lc-body .lc-field textarea {
        width: 100%;
        padding: 0.6rem 0.85rem;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        font-size: 0.85rem;
        font-family: inherit;
        outline: none;
        background: #fff;
        transition: all 0.15s;
    }
    .lc-body .lc-field select:focus,
    .lc-body .lc-field input:focus,
    .lc-body .lc-field textarea:focus {
        border-color: #10b981;
        box-shadow: 0 0 0 4px rgba(16,185,129,0.12);
    }

    /* Chat messages inside landing */
    .lc-chat {
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
        max-height: 200px;
        overflow-y: auto;
        padding: 0.5rem;
        background: #fff;
        border-radius: 12px;
        border: 1px solid #e2e8f0;
        min-height: 80px;
    }
    .lc-msg {
        max-width: 85%;
        padding: 0.6rem 0.85rem;
        border-radius: 12px;
        font-size: 0.82rem;
        line-height: 1.5;
        border-left: 4px solid #10b981;
        background: #f0fdf4;
        align-self: flex-start;
    }
    .lc-msg .lc-time {
        font-size: 0.65rem;
        color: #94a3b8;
        display: block;
        margin-top: 3px;
    }
    .lc-msg.client { background: #f0fdf4; border-left-color: #10b981; }
    .lc-msg.agency { background: #eef2ff; border-left-color: #6366f1; align-self: flex-end; }

    .lc-body .lc-input-row {
        display: flex;
        gap: 10px;
        align-items: flex-end;
    }
    .lc-body .lc-input-row textarea {
        flex: 1;
        padding: 0.6rem 0.85rem;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        font-size: 0.85rem;
        font-family: inherit;
        resize: none;
        outline: none;
        min-height: 44px;
        max-height: 100px;
    }
    .lc-body .lc-input-row textarea:focus {
        border-color: #10b981;
        box-shadow: 0 0 0 4px rgba(16,185,129,0.12);
    }
    .lc-body .lc-input-row .lc-send {
        width: 44px; height: 44px; border-radius: 12px;
        background: linear-gradient(135deg, #10b981, #059669);
        color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.1rem; flex-shrink: 0;
        transition: all 0.15s;
    }
    .lc-body .lc-input-row .lc-send:hover { transform: scale(1.05); }
    .lc-body .lc-input-row .lc-send:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

    .lc-placeholder {
        text-align: center;
        padding: 2rem;
        color: #94a3b8;
    }
    .lc-placeholder .lc-ph-icon { font-size: 2.5rem; margin-bottom: 0.5rem; }
    .lc-placeholder p { font-size: 0.85rem; }

    /* Start Chat button (form view) */
    .lc-start-btn {
        width: 100%;
        padding: 0.75rem;
        border-radius: 12px;
        background: linear-gradient(135deg, #10b981, #059669);
        color: #fff;
        font-weight: 800;
        font-size: 0.95rem;
        border: none;
        cursor: pointer;
        transition: all 0.15s;
        margin-top: 0.4rem;
    }
    .lc-start-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(16,185,129,0.4); }
    .lc-start-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

    /* Chat view: fill available height */
    #lcChatView { min-height: 320px; }
    #lcChatView .lc-chat {
        flex: 1;
        min-height: 200px;
        max-height: none;
    }

    /* ===== CLIENT CHAT ACTIONS (Rate button) ===== */
    .lc-chat-actions {
        display: flex;
        justify-content: center;
        padding: 0.5rem 0;
    }
    .lc-rate-btn {
        background: linear-gradient(135deg, #f59e0b, #d97706);
        color: #fff;
        border: none;
        border-radius: 10px;
        padding: 0.5rem 1.2rem;
        font-size: 0.82rem;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.15s;
        flex: 1;
    }
    .lc-rate-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 6px 20px rgba(245,158,11,0.35);
    }

    /* ===== SURVEY PROMPT OVERLAY (appears after sending message) ===== */
    .sp-overlay {
        position: fixed;
        inset: 0;
        z-index: 210;
        background: rgba(15, 23, 42, 0.55);
        backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
        opacity: 0;
        visibility: hidden;
        transition: all 0.2s ease;
    }
    .sp-overlay.open { opacity: 1; visibility: visible; }

    .sp-modal {
        background: #fff;
        border-radius: 20px;
        width: 100%;
        max-width: 480px;
        max-height: 90vh;
        overflow-y: auto;
        box-shadow: 0 25px 50px -12px rgba(15,23,42,0.25);
        transform: translateY(20px) scale(0.98);
        transition: all 0.22s ease;
    }
    .sp-overlay.open .sp-modal { transform: translateY(0) scale(1); }

    .sp-header {
        background: linear-gradient(135deg, #f59e0b, #d97706);
        color: #fff;
        padding: 1.3rem 1.5rem;
        text-align: center;
    }
    .sp-header h2 { margin: 0; font-size: 1.2rem; font-weight: 800; }
    .sp-header p { margin: 0.3rem 0 0; font-size: 0.82rem; opacity: 0.9; }

    .sp-body {
        padding: 1.3rem 1.5rem;
        display: flex;
        flex-direction: column;
        gap: 1.1rem;
    }
    .sp-body .sp-field label {
        display: block;
        font-size: 0.78rem;
        font-weight: 700;
        color: #475569;
        margin-bottom: 0.4rem;
    }
    .sp-body .sp-stars {
        display: flex;
        gap: 8px;
        font-size: 2rem;
        cursor: pointer;
    }
    .sp-body .sp-star {
        color: #cbd5e1;
        transition: all 0.15s;
        user-select: none;
    }
    .sp-body .sp-star:hover { transform: scale(1.2); }
    .sp-body .sp-star.active { color: #f59e0b; text-shadow: 0 2px 8px rgba(245,158,11,0.4); }

    .sp-body .sp-nps-scale {
        display: flex;
        gap: 6px;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .sp-body .sp-nps-btn {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        border: 2px solid #e2e8f0;
        background: #fff;
        font-weight: 700;
        font-size: 0.9rem;
        color: #64748b;
        cursor: pointer;
        transition: all 0.15s;
    }
    .sp-body .sp-nps-btn:hover { border-color: #f59e0b; color: #f59e0b; transform: scale(1.1); }
    .sp-body .sp-nps-btn.selected { background: #f59e0b; border-color: #f59e0b; color: #fff; }

    .sp-body .sp-nps-legend {
        display: flex;
        justify-content: space-between;
        font-size: 0.7rem;
        color: #94a3b8;
        margin-top: 4px;
    }

    .sp-body textarea {
        width: 100%;
        padding: 0.6rem 0.85rem;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        font-size: 0.85rem;
        font-family: inherit;
        resize: vertical;
        outline: none;
        transition: all 0.15s;
    }
    .sp-body textarea:focus {
        border-color: #f59e0b;
        box-shadow: 0 0 0 4px rgba(245,158,11,0.12);
    }

    .sp-body .sp-submit {
        width: 100%;
        padding: 0.75rem;
        border-radius: 12px;
        background: linear-gradient(135deg, #f59e0b, #d97706);
        color: #fff;
        font-weight: 800;
        font-size: 0.95rem;
        border: none;
        cursor: pointer;
        transition: all 0.15s;
    }
    .sp-body .sp-submit:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(245,158,11,0.4); }
    .sp-body .sp-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

    .sp-body .sp-skip {
        display: block;
        text-align: center;
        font-size: 0.78rem;
        color: #94a3b8;
        cursor: pointer;
        font-weight: 600;
        transition: color 0.15s;
    }
    .sp-body .sp-skip:hover { color: #475569; }

    /* ===== RESPONSIVE ===== */
    html, body.landing { overflow-x: hidden; }
    body.landing *, body.landing *::before, body.landing *::after { box-sizing: border-box; }
    @media (max-width: 1024px) {
        .landing-hero { grid-template-columns: 1fr; gap: 2.5rem; padding-top: 3.5rem; }
        .landing-hero h1 { font-size: 2.5rem; }
        .features-grid, .steps-grid { grid-template-columns: repeat(2, 1fr); }
        .stats-band { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 768px) {
        .landing-nav { padding: 0.8rem 4vw; }
        .landing-nav .l-links, .landing-nav .l-cta { display: none; }
        .landing-hamburger { display: block; }
        .landing-hero { padding: 3rem 4vw 3rem; }
        .landing-hero h1 { font-size: 2rem; }
        .landing-hero .hero-sub { font-size: 0.94rem; }
        .hero-visual .dash-mockup { max-width: 100%; }
        .hero-float-card { display: none; }
        .features-grid, .steps-grid { grid-template-columns: 1fr; }
        .stats-band { grid-template-columns: 1fr 1fr; gap: 1.2rem; padding: 2rem 1.5rem; }
        .stats-band .s-val { font-size: 1.6rem; }
        .landing-section { padding: 3rem 4vw; }
        .landing-section h2 { font-size: 1.7rem; }
        .cta-band h2 { font-size: 1.7rem; }
        .landing-footer { grid-template-columns: 1fr; padding: 2rem 4vw; }
        .landing-footer .f-bottom { flex-direction: column; gap: 0.6rem; text-align: center; }
    }

    @media (max-width: 480px) {
        .landing-hero h1 { font-size: 1.6rem; }
        .landing-hero .hero-cta { flex-direction: column; width: 100%; }
        .landing-hero .hero-cta .btn { width: 100%; max-width: 100%; box-sizing: border-box; justify-content: center; }
        .stats-band { grid-template-columns: 1fr; }
        .hero-visual .mock-cards { grid-template-columns: 1fr; }
    }

    /* Landing V2 — refined visual treatment without changing live-chat behavior. */
    .landing { background:#fbfaff; color:#17172b; }
    .landing-nav { background:rgba(255,255,255,.82); backdrop-filter:blur(18px); border-bottom:1px solid #e8e5f1; box-shadow:0 1px 0 rgba(28,21,62,.03); }
    .l-brand .logo-box { background:#eeedff; color:#4f46e5; box-shadow:none; }
    .l-brand span { color:#312e81; letter-spacing:-.04em; }
    .l-links a { color:#545168; font-weight:600; }.l-links a:hover { color:#4f46e5; }
    .l-btn-primary,.l-btn-hero-primary { background:#4f46e5; box-shadow:0 10px 22px rgba(79,70,229,.2); }
    .landing-hero { max-width:1320px; margin:0 auto; min-height:620px; align-items:center; }
    .landing-hero .hero-eyebrow { background:#eeedff; color:#4f46e5; border:1px solid #dfdcff; }
    .landing-hero h1 { font-size:clamp(2.35rem,4vw,4.1rem); max-width:690px; color:#17172b; }.landing-hero .hero-sub { max-width:590px; font-size:1.06rem; color:#656176; }
    .hero-trust { gap:1.1rem; }.hero-trust .trust-item { padding:.45rem .7rem; border:1px solid #e7e4ef; background:#fff; border-radius:999px; font-size:.75rem; }
    .hero-visual .dash-mockup { max-width:550px; padding:1.6rem; border-color:#e6e2f0; border-radius:26px; box-shadow:0 28px 65px rgba(35,28,75,.14); }.hero-visual .mock-card { border-color:#e9e6f1; background:#fff; }.hero-visual .mock-chart { background:linear-gradient(180deg,#f0efff 0%,#fff 100%); border-color:#e6e2f0; }
    .feature-card { border-color:#e7e4ef; border-radius:20px; box-shadow:0 2px 8px rgba(34,25,74,.02); }.feature-card:hover { border-color:#cfcaff; box-shadow:0 16px 36px rgba(35,27,78,.10); }.feature-card .f-icon { border-radius:15px; }.feature-card .f-link { color:#4f46e5; }
    .stats-band { border-radius:28px; background:linear-gradient(135deg,#25205b,#4f46e5); box-shadow:0 18px 35px rgba(49,42,123,.2); }.cta-band { border-color:#e5e1f0; box-shadow:0 12px 30px rgba(35,27,78,.05); }

    /* Client chat: compact, polished, and easy to scan. */
    .lc-chat-btn { width:auto; min-width:58px; padding:0 17px; border-radius:18px; background:#0f9f6e; box-shadow:0 14px 30px rgba(16,185,129,.28); }.lc-chat-btn::after { content:'Live chat'; font-size:.72rem; font-weight:800; margin-left:7px; white-space:nowrap; }
    .lc-modal { max-width:510px; border:1px solid #e6e2f0; border-radius:24px; box-shadow:0 30px 70px rgba(24,19,55,.24); }.lc-header { padding:1.25rem 1.45rem; background:linear-gradient(135deg,#0f9f6e,#047857); }.lc-body { padding:1.2rem 1.35rem; background:#fbfaff; }.lc-chat { border-color:#e4e0ed; background:#fff; border-radius:16px; }.lc-msg { border-radius:14px; box-shadow:0 1px 2px rgba(25,20,50,.04); }.lc-msg.client { background:#ecfdf5; }.lc-msg.agency { background:#eeedff; border-left-color:#4f46e5; }.lc-body .lc-input-row textarea { border-color:#ddd8e8; background:#fff; }.lc-body .lc-input-row .lc-send { background:#4f46e5; box-shadow:0 6px 14px rgba(79,70,229,.22); }.lc-rate-btn { background:#4f46e5; border-radius:11px; }
    @media (max-width:480px) { .lc-chat-btn { min-width:56px; padding:0; border-radius:50%; }.lc-chat-btn::after { display:none; }.lc-modal { border-radius:20px; }.hero-trust .trust-item { font-size:.7rem; } }
    .lc-availability { margin:0 0 .8rem; padding:.65rem .75rem; border-radius:10px; font-size:.77rem; font-weight:700; }
    .lc-availability.online { color:#047857; background:#ecfdf5; border:1px solid #a7f3d0; }
    .lc-availability.offline { color:#92400e; background:#fffbeb; border:1px solid #fde68a; }
    .lc-msg.system { align-self:center; max-width:92%; background:#f8fafc; border:1px dashed #cbd5e1; color:#475569; text-align:center; }
    .lc-required { float:right; font-size:.67rem; color:#64748b; font-weight:700; }

    /* Clear account creation and sign-in experience for live chat. */
    #lcAccountView { display:flex; flex-direction:column; gap:.85rem; }
    .lc-welcome { display:flex; align-items:center; gap:.8rem; padding:.15rem 0 .2rem; }
    .lc-welcome-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:13px; color:#047857; background:#d1fae5; font-size:1.05rem; }
    .lc-welcome strong { display:block; color:#27234f; font-size:.92rem; }
    .lc-welcome p { margin:.18rem 0 0; color:#77738a; font-size:.73rem; line-height:1.4; }
    .lc-account-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border:1px solid #e3dfeb; border-radius:13px; background:#f1eff6; }
    .lc-account-tabs button { border:0; border-radius:9px; padding:.7rem .6rem; color:#706c80; background:transparent; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; transition:all .18s ease; }
    .lc-account-tabs button.active { color:#312e81; background:#fff; box-shadow:0 3px 10px rgba(35,27,78,.1); }
    .lc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
    .lc-form-grid .lc-full-field { grid-column:1/-1; }
    .lc-form-grid .lc-field[hidden] { display:none; }
    .lc-body .lc-form-grid .lc-field label { margin-bottom:.38rem; color:#4b475e; }
    .lc-body .lc-form-grid .lc-field input { min-height:44px; padding:.68rem .8rem; border-color:#ddd8e8; border-radius:11px; }
    .lc-password-wrap { display:flex; position:relative; }
    .lc-password-wrap input { padding-right:3.5rem!important; }
    .lc-password-wrap button { position:absolute; right:.45rem; top:50%; transform:translateY(-50%); padding:.3rem .45rem; border:0; color:#4f46e5; background:transparent; font:inherit; font-size:.68rem; font-weight:800; cursor:pointer; }
    .lc-mode-help { margin:-.1rem 0 0; color:#77738a; font-size:.69rem; line-height:1.45; text-align:center; }
    #lcAccountView .lc-start-btn { min-height:48px; margin:0; border-radius:12px; font-size:.86rem; box-shadow:0 8px 18px rgba(15,159,110,.2); }
    #lcAccountView .lc-availability { margin:0; }
    @media (max-width:480px) { .lc-form-grid { grid-template-columns:1fr; }.lc-form-grid .lc-full-field { grid-column:auto; }.lc-welcome { align-items:flex-start; }.lc-body { padding:1rem; } }
    .lc-modal { max-width:680px; height:min(760px,88vh); }
    #lcChatView { min-height:0; height:100%; }
    #lcChatView .lc-chat { min-height:320px; }
    .lc-chat-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.1rem 0; }
    .lc-chat-toolbar strong,.lc-chat-toolbar span { display:block; }
    .lc-chat-toolbar strong { color:#27234f; font-size:.82rem; }
    .lc-chat-toolbar span { color:#858195; font-size:.67rem; margin-top:.15rem; }
    .lc-logout-btn { border:1px solid #ddd8e8; border-radius:9px; padding:.48rem .72rem; color:#575269; background:#fff; font:inherit; font-size:.7rem; font-weight:800; cursor:pointer; }
    .lc-logout-btn:hover { color:#b91c1c; border-color:#fecaca; background:#fef2f2; }
    #lcChatView .lc-chat-actions { justify-content:flex-end; padding:.1rem 0; }
    #lcChatView .lc-rate-btn { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; padding:.58rem .85rem; }
    .sp-star.selected { color:#f59e0b; transform:scale(1.08); }
    .sp-nps-btn.selected { color:#fff; background:#4f46e5; border-color:#4f46e5; }
    .sp-submit:disabled { opacity:.6; cursor:not-allowed; }
    .lc-field-message { display:none; margin:.35rem .15rem 0; font-size:.67rem; font-weight:700; line-height:1.35; }
    .lc-field-message.show { display:block; }.lc-field-message.success { color:#047857; }.lc-field-message.error { color:#b91c1c; }
    .lc-field input.field-success { border-color:#34d399!important; box-shadow:0 0 0 3px rgba(16,185,129,.08); }
    .lc-field input.field-error { border-color:#f87171!important; box-shadow:0 0 0 3px rgba(239,68,68,.08); }

    /* Live Chat V5 — polished account, conversation, and survey flow. */
    .lc-overlay { padding:clamp(.75rem,3vw,2rem); background:rgba(22,24,38,.56); backdrop-filter:blur(9px); }
    .lc-modal { width:min(680px,100%); height:auto; max-height:calc(100dvh - 2rem); border:1px solid rgba(255,255,255,.72); border-radius:26px; box-shadow:0 32px 90px rgba(24,20,55,.3); }
    .lc-modal.chat-active { height:min(760px,88vh); }
    .lc-header { flex:0 0 auto; min-height:78px; padding:1.15rem 1.4rem; background:linear-gradient(135deg,#0f9f6e,#047857); position:relative; overflow:hidden; }
    .lc-header::after { content:""; position:absolute; width:160px; height:160px; right:-80px; top:-110px; border-radius:50%; border:34px solid rgba(255,255,255,.08); pointer-events:none; }
    .lc-header .lc-icon { width:44px; height:44px; flex:0 0 44px; border-radius:14px; background:rgba(255,255,255,.18); box-shadow:inset 0 0 0 1px rgba(255,255,255,.15); }
    .lc-header .lc-info .lc-title { font-size:1rem; letter-spacing:-.015em; }.lc-header .lc-info .lc-sub { margin-top:.12rem; font-size:.72rem; opacity:.86; }
    .lc-header .lc-close { z-index:1; width:36px; height:36px; border:1px solid rgba(255,255,255,.3); border-radius:10px; }
    .lc-body { min-height:0; padding:1.25rem 1.4rem 1.4rem; background:linear-gradient(180deg,#fbfaff,#f8f7fc); }
    #lcAccountView { gap:.9rem; }
    .lc-welcome { padding:.05rem .1rem; }.lc-welcome-icon { box-shadow:inset 0 0 0 1px rgba(16,185,129,.12); }.lc-welcome strong { font-size:.95rem; letter-spacing:-.01em; }.lc-welcome p { font-size:.72rem; }
    #lcAccountView .lc-availability { display:flex; align-items:center; min-height:40px; padding:.65rem .8rem; border-radius:11px; }
    .lc-account-tabs { padding:5px; border-radius:14px; }.lc-account-tabs button { min-height:39px; border-radius:10px; }.lc-account-tabs button.active { box-shadow:0 4px 14px rgba(39,32,84,.09); }
    .lc-form-grid { gap:.8rem .7rem; }.lc-body .lc-form-grid .lc-field label { font-size:.72rem; letter-spacing:.01em; }.lc-body .lc-form-grid .lc-field input { min-height:46px; background:#fff; transition:border-color .18s,box-shadow .18s,background .18s; }
    .lc-body .lc-form-grid .lc-field input:hover:not(:focus) { border-color:#cbc6d9; }.lc-password-wrap button { right:.55rem; }
    .lc-field-message { min-height:.9rem; margin:.3rem .12rem -.1rem; }.lc-field-message.show { animation:lcMessageIn .18s ease-out; }
    @keyframes lcMessageIn { from { opacity:0; transform:translateY(-3px); } to { opacity:1; transform:none; } }
    .lc-mode-help { padding:.05rem .5rem; }.lc-start-btn { min-height:50px!important; letter-spacing:.005em; box-shadow:0 11px 24px rgba(15,159,110,.22)!important; }.lc-start-btn:hover { box-shadow:0 14px 28px rgba(15,159,110,.3)!important; }
    .lc-chat-toolbar { flex:0 0 auto; padding:.15rem .1rem .3rem; border-bottom:1px solid #e8e4ef; }.lc-chat-toolbar strong { font-size:.86rem; }.lc-logout-btn { min-height:34px; transition:all .16s; }
    #lcChatView .lc-chat { min-height:0; padding:1rem; gap:.75rem; border-color:#e3dfeb; background:linear-gradient(180deg,#fff,#fdfcff); box-shadow:inset 0 1px 4px rgba(34,28,71,.025); scrollbar-width:thin; scrollbar-color:#cbc6da transparent; }
    .lc-msg { max-width:78%; padding:.72rem .9rem; border:0; border-radius:16px; box-shadow:0 3px 12px rgba(28,23,61,.06); }.lc-msg.client { align-self:flex-end; color:#064e3b; background:#dff8ee; border-bottom-right-radius:5px; }.lc-msg.agency { align-self:flex-start; color:#312e81; background:#eeedff; border-bottom-left-radius:5px; }.lc-msg.system { box-shadow:none; border:1px dashed #cbc6d9; }
    .lc-body .lc-input-row { flex:0 0 auto; gap:.65rem; }.lc-body .lc-input-row textarea { min-height:48px; padding:.78rem .9rem; border-color:#dcd7e7; background:#fff; }.lc-body .lc-input-row .lc-send { width:48px; height:48px; border:0; box-shadow:0 8px 18px rgba(79,70,229,.22); }
    #lcChatView .lc-chat-actions { min-height:36px; align-items:center; }.lc-rate-btn { gap:.35rem; border:1px solid #dcd8ed!important; color:#4f46e5!important; background:#fff!important; box-shadow:0 4px 12px rgba(40,32,85,.05); }.lc-rate-btn:hover { border-color:#bcb6df!important; background:#eeedff!important; box-shadow:0 7px 16px rgba(40,32,85,.09)!important; }
    .sp-overlay { background:rgba(22,24,38,.6); backdrop-filter:blur(9px); }.sp-modal { max-width:560px; border:1px solid rgba(255,255,255,.75); border-radius:25px; box-shadow:0 32px 90px rgba(24,20,55,.32); }.sp-header { padding:1.6rem 1.5rem; background:linear-gradient(135deg,#f59e0b,#d97706); }.sp-header h2 { font-size:1.3rem; letter-spacing:-.02em; }.sp-header p { max-width:410px; margin:.35rem auto 0; line-height:1.45; }
    .sp-body { gap:1rem; padding:1.35rem 1.5rem 1.5rem; background:#fdfcff; }.sp-body .sp-field { padding:1rem; border:1px solid #e6e2ed; border-radius:14px; background:#fff; }.sp-body .sp-field label { margin-bottom:.65rem; color:#403b55; }.sp-body .sp-stars { justify-content:center; gap:.65rem; }.sp-body .sp-star { line-height:1; }.sp-body .sp-nps-scale { justify-content:center; }.sp-body .sp-nps-btn { width:38px; height:38px; border-radius:9px; }.sp-body textarea { min-height:90px; border-radius:11px; }.sp-body .sp-submit { min-height:48px; box-shadow:0 9px 20px rgba(245,158,11,.2); }.sp-body .sp-skip { padding:.15rem; }
    @media (max-width:700px) { .lc-modal,.lc-modal.chat-active { width:100%; height:auto; max-height:calc(100dvh - 1.5rem); border-radius:22px; }.lc-modal.chat-active { height:calc(100dvh - 1.5rem); }.lc-header { min-height:70px; padding:.9rem 1rem; }.lc-header .lc-icon { width:40px; height:40px; flex-basis:40px; }.lc-header .lc-info .lc-title { font-size:.88rem; }.lc-body { padding:1rem; }.lc-form-grid { grid-template-columns:1fr; }.lc-form-grid .lc-full-field { grid-column:auto; }.lc-chat-toolbar span { display:none; }.sp-modal { border-radius:21px; }.sp-body { padding:1rem; }.sp-body .sp-field { padding:.85rem; }.sp-body .sp-nps-btn { width:34px; height:34px; } }
    .lc-new-inquiry-btn { align-items:center; justify-content:center; padding:.58rem .85rem; border:1px solid #a7f3d0; border-radius:11px; color:#047857; background:#ecfdf5; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; }.lc-new-inquiry-btn:hover { background:#d1fae5; }
    @media (max-width:700px) { .lc-modal { width:calc(100% - 24px); height:calc(100dvh - 24px); max-height:none; }.lc-header { padding:1rem; }.lc-body { padding:1rem; } #lcChatView .lc-chat { min-height:220px; } }

    /* Landing V3 — stronger hierarchy, depth, and recruitment storytelling. */
    html { scroll-behavior:smooth; }
    body.landing { margin:0; background:#f8f9fc; }
    .landing-nav { max-width:none; padding:1rem max(5vw, calc((100vw - 1320px)/2)); }
    .landing-nav .l-brand { max-width:340px; line-height:1.15; }
    .landing-nav .l-brand .logo-box { width:42px; height:42px; flex:0 0 42px; background:linear-gradient(145deg,#312e81,#6366f1); color:#fff; box-shadow:0 8px 20px rgba(49,46,129,.22); }
    .landing-nav .l-links { gap:2rem; }
    .landing-nav .l-links a { position:relative; padding:.65rem 0; }
    .landing-nav .l-links a::after { content:""; position:absolute; left:0; right:100%; bottom:.25rem; height:2px; border-radius:2px; background:#4f46e5; transition:right .2s ease; }
    .landing-nav .l-links a:hover::after { right:0; }
    .landing-nav .l-cta .l-btn-ghost { padding:.65rem .25rem; background:transparent; }
    .landing-nav .l-cta .l-btn-primary { padding:.72rem 1.2rem; }
    .landing-mobile-nav { position:sticky; top:74px; z-index:99; box-shadow:0 14px 28px rgba(25,20,55,.1); }
    .landing-mobile-nav .mobile-cta { margin-top:.35rem; color:#fff; background:#4f46e5; text-align:center; font-weight:800; border:0; padding:.85rem; border-radius:11px; cursor:pointer; }

    .landing-hero { isolation:isolate; max-width:none; min-height:680px; padding:5.5rem max(5vw, calc((100vw - 1320px)/2)) 5rem; background:radial-gradient(circle at 82% 18%,rgba(99,102,241,.15),transparent 28%),radial-gradient(circle at 8% 10%,rgba(16,185,129,.09),transparent 25%),linear-gradient(180deg,#fbfbff 0%,#f7f7fc 100%); }
    .landing-hero::after { content:""; position:absolute; inset:0; z-index:-1; opacity:.38; background-image:linear-gradient(rgba(79,70,229,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(79,70,229,.07) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,black,transparent 75%); }
    .landing-hero .hero-eyebrow { padding:8px 14px; letter-spacing:.045em; box-shadow:0 5px 16px rgba(79,70,229,.07); }
    .landing-hero h1 { line-height:1.04; letter-spacing:-.055em; margin:0 0 1.35rem; }
    .landing-hero h1 .grad { background-image:linear-gradient(120deg,#4f46e5 15%,#7c3aed 75%); }
    .landing-hero .hero-sub { margin:0 0 2rem; line-height:1.75; }
    .hero-cta .btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; }
    .l-btn-hero-primary { border:1px solid #4f46e5!important; }
    .l-btn-hero-outline { background:rgba(255,255,255,.75); box-shadow:0 5px 18px rgba(31,25,72,.05); }
    .hero-trust { padding-top:.2rem; gap:.65rem; }
    .hero-trust .trust-item { padding:.55rem .72rem .55rem .55rem; border-color:#e1dfec; box-shadow:0 3px 12px rgba(28,23,65,.04); }
    .hero-trust .trust-item b { display:grid; place-items:center; width:24px; height:24px; color:#4f46e5; background:#eeedff; border-radius:50%; font-size:.62rem; }

    .hero-visual::before { content:""; position:absolute; width:88%; aspect-ratio:1; border-radius:50%; background:linear-gradient(145deg,rgba(79,70,229,.18),rgba(16,185,129,.07)); filter:blur(1px); z-index:-1; }
    .hero-visual .dash-mockup { transform:rotate(1.2deg); border:1px solid rgba(255,255,255,.9); box-shadow:0 40px 80px rgba(35,28,75,.18),0 0 0 8px rgba(255,255,255,.46); }
    .hero-visual .mock-card { transition:transform .2s ease,box-shadow .2s ease; }
    .hero-visual .mock-card:hover { transform:translateY(-3px); box-shadow:0 9px 20px rgba(37,31,81,.08); }
    .hero-visual .mock-card .m-val { font-size:1.25rem; }
    .hero-visual .mock-chart { height:155px; padding:1rem; background:#fafaff; }
    .hero-visual .mock-chart::after { display:none; }
    .chart-head,.chart-labels { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:3; }
    .chart-head { font-size:.74rem; font-weight:800; color:#27234f; }.chart-head strong { color:#059669; background:#ecfdf5; padding:.25rem .45rem; border-radius:99px; font-size:.66rem; }
    .chart-grid { position:absolute; inset:48px 16px 30px; display:flex; flex-direction:column; justify-content:space-between; }.chart-grid i { border-top:1px dashed #dedbea; }
    .chart-line { position:absolute; inset:45px 18px 30px; overflow:hidden; }.chart-line::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(79,70,229,.26),rgba(79,70,229,0)); clip-path:polygon(0 88%,0 70%,28% 56%,48% 64%,68% 32%,82% 40%,100% 6%,100% 100%); }.chart-line span { position:absolute; right:0; top:3%; width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.2); }
    .chart-labels { position:absolute; left:16px; right:16px; bottom:10px; color:#8a8798; font-size:.58rem; }
    .hero-float-card { min-width:205px; border-color:rgba(224,222,235,.9); padding:.75rem .9rem; line-height:1.25; }
    .hero-float-card > span:last-child { display:flex; flex-direction:column; }.hero-float-card small { color:#8a8798; font-weight:500; font-size:.66rem; margin-top:2px; }
    .float-icon { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border-radius:9px; color:#4f46e5; background:#eeedff; }.float-icon.green { color:#047857; background:#d1fae5; }

    .landing-section { max-width:1320px; margin:0 auto; padding:5.5rem 5vw; }
    .landing-section .sec-label { display:inline-flex; align-items:center; gap:.5rem; }.landing-section .sec-label::before { content:""; width:18px; height:2px; background:#4f46e5; }
    .landing-section h2 { max-width:760px; font-size:clamp(1.9rem,3vw,2.75rem); letter-spacing:-.04em; line-height:1.15; }
    .features-grid { gap:1rem; }
    .feature-card { padding:2rem; min-height:245px; display:flex; flex-direction:column; }
    .feature-card::after { content:""; position:absolute; width:90px; height:90px; right:-45px; top:-45px; border-radius:50%; background:var(--card-glow,#eeedff); opacity:.75; transition:transform .25s ease; }
    .feature-card:hover::after { transform:scale(1.25); }
    .feature-card:nth-child(2n) { --card-glow:#dcfce7; }.feature-card:nth-child(3n) { --card-glow:#dbeafe; }
    .feature-card .f-link { margin-top:auto; }
    .stats-band { overflow:hidden; position:relative; padding:3.4rem 2.5rem; }
    .stats-band::after { content:""; position:absolute; width:340px; height:340px; right:-120px; top:-210px; border-radius:50%; border:70px solid rgba(255,255,255,.06); }
    .stats-band .s-item { position:relative; z-index:1; padding:0 1rem; }.stats-band .s-item + .s-item { border-left:1px solid rgba(255,255,255,.14); }
    .stats-band .s-val { color:#a7f3d0; }.stats-band .s-lbl { color:#dddafe; line-height:1.4; }
    .step-card { padding:2rem; border-top:4px solid #4f46e5; box-shadow:0 10px 28px rgba(35,27,78,.05); }
    .step-card .step-num { background:#eeedff; color:#4f46e5; box-shadow:none; }
    .cta-band { overflow:hidden; position:relative; padding:5rem 2rem; background:linear-gradient(135deg,#201b54,#4f46e5); border:0; box-shadow:0 24px 50px rgba(49,42,123,.23); }
    .cta-band::before,.cta-band::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; border:55px solid rgba(255,255,255,.06); }.cta-band::before { left:-100px; bottom:-160px; }.cta-band::after { right:-90px; top:-170px; }
    .cta-band h2,.cta-band p,.cta-band .btn { position:relative; z-index:1; }.cta-band h2 { color:#fff; }.cta-band p { color:#dddafe; }.cta-band .l-btn-hero-primary { background:#fff; color:#3730a3; border-color:#fff!important; box-shadow:0 12px 25px rgba(13,10,40,.2); }
    .landing-footer { padding-left:max(5vw, calc((100vw - 1320px)/2)); padding-right:max(5vw, calc((100vw - 1320px)/2)); background:#121029; }

    @media (max-width:900px) { .landing-hero { min-height:auto; }.hero-visual { max-width:600px; width:100%; margin:0 auto; }.landing-section { padding:4rem 5vw; } }
    @media (max-width:768px) { .landing-nav .l-brand span { max-width:220px; font-size:.88rem; }.landing-mobile-nav { top:69px; }.stats-band .s-item + .s-item { border-left:0; }.hero-float-card { min-width:0; }.landing-section { padding:3.5rem 4vw; } }
    @media (max-width:480px) { .landing-nav .l-brand span { max-width:190px; font-size:.78rem; }.landing-hero { padding-top:3.25rem; }.landing-hero h1 { font-size:2.15rem; }.landing-hero .hero-sub { font-size:.93rem; }.hero-trust { display:grid; }.hero-visual .dash-mockup { transform:none; padding:1rem; }.hero-float-card { display:none; }.feature-card { min-height:225px; }.cta-band { padding:3.5rem 1.25rem; }.landing-footer { padding-top:2.5rem; } }



/* Official Great Solomon logo */
.landing-nav .l-brand .site-logo { display:block; width:158px; height:54px; object-fit:contain; object-position:left center; }
.landing-footer .f-brand .site-logo { display:block; width:190px; height:92px; object-fit:contain; object-position:left center; }
@media (max-width:480px) { .landing-nav .l-brand .site-logo { width:132px; height:46px; } }



/* BLUE LANDING REDESIGN V1 */
:root{--gs-blue:#155eef;--gs-blue-dark:#0b3ca8;--gs-navy:#071b3d;--gs-sky:#eaf3ff;--gs-line:#d7e6fb;--gs-muted:#5d6f89}
body.landing{color:#10213b;background:#f7faff}
.landing-nav{min-height:76px;padding-top:.7rem;padding-bottom:.7rem;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(173,201,238,.65);box-shadow:0 8px 30px rgba(15,63,123,.055)}
.landing-nav .l-brand .site-logo{width:170px;height:58px}
.landing-nav .l-links a{color:#3a506f;font-weight:700}.landing-nav .l-links a:hover{color:var(--gs-blue)}.landing-nav .l-links a::after{background:var(--gs-blue)}
.landing-nav .l-cta .l-btn-ghost{color:#23466f}.landing-nav .l-cta .l-btn-ghost:hover{color:var(--gs-blue)}
.l-btn-primary,.l-btn-hero-primary{background:linear-gradient(135deg,#0f55d9,#2f7df4);border-color:#1764e8!important;box-shadow:0 12px 28px rgba(21,94,239,.25)}
.l-btn-primary:hover,.l-btn-hero-primary:hover{box-shadow:0 16px 36px rgba(21,94,239,.34)}
.landing-mobile-nav{background:#fff;border-color:var(--gs-line)}.landing-mobile-nav .mobile-cta{background:linear-gradient(135deg,#0f55d9,#2f7df4)}
.landing-hero{min-height:690px;gap:5rem;background:radial-gradient(circle at 88% 16%,rgba(56,139,253,.22),transparent 31%),radial-gradient(circle at 10% 12%,rgba(94,177,255,.13),transparent 26%),linear-gradient(150deg,#f9fcff 0%,#edf5ff 55%,#f8fbff 100%)}
.landing-hero::before{right:-180px;top:-210px;width:580px;height:580px;background:radial-gradient(circle,rgba(27,105,232,.14),transparent 66%)}
.landing-hero::after{opacity:.3;background-image:linear-gradient(rgba(33,103,214,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(33,103,214,.09) 1px,transparent 1px)}
.landing-hero .hero-eyebrow{color:#0f55d9;background:#e4f0ff;border:1px solid #c8ddfa;box-shadow:0 8px 22px rgba(25,91,190,.08)}
.landing-hero .hero-eyebrow .pulse{background:#1d72e8;box-shadow:0 0 0 5px rgba(29,114,232,.12)}
.landing-hero h1{max-width:690px;color:var(--gs-navy);font-size:clamp(2.75rem,5vw,4.6rem)}
.landing-hero h1 .grad{background-image:linear-gradient(120deg,#0c4ec2 10%,#2388f5 85%)}
.landing-hero .hero-sub{max-width:650px;color:#526b8c;font-size:1.08rem}
.l-btn-hero-outline{color:#174478;border-color:#bed5f2;background:rgba(255,255,255,.82)}.l-btn-hero-outline:hover{color:var(--gs-blue);border-color:var(--gs-blue);background:#fff}
.hero-trust .trust-item{color:#34506f;background:rgba(255,255,255,.82);border:1px solid #d4e3f6}.hero-trust .trust-item b{color:#0f55d9;background:#e1efff}
.hero-visual::before{background:linear-gradient(145deg,rgba(35,122,245,.26),rgba(122,190,255,.08))}
.hero-visual .dash-mockup{transform:rotate(.7deg);border-color:#cfe1f7;box-shadow:0 38px 90px rgba(14,61,126,.2),0 0 0 9px rgba(255,255,255,.56)}
.hero-visual .mock-card{border-color:#dae8f8;background:linear-gradient(145deg,#fff,#f7fbff)}
.hero-visual .mock-card .m-val{color:#155eef!important}.hero-visual .mock-chart{background:linear-gradient(180deg,#eef6ff,#fff);border-color:#d4e5f8}.chart-head{color:#17385f}.chart-head strong{color:#0b5acb;background:#e4f1ff}.chart-line::before{background:linear-gradient(180deg,rgba(21,94,239,.3),rgba(21,94,239,0))}.chart-line span{background:#1764e8;box-shadow:0 0 0 3px rgba(23,100,232,.2)}
.hero-float-card{border-color:#cfe0f4;box-shadow:0 20px 46px rgba(12,56,115,.16)}.float-icon,.float-icon.green{color:#0f55d9;background:#e4f0ff}
.landing-section .sec-label{color:#155eef}.landing-section .sec-label::before{background:#155eef}.landing-section h2{color:#0a2347}.landing-section .sec-sub{color:#5b718e}
#services{max-width:none;padding-left:max(5vw,calc((100vw - 1320px)/2));padding-right:max(5vw,calc((100vw - 1320px)/2));background:#fff}
.features-grid{gap:1.15rem}.feature-card{border-color:#dce9f8;border-radius:20px;background:linear-gradient(155deg,#fff 45%,#f7fbff);box-shadow:0 10px 32px rgba(14,64,125,.05)}.feature-card:hover{border-color:#a9cef9;box-shadow:0 24px 50px rgba(14,64,125,.13)}.feature-card::after{background:#e5f1ff}.feature-card:nth-child(2n),.feature-card:nth-child(3n){--card-glow:#e5f1ff}.feature-card .f-icon{background:#e5f1ff!important;color:#145fd4}.feature-card h3{color:#102e55}.feature-card p{color:#5d718b}.feature-card .f-link{color:#155eef}
.stats-band{background:linear-gradient(135deg,#071b3d 0%,#0c439f 100%);box-shadow:0 25px 55px rgba(5,34,80,.22)}.stats-band .s-val{color:#73b7ff}.stats-band .s-lbl{color:#d9eaff}
.step-card{border-color:#d7e6f7;border-top-color:#1d6ee5;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 12px 32px rgba(16,67,130,.07)}.step-card .step-num{color:#0e58cb;background:#e2efff}.step-card h3{color:#12345d}.step-card p{color:#5b718d}
.cta-band{background:radial-gradient(circle at 85% 10%,rgba(91,173,255,.35),transparent 28%),linear-gradient(135deg,#061b3f,#0c55c9);box-shadow:0 28px 60px rgba(5,45,106,.28)}.cta-band p{color:#d9eaff}.cta-band .l-btn-hero-primary{color:#0d51ba!important;background:#fff!important;border-color:#fff!important}
.landing-footer{background:#06142d;color:#9cb2d0}.landing-footer .f-col a{color:#9cb2d0}.landing-footer .f-col a:hover{color:#78b8ff}.landing-footer .f-bottom{border-color:rgba(125,177,238,.16)}
.lc-chat-btn{bottom:26px;right:24px;width:auto;height:56px;padding:0 18px;border-radius:18px;gap:9px;background:linear-gradient(135deg,#0f55d9,#2580ef);border:2px solid #fff;box-shadow:0 16px 35px rgba(14,83,191,.32);font:inherit;font-weight:800;cursor:pointer}.lc-chat-btn:hover{box-shadow:0 20px 42px rgba(14,83,191,.42)}.lc-chat-btn .lc-button-label{font-size:.78rem;white-space:nowrap}
.lc-overlay{background:rgba(4,22,51,.64);backdrop-filter:blur(9px)}.lc-modal{max-width:540px;border:1px solid rgba(255,255,255,.7);border-radius:25px;box-shadow:0 38px 100px rgba(3,27,65,.34)}
.lc-header{min-height:82px;padding:1.15rem 1.35rem;background:radial-gradient(circle at 85% 0,rgba(95,176,255,.45),transparent 34%),linear-gradient(135deg,#082d70,#1468df)}.lc-header::after{background:rgba(255,255,255,.08)}.lc-header .lc-icon{background:rgba(255,255,255,.16)}
.lc-body{background:linear-gradient(180deg,#f8fbff,#eef5ff);padding:1.35rem 1.45rem 1.5rem}.lc-welcome-icon{color:#155eef!important;background:#e2efff!important}.lc-availability{color:#0c539f!important;background:#e6f2ff!important;border-color:#c8dff9!important}.lc-account-tabs{background:#e5eef9!important}.lc-account-tabs button{color:#55708f}.lc-account-tabs button.active{color:#0e58ca!important}.lc-body .lc-field input,.lc-body .lc-field textarea{border-color:#cddff3!important}.lc-body .lc-field input:focus,.lc-body .lc-field textarea:focus{border-color:#1d6ee5!important;box-shadow:0 0 0 4px rgba(29,110,229,.12)!important}.lc-start-btn,.lc-body .lc-input-row .lc-send{background:linear-gradient(135deg,#0f55d9,#2580ef)!important;box-shadow:0 10px 24px rgba(20,96,209,.24)!important}.lc-start-btn:hover{box-shadow:0 14px 30px rgba(20,96,209,.34)!important}
#lcChatView .lc-chat{border-color:#cddff2;background:linear-gradient(180deg,#fff,#f5f9ff)}.lc-msg.client{color:#fff;background:#1764e8;border-bottom-right-radius:5px}.lc-msg.agency{color:#173f70;background:#e4f0ff;border-bottom-left-radius:5px}.lc-msg.system{color:#526b89;background:#f1f6fc}.lc-chat-toolbar{border-color:#d3e2f3}.lc-rate-btn,.lc-new-inquiry-btn{color:#0f58c7!important;border-color:#bcd8f6!important;background:#fff!important}.lc-rate-btn:hover,.lc-new-inquiry-btn:hover{background:#e7f2ff!important}
@media(max-width:700px){.landing-hero{gap:3rem}.lc-chat-btn{width:56px;padding:0;justify-content:center;border-radius:18px}.lc-chat-btn .lc-button-label{display:none}.lc-modal{width:calc(100% - 18px);height:calc(100dvh - 18px);border-radius:22px}}
@media(max-width:480px){.landing-nav .l-brand .site-logo{width:142px;height:48px}.landing-hero h1{font-size:2.4rem}.landing-hero .hero-cta{align-items:stretch}.landing-hero .hero-cta .btn{width:100%}}

/* LANDING PERFORMANCE PASS V1 — preserves blue design without costly paint effects */
body.landing{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.landing-nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important;box-shadow:0 3px 14px rgba(15,63,123,.055)!important}
.landing-hero::after{display:none!important}.landing-hero::before{opacity:.65}
.landing-hero .hero-eyebrow .pulse,.hero-float-card{animation:none!important}
.hero-visual .dash-mockup{box-shadow:0 20px 46px rgba(14,61,126,.14)!important}
.hero-visual::before{filter:none!important;opacity:.72}
.feature-card,.step-card{box-shadow:0 5px 18px rgba(14,64,125,.045)!important}.feature-card:hover{box-shadow:0 10px 25px rgba(14,64,125,.09)!important;transform:translateY(-2px)!important}
.stats-band{box-shadow:0 12px 30px rgba(5,34,80,.16)!important}.cta-band{box-shadow:0 14px 32px rgba(5,45,106,.2)!important}
.lc-overlay,.sp-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.lc-modal{box-shadow:0 20px 55px rgba(3,27,65,.25)!important}.sp-modal{box-shadow:0 20px 55px rgba(24,20,55,.24)!important}
.landing-section{content-visibility:auto;contain-intrinsic-size:700px}
.landing *{transition-duration:.14s!important}
@media(prefers-reduced-motion:reduce){.landing *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:700px){.landing-hero::before,.hero-visual::before,.feature-card::after,.stats-band::after,.cta-band::before,.cta-band::after{display:none!important}.landing-section{contain-intrinsic-size:900px}}

/* HIGH-END MOTION SYSTEM V1 — transform/opacity only */
.landing-scroll-progress{position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#1a6ee8,#70baff);box-shadow:0 1px 5px rgba(26,110,232,.28);pointer-events:none}
.motion-ready .motion-nav{opacity:0;transform:translateY(-16px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)!important}.motion-ready .motion-nav.is-visible{opacity:1;transform:none}
.motion-ready .motion-hero-item{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .75s cubic-bezier(.22,1,.36,1)!important;transition-delay:calc(90ms + var(--motion-order)*85ms)!important}.motion-ready .motion-hero-item.is-visible{opacity:1;transform:none}
.motion-ready .motion-hero-visual{opacity:0;transform:translateX(28px) scale(.97);transition:opacity .85s ease,transform .9s cubic-bezier(.22,1,.36,1)!important;transition-delay:260ms!important}.motion-ready .motion-hero-visual.is-visible{opacity:1;transform:none}
.motion-ready .motion-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .65s cubic-bezier(.22,1,.36,1)!important;transition-delay:calc(var(--motion-order)*55ms)!important}.motion-ready .motion-reveal.is-visible{opacity:1;transform:none}
.motion-ready .motion-card{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1),border-color .18s ease,box-shadow .18s ease!important;transition-delay:calc(var(--motion-order)*70ms)!important}.motion-ready .motion-card.is-visible{opacity:1;transform:none}
.motion-ready .motion-panel{opacity:0;transform:translateY(22px) scale(.99);transition:opacity .65s ease,transform .75s cubic-bezier(.22,1,.36,1)!important}.motion-ready .motion-panel.is-visible{opacity:1;transform:none}
.feature-card::before,.step-card::before{content:"";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;background:radial-gradient(220px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(42,128,240,.12),transparent 68%);transition:opacity .2s ease}.feature-card:hover::before,.step-card:hover::before{opacity:1}.feature-card>* ,.step-card>*{position:relative;z-index:1}
.hero-visual .mock-card{transition:transform .2s ease,border-color .2s ease!important}.hero-visual .mock-card:nth-child(1){transition-delay:30ms!important}.hero-visual .mock-card:nth-child(2){transition-delay:60ms!important}.hero-visual .mock-card:nth-child(3){transition-delay:90ms!important}.hero-visual .mock-card:nth-child(4){transition-delay:120ms!important}
.l-btn-hero-primary,.l-btn-primary{position:relative;overflow:hidden}.l-btn-hero-primary::after,.l-btn-primary::after{content:"";position:absolute;top:-80%;left:-65%;width:36%;height:260%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transition:left .55s ease!important}.l-btn-hero-primary:hover::after,.l-btn-primary:hover::after{left:135%}
.step-card::after{content:"";position:absolute;top:-4px;left:0;width:0;height:4px;background:linear-gradient(90deg,#1764e8,#72b8ff);transition:width .65s cubic-bezier(.22,1,.36,1)!important;transition-delay:calc(160ms + var(--motion-order)*80ms)!important}.step-card.is-visible::after{width:100%}
@media(max-width:700px){.motion-ready .motion-hero-visual{transform:translateY(20px) scale(.98)}.motion-ready .motion-card{transition-delay:calc(var(--motion-order)*35ms)!important}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-nav,.motion-ready .motion-hero-item,.motion-ready .motion-hero-visual,.motion-ready .motion-reveal,.motion-ready .motion-card,.motion-ready .motion-panel{opacity:1!important;transform:none!important;transition:none!important}.landing-scroll-progress{display:none}.step-card::after{width:100%;transition:none!important}}

/* LIVE HERO DASHBOARD MOTION V1 — continuous GPU-friendly movement */
@media (min-width:701px) and (prefers-reduced-motion:no-preference){
.hero-visual .dash-mockup{animation:gsDashboardFloat 6.5s ease-in-out infinite!important;transform-origin:center center;will-change:transform}
.hero-float-card.fc-1{animation:gsFloatLeft 5.2s ease-in-out infinite!important;will-change:transform}
.hero-float-card.fc-2{animation:gsFloatRight 5.8s ease-in-out infinite!important;will-change:transform}
.hero-visual::before{animation:gsHaloBreathe 7s ease-in-out infinite!important;will-change:transform,opacity}
.hero-visual .mock-card{animation:gsCardSignal 5.6s ease-in-out infinite;will-change:transform}
.hero-visual .mock-card:nth-child(1){animation-delay:0s}.hero-visual .mock-card:nth-child(2){animation-delay:.7s}.hero-visual .mock-card:nth-child(3){animation-delay:1.4s}.hero-visual .mock-card:nth-child(4){animation-delay:2.1s}
.chart-line span{animation:gsChartPoint 3.2s ease-in-out infinite;will-change:transform}
.chart-head strong{animation:gsMetricPulse 3.2s ease-in-out infinite;will-change:transform}
}
@keyframes gsDashboardFloat{0%,100%{transform:translate3d(0,0,0) rotate(.25deg)}50%{transform:translate3d(0,-10px,0) rotate(-.15deg)}}
@keyframes gsFloatLeft{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-5px,-13px,0)}}
@keyframes gsFloatRight{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(6px,-10px,0)}}
@keyframes gsHaloBreathe{0%,100%{transform:scale(.96);opacity:.58}50%{transform:scale(1.04);opacity:.78}}
@keyframes gsCardSignal{0%,18%,100%{transform:translate3d(0,0,0)}9%{transform:translate3d(0,-4px,0)}}
@keyframes gsChartPoint{0%,100%{transform:scale(1)}50%{transform:scale(1.45)}}
@keyframes gsMetricPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media(max-width:700px),(prefers-reduced-motion:reduce){.hero-visual .dash-mockup,.hero-float-card,.hero-visual::before,.hero-visual .mock-card,.chart-line span,.chart-head strong{animation:none!important;will-change:auto!important}}
