/* =========================================================
   SYDI AI — Icon & Card Alignment Fix Stylesheet
   Aligns every page's cards / icons / arrows to the
   reference images exactly:
     1) Home                -> icon top-left, title+desc stacked, arrow top-right
     2) About               -> icon left, title+desc right, arrow bottom-right
     3) Business Consulting -> lifecycle cards vertical (icon top, then title/desc),
                               connector arrows between them
     4) Enterprise Products -> icon left, title+desc right, arrow top-right
   ========================================================= */

/* ---------- 1) Remove the outer blue circle around EMBEDDED icons
   (leaves ring-style icons on cards that WANT the circle) ---------- */
.stat-icon-wrap,
.value-icon-wrap,
.other-icon-wrap,
.proof-icon-wrap,
.pill-icon-wrap {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

/* Neutralise hover ring on the icon wrappers that stay ring-less */
.value-card:hover .value-icon-wrap,
.other-card:hover .other-icon-wrap,
.proof-item:hover .proof-icon-wrap {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Make sure inline <img> inside a wrapper fills it crisply */
.engine-icon-wrap img,
.product-icon-wrap img,
.service-icon-wrap img,
.lifecycle-icon-wrap img,
.offering-icon-wrap img,
.other-icon-wrap img,
.proof-icon-wrap img,
.pill-icon-wrap img,
.feature-icon-wrap img,
.platform-icon-wrap img,
.stat-icon-wrap img,
.value-icon-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: none !important;
}

/* Accelerator theme colour used across page CTA arrows */
:root {
    --accelerator-cta: #0db5f7;
    --accelerator-cta-soft: rgba(13, 181, 247, 0.55);
}

/* =========================================================
   1) HOME (page-landing) — 5 engine cards
   Icon (with cyan ring) top-left, Title + Desc stacked
   underneath, arrow-in-circle at top-right.
   ========================================================= */
.page-landing .engine-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    padding: 24px 22px 26px !important;
    min-height: 230px !important;
    position: relative !important;
    text-align: left !important;
}

.page-landing .engine-icon-wrap {
    width: 74px !important;
    height: 74px !important;
    min-width: 74px !important;
    min-height: 74px !important;
    flex: 0 0 74px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    background: rgba(46, 184, 255, 0.12) !important;
    border-radius: 50% !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
    margin: 0 !important;
    align-self: flex-start !important;
}
.page-landing .engine-icon-wrap img,
.page-landing .engine-icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
}

.page-landing .engine-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin: 4px 0 0 0 !important;
    padding-right: 34px !important;
    text-align: left !important;
    letter-spacing: 0.2px !important;
}

.page-landing .engine-desc {
    font-size: 13px !important;
    color: var(--text-mute, #b8c4dc) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    text-align: left !important;
    padding-right: 4px !important;
}

.page-landing .engine-arrow {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    color: var(--accelerator-cta) !important;
    border: 1px solid var(--accelerator-cta-soft) !important;
    background: rgba(2, 14, 38, 0.8) !important;
    z-index: 3 !important;
    margin: 0 !important;
}
.page-landing .engine-card:hover .engine-arrow {
    background: var(--accelerator-cta) !important;
    border-color: var(--accelerator-cta) !important;
    color: #041022 !important;
}


/* =========================================================
   2) ABOUT (page-about) — 3 value cards
   Icon LEFT, Title + Desc RIGHT, arrow bottom-right.
   ========================================================= */
.page-about .value-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 18px !important;
    padding: 22px 56px 22px 22px !important;
    min-height: 148px !important;
    position: relative !important;
    text-align: left !important;
}

.page-about .value-icon-wrap {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    flex: 0 0 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    margin-top: 2px !important;
}
.page-about .value-icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}

.page-about .value-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
}

.page-about .value-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--accent-cyan, #2eb8ff) !important;
    line-height: 1.2 !important;
    margin: 0 0 8px 0 !important;
    text-align: left !important;
}

