/*
   ThinkArtha / Artha Solutions Design System
   Purpose: normalize public and admin-facing UI primitives across templates
   without changing page intent or business content.
*/

:root {
    /* Brand color tokens */
    --artha-primary-950: #201245;
    --artha-primary-900: #31205f;
    --artha-primary-800: #4c2b8a;
    --artha-primary-700: #6d3bd5;
    --artha-primary-600: #7c3aed;
    --artha-primary-500: #8b5cf6;
    --artha-primary-100: #ede9fe;
    --artha-primary-50: #f6f3ff;

    --artha-secondary-700: #0e7490;
    --artha-secondary-600: #0891b2;
    --artha-secondary-500: #06b6d4;
    --artha-secondary-100: #cffafe;
    --artha-secondary-50: #ecfeff;

    --artha-accent-600: #d946ef;
    --artha-accent-500: #ec4899;
    --artha-gold-600: #d97706;
    --artha-gold-100: #fef3c7;

    --artha-success-700: #047857;
    --artha-success-600: #059669;
    --artha-success-100: #d1fae5;
    --artha-warning-700: #b45309;
    --artha-warning-600: #d97706;
    --artha-warning-100: #fef3c7;
    --artha-error-700: #b91c1c;
    --artha-error-600: #dc2626;
    --artha-error-100: #fee2e2;

    /* Neutral color scale */
    --artha-neutral-950: #020617;
    --artha-neutral-900: #0f172a;
    --artha-neutral-800: #1e293b;
    --artha-neutral-700: #334155;
    --artha-neutral-600: #475569;
    --artha-neutral-500: #64748b;
    --artha-neutral-400: #94a3b8;
    --artha-neutral-300: #cbd5e1;
    --artha-neutral-200: #e2e8f0;
    --artha-neutral-100: #f1f5f9;
    --artha-neutral-50: #f8fafc;
    --artha-white: #ffffff;

    /* Map existing variables to stricter enterprise-grade tokens */
    --bg-primary: var(--artha-white);
    --bg-secondary: var(--artha-neutral-50);
    --bg-tertiary: var(--artha-neutral-100);
    --text-primary: var(--artha-neutral-900);
    --text-secondary: var(--artha-neutral-600);
    --text-tertiary: var(--artha-neutral-500);
    --accent-blue: var(--artha-primary-600);
    --accent-indigo: #4f46e5;
    --accent-cyan: var(--artha-secondary-600);
    --accent-purple: var(--artha-primary-500);
    --accent-magenta: var(--artha-accent-600);
    --accent-glow: rgba(124, 58, 237, 0.14);
    --border-color: rgba(148, 163, 184, 0.28);

    --grad-primary: linear-gradient(135deg, var(--artha-primary-700) 0%, var(--artha-primary-600) 52%, var(--artha-accent-600) 100%);
    --grad-cyan-blue: linear-gradient(135deg, var(--artha-secondary-600) 0%, var(--artha-primary-600) 100%);
    --grad-purple-indigo: linear-gradient(135deg, var(--artha-primary-600) 0%, #4f46e5 100%);
    --grad-subtle: linear-gradient(180deg, var(--artha-neutral-50) 0%, var(--artha-neutral-100) 100%);

    /* Typography scale */
    --type-hero: clamp(2.75rem, 5.2vw, 4.75rem);
    --type-hero-line: 1.04;
    --type-section: clamp(2rem, 3vw, 3rem);
    --type-subsection: clamp(1.5rem, 2.1vw, 2.125rem);
    --type-card-title: 1.25rem;
    --type-body-lg: 1.125rem;
    --type-body: 1rem;
    --type-body-sm: 0.925rem;
    --type-caption: 0.8125rem;
    --type-label: 0.875rem;
    --type-eyebrow: 0.78rem;

    /* Spacing and shape tokens */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --section-padding-y: clamp(4.5rem, 8vw, 7rem);
    --section-padding-y-compact: clamp(3rem, 6vw, 5rem);
    --content-width: 1280px;
    --content-width-narrow: 920px;
    --grid-gap: clamp(1.25rem, 2vw, 2rem);
    --card-padding: clamp(1.35rem, 2.2vw, 2.25rem);
    --form-field-height: 3rem;

    --radius-xs: 0.375rem;
    --radius-sm: 0.5rem;
    --radius-md: 0.875rem;
    --radius-lg: 1.25rem;
    --radius-xl: 1.5rem;
    --radius-pill: 999px;
    --border-radius-sm: var(--radius-sm);
    --border-radius-md: var(--radius-md);
    --border-radius-lg: var(--radius-lg);

    --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.06);
    --shadow-sm: 0 8px 18px rgba(15, 23, 42, 0.08);
    --shadow-md: 0 16px 34px rgba(15, 23, 42, 0.10);
    --shadow-lg: 0 24px 56px rgba(31, 18, 69, 0.16);
    --card-shadow: var(--shadow-sm);
    --hover-shadow: var(--shadow-lg);
    --focus-ring: 0 0 0 4px rgba(124, 58, 237, 0.18);
    --focus-outline: 2px solid var(--artha-primary-600);
    --transition-fast: 160ms ease;
    --transition-normal: 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

html {
    text-size-adjust: 100%;
}

body {
    font-size: var(--type-body);
    font-weight: 400;
    color: var(--text-primary);
    background: var(--bg-primary);
}

body,
p,
li,
input,
textarea,
select,
button {
    font-family: var(--font-body);
}

p,
li {
    color: var(--text-secondary);
    font-weight: 400;
}

strong,
b {
    color: inherit;
    font-weight: 700;
}

a {
    color: inherit;
}

a:not(.btn):not(.nav-link):not(.mega-menu-link):not(.mobile-sub-link):not(.mobile-direct-link):not(.footer-link):focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 3px;
    box-shadow: var(--focus-ring);
}

::selection {
    background: rgba(124, 58, 237, 0.20);
    color: var(--artha-neutral-950);
}

.container {
    max-width: var(--content-width);
    padding-left: clamp(1rem, 3vw, 2rem);
    padding-right: clamp(1rem, 3vw, 2rem);
}

.section,
.section-alt,
section.section,
section.section-alt {
    padding-top: var(--section-padding-y);
    padding-bottom: var(--section-padding-y);
}

.section.compact,
.section-alt.compact {
    padding-top: var(--section-padding-y-compact);
    padding-bottom: var(--section-padding-y-compact);
}

/* Typography primitives */
.hero-title,
.ai-hero-title,
.healthcare-hero-title,
.manufacturing-hero-title,
.retail-hero-title,
.bfsi-hero-title,
.sap-hero-title,
.page-hero-title,
.industry-hero-title {
    font-size: var(--type-hero) !important;
    line-height: var(--type-hero-line) !important;
    letter-spacing: -0.045em !important;
    font-weight: 800 !important;
    color: var(--text-primary) !important;
    text-wrap: balance;
}

.hero-desc,
.ai-hero-subtitle,
.healthcare-hero-subtitle,
.manufacturing-hero-subtitle,
.retail-hero-subtitle,
.bfsi-hero-subtitle,
.page-hero-subtitle,
.industry-hero-subtitle,
.section-desc {
    font-size: clamp(1rem, 1.35vw, var(--type-body-lg)) !important;
    line-height: 1.72 !important;
    color: var(--text-secondary) !important;
    font-weight: 400 !important;
}

.section-header {
    max-width: var(--content-width-narrow);
    margin-bottom: clamp(2.25rem, 5vw, 4rem);
}

.section-title,
.ai-section-title,
.healthcare-section-title,
.manufacturing-section-title,
.retail-section-title,
.bfsi-section-title,
.feature-title {
    font-size: var(--type-section) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    font-weight: 800 !important;
    text-wrap: balance;
}

