/* =========================================================
   dotstark_finance.html Custom Theme Styles (main.css)
   Mapped to DotStark Brand Colors (Orange/Charcoal/Cream)
   ========================================================= */

:root {
    /* Typography overrides */
    --font-sans: "Inter", "DM Sans", system-ui, sans-serif;
    --font-display: "Syne", sans-serif;
    /* Color Palette - Overriding dotstark_finance local variables */
    --color-text-primary: var(--ink, #0a0a0a);
    --color-text-secondary: var(--muted, #6b7280);
    --color-background-primary: var(--bg, #ffffff);
    --color-background-secondary: var(--bg-soft, #f2f2f2);
    --color-border-tertiary: var(--line, #eef0f3);
    --color-border-secondary: var(--muted-2, #d1d5db);
    /* Custom theme vars */
    --color-dark-bg: #0f172a; /* Slate 900 for Hero, Footer, Banner */
    --color-dark-border: #1e293b;
    --color-light-accent: var(--brand-soft, #ffe6d8); /* Soft Peach */
    /* Radii */
    --border-radius-md: var(--radius, 14px);
    --border-radius-lg: var(--radius-lg, 22px);
    --brand: #ee5a2e;
    --brand-2: #f97316;
    --brand-dark: #c2410c;
    --brand-soft: #fff1ea;
    --brand-soft-2: #ffe6d8;
    --ink: #0a0a0a;
    --ink-2: #1a1a1f;
    --muted: #6b7280;
    --muted-2: #9ca3af;
    --line: #eef0f3;
    --bg: #ffffff;
    --bg-soft: #f2f2f2;
    --green: #16a34a;
    --green-soft: #dcfce7;
    --radius: 14px;
    --radius-lg: 22px;
    --shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);
    --shadow-md: 0 10px 24px -8px rgba(15, 23, 42, .10);
    --shadow-lg: 0 24px 60px -20px rgba(15, 23, 42, .18);
    --font-mono: "Space Mono", monospace;
}

/* Base styles */

* {
    box-sizing: border-box
}

html,
body {
    background: var(--bg);
    color: var(--ink);
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "cv11", "ss01"
}

body {
    line-height: 1.55
}

a {
    color: inherit;
    text-decoration: none
}

    a:hover {
        color: var(--brand)
    }

img {
    max-width: 100%;
    height: auto
}

.container-xxl {
    max-width: 1240px;
}

/* Headings */
.lp {
    width: 100%;
    color: var(--color-text-primary);
}

#cap-sec,
#proof-sec,
#tech-sec,
#cta-form {
    scroll-margin-top: 70px; /* Adjust based on navbar height */
}
/* NAVBAR */
.nav-custom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 28px;
    border-bottom: 0.5px solid var(--color-border-tertiary);
    background: var(--color-background-primary);
    position: sticky;
    top: 0;
    z-index: 100;
}

.nav-logo-custom {
    display: flex;
    align-items: center;
}

    .nav-logo-custom img {
        height: 45px;
        width: auto;
    }

.nav-links-custom {
    display: flex;
    gap: 24px;
}

    .nav-links-custom a {
        font-size: 16px;
        font-weight: 500;
        color: var(--color-text-secondary);
        text-decoration: none;
        cursor: pointer;
        transition: color 0.15s ease;
    }

        .nav-links-custom a:hover {
            color: var(--brand, #ee5a2e);
        }

.nav-cta-custom {
    background: var(--brand, #ee5a2e);
    color: #fff;
    border: none;
    border-radius: var(--border-radius-md);
    padding: 10px 20px;
    font-size: 14px;
    cursor: pointer;
    font-weight: 500;
    transition: background 0.15s ease;
}

    .nav-cta-custom:hover {
        background: var(--brand-dark, #c2410c);
        color: #fff;
    }

@media(max-width : 1025px) {
    .nav-cta-custom {
        display: none;
    }
}

    /* HERO SECTION */
    .hero-custom {
        background: var(--color-background-primary);
        padding: 50px 28px 50px;
        text-align: center;
        position: relative;
        overflow: hidden;
    }

    /* .hero-custom::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(238, 90, 46, 0.08) 0%, transparent 60%);
  pointer-events: none;
} */

    .hero-badge-custom {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: rgba(238, 90, 46, 0.15);
        color: #ff8a50;
        font-size: 13px;
        font-weight: 500;
        padding: 6px 16px;
        border-radius: 30px;
        border: 0.5px solid rgba(238, 90, 46, 0.3);
        margin-bottom: 24px;
    }

    .hero-custom h1 {
        font-weight: 700;
        /* color: #fff; */
        line-height: 1.2;
        max-width: 800px;
        margin: 0 auto 20px;
        letter-spacing: -0.02em;
    }

        .hero-custom h1 em {
            color: var(--brand, #ee5a2e);
            font-style: normal;
        }

    .hero-sub-custom {
        font-size: 16px;
        color: #4b5563;
        max-width: 600px;
        margin: 0 auto 36px;
        line-height: 1.6;
    }

    .hero-btns-custom {
        display: flex;
        gap: 12px;
        justify-content: center;
        flex-wrap: wrap;
        margin-bottom: 40px;
    }

    .btn-gold-custom {
        background: var(--brand, #ee5a2e);
        color: #fff;
        border: none;
        border-radius: var(--border-radius-md);
        padding: 14px 28px;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.15s ease, transform 0.1s ease;
    }

        .btn-gold-custom:hover {
            background: var(--brand-dark, #c2410c);
        }

        .btn-gold-custom:active {
            transform: scale(0.98);
        }

    .btn-ghost-custom {
        border-radius: var(--border-radius-md);
        color: #ffffff;
        background: black;
        padding: 14px 28px;
        font-size: 15px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.15s ease;
    }

        .btn-ghost-custom:hover {
            background: transparent;
            color: #000000;
        }

    .hero-stats-custom {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        padding-top: 32px;
        gap: 20px;
    }

    .hs-custom {
        text-align: center;
        padding: 0 40px;
        border-right: 1px solid rgba(255, 255, 255, 0.08);
    }

        .hs-custom:last-child {
            border-right: none;
        }

    .hs-num-custom {
        /* font-family: var(--font-display); */
        font-size: clamp(28px, 4vw, 36px);
        font-weight: 700;
        color: var(--brand, #ee5a2e);
    }

    .hs-lbl-custom {
        font-size: 12px;
        color: #64748b;
        margin-top: 4px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    /* TRUST BAR */
    .trust-custom {
        background: #f1f5f9;
        padding: 14px 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        flex-wrap: wrap;
    }

    .trust-lbl-custom {
        font-size: 13px;
        color: #475569;
        font-weight: 600;
        margin-right: 8px;
    }

    .tpill-custom {
        font-size: 12px;
        color: #1e293b;
        background: #fff;
        border: 1px solid #cbd5e1;
        border-radius: 30px;
        padding: 4px 14px;
        font-weight: 500;
    }

    /* SECTIONS */
    .sec-custom {
        padding: 64px 28px;
    }

    .sec-alt-custom {
        background: var(--color-background-secondary);
    }

    .sec-lbl-custom {
        /* font-family: var(--font-mono, monospace); */
        font-size: 11px;
        font-weight: 600;
        color: var(--brand, #ee5a2e);
        letter-spacing: 1.5px;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .sec-title-custom {
        /* font-family: var(--font-display); */
        font-size: clamp(24px, 4vw, 32px);
        font-weight: 700;
        color: var(--color-text-primary);
        margin-bottom: 12px;
        line-height: 1.25;
    }

    .sec-sub-custom {
        font-size: 15px;
        color: var(--color-text-secondary);
        max-width: 911px;
        line-height: 1.6;
        margin-bottom: 32px;
    }

    .sec-header-row-custom {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 20px;
        margin-bottom: 36px;
    }

        .sec-header-row-custom .sec-sub-custom {
            margin-bottom: 0;
        }

      /*new card grid css*/
      .outcome {
          margin-top: auto;
          background: #fff1ea;
          border: 1px solid #ee5a2e;
          border-radius: 12px;
          padding: 14px 16px;
          display: flex;
          gap: 10px;
          align-items: flex-start;
      }

    .outcome .icon {
        flex: none;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #ee5a2e;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 1px;
    }

    .outcome .text-block .label {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--color-text-primary);
        margin: 0 0 3px;
    }

    .btn-inline-custom {
        background: var(--brand, #ee5a2e);
        color: #fff;
        border: none;
        border-radius: var(--border-radius-md);
        padding: 12px 24px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
        transition: background 0.15s ease;
    }

        .btn-inline-custom:hover {
            background: var(--brand-dark, #c2410c);
            color: #fff;
        }

    .btn-inline-outline-custom {
        background: #ee5a2e;
        color: #ffffff;
        border: 1px solid var(--brand, #ee5a2e);
        border-radius: var(--border-radius-md);
        padding: 12px 24px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
        transition: all 0.15s ease;
    }

        .btn-inline-outline-custom:hover {
            background: #ffffff;
            color: #ee5a2e;
        }

    /* CAPABILITIES */
    .cap-grid-custom {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 20px;
    }

    .cap-card-custom {
        background: var(--color-background-primary);
        border: 1px solid var(--color-border-tertiary);
        border-radius: var(--border-radius-lg);
        padding: 24px;
        transition: all 0.2s ease;
    }

        .cap-card-custom:hover {
            border-color: var(--brand, #ee5a2e);
            box-shadow: var(--shadow-md, 0 10px 24px -8px rgba(15, 23, 42, .05));
            transform: translateY(-2px);
        }

        .cap-card-custom ul li::before {
            content: '•';
            position: absolute;
            left: 0;
            color: var(--brand);
            font-weight: 700;
            margin-left: 10px;
        }

        .cap-icon-custom {
            width: 44px;
            height: 44px;
            border-radius: var(--border-radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 16px;
            font-size: 20px;
        }

    /* Soft colored icon backgrounds matching orange theme */
    .ci-blue-custom {
        background: rgba(238, 90, 46, 0.1);
        color: var(--brand, #ee5a2e);
    }

    .ci-amber-custom {
        background: #fef3c7;
        color: #d97706;
    }

    .ci-teal-custom {
        background: #ccfbf1;
        color: #0d9488;
    }

    .ci-purple-custom {
        background: #f3e8ff;
        color: #7c3aed;
    }

    .ci-coral-custom {
        background: rgba(239, 68, 68, 0.1);
        color: #ef4444;
    }

    .ci-green-custom {
        background: #dcfce7;
        color: #16a34a;
    }

    .ci-pink-custom {
        background: #fce7f3;
        color: #db2777;
    }

    .cap-card-custom h3 {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 8px;
        color: var(--color-text-primary);
    }

    .cap-card-custom p {
        font-size: 13px;
        color: var(--color-text-secondary);
        line-height: 1.6;
        margin-bottom: 16px;
    }

    .cap-tags-custom {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 20px;
    }

    .ctag-custom {
        font-size: 11px;
        padding: 3px 8px;
        border-radius: 6px;
        border: 1px solid var(--color-border-tertiary);
        color: var(--color-text-secondary);
        background: var(--color-background-secondary);
    }

    .cap-cta-row-custom {
        margin-top: 32px;
        display: flex;
        justify-content: center;
    }

    /* OUTCOMES */
    .outcomes-grid-custom {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 20px;
        margin-bottom: 36px;
    }

    .oc-custom {
        background: var(--color-background-primary);
        border: 1px solid var(--color-border-tertiary);
        border-radius: var(--border-radius-lg);
        padding: 24px;
        text-align: center;
        transition: border-color 0.2s ease;
    }

        .oc-custom:hover {
            border-color: var(--brand, #ee5a2e);
        }

    .oc-num-custom {
        /* font-family: var(--font-display); */
        font-size: 32px;
        font-weight: 700;
        color: var(--brand, #ee5a2e);
    }

    .oc-lbl-custom {
        font-size: 13px;
        color: var(--color-text-secondary);
        margin-top: 6px;
        line-height: 1.5;
    }

    .outcomes-cta-custom {
        text-align: center;
    }

    /* HOW WE WORK */
    .how-wrap-custom {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 20px;
        margin-bottom: 36px;
    }

    .how-step-custom {
        padding: 24px;
        background: var(--color-background-primary);
        border: 1px solid var(--color-border-tertiary);
        border-radius: var(--border-radius-lg);
        position: relative;
        transition: border-color 0.2s ease;
    }

        .how-step-custom:hover {
            border-color: var(--brand, #ee5a2e);
        }

    .how-num-custom {
        font-size: 13px;
        font-weight: 700;
        color: var(--brand, #ee5a2e);
        background: var(--color-light-accent);
        width: 32px;
        height: 32px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 16px;
    }

    .how-step-custom h3 {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 8px;
        color: var(--color-text-primary);
    }

    .how-step-custom p {
        font-size: 13px;
        color: var(--color-text-secondary);
        line-height: 1.6;
    }

    .how-cta-custom {
        text-align: center;
    }

    /* TECHNOLOGIES */
    .tech-tabs-custom {
        display: flex;
        border: 1px solid var(--color-border-tertiary);
/*        border-radius: var(--border-radius-lg);*/
        overflow: hidden;
        margin-bottom: 32px;
        flex-wrap: wrap;
        background: var(--color-background-primary);
        justify-content: center;
    }

    .tech-tab-custom {
        flex: 1;
        padding: 14px 20px;
        font-size: 14px;
        font-weight: 600;
        color: var(--color-text-secondary);
        border: none;
        background: transparent;
        cursor: pointer;
        border-right: 1px solid var(--color-border-tertiary);
        min-width: 120px;
        text-align: center;
        transition: all 0.15s ease;
    }

        .tech-tab-custom:last-child {
            border-right: none;
        }

        .tech-tab-custom:hover {
            background: var( --color-light-accent);
            color: var(--color-text-primary);
        }

        .tech-tab-custom.active {
            background: var(--brand, #ee5a2e);
            color: #fff;
        }

    .tech-panels-wrapper-custom {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
    }

    .tech-panel-custom {
        display: none;
        animation: fadeIn 0.3s ease;
        width: 100%;
    }

        .tech-panel-custom.active {
            display: flex;
            justify-content: center;
        }

    .tech-panel-intro-custom {
        font-size: 15px;
        color: var(--color-text-secondary);
        margin-bottom: 24px;
        line-height: 1.65;
        max-width: 700px;
    }

.tech-grid-custom {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, max-content));
    justify-content: center;
    align-items: start;
    gap: 16px 24px;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.tech-item-custom {
    width: 130px;
    padding: 20px 12px;
    text-align: center;
    transition: all 0.15s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

    .tech-item-icon-custom {
        width: 48px;
        height: 48px;
        margin: 0 auto 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }

        .tech-item-icon-custom img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

    .tech-item-name-custom {
        font-size: 12px;
        color: var(--color-text-primary);
        font-weight: 600;
    }

    /* Responsive */
    @media (max-width: 768px) {
        .tech-tab-custom {
            min-width: 90px;
            padding: 10px 12px;
            font-size: 12px;
        }

        .tech-grid-custom {
            grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
            gap: 10px;
        }

        .tech-item-icon-custom {
            width: 36px;
            height: 36px;
        }
    }

    @media (max-width: 480px) {
        .tech-tab-custom {
            min-width: 70px;
            padding: 8px 8px;
            font-size: 11px;
        }

        .tech-grid-custom {
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
        }
    }

    .partner-row-custom {
        display: flex;
        align-items: center;
        gap: 16px;
        flex-wrap: wrap;
        margin-top: 32px;
        padding-top: 24px;
        border-top: 1px solid var(--color-border-tertiary);
    }

    .partner-badge-custom {
        background: var(--color-background-primary);
        border: 1px solid var(--color-border-tertiary);
        border-radius: var(--border-radius-md);
        padding: 10px 18px;
        font-size: 13px;
        font-weight: 600;
        color: var(--color-text-secondary);
        display: flex;
        align-items: center;
        gap: 8px;
    }

        .partner-badge-custom i {
            font-size: 18px;
            color: var(--brand, #ee5a2e);
        }

    .tech-cta-row-custom {
        margin-top: 32px;
        display: flex;
        justify-content: center;
    }

    /* PROOF */
    .proof-grid-custom {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 20px;
        margin-bottom: 36px;
    }

    .proof-card-custom {
        background: var(--color-background-primary);
        border: 1px solid var(--color-border-tertiary);
        border-radius: var(--border-radius-lg);
        padding: 24px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        transition: border-color 0.2s ease;
    }

        .proof-card-custom:hover {
            border-color: var(--brand, #ee5a2e);
        }

    .proof-quote-custom {
        font-size: 14px;
        color: var(--color-text-secondary);
        line-height: 1.65;
        font-style: italic;
        margin-bottom: 18px;
        border-left: 3px solid var(--brand, #ee5a2e);
        padding-left: 14px;
    }

    .proof-meta-custom {
        font-size: 13px;
        color: var(--color-text-secondary);
        margin-bottom: 18px;
    }

        .proof-meta-custom strong {
            color: var(--color-text-primary);
        }

    .proof-stats-custom {
        display: flex;
        padding-top: 16px;
        border-top: 1px solid var(--color-border-tertiary);
        gap: 12px;
    }

    .ps-item-custom {
        flex: 1;
        text-align: center;
    }

    .ps-num-custom {
        /* font-family: var(--font-display); */
        font-size: 18px;
        font-weight: 700;
        color: var(--brand, #ee5a2e);
    }

    @media(max-width : 565px) {
        .ps-num-custom {
            font-size: 14px;
        }
    }

    .ps-lbl-custom {
        font-size: 10px;
        color: var(--color-text-secondary);
        margin-top: 4px;
        line-height: 1.3;
    }

    .proof-cta-custom {
        text-align: center;
    }

    /* MID-PAGE BANNER */
    .banner-cta-custom {
        background: var(--brand, #ee5a2e);
        padding: 48px 40px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 24px;
        border-radius: var(--border-radius-lg);
        position: relative;
        overflow: hidden;
    }

        .banner-cta-custom::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, rgba(238, 90, 46, 0.1) 0%, transparent 70%);
            pointer-events: none;
        }

    .banner-left-custom h2 {
        /* font-family: var(--font-display); */
        font-size: clamp(20px, 3vw, 26px);
        font-weight: 700;
        color: #fff;
        margin-bottom: 8px;
    }

  .banner-left-custom p {
      font-size: 14px;
      color: #fff;
      margin-bottom: 0;
  }

    .banner-btns-custom {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
    }

    .btn-banner-w-custom {
        background: #fff;
        color: var(--color-dark-bg);
        border: none;
        border-radius: var(--border-radius-md);
        padding: 12px 24px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.15s ease;
    }

        .btn-banner-w-custom:hover {
            background: var(--brand, #000000);
            color: #fff;
        }

    .btn-banner-o-custom {
        background: #000000;
        color: #fff;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: var(--border-radius-md);
        padding: 12px 24px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.15s ease;
    }

        .btn-banner-o-custom:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: #fff;
        }

    /* FORM SECTION */
    .form-section-custom {
        padding: 64px 28px;
        background: var(--color-light-accent);
    }

    .form-wrap-custom {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 48px;
        max-width: 960px;
        margin: 0 auto;
        align-items: start;
    }

    .form-left-custom h2 {
        /* font-family: var(--font-display); */
        font-size: clamp(24px, 4vw, 32px);
        font-weight: 700;
        margin-bottom: 12px;
        color: var(--color-text-primary);
    }

    .form-left-custom p {
        font-size: 14px;
        color: var(--color-text-secondary);
        line-height: 1.6;
        margin-bottom: 24px;
    }

    .promise-list-custom {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .pl-item-custom {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        font-size: 14px;
        color: var(--color-text-secondary);
    }

        .pl-item-custom i {
            color: #16a34a;
            font-size: 16px;
            flex-shrink: 0;
            margin-top: 2px;
        }

    .form-right-custom {
        background: var(--color-background-primary);
        border: 1px solid var(--color-border-tertiary);
        border-radius: var(--border-radius-lg);
        padding: 32px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    }

        .form-right-custom h3 {
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 20px;
            color: var(--color-text-primary);
        }

    .ff-custom {
        margin-bottom: 16px;
    }

        .ff-custom label {
            display: block;
            font-size: 12px;
            font-weight: 600;
            color: var(--color-text-secondary);
            margin-bottom: 6px;
        }

        .ff-custom input,
        .ff-custom select,
        .ff-custom textarea {
            width: 100%;
            font-size: 14px;
            padding: 10px 14px;
            border-radius: var(--border-radius-md);
            border: 1px solid var(--color-border-secondary);
            background: var(--color-background-primary);
            color: var(--color-text-primary);
            outline: none;
            transition: border-color 0.15s ease;
        }

            .ff-custom input:focus,
            .ff-custom select:focus,
            .ff-custom textarea:focus {
                border-color: var(--brand, #ee5a2e);
            }

        .ff-custom textarea {
            height: 80px;
            resize: none;
        }

    .ff-row-custom {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .fsub-custom {
        width: 100%;
        background: var(--brand, #ee5a2e);
        color: #fff;
        border: none;
        border-radius: var(--border-radius-md);
        padding: 12px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        margin-top: 8px;
        transition: background 0.15s ease;
    }

        .fsub-custom:hover {
            background: var(--brand-dark, #c2410c);
        }

    .fnote-custom {
        font-size: 11px;
        color: var(--color-text-secondary);
        text-align: center;
        margin-top: 10px;
    }

    /* FOOTER */
    .footer-custom {
        background: #000000;
        padding: 15px 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
    }

    .footer-logo-custom {
        /* font-family: var(--font-display); */
        font-size: 18px;
        font-weight: 700;
        color: #fff;
    }

        .footer-logo-custom img {
            height: 45px;
        }

        .footer-logo-custom span {
            color: var(--brand, #ee5a2e);
        }

    .footer-links-custom {
        display: flex;
        gap: 24px;
    }

        .footer-links-custom a {
            font-size: 13px;
            color: var(--color-text-secondary);
            text-decoration: none;
            transition: color 0.15s ease;
        }

            .footer-links-custom a:hover {
                color: var(--brand, #ee5a2e);
            }

    .footer-copy-custom {
        font-size: 12px;
        color: #ffffff;
    }

    /* RESPONSIVE LAYOUT MEDIA QUERIES */
    @media (max-width: 768px) {
        .form-wrap-custom {
            grid-template-columns: 1fr;
            gap: 32px;
        }

        .banner-cta-custom {
            flex-direction: column;
            align-items: flex-start;
            padding: 32px;
        }

        .banner-btns-custom {
            width: 100%;
        }

            .banner-btns-custom button {
                flex: 1;
                text-align: center;
            }

        .hero-stats-custom {
            flex-direction: column;
            align-items: center;
        }

        .hs-custom {
            border-right: none;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            padding: 0 0 16px 0;
            width: 100%;
        }

            .hs-custom:last-child {
                border-bottom: none;
                padding-bottom: 0;
            }

        .nav-custom {
            padding: 13px 16px;
        }

        .nav-links-custom {
            display: none; /* In responsive view, hide regular links to keep it clean */
        }
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: translateY(4px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    /* ==========================================================
   Trusted by Clients - Brand Marquee
   ========================================================== */

    .brand-slider-section {
        padding: 1.2rem 0;
        background: var(--bg);
        border-top: 1px solid rgb(240, 240, 240);
        border-bottom: 1px solid rgb(240, 240, 240);
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .brand-slider-wrapper {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        width: 100%;
        max-width: 100%;
    }

    .brand-slider-label {
        font-family: var(--font-mono);
        font-size: 13px;
        font-weight: 400;
        letter-spacing: 0.12em;
        text-transform: uppercase;
          color: var(--brand);
        white-space: nowrap;
        flex-shrink: 0;
        padding-right: 12px;
        margin: 0;
        line-height: 1;
        display: flex;
        align-items: center;
    }

    .brand-slider-divider {
        width: 1px;
        height: 22px;
        background: var(--line);
        flex-shrink: 0;
    }

    .brand-slider-marquee {
        flex-grow: 1;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        position: relative;
        mask-image: linear-gradient( 90deg, transparent, #000 4%, #000 96%, transparent );
        -webkit-mask-image: linear-gradient( 90deg, transparent, #000 4%, #000 96%, transparent );
    }

    .marquee-track {
        display: flex;
        align-items: center;
        gap: 1rem;
        width: max-content;
        animation: scroll 30s linear infinite;
        will-change: transform;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        transform: translateZ(0);
    }

        .marquee-track .chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: .5rem 1.5rem;
            background: transparent;
            min-width: 140px;
            box-shadow: none;
            flex-shrink: 0;
        }

            .marquee-track .chip img {
                max-height: 60px;
                max-width: 85%;
                object-fit: contain;
                display: block;
                transform: translateZ(0);
                backface-visibility: hidden;
            }

    @keyframes scroll {
        0% {
            transform: translate3d(0, 0, 0);
        }
        100% {
            transform: translate3d(-50%, 0, 0);
        }
    }

    /* ==========================================================
   Tablet (768px)
   ========================================================== */

    @media (max-width:768px) {

        .brand-slider-section {
            width: 100%;
            max-width: 100%;
            overflow: hidden;
            padding: 1.5rem 0;
        }

        .brand-slider-divider {
            display: none;
        }

        .chip {
            min-width: 90px;
        }

        .chip-label {
            font-size: .75rem;
        }
    }

    /* ==========================================================
   Mobile (480px)
   ========================================================== */

    @media (max-width:480px) {

        .brand-slider-section {
            padding: 1rem 0;
        }

        .brand-slider-label {
            font-size: .85rem;
        }

        .brand-slider-wrapper {
            flex-direction: column;
            align-items: flex-start;
            gap: 1rem;
            text-align: center;
            width: 100%;
            max-width: 100%;
        }

        .brand-slider-marquee {
            width: 100%;
            max-width: 100%;
        }

        .brand-slider-divider {
            display: none;
        }

        .chip {
            min-width: 70px;
            height: 60px;
        }

            .chip img {
                max-width: 35px;
                max-height: 40px;
            }

        .chip-label {
            font-size: .65rem;
            margin-top: .25rem;
        }
    }
    /* ============================================================
   SECTION 1 — Hero + Form
   ============================================================ */
    .ctc-hero {
        background: #ffffff;
        padding: 6rem 2rem 3rem;
    }

    /* Left column */
    .ctc-hero-h1 {
        line-height: 1.1;
        letter-spacing: -.025em;
        color: #0a0a0a;
        margin: 0;
    }

    .ctc-accent {
        color: #ee5a2e;
    }

    .ctc-hero-lead {
        /* font-family: "DM Sans", sans-serif; */
        font-size: .975rem;
        color: #555;
        line-height: 1.65;
        max-width: 420px;
        margin: 0;
    }

    /* Email box */
    .ctc-email-box {
        display: inline-flex;
        align-items: center;
        gap: 1.85rem;
        background: #fff1ea;
        border: 1.5px solid #f97316;
        border-radius: 14px;
        padding: .9rem 1.25rem;
        max-width: 280px;
    }

    .ctc-email-icon {
        width: 50px;
        height: 30px;
        background: #ffffff;
        border-radius: 8px;
        display: grid;
        place-items: center;
        flex-shrink: 0;
    }

    .ctc-email-label {
        /* font-family: "Space Mono", monospace; */
        font-size: .8rem;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: #6b7280;
        margin-bottom: .15rem;
    }

    .ctc-email-val {
        /* font-family: "DM Sans", sans-serif; */
        font-size: .875rem;
        font-weight: 700;
        color: #0a0a0a;
        text-decoration: none;
        transition: color .2s;
    }

        .ctc-email-val:hover {
            color: #ee5a2e;
        }

    /* Trust list */
    .ctc-trust-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: .65rem;
    }

        .ctc-trust-list li {
            display: flex;
            align-items: center;
            gap: .6rem;
            font-family: "DM Sans", sans-serif;
            font-size: .875rem;
            color: #1a1a1f;
            font-weight: 500;
        }

    /* Form card */
    .ctc-form-card {
        background: #ffffff;
        border: 1.5px solid #eef0f3;
        border-radius: 22px;
        padding: 2.25rem 2.5rem;
        box-shadow: 4px 5px 9px 8px rgba(16, 24, 40, .04);
    }

    .ctc-form-title {
        /* font-family: "Syne", sans-serif; */
        font-size: 1.35rem;
        font-weight: 700;
        color: #0a0a0a;
        margin: 0 0 .35rem;
    }

    .ctc-form-sub {
        /* font-family: "DM Sans", sans-serif; */
        font-size: .82rem;
        color: #6b7280;
        margin: 0 0 1.5rem;
    }

    .ctc-field {
        display: flex;
        flex-direction: column;
        gap: .35rem;
    }

    .ctc-label {
        /* font-family: "Space Mono", monospace; */
        font-size: .78rem;
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: #3e3e3e;
    }

    .ctc-req {
        color: #ee5a2e;
    }

    .ctc-input {
        width: 100%;
        padding: .85rem 1rem;
        border: 1.5px solid #eef0f3;
        border-radius: 8px;
        font-size: .9rem;
        font-family: "DM Sans", sans-serif;
        color: #0a0a0a;
        background: #ffffff;
        outline: none;
        transition: border-color .2s, box-shadow .2s;
        appearance: auto;
    }

        .ctc-input:focus {
            border-color: #ee5a2e;
            box-shadow: 0 0 0 3px rgba(238, 90, 46, .09);
        }

    .ctc-textarea {
        resize: vertical;
        min-height: 130px;
    }

.ctc-submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    background: #ee5a2e;
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    padding: 1rem 1.5rem;
    border-radius: var(--border-radius-md);
    border: none;
    cursor: pointer;
    transition: background .2s, transform .18s;
}

        .ctc-submit-btn:hover {
            background: #c2410c;
            transform: translateY(-2px);
        }

    .ctc-form-note {
        /* font-family: "DM Sans", sans-serif; */
        font-size: .78rem;
        color: #9ca3af;
        text-align: center;
        margin: 0;
    }

    /* ==========================================
   TESTIMONIALS SECTION
========================================== */

    .testimonials-section {
        padding: 80px 0;
        background: #fff1ea;
    }

    .label-center {
        text-align: center;
    }

    .testimonials-grid-wrapper {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 32px;
        margin-top: 48px;
        align-items: start;
    }

    .testimonials-main {
        display: flex;
        flex-direction: column;
    }

    /* ==========================================
   FEATURED CARD
========================================== */

    .featured-video-card {
        background: #fff;
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 10px 24px -8px rgba(15,23,42,.10);
        height: 100%;
    }

    .video-preview {
        position: relative;
        height: 340px; /* IMPORTANT */
        overflow: hidden;
        background: #111;
    }

        .video-preview video {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

            /* Thumbnail image style */
            .video-preview img,
            .video-preview video[poster] {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

    .video-tag {
        position: absolute;
        top: 14px;
        left: 14px;
        z-index: 5;
        background: rgba(0,0,0,.75);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        padding: 6px 12px;
        border-radius: 50px;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    /* ==========================================
   PLAY BUTTON
========================================== */

    .video-preview .play-btn {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        width: 64px;
        height: 64px;
        border-radius: 50%;
        border: none;
        background: #ee5a2e;
        color: #fff;
        cursor: pointer;
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 0 0 10px rgba(238,90,46,.15), 0 10px 25px rgba(238,90,46,.35);
        transition: .25s ease;
    }

        .video-preview .play-btn:hover {
            transform: translate(-50%,-50%) scale(1.08);
        }

    /* ==========================================
   CONTENT AREA
========================================== */

    .testimonial-body {
        padding: 32px;
    }

    .quote-icon {
        color: #ee5a2e;
        font-size: 48px;
        line-height: 1;
        font-family: Georgia,serif;
        margin-bottom: 8px;
    }

    .testi-text {
        font-size: 15px;
        line-height: 1.8;
        color: #1a1a1f;
        margin-bottom: 28px;
    }

    .testimonial-footer {
        border-top: 1px solid #eef0f3;
        padding-top: 24px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .author-info {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .avatar {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: #ee5a2e;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 13px;
    }

    .author-details {
        display: flex;
        flex-direction: column;
    }

        .author-details .name {
            color: #0a0a0a;
            font-weight: 700;
            font-size: 14px;
        }

        .author-details .role {
            color: #6b7280;
            font-size: 12px;
        }

    .rating-badge {
        text-align: right;
    }

    .stars {
        color: #f97316;
        letter-spacing: 2px;
        font-size: 13px;
    }

    .tag-soft {
        display: inline-block;
        margin-top: 4px;
        background: #fff1ea;
        color: #ee5a2e;
        font-size: 11px;
        font-weight: 700;
        padding: 4px 10px;
        border-radius: 6px;
    }

    /* ==========================================
   RIGHT SCROLL CARDS
========================================== */

    .vertical-scroll-container {
        height: 611px;
        overflow-y: auto;
        padding-right: 8px;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

        .vertical-scroll-container::-webkit-scrollbar {
            width: 4px;
        }

        .vertical-scroll-container::-webkit-scrollbar-thumb {
            background: #ee5a2e;
            border-radius: 50px;
        }

    .scroll-card {
        background: #fff;
        border-radius: 14px;
        padding: 22px;
        border: 1px solid rgba(238,90,46,.08);
    }

        .scroll-card .card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
        }

        .scroll-card .card-quote {
            color: #1a1a1f;
            font-size: 14px;
            line-height: 1.7;
            font-style: italic;
            margin-bottom: 20px;
        }

        .scroll-card .card-footer {
            display: flex;
            align-items: center;
            gap: 10px;
            padding-top: 14px;
            border-top: 1px solid #eef0f3;
        }

    /* ==========================================
   CTA BUTTON
========================================== */

    .cta-row {
        text-align: center;
        margin-top: 48px;
    }

        .cta-row .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 14px 26px;
            border: 1px solid #ee5a2e;
            color: #ee5a2e;
            background: #fff;
            border-radius: 12px;
            font-weight: 600;
            transition: .25s ease;
        }

            .cta-row .btn:hover {
                background: #ee5a2e;
                color: #fff;
            }

    /* ==========================================
   MOBILE
========================================== */

    @media(max-width:768px) {

        .testimonials-grid-wrapper {
            grid-template-columns: 1fr;
        }

        .video-preview {
            height: 260px;
        }

        .vertical-scroll-container {
            height: 350px;
        }

        .testimonial-footer {
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
        }
    }


    /*form*/
    .contact-message {
        display: none;
        padding: 12px 18px;
        margin-top: 15px;
        border-radius: 8px;
        font-size: 15px;
        transition: opacity .4s ease;
    }

        .contact-message.success {
            background: #d1e7dd;
            color: #0f5132;
            border: 1px solid #badbcc;
        }

        .contact-message.error {
            background: #f8d7da;
            color: #842029;
            border: 1px solid #f5c2c7;
        }


/* =========================================================
   healthcare-solution.css
   Uses root variables from styles.css
   ========================================================= */

/* ── Hero ── */
.hc-hero {
    background-color: #030712;
    background-image: radial-gradient(circle at 75% 20%, rgba(238, 90, 46, 0.18) 0%, transparent 50%), radial-gradient(circle at 15% 80%, rgba(249, 115, 22, 0.10) 0%, transparent 50%), linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 40px 40px, 40px 40px;
    padding: 5rem 0 6rem;
    color: #fff;
    overflow: hidden;
    position: relative;
}

.hc-hero-eyebrow {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
    margin-bottom: 1.5rem;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

    .hc-hero-eyebrow span {
        color: var(--brand);
    }

.hc-hero-h1 {
    font-family: var(--font-display);
    font-size: clamp(36px, 5vw, 52px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.02em;
    color: #fff;
    margin-bottom: 1.5rem;
}

    .hc-hero-h1 .accent {
        background: linear-gradient(90deg, var(--brand) 0%, #f97316 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.hc-hero-lead {
    font-size: 1.1rem;
    line-height: 1.65;
    color: rgba(255,255,255,.75);
    max-width: 560px;
    margin-bottom: 2.5rem;
}

.hc-hero-ctas {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.hc-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: var(--brand);
    color: #fff !important;
    font-weight: 600;
    font-size: .9rem;
    padding: .9rem 1.75rem;
    border-radius: 8px;
    text-decoration: none;
    transition: all .2s ease;
    border: 1px solid var(--brand);
}

    .hc-btn-primary:hover {
        background: var(--brand-dark);
        border-color: var(--brand-dark);
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(238,90,46,.35);
    }

.hc-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: transparent;
    color: rgba(255,255,255,.85) !important;
    font-weight: 600;
    font-size: .9rem;
    padding: .9rem 1.75rem;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.25);
    transition: all .2s ease;
}

    .hc-btn-ghost:hover {
        background: rgba(255,255,255,.08);
        border-color: rgba(255,255,255,.4);
        color: #fff !important;
    }

/* Hero visual */
.hc-hero-visual {
    position: relative;
    width: 340px;
    height: 340px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hc-hero-icon-wrap {
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(238,90,46,.15) 0%, rgba(249,115,22,.08) 100%);
    border: 1px solid rgba(238,90,46,.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5rem;
    color: var(--brand);
}

.hc-hero-badge {
    position: absolute;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    color: #fff;
    font-size: .78rem;
    font-weight: 600;
    padding: .45rem .9rem;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: .4rem;
    backdrop-filter: blur(8px);
}

    .hc-hero-badge i {
        color: var(--brand);
    }

.hc-hero-badge {
    top: 20px;
    left: 0;
}

.hc-badge-2 {
    top: auto;
    bottom: 60px;
    left: 0;
}

.hc-badge-3 {
    top: 40px;
    right: 0;
}

/* ── Stats bar ── */
.hc-stats-bar {
    background: var(--ink-2);
    padding: 2rem 0;
    border-top: 1px solid rgba(255,255,255,.06);
}

.hc-stat-col {
    padding: 1rem;
    border-right: 1px solid rgba(255,255,255,.08);
}

    .hc-stat-col:last-child {
        border-right: none;
    }

.hc-stat-num {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 800;
    color: var(--brand);
    line-height: 1;
    margin-bottom: .35rem;
}

.hc-stat-lbl {
    font-size: .82rem;
    color: rgba(255,255,255,.6);
    font-weight: 500;
}

/* ── Section 1: Need ── */
.hc-need-section {
    padding: 5rem 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.hc-need-title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 800;
    color: var(--ink);
    line-height: 1.2;
    margin-bottom: 1rem;
}

    .hc-need-title .accent {
        color: var(--brand);
    }

.hc-title-underline {
    width: 50px;
    height: 3px;
    background: var(--brand);
    border-radius: 2px;
    margin-top: .5rem;
}

.hc-need-para {
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 0;
}

/* ── Section 2: AI + Integrations ── */
.hc-ai-integrations {
    padding: 5rem 0;
    background: var(--bg-soft);
}

.hc-ai-card {
    background: #fff;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    padding: 2.5rem;
    height: 100%;
    color: var(--ink);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    position: relative;
    overflow: hidden;
}

.hc-ai-card-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 0;
    position: relative;
    z-index: 2;
}

    .hc-ai-card-title .accent {
        color: var(--brand);
    }

.hc-ai-card-desc {
    color: var(--muted);
    font-size: .95rem;
    line-height: 1.6;
    margin-bottom: 0;
}

.hc-ai-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    flex: 1;
}

    .hc-ai-list li {
        display: flex;
        align-items: center;
        gap: .65rem;
        font-size: .95rem;
        color: var(--muted);
        line-height: 1.6;
    }

        .hc-ai-list li i {
            color: var(--brand);
            font-size: 1rem;
            flex-shrink: 0;
        }

.hc-btn-outline-light {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 1px solid rgba(238,90,46,.6);
    color: var(--brand) !important;
    font-weight: 600;
    font-size: .88rem;
    padding: .75rem 1.5rem;
    border-radius: 8px;
    text-decoration: none;
    transition: all .2s ease;
    width: fit-content;
    margin-top: auto;
}

    .hc-btn-outline-light:hover {
        background: rgba(238,90,46,.12);
        border-color: var(--brand);
    }

/* Integrations card */
.hc-integrations-card {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 2.5rem;
    height: 100%;
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
}

.hc-integrations-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: .5rem;
}

    .hc-integrations-title .accent {
        color: var(--brand);
    }

.hc-integrations-desc {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.hc-int-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: 1rem .5rem;
    border: 1px solid var(--line);
    border-radius: 10px;
    text-align: center;
    background: #fff;
    height: 100%;
    transition: all .2s ease;
    cursor: default;
}

    .hc-int-item:hover {
        border-color: var(--brand);
        box-shadow: var(--shadow-md);
        transform: translateY(-2px);
    }

    .hc-int-item i {
        font-size: 1.4rem;
        color: var(--muted);
    }

    .hc-int-item span {
        font-size: .72rem;
        font-weight: 600;
        color: var(--ink);
        line-height: 1.3;
    }

.hc-int-sap i {
    color: #0070f3;
}

.hc-btn-outline-brand {
    border: 1px solid var(--brand);
    color: var(--brand) !important;
    font-weight: 600;
    font-size: .88rem;
    padding: .75rem 1.5rem;
    border-radius: 8px;
    text-decoration: none;
    transition: all .2s ease;
}

    .hc-btn-outline-brand:hover {
        background: var(--brand-soft);
    }

/* ── Section 3: Why DotStark ── */
.hc-why-section {
    padding: 5rem 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.hc-section-title {
    font-size: clamp(26px, 3.5vw, 40px);
    font-weight: 800;
    color: var(--ink);
    line-height: 1.15;
    letter-spacing: -.02em;
}

    .hc-section-title .accent {
        color: var(--brand);
    }

.hc-why-item {
    text-align: center;
    padding: 1.75rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    height: 100%;
    transition: all .2s ease;
}

    .hc-why-item:hover {
        border-color: var(--brand);
        box-shadow: var(--shadow-md);
        transform: translateY(-3px);
    }

.hc-why-icon {
    width: 56px;
    height: 56px;
    background: var(--brand-soft);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    font-size: 1.25rem;
    color: var(--brand);
}

.hc-why-item h5 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: .6rem;
}

.hc-why-item p {
    font-size: .875rem;
    color: var(--muted);
    line-height: 1.6;
    margin-bottom: 0;
}

/* ── Section 4: Industries ── */
.hc-industries-section {
    padding: 4rem 0 5rem;
    background: var(--bg-soft);
}

.hc-industry-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .55rem;
    padding: 1.25rem .75rem;
    text-align: center;
    border-radius: var(--radius);
    transition: all .2s ease;
    min-width: 100px;
}

    .hc-industry-item:hover {
        background: rgba(238,90,46,.06);
    }

    .hc-industry-item i {
        font-size: 1.75rem;
        color: var(--muted);
        transition: color .2s;
    }
    .hc-industry-item:hover i {
        color: var(--brand);
    }

    .hc-industry-item span {
        font-size: .78rem;
        font-weight: 600;
        color: var(--ink);
        line-height: 1.35;
    }

/* â”€â”€ Section 5: Process â”€â”€ */
.hc-process-section {
    padding: 3rem 0;
}

.hc-process-step {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 1.75rem 1.25rem;
    height: 100%;
    position: relative;
    transition: all .2s ease;
}

    .hc-process-step:hover {
        border-color: var(--brand);
        box-shadow: var(--shadow-md);
    }

.hc-process-num {
    width: 44px;
    height: 44px;
    background: var(--brand);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    font-weight: 800;
    margin-bottom: 1rem;
}

.hc-process-step h5 {
    font-size: .95rem;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: .75rem;
}

.hc-process-step ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

    .hc-process-step ul li {
        font-size: .82rem;
        color: var(--muted);
        padding-left: .85rem;
        position: relative;
        line-height: 1.4;
    }

        .hc-process-step ul li::before {
            content: '•';
            position: absolute;
            left: 0;
            color: var(--brand);
            font-weight: 700;
        }

/* ── Section 6: Results ── */
.hc-results-section {
    padding: 4rem 0 5rem;
    background: #fff;
}

.hc-result-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .6rem;
    padding: 1.5rem .75rem;
    text-align: center;
    border-radius: var(--radius);
    border: 1px solid var(--line);
    background: #fff;
    transition: all .2s ease;
    min-width: 110px;
}

    .hc-result-item:hover {
        border-color: var(--brand);
        box-shadow: var(--shadow-sm);
        transform: translateY(-2px);
    }

    .hc-result-item i {
        font-size: 1.75rem;
        color: var(--brand);
    }

    .hc-result-item span {
        font-size: .78rem;
        font-weight: 600;
        color: var(--ink);
        line-height: 1.35;
    }

/* ── Responsive tweaks ── */
@media (max-width: 991.98px) {
    .hc-hero {
        padding: 3.5rem 0 4rem;
    }

    .hc-hero-visual {
        width: 260px;
        height: 260px;
    }

    .hc-hero-icon-wrap {
        width: 160px;
        height: 160px;
        font-size: 4rem;
    }

    .hc-ai-card, .hc-integrations-card {
        padding: 2rem 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .hc-need-section {
        padding: 3rem 0;
    }

    .hc-ai-integrations, .hc-why-section, .hc-process-section {
        padding: 3rem 0;
    }

    .hc-industries-section, .hc-results-section {
        padding: 3rem 0;
    }

    .hc-hero-visual {
        display: none;
    }

    .hc-stat-col {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

        .hc-stat-col:last-child {
            border-bottom: none;
        }

}

/* Automated Alternating Backgrounds & Layout Fixes */
section:nth-of-type(odd) {
    background-color: #ffffff !important;
}

section:nth-of-type(even) {
    background-color: #f2f2f2 !important;
}

/* Global Section Spacing */
/*section.sec-custom {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}*/

/* Header Container Separation */
.text-center.mb-5 {
    margin-top: 2rem;
}

/* Custom adjustment for adjacent section spacing */
section.sec-custom.sec-alt-custom.ai-style-change-2 {
    padding-bottom: 2.5rem !important;
}
section#ai-section {
    padding-top: 2.5rem !important;
}
section.sec-custom .container-xxl > *:last-child {
    margin-bottom: 0 !important;
}

/* Responsive Support */
@media (max-width: 768px) {
    section.sec-custom {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }
}







/* Hospitality */

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(30,41,59,.06);background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.hbar{display:flex;align-items:center;justify-content:space-between;padding-block:1rem;padding: 13px 28px;}
.logo{display:flex;align-items:center;gap:.625rem;min-width:0}
.logo .mark{display:grid;place-items:center;height:2.25rem;width:2.25rem;flex:none;border-radius:.75rem;background:var(--brand);color:#fff;font-weight:900;font-size:.875rem}
.logo .txt{font-family:"Inter", sans-serif;font-weight:800;font-size:1.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.logo .txt span{color:var(--brand)}
nav.desk{position:absolute;left:50%;transform:translateX(-50%);display:none;align-items:center;gap:2rem}
nav.desk a{font-size:.9375rem;font-weight:500;color:var(--ink);transition:.2s;position:relative}
nav.desk a:hover{color:var(--brand)}
nav.desk a::after{content:'';position:absolute;bottom:-1.5rem;left:0;right:0;height:2px;background:var(--brand);transform:scaleX(0);transition:transform .3s}
nav.desk a:hover::after{transform:scaleX(1)}
.nav-cta{display:none;margin-left:auto}
#menuBtn{margin-left:auto;border-radius:.5rem;border:1px solid rgba(30,41,59,.15);background:#fff;padding:.625rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:.2s}
#menuBtn:hover{background:#f9f9f9}
#mobileNav{display:none;border-top:1px solid rgba(30,41,59,.06);background:#fff;padding:1rem 1.25rem 1.5rem}
#mobileNav.open{display:block}
#mobileNav a{display:block;border-radius:.5rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;transition:.2s}
#mobileNav a:hover{background:#f6f2ec}
#mobileNav .btn{width:100%;margin-top:1rem}
@media(min-width:1024px){nav.desk{display:flex}.nav-cta{display:inline-flex}#menuBtn{display:none}}



/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#fff}
.hero .bg{position:absolute;inset:0;display:none}
.hero .bg img{height:100%;width:100%;object-fit:cover}
.hero .bg .g1{position:absolute;inset:0;background:linear-gradient(to right,rgba(20,28,45,.93),rgba(20,28,45,.78) 45%,rgba(20,28,45,.35))}
.hero .bg .g2{position:absolute;inset:0;background:radial-gradient(60% 60% at 15% 20%,rgba(240,93,38,.3),transparent 70%)}
.hero .inner{position:relative;display:flex;justify-content:center;align-items:center;padding:3.5rem 1.25rem 6rem}

.hero .hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:56rem;width:100%;padding:0 1rem}
.badge{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);padding:.375rem 1rem;font-family:"Inter", sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);backdrop-filter:blur(10px);font-weight:600}
.hero h1{margin-top:0;font-size:clamp(1.5rem,4.5vw,3rem);line-height:1.2;font-weight:600;color:var(--ink-2);text-wrap:balance;text-align:center;letter-spacing:-.02em;padding:0 .5rem;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}
.hero h1 em{font-style:normal;color:var(--brand);font-weight:650}
.hero p.lead{margin-top:1.5rem;max-width:48rem;font-size:clamp(.875rem,1.8vw,1.0625rem);line-height:1.7;color:var(--muted);text-align:center;font-weight:400;padding:0 1rem}
.hero .cta{margin-top:2.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
@media(min-width:640px){.hero .cta{gap:1.25rem}}
.hero .fine{margin-top:1.5rem;font-size:.75rem;color:rgba(255,255,255,.55)}
.stats{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;width:100%;max-width:62rem;margin:1.5rem auto 0}
.stats>div{flex:1 1 calc(50% - 1.5rem);min-width:140px;max-width:200px;border-radius:.75rem;border:1px solid rgba(30,41,59,.08);background:#fff;padding:1.5rem 1.25rem;backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.22,1,.36,1);text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.06)}
@media(min-width:768px){.stats>div{flex:1 1 auto}}
.stats>div:hover{transform:translateY(-4px);border-color:rgba(240,93,38,.2);background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.1)}
.stats b{font-family:"Inter", sans-serif;font-size:1.5rem;font-weight:600;color:var(--ink-2);display:block;line-height:1.2}
.stats span{display:block;margin-top:.5rem;font-size:.8125rem;color:var(--muted);line-height:1.4;font-weight:500}


/* =========================================================
   HOSPITALITY - WHY DXP SECTION
   ========================================================= */


/* ---------- SECTION ---------- */

section.hospitality-sec {
  scroll-margin-top: 6rem;
  padding: 5rem 0;
}

@media (min-width: 640px) {
  section.hospitality-sec {
    padding: 7rem 0;
  }
}


/* ---------- SECTION VARIANTS ---------- */

.hospitality-sec.hospitality-sand {
  background: var(--bg-soft);
}

.hospitality-sec.hospitality-ink {
  background: var(--ink);
  color: #fff;
}


/* ---------- WRAPPER ---------- */

.hospitality-wrap {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1.5rem;
}


/* ---------- HEADER ---------- */

.hospitality-head {
  max-width: 62rem;
  margin-inline: auto;
  text-align: center;
}


/* ---------- KICKER ---------- */

.hospitality-kicker {
  font-family: "Inter", sans-serif;
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--brand);
  font-weight: 600;
}


/* ---------- HEADER TITLE ---------- */

.hospitality-head h2 {
  margin-top: .75rem;
  font-family: "Inter", sans-serif;
  font-size: clamp(1.85rem, 4vw, 2.6rem);
  line-height: 1.1;
  font-weight: 650;
}


/* ---------- HEADER DESCRIPTION ---------- */

.hospitality-head p {
  margin-top: 1rem;
  font-family: "Inter", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--muted);
}


/* ---------- DARK / INK SECTION ---------- */

.hospitality-sec.hospitality-ink
.hospitality-head h2 {
  color: #fff;
}

.hospitality-sec.hospitality-ink
.hospitality-head p {
  color: rgba(255, 255, 255, .7);
}


/* ---------- REVEAL ---------- */

.hospitality-reveal {
  opacity: 1;
}


/* =========================================================
   DXP HUB
   ========================================================= */

.hospitality-hub {
  display: grid;
  gap: 2rem;
  margin-top: 3.5rem;
}


/* ---------- DESKTOP HUB ---------- */

@media (min-width: 1024px) {

  .hospitality-hub {
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }

}


/* ---------- HUB COLUMNS ---------- */

.hospitality-hubcol {
  display: grid;
  gap: .75rem;
}


/* =========================================================
   HUB ITEMS
   ========================================================= */

.hospitality-hubitem {
  display: flex;
  align-items: center;
  gap: .75rem;

  border-radius: 1rem;

  border: 1px solid var(--line);

  background: #fff;

  padding: 1rem 1.25rem;

  box-shadow: var(--shadow-soft);

  transition: transform .5s;

  font-family: "Inter", sans-serif;

  font-weight: 700;

  font-size: .875rem;
}


/* ---------- HOVER ---------- */

.hospitality-hubitem:hover {
  transform: translateY(-4px);
}


/* =========================================================
   DOTS
   ========================================================= */

.hospitality-dot {
  height: .5rem;
  width: .5rem;

  flex: none;

  border-radius: 999px;

  background: var(--brand);
}


/* ---------- ALTERNATIVE DOT ---------- */

.hospitality-dot.hospitality-alt {
  background: var(--brand-2);
}


/* =========================================================
   LEFT HUB COLUMN
   ========================================================= */

@media (min-width: 1024px) {

  .hospitality-hubcol.hospitality-left
  .hospitality-hubitem {
    justify-content: flex-end;
    text-align: right;
  }

  .hospitality-hubcol.hospitality-left
  .hospitality-dot {
    order: 2;
  }

}


/* =========================================================
   CENTRAL DXP CIRCLE
   ========================================================= */

.hospitality-hubcore {
  position: relative;

  display: grid;

  place-items: center;

  height: 15rem;

  width: 15rem;

  margin-inline: auto;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      var(--brand),
      var(--brand-dark)
    );

  color: #fff;

  text-align: center;

  box-shadow: var(--shadow-lift);
}


/* =========================================================
   GLOW
   ========================================================= */

.hospitality-hubcore
.hospitality-glow {

  position: absolute;

  inset: 0;

  border-radius: 999px;

  background: rgba(240, 93, 38, .25);

  filter: blur(28px);

  animation:
    hospitality-pulse-glow
    2.4s ease-in-out infinite;

  pointer-events: none;
}


/* =========================================================
   CENTRAL CONTENT
   ========================================================= */

.hospitality-hubcore > div {
  position: relative;
  z-index: 2;
}


/* ---------- CENTRAL KICKER ---------- */

.hospitality-hubcore
.hospitality-k {

  margin: 0;

  font-family: "Inter", sans-serif;

  font-size: .65rem;

  letter-spacing: .22em;

  text-transform: uppercase;

  opacity: .8;

  font-weight: 600;
}


/* ---------- DXP TEXT ---------- */

.hospitality-hubcore
.hospitality-b {

  margin-top: .25rem;

  font-family: "Inter", sans-serif;

  font-size: 1.875rem;

  font-weight: 800;

  line-height: 1.2;
}


/* ---------- DXP DESCRIPTION ---------- */

.hospitality-hubcore
.hospitality-s {

  margin-top: .25rem;

  font-size: .75rem;

  line-height: 1.5;

  opacity: .85;
}
/* =========================================================
   RESPONSIVE  ≤ 1024px  — ONLY THIS BLOCK, NOTHING ELSE CHANGES
   ========================================================= */

@media (max-width: 1024px) {

  /* ── Wrapper ── */
  .hospitality-wrap {
    padding-inline: 1.25rem;
  }

  /* ── Hub: single column stack ── */
  .hospitality-hub {
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 0.875rem;
    margin-top: 2rem;
  }

  /* ── Reorder: hub card first, then left col, then right col ── */
  .hospitality-hub > .hospitality-reveal:nth-child(1) { order: 2; }
  .hospitality-hub > .hospitality-reveal:nth-child(2) { order: 1; }
  .hospitality-hub > .hospitality-reveal:nth-child(3) { order: 3; }

  /* ── All reveal wrappers full width ── */
  .hospitality-hub > .hospitality-reveal {
    width: 100%;
  }

  /* =========================================================
     DXP HUB CARD  — pill shaped horizontal card
     ========================================================= */

  .hospitality-hubcore {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    padding: 1rem 1.25rem;
    margin-inline: 0;

    /* Switch from grid to flex row */
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;

    text-align: left;
  }

  /* Kill glow — causes layout issues on mobile */
  .hospitality-hubcore .hospitality-glow {
    display: none;
  }

  /* The inner <div> that wraps k + b + s */
  .hospitality-hubcore > div {
    position: static;
    z-index: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    width: 100%;
  }

  /* Badge circle — rendered via ::before on the inner div */
  .hospitality-hubcore > div::before {
    content: 'DXP';
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    font-family: "Inter", sans-serif;
    font-size: 0.9rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.02em;
  }

  /* Text block next to badge */
  .hospitality-hubcore > div > * {
    display: block;
  }

  /* Hide the small kicker — badge already says DXP */
  .hospitality-hubcore .hospitality-k {
    display: none;
  }

  /* "Central Hub" — main bold title */
  .hospitality-hubcore .hospitality-b {
    font-size: 1.25rem;
    font-weight: 800;
    margin-top: 0;
    line-height: 1.2;
    color: #fff;
  }

  /* Subtitle */
  .hospitality-hubcore .hospitality-s {
    font-size: 0.78rem;
    margin-top: 0.2rem;
    opacity: 0.88;
    line-height: 1.4;
  }

  /* =========================================================
     "Connected tools" label
     — injected above the LEFT column (which is ordered 2nd)
     ========================================================= */

  .hospitality-hub > .hospitality-reveal:nth-child(1)::before {
    content: 'Connected tools';
    display: block;
    font-family: "Inter", sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    color: #999;
    letter-spacing: 0.01em;
    margin-bottom: 0.625rem;
    text-transform: none;
  }

  /* =========================================================
     TOOL COLUMNS — both merge into one 2-col grid
     ========================================================= */

  .hospitality-hubcol {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  /* ── FIX: Reset ALL left-column desktop overrides ──
     On desktop, left col has justify-content:flex-end,
     text-align:right, and dot order:2.
     We must hard-reset all of these.
  */
  .hospitality-hubcol.hospitality-left .hospitality-hubitem {
    justify-content: flex-start !important;
    text-align: left !important;
    flex-direction: row !important;
  }

  .hospitality-hubcol.hospitality-left .hospitality-dot {
    order: 0 !important;
  }

  /* All hub items uniform */
  .hospitality-hubitem {
    padding: 0.75rem 1rem;
    font-size: 0.8rem;
    border-radius: 0.875rem;
    flex-direction: row;
    justify-content: flex-start;
  }

}
/* =========================================================
   MAX-WIDTH 1024px — COMPLETE RESPONSIVE OVERRIDE
   ========================================================= */
/* =========================================================
   MAX-WIDTH 1024px — COMPLETE RESPONSIVE OVERRIDE
   ========================================================= */

@media (max-width: 1024px) {

  .hospitality-wrap {
    padding-inline: 1.25rem;
  }

  /* Hub: single column */
  .hospitality-hub {
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 0.875rem;
    margin-top: 2rem;
  }

  /* Reorder: hub 1st, left-col 2nd, right-col 3rd */
  .hospitality-hub > .hospitality-reveal:nth-child(1) { order: 2; }
  .hospitality-hub > .hospitality-reveal:nth-child(2) { order: 1; }
  .hospitality-hub > .hospitality-reveal:nth-child(3) { order: 3; }

  .hospitality-hub > .hospitality-reveal {
    width: 100%;
  }

  /* ======================
     OPTION C — Centered hero card
  ====================== */

  .hospitality-hubcore {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    padding: 0.75rem 0.5rem;
    margin-inline: 0;

    /* centered column layout */
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    text-align: center;
  }

  /* Kill glow */
  .hospitality-hubcore .hospitality-glow {
    display: none !important;
  }

  /* Inner div — column, centered */
  .hospitality-hubcore > div {
    position: static;
    z-index: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 100%;
  }

  /* Badge circle — via ::before on inner div */
  .hospitality-hubcore > div::before {
    content: 'DXP';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    font-family: "Inter", sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.03em;
    margin-bottom: 0.875rem;
    flex-shrink: 0;
  }

  /* Kicker → "Central hub" label above title */
  .hospitality-hubcore .hospitality-k {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.7;
    color: #fff;
    margin-bottom: 0.35rem;
    line-height: 1;
  }

  /* "DXP" big text — HIDE, badge already shows it */
  .hospitality-hubcore .hospitality-b {
    display: none !important;
  }

  /* Subtitle — main message */
  .hospitality-hubcore .hospitality-s {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: 0;
    opacity: 1;
    color: #fff;
    line-height: 1.35;
  }

  /* ======================
     "Connected tools" label
  ====================== */

  .hospitality-hub > .hospitality-reveal:nth-child(1)::before {
    content: 'Connected tools';
    display: block;
    font-family: "Inter", sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    color: #999;
    letter-spacing: 0.01em;
    text-transform: none;
    margin-bottom: 0.625rem;
  }

  /* ======================
     TOOL COLUMNS → unified 2-col grid
  ====================== */

  .hospitality-hubcol {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  /* Reset ALL left-column desktop overrides */
  .hospitality-hubcol.hospitality-left .hospitality-hubitem {
    justify-content: flex-start !important;
    flex-direction: row !important;
    text-align: left !important;
  }

  /* Pull dot BEFORE text on left-col items (dot is last in DOM) */
  .hospitality-hubcol.hospitality-left .hospitality-dot {
    order: -1 !important;
  }

  /* Right col — already correct dot order */
  .hospitality-hubcol:not(.hospitality-left) .hospitality-hubitem {
    justify-content: flex-start !important;
    flex-direction: row !important;
    text-align: left !important;
  }

  /* Uniform item sizing */
  .hospitality-hubitem {
    padding: 0.75rem 1rem;
    font-size: 0.8rem;
    border-radius: 0.875rem;
  }

}

/* =========================================================
   MOBILE ≤ 639px — small screen tweaks
   ========================================================= */

@media (max-width: 639px) {

  section.hospitality-sec {
    padding: 4rem 0;
  }

  .hospitality-wrap {
    padding-inline: 1rem;
  }

  .hospitality-hub {
    gap: 0.75rem;
    margin-top: 1.5rem;
  }

  .hospitality-hubcore {
    padding: 1.5rem 1.25rem;
  }

  .hospitality-hubcore > div::before {
    width: 56px;
    height: 56px;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
  }

  .hospitality-hubcore .hospitality-s {
    font-size: 1rem;
  }

  .hospitality-hubitem {
    padding: 0.65rem 0.75rem;
    font-size: 0.75rem;
    border-radius: 0.75rem;
  }

  .hospitality-hubcol {
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
  }

}



   /* =========================================================
   GLOW ANIMATION
   ========================================================= */

@keyframes hospitality-pulse-glow {

  0%,
  100% {
    transform: scale(1);

    opacity: .6;
  }

  50% {
    transform: scale(1.08);

    opacity: 1;
  }

}

/* =========================================================
   HOSPITALITY - USE CASES
   ========================================================= */


/* ---------- USE CASE LIST ---------- */

.hospitality-uc-list {
  display: grid;
  gap: 1.25rem;
  align-items: start;

  list-style: none;

  margin-top: 3.5rem;
  padding: 0;
}


/* ---------- DESKTOP: TWO COLUMNS ---------- */

@media (min-width: 1024px) {

  .hospitality-uc-list {
    grid-template-columns: 1fr 1fr;
  }

}


/* =========================================================
   USE CASE CARD
   ========================================================= */

.hospitality-uc {
  height: 100%;

  overflow: hidden;

  border-radius: 1.75rem;

  border: 1px solid #eae4dc;

  background: #fff;

  transition: all .5s;
}


/* ---------- CARD HOVER ---------- */

.hospitality-uc:hover {
  border-color: rgba(240, 93, 38, .25);

  box-shadow: var(--shadow-soft);
}


/* ---------- OPEN CARD ---------- */

.hospitality-uc.hospitality-open {
  border-color: rgba(240, 93, 38, .35);

  box-shadow: var(--shadow-lift);
}


/* =========================================================
   USE CASE BUTTON
   ========================================================= */

.hospitality-uc-btn {
  display: flex;

  width: 100%;

  align-items: flex-start;

  gap: 1rem;

  padding: 1.5rem;

  text-align: left;

  background: none;

  border: 0;

  cursor: pointer;

  font: inherit;

  color: inherit;
}


@media (min-width: 640px) {

  .hospitality-uc-btn {
    padding: 1.75rem;
  }

}


/* =========================================================
   NUMBER
   ========================================================= */

.hospitality-uc-n {
  display: grid;

  place-items: center;

  height: 2.75rem;

  width: 2.75rem;

  flex: none;

  border-radius: 1rem;

  background: var(--brand-soft);

  color: var(--brand);

  font-family: "Inter", sans-serif;

  font-weight: 800;

  font-size: .875rem;
}


/* =========================================================
   MIDDLE CONTENT
   ========================================================= */

.hospitality-uc-mid {
  flex: 1;

  min-width: 0;
}


/* ---------- TAG ---------- */

.hospitality-uc-tag {
  font-family: "Inter", sans-serif;

  font-size: .62rem;

  letter-spacing: .2em;

  text-transform: uppercase;

  color: var(--muted);

  font-weight: 600;
}


/* ---------- TITLE ---------- */

.hospitality-uc h3 {
  margin-top: .25rem;

  font-size: 1.25rem;

  line-height: 1.35;

  font-weight: 700;
}


/* =========================================================
   KPI CHIP
   ========================================================= */

.hospitality-chip-kpi {
  display: inline-flex;

  margin-top: .75rem;

  border-radius: 999px;

  background:#f7efe1;

  color:#a8471a;

  padding: .25rem .75rem;

  font-size: .75rem;

  font-weight: 700;
}


/* =========================================================
   PLUS BUTTON
   ========================================================= */

.hospitality-plus {
  display: grid;

  place-items: center;

  height: 2rem;

  width: 2rem;

  flex: none;

  border-radius: 999px;

  border: 1px solid rgba(30, 41, 59, .12);

  transition: .3s;
}


/* ---------- OPEN PLUS ---------- */

.hospitality-uc.hospitality-open
.hospitality-plus {
  transform: rotate(45deg);

  background: var(--brand);

  border-color: var(--brand);

  color: #fff;
}


/* =========================================================
   EXPANDED PANEL
   ========================================================= */

.hospitality-uc-panel {
  display: grid;

  gap: 1.25rem;

  border-top: 1px solid var(--line);

  padding: 1.5rem 1.5rem 1.75rem;
}


@media (min-width: 640px) {

  .hospitality-uc-panel {
    padding-inline: 1.75rem;
  }

}


/* ---------- HIDDEN PANEL ---------- */

.hospitality-uc-panel[hidden] {
  display: none;
}


/* =========================================================
   TWO COLUMN CONTENT
   ========================================================= */

.hospitality-two {
  display: grid;

  gap: 1rem;
}
.hospitality-three{
display: flex;
flex-direction: column;

  gap: 1rem;
}


@media (min-width: 640px) {

  .hospitality-two {
    grid-template-columns: 1fr 1fr;
  }

}


/* =========================================================
   PROBLEM / SOLUTION BOX
   ========================================================= */

.hospitality-box {
  border-radius: 1rem;

  padding: 1rem;

  /* background: #f6f2ec; */
}


/* ---------- SOLUTION BOX ---------- */

.hospitality-box.hospitality-bus {
  background: var(--brand-soft);
}


/* =========================================================
   BOX LABEL
   ========================================================= */

.hospitality-box .hospitality-lbl {
  font-family: "Inter", sans-serif;

  font-size: .62rem;

  letter-spacing: .2em;

  text-transform: uppercase;

  color: #000;

  font-weight: 600;
}


/* ---------- SOLUTION LABEL ---------- */

.hospitality-box.hospitality-sol
.hospitality-lbl {
  color: var(--brand);
}


/* =========================================================
   BOX TEXT
   ========================================================= */

.hospitality-box p {
  margin-top: .5rem;

  font-size: .875rem;

  line-height: 1.65;

  color: rgba(30, 41, 59, .8);
}


/* =========================================================
   SECTION HEADINGS INSIDE CARDS
   ========================================================= */

.hospitality-uc h4 {
  font-size: .875rem;

  font-weight: 700;
}


/* =========================================================
   PILLS
   ========================================================= */

.hospitality-pills {
  margin-top: .75rem;

  display: flex;

  flex-wrap: wrap;

  gap: .5rem;

  list-style: none;

  padding: 0;
}


/* ---------- PILL ---------- */

.hospitality-pills li {
  border-radius: 999px;

  border: 1px solid var(--line);

  background: #fff;

  padding: .375rem .75rem;

  font-size: .75rem;

  color: rgba(30, 41, 59, .7);
}


/* =========================================================
   Business Outcomes
   ========================================================= */

.hospitality-outs {
  margin-top: .75rem;

  display: grid;

  gap: .5rem;

  list-style: none;

  padding: 0;
}


/* ---------- OUTCOME ITEM ---------- */

.hospitality-outs li {
  display: flex;

  gap: .5rem;

  font-size: .875rem;

  color: var(--muted);
}


/* ---------- OUTCOME DOT ---------- */

.hospitality-outs li::before {
  content: "";

  margin-top: .45rem;

  height: .375rem;

  width: .375rem;

  flex: none;

  border-radius: 999px;

  background: var(--success);
}

.text-color em {
    font-style: normal;
  color: var(--brand);

}
/* =========================================================
   HOSPITALITY - OUTCOMES / KPIs
   ========================================================= */


/* ---------- KPI GRID ---------- */

.hospitality-kpis {
  display: grid;
  gap: 1rem;
  margin-top: 3.5rem;
}


/* ---------- TABLET ---------- */

@media (min-width: 640px) {
  .hospitality-kpis {
    grid-template-columns: 1fr 1fr;
  }
}


/* ---------- DESKTOP ---------- */

@media (min-width: 1024px) {
  .hospitality-kpis {
    grid-template-columns: repeat(3, 1fr);
  }
}


/* =========================================================
   KPI CARD
   ========================================================= */

.hospitality-kpi {
  height: 100%;

  border-radius: 1.5rem;

  border: 1px solid rgba(0, 0, 0, .08);

  background: #fff;

  padding: 1.75rem;

  box-shadow:
    0 2px 12px rgba(0, 0, 0, .06);

  transition: all .5s;
}


/* ---------- HOVER ---------- */

.hospitality-kpi:hover {
  transform: translateY(-6px);

  border-color: rgba(240, 93, 38, .3);

  box-shadow:
    0 12px 32px rgba(0, 0, 0, .12);
}


/* =========================================================
   KPI VALUE
   ========================================================= */

.hospitality-kpi
.hospitality-v {
  margin: 0;

  font-family: "Inter", sans-serif;

  font-size: 3rem;

  font-weight: 800;

  color: var(--brand);
}


/* =========================================================
   KPI LABEL
   ========================================================= */

.hospitality-kpi
.hospitality-l {
  font-family: "Inter", sans-serif;

  margin-top: .75rem;

  font-size: 1rem;

  font-weight: 700;

  color: var(--ink);
}


/* =========================================================
   KPI DESCRIPTION
   ========================================================= */

.hospitality-kpi
.hospitality-n {
  margin-top: .25rem;

  font-size: .875rem;

  color: var(--muted);
}




/* =========================================================
   HOSPITALITY - COMPARE
   ========================================================= */

/* =========================================================
   HOSPITALITY - COMPARE
   ========================================================= */


/* ---------- TABLE WRAPPER ---------- */

.hospitality-tablewrap {
  margin-top: 2rem;
  overflow: hidden;
  border-radius: 1.75rem;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
}


/* ---------- TABLE ---------- */

.hospitality-tablewrap table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}


/* ---------- TABLE HEADER ---------- */

.hospitality-tablewrap thead tr {
  background: var(--ink);
  color: #fff;
}


/* ---------- TABLE CELLS ---------- */

.hospitality-tablewrap th,
.hospitality-tablewrap td {
  padding: 1rem 1.25rem;
  vertical-align: top;
  font-size: .875rem;
}


/* ---------- HEADER CELLS ---------- */

.hospitality-tablewrap thead th {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 600;
}


/* ---------- MODERN DXP HEADER — orange ---------- */

.hospitality-tablewrap thead th.col-hi {
  background: #f97316;
  color: #fff;
}


/* ---------- TABLE ROWS ---------- */

.hospitality-tablewrap tbody tr {
  border-top: 1px solid var(--line);
  transition: background .2s;
}


/* ---------- ALTERNATING ROW ---------- */

.hospitality-tablewrap tbody tr:nth-child(even) {
  background: var(--bg-soft);
}


/* ---------- HOVER ---------- */

.hospitality-tablewrap tbody tr:hover {
  background: var(--brand-soft);
}


/* ---------- ROW HEADING (Capability column) ---------- */

.hospitality-tablewrap tbody td:first-child {
  font-weight: 700;
  color: var(--ink);
}


/* ---------- TRADITIONAL column ---------- */

.hospitality-tablewrap td.col-old {
  color: var(--muted);
}


/* ---------- MODERN DXP column ---------- */

.hospitality-tablewrap td.col-new {
  color: rgba(30, 41, 59, .85);
  font-weight: 500;
}


/* ---------- DXP column body — light orange tint ---------- */

.hospitality-tablewrap td.col-hi {
  background: rgba(249, 115, 22, 0.08);
}


/* ---------- SCREEN READER ONLY ---------- */

.hospitality-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* =========================================================
   MOBILE
   ========================================================= */

/* filter bar — hidden on desktop */
.hospitality-filter {
  display: none !important;
}

@media (max-width: 639px) {

  /* show the filter bar */
  .hospitality-filter {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    padding: 1rem;
    border-bottom: 1px solid var(--line);
    background: #fff;
  }

  /* the two badge buttons */
  .filter-badge {
    font-size: .72rem;
    letter-spacing: .04em;
    font-weight: 600;
    text-transform: uppercase;
    padding: .45rem .9rem;
    border-radius: 20px;
    border: 1.5px solid var(--line);
    background: var(--bg-soft);
    color: var(--ink);
    cursor: pointer;
    white-space: nowrap;
    transition: background .18s, color .18s, border-color .18s;
  }

  /* DXP badge gets orange ring */
  .filter-badge.badge-hi {
    border-color: rgba(249, 115, 22, 0.45);
  }

  /* active/selected badge */
  .filter-badge[aria-selected="true"] {
    background: #f97316;
    border-color: #f97316;
    color: #fff;
  }

  /* table resets for mobile */
  .hospitality-tablewrap {
    border-radius: 1.25rem;
  }

  .hospitality-tablewrap table {
    min-width: 0;
    table-layout: fixed;
    width: 100%;
  }

  .hospitality-tablewrap th,
  .hospitality-tablewrap td {
    padding: .875rem 1rem;
    font-size: .8rem;
  }

  /* hide every non-active data column */
  .hospitality-tablewrap th:not(:first-child):not(.mobile-active),
  .hospitality-tablewrap td:not(:first-child):not(.mobile-active) {
    display: none;
  }

  /* centre the visible value column */
  .hospitality-tablewrap th.mobile-active,
  .hospitality-tablewrap td.mobile-active {
    text-align: center;
  }

  /* fade transition when switching columns */
  .hospitality-tablewrap tbody {
    transition: opacity .15s ease, transform .15s ease;
  }

  .hospitality-tablewrap tbody.switching {
    opacity: 0;
    transform: translateY(4px);
  }

}





/* =========================================================
   HOSPITALITY - PLATFORM CARDS
   ========================================================= */


/* ---------- CARDS GRID ---------- */

.hospitality-cards {
  display: grid;

  gap: 1rem;

  list-style: none;

  padding: 0;
}

.hospitality-mt14{
  margin-top: 3.5rem;
}

/* =========================================================
   2 / 3 / 4 COLUMN LAYOUTS - TABLET
   ========================================================= */

@media (min-width: 640px) {

  .hospitality-cards.hospitality-c2,
  .hospitality-cards.hospitality-c4,
  .hospitality-cards.hospitality-c3 {
    grid-template-columns: 1fr 1fr;
  }

}


/* =========================================================
   5 COLUMN LAYOUT
   ========================================================= */

@media (min-width: 640px) {

  .hospitality-cards.hospitality-c5 {
    grid-template-columns: 1fr 1fr;
  }

}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1024px) {

  .hospitality-cards.hospitality-c4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .hospitality-cards.hospitality-c3 {
    grid-template-columns: repeat(3, 1fr);
  }

  /* .hospitality-cards.hospitality-c5 {
    grid-template-columns: repeat(5, 1fr);
  } */

}


/* =========================================================
   GENERIC HOSPITALITY CARD
   ========================================================= */

.hospitality-card {
  height: 100%;

  border-radius: 1.5rem;

  border: 1px solid var(--line);

  background: #fff;

  padding: 1.5rem;

  transition: all .5s;
}


/* ---------- CARD HOVER ---------- */

.hospitality-card:hover {
  transform: translateY(-6px);

  border-color: rgba(240, 93, 38, .3);

  box-shadow: var(--shadow-lift);
}


/* =========================================================
   PLATFORM CAPABILITY CARD
   ========================================================= */

.hospitality-cap {
  position: relative;

  overflow: hidden;

  height: 100%;

  border-radius: 1rem;

  border: 1px solid var(--line);

  background: #fff;

  padding: 1.25rem;

  text-align: center;

  transition: all .5s;
}


/* ---------- CAPABILITY HOVER ---------- */

.hospitality-cap:hover {
  transform: translateY(-6px);

  border-color: rgba(240, 93, 38, .35);

  box-shadow: var(--shadow-soft);
}


/* ---------- TOP ACCENT ---------- */

.hospitality-cap::before {
  content: "";

  position: absolute;

  inset-inline: 0;

  top: 0;

  height: 3px;

  background:
    linear-gradient(
      90deg,
      var(--brand),
      var(--brand-2)
    );

  transform: scaleX(0);

  transition: transform .5s;
}


/* ---------- ACCENT ON HOVER ---------- */

.hospitality-cap:hover::before {
  transform: scaleX(1);
}


/* ---------- CAPABILITY NAME ---------- */

.hospitality-cap b {
  font-family: "Inter", sans-serif;

  font-size: .875rem;

  font-weight: 700;
}


/* ---------- CONNECTED LABEL ---------- */

.hospitality-cap span {
  display: block;

  margin-top: .25rem;

  font-family: "Inter", sans-serif;

  font-size: .6rem;

  letter-spacing: .16em;

  text-transform: uppercase;

  color: var(--muted);

  font-weight: 600;
}


/* =========================================================
   HOSPITALITY - TECHNOLOGY ECOSYSTEM
   ========================================================= */


/* ---------- ECOSYSTEM CARD ---------- */

.hospitality-eco {
  height: 100%;

  border-radius: 1.5rem;

  border: 2px solid rgba(240, 93, 38, .35);;

  background: #fff;

  padding: 1.5rem;

  transition: all .5s;
}


/* ---------- HOVER ---------- */

.hospitality-eco:hover {
  transform: translateY(-6px);

  box-shadow: var(--shadow-soft);
  border: 2px solid var(--brand);
}


/* ---------- CATEGORY ---------- */

.hospitality-eco
.hospitality-g {
  font-family: "Inter", sans-serif;

  font-size: .62rem;

  letter-spacing: .2em;

  text-transform: uppercase;

  color: var(--brand);

  font-weight: 600;
}


/* ---------- SYSTEM LIST ---------- */

.hospitality-eco ul {
  margin-top: .75rem;

  display: grid;

  gap: .5rem;

  list-style: none;

  padding: 0;
}


/* ---------- SYSTEM ITEM ---------- */

.hospitality-eco li {
  font-family: "Inter", sans-serif;

  font-size: .875rem;

  font-weight: 700;
}


/* =========================================================
   HOSPITALITY - FAQ
   ========================================================= */


/* ---------- FAQ CONTAINER ---------- */

.hospitality-faqs {
  max-width: 48rem;

  margin: 3rem auto 0;
}


/* =========================================================
   FAQ CARD
   ========================================================= */

.hospitality-faq {
  margin-bottom: .75rem;

  overflow: hidden;

  border-radius: 1rem;

  border: 1px solid var(--line);

  background: #fff;
}


/* ---------- OPEN FAQ ---------- */

.hospitality-faq.hospitality-open {
  border-color: rgba(240, 93, 38, .35);
}


/* =========================================================
   FAQ BUTTON
   ========================================================= */

.hospitality-faq button {
  display: flex;

  width: 100%;

  align-items: center;

  gap: 1rem;

  padding: 1.25rem 1.5rem;

  text-align: left;

  background: none;

  border: 0;

  cursor: pointer;

  font: inherit;
}


/* =========================================================
   QUESTION
   ========================================================= */

.hospitality-faq
.hospitality-q {
  flex: 1;

  font-family: "Inter", sans-serif;

  font-size: 1rem;

  font-weight: 700;
}


/* =========================================================
   PLUS
   ========================================================= */

.hospitality-faq
.hospitality-plus {
  height: 1.75rem;

  width: 1.75rem;

  flex: none;

  display: flex;
  align-items: center;
   justify-content: center;
   text-align: center;

  /* place-items: center; */

  border-radius: 999px;

  border: 1px solid rgba(30, 41, 59, .12);

  transition: .3s;
}


/* ---------- OPEN PLUS ---------- */

.hospitality-faq.hospitality-open
.hospitality-plus {
  transform: rotate(45deg);

  background: var(--brand);

  border-color: var(--brand);

  color: #fff;
}


/* =========================================================
   ANSWER
   ========================================================= */

.hospitality-faq
.hospitality-a {
  padding: 0 1.5rem 1.5rem;

  font-size: .875rem;

  line-height: 1.7;

  color: var(--muted);
}


/* ---------- HIDDEN ANSWER ---------- */

.hospitality-faq
.hospitality-a[hidden] {
  display: none;
}
@media (max-width:1040px) {  
.buttonShow{
 display: none;
}
}

.bd-highlight {
    border: 1px solid rgba(240, 93, 38, .35) !important;
    transition: border-color .3s ease, box-shadow .3s ease;
}

.bd-highlight:hover {
    border-color: #ee5a2e !important;
}





.floating {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 100;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 15px;
  background: var(--brand);
  padding: 0.875rem 1.5rem;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 40px -14px rgba(240, 93, 38, 0.6);
  transition: transform 0.3s, opacity 0.3s, background 0.2s;
  transform: translateY(1rem);
  opacity: 0;
  pointer-events: none;
}
.floating.show {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}
.floating:hover {
  background: var(--brand-dark);
    color:#fff;
}

/* Hide on desktop — nav CTA already visible there */
@media (min-width: 1025px) {
  .floating { display: none; }
}