.page-about .value-desc {
    font-size: 13px !important;
    color: var(--text-mute, #b8c4dc) !important;
    line-height: 1.5 !important;
    text-align: left !important;
    margin: 0 !important;
}

.page-about .value-arrow {
    position: absolute !important;
    right: 16px !important;
    bottom: 16px !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    border: 1px solid var(--accelerator-cta-soft) !important;
    color: var(--accelerator-cta) !important;
    background: rgba(2, 14, 38, 0.8) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    z-index: 3 !important;
}
.page-about .value-card:hover .value-arrow {
    background: var(--accelerator-cta) !important;
    border-color: var(--accelerator-cta) !important;
    color: #041022 !important;
}

/* Stats strip — ensure clean icon + text alignment */
.page-about .stats-strip { box-shadow: none !important; }
.page-about .stat-icon-wrap {
    width: 44px !important;
    height: 44px !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.page-about .stat-icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}


/* =========================================================
   3) BUSINESS CONSULTING (page-business-consulting)
   Lifecycle cards -> VERTICAL: icon top-center, title
   center, desc center. Connector arrows between them.
   Offerings row -> horizontal icon+text.
   ========================================================= */
.page-business-consulting .lifecycle-grid {
    display: grid !important;
    grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr !important;
    align-items: stretch !important;
    gap: 6px !important;
}

.page-business-consulting .lifecycle-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    gap: 12px !important;
    padding: 22px 16px 22px !important;
    min-height: 210px !important;
    position: relative !important;
}

.page-business-consulting .lifecycle-icon-wrap {
    width: 78px !important;
    height: 78px !important;
    min-width: 78px !important;
    min-height: 78px !important;
    flex: 0 0 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    background: rgba(46, 184, 255, 0.12) !important;
    border-radius: 50% !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
    margin: 4px auto 0 !important;
    align-self: center !important;
}
.page-business-consulting .lifecycle-icon-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}

.page-business-consulting .lifecycle-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: center !important;
    width: 100% !important;
}

.page-business-consulting .lifecycle-body h3 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin: 0 0 6px 0 !important;
    text-align: center !important;
}

.page-business-consulting .lifecycle-body p {
    font-size: 11.5px !important;
    color: var(--text-mute, #b8c4dc) !important;
    line-height: 1.4 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 4px !important;
}

/* Hide the corner arrow on lifecycle cards — the reference
   uses connector arrows only, not per-card CTA arrows. */
.page-business-consulting .lifecycle-arrow {
    display: none !important;
}

/* Connector arrow between lifecycle cards */
.page-business-consulting .lifecycle-connector {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
}
.page-business-consulting .conn-arrow {
    width: 30px !important;
    height: 30px !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: var(--accent-cyan, #2eb8ff) !important;
    background: rgba(2, 14, 38, 0.85) !important;
    box-shadow: none !important;
    padding-bottom: 2px !important;
}

/* Bottom offering row — icon LEFT, title+subtitle RIGHT */
.page-business-consulting .offerings-grid {
    display: grid !important;
    grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr !important;
    align-items: center !important;
    gap: 10px !important;
}

.page-business-consulting .offering-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 10px !important;
    min-height: 78px !important;
    min-width: 0 !important;
}

.page-business-consulting .offering-icon-wrap {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    flex: 0 0 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    background: rgba(46, 184, 255, 0.12) !important;
    border-radius: 50% !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.page-business-consulting .offering-icon-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}

.page-business-consulting .offering-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}
.page-business-consulting .offering-text h4,
.page-business-consulting .offering-text h3 {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin: 0 0 3px 0 !important;
    text-align: left !important;
}
.page-business-consulting .offering-text p {
    font-size: 11.5px !important;
    color: var(--text-mute, #b8c4dc) !important;
    line-height: 1.35 !important;
    text-align: left !important;
    margin: 0 !important;
}

/* Feature pills */
.page-business-consulting .feature-icon-wrap {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    flex: 0 0 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    background: rgba(46, 184, 255, 0.12) !important;
    border-radius: 50% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.page-business-consulting .feature-icon-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}


/* =========================================================
   4) ENTERPRISE PRODUCTS (page-enterprise) — 6 product cards
   Icon LEFT (cyan ring), Title + Desc RIGHT, arrow top-right.
   ========================================================= */
.page-enterprise .product-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    padding: 22px 60px 22px 22px !important;
    min-height: 156px !important;
    position: relative !important;
    text-align: left !important;
}

.page-enterprise .product-icon-wrap {
    width: 88px !important;
    height: 88px !important;
    min-width: 88px !important;
    min-height: 88px !important;
    flex: 0 0 88px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    background: rgba(46, 184, 255, 0.12) !important;
    border-radius: 50% !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
    align-self: center !important;
}
.page-enterprise .product-icon-wrap img,
.page-enterprise .product-icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}