.section-subtitle,
.section-subtitle-badge,
.hero-badge,
.ai-badge,
.badge-brand,
.ai-card-tag,
.webcast-card-tag,
.badge-featured {
    font-size: var(--type-eyebrow) !important;
    line-height: 1 !important;
    letter-spacing: 0.095em !important;
    text-transform: uppercase;
    font-weight: 800 !important;
}

.card-title,
.ai-card-title,
.video-title,
.webcast-card-title,
.impact-card-title,
.teaser-card-title,
.event-title,
.blog-card-title,
.case-study-title {
    font-size: var(--type-card-title) !important;
    line-height: 1.28 !important;
    font-weight: 750 !important;
    color: var(--text-primary) !important;
    text-wrap: balance;
}

.card-desc,
.ai-card-desc,
.video-desc,
.webcast-card-meta,
.impact-card-desc,
.teaser-card-desc,
.event-desc,
.blog-card-excerpt,
.case-study-desc {
    font-size: var(--type-body-sm) !important;
    line-height: 1.68 !important;
    color: var(--text-secondary) !important;
    font-weight: 400 !important;
}

/* Buttons and CTA hierarchy */
.btn,
button.btn,
input[type="submit"].btn,
input[type="button"].btn,
.btn-primary,
.btn-secondary,
.btn-outline,
.btn-glow,
.btn-subnav-cta,
.btn-subnav-cta-retail,
.mobile-cta-btn,
.header-cta-btn {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 0.75rem 1.25rem !important;
    border-radius: var(--radius-pill) !important;
    border: 1px solid transparent !important;
    font-size: 0.9375rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast) !important;
    white-space: nowrap;
    -webkit-user-select: none;
    user-select: none;
}

.btn-primary,
.btn-glow,
.btn.cta-primary,
button[type="submit"].btn-primary {
    color: var(--artha-white) !important;
    background: var(--grad-primary) !important;
    border-color: rgba(124, 58, 237, 0.55) !important;
    box-shadow: 0 10px 22px rgba(124, 58, 237, 0.24) !important;
}

.btn-primary:hover,
.btn-glow:hover,
.btn.cta-primary:hover {
    color: var(--artha-white) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 34px rgba(124, 58, 237, 0.30) !important;
}

.btn-secondary,
.btn-outline,
.btn.cta-secondary,
.btn.cta-outline {
    color: var(--artha-primary-700) !important;
    background: var(--artha-white) !important;
    border-color: rgba(124, 58, 237, 0.28) !important;
    box-shadow: var(--shadow-xs) !important;
}

.btn-secondary:hover,
.btn-outline:hover,
.btn.cta-secondary:hover,
.btn.cta-outline:hover {
    color: var(--artha-primary-800) !important;
    background: var(--artha-primary-50) !important;
    border-color: rgba(124, 58, 237, 0.55) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-sm) !important;
}

.btn-ghost,
.cta-ghost {
    color: var(--text-primary) !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.btn-ghost:hover,
.cta-ghost:hover {
    color: var(--artha-primary-700) !important;
    background: var(--artha-primary-50) !important;
}

.btn-text,
.text-link,
.card-link {
    color: var(--artha-primary-700) !important;
    font-weight: 750 !important;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.btn-text:hover,
.text-link:hover,
.card-link:hover {
    color: var(--artha-primary-900) !important;
    text-decoration: underline;
}

.btn:disabled,
.btn[disabled],
button:disabled,
input[type="submit"]:disabled {
    opacity: 0.58 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

.btn-xs,
.btn-sm {
    min-height: 36px !important;
    padding: 0.55rem 0.9rem !important;
    font-size: 0.8125rem !important;
}

.hero-buttons,
.ai-hero-ctas,
.healthcare-hero-ctas,
.manufacturing-hero-ctas,
.retail-hero-ctas,
.bfsi-hero-ctas,
.cta-actions,
.mobile-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    align-items: center;
}

/* Header, submenu, and language switcher */
.header {
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.07);
}

.nav-container {
    gap: clamp(1rem, 2vw, 2rem);
}

.nav-menu {
    gap: clamp(1.15rem, 2vw, 2rem);
}

.nav-link {
    color: var(--artha-neutral-700) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

.nav-link:hover,
.nav-link.active,
.nav-item:focus-within > .nav-link {
    color: var(--artha-primary-700) !important;
}

.nav-item.has-dropdown:hover .nav-link i,
.nav-item.has-dropdown:focus-within .nav-link i,
.nav-item.has-dropdown.open .nav-link i {
    transform: rotate(180deg);
}

.nav-mega-menu {
    width: min(1120px, calc(100vw - 48px)) !important;
    padding: 1.5rem !important;
    border-radius: var(--radius-xl) !important;
    border: 1px solid rgba(148, 163, 184, 0.24) !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.18) !important;
}

.nav-item:hover .nav-mega-menu,
.nav-item:focus-within .nav-mega-menu,
.nav-item.open .nav-mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.mega-menu-grid {
    gap: 1.25rem !important;
}

.mega-menu-section-label,
.mega-menu-column h4 {
    display: block;
    color: var(--artha-primary-700) !important;
    font-size: 0.74rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.09em !important;
    margin-bottom: 0.85rem !important;
}

.mega-menu-link {
    border-radius: var(--radius-md) !important;
    padding: 0.72rem 0.8rem !important;
    border: 1px solid transparent;
}

.mega-menu-link:hover,
.mega-menu-link:focus-visible {
    background: var(--artha-primary-50) !important;
    border-color: rgba(124, 58, 237, 0.20);
    transform: translateX(3px) !important;
}

.mega-menu-title {
    color: var(--artha-neutral-900) !important;
    font-size: 0.9rem !important;
    font-weight: 750 !important;
}

.mega-menu-desc {
    color: var(--artha-neutral-600) !important;
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
}

.featured-card-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.9rem !important;
}

.featured-card-column .mega-featured-card {
    width: 100%;
}

.mega-featured-card {
    border-radius: var(--radius-lg) !important;
    padding: 0.85rem !important;
    background: linear-gradient(145deg, #eff6ff, var(--artha-white)) !important;
    border: 1px solid rgba(124, 58, 237, 0.20) !important;
    overflow: hidden;
    height: auto !important;
    min-height: 0;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.mega-featured-media {
    display: block;
    margin: 0 0 0.9rem;
    overflow: hidden;
    border-radius: calc(var(--radius-lg) - 4px);
    background: #0f4696;
    border: 1px solid rgba(15, 70, 150, 0.16);
}

.mega-featured-media img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    object-position: center;
}

.mega-featured-card h5,
.mega-featured-card p,
.mega-featured-card .badge-featured,
.mega-featured-card .btn {
    margin-left: 0.4rem;
    margin-right: 0.4rem;
}

.mega-featured-card h5 {
    color: var(--artha-neutral-950);
    font-size: 0.96rem;
    line-height: 1.25;
}

.mega-featured-card p {
    font-size: 0.76rem;
    line-height: 1.42;
}

.mega-featured-card .btn {
    align-self: flex-start;
}

.mega-featured-card-compact {
    background: linear-gradient(145deg, #f5f3ff, #ffffff) !important;
    border-color: rgba(124, 58, 237, 0.28) !important;
}

.mega-featured-card-compact p {
    margin-bottom: 0.85rem;
}

.mobile-featured-card {
    display: block;
    margin: 1rem 0 0;
    padding: 0.85rem;
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, #eff6ff, #ffffff);
    border: 1px solid rgba(124, 58, 237, 0.18);
    text-decoration: none;
}

.mobile-featured-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--radius-md);
    margin-bottom: 0.75rem;
}

