/* service_customization.html — extracted internal + inline styles */
    .cx-page { --cx: #6a4cd6; --cx-2: #a066c9; --cx-rgb: 106, 76, 214; }

    .cx-eyebrow { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem 1rem; border-radius: 2rem;
        background: rgba(var(--cx-rgb), .10); color: var(--cx); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
    .cx-eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cx); box-shadow: 0 0 0 4px rgba(var(--cx-rgb), .16); }

    .cx-trust { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; }
    .cx-trust .t { display: flex; align-items: center; gap: .5rem; font-weight: 600; color: #45526b; font-size: .95rem; }
    .cx-trust .t i { color: var(--cx); font-size: 1.15rem; }

    /* ---- Odoo form-view hero mock ---- */
    .cx-form { position: relative; border-radius: 1.25rem; overflow: hidden; background: #fff;
        box-shadow: 0 1.8rem 3.6rem rgba(30, 34, 40, .18); border: 1px solid #eef1f6; }
    .cx-form__bar { background: linear-gradient(100deg, var(--cx), var(--cx-2)); padding: 1rem 1.2rem; color: #fff; }
    .cx-crumb { font-size: .82rem; opacity: .9; margin-bottom: .7rem; }
    .cx-crumb b { opacity: 1; }
    .cx-stages { display: flex; flex-wrap: wrap; gap: .4rem; }
    .cx-stages span { font-size: .68rem; font-weight: 600; padding: .28rem .7rem; border-radius: 2rem; background: rgba(255,255,255,.18); }
    .cx-stages span.active { background: #fff; color: var(--cx); }
    .cx-form__smart { display: flex; gap: .6rem; padding: 1rem 1.2rem; border-bottom: 1px solid #f0f2f6; }
    .cx-smart { flex: 1; border: 1px solid #eceef3; border-radius: .7rem; padding: .55rem .5rem; text-align: center; }
    .cx-smart .n { display: block; font-weight: 800; font-size: 1rem; color: #2a3242; }
    .cx-smart span:last-child { font-size: .68rem; color: #8a94a6; }
    .cx-smart.custom { border: 1.5px solid var(--cx); background: rgba(var(--cx-rgb), .05); }
    .cx-smart.custom .n { color: var(--cx); }
    .cx-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; padding: 1.2rem; }
    .cx-field { background: #f7f8fb; border-radius: .7rem; padding: .7rem .85rem; }
    .cx-field label { display: flex; align-items: center; gap: .4rem; font-size: .72rem; color: #8a94a6; font-weight: 600; margin-bottom: .25rem; }
    .cx-field .val { font-size: .92rem; font-weight: 700; color: #2a3242; }
    .cx-field.custom { background: rgba(var(--cx-rgb), .07); box-shadow: inset 0 0 0 1.5px rgba(var(--cx-rgb), .4); }
    .cx-tag { font-size: .58rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fff;
        background: var(--cx); padding: .1rem .45rem; border-radius: 2rem; }

    .cx-badge { position: absolute; border-radius: .9rem; padding: .7rem .95rem;
        background: rgba(255, 255, 255, .6); backdrop-filter: blur(14px) saturate(160%); -webkit-backdrop-filter: blur(14px) saturate(160%);
        border: 1px solid rgba(255, 255, 255, .6); box-shadow: 0 1rem 2.4rem rgba(30, 34, 40, .16);
        display: flex; align-items: center; gap: .6rem; font-weight: 700; font-size: .9rem; z-index: 3; }
    .cx-badge i { font-size: 1.3rem; }
    .cx-badge .lbl { line-height: 1.1; } .cx-badge .lbl small { display: block; font-weight: 500; color: #8a94a6; font-size: .72rem; }

    /* ---- generic hover-lift cards ---- */
    .svc-card { height: 100%; background: #fff; border: 1px solid #eef1f6; border-radius: 1.1rem; padding: 1.6rem 1.5rem;
        transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease, border-color .3s; }
    .svc-card:hover { transform: translateY(-8px); box-shadow: 0 1.4rem 3rem rgba(30,34,40,.12); border-color: rgba(var(--cx-rgb),.4); }
    .svc-card__ic { width: 58px; height: 58px; border-radius: 1rem; display: flex; align-items: center; justify-content: center; margin-bottom: 1.1rem; }
    .svc-card h3 { font-size: 1.12rem; font-weight: 700; margin-bottom: .5rem; }
    .svc-card p { color: #5c6a82; font-size: .93rem; margin-bottom: 0; }

    /* ---- before / after transformation ---- */
    .ba-wrap { position: relative; }
    .ba-panel { height: 100%; border-radius: 1.25rem; padding: 2rem 1.8rem; }
    .ba-before { background: #fff; border: 1px solid #e9ecf2; }
    .ba-after { background: linear-gradient(155deg, var(--cx), var(--cx-2)); color: #fff; box-shadow: 0 1.4rem 3rem rgba(var(--cx-rgb), .28); }
    .ba-panel h4 { font-size: 1.15rem; font-weight: 700; margin-bottom: 1.2rem; }
    .ba-after h4 { color: #fff; }
    .ba-list { list-style: none; padding: 0; margin: 0; }
    .ba-list li { position: relative; padding-left: 1.9rem; margin-bottom: .85rem; font-size: .95rem; line-height: 1.5; }
    .ba-before li { color: #6a7488; }
    .ba-before li::before { content: "\2715"; position: absolute; left: 0; top: .05rem; width: 1.25rem; height: 1.25rem; border-radius: 50%;
        background: #f0f1f5; color: #9aa4b4; font-size: .68rem; font-weight: 800; display: flex; align-items: center; justify-content: center; }
    .ba-after li { color: rgba(255,255,255,.95); }
    .ba-after li::before { content: "\2713"; position: absolute; left: 0; top: .05rem; width: 1.25rem; height: 1.25rem; border-radius: 50%;
        background: rgba(255,255,255,.22); color: #fff; font-size: .7rem; font-weight: 800; display: flex; align-items: center; justify-content: center; }
    .ba-arrow { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 4;
        width: 56px; height: 56px; border-radius: 50%; background: #fff; box-shadow: 0 .8rem 1.8rem rgba(30,34,40,.18);
        display: flex; align-items: center; justify-content: center; color: var(--cx); font-size: 1.5rem; }
    @media (max-width: 991px) { .ba-arrow { top: auto; bottom: -1.6rem; transform: translate(-50%, 0) rotate(90deg); } }

    /* ---- numbered process ---- */
    .proc { display: grid; gap: 1.25rem; }
    @media (min-width: 768px) { .proc { grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 992px) { .proc { grid-template-columns: repeat(3, 1fr); } }
    .proc-step { background: #fff; border: 1px solid #eef1f6; border-radius: 1.1rem; padding: 1.6rem 1.4rem; height: 100%; transition: transform .35s ease, box-shadow .35s ease; }
    .proc-step:hover { transform: translateY(-5px); box-shadow: 0 1rem 2.4rem rgba(30,34,40,.1); }
    .proc-step .n { font-size: 2.2rem; font-weight: 800; line-height: 1; background: linear-gradient(120deg, var(--cx), var(--cx-2));
        -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .proc-step h4 { font-size: 1.05rem; font-weight: 700; margin: .7rem 0 .5rem; }
    .proc-step p { font-size: .88rem; color: #5c6a82; margin: 0; }

    /* ---- value cards ---- */
    .val-card { height: 100%; background: #fff; border: 1px solid #eef1f6; border-radius: 1.1rem; padding: 1.6rem 1.4rem; text-align: center;
        transition: transform .4s ease, box-shadow .4s ease; }
    .val-card:hover { transform: translateY(-6px); box-shadow: 0 1.2rem 2.6rem rgba(30,34,40,.1); }

    /* ---- testimonials ---- */
    .tk-quote { height: 100%; background: #fff; border: 1px solid #eef1f6; border-radius: 1.1rem; padding: 1.7rem 1.6rem; transition: transform .4s ease, box-shadow .4s ease; }
    .tk-quote:hover { transform: translateY(-6px); box-shadow: 0 1.2rem 2.6rem rgba(30,34,40,.1); }
    .tk-quote .stars { color: #fab758; letter-spacing: 2px; margin-bottom: .8rem; }
    .tk-quote p { color: #3f4a5c; font-size: .95rem; line-height: 1.7; }
    .tk-quote .who { display: flex; align-items: center; gap: .75rem; margin-top: 1.1rem; }
    .tk-quote .av { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
        font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--cx), var(--cx-2)); }

    @media (prefers-reduced-motion: no-preference) {
        .reveal-up { animation: reveal-up .6s cubic-bezier(.22,.61,.36,1) both; }
        .reveal-up:nth-child(3n+2) { animation-delay: .08s; } .reveal-up:nth-child(3n+3) { animation-delay: .16s; }
    }
    @keyframes reveal-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* ---- generated classes for inline styles ---- */
.gen-1 { top: -1.9rem; right: -1.1rem; }
.gen-2 { color:#6a4cd6; }
.gen-3 { bottom: -1.9rem; left: -1.1rem; }
.gen-4 { background:#f7f8fb; }
.gen-5 { height: 130px; }