.page-enterprise .product-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
    padding-right: 0 !important;
}
.page-enterprise .product-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin: 0 0 6px 0 !important;
    text-align: left !important;
    letter-spacing: 0.2px !important;
}
.page-enterprise .product-desc {
    font-size: 13px !important;
    color: var(--text-mute, #b8c4dc) !important;
    line-height: 1.45 !important;
    text-align: left !important;
    margin: 0 !important;
}

.page-enterprise .product-arrow {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    border: 1px solid var(--accelerator-cta-soft) !important;
    background: rgba(2, 14, 38, 0.8) !important;
    color: var(--accelerator-cta) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    z-index: 3 !important;
    margin: 0 !important;
}
.page-enterprise .product-card:hover .product-arrow {
    background: var(--accelerator-cta) !important;
    border-color: var(--accelerator-cta) !important;
    color: #041022 !important;
}

/* Pillar icons in bottom strip */
.page-enterprise .pillar-icon {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    filter: none !important;
}


/* =========================================================
   5) AGENTIC STUDIO — icon top, title + desc stacked below,
   arrow top-right. Keep bottom "other" cards side-by-side.
   ========================================================= */
.page-agentic-studio .offering-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 22px 20px !important;
    min-height: 200px !important;
    position: relative !important;
    text-align: left !important;
}

.page-agentic-studio .offering-icon-wrap {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    flex: 0 0 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    background: rgba(46, 184, 255, 0.12) !important;
    border-radius: 50% !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
    align-self: flex-start !important;
}
.page-agentic-studio .offering-icon-wrap img,
.page-agentic-studio .offering-icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}

.page-agentic-studio .offering-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    text-align: left !important;
    padding-right: 34px !important;
}
.page-agentic-studio .offering-desc {
    font-size: 13px !important;
    color: var(--text-mute, #b8c4dc) !important;
    line-height: 1.5 !important;
    text-align: left !important;
    margin: 0 !important;
}

.page-agentic-studio .offering-arrow {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    border: 1px solid var(--accelerator-cta-soft) !important;
    background: rgba(2, 14, 38, 0.8) !important;
    color: var(--accelerator-cta) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    z-index: 3 !important;
}
.page-agentic-studio .offering-card:hover .offering-arrow {
    background: var(--accelerator-cta) !important;
    border-color: var(--accelerator-cta) !important;
    color: #041022 !important;
}

.page-agentic-studio .other-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 16px !important;
    min-height: 84px !important;
}
.page-agentic-studio .other-icon-wrap {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    flex: 0 0 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.page-agentic-studio .other-icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: none !important;
    transform: none !important;
}
.page-agentic-studio .other-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
    font-size: 13px !important;
    color: #ffffff !important;
}


/* =========================================================
   6) TECHNOLOGY SERVICES — icon LEFT, title+desc RIGHT,
   arrow bottom-right (keeps existing service-card shape).
   ========================================================= */
.page-technology-services .service-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 20px 22px !important;
    min-height: 156px !important;
    position: relative !important;
}
.page-technology-services .service-icon-wrap {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    flex: 0 0 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--accent-cyan, #2eb8ff) !important;
    background: rgba(46, 184, 255, 0.12) !important;
    border-radius: 50% !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.page-technology-services .service-icon-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
}
.page-technology-services .service-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}


/* =========================================================
   7) Design canvas backgrounds stay uniform
   ========================================================= */
.aspect-stage { background: #000515; }
.page-scale   { background: #000515; }


/* =========================================================
   8) Responsive fallbacks for the fixed layouts
   ========================================================= */
@media (max-width: 1100px) {
    .page-business-consulting .lifecycle-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
    }
    .page-business-consulting .lifecycle-connector { display: none !important; }
    .page-business-consulting .offerings-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
    }
    .page-business-consulting .offering-divider { display: none !important; }
}

@media (max-width: 720px) {
    .page-landing .engine-card,
    .page-enterprise .product-card,
    .page-business-consulting .lifecycle-card,
    .page-agentic-studio .offering-card,
    .page-technology-services .service-card {
        padding: 18px 18px 22px !important;
        min-height: auto !important;
    }
    .page-enterprise .product-card { padding-right: 55px !important; }
    .page-landing .engine-icon-wrap,
    .page-enterprise .product-icon-wrap,
    .page-agentic-studio .offering-icon-wrap,
    .page-technology-services .service-icon-wrap {
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        min-height: 62px !important;
        flex: 0 0 62px !important;
        padding: 10px !important;
    }
    .page-business-consulting .lifecycle-icon-wrap {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
        flex: 0 0 64px !important;
        padding: 10px !important;
    }
}