.mobile-featured-card span {
    display: block;
    color: var(--artha-primary-700);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mobile-featured-card strong {
    display: block;
    color: var(--artha-neutral-950);
    font-size: 0.96rem;
    line-height: 1.3;
    margin-top: 0.25rem;
}

.mobile-featured-card em {
    display: inline-flex;
    align-items: center;
    color: var(--artha-primary-700);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 800;
    margin-top: 0.65rem;
}

.header-actions {
    gap: 0.65rem !important;
}

.search-overlay-trigger-btn {
    order: 20;
    flex: 0 0 auto;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border-radius: var(--radius-pill) !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: var(--artha-neutral-700) !important;
    box-shadow: none !important;
}

.search-overlay-trigger-btn:hover {
    color: var(--artha-primary-700) !important;
    background: var(--artha-primary-50) !important;
    border-color: rgba(124, 58, 237, 0.20) !important;
}

.header-cta-btn {
    order: 10;
}

.language-dropdown.language-switcher-header {
    position: relative;
    order: 30;
    min-height: 38px;
    display: inline-flex !important;
    align-items: center;
    gap: 0.42rem;
    padding: 0 1.55rem 0 0.75rem !important;
    border-radius: var(--radius-pill) !important;
    border: 1px solid rgba(148, 163, 184, 0.35) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--artha-neutral-800) !important;
    box-shadow: var(--shadow-xs);
    white-space: nowrap;
}

.language-dropdown.language-switcher-header::after {
    content: "\f078";
    position: absolute;
    right: 0.68rem;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Font Awesome 6 Free";
    font-size: 0.68rem;
    font-weight: 900;
    color: currentColor;
    pointer-events: none;
}

.language-dropdown.language-switcher-header i {
    font-size: 0.88rem;
    color: var(--artha-primary-700);
    line-height: 1;
}

.language-dropdown.language-switcher-header select {
    width: auto;
    min-width: 4.85rem;
    min-height: 36px;
    margin: 0;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-weight: 750;
    font-size: 0.86rem;
    line-height: 1;
    cursor: pointer;
    outline: none !important;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0 !important;
}

.language-dropdown.language-switcher-header select::-ms-expand {
    display: none;
}

body.home-page-light .header:not(.scrolled) .search-overlay-trigger-btn,
body.dark-hero-nav .header:not(.scrolled-past-hero) .search-overlay-trigger-btn {
    color: rgba(255, 255, 255, 0.92) !important;
    background: transparent !important;
    border-color: transparent !important;
}

body.home-page-light .header:not(.scrolled) .search-overlay-trigger-btn:hover,
body.dark-hero-nav .header:not(.scrolled-past-hero) .search-overlay-trigger-btn:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

body.home-page-light .header:not(.scrolled) .language-dropdown.language-switcher-header,
body.dark-hero-nav .header:not(.scrolled-past-hero) .language-dropdown.language-switcher-header {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.10) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    box-shadow: none !important;
}

body.home-page-light .header:not(.scrolled) .language-dropdown.language-switcher-header i,
body.dark-hero-nav .header:not(.scrolled-past-hero) .language-dropdown.language-switcher-header i {
    color: #ffffff !important;
}

body.home-page-light .header.scrolled .language-dropdown.language-switcher-header,
body.dark-hero-nav .header.scrolled-past-hero .language-dropdown.language-switcher-header {
    color: var(--artha-neutral-800) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(148, 163, 184, 0.35) !important;
}

body.home-page-light .header.scrolled .language-dropdown.language-switcher-header i,
body.dark-hero-nav .header.scrolled-past-hero .language-dropdown.language-switcher-header i {
    color: var(--artha-primary-700) !important;
}

.language-switcher a {
    border-radius: var(--radius-pill);
    padding: 0.3rem 0.55rem;
}

.language-switcher a.active {
    background: rgba(124, 58, 237, 0.16);
    color: var(--artha-primary-700) !important;
    font-weight: 800;
}

/* Cards and content blocks */
.card,
.ai-card,
.event-card,
.video-card,
.contact-card,
.office-card,
.healthcare-card,
.manufacturing-card,
.bfsi-card,
.retail-card,
.challenge-card,
.step-card,
.pricing-card,
.outcome-card,
.teaser-card,
.case-study-card,
.acc-wp-card,
.synapse-glass-card,
.synapse-glass-card-light,
.webcast-banner,
.webcast-card-info,
.resource-card,
.blog-card,
.whitepaper-card {
    border: 1px solid rgba(148, 163, 184, 0.25) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow-sm) !important;
    background-color: var(--artha-white);
}

.card,
.ai-card,
.healthcare-card,
.manufacturing-card,
.bfsi-card,
.retail-card,
.challenge-card,
.step-card,
.pricing-card,
.outcome-card,
.teaser-card {
    padding: var(--card-padding) !important;
}

.card:hover,
.ai-card:hover,
.event-card:hover,
.video-card:hover,
.healthcare-card:hover,
.manufacturing-card:hover,
.bfsi-card:hover,
.retail-card:hover,
.challenge-card:hover,
.step-card:hover,
.pricing-card:hover,
.outcome-card:hover,
.teaser-card:hover,
.case-study-card:hover,
.acc-wp-card:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(124, 58, 237, 0.35) !important;
    box-shadow: var(--shadow-lg) !important;
}

.card-icon-box,
.card-icon-circle,
.ai-card-icon,
.impact-card-icon,
.challenge-card-icon {
    background: var(--artha-primary-50) !important;
    color: var(--artha-primary-700) !important;
    border: 1px solid rgba(124, 58, 237, 0.14);
}

.card-grid,
.ai-card-grid,
.healthcare-card-grid,
.manufacturing-card-grid,
.bfsi-card-grid,
.retail-card-grid,
.video-grid,
.events-grid,
.resources-grid,
.whitepaper-grid {
    gap: var(--grid-gap) !important;
}

.ai-card-tag,
.webcast-card-tag,
.badge-featured,
.tag,
.badge,
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--artha-primary-700) !important;
    background: var(--artha-primary-50) !important;
    border: 1px solid rgba(124, 58, 237, 0.18) !important;
    border-radius: var(--radius-pill) !important;
    padding: 0.35rem 0.65rem !important;
}

/* Tabs and segmented controls */
.tabs-nav,
.audience-tabs-nav,
.betl-tabs-nav,
.betl-feat-tabs-nav,
.filter-btn-group,
.toggle-btn-group,
.metric-btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem !important;
    align-items: center;
}

