/* ============================================================================
   Software4.net — Service pages premium layer
   ----------------------------------------------------------------------------
   Loaded alongside home-premium.css (which supplies the shared .eyebrow and
   scroll-reveal styles) so the service pages share one visual language with
   the redesigned homepage. Same palette tokens: #071A33, #0B3B73, #1677FF,
   #18BFE8.
   ========================================================================== */

/* ── Page hero ───────────────────────────────────────────────────────── */
.svc-hero {
    position: relative; overflow: hidden;
    background: linear-gradient(140deg, #050F1F 0%, #071A33 45%, #0B3B73 100%);
    padding: clamp(112px, 13vw, 168px) 0 clamp(64px, 8vw, 96px);
}

.service-evidence-card {
    border: 1px solid rgba(63,169,245,.28);
    border-radius: 20px;
    padding: 2rem;
    background: linear-gradient(145deg, rgba(13,48,84,.96), rgba(6,24,46,.98));
    color: #f5f9ff;
    box-shadow: 0 24px 70px rgba(0,0,0,.18);
}
.service-evidence-card > i { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: #4bd9f9; background: rgba(75,217,249,.1); border: 1px solid rgba(75,217,249,.25); margin-bottom: 1rem; }
.service-evidence-card h3 { color: #fff; font-size: 1.2rem; font-weight: 850; margin-bottom: .65rem; }
.service-evidence-card p { color: #b5c6d7; line-height: 1.7; }
.service-evidence-card a { color: #4bd9f9; font-weight: 750; text-decoration: none; }
.svc-hero-grid {
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 70% 75% at 50% 42%, #000 18%, transparent 72%);
    -webkit-mask-image: radial-gradient(ellipse 70% 75% at 50% 42%, #000 18%, transparent 72%);
}
.svc-hero::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(760px circle at 50% 0%, rgba(24,191,232,.16), transparent 62%);
}
.svc-hero > .container { position: relative; z-index: 2; }
.svc-hero-inner { max-width: 780px; margin: 0 auto; text-align: center; }

.svc-hero-eyebrow {
    display: inline-block;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.88);
    padding: .42rem .95rem; border-radius: 6px;
    font-size: .72rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    backdrop-filter: blur(8px);
}
.svc-hero-title {
    margin: 1.4rem 0 1.1rem;
    font-size: clamp(2.1rem, 4.6vw, 3.6rem);
    font-weight: 800; line-height: 1.07; letter-spacing: -.032em;
    color: #fff; text-wrap: balance;
}
.svc-hero-sub {
    font-size: clamp(.98rem, 1.15vw, 1.1rem);
    line-height: 1.72; color: rgba(255,255,255,.68);
    max-width: 34em; margin: 0 auto 2rem;
}
.svc-hero-actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }
.svc-hero-btn {
    display: inline-flex; align-items: center; gap: .55rem;
    background: linear-gradient(135deg, #1677FF, #0E5FD8);
    color: #fff; text-decoration: none;
    padding: .82rem 1.6rem; border-radius: 8px;
    font-size: .9rem; font-weight: 650;
    box-shadow: 0 10px 26px -10px rgba(22,119,255,.75);
    transition: transform .26s cubic-bezier(.22,1,.36,1), box-shadow .26s ease, background .26s ease;
}
.svc-hero-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 34px -10px rgba(22,119,255,.9); }
.svc-hero-btn.ghost {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.2);
    box-shadow: none;
}
.svc-hero-btn.ghost:hover { background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.38); }

/* ── Capabilities ────────────────────────────────────────────────────── */
.svc-cap { padding: clamp(68px, 8vw, 104px) 0; background: #FFFFFF; }
.svc-cap-head { max-width: 640px; margin: 0 auto clamp(2.2rem, 4.5vw, 3.4rem); text-align: center; }
.svc-cap-title {
    font-size: clamp(1.65rem, 3.1vw, 2.5rem);
    font-weight: 800; letter-spacing: -.03em; line-height: 1.15;
    color: #071A33; margin: 0 0 .75rem;
}
.svc-cap-sub { font-size: 1rem; line-height: 1.72; color: #64748B; margin: 0; }

.svc-cap-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 1px; background: #E2E8F0;
    border: 1px solid #E2E8F0; border-radius: 16px; overflow: hidden;
}
.svc-cap-item {
    position: relative; background: #FFFFFF;
    padding: clamp(1.5rem, 2.5vw, 2.1rem);
    transition: background .3s ease;
}
.svc-cap-item:hover { background: #FBFCFE; }
.svc-cap-n {
    position: absolute; top: 1.25rem; right: 1.35rem;
    font-size: .78rem; font-weight: 800; letter-spacing: .04em;
    color: transparent; -webkit-text-stroke: 1px #CBD9EC;
}
.svc-cap-icon {
    display: block; font-size: 1.28rem; color: #1677FF; margin-bottom: .95rem;
    transition: transform .38s cubic-bezier(.34,1.56,.64,1), color .3s ease;
}
.svc-cap-item:hover .svc-cap-icon { transform: translateY(-3px) scale(1.1); color: #18BFE8; }
.svc-cap-name {
    font-size: 1rem; font-weight: 700; letter-spacing: -.014em;
    color: #071A33; margin: 0 0 .45rem; line-height: 1.3;
}
.svc-cap-desc { font-size: .855rem; line-height: 1.7; color: #64748B; margin: 0; }

/* ── Pricing ─────────────────────────────────────────────────────────── */
.svc-pricing { padding: clamp(68px, 8vw, 104px) 0; background: #F7F9FC; }

/* Five plans crush badly in a wrapped grid, so the rail scrolls sideways
   below desktop instead. scroll-snap keeps cards aligned when swiping. */
.svc-plan-rail {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem; align-items: stretch;
}

.svc-plan {
    position: relative; display: flex; flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 1.7rem 1.35rem 1.35rem;
    transition: transform .32s cubic-bezier(.22,1,.36,1),
                box-shadow .32s cubic-bezier(.22,1,.36,1),
                border-color .3s ease;
}
.svc-plan:hover {
    transform: translateY(-5px);
    border-color: #CBD9EC;
    box-shadow: 0 26px 50px -24px rgba(7,26,51,.28);
}
.svc-plan.is-popular {
    border-color: #1677FF;
    box-shadow: 0 22px 48px -22px rgba(22,119,255,.45);
}
.svc-plan.is-popular::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit;
    padding: 1.5px; pointer-events: none;
    background: linear-gradient(140deg, #1677FF, #18BFE8);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
}
.svc-plan-badge {
    position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
    background: linear-gradient(135deg, #1677FF, #0E5FD8);
    color: #fff; white-space: nowrap;
    padding: .3rem .8rem; border-radius: 99px;
    font-size: .63rem; font-weight: 700;
    letter-spacing: .09em; text-transform: uppercase;
    box-shadow: 0 6px 16px -6px rgba(22,119,255,.85);
}

.svc-plan-name {
    font-size: .7rem; font-weight: 800;
    letter-spacing: .13em; text-transform: uppercase;
    color: #1677FF; margin-bottom: .7rem;
}
.svc-plan-price {
    font-size: clamp(1.8rem, 2.6vw, 2.3rem);
    font-weight: 800; letter-spacing: -.04em; line-height: 1;
    color: #071A33; font-variant-numeric: tabular-nums;
}
.svc-plan-price .cur { font-size: .95rem; font-weight: 700; vertical-align: super; margin-right: .1rem; color: #64748B; }
.svc-plan-price.contact { font-size: 1.12rem; letter-spacing: -.015em; line-height: 1.35; }
.svc-plan-period { font-size: .74rem; color: #94A3B8; margin-top: .35rem; }

.svc-plan-features {
    list-style: none; margin: 1.3rem 0 1.5rem; padding: 1.25rem 0 0;
    border-top: 1px solid #EEF2F7;
    display: grid; gap: .6rem; flex: 1;
}
.svc-plan-features li {
    position: relative; padding-left: 1.35rem;
    font-size: .78rem; line-height: 1.5; color: #475569;
}
.svc-plan-features li::before {
    content: '';
    position: absolute; left: 0; top: .44em;
    width: 11px; height: 6px;
    border-left: 1.8px solid #18BFE8;
    border-bottom: 1.8px solid #18BFE8;
    transform: rotate(-45deg);      /* drawn tick — no glyph, scales cleanly */
}
.svc-plan.is-popular .svc-plan-features li::before { border-color: #1677FF; }

.svc-plan-action { margin-top: auto; }
.svc-plan-btn {
    display: block; width: 100%; text-align: center; text-decoration: none;
    padding: .78rem 1rem; border-radius: 8px;
    font-size: .85rem; font-weight: 650; cursor: pointer;
    transition: transform .25s cubic-bezier(.22,1,.36,1), background .25s ease,
                border-color .25s ease, box-shadow .25s ease;
}
.svc-plan-btn.solid {
    background: linear-gradient(135deg, #1677FF, #0E5FD8);
    color: #fff; border: 1px solid transparent;
    box-shadow: 0 10px 22px -10px rgba(22,119,255,.8);
}
.svc-plan-btn.solid:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 30px -10px rgba(22,119,255,.92); }
.svc-plan-btn.outline {
    background: #fff; border: 1px solid #DCE5F0; color: #334155;
}
.svc-plan-btn.outline:hover { color: #071A33; border-color: #1677FF; background: #F5F9FF; transform: translateY(-2px); }

.svc-pricing-foot { text-align: center; margin-top: clamp(2.2rem, 4vw, 3.2rem); }
.svc-pricing-foot p { font-size: .88rem; color: #64748B; margin: 0 0 1.1rem; }

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1199.98px) {
    .svc-plan-rail {
        grid-auto-flow: column;
        grid-auto-columns: minmax(258px, 1fr);
        grid-template-columns: none;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 14px 2px 1.25rem;      /* top padding leaves room for the badge */
        scrollbar-width: thin;
    }
    .svc-plan { scroll-snap-align: center; }
}
@media (max-width: 991.98px) {
    .svc-cap-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
    .svc-cap-grid { grid-template-columns: 1fr; }
    .svc-hero-actions .svc-hero-btn { width: 100%; justify-content: center; }
    .svc-plan-rail { grid-auto-columns: minmax(240px, 84%); }
}

/* ── Accessibility ───────────────────────────────────────────────────── */
.svc-hero-btn:focus-visible { outline: 2px solid #18BFE8; outline-offset: 3px; }
.svc-plan-btn:focus-visible { outline: 2px solid #1677FF; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
    .svc-plan:hover, .svc-plan-btn:hover, .svc-hero-btn:hover { transform: none; }
    .svc-cap-item:hover .svc-cap-icon { transform: none; }
    .svc-plan-rail { scroll-snap-type: none; }
}

/* Match inner service pages to the homepage's dark glass system. */
body.public-inner-page .svc-cap,
body.public-inner-page .svc-pricing,
body.public-inner-page .erp-modules,
body.public-inner-page .erp-why,
body.public-inner-page .spd-body {
    background: transparent !important;
}
body.public-inner-page .svc-cap-title,
body.public-inner-page .svc-plan-price,
body.public-inner-page .svc-cap-name { color: #f5f9ff; }
body.public-inner-page .svc-cap-sub,
body.public-inner-page .svc-cap-desc,
body.public-inner-page .svc-pricing-foot p,
body.public-inner-page .svc-plan-period { color: #a9bad0; }
body.public-inner-page .svc-cap-grid {
    gap: 1px;
    background: rgba(117,181,231,.16);
    border-color: rgba(117,181,231,.18);
}
body.public-inner-page .svc-cap-item,
body.public-inner-page .svc-plan,
body.public-inner-page .erp-badge-panel,
body.public-inner-page .erp-why-split,
body.public-inner-page .spd-lead-card,
body.public-inner-page .spd-step,
body.public-inner-page .spd-feat-item {
    background: rgba(13,34,61,.82) !important;
    border-color: rgba(117,181,231,.18) !important;
    color: #edf6ff;
    box-shadow: 0 24px 58px -36px rgba(0,0,0,.95);
}
body.public-inner-page .svc-cap-item:hover,
body.public-inner-page .svc-plan:hover,
body.public-inner-page .spd-step:hover {
    background: rgba(17,45,79,.94) !important;
    border-color: rgba(75,216,255,.34) !important;
}
body.public-inner-page .svc-plan-features {
    border-color: rgba(117,181,231,.15);
}
body.public-inner-page .svc-plan-features li { color: #bdcbe0; }
body.public-inner-page .svc-plan-btn.outline {
    color: #eaf4ff;
    background: rgba(255,255,255,.035);
    border-color: rgba(151,197,235,.28);
}
body.public-inner-page .svc-plan-btn.outline:hover {
    color: #fff;
    background: rgba(75,216,255,.1);
    border-color: #4bd8ff;
}

/* ============================================================================
   ERP PAGE — "Why Odoo" split + enterprise plan variant
   ========================================================================== */
.erp-why { padding: clamp(68px, 8vw, 104px) 0; background: #FFFFFF; }
.erp-why-split {
    display: grid; grid-template-columns: 1.15fr .85fr;
    gap: clamp(2rem, 5vw, 4rem); align-items: center;
}
.erp-why-lead { font-size: .97rem; line-height: 1.82; color: #475569; margin: 0 0 1.1rem; }
.erp-why-body { font-size: .92rem; line-height: 1.8; color: #64748B; margin: 0 0 1.8rem; }

/* Module list — two columns of drawn ticks, no boxes. */
.erp-modules {
    list-style: none; margin: 0; padding: 1.6rem 0 0;
    border-top: 1px solid #EEF2F7;
    display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem 1.5rem;
}
.erp-modules li {
    position: relative; padding-left: 1.5rem;
    font-size: .86rem; font-weight: 600; color: #334155; line-height: 1.4;
}
.erp-modules li::before {
    content: '';
    position: absolute; left: 0; top: .34em;
    width: 12px; height: 7px;
    border-left: 2px solid #18BFE8; border-bottom: 2px solid #18BFE8;
    transform: rotate(-45deg);
}

/* Certified-partner panel */
.erp-badge-panel {
    position: relative; overflow: hidden;
    background: linear-gradient(145deg, #071A33 0%, #0B3B73 100%);
    border-radius: 18px;
    padding: clamp(2rem, 3.5vw, 2.8rem);
    text-align: center; color: #fff;
    box-shadow: 0 30px 62px -28px rgba(7,26,51,.55);
}
.erp-badge-glow {
    position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(420px circle at 50% 0%, rgba(24,191,232,.22), transparent 62%);
}
.erp-badge-inner { position: relative; z-index: 1; }
.erp-badge-mark {
    display: inline-flex; align-items: center; justify-content: center;
    width: 62px; height: 62px; border-radius: 16px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(8px);
    color: #18BFE8; font-size: 1.5rem; margin-bottom: 1.1rem;
}
.erp-badge-title { font-size: 1.22rem; font-weight: 750; letter-spacing: -.02em; margin: 0 0 .35rem; color: #fff; }
.erp-badge-sub { font-size: .85rem; color: rgba(255,255,255,.62); margin: 0 0 1.9rem; }
.erp-badge-stats {
    display: grid; grid-template-columns: repeat(3, 1fr);
    padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.14);
}
.erp-badge-stats > div { padding: 0 .4rem; }
.erp-badge-stats > div + div { border-left: 1px solid rgba(255,255,255,.14); }
.erp-stat-num {
    font-size: 1.45rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.1;
    background: linear-gradient(92deg, #fff, #A8E4F7);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.erp-stat-label {
    font-size: .64rem; font-weight: 600; letter-spacing: .08em;
    text-transform: uppercase; color: rgba(255,255,255,.55); margin-top: .3rem;
}

/* ERP has 3 plans rather than 5, so they fit without a scrolling rail. */
.svc-plan-rail.erp-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Enterprise (null-price) plan — dark card. */
.svc-plan.is-enterprise {
    background: linear-gradient(150deg, #071A33 0%, #0B3B73 100%);
    border-color: transparent;
    box-shadow: 0 26px 54px -26px rgba(7,26,51,.6);
}
.svc-plan.is-enterprise .svc-plan-name { color: #18BFE8; }
.svc-plan.is-enterprise .svc-plan-price,
.svc-plan.is-enterprise .svc-plan-price.contact { color: #fff; }
.svc-plan.is-enterprise .svc-plan-period { color: rgba(255,255,255,.55); }
.svc-plan.is-enterprise .svc-plan-features { border-top-color: rgba(255,255,255,.14); }
.svc-plan.is-enterprise .svc-plan-features li { color: rgba(255,255,255,.8); }
.svc-plan.is-enterprise .svc-plan-features li::before { border-color: #18BFE8; }
.svc-plan.is-enterprise:hover { border-color: transparent; box-shadow: 0 34px 64px -26px rgba(7,26,51,.7); }

.svc-plan-btn.gold {
    background: linear-gradient(120deg, #F59E0B 0%, #F0731A 100%);
    color: #fff; border: 1px solid transparent;
    box-shadow: 0 10px 24px -10px rgba(240,115,26,.85);
}
.svc-plan-btn.gold:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 32px -10px rgba(240,115,26,.95); }

@media (max-width: 991.98px) {
    .erp-why-split { grid-template-columns: 1fr; }
    .svc-plan-rail.erp-rail {
        grid-auto-flow: column; grid-auto-columns: minmax(262px, 1fr);
        grid-template-columns: none; overflow-x: auto;
        scroll-snap-type: x mandatory; padding: 14px 2px 1.25rem;
    }
}
@media (max-width: 575.98px) {
    .erp-modules { grid-template-columns: 1fr; }
    .svc-plan-rail.erp-rail { grid-auto-columns: minmax(240px, 84%); }

    /* Three stat columns leave ~82px each at 375px, but a label like
       "IMPLEMENTATIONS" needs ~97px at this size and letter-spacing — so it
       overflowed its column. Stacked rows give each label the full width. */
    .erp-badge-stats { grid-template-columns: 1fr; padding-top: 1.1rem; }
    .erp-badge-stats > div {
        display: flex; align-items: baseline; justify-content: space-between;
        gap: 1rem; padding: .6rem .2rem;
    }
    .erp-badge-stats > div + div {
        border-left: none;
        border-top: 1px solid rgba(255,255,255,.12);
    }
    .erp-stat-num { font-size: 1.25rem; }
    .erp-stat-label { margin-top: 0; text-align: right; letter-spacing: .06em; }
}

/* ============================================================================
   SERVICE / PRODUCT DETAIL (PageDetail.cshtml)
   ----------------------------------------------------------------------------
   CSS-ONLY. This one template renders every /Services/{slug} and
   /Products/{slug} page from database content, and it carries a live lead
   form (#consultForm -> /Contact/Submit) with a honeypot field and the SMS
   consent checkbox. Restructuring shared markup that serves many URLs and
   captures real leads is a poor risk/reward trade, so the existing spd-*
   classes are restyled in place and the form markup is untouched.
   ========================================================================== */

/* ── Hero ────────────────────────────────────────────────────────────── */
.spd-hero {
    position: relative; overflow: hidden;
    padding: clamp(9.75rem, 11vw, 11rem) 0 clamp(4.75rem, 7vw, 6rem) !important;
    background: linear-gradient(140deg, #050F1F 0%, #071A33 46%, #0B3B73 100%) !important;
}
.spd-hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 72% 78% at 38% 42%, #000 16%, transparent 72%);
    -webkit-mask-image: radial-gradient(ellipse 72% 78% at 38% 42%, #000 16%, transparent 72%);
}
.spd-hero::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(700px circle at 20% 10%, rgba(24,191,232,.15), transparent 60%);
}
.spd-hero > * { position: relative; z-index: 1; }
.spd-hero h1 { letter-spacing: -.032em !important; line-height: 1.08 !important; }
#lead-form { scroll-margin-top: 110px; }

@media (max-width: 991.98px) {
    .spd-hero { padding-top: 8.75rem !important; }
}
@media (max-width: 575.98px) {
    .spd-hero { padding: 7.5rem 0 3.75rem !important; }
}

.spd-badge {
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.17) !important;
    border-radius: 6px !important;
    font-size: .71rem !important; font-weight: 700 !important;
    letter-spacing: .13em !important; text-transform: uppercase;
    backdrop-filter: blur(8px);
}

/* Icon chip — glass rather than flat tint. */
.spd-icon {
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 14px !important;
    backdrop-filter: blur(8px);
    color: #18BFE8 !important;
    transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.spd-hero:hover .spd-icon { transform: translateY(-3px) scale(1.05); }

/* ── Stats strip ─────────────────────────────────────────────────────── */
.spd-stats-strip {
    border-top: 1px solid rgba(255,255,255,.13);
    border-bottom: none !important;
}
.spd-stat-item { transition: transform .3s cubic-bezier(.22,1,.36,1); }
.spd-stat-item:hover { transform: translateY(-3px); }
.spd-stat-num {
    letter-spacing: -.035em !important;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(92deg, #FFFFFF 0%, #A8E4F7 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent !important;
}
.spd-stat-lbl {
    font-size: .67rem !important; font-weight: 600 !important;
    letter-spacing: .085em !important; text-transform: uppercase;
    color: rgba(255,255,255,.52) !important;
}

/* ── Lead form card ──────────────────────────────────────────────────── */
.spd-lead-card {
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 18px !important;
    backdrop-filter: blur(16px);
    box-shadow: 0 34px 70px -32px rgba(0,0,0,.7);
}
.spd-lead-card label:not(.form-check-label) {
    font-size: .72rem !important; font-weight: 650 !important;
    letter-spacing: .05em; text-transform: uppercase;
    color: rgba(255,255,255,.6) !important;
}
.spd-lead-card .form-control,
.spd-lead-card .form-select {
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    color: #fff !important;
    border-radius: 9px !important;
    padding: .72rem .9rem !important;
    transition: border-color .24s ease, box-shadow .24s ease, background .24s ease;
}
.spd-lead-card .form-control::placeholder { color: rgba(255,255,255,.36) !important; }
.spd-lead-card .form-control:focus,
.spd-lead-card .form-select:focus {
    background: rgba(255,255,255,.09) !important;
    border-color: rgba(24,191,232,.65) !important;
    box-shadow: 0 0 0 4px rgba(24,191,232,.15) !important;
}
.spd-lead-card .form-select option { background: #0B1D33; color: #fff; }
.spd-lead-card .form-check-input {
    background-color: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3);
}
.spd-lead-card .form-check-input:checked { background-color: #1677FF; border-color: #1677FF; }
.spd-lead-card .form-check-label,
.spd-lead-card label[for^="smsConsent"] { color: rgba(255,255,255,.6); line-height: 1.55; }
.spd-lead-card a { color: #7CD4EE; }

/* ── Feature list ────────────────────────────────────────────────────── */
.spd-feat-item {
    border-radius: 12px !important;
    transition: background .28s ease, transform .28s cubic-bezier(.22,1,.36,1);
}
.spd-feat-item:hover { background: #F5F9FF !important; transform: translateX(3px); }
.spd-feat-check {
    background: rgba(22,119,255,.1) !important;
    color: #1677FF !important;
    border: 1px solid rgba(22,119,255,.22);
    border-radius: 7px !important;
}

/* ── Process steps ───────────────────────────────────────────────────── */
.spd-step { transition: transform .3s cubic-bezier(.22,1,.36,1); }
.spd-step:hover { transform: translateY(-3px); }
.spd-step-num {
    background: linear-gradient(135deg, #1677FF, #0B3B73) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px -8px rgba(22,119,255,.7);
    letter-spacing: -.02em;
}

.spd-body { font-size: .97rem; line-height: 1.85; color: #475569; }
.spd-body h2, .spd-body h3 { color: #071A33; letter-spacing: -.022em; font-weight: 750; }
.spd-body a { color: #0B3B73; border-bottom: 1px solid rgba(22,119,255,.3); text-decoration: none; }
.spd-body a:hover { color: #1677FF; border-bottom-color: #1677FF; }

@media (max-width: 575.98px) {
    /* 16px prevents iOS auto-zoom when a field gains focus. */
    .spd-lead-card .form-control, .spd-lead-card .form-select { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .spd-stat-item:hover, .spd-step:hover, .spd-feat-item:hover { transform: none; }
    .spd-hero:hover .spd-icon { transform: none; }
}

/* Final dark-theme specificity pass for service-specific modules. */
body.public-inner-page .spd-body { color: #a9bad0; }
body.public-inner-page .spd-body h2,
body.public-inner-page .spd-body h3,
body.public-inner-page .erp-why h2,
body.public-inner-page .erp-why h3 { color: #f5f9ff; }
body.public-inner-page .spd-feat-item:hover { background: rgba(17,45,79,.94) !important; }
body.public-inner-page .erp-rail,
body.public-inner-page .spd-stats-strip {
    background: rgba(5,18,34,.64) !important;
    border-color: rgba(117,181,231,.16) !important;
}
body.public-inner-page .erp-stat-label,
body.public-inner-page .spd-stat-lbl,
body.public-inner-page .erp-why-lead { color: #a9bad0 !important; }
body.public-inner-page .erp-stat-num,
body.public-inner-page .spd-stat-num { color: #f5f9ff !important; }

/* Keep the ERP module checklist readable on the dark inner-page surface. */
body.public-inner-page .erp-modules {
    border-top-color: rgba(151,197,235,.24) !important;
}
body.public-inner-page .erp-modules li {
    color: #c9d8e8 !important;
    font-weight: 650;
}

/* AI consulting: a complete custom-agent capability story. */
.ai-solutions-v2 {
    position: relative;
    overflow: hidden;
    padding: clamp(5rem, 8vw, 7rem) 0;
    border-bottom: 1px solid rgba(75,216,255,.12);
    background:
        radial-gradient(650px circle at 10% 12%, rgba(24,191,232,.1), transparent 62%),
        radial-gradient(760px circle at 95% 72%, rgba(22,119,255,.14), transparent 64%),
        rgba(5,18,34,.34);
}
.ai-solutions-v2::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image: linear-gradient(rgba(75,216,255,.032) 1px, transparent 1px), linear-gradient(90deg, rgba(75,216,255,.032) 1px, transparent 1px);
    background-size: 56px 56px;
}
.ai-solutions-v2 > .container { position: relative; z-index: 1; }
.ai-solutions-head { max-width: 820px; margin: 0 auto clamp(2.4rem, 5vw, 4rem); text-align: center; }
.ai-kicker { display: inline-flex; align-items: center; gap: .5rem; color: #55dfff; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ai-solutions-head h2,
.ai-agent-copy h2 { margin: .9rem 0 1rem; color: #f7fbff; font-size: clamp(2rem, 4.2vw, 3.45rem); line-height: 1.04; letter-spacing: -.045em; font-weight: 900; text-wrap: balance; }
.ai-solutions-head p,
.ai-agent-copy > p { margin: 0; color: #aebfd2; font-size: 1.02rem; line-height: 1.78; }
.ai-solution-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ai-solution-card { display: flex; flex-direction: column; min-height: 310px; padding: 1.45rem; border: 1px solid rgba(117,181,231,.18); border-radius: 18px; background: linear-gradient(150deg, rgba(17,45,78,.9), rgba(8,28,52,.94)); box-shadow: 0 24px 60px -40px rgba(0,0,0,.95); transition: transform .28s ease, border-color .28s ease, background .28s ease; }
.ai-solution-card:hover { transform: translateY(-5px); border-color: rgba(75,216,255,.42); background: linear-gradient(150deg, rgba(21,57,97,.96), rgba(9,33,61,.98)); }
.ai-solution-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 1.15rem; border: 1px solid rgba(101,220,250,.28); border-radius: 13px; color: #5fe1ff; background: linear-gradient(145deg, rgba(24,191,232,.15), rgba(22,119,255,.16)); font-size: 1.05rem; }
.ai-solution-card h3 { margin: 0 0 .65rem; color: #f4f9ff; font-size: 1.04rem; font-weight: 800; }
.ai-solution-card p { margin: 0 0 1.1rem; color: #aebfd2; font-size: .89rem; line-height: 1.66; }
.ai-solution-card ul { display: grid; gap: .45rem; margin: auto 0 0; padding: 1rem 0 0; border-top: 1px solid rgba(117,181,231,.14); list-style: none; }
.ai-solution-card li { position: relative; padding-left: 1rem; color: #cad7e6; font-size: .78rem; font-weight: 650; }
.ai-solution-card li::before { content: ''; position: absolute; left: 0; top: .48em; width: 5px; height: 5px; border-radius: 50%; background: #35cfee; box-shadow: 0 0 0 3px rgba(53,207,238,.1); }
.ai-agent-operating { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; margin-top: clamp(4rem, 7vw, 6.5rem); padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid rgba(117,181,231,.19); border-radius: 24px; background: linear-gradient(135deg, rgba(10,33,60,.95), rgba(13,52,92,.8)); box-shadow: 0 35px 80px -55px #000; }
.ai-agent-copy h2 { font-size: clamp(1.8rem, 3.5vw, 2.75rem); }
.ai-inline-cta { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.45rem; color: #69dfff !important; font-size: .9rem; font-weight: 800; text-decoration: none; }
.ai-inline-cta i { transition: transform .22s ease; }
.ai-inline-cta:hover i { transform: translateX(4px); }
.ai-agent-flow { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.ai-agent-flow li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; padding: .9rem 1rem; border: 1px solid rgba(117,181,231,.14); border-radius: 13px; background: rgba(255,255,255,.025); }
.ai-agent-flow li > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: #63e2ff; background: rgba(24,191,232,.11); font-size: .72rem; font-weight: 900; }
.ai-agent-flow h3 { margin: 0 0 .2rem; color: #f2f8ff; font-size: .92rem; font-weight: 800; }
.ai-agent-flow p { margin: 0; color: #a8b9cd; font-size: .82rem; line-height: 1.55; }
.ai-foundation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.ai-foundation-grid article { padding: 1.5rem; border: 1px solid rgba(117,181,231,.16); border-radius: 17px; background: rgba(9,29,53,.78); }
.ai-foundation-grid i { color: #57ddfa; font-size: 1.25rem; }
.ai-foundation-grid h3 { margin: .9rem 0 .5rem; color: #f3f8ff; font-size: .98rem; font-weight: 800; }
.ai-foundation-grid p { margin: 0; color: #a9bad0; font-size: .84rem; line-height: 1.65; }
@media (max-width: 1199.98px) { .ai-solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .ai-agent-operating { grid-template-columns: 1fr; } .ai-foundation-grid { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .ai-solution-grid { grid-template-columns: 1fr; } .ai-solution-card { min-height: auto; } .ai-agent-operating { padding: 1.35rem; border-radius: 18px; } }
@media (prefers-reduced-motion: reduce) { .ai-solution-card { transition: none; } .ai-solution-card:hover { transform: none; } }

/* AI consulting hero asset and recovered-template contrast corrections. */
.spd-icon.spd-icon-robot {
    width: 116px;
    height: 116px;
    padding: 4px;
    overflow: hidden;
    border-color: rgba(101,220,250,.36) !important;
    border-radius: 26px !important;
    background: radial-gradient(circle at 50% 25%, rgba(101,220,250,.16), rgba(3,15,30,.68)) !important;
    box-shadow: 0 18px 42px -22px rgba(24,191,232,.7), inset 0 1px 0 rgba(255,255,255,.14);
}
.spd-icon-robot img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(0,0,0,.28)); }
.spd-icon.spd-icon-software {
    width: 148px;
    height: 116px;
    padding: 3px;
    overflow: hidden;
    border-color: rgba(101,220,250,.36) !important;
    border-radius: 26px !important;
    background: radial-gradient(circle at 50% 30%, rgba(101,220,250,.16), rgba(3,15,30,.68)) !important;
    box-shadow: 0 18px 42px -22px rgba(24,191,232,.7), inset 0 1px 0 rgba(255,255,255,.14);
}
.spd-icon-software img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(0,0,0,.28)); }

body.public-inner-page .spd-content-section {
    background:
        radial-gradient(720px circle at 4% 20%, rgba(24,191,232,.08), transparent 65%),
        linear-gradient(145deg, rgba(6,20,38,.96), rgba(8,31,57,.94)) !important;
    border-top: 1px solid rgba(75,216,255,.1);
}
body.public-inner-page .spd-content-section .spd-body > p { color: #afc0d3 !important; }
body.public-inner-page .spd-content-section .spd-feat-item {
    background: rgba(15,43,75,.9) !important;
    border-color: rgba(117,181,231,.2) !important;
}
body.public-inner-page .spd-content-section .spd-feat-item:hover {
    background: rgba(19,53,91,.96) !important;
    border-color: rgba(75,216,255,.4) !important;
}
body.public-inner-page .spd-content-section .spd-feat-item > span,
body.public-inner-page .spd-content-section [style*="color:#334155"] { color: #d2deeb !important; }
body.public-inner-page .spd-content-section [style*="color:#64748b"] { color: #a9bad0 !important; }
body.public-inner-page .spd-content-section [style*="border-bottom:1px solid #f1f5f9"] { border-bottom-color: rgba(117,181,231,.14) !important; }
body.public-inner-page .spd-content-section .spd-step { background: rgba(13,37,66,.88) !important; }

body.public-inner-page .ai-why-panel {
    background: linear-gradient(150deg, rgba(15,44,77,.96), rgba(8,29,53,.98)) !important;
    border-color: rgba(117,181,231,.2) !important;
    box-shadow: 0 28px 68px -42px rgba(0,0,0,.95) !important;
}
body.public-inner-page .ai-why-panel h3,
body.public-inner-page .ai-why-row > div:last-child > div:first-child { color: #f4f9ff !important; }
body.public-inner-page .ai-why-row > div:last-child > div:last-child { color: #a9bad0 !important; }
body.public-inner-page .ai-why-row { border-bottom-color: rgba(117,181,231,.14) !important; }

@media (max-width: 575.98px) {
    .spd-icon.spd-icon-robot { width: 96px; height: 96px; border-radius: 22px !important; }
    .spd-icon.spd-icon-software { width: 124px; height: 96px; border-radius: 22px !important; }
}