.tabs-nav,
.audience-tabs-nav,
.betl-tabs-nav,
.betl-feat-tabs-nav {
    overflow-x: auto;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.tab-btn,
.audience-tab-btn,
.betl-tab-btn,
.betl-feat-tab-btn,
.tag-filter-btn,
.tag-filter-btn-retail,
.chart-filter-btn,
.chart-toggle-btn,
.metric-btn-group button {
    min-height: 42px;
    border-radius: var(--radius-pill) !important;
    border: 1px solid rgba(148, 163, 184, 0.35) !important;
    background: var(--artha-white) !important;
    color: var(--artha-neutral-700) !important;
    font-size: 0.9rem !important;
    font-weight: 750 !important;
    padding: 0.65rem 1rem !important;
    cursor: pointer;
}

.tab-btn:hover,
.audience-tab-btn:hover,
.betl-tab-btn:hover,
.betl-feat-tab-btn:hover,
.tag-filter-btn:hover,
.tag-filter-btn-retail:hover,
.chart-filter-btn:hover,
.chart-toggle-btn:hover,
.metric-btn-group button:hover {
    color: var(--artha-primary-800) !important;
    background: var(--artha-primary-50) !important;
    border-color: rgba(124, 58, 237, 0.45) !important;
}

.tab-btn.active,
.audience-tab-btn.active,
.betl-tab-btn.active,
.betl-feat-tab-btn.active,
.tag-filter-btn.active,
.tag-filter-btn-retail.active,
.chart-filter-btn.active,
.chart-toggle-btn.active,
.metric-btn-group button.active {
    color: var(--artha-white) !important;
    background: var(--artha-primary-700) !important;
    border-color: var(--artha-primary-700) !important;
    box-shadow: 0 10px 20px rgba(124, 58, 237, 0.20) !important;
}

/* Modern persona/audience sections for SAP and BFSI microsites */
.sap-microsite-container .audience-tabs-container,
.bfsi-microsite .audience-tabs-container {
    max-width: 1120px !important;
    margin: 0 auto !important;
}

.sap-microsite-container .audience-tabs-nav,
.bfsi-microsite .audience-tabs-nav {
    display: flex !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    padding: 0.5rem !important;
    margin-bottom: 1.5rem !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
    border-radius: var(--radius-pill) !important;
    background: rgba(255, 255, 255, 0.78) !important;
    box-shadow: var(--shadow-xs) !important;
}

.sap-microsite-container .audience-tabs-nav .audience-tab-btn,
.bfsi-microsite .audience-tabs-nav .audience-tab-btn {
    border-radius: var(--radius-pill) !important;
    border: 1px solid transparent !important;
    border-bottom: 1px solid transparent !important;
    background: transparent !important;
    color: var(--artha-neutral-700) !important;
    padding: 0.75rem 1.1rem !important;
    min-height: 42px !important;
}

.sap-microsite-container .audience-tabs-nav .audience-tab-btn:hover,
.bfsi-microsite .audience-tabs-nav .audience-tab-btn:hover {
    background: var(--artha-primary-50) !important;
    color: var(--artha-primary-800) !important;
    border-color: rgba(124, 58, 237, 0.22) !important;
}

.sap-microsite-container .audience-tabs-nav .audience-tab-btn.active,
.bfsi-microsite .audience-tabs-nav .audience-tab-btn.active {
    color: #ffffff !important;
    background: var(--grad-primary) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 24px rgba(124, 58, 237, 0.22) !important;
}

.sap-microsite-container .audience-tabs-content,
.bfsi-microsite .audience-tabs-content {
    padding: clamp(1.25rem, 2.5vw, 2rem) !important;
    border: 1px solid rgba(148, 163, 184, 0.24) !important;
    border-radius: var(--radius-xl) !important;
    background:
        radial-gradient(circle at top left, rgba(124, 58, 237, 0.08), transparent 34%),
        #ffffff !important;
    box-shadow: var(--shadow-md) !important;
}

.sap-microsite-container .audience-grid,
.bfsi-microsite .audience-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

.sap-microsite-container .audience-col,
.bfsi-microsite .audience-col {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100%;
    padding: 1.25rem !important;
    border: 1px solid rgba(148, 163, 184, 0.24) !important;
    border-radius: var(--radius-lg) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: var(--shadow-xs) !important;
}

.sap-microsite-container .aud-block-title,
.bfsi-microsite .aud-block-title {
    display: flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    margin-bottom: 0.8rem !important;
    color: var(--artha-neutral-900) !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.075em !important;
}

.sap-microsite-container .aud-block-title i,
.bfsi-microsite .aud-block-title i {
    width: 1.75rem !important;
    height: 1.75rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius-pill) !important;
    background: var(--artha-primary-50) !important;
    color: var(--artha-primary-700) !important;
}

.sap-microsite-container .aud-text,
.bfsi-microsite .aud-text {
    color: var(--artha-neutral-600) !important;
    font-size: 0.92rem !important;
    line-height: 1.68 !important;
}

.sap-microsite-container .aud-text strong,
.bfsi-microsite .aud-text strong {
    color: var(--artha-neutral-900) !important;
}

/* SAP persona section refinement: centered header and one clean content surface */
.sap-microsite-container #sap-personas.sap-section,
.sap-microsite-container #sap-personas.sap-section.section-alt {
    background: #ffffff !important;
}

.sap-microsite-container #sap-personas .sap-section-header,
.sap-microsite-container #sap-personas .sap-section-header.text-center {
    max-width: 820px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    margin-bottom: clamp(2rem, 4vw, 3rem) !important;
    text-align: center !important;
}

.sap-microsite-container #sap-personas .sap-section-header > * {
    margin-right: auto !important;
    margin-left: auto !important;
}

.sap-microsite-container #sap-personas .sap-subtitle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
}

.sap-microsite-container #sap-personas .sap-title,
.sap-microsite-container #sap-personas .sap-desc {
    text-align: center !important;
    text-wrap: balance;
}

.sap-microsite-container #sap-personas .audience-tabs-container {
    max-width: 1120px !important;
}

.sap-microsite-container #sap-personas .audience-tabs-nav {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto clamp(1.2rem, 2.5vw, 1.8rem) !important;
    padding: 0 !important;
    gap: 0.75rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sap-microsite-container #sap-personas .audience-tabs-nav .audience-tab-btn {
    min-height: 40px !important;
    padding: 0.65rem 1.05rem !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    background: #ffffff !important;
    color: var(--artha-neutral-700) !important;
    box-shadow: none !important;
}

.sap-microsite-container #sap-personas .audience-tabs-nav .audience-tab-btn:hover {
    background: rgba(0, 90, 156, 0.07) !important;
    color: #005a9c !important;
}

.sap-microsite-container #sap-personas .audience-tabs-nav .audience-tab-btn.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #005a9c 0%, #06b6d4 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 24px rgba(0, 90, 156, 0.22) !important;
}

.sap-microsite-container #sap-personas .audience-tabs-content {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sap-microsite-container #sap-personas .audience-tab-pane,
.sap-microsite-container #sap-personas .audience-tab-pane.active {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sap-microsite-container #sap-personas .audience-tab-pane {
    display: none !important;
}

.sap-microsite-container #sap-personas .audience-tab-pane.active {
    display: block !important;
}

.sap-microsite-container #sap-personas .audience-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 30px !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.sap-microsite-container #sap-personas .audience-col {
    min-height: 100% !important;
    padding: 30px 24px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden !important;
}

.sap-microsite-container #sap-personas .audience-col + .audience-col {
    border-left: 1px solid #e2e8f0 !important;
}

.sap-microsite-container #sap-personas .audience-col:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 90, 156, 0.25) !important;
    box-shadow: 0 10px 25px rgba(0, 90, 156, 0.05) !important;
}

.sap-microsite-container #sap-personas .aud-block-title {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    margin-bottom: 12px !important;
    color: var(--artha-neutral-900) !important;
    font-size: 1.0625rem !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.sap-microsite-container #sap-personas .aud-block-title i {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 90, 156, 0.12) !important;
    background: rgba(0, 90, 156, 0.05) !important;
    color: #005a9c !important;
    font-size: 1.0625rem !important;
    transition: all 0.3s ease !important;
}

.sap-microsite-container #sap-personas .audience-col:hover .aud-block-title i {
    background: #005a9c !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(0, 90, 156, 0.2) !important;
}

.sap-microsite-container #sap-personas .aud-text {
    color: #475569 !important;
    font-size: 0.84375rem !important;
    line-height: 1.6 !important;
}

.sap-microsite-container #sap-personas .aud-text strong {
    color: inherit !important;
    font-weight: 400 !important;
}

/* Sitewide audience-impact section pattern.
   Mirrors the approved SAP stakeholder alignment treatment for sections named
   Who We Help, Audience & Impact, Role-Based Value, and similar persona blocks. */
.audience-impact-section,
.audience-impact-section.section-alt,
.audience-impact-section.u-bg-soft {
    background: #ffffff !important;
}

.audience-impact-section :is(
    .sap-section-header,
    .bfsi-section-header,
    .manufacturing-section-header,
    .retail-section-header,
    .healthcare-section-header,
    .ai-section-header
) {
    max-width: 820px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    margin-bottom: clamp(2rem, 4vw, 3rem) !important;
    text-align: center !important;
}

.audience-impact-section :is(
    .sap-section-header,
    .bfsi-section-header,
    .manufacturing-section-header,
    .retail-section-header,
    .healthcare-section-header,
    .ai-section-header
) > * {
    margin-right: auto !important;
    margin-left: auto !important;
}

.audience-impact-section :is(
    .sap-subtitle,
    .bfsi-subtitle,
    .manufacturing-subtitle,
    .retail-subtitle,
    .healthcare-subtitle,
    .ai-subtitle
) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
}

.audience-impact-section :is(
    .sap-title,
    .bfsi-title,
    .manufacturing-title,
    .retail-title,
    .healthcare-title,
    .ai-title,
    .sap-desc,
    .bfsi-desc,
    .manufacturing-desc,
    .retail-desc,
    .healthcare-desc,
    .ai-desc
) {
    text-align: center !important;
    text-wrap: balance;
}

.audience-impact-section .audience-tabs-container {
    display: flex !important;
    flex-direction: column !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    gap: clamp(1.2rem, 2.5vw, 1.8rem) !important;
}

.audience-impact-section :is(.audience-tabs-nav, .audience-tabs) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0.75rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    scrollbar-width: thin !important;
    -webkit-overflow-scrolling: touch !important;
}

.audience-impact-section :is(.audience-tabs-nav, .audience-tabs) .audience-tab-btn,
.audience-impact-section .tag-filter-btn-retail.audience-tab-btn {
    flex: 0 0 auto !important;
    min-height: 40px !important;
    padding: 0.65rem 1.05rem !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: var(--radius-pill) !important;
    background: #ffffff !important;
    color: var(--artha-neutral-700) !important;
    box-shadow: none !important;
}

.audience-impact-section :is(.audience-tabs-nav, .audience-tabs) .audience-tab-btn:hover,
.audience-impact-section .tag-filter-btn-retail.audience-tab-btn:hover {
    background: rgba(0, 90, 156, 0.07) !important;
    color: #005a9c !important;
    border-color: rgba(0, 90, 156, 0.25) !important;
}

.audience-impact-section :is(.audience-tabs-nav, .audience-tabs) .audience-tab-btn.active,
.audience-impact-section .tag-filter-btn-retail.audience-tab-btn.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #005a9c 0%, #06b6d4 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 24px rgba(0, 90, 156, 0.22) !important;
}

.audience-impact-section :is(.audience-tabs-content, .audience-tab-contents) {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.audience-impact-section .audience-tab-pane,
.audience-impact-section .audience-tab-pane.active {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.audience-impact-section .audience-tab-pane {
    display: none !important;
}

.audience-impact-section .audience-tab-pane.active {
    display: block !important;
}

.audience-impact-section :is(.audience-grid, .ai-card-grid) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 30px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.audience-impact-section :is(.audience-col, .audience-card) {
    min-height: 100% !important;
    padding: 30px 24px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                border-color 0.3s ease,
                box-shadow 0.3s ease !important;
    overflow: hidden !important;
}

.audience-impact-section :is(.audience-col, .audience-card):hover {
    transform: translateY(-4px);
    border-color: rgba(0, 90, 156, 0.25) !important;
    box-shadow: 0 10px 25px rgba(0, 90, 156, 0.05) !important;
}

.audience-impact-section .aud-block-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    margin-bottom: 12px !important;
    color: var(--artha-neutral-900) !important;
    font-size: 1.0625rem !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.audience-impact-section .aud-block-title i,
.audience-impact-section .ai-card-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    margin: 0 0 20px 0 !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 90, 156, 0.12) !important;
    background: rgba(0, 90, 156, 0.05) !important;
    color: #005a9c !important;
    font-size: 1.0625rem !important;
    transition: all 0.3s ease !important;
}

.audience-impact-section .aud-block-title i {
    margin: 0 !important;
}

.audience-impact-section :is(.audience-col, .audience-card):hover :is(.aud-block-title i, .ai-card-icon) {
    background: #005a9c !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(0, 90, 156, 0.2) !important;
}

.audience-impact-section :is(.aud-text, .ai-card-desc) {
    color: #475569 !important;
    font-size: 0.84375rem !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

.audience-impact-section :is(.aud-text, .ai-card-desc) strong {
    color: inherit !important;
    font-weight: 400 !important;
}

.audience-impact-section .audience-tab-heading {
    margin: 0 0 1.35rem !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--artha-neutral-900) !important;
    font-size: clamp(1.1rem, 2vw, 1.35rem) !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.audience-impact-section .ai-card-title {
    margin: 0 0 0.65rem !important;
    color: var(--artha-neutral-900) !important;
    font-size: 1.0625rem !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

@media (max-width: 1024px) {
    .audience-impact-section :is(.audience-grid, .ai-card-grid) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .audience-impact-section :is(.audience-tabs-nav, .audience-tabs) {
        width: 100% !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        padding-bottom: 0.35rem !important;
    }

    .audience-impact-section :is(.audience-grid, .ai-card-grid) {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .audience-impact-section :is(.audience-col, .audience-card) {
        padding: 24px 20px !important;
    }
}

/* SAP integration success case study feature */
.sap-microsite-container .sap-success-section {
    padding: clamp(4rem, 7vw, 6rem) 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.sap-microsite-container .sap-success-header,
.sap-microsite-container .sap-success-header.text-center {
    max-width: 980px !important;
    margin: 0 auto clamp(2rem, 4vw, 3rem) !important;
    text-align: center !important;
}

.sap-microsite-container .sap-success-header > * {
    margin-right: auto !important;
    margin-left: auto !important;
}

.sap-microsite-container .sap-success-header .sap-subtitle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
}

.sap-microsite-container .sap-success-header .sap-title {
    max-width: 980px !important;
    text-align: center !important;
    text-wrap: balance;
}

.sap-microsite-container .sap-success-feature {
    display: grid !important;
    grid-template-columns: minmax(0, 0.94fr) minmax(360px, 1.06fr) !important;
    gap: clamp(2rem, 6vw, 5rem) !important;
    align-items: center !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sap-microsite-container .sap-success-media {
    position: relative !important;
    min-height: 360px !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #f8fafc, #eef6fb) !important;
    overflow: hidden !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.10) !important;
}

.sap-microsite-container .sap-success-media::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(0, 90, 156, 0.04), rgba(15, 23, 42, 0.30)) !important;
    pointer-events: none !important;
}

.sap-microsite-container .sap-success-media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 360px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

.sap-microsite-container .sap-success-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 1.4rem !important;
    padding: 0 !important;
    border-left: 4px solid rgba(0, 90, 156, 0.12) !important;
}

.sap-microsite-container .sap-success-point {
    position: relative !important;
    padding: 0 0 0 1.7rem !important;
}

.sap-microsite-container .sap-success-point::before {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    top: 0.2rem !important;
    width: 4px !important;
    height: 100% !important;
    border-radius: 999px !important;
    background: transparent !important;
}

.sap-microsite-container .sap-success-point-active::before {
    background: linear-gradient(180deg, #005a9c, #06b6d4) !important;
}

.sap-microsite-container .sap-success-point h3 {
    margin: 0 0 0.45rem !important;
    color: #0f172a !important;
    font-size: clamp(1.05rem, 1.4vw, 1.28rem) !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

.sap-microsite-container .sap-success-point p {
    max-width: 540px !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 0.98rem !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
}

.sap-microsite-container .sap-success-point a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    margin-top: 0.8rem !important;
    color: #005a9c !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
}

.sap-microsite-container .sap-success-point a:hover {
    color: #06b6d4 !important;
    gap: 0.8rem !important;
}

.sap-microsite-container .sap-success-cta {
    position: absolute !important;
    right: 1.4rem !important;
    bottom: 1.4rem !important;
    z-index: 2 !important;
    align-self: auto !important;
    padding: 0.72rem 1.1rem !important;
    border: 0 !important;
    border-radius: 0.75rem !important;
    background: linear-gradient(135deg, #005a9c, #06b6d4) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 28px rgba(0, 90, 156, 0.22) !important;
}

.sap-microsite-container .sap-success-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(0, 90, 156, 0.30) !important;
}

/* Reusable case study feature widget for solution/product/landing pages */
.case-study-feature-section {
    padding: clamp(4rem, 7vw, 6rem) 0;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.case-study-feature-header {
    max-width: 980px;
    margin: 0 auto clamp(2rem, 4vw, 3rem);
    text-align: center;
}

.case-study-feature-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 0 auto 1rem;
    padding: 0.55rem 1.15rem;
    border: 1px solid rgba(0, 90, 156, 0.18);
    border-radius: 999px;
    background: rgba(0, 90, 156, 0.06);
    color: #005a9c;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.case-study-feature-title {
    max-width: 980px;
    margin: 0 auto;
    color: #0f172a;
    font-size: clamp(2.1rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.045em;
    text-align: center;
    text-wrap: balance;
}

.case-study-feature-description {
    max-width: 780px;
    margin: 1rem auto 0;
    color: #64748b;
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    line-height: 1.72;
    text-align: center;
}

.case-study-feature-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(360px, 1.06fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
    max-width: 1120px;
    margin: 0 auto;
}

.case-study-feature-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1.4rem;
    padding: 0;
    border-left: 4px solid rgba(0, 90, 156, 0.12);
}

.case-study-feature-point {
    position: relative;
    padding: 0 0 0 1.7rem;
}

.case-study-feature-point::before {
    content: "";
    position: absolute;
    left: -4px;
    top: 0.2rem;
    width: 4px;
    height: 100%;
    border-radius: 999px;
    background: transparent;
}

.case-study-feature-point-active::before {
    background: linear-gradient(180deg, #005a9c, #06b6d4);
}

.case-study-feature-point h3 {
    margin: 0 0 0.45rem;
    color: #0f172a;
    font-size: clamp(1.05rem, 1.4vw, 1.28rem);
    font-weight: 850;
    line-height: 1.25;
}

.case-study-feature-point p {
    max-width: 540px;
    margin: 0;
    color: #64748b;
    font-size: 0.98rem;
    font-weight: 400;
    line-height: 1.62;
}

.case-study-feature-media {
    position: relative;
    min-height: 360px;
    border-radius: 28px;
    background: linear-gradient(180deg, #f8fafc, #eef6fb);
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.10);
}

.case-study-feature-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 90, 156, 0.04), rgba(15, 23, 42, 0.30));
    pointer-events: none;
}

.case-study-feature-media img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.case-study-feature-cta {
    position: absolute;
    right: 1.4rem;
    bottom: 1.4rem;
    z-index: 2;
    padding: 0.72rem 1.1rem;
    border: 0;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, #005a9c, #06b6d4);
    color: #ffffff;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(0, 90, 156, 0.22);
}

.case-study-feature-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(0, 90, 156, 0.30);
}

/* Answer Engine Optimization content blocks */
.aeo-quick-answer-container {
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
    text-align: left;
}

.aeo-quick-answer {
    background: var(--bg-secondary);
    border-left: 0.25rem solid var(--accent-blue);
    padding: 1.5rem;
    border-radius: var(--border-radius-md);
    box-shadow: var(--card-shadow);
}

.aeo-quick-answer-heading {
    margin: 0 0 0.625rem 0;
    font-size: 0.9375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03125rem;
    color: var(--accent-blue);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.aeo-quick-answer-text {
    margin: 0;
    font-size: 0.90625rem;
    line-height: 1.6;
    color: var(--text-primary);
}

.aeo-key-facts-container {
    margin-bottom: 1.875rem;
    text-align: left;
}

.aeo-key-facts-panel {
    background: var(--bg-primary);
    border: 0.0625rem solid var(--border-color);
    padding: 1.5rem;
    border-radius: var(--border-radius-md);
    box-shadow: var(--card-shadow);
}

.aeo-key-facts-heading {
    margin: 0 0 1rem 0;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.aeo-key-facts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    gap: 1rem;
}

.aeo-fact-card {
    background: var(--bg-secondary);
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    border: 0.0625rem solid var(--border-color);
}

.aeo-fact-label {
    font-size: 0.6875rem;
    text-transform: uppercase;
    color: var(--text-tertiary);
    display: block;
    margin-bottom: 0.25rem;
}

.aeo-fact-value {
    font-size: 0.84375rem;
    color: var(--text-primary);
}

/* Forms and lead capture */
.form-group,
.field-group {
    margin-bottom: 1.15rem;
}

.form-label,
label {
    color: var(--artha-neutral-800);
}

.form-label,
.field-label,
form label:not(.checkbox-label):not(.form-check-label) {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.45rem;
    font-size: var(--type-label) !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    color: var(--artha-neutral-800) !important;
}

.required-star,
.required-indicator,
[data-required-marker="true"] {
    color: var(--artha-error-600) !important;
    font-weight: 900 !important;
    margin-left: 0.15rem;
}

.form-control,
.form-input,
.form-select,
.form-textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="date"],
input[type="password"],
select,
textarea {
    min-height: var(--form-field-height);
    width: 100%;
    border: 1px solid rgba(100, 116, 139, 0.32) !important;
    border-radius: var(--radius-md) !important;
    background: var(--artha-white) !important;
    color: var(--artha-neutral-900) !important;
    padding: 0.75rem 0.9rem !important;
    font-size: 0.96rem !important;
    line-height: 1.35 !important;
    font-weight: 450 !important;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast) !important;
}

textarea,
textarea.form-control {
    min-height: 7.5rem;
    resize: vertical;
}

.form-control::placeholder,
.form-input::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--artha-neutral-400);
    opacity: 1;
}

.form-control:focus,
.form-input:focus,
.form-select:focus,
.form-textarea:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--artha-primary-600) !important;
    box-shadow: var(--focus-ring) !important;
    outline: none !important;
}

.form-control.is-invalid,
.form-input.is-invalid,
input.is-invalid,
select.is-invalid,
textarea.is-invalid,
[aria-invalid="true"] {
    border-color: var(--artha-error-600) !important;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.14) !important;
}

.validation-error-msg,
.field-error,
.error-message,
.form-error {
    display: block;
    margin-top: 0.35rem;
    color: var(--artha-error-700) !important;
    font-size: 0.8125rem !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
}

.form-helper,
.field-helper,
.helper-text {
    display: block;
    margin-top: 0.35rem;
    color: var(--artha-neutral-500) !important;
    font-size: 0.8125rem !important;
    line-height: 1.45 !important;
}

.form-success,
.success-message,
.alert-success {
    color: var(--artha-success-700) !important;
    background: var(--artha-success-100) !important;
    border: 1px solid rgba(5, 150, 105, 0.24) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.85rem 1rem !important;
}

input[type="checkbox"],
input[type="radio"] {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--artha-primary-600);
}

.form-checkbox,
.checkbox-label,
.form-check-label {
    color: var(--artha-neutral-700) !important;
    line-height: 1.45;
}

form .btn[type="submit"],
form button[type="submit"] {
    min-height: 46px;
}

/* Reusable cleanup utilities for legacy templates.
   These replace common inline layout/text declarations while preserving
   page-specific artwork and unique section treatments. */
.u-nav-spacer {
    height: var(--nav-height) !important;
    background-color: var(--bg-secondary) !important;
}

.u-section-muted-xl {
    background: var(--bg-secondary) !important;
    padding: 90px 0 !important;
}

.u-compact-hero {
    min-height: 60vh !important;
    padding-top: calc(var(--nav-height) + 60px) !important;
    padding-bottom: 60px !important;
}

.u-section-header-center {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.u-section-header-center-48 {
    text-align: center !important;
    margin-bottom: 48px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.u-section-header-center-50 {
    text-align: center !important;
    margin-bottom: 50px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.u-section-header-center-56 {
    text-align: center !important;
    margin-bottom: 56px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.u-center {
    text-align: center !important;
}

.u-center-layer {
    text-align: center !important;
    position: relative !important;
    z-index: 1 !important;
}

.u-narrow-800 {
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.u-narrow-600 {
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.u-section-desc-centered {
    max-width: 600px !important;
    margin: 16px auto 0 !important;
}

.u-narrow-600-mb-30 {
    max-width: 600px !important;
    margin: 0 auto 30px !important;
}

.u-hero-grid-asymmetric {
    grid-template-columns: 1.2fr 0.8fr !important;
}

.u-grid-280 {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 24px !important;
}

.u-grid-320 {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 24px !important;
}

.u-grid-340 {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
    gap: 30px !important;
}

.u-grid-360 {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
}

.u-stack-between {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.u-action-row-start {
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

.u-action-row-center {
    display: flex !important;
    gap: 16px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

.u-brand-graphic-shell {
    position: relative !important;
    width: 100% !important;
    height: 350px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.u-card-fill {
    padding: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.u-pad-24 {
    padding: 24px !important;
}

.u-mt-auto {
    margin-top: auto !important;
}

.u-mt-16 {
    margin-top: 16px !important;
}

.u-mt-20 {
    margin-top: 20px !important;
}

.u-ml-8 {
    margin-left: 8px !important;
}

.u-ml-6 {
    margin-left: 6px !important;
}

.u-mr-5-success {
    margin-right: 5px !important;
    color: #10b981 !important;
}

.u-mr-6 {
    margin-right: 6px !important;
}

.u-mr-8 {
    margin-right: 8px !important;
}

.u-mb-0 {
    margin-bottom: 0 !important;
}

.u-mb-8 {
    margin-bottom: 8px !important;
}

.u-mb-15 {
    margin-bottom: 15px !important;
}

.u-mb-16 {
    margin-bottom: 16px !important;
}

.u-mb-20 {
    margin-bottom: 20px !important;
}

.u-mb-50 {
    margin-bottom: 50px !important;
}

.u-pt-0 {
    padding-top: 0 !important;
}

.u-justify-center {
    justify-content: center !important;
}

.u-text-xxs {
    font-size: 0.6875rem !important;
}

.u-icon-20 {
    font-size: 1.25rem !important;
}

.u-icon-48 {
    font-size: 3rem !important;
}

.u-copy-sm {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}

.u-copy-sm-loose {
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
}

.u-copy-sm-muted {
    font-size: 0.875rem !important;
    color: var(--text-secondary) !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
}

.u-copy-sm-light {
    font-size: 0.875rem !important;
    color: var(--text-secondary) !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
    font-weight: 300 !important;
}

.u-muted-14 {
    font-size: 0.875rem !important;
    color: #9ca3af !important;
}

.u-card-title-row {
    font-size: 1.125rem !important;
    color: var(--text-primary) !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.u-card-title-tight {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.u-card-title-17 {
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.u-feature-heading-lg {
    font-size: clamp(1.375rem, 3vw, 2.25rem) !important;
    font-weight: 800 !important;
    color: var(--text-primary) !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
}

.u-feature-copy {
    font-size: 0.9375rem !important;
    color: var(--text-secondary) !important;
    line-height: 1.75 !important;
    margin-bottom: 28px !important;
}

.u-hero-title-compact {
    font-size: clamp(2.375rem, 5vw, 4rem) !important;
    line-height: 1.1 !important;
    margin-bottom: 18px !important;
}

.u-cta-heading-inverse {
    font-size: clamp(1.625rem, 4vw, 3rem) !important;
    font-weight: 800 !important;
    color: #f8fafc !important;
    margin-bottom: 16px !important;
    line-height: 1.2 !important;
}

.u-cta-copy-inverse {
    font-size: 1.0625rem !important;
    color: #94a3b8 !important;
    max-width: 560px !important;
    margin: 0 auto 40px !important;
    line-height: 1.7 !important;
}

.u-inverse-badge {
    display: inline-flex !important;
    margin: 0 auto 20px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e2e8f0 !important;
}

.u-button-inverse-muted {
    padding: 15px 32px !important;
    font-size: 0.9375rem !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e8f0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.u-form-input-sm {
    padding: 10px 12px !important;
    font-size: 0.8125rem !important;
}

.u-form-input-compact {
    width: 100% !important;
    border: 1px solid var(--border-color) !important;
    padding: 10px !important;
    border-radius: 6px !important;
    font-size: 0.84375rem !important;
}

.u-form-label-compact {
    display: block !important;
    font-size: 0.78125rem !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    color: var(--text-secondary) !important;
}

.u-form-grid-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

.u-hidden {
    display: none !important;
}

.u-required-star {
    color: var(--artha-error-600) !important;
}

.u-color-success {
    color: #10b981 !important;
}

.u-color-brand-green {
    color: #00a651 !important;
}

.u-color-error {
    color: #dc2626 !important;
}

.u-color-brand-purple {
    color: #8b5cf6 !important;
}

.u-color-aws-orange {
    color: #ff9900 !important;
}

.u-color-teal {
    color: #14b8a6 !important;
}

.u-color-cyan {
    color: #06b6d4 !important;
}

.u-color-sky {
    color: #22d3ee !important;
}

.u-color-rose {
    color: #f43f5e !important;
}

.u-color-azure {
    color: #0078d4 !important;
}

.u-mini-title {
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    color: var(--text-color) !important;
    margin: 0 0 4px 0 !important;
}

.u-mini-copy {
    font-size: 0.71875rem !important;
    color: var(--text-secondary) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.u-legacy-card-shell {
    background: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    height: 100% !important;
    transition: transform 0.3s, box-shadow 0.3s !important;
    padding: 0 !important;
}

.u-legacy-title {
    font-size: 1.0625rem !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.4 !important;
    color: var(--text-color) !important;
    font-weight: 700 !important;
}

.u-menu-label {
    padding: 24px 20px 10px !important;
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.u-faq-toggle {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 1rem !important;
    background: none !important;
    border: none !important;
    text-align: left !important;
    font-size: 1.03125rem !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    cursor: pointer !important;
    padding: 1rem 1.5rem !important;
}

.u-faq-toggle i,
.u-faq-toggle .icon-plus {
    flex: 0 0 auto !important;
    margin-left: 0.75rem !important;
}

.u-faq-panel {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out !important;
    padding: 0 1.5rem !important;
}

.faq-accordion-item.active .u-faq-panel,
.faq-accordion-trigger.active + .u-faq-panel,
.u-faq-panel.active,
.u-faq-panel.is-open {
    max-height: 1200px !important;
    padding: 1rem 1.5rem 1.25rem !important;
}

.u-faq-copy {
    font-size: 0.90625rem !important;
    line-height: 1.6 !important;
    color: var(--text-secondary) !important;
    font-weight: 300 !important;
    padding-top: 10px !important;
    margin: 0 !important;
}

.u-inverse-chip {
    font-size: 0.75rem !important;
    background: rgba(255, 255, 255, 0.05) !important;
    padding: 6px 12px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.u-bordered-row {
    border-bottom: 1px solid #e5e7eb !important;
    padding: 15px 0 !important;
}

.faq-accordion-item.u-bordered-row {
    padding: 0 !important;
}

.u-stat-cell-bordered {
    text-align: center !important;
    border-right: 1px solid var(--border-color) !important;
    padding-right: 10px !important;
}

.u-bg-soft {
    background-color: #fafafa !important;
}

.u-btn-pad-md {
    padding: 13px 26px !important;
}

.u-content-subhead {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
    margin-top: 36px !important;
    margin-bottom: 16px !important;
}

.u-hero-title-industry {
    font-size: clamp(2.125rem, 4.5vw, 2.875rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 18px !important;
}

.u-hero-desc-narrow {
    font-size: 1.0625rem !important;
    max-width: 540px !important;
    line-height: 1.75 !important;
    margin-bottom: 32px !important;
}

.u-stat-desc {
    font-size: 0.875rem !important;
    color: var(--text-secondary) !important;
    margin-top: 10px !important;
    max-width: 250px !important;
}

.u-subtitle-18 {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}

.u-eyebrow-purple {
    font-size: 0.75rem !important;
    color: #8b5cf6 !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    display: block !important;
    margin-bottom: 8px !important;
}

.u-surface-card-lg {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 35px !important;
    box-shadow: var(--card-shadow) !important;
}

.u-icon-pill-purple {
    background: rgba(139, 92, 246, 0.1) !important;
    color: #8b5cf6 !important;
}

.u-icon-tile-purple {
    background: rgba(124, 58, 237, 0.05) !important;
    color: #7c3aed !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
}

.u-section-primary-70 {
    background: var(--bg-primary) !important;
    padding: 70px 0 !important;
}

.u-section-pad-80 {
    padding: 80px 0 !important;
}

.u-section-primary-80 {
    background: var(--bg-primary) !important;
    padding: 80px 0 !important;
}

.u-section-secondary-80 {
    background: var(--bg-secondary) !important;
    padding: 80px 0 !important;
}

/* Footer contrast */
.footer,
.footer p,
.footer li,
.footer a {
    color: rgba(255, 255, 255, 0.78);
}

.footer h4,
.footer .footer-link:hover,
.footer .legal-link:hover,
.footer .language-switcher a.active {
    color: var(--artha-white) !important;
}

.footer .footer-link {
    color: rgba(203, 213, 225, 0.76) !important;
}

.footer .footer-contact-card,
.footer .footer-contact-card:hover,
.footer .footer-contact-label {
    color: var(--artha-white) !important;
}

.footer .footer-contact-copy {
    color: rgba(226, 232, 240, 0.74) !important;
}

.footer .language-switcher a {
    color: rgba(255, 255, 255, 0.82) !important;
}

/* Mobile and responsive behavior */
@media (max-width: 1200px) {
    .nav-container {
        grid-template-columns: auto 1fr auto;
    }

    .nav-menu {
        gap: 1rem;
    }

    .nav-link {
        font-size: 0.8125rem !important;
    }

    .header-actions {
        gap: 0.55rem !important;
    }
}

@media (max-width: 992px) {
    :root {
        --form-field-height: 3.1rem;
    }

    .language-dropdown.language-switcher-header {
        display: none !important;
    }

    .header-cta-btn {
        display: none !important;
    }

    .header-actions {
        flex: 0 0 auto;
    }

    .mobile-toggle {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        padding: 12px 10px !important;
        border-radius: var(--radius-pill);
        align-items: stretch;
        background: var(--artha-white);
        border: 1px solid rgba(148, 163, 184, 0.26);
        box-shadow: var(--shadow-xs);
    }

    .mobile-toggle span {
        flex: 0 0 2px;
        background-color: var(--artha-neutral-900);
    }

    .mobile-nav-content {
        border-radius: var(--radius-xl) 0 0 var(--radius-xl);
    }

    .mobile-accordion-toggle,
    .mobile-direct-link {
        min-height: 48px;
        border-radius: var(--radius-md);
        color: var(--artha-neutral-900) !important;
        font-weight: 800 !important;
    }

    .mobile-accordion-toggle:hover,
    .mobile-direct-link:hover,
    .mobile-accordion-toggle[aria-expanded="true"] {
        background: var(--artha-primary-50) !important;
        color: var(--artha-primary-800) !important;
    }

    .mobile-sub-link {
        display: flex;
        align-items: center;
        min-height: 40px;
        border-radius: var(--radius-sm);
        color: var(--artha-neutral-700) !important;
        font-weight: 650;
    }

    .mobile-sub-link:hover {
        color: var(--artha-primary-800) !important;
        background: var(--artha-primary-50) !important;
    }

    .hero-buttons,
    .ai-hero-ctas,
    .healthcare-hero-ctas,
    .manufacturing-hero-ctas,
    .retail-hero-ctas,
    .bfsi-hero-ctas,
    .cta-actions {
        justify-content: center;
    }

    .btn,
    button.btn,
    input[type="submit"].btn {
        width: auto;
        max-width: 100%;
    }

    .tabs-nav,
    .audience-tabs-nav,
    .betl-tabs-nav,
    .betl-feat-tabs-nav {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        padding-bottom: 0.5rem;
    }

    .tab-btn,
    .audience-tab-btn,
    .betl-tab-btn,
    .betl-feat-tab-btn {
        flex: 0 0 auto;
    }

    .card-grid,
    .ai-card-grid,
    .healthcare-card-grid,
    .manufacturing-card-grid,
    .bfsi-card-grid,
    .retail-card-grid,
    .video-grid {
        grid-template-columns: 1fr !important;
    }

    .u-hero-grid-asymmetric,
    .u-form-grid-2 {
        grid-template-columns: 1fr !important;
    }

    .sap-microsite-container .audience-grid,
    .bfsi-microsite .audience-grid {
        grid-template-columns: 1fr !important;
    }

    .sap-microsite-container .audience-tabs-nav,
    .bfsi-microsite .audience-tabs-nav {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        border-radius: var(--radius-xl) !important;
    }

    .sap-microsite-container #sap-personas .audience-tabs-nav {
        width: 100% !important;
        justify-content: flex-start !important;
        border-radius: 0 !important;
    }

    .sap-microsite-container #sap-personas .audience-tabs-nav .audience-tab-btn {
        flex: 0 0 auto !important;
    }

    .sap-microsite-container #sap-personas .audience-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .sap-microsite-container #sap-personas .audience-col + .audience-col {
        border-left: 1px solid #e2e8f0 !important;
        border-top: 1px solid #e2e8f0 !important;
    }

    .sap-microsite-container .sap-success-feature {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }

    .case-study-feature-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .sap-microsite-container .sap-success-media,
    .sap-microsite-container .sap-success-media img {
        min-height: 280px !important;
    }

    .case-study-feature-media,
    .case-study-feature-media img {
        min-height: 280px;
    }

    .sap-microsite-container .sap-success-content {
        align-items: flex-start !important;
        text-align: left !important;
    }

    .case-study-feature-content {
        align-items: flex-start;
        text-align: left;
    }

    .sap-microsite-container .sap-success-cta {
        right: 1rem !important;
        bottom: 1rem !important;
    }

    .case-study-feature-cta {
        right: 1rem;
        bottom: 1rem;
    }
}

@media (max-width: 640px) {
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .section,
    .section-alt,
    section.section,
    section.section-alt {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .hero-title,
    .ai-hero-title,
    .healthcare-hero-title,
    .manufacturing-hero-title,
    .retail-hero-title,
    .bfsi-hero-title,
    .page-hero-title,
    .industry-hero-title {
        font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
    }

    .hero-buttons .btn,
    .ai-hero-ctas .btn,
    .cta-actions .btn,
    .mobile-ctas .btn,
    form .btn[type="submit"],
    form button[type="submit"] {
        width: 100%;
    }

    .card,
    .ai-card,
    .healthcare-card,
    .manufacturing-card,
    .bfsi-card,
    .retail-card,
    .challenge-card,
    .step-card,
    .pricing-card,
    .outcome-card,
    .teaser-card {
        padding: 1.25rem !important;
    }

    .footer-bottom {
        gap: 0.9rem;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
