/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #ffffff;
}

html {
    background-color: transparent;
    scroll-behavior: smooth;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header and Navigation */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: transparent;
    box-shadow: none;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.site-header.scrolled {
    background-color: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.9rem 2rem;
    background-color: transparent;
}

.nav-left,
.nav-center,
.nav-right {
    display: flex;
    align-items: center;
}

.nav-center {
    flex: 1;
    justify-content: center;
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.logo a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.logo-img {
    height: 32px;
    width: auto;
    object-fit: contain;
}

.logo-mark {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #16cba7;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.logo-text {
    font-size: 1.1rem;
    color: #0f172a;
}

.nav-links {
    display: flex;
    list-style: none;
    gap: 1.8rem;
    font-size: 0.95rem;
}

.nav-links a {
    text-decoration: none;
    color: #ffffff;
    font-weight: 500;
    position: relative;
    padding-bottom: 2px;
    transition: color 0.3s ease;
}

.site-header.scrolled .nav-links a {
    color: #111827;
    /* Near black for clarity on scroll */
}

.nav-links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: #16cba7;
    border-radius: 999px;
    transition: width 0.2s ease;
}

/* White underline for transparent header */
.site-header:not(.scrolled) .nav-links a::after {
    background-color: #ffffff;
}

.nav-links a:hover,
.nav-links a.active {
    color: #ffffff;
}

.site-header.scrolled .nav-links a {
    color: #475569;
}

.site-header.scrolled .nav-links a:hover,
.site-header.scrolled .nav-links a.active {
    color: #16cba7;
    /* Brand color on hover/active when scrolled */
}

/* Nav Underline */
.nav-center {
    position: relative;
}

.nav-underline {
    position: absolute;
    bottom: -8px;
    height: 3px;
    background-color: #16cba7;
    border-radius: 99px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    pointer-events: none;
    z-index: 10;
}

.site-header:not(.scrolled) .nav-underline {
    background-color: #ffffff;
}

/* Mega Menu Container */
.mega-menu-container {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    width: 100%;
    max-width: 960px;
    /* Reduced width ~20% */
    background-color: #ffffff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.15);
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
    overflow: hidden;
}

.mega-menu-container.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.mega-menu-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* show four columns on one row */
    background-color: #f8fafc;
    gap: 0.4rem 0.6rem;
    width: 100%;
    justify-content: start;
    /* align columns to the left edge of the dropdown */
    padding-left: 0;
    /* remove any internal left offset */
}

.mega-menu-col {
    padding: 1.05rem 1.1rem;
    /* slightly tighter so columns fit comfortably */
    transition: all 0.22s ease;
    border-right: 1px solid #e2e8f0;
    background-color: #f8fafc;
}

.mega-menu-col:last-child {
    border-right: none;
}

/* Remove extra left padding on the first column to eliminate visual offset */
.mega-menu-col:first-child {
    padding-left: 0.9rem;
}

.mega-menu-col.focused {
    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
    /* Refined shadow */
    position: relative;
    z-index: 10;
}

.mega-menu-header {
    margin-bottom: 1rem;
}

/* Micro label (PRODUCTS / SOLUTIONS / INDUSTRIES) */
.mega-menu-header .micro-label {
    font-size: 0.625rem;
    color: #94a3b8;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

/* Section subtitle / contextual header beneath micro-label */
.mega-menu-header h3 {
    font-size: 0.875rem;
    /* ~14px */
    font-weight: 600;
    /* semibold */
    color: #334155;
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 0.35rem 0;
    line-height: 1.25;
    transition: color 0.18s ease;
}

/* Column hierarchy: Products (stronger), Solutions (normal), Industries (muted) */
.mega-menu-col.products-group .mega-menu-header h3 {
    color: #071427;
    /* stronger, darker heading for Products */
    font-weight: 600;
}

.mega-menu-col[data-column="solutions"] .mega-menu-header h3 {
    color: #334155;
    /* default */
    font-weight: 600;
}

.mega-menu-col[data-column="industries"] .mega-menu-header h3 {
    color: #7b8793;
    /* muted but readable for Industries */
    font-weight: 500;
}

/* Optional small subtitle under headers */
.mega-menu-header .header-sub {
    /* if used */
    font-size: 0.85rem;
    color: #64748b;
    margin: 0;
}

.mega-menu-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-menu-links li {
    margin-bottom: 0.15rem;
    /* Tighter density */
}

.mega-menu-links a {
    text-decoration: none;
    font-size: 0.9rem;
    color: #475569;
    /* neutral default */
    font-weight: 600;
    /* medium/semibold for quick scanning */
    display: block;
    padding: 0.35rem 0;
    transition: all 0.18s ease;
}

/* Description under link (secondary information) */
.mega-menu-links .menu-desc {
    font-size: 0.78rem;
    /* 12.5px */
    color: #64748b;
    margin: 0.15rem 0 0.6rem 0;
    line-height: 1.5;
}

/* Column-level link treatments to guide attention */
.mega-menu-col.products-group .mega-menu-links a {
    color: #0f172a;
    /* stronger link color for Products */
    font-weight: 600;
}

.mega-menu-col[data-column="solutions"] .mega-menu-links a {
    color: #475569;
    /* neutral */
    font-weight: 600;
}

.mega-menu-col[data-column="industries"] .mega-menu-links a {
    color: #718096;
    /* muted links for Industries */
    font-weight: 500;
}

.mega-menu-col.focused .mega-menu-links a {
    color: #334155;
    /* Links dominate in focused column */
}

.mega-menu-links a:hover {
    color: #16cba7 !important;
    transform: translateX(4px);
}

/* Tweak nav underline vertical placement so it sits directly below the nav item */
.nav-underline {
    bottom: -4px;
    /* reduced offset so underline sits closer to text */
    height: 3px;
}

.nav-links a::after {
    display: none !important;
    /* Remove old underline */
}

.has-dropdown {
    position: relative;
}

.dropdown-menu {
    position: absolute;
    top: 130%;
    left: 0;
    min-width: 260px;
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    border-radius: 0.75rem;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
    padding: 0.6rem 0;
    display: none;
    flex-direction: column;
    gap: 0;
    z-index: 1200;
}

.dropdown-menu li {
    list-style: none;
}

.dropdown-menu a {
    display: block;
    padding: 0.55rem 1.1rem;
    font-size: 0.9rem;
    color: #0f172a;
    font-weight: 500;
}

.dropdown-menu a::after {
    display: none;
}

.dropdown-menu a:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.has-dropdown:hover>.dropdown-menu {
    display: flex;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0.7rem 1.6rem;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, transform 0.1s ease;
}

.btn-nav-primary {
    background-color: #16cba7;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(22, 203, 167, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.site-header.scrolled .btn-nav-primary {
    border: 1px solid transparent;
}

.btn-nav-primary:hover {
    background-color: #12a286;
    box-shadow: 0 10px 24px rgba(22, 203, 167, 0.32);
    transform: translateY(-1px);
}

/* Hero Section */
.hero {
    position: relative;
    overflow: hidden;
    padding: 4rem 0 5rem;
    margin-top: -90px;
    padding-top: calc(4rem + 80px);
    background-color: #f8fbff;
    background-image: url('../images/banner/home-page.jpg');
    background-size: cover;
    background-position: 85% 15%;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
}

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.75) 0%, rgba(15, 23, 42, 0.5) 100%);
    z-index: 0;
}

.hero-bg-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(to right, rgba(148, 163, 184, 0.12) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(148, 163, 184, 0.12) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
}

.hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 0.5rem;
}

.hero-content {
    max-width: 820px;
    text-align: left;
}

.hero-title {
    font-size: 3.5rem;
    line-height: 1.15;
    color: #ffffff;
    margin-bottom: 1.5rem;
    font-weight: 700;
}

.hero-description {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2.5rem;
}

.hero-logo {
    margin-bottom: 2rem;
}

.hero-logo-img {
    height: 60px;
    width: auto;
    object-fit: contain;
}

.hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.07);
    color: #047857;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1.5rem;
}

.pill-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #22c55e;
}


.hero-title-brand {
    color: #16cba7;
}

.hero-subtitle {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.95);
    max-width: 640px;
    margin: 0 0 2rem 0;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.hero-tagline {
    font-size: 1.5rem;
    font-weight: 600;
    color: #16cba7;
    margin-bottom: 1.5rem;
    letter-spacing: -0.02em;
}


.construction-hero .hero-description {
    max-width: 65%;
}

.hero-features {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 2rem 0 2.5rem 0;
}

.hero-feature-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: rgba(255, 255, 255, 0.95);
    font-size: 1rem;
    line-height: 1.5;
}

.hero-feature-item i {
    color: #16cba7;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.uniclaim-hero {
    background-image: url('../images/banner/uniclaim-surveyor-app.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Trust Band Section */
.trust-band-section {
    padding: 3rem 0;
    background-color: #f9fafb;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.trust-band-content {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.trust-band-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.trust-band-subtext {
    font-size: 1rem;
    line-height: 1.6;
    color: #6b7280;
    margin-bottom: 2rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.trust-indicators {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.trust-indicator-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.trust-indicator-icon {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.trust-indicator-icon i.fa-star,
.trust-indicator-icon i.fa-star-half-stroke {
    color: #fbbf24;
    font-size: 1rem;
}

.trust-indicator-icon i.fa-shield-halved {
    color: #16cba7;
    font-size: 1.1rem;
}

.trust-indicator-text {
    font-size: 0.95rem;
    color: #374151;
    font-weight: 500;
}

/* Inspection Problems Section */
.inspection-problems-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.inspection-problems-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.inspection-problems-title {
    font-size: 2.125rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.inspection-problems-subheading {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    margin: 0;
}

.inspection-problems-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 1280px;
    margin: 0 auto 3rem;
}

.inspection-problem-pillar {
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 12px;
    padding: 32px;
    transition: all 0.2s ease;
}

.inspection-problem-pillar:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.problem-pillar-icon {
    font-size: 24px;
    color: #64748b;
    margin-bottom: 20px;
    display: inline-block;
}

.problem-pillar-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 8px;
    line-height: 1.3;
}

.problem-pillar-desc {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #6b7280;
    margin-bottom: 16px;
}

.problem-pillar-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* FUPO positioning section styles */
.fupo-positioning-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.fupo-positioning-section .solution-positioning-header {
    max-width: 900px;
    margin: 0 auto 1.25rem;
    text-align: left;
}

.fupo-positioning-copy,
.fupo-positioning-section .fupo-positioning-copy,
.fupo-positioning-section .fupo-list {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}

.fupo-positioning-copy h3,
.fupo-positioning-section .uci-value-header {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
}

.fupo-list {
    list-style: disc;
    margin-left: 1.35rem;
    color: #374151;
    font-size: 1.02rem;
    line-height: 1.75;
    margin-top: 0.5rem;
}

.fupo-list li {
    margin-bottom: 0.9rem;
}

.fupo-clarification-zone {
    margin-top: 1.75rem;
}

.problem-pillar-bullets li {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #374151;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
}

.problem-pillar-bullets li:last-child {
    margin-bottom: 0;
}

.problem-pillar-bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #64748b;
    font-weight: bold;
    font-size: 1.2em;
}

.inspection-problems-closing {
    text-align: center;
    margin-top: 3rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.inspection-problems-closing-text {
    font-size: 1rem;
    line-height: 1.6;
    color: #6b7280;
    font-style: italic;
    margin: 0;
}

.hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem;
    flex-wrap: wrap;
}

.btn-primary {
    background-color: #16cba7;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(22, 203, 167, 0.3);
}

.btn-primary:hover {
    background-color: #12a286;
    box-shadow: 0 12px 30px rgba(22, 203, 167, 0.38);
    transform: translateY(-1px);
}

.btn-secondary {
    background-color: #ffffff;
    color: #0f172a;
    border-color: rgba(148, 163, 184, 0.6);
}

.btn-secondary:hover {
    border-color: #16cba7;
    color: #0f172a;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.btn-tertiary {
    background-color: transparent;
    color: #16cba7;
    border: 1px solid #16cba7;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-tertiary:hover {
    background-color: #16cba7;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(22, 203, 167, 0.3);
    transform: translateY(-1px);
}

.hero-trust-signal {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    text-align: center;
    width: 100%;
}

.trust-label {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 500;
    margin-bottom: 0.75rem;
    text-align: center;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.trust-metrics {
    font-size: 1.15rem;
    color: #ffffff;
    line-height: 1.6;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.metric-item {
    display: inline-block;
}

.metric-separator {
    color: rgba(255, 255, 255, 0.6);
    font-weight: 400;
}

.trust-text {
    font-size: 1.1rem;
    color: #ffffff;
    line-height: 1.6;
    text-align: center;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6), 0 0 20px rgba(0, 0, 0, 0.3);
    margin-bottom: 2rem;
    font-weight: 600;
    opacity: 1;
    letter-spacing: 0.5px;
}

.partner-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5rem;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.partner-logo {
    max-width: 150px;
    max-height: 75px;
    width: auto;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: contain;
    opacity: 0.9;
    transition: opacity 0.25s ease, transform 0.3s ease, display 0.25s ease;
    background: rgba(255, 255, 255, 0.15);
    padding: 0.75rem;
    border-radius: 0.5rem;
    backdrop-filter: blur(10px);
}

.partner-logo:hover {
    opacity: 1;
    transform: scale(1.05);
    background: rgba(255, 255, 255, 0.25);
}

.trust-text strong {
    color: #ffffff;
    font-weight: 600;
}

.btn-secondary i {
    margin-right: 0.5rem;
}

.insurance-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/banner/insurance-page-banner.jpg');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.insurance-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 0;
}

.insurance-hero .hero-content {
    max-width: 900px;
}

.workshop-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/banner/industry-workshop-banner.jpg');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.workshop-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 0;
}

.workshop-hero .hero-content {
    max-width: 900px;
}

.enterprise-workshop-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/banner/industry-workshop-banner.jpg');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.enterprise-workshop-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 0;
}

.enterprise-workshop-hero .hero-content {
    max-width: 900px;
}


.hero-highlight {
    font-weight: 700;
    color: #ffffff;
}

.enterprise-workshop-hero .hero-context {
    font-size: 1.15rem;
    line-height: 1.7;
    margin-bottom: 2.5rem;
    opacity: 0.95;
}

.uci-platform-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/pages/uci-platform-solution/uci.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.rvsf-solution-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/pages/rvsf-solution/1.png');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.rvsf-solution-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 0;
}

.rvsf-solution-hero .hero-content {
    max-width: 900px;
}

/* Workshop Management Software Hero */
.workshop-management-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/banner/workshop-management-software.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.workshop-management-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 0;
}

.workshop-management-hero .hero-content {
    max-width: 900px;
}

.workshop-management-hero .hero-category {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
}


.hero-philosophy {
    font-size: 1.15rem;
    line-height: 1.6;
    margin-bottom: 2.5rem;
    font-style: italic;
    color: #cbd5e1;
    font-weight: 500;
}

.workshop-management-hero .hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* Fleet GPS & Telematics Hero */
.telematics-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/banner/fleet-industry.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}

.telematics-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 1;
}

.telematics-hero .hero-inner {
    position: relative;
    z-index: 2;
}

.telematics-hero .hero-content {
    max-width: 900px;
}

.telematics-hero .hero-category {
    display: inline-block;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
    /* Changed to white/gray like UCI */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 1.5rem;
}


.telematics-hero .hero-actions {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}




/* Preventive Fleet Maintenance Hero */
.fleet-maintenance-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    position: relative;
    overflow: hidden;
}

/* Background Image with Blur */
.fleet-maintenance-hero::after {
    content: '';
    position: absolute;
    inset: -5px;
    /* Negative inset to prevent white edges from blur */
    background-image: url('../images/banner/fleet-maintenance.png');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: blur(3px) contrast(0.9);
    z-index: 0;
}

/* Darker Overlay */
.fleet-maintenance-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.82) 30%, rgba(15, 23, 42, 0.60) 70%, rgba(15, 23, 42, 0.40) 100%);
    z-index: 1;
}

.fleet-maintenance-hero .hero-content {
    max-width: 900px;
    position: relative;
    z-index: 2;
}


.fleet-maintenance-hero .hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.text-brand {
    color: #16cba7;
}

/* Preventive Fleet Maintenance - Struggles Section */
.fleet-struggles-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.fleet-struggles-header {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3.5rem;
}

.fleet-struggles-title {
    font-size: 2rem;
    font-weight: 600;
    color: #1f2933;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.fleet-struggles-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 650px;
}

.fleet-struggles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto;
}

.fleet-struggles-closing {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e8ecef;
    text-align: center;
}

.fleet-struggles-closing-text {
    font-size: 1.1rem;
    color: #4b5563;
    font-weight: 500;
    font-style: italic;
}

@media (max-width: 1024px) {
    .fleet-struggles-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .fleet-struggles-grid {
        grid-template-columns: 1fr;
    }

    .fleet-struggles-title {
        font-size: 1.75rem;
    }
}

/* Why Most Workshops Struggle Section */
.workshop-struggles-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.workshop-struggles-header {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3.5rem;
}

.workshop-struggles-title {
    font-size: 2rem;
    font-weight: 600;
    color: #1f2933;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.workshop-struggles-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 650px;
}

.workshop-struggles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto;
}

.struggle-card {
    background: #ffffff;
    border: 1px solid #e8ecef;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    /* very subtle shadow */
    transition: transform 0.2s ease;
}

.struggle-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.struggle-icon {
    font-size: 24px;
    color: #16cba7;
    /* Subtle brand green */
    margin-bottom: 16px;
    display: inline-block;
}

.struggle-card-title {
    font-size: 1.125rem;
    /* ~18px */
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px;
}

.struggle-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.struggle-list li {
    font-size: 0.95rem;
    /* ~15px */
    line-height: 1.6;
    color: #374151;
    margin-bottom: 10px;
    position: relative;
    padding-left: 14px;
}

.struggle-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #9ca3af;
    /* Muted bullet color */
    font-weight: bold;
}

.struggle-list li:last-child {
    margin-bottom: 0;
}

.struggle-closing {
    margin-top: 3rem;
    text-align: left;
    max-width: 800px;
}

.struggle-closing-text {
    font-size: 1.1rem;
    color: #4b5563;
    font-style: italic;
    border-left: 4px solid #e5e7eb;
    padding-left: 1rem;
}


/* Reactive to Predictable Operations Section */
.predictable-operations-section {
    padding: 100px 0;
    background-color: #F9FBFA;
    /* Subtle tinted background */
}

.predictable-header {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.predictable-title {
    font-size: 2.125rem;
    /* ~34px */
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.predictable-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 650px;
}

.predictable-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto;
}

.predictable-card {
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    /* Soft, subtle shadow */
}

.predictable-icon {
    font-size: 24px;
    color: #16cba7;
    margin-bottom: 16px;
    display: inline-block;
}

.predictable-card-title {
    font-size: 1.125rem;
    /* ~18px */
    font-weight: 600;
    color: #111827;
    margin-bottom: 14px;
}

.predictable-divider {
    width: 40px;
    height: 3px;
    background-color: #16cba7;
    margin-bottom: 16px;
    opacity: 0.6;
    border-radius: 2px;
}

/* Fleet Capabilities Section */
.fleet-capabilities-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.fleet-capabilities-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 3rem;
}

.fleet-tabs-container {
    display: flex;
    justify-content: center;
    gap: 2rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 3rem;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
}

.fleet-tabs-container::-webkit-scrollbar {
    display: none;
}

.fleet-tab-btn {
    background: none;
    border: none;
    font-size: 15px;
    font-weight: 500;
    color: #6b7280;
    padding: 0 0.5rem 1rem;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.2s, border-color 0.2s;
    border-bottom: 2px solid transparent;
}

.fleet-tab-btn:hover {
    color: #374151;
}

.fleet-tab-btn.active {
    color: #111827;
    border-bottom-color: #16cba7;
}

.fleet-tab-content {
    display: none;
    animation: fadeIn 0.3s ease-in-out;
}

.fleet-tab-content.active {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}



.fleet-module-card {
    background: #ffffff;
    border: 1px solid #E6ECE9;
    border-radius: 12px;
    padding: 24px 28px;
    transition: border-color 0.2s;
}

.fleet-module-card:hover {
    border-color: #cbd5e1;
}

.fleet-module-title {
    font-size: 17px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 4px;
}

.fleet-module-intent {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 12px;
    display: block;
}

.fleet-module-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fleet-module-list li {
    font-size: 14.5px;
    line-height: 1.6;
    color: #374151;
    margin-bottom: 8px;
    padding-left: 12px;
    position: relative;
}

.fleet-module-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #9ca3af;
    font-weight: bold;
}

@media (max-width: 1024px) {
    .fleet-tab-content.active {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .fleet-tab-content.active {
        grid-template-columns: 1fr;
    }

    .fleet-tabs-container {
        justify-content: flex-start;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

.predictable-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.predictable-list li {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #374151;
    margin-bottom: 10px;
    position: relative;
    padding-left: 14px;
}

.predictable-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    /* Brand green bullet for solution section */
    font-weight: bold;
}

.predictable-list li:last-child {
    margin-bottom: 0;
}


/* Built Around Real Workflow Section */
.workshop-workflow-section {
    padding: 100px 0 0;
    /* Padding bottom handled by footer */
    background-color: #ffffff;
}

.workflow-header {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.workflow-title {
    font-size: 2.125rem;
    /* ~34px */
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.workflow-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 680px;
    margin: 0 auto 3rem;
    text-align: center;
}

/* Workflow Strip */
.workflow-strip {
    display: flex;
    overflow-x: auto;
    gap: 2rem;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    border-bottom: 1px solid #f3f4f6;
    scrollbar-width: none;
}

.workflow-strip::-webkit-scrollbar {
    display: none;
}

.workflow-tab {
    font-size: 0.95rem;
    font-weight: 500;
    color: #6b7280;
    white-space: nowrap;
    padding: 0 0 0.75rem 0;
    /* Updated padding */
    cursor: pointer;
    border: none;
    /* Reset border */
    background: none;
    /* Reset background */
    border-bottom: 2px solid transparent;
    /* Keep bottom border for active state */
    transition: all 0.2s;
    font-family: inherit;
    /* Inherit font */
}

.workflow-tab.active {
    color: #16cba7;
    border-bottom-color: #16cba7;
    font-weight: 600;
}

/* Capability Grid */
.capability-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto 5rem;
}

.module-card {
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 12px;
    padding: 28px;
    transition: all 0.2s ease;
}

.module-card:hover {
    border-color: #cbd5e1;
    /* Darkens on hover as requested */
}

.module-icon {
    font-size: 22px;
    color: #64748b;
    /* Neutral grey or muted brand green */
    margin-bottom: 16px;
    display: inline-block;
}

.module-title {
    font-size: 1.05rem;
    /* ~17px */
    font-weight: 600;
    color: #111827;
    margin-bottom: 4px;
}

.module-intent {
    font-size: 0.875rem;
    /* ~14px */
    color: #6b7280;
    margin-bottom: 16px;
    line-height: 1.4;
}

.module-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
}

.module-bullets li {
    font-size: 0.9rem;
    /* ~14.5px */
    line-height: 1.5;
    color: #374151;
    margin-bottom: 8px;
    position: relative;
    padding-left: 14px;
}

.module-bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #9ca3af;
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1;
    top: 2px;
}

.module-bullets li:last-child {
    margin-bottom: 0;
}

/* Why This Structure Works Footer */
.workflow-why-footer {
    background-color: #f8fafc;
    padding: 60px 0;
    border-top: 1px solid #f1f5f9;
}

.why-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    max-width: 1280px;
    margin: 0 auto;
}

.why-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1f2933;
    margin-bottom: 0.5rem;
}

.why-desc {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #64748b;
}


/* Designed to Scale With Your Business Section */
.scale-with-business-section {
    padding: 100px 0;
    background-color: #f9fafb;
    /* Very light grey */
}

.scale-header {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3.5rem;
}

.scale-header.center {
    text-align: center;
}

.scale-title {
    font-size: 2.125rem;
    /* ~34px */
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.scale-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 650px;
}

.scale-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto 3rem;
    position: relative;
}

/* Optional connection line behind cards (if desired, but keeping clean for now as per "simple progression") */
/* .scale-grid::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #e5e7eb;
    z-index: 0;
    transform: translateY(-50%);
} */

.scale-card {
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 12px;
    padding: 32px 24px;
    /* Slightly more vertical padding */
    position: relative;
    z-index: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.scale-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    border-color: #d1d5db;
}

.scale-icon {
    font-size: 22px;
    color: #64748b;
    /* Neutral grey */
    margin-bottom: 20px;
    display: inline-block;
}

.scale-label {
    display: block;
    font-size: 0.75rem;
    /* ~12px */
    letter-spacing: 0.08em;
    color: #6b7280;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 8px;
}

.scale-card-title {
    font-size: 1.125rem;
    /* ~18px */
    font-weight: 600;
    color: #111827;
    margin-bottom: 8px;
}

.scale-outcome {
    font-size: 0.95rem;
    /* ~15px */
    line-height: 1.5;
    color: #374151;
}

.scale-closing {
    text-align: center;
    margin-top: 3rem;
}

.scale-closing-text {
    font-size: 1rem;
    color: #6b7280;
    font-style: italic;
    font-weight: 500;
}

/* Fleet Scale Capabilities List */
.fleet-scale-capabilities {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fleet-scale-capabilities li {
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.6;
    margin-bottom: 6px;
    padding-left: 0;
}

.fleet-scale-capabilities li:last-child {
    margin-bottom: 0;
}

/* Fleet Scale Outcome Styling */
.scale-with-fleet .scale-outcome {
    font-weight: 600;
    margin-bottom: 12px;
}

/* Results Workshops See Section */
.results-workshops-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.results-header {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3.5rem;
}

.results-header.center {
    text-align: center;
}

.results-title {
    font-size: 2.125rem;
    /* ~34px */
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.results-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 650px;
}

.results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 1280px;
    margin: 0 auto;
}

.result-pillar {
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 12px;
    padding: 32px;
    transition: all 0.2s ease;
}

.result-pillar:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    border-color: #d1d5db;
}

.pillar-icon {
    font-size: 22px;
    color: #16cba7;
    /* Muted brand green as requested in Icon Usage */
    margin-bottom: 20px;
    display: inline-block;
}

.pillar-title {
    font-size: 1.125rem;
    /* ~18px */
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px;
}

.pillar-divider {
    width: 40px;
    height: 2px;
    background-color: #16cba7;
    /* Very light brand green or neutral grey - keeping consistent with icon */
    margin-bottom: 20px;
    opacity: 0.5;
}

.pillar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pillar-list li {
    font-size: 0.95rem;
    /* ~15px */
    line-height: 1.6;
    color: #374151;
    margin-bottom: 12px;
    position: relative;
    padding-left: 24px;
}

.pillar-list li:last-child {
    margin-bottom: 0;
}

.pillar-list li::before {
    content: "•";
    /* Simple dot or checkmark */
    position: absolute;
    left: 0;
    color: #16cba7;
    /* Brand green bullet */
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1;
    top: 2px;
}

/* Results Closing Text */
.results-closing {
    text-align: center;
    margin-top: 3rem;
}

.results-closing-text {
    font-size: 0.95rem;
    color: #6b7280;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
}

/* Why RAMP PFMS Feels Different Section */
.why-pfms-different-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.why-pfms-header {
    text-align: center;
    margin-bottom: 4rem;
}

.why-pfms-title {
    font-size: 2.125rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin: 0;
}

/* Philosophy Contrast Block */
.philosophy-contrast {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    max-width: 900px;
    margin: 0 auto 4rem;
    padding: 2rem 0;
}

.philosophy-left {
    font-size: 1.5rem;
    font-weight: 400;
    color: #6b7280;
    margin: 0;
    line-height: 1.4;
}

.philosophy-right {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin: 0;
    line-height: 1.4;
}

/* Principle Cards Grid */
.principle-cards-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto 3rem;
}

/* First 3 cards span 2 columns each */
.principle-cards-grid .principle-card:nth-child(1),
.principle-cards-grid .principle-card:nth-child(2),
.principle-cards-grid .principle-card:nth-child(3) {
    grid-column: span 2;
}

/* Last 2 cards centered - each spans 2 columns, starting at column 2 and 4 */
.principle-cards-grid .principle-card:nth-child(4) {
    grid-column: 2 / span 2;
}

.principle-cards-grid .principle-card:nth-child(5) {
    grid-column: 4 / span 2;
}

.principle-card {
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 12px;
    padding: 32px 24px;
    transition: all 0.2s ease;
    text-align: left;
}

.principle-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    border-color: #d1d5db;
}

.principle-icon {
    font-size: 22px;
    color: #64748b;
    margin-bottom: 20px;
    display: inline-block;
}

.principle-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 12px;
    line-height: 1.3;
}

.principle-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #374151;
    margin: 0;
}

/* Why PFMS Closing */
.why-pfms-closing {
    text-align: center;
    margin-top: 3rem;
}

.why-pfms-closing-text {
    font-size: 1rem;
    color: #6b7280;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

/* Who Uses RAMP PFMS Section */
.who-uses-pfms-section {
    padding: 100px 0;
    background-color: #f9fafb;
}

.who-uses-header {
    text-align: center;
    max-width: 1200px;
    margin: 0 auto 3.5rem;
}

.who-uses-header.center {
    text-align: center;
}

.who-uses-title {
    font-size: 2.125rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.who-uses-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    margin: 0;
}

/* Industry Grid */
.industry-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 1280px;
    margin: 0 auto 3rem;
}

.industry-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px;
    transition: all 0.15s ease;
}

.industry-item:hover {
    transform: translateY(-2px);
}

.industry-icon {
    font-size: 28px;
    color: #64748b;
    margin-bottom: 16px;
    display: inline-block;
    transition: color 0.15s ease;
}

.industry-item:hover .industry-icon {
    color: #16cba7;
}

.industry-label {
    font-size: 1rem;
    font-weight: 500;
    color: #111827;
    margin: 0;
    line-height: 1.4;
}

.who-uses-closing {
    text-align: center;
    margin-top: 3rem;
}

.who-uses-closing-text {
    font-size: 1rem;
    color: #6b7280;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

/* Why RAMP Feels Different Section */
.why-ramp-different-section {
    padding: 120px 0;
    /* Generous padding for calm feel */
    background-color: #ffffff;
}

.why-ramp-grid {
    display: grid;
    grid-template-columns: 4fr 6fr;
    /* 40% - 60% split */
    gap: 4rem;
    /* Large negative space */
    align-items: center;
    /* Align vertically centered */
    max-width: 1100px;
    /* Constrained slightly for better reading width */
    margin: 0 auto;
}

.why-ramp-statement {
    font-size: 2.125rem;
    /* ~34px */
    font-weight: 600;
    line-height: 1.25;
    color: #111827;
    margin: 0;
}

.text-brand {
    color: #16cba7;
    /* Using brand green for emphasis */
}

/* Optional Thin Vertical Line Wrapper */
.principles-wrapper {
    border-left: 2px solid #e5e7eb;
    /* Neutral grey line */
    padding-left: 2rem;
}

.why-ramp-principles-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.why-ramp-principles-list li {
    font-size: 1rem;
    /* ~16px */
    font-weight: 400;
    /* Regular weight for calm feel */
    line-height: 1.6;
    color: #374151;
    /* Muted dark grey */
    margin-bottom: 16px;
    display: block;
}

.why-ramp-principles-list li:last-child {
    margin-bottom: 0;
}

.why-ramp-closing {
    text-align: center;
    margin-top: 3.5rem;
}

.why-ramp-closing p {
    font-size: 1.125rem;
    /* ~18px */
    font-weight: 500;
    line-height: 1.5;
    color: #6b7280;
    /* Muted grey */
    margin: 0;
}


/* Who RAMP Is Built For Section */
.who-ramp-built-for-section {
    padding: 100px 0;
    background-color: #f9fafb;
    /* Very light neutral for separation */
}

.who-built-header {
    text-align: left;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.who-built-title {
    font-size: 2rem;
    /* ~32px */
    font-weight: 600;
    color: #111827;
    line-height: 1.25;
    margin-bottom: 1rem;
}

.who-built-subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 700px;
    margin: 0 auto 3rem;
    text-align: center;
}

.persona-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* Centers the cards in the row */
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto;
}

.persona-card {
    background: #ffffff;
    border: 1px solid #e6ece9;
    border-radius: 12px;
    padding: 28px;
    width: calc(33.333% - 16px);
    /* 3 cards per row minus gap approximation */
    min-width: 300px;
    /* Ensure cards don't get too small */
    flex-grow: 0;
    /* Don't stretch */
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.persona-card:hover {
    border-color: #16cba7;
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.persona-icon {
    font-size: 24px;
    color: #64748b;
    margin-bottom: 20px;
    transition: color 0.3s ease;
}

.persona-card:hover .persona-icon {
    color: #16cba7;
}


.persona-title {
    font-size: 1.05rem;
    /* ~17px */
    font-weight: 600;
    color: #111827;
    margin-bottom: 8px;
}

.persona-desc {
    font-size: 0.95rem;
    /* ~15px */
    line-height: 1.5;
    color: #6b7280;
}

.who-built-closing {
    text-align: center;
    margin-top: 3rem;
}

.who-built-closing p {
    font-size: 1rem;
    color: #6b7280;
    font-style: italic;
    /* Or slightly lighter weight as suggested */
    font-weight: 500;
    margin: 0;
}

/* FUPO Integration Section */
.fupo-integration-section {
    padding: 100px 0;
    background-color: #ffffff;
    border-top: 1px solid #f1f5f9;
}

.integration-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem;
}

.integration-title {
    font-size: 2.25rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.integration-subtitle {
    font-size: 1.1rem;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 0;
}

.integration-intro {
    text-align: center;
    font-size: 1.05rem;
    color: #334155;
    font-weight: 600;
    margin-bottom: 3rem;
    margin-top: 2rem;
}

.integration-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

.integration-item {
    background-color: #f8fafc;
    padding: 2.5rem 2rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    text-align: center;
    transition: all 0.3s ease;
}

.integration-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.integration-icon {
    font-size: 2.5rem;
    color: #16cba7;
    margin-bottom: 1.5rem;
    display: block;
}

.integration-item-title {
    font-size: 1.1rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.integration-item-desc {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

.integration-closing {
    text-align: center;
    padding: 2.5rem;
    background-color: #f0fdf4;
    border-left: 4px solid #16cba7;
    border-radius: 4px;
}

.integration-closing-text {
    font-size: 1.1rem;
    color: #1e293b;
    font-weight: 500;
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .integration-title {
        font-size: 1.75rem;
    }

    .integration-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* FUPO Enterprise Scale Section */
.fupo-scale-section {
    padding: 96px 0;
    background-color: #f9fafb;
}

.scale-header {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 4.5rem;
}

.scale-title {
    font-size: 2.25rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.scale-subtitle {
    font-size: 1.05rem;
    color: #475569;
    line-height: 1.7;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.scale-capabilities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 4rem;
}

.scale-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.scale-card:hover {
    border-color: #16cba7;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.scale-card-icon {
    font-size: 2.5rem;
    color: #64748b;
    margin-bottom: 1.5rem;
    display: block;
    transition: color 0.3s ease;
}

.scale-card:hover .scale-card-icon {
    color: #16cba7;
}

.scale-card-title {
    font-size: 1.1rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.scale-card-desc {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

.scale-closing {
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
    padding: 3rem 0 0;
}

.scale-closing-text {
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    font-weight: 500;
    margin: 0;
    font-style: italic;
}

.fupo-conclusion-note {
    font-size: 1rem;
    color: #6b7280;
    font-style: italic;
    font-weight: 500;
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .scale-capabilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .scale-title {
        font-size: 1.75rem;
    }

    .scale-capabilities-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .fupo-scale-section {
        padding: 80px 0;
    }
}

/* FUPO Fit Section */
.fupo-fit-section {
    padding: 96px 0;
    background-color: #ffffff;
    border-top: 1px solid #f1f5f9;
}

.fit-container {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 20px;
}

.fit-header {
    text-align: center;
    margin-bottom: 4rem;
}

.fit-title {
    font-size: 2rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.fit-intro {
    font-size: 1.05rem;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 1rem;
}

.fit-intro-secondary {
    font-size: 1.05rem;
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 0;
    font-weight: 400;
}

.fit-indicators {
    margin-bottom: 3rem;
}

.fit-indicator-intro {
    font-size: 1.1rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 1.75rem;
    text-align: center;
}

.fit-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fit-list li {
    font-size: 1rem;
    color: #334155;
    line-height: 1.7;
    margin-bottom: 1.25rem;
    padding-left: 0;
    text-align: left;
}

.fit-list li::before {
    content: "—";
    color: #16cba7;
    font-weight: bold;
    margin-right: 0.75rem;
}

.fit-closing {
    text-align: center;
    padding: 2.5rem;
    background-color: #f0fdf4;
    border-radius: 4px;
}

.fit-closing-text {
    font-size: 1.05rem;
    color: #1e293b;
    font-weight: 500;
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .fupo-fit-section {
        padding: 80px 0;
    }

    .fit-title {
        font-size: 1.65rem;
    }

    .fit-intro {
        font-size: 1rem;
    }

    .fit-list li {
        font-size: 0.95rem;
        margin-bottom: 1rem;
    }
}






/* Industry Reality Section - RVSF */
.industry-reality-section {
    background-color: #fcfcfc;
    padding: 100px 0;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
}

.industry-reality-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}

.industry-reality-heading {
    font-size: 2.25rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 2.5rem;
    position: relative;
    padding-bottom: 0.5rem;
}

.industry-reality-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background-color: #cbd5e1;
    border-radius: 2px;
}

.industry-reality-statement {
    margin-bottom: 3.5rem;
}

.industry-reality-statement p {
    font-size: 1.15rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    color: #475569;
}

.operational-breakdown {
    margin-bottom: 4rem;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 4rem;
    align-items: center;
}

.breakdown-header {
    font-size: 1.2rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.breakdown-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.breakdown-list li {
    font-size: 1.1rem;
    line-height: 1.7;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
}

.breakdown-list li::before {
    content: "—";
    margin-right: 1rem;
    color: #94a3b8;
}

.breakdown-image-container {
    text-align: center;
}

.breakdown-abstract-img {
    max-width: 100%;
    height: auto;
    opacity: 0.85;
}

.scale-break-line {
    font-size: 1.3rem;
    font-weight: 600;
    color: #0f172a;
    margin: 4rem 0;
    padding: 2.5rem 0;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    text-align: center;
    line-height: 1.5;
}

.closing-reframe {
    font-size: 1.25rem;
    line-height: 1.6;
    color: #475569;
}

.reframe-line-1 {
    display: block;
    margin-bottom: 0.5rem;
}

.reframe-line-2 {
    display: block;
    font-weight: 600;
    color: #0f172a;
}

/* Solution Delivery Section - RVSF */
.solution-delivery-section {
    background-color: #ffffff;
    padding: 80px 0;
    color: #334155;
}

.delivery-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.delivery-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 5rem;
    align-items: center;
}

.delivery-title {
    font-size: 2.25rem;
    color: #0f172a;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.delivery-definition {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 2rem;
    max-width: 850px;
}

.delivery-list-header {
    font-size: 1.1rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #f1f5f9;
}

.delivery-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2.5rem 0;
}

.delivery-list li {
    font-size: 1.1rem;
    line-height: 1.75;
    padding: 0.6rem 0;
    color: #475569;
    display: flex;
    align-items: center;
}

.delivery-list li::before {
    content: "–";
    margin-right: 1rem;
    color: #94a3b8;
}

.autonomy-line {
    font-size: 0.95rem;
    color: #64748b;
    margin-top: 2rem;
    padding-top: 2rem;
    font-style: italic;
    opacity: 0.8;
}

.delivery-visual-container {
    text-align: center;
}

.delivery-abstract-img {
    max-width: 100%;
    height: auto;
    opacity: 0.9;
}

@media (max-width: 992px) {
    .delivery-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .delivery-visual-container {
        order: 2;
    }
}

/* Boundary Setting Section - RVSF */
.boundary-setting-section {
    background-color: #ffffff;
    padding: 100px 0;
    color: #334155;
    border-top: 1px solid #f8fafc;
}

.boundary-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.boundary-title {
    font-size: 2.25rem;
    color: #0f172a;
    font-weight: 500;
    text-align: center;
    margin-bottom: 5rem;
}

.boundary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    position: relative;
}

/* Vertical Divider */
.boundary-grid::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background-color: #e2e8f0;
}

.boundary-column {
    padding: 0 4rem;
}

.boundary-column.is-not {
    padding-left: 5rem;
}

.boundary-column-header {
    font-size: 1.25rem;
    color: #0f172a;
    font-weight: 500;
    margin-bottom: 2.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.boundary-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.boundary-item {
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 1.75rem;
    color: #475569;
    display: flex;
    align-items: flex-start;
}

.boundary-item::before {
    content: "•";
    margin-right: 1.25rem;
    color: #94a3b8;
    font-size: 1.2rem;
}

@media (max-width: 992px) {
    .boundary-grid {
        grid-template-columns: 1fr;
    }

    .boundary-grid::after {
        display: none;
    }

    .boundary-column {
        padding: 0;
        margin-bottom: 4rem;
    }

    .boundary-column.is-not {
        padding-left: 0;
        border-top: 1px solid #e2e8f0;
        padding-top: 4rem;
    }

    .boundary-title {
        margin-bottom: 3.5rem;
        text-align: left;
    }
}

/* Core Capabilities Section - RVSF (Carousel Style) */
.core-capabilities-section {
    background-color: #fcfcfc;
    padding: 100px 0;
    color: #334155;
    overflow: hidden;
}

.capabilities-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.capabilities-header {
    margin-bottom: 4rem;
    text-align: center;
}

.capabilities-title {
    font-size: 2.5rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.capabilities-subtitle {
    font-size: 1.1rem;
    color: #64748b;
    font-weight: 400;
}

/* Carousel Wrapper */
.carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 3rem;
}

/* Carousel Container */
.capability-carousel {
    flex: 1;
    overflow: hidden;
    position: relative;
}

/* Capability Track - Horizontal Scrolling */
.capability-track {
    display: flex;
    gap: 2rem;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* Capability Card */
.capability-card {
    min-width: 100%;
    background: #ffffff;
    border-radius: 16px;
    padding: 3rem;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
    border: 1px solid #f1f5f9;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.capability-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #16cba7 0%, #12a286 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.capability-card:hover::before {
    opacity: 1;
}

.capability-card:hover {
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12);
    transform: translateY(-4px);
}

/* Capability Card Header */
.capability-card-header {
    display: flex;
    align-items: baseline;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.capability-number {
    font-size: 3rem;
    font-weight: 300;
    color: #16cba7;
    line-height: 1;
    opacity: 0.3;
}

.capability-title {
    font-size: 1.75rem;
    color: #0f172a;
    font-weight: 600;
    line-height: 1.3;
    flex: 1;
}

.capability-context {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 2rem;
}

.enables-subheading {
    font-size: 1rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.enables-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
}

.enables-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    padding: 0.6rem 0 0.6rem 1.75rem;
    color: #475569;
    position: relative;
}

.enables-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: bold;
    font-size: 1.1rem;
}

.capability-outcome {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.6;
    padding-top: 1.5rem;
    border-top: 1px solid #f1f5f9;
    font-style: italic;
}

.outcome-label {
    font-weight: 600;
    color: #475569;
    margin-right: 0.5rem;
    font-style: normal;
}

/* Carousel Navigation Buttons */
.carousel-nav {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #e2e8f0;
    color: #475569;
    font-size: 1.25rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.carousel-nav:hover {
    background: #16cba7;
    border-color: #16cba7;
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(22, 203, 167, 0.25);
    transform: scale(1.05);
}

.carousel-nav:active {
    transform: scale(0.95);
}

.carousel-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    background: #f8fafc;
    border-color: #e2e8f0;
}

.carousel-nav:disabled:hover {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #475569;
    transform: scale(1);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

/* Carousel Indicators */
.carousel-indicators {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

.indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cbd5e1;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.indicator:hover {
    background: #94a3b8;
    transform: scale(1.2);
}

.indicator.active {
    background: #16cba7;
    width: 32px;
    border-radius: 5px;
}

/* Responsive Design */
@media (max-width: 992px) {
    .capabilities-container {
        padding: 0 15px;
    }

    .carousel-wrapper {
        gap: 1rem;
    }

    .carousel-nav {
        width: 48px;
        height: 48px;
        font-size: 1.1rem;
    }

    .capability-card {
        padding: 2rem;
    }

    .capability-card-header {
        flex-direction: column;
        gap: 0.75rem;
    }

    .capability-number {
        font-size: 2.5rem;
    }

    .capability-title {
        font-size: 1.5rem;
    }

    .capability-context {
        font-size: 1rem;
    }

    .enables-list li {
        font-size: 0.95rem;
    }
}

@media (max-width: 768px) {
    .core-capabilities-section {
        padding: 60px 0;
    }

    .capabilities-header {
        margin-bottom: 2.5rem;
    }

    .capabilities-title {
        font-size: 2rem;
    }

    .capabilities-subtitle {
        font-size: 1rem;
    }

    .carousel-nav {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .capability-card {
        padding: 1.5rem;
    }

    .capability-number {
        font-size: 2rem;
    }

    .capability-title {
        font-size: 1.3rem;
    }
}

/* Target Audience Section - RVSF */
.target-audience-section {
    background-color: #ffffff;
    padding: 100px 0;
    color: #334155;
    border-top: 1px solid #f1f5f9;
}

.audience-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.audience-title {
    font-size: 2.25rem;
    color: #0f172a;
    font-weight: 500;
    margin-bottom: 1rem;
    text-align: center;
}

.audience-subtitle {
    font-size: 1.1rem;
    color: #475569;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 4rem;
    line-height: 1.6;
}

.audience-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 6rem;
}

.audience-group-label {
    font-size: 0.9rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 1.5rem;
    display: block;
}

.primary-audience-box {
    padding-right: 2rem;
}

.audience-name {
    font-size: 1.75rem;
    color: #0f172a;
    font-weight: 600;
    margin-bottom: 2rem;
    line-height: 1.3;
}

.audience-details {
    list-style: none;
    padding: 0;
    margin: 0;
}

.audience-details li {
    font-size: 1.1rem;
    line-height: 1.6;
    padding: 0.75rem 0;
    color: #475569;
    border-bottom: 1px solid #f8fafc;
    display: flex;
    align-items: center;
}

.primary-audience-box .audience-details li::before {
    content: "—";
    margin-right: 1rem;
    color: #16cba7;
    font-weight: bold;
}

.secondary-audience-box {
    background-color: #f8fafc;
    padding: 2.5rem;
    border-radius: 4px;
}

.secondary-item {
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    color: #475569;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.secondary-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

@media (max-width: 992px) {
    .audience-grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .primary-audience-box {
        padding-right: 0;
    }

    .audience-title {
        text-align: left;
        margin-bottom: 3rem;
    }
}

.uci-platform-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 0;
}

.uci-platform-hero .hero-content {
    max-width: 900px;
}


.uci-platform-hero .hero-tagline {
    display: block;
    font-size: 1.4rem;
    color: #16cba7;
    font-weight: 600;
    margin-bottom: 2rem;
    letter-spacing: 0.5px;
}


.uci-platform-hero .hero-context {
    font-size: 1.15rem;
    line-height: 1.7;
    margin-bottom: 2.5rem;
    opacity: 0.95;
}

/* Why Networks Are Different Section */
.networks-different-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.networks-different-header {
    margin-bottom: 3rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.networks-different-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.networks-different-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.networks-different-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #475569;
    margin: 0 auto;
    font-weight: 400;
    max-width: 900px;
    text-align: center;
}

.networks-different-intro {
    max-width: 900px;
    margin: 0 auto 4rem;
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    text-align: center;
    font-weight: 500;
}

.networks-complexity-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    margin-bottom: 3.5rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
}

.networks-complexity-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.networks-complexity-image {
    width: 100%;
    max-width: 500px;
    height: auto;
    object-fit: contain;
}

.networks-reality-statement {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    font-weight: 500;
}

.networks-complexity-right {
    display: flex;
    flex-direction: column;
}

.networks-complexity-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.networks-complexity-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    padding-left: 1.75rem;
    position: relative;
}

.networks-complexity-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: 600;
    font-size: 1rem;
    top: 0.1rem;
}

/* Insurance Challenge Section */
.insurance-challenge-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.insurance-challenge-header {
    margin-bottom: 3rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.insurance-challenge-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.insurance-challenge-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.insurance-challenge-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #475569;
    margin: 0 auto;
    font-weight: 400;
    max-width: 900px;
    text-align: center;
}

.core-systems-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1000px;
    margin: 0 auto 4rem;
}

.core-system-card {
    background: #f8fafc;
    padding: 1.5rem;
    border-radius: 12px;
    text-align: center;
    border: 1px solid #e2e8f0;
    transition: transform 0.3s ease;
}

.core-system-card:hover {
    transform: translateY(-5px);
    border-color: #16cba7;
}

.core-system-icon {
    font-size: 1.5rem;
    color: #16cba7;
    margin-bottom: 1rem;
}

.core-system-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
}

.insurance-challenge-intro {
    max-width: 900px;
    margin: 0 auto 4rem;
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    text-align: center;
    font-weight: 500;
}

.claims-breakdown-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    margin-bottom: 3.5rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
}

.claims-breakdown-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.claims-breakdown-image {
    width: 100%;
    max-width: 500px;
    height: auto;
    object-fit: contain;
}

.claims-reality-statement {
    font-size: 1.25rem;
    line-height: 1.5;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    font-weight: 600;
}

.claims-breakdown-right {
    display: flex;
    flex-direction: column;
}

.claims-breakdown-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.claims-breakdown-list li {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    padding-left: 2rem;
    position: relative;
}

.claims-breakdown-list li::before {
    content: '\f057';
    /* FontAwesome times-circle */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: #ef4444;
    /* Red for "breakdown" items */
    font-size: 1.1rem;
    top: 0;
}

.highlight-box-light {
    background: #f8fafc;
    border-radius: 12px;
    padding: 2rem;
    max-width: 900px;
    margin: 2rem auto 0;
    text-align: center;
    border-left: 5px solid #16cba7;
}

.highlight-text {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.6;
}

/* UCI Value Delivery grid within Solution Positioning */
.uci-value-delivery-block {
    margin-top: 2rem;
    text-align: center;
}

.uci-value-header {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 2.5rem;
    color: #0f172a;
}

.uci-value-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 900px;
    margin: 0 auto;
}

.uci-value-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.uci-value-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.uci-value-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.uci-value-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: all 0.3s ease;
}

.uci-value-card:hover .uci-value-icon-img {
    filter: brightness(0) saturate(100%) invert(60%) sepia(35%) saturate(836%) hue-rotate(113deg) brightness(91%) contrast(85%);
}

.uci-value-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
}

.uci-value-description {
    font-size: 1rem;
    line-height: 1.5;
    color: #475569;
}


/* Small Variant for Value Grid & Cards */
.uci-value-grid.compact {
    max-width: 1200px;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.cfms-org-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 992px) {
    .uci-value-grid.compact {
        grid-template-columns: repeat(2, 1fr);
        max-width: 800px;
    }

    .cfms-org-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .uci-value-grid.compact {
        grid-template-columns: 1fr;
    }

    .cfms-org-grid {
        grid-template-columns: 1fr !important;
    }
}

.uci-value-card.compact {
    padding: 1.5rem;
}

.uci-value-card.compact .uci-value-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
}

.uci-value-card.compact .uci-value-title {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.uci-value-card.compact .uci-value-description {
    font-size: 0.9rem;
}

.explore-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #16cba7;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 1.5rem;
}

.explore-link:hover {
    color: #12a386;
    transform: translateX(5px);
}

.uci-clarification-zone {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
}

.uci-clarification-container {
    border-left: 5px solid #16cba7;
    padding: 2rem 3rem;
    background-color: #f8fafc;
    border-radius: 4px;
    max-width: 850px;
    text-align: left;
}

.uci-clarification-negation {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    color: #0f172a;
}

.uci-clarification-reframe {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

/* Global Product Video Introduction Section */
.product-video-section {
    background-color: #ffffff;
    padding: 100px 20px;
    text-align: center;
}

.product-video-header {
    max-width: 900px;
    margin: 0 auto 4rem;
}

.product-video-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1.5rem;
}

.product-video-description {
    font-size: 1.2rem;
    line-height: 1.7;
    color: #475569;
}

.product-video-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 40px 100px -20px rgba(0, 0, 0, 0.2);
    background: #000;
    aspect-ratio: 16/9;
}

.product-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.product-video-note {
    margin-top: 2rem;
    font-size: 0.95rem;
    color: #64748b;
    font-style: italic;
}


.network-challenge-section {
    background-color: #f8fafc;
    padding: 100px 20px;
}

.network-challenge-header {
    margin-bottom: 3rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.network-challenge-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.network-challenge-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.network-challenge-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #475569;
    margin: 0 auto;
    font-weight: 400;
    max-width: 900px;
    text-align: center;
}

.network-challenge-intro {
    max-width: 900px;
    margin: 0 auto 4rem;
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    text-align: center;
    font-weight: 500;
}

.network-challenge-split {
    display: grid;
    grid-template-columns: 40% 60%;
    gap: 0;
    margin-bottom: 4rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    background-color: #ffffff;
}

.network-challenge-left {
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
    background-color: #ffffff;
    border-right: 1px solid #e2e8f0;
}

.network-challenge-right {
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
    background-color: #f8fafc;
}

.network-challenge-column-heading {
    font-size: 1.3rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.5rem 0;
    line-height: 1.3;
}

.network-challenge-column-subtitle {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #64748b;
    margin: 0 0 2rem 0;
    font-weight: 400;
    font-style: italic;
}

.network-challenge-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.network-challenge-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.list-marker {
    font-size: 1.1rem;
    line-height: 1.7;
    flex-shrink: 0;
    margin-top: 0.05rem;
}

.list-marker.check {
    color: #94a3b8;
}

.list-marker.cross {
    color: #64748b;
}

.network-challenge-list-missing li {
    color: #334155;
    font-weight: 500;
}

.network-challenge-conclusion {
    max-width: 1100px;
    margin: 0 auto;
    padding: 3rem 0 0;
    text-align: center;
}

.network-challenge-conclusion-text {
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0;
    font-weight: 500;
    font-style: italic;
}

/* Solution Positioning Section */
.solution-positioning-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.solution-positioning-header {
    margin-bottom: 2rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.solution-positioning-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
}

.solution-positioning-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #475569;
    margin: 0 auto;
    font-weight: 400;
    max-width: 900px;
    text-align: center;
}

.solution-definition-block {
    max-width: 900px;
    margin: 0 auto 4rem;
    text-align: center;
}

.solution-rejection-line {
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    font-weight: 600;
}

.solution-reframing-line {
    font-size: 1.4rem;
    line-height: 1.8;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

.solution-capability-triad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    max-width: 1100px;
    margin: 0 auto;
}

.solution-capability-block {
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 2rem 1.5rem;
    align-items: center;
}

.solution-capability-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    background-color: #f1f5f9;
    border-radius: 50%;
    opacity: 0.7;
}

.solution-capability-icon i {
    font-size: 1.5rem;
    color: #16cba7;
}

.solution-capability-title {
    font-size: 1.25rem;
    line-height: 1.6;
    color: #0f172a;
    margin: 0;
    font-weight: 400;
}

.capability-main {
    font-weight: 600;
    color: #0f172a;
}

/* Section 5: Network Architecture - Clean Ladder Design */
.network-architecture-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.network-architecture-header {
    margin-bottom: 2.5rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.network-architecture-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
}

.network-architecture-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #64748b;
    font-weight: 400;
    margin: 0;
}

.network-architecture-intro {
    max-width: 900px;
    margin: 0 auto 4rem;
    font-size: 1.15rem;
    line-height: 1.8;
    color: #334155;
    text-align: center;
    font-weight: 400;
}

.network-layers-ladder {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.network-layer-row {
    padding: 2rem 2.5rem;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
    background-color: #ffffff;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.network-layer-row:first-child {
    border-top: 1px solid #e2e8f0;
}

.network-layer-row:hover {
    background-color: #f8fafc;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.network-layer-row {
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.network-layer-row.expanded {
    background-color: #f8fafc;
}

.layer-row-content {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    flex: 1;
    cursor: pointer;
    width: 100%;
}

.layer-row-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
}

.layer-number {
    font-size: 0.75rem;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    min-width: 70px;
    padding-top: 0.25rem;
    flex-shrink: 0;
}

.layer-main {
    flex: 1;
}

.layer-title {
    font-size: 1.35rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.5rem 0;
    line-height: 1.3;
}

.layer-subtitle {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #64748b;
    margin: 0 0 0.5rem 0;
    font-weight: 400;
    font-style: italic;
}

.layer-foundation {
    font-weight: 400;
    color: #64748b;
    font-size: 1.4rem;
}

.layer-outcome {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.layer-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    color: #64748b;
    transition: color 0.2s ease, background-color 0.2s ease;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.layer-toggle:hover {
    color: #16cba7;
    background-color: #f1f5f9;
}

.layer-toggle i {
    font-size: 1rem;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
    color: #475569;
}

.network-layer-row.expanded .layer-toggle i {
    transform: rotate(180deg);
    color: #16cba7;
}

/* UCI Specific Accordion Styling Refinement */
.uci-workings-accordion {
    max-width: 1000px;
    margin: 0 auto;
}

.uci-workings-accordion .network-layer-row {
    padding: 2.5rem 0;
    border-left: none;
    border-right: none;
}

.uci-workings-accordion .network-layer-row:first-child {
    border-top: 1px solid #e2e8f0;
}

.uci-workings-accordion .layer-details {
    padding: 0;
    border-bottom: none;
}

.uci-workings-accordion .network-layer-row.expanded .layer-details {
    padding: 1.5rem 0 2.5rem 100px;
    /* Align with layer-main */
    max-height: 3000px;
}

.uci-workings-accordion .expanded-intro {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #0f172a;
    margin-bottom: 2rem;
    font-weight: 400;
}

.uci-workings-accordion .layer-section-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1.25rem;
    text-transform: none;
    letter-spacing: normal;
}

.uci-workings-accordion .layer-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.uci-workings-accordion .layer-bullet-list li {
    font-size: 1.05rem;
    line-height: 1.5;
    color: #475569;
    padding-left: 1.25rem;
    position: relative;
}

.uci-workings-accordion .layer-bullet-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #94a3b8;
    font-weight: 900;
}

.uci-workings-accordion .layer-outcome-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.uci-workings-accordion .layer-outcome-list li {
    font-size: 1.05rem;
    line-height: 1.5;
    color: #0f172a;
    padding-left: 1.5rem;
    position: relative;
    font-weight: 600;
}

.uci-workings-accordion .layer-outcome-list li::before {
    content: '✔';
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: 900;
}


.layer-details {
    position: relative;
    background-color: #ffffff;
    padding: 0 2.5rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    border-bottom: 1px solid #e2e8f0;
}

.network-layer-row.expanded .layer-details {
    padding: 2rem 2.5rem 2.5rem;
    max-height: 3000px;
}

/* Row 1: What This Layer Does */
/* What This Layer Does Section */
.layer-what-does {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e2e8f0;
}

.layer-what-heading {
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
}

.layer-what-text {
    font-size: 1rem;
    line-height: 1.7;
    color: #334155;
    margin: 0;
    font-weight: 400;
}

/* Three Column Grid */
.layer-details-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    margin-bottom: 0;
}

.layer-detail-column {
    display: flex;
    flex-direction: column;
}

.layer-column-heading {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.4;
}

.layer-dependency-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
    font-style: italic;
}

/* Revenue Streams Section (Layer 4) */
.revenue-streams-section {
    margin-bottom: 2.5rem;
}

.revenue-section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.5rem 0;
    line-height: 1.4;
}

.revenue-section-subline {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0 0 2rem 0;
    font-weight: 400;
}

.revenue-modules-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-bottom: 0;
}

.revenue-module {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.revenue-module:hover {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    border-color: #cbd5e1;
}

.revenue-module-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.25rem 0;
    line-height: 1.3;
}

.revenue-module-platform {
    font-size: 0.85rem;
    color: #64748b;
    margin: 0 0 1rem 0;
    font-weight: 400;
    font-style: italic;
}

.revenue-module-subheading {
    font-size: 0.9rem;
    font-weight: 600;
    color: #475569;
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.8rem;
}

.revenue-module-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.revenue-module-list li {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #475569;
    padding: 0;
    margin: 0;
}

.revenue-model {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
    margin-top: auto;
}

.revenue-badge {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    background-color: #f1f5f9;
    color: #334155;
    border-radius: 0.25rem;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.4;
}

.revenue-module-cta {
    font-size: 0.9rem;
    color: #16cba7;
    text-decoration: none;
    margin-top: 0.5rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.revenue-module-cta:hover {
    color: #12a286;
}

.revenue-outcomes-band {
    background-color: #0f172a;
    color: #ffffff;
    padding: 2rem 2.5rem;
    border-radius: 0.5rem;
    margin: 2.5rem 0;
    text-align: center;
}

.revenue-outcomes-title {
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 1rem 0;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.85rem;
}

.revenue-outcomes-text {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #ffffff;
    margin: 0.5rem 0;
    font-weight: 500;
}

.layer-outcomes {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.layer-outcomes li {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #334155;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.outcome-check {
    color: #16cba7;
    font-weight: 600;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.layer-dependency {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #64748b;
    margin: 1.5rem 0 0 0;
    font-weight: 400;
    font-style: italic;
}

.layer-closing {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 2rem 0 0 0;
    font-weight: 500;
    font-style: italic;
}

.revenue-stream {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e2e8f0;
}

.revenue-stream:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.revenue-stream-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
}

.revenue-type {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0.75rem 0;
    font-weight: 400;
}

.revenue-type strong {
    color: #334155;
    font-weight: 600;
}

.layer-cta-wrapper {
    margin-top: 1.5rem;
    text-align: right;
}

.layer-capabilities {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.layer-capabilities li {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #475569;
    padding: 0;
    margin: 0;
}

.layer-users {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.layer-users li {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #475569;
    padding: 0;
    margin: 0;
}

.layer-internal-link {
    display: inline-block;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #16cba7;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.layer-internal-link:hover {
    color: #1a9d75;
    text-decoration: underline;
}

/* Section 6: Governance Model - Principle-Driven */
.governance-model-section {
    background-color: #ffffff;
    padding: 80px 20px;
}

.governance-model-header {
    margin-bottom: 3rem;
    text-align: center;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.governance-model-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1.5rem;
    line-height: 1.3;
    text-align: center;
}

.governance-model-principle {
    font-size: 1.4rem;
    line-height: 1.6;
    color: #334155;
    font-weight: 400;
    margin: 0;
    text-align: center;
    font-style: italic;
}

/* Governance Principles Grid */
.governance-principles-grid {
    max-width: 1000px;
    margin: 0 auto 4rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.governance-principle-block {
    text-align: left;
    padding: 2rem;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.governance-principle-block:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.principle-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
}

.principle-explanation {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    font-weight: 400;
}

/* Section 7: Network Maturity */
.network-maturity-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.network-maturity-header {
    margin-bottom: 4rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.network-maturity-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
}

.network-maturity-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #64748b;
    font-weight: 400;
    margin: 0;
}

.maturity-table-wrapper {
    max-width: 900px;
    margin: 0 auto 3rem;
    overflow-x: auto;
}

.maturity-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    overflow: hidden;
}

.maturity-table thead {
    background-color: #f1f5f9;
}

.maturity-table th {
    padding: 1.25rem 1.5rem;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    border-bottom: 2px solid #e2e8f0;
}

.maturity-table td {
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    line-height: 1.6;
    color: #334155;
    border-bottom: 1px solid #e2e8f0;
}

.maturity-table tbody tr:last-child td {
    border-bottom: none;
}

.maturity-table tbody tr:hover {
    background-color: #f8fafc;
}

.maturity-closing {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.maturity-closing-text {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #0f172a;
    font-weight: 400;
    margin: 0;
    font-style: italic;
}

/* Section 8: Why This Approach Wins */
.why-this-wins-section {
    background-color: #f8fafc;
    padding: 100px 20px;
}

.why-wins-header {
    margin-bottom: 4rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.why-wins-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
}

.why-wins-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #64748b;
    font-weight: 400;
    margin: 0;
}

.comparison-table-wrapper {
    max-width: 1000px;
    margin: 0 auto 4rem;
    overflow-x: auto;
}

.comparison-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
}

.comparison-table thead {
    background-color: #f8fafc;
}

.comparison-table th {
    padding: 1.5rem 2rem;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    border-bottom: 2px solid #e2e8f0;
}

.comparison-dimension {
    font-weight: 600;
    color: #0f172a;
}

.comparison-traditional {
    color: #64748b;
    font-weight: 400;
}

.comparison-wnos {
    color: #334155;
    font-weight: 500;
}

.comparison-table td {
    padding: 1.5rem 2rem;
    font-size: 1rem;
    line-height: 1.6;
    border-bottom: 1px solid #e2e8f0;
}

.comparison-table tbody tr:last-child td {
    border-bottom: none;
}

.comparison-table tbody tr {
    transition: background-color 0.2s ease;
}

.comparison-table tbody tr:hover {
    background-color: #f8fafc;
}

.why-wins-closing {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.7;
    color: #0f172a;
    font-weight: 400;
    font-style: italic;
}

/* Section 9: Business Outcomes */
.business-outcomes-section {
    background-color: #ffffff;
    padding: 4rem 20px;
}

.business-outcomes-header {
    margin-bottom: 3rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.business-outcomes-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
}


.business-outcomes-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #64748b;
    font-weight: 400;
    margin: 0;
}

.business-outcomes-framing {
    max-width: 900px;
    margin: 0 auto 4rem;
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    text-align: center;
    font-weight: 500;
}

.outcomes-grid {
    max-width: 1100px;
    margin: 0 auto 4rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
}

.outcome-pillar {
    padding: 2.5rem;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
}

.outcome-pillar:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.outcome-number {
    font-size: 3rem;
    font-weight: 300;
    color: #e2e8f0;
    line-height: 1;
    flex-shrink: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.outcome-content {
    flex: 1;
}

.outcome-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
}

.outcome-supporting {
    font-size: 1rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.business-outcomes-closing {
    max-width: 1000px;
    margin: 0 auto;
    padding: 2.5rem;
    background-color: #0f172a;
    border-radius: 8px;
    text-align: center;
}

.business-outcomes-closing-text {
    font-size: 1.2rem;
    line-height: 1.7;
    color: #ffffff;
    margin: 0;
    font-weight: 400;
    font-style: italic;
}

/* Tablet Responsive - Business Outcomes */
@media (max-width: 1024px) and (min-width: 769px) {
    .outcomes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    .outcome-pillar {
        padding: 2rem;
    }

    .outcome-number {
        font-size: 2.75rem;
    }

    .outcome-title {
        font-size: 1.3rem;
    }
}

.elv-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/pages/elv/EU-End-of-Life-vehicle-recycle.jpg');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.elv-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.75) 30%, rgba(15, 23, 42, 0.5) 70%, rgba(15, 23, 42, 0.3) 100%);
    z-index: 0;
}

.elv-hero .hero-content {
    max-width: 900px;
}

.construction-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/pages/industry-construction/1.jpg');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.construction-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.82) 30%, rgba(15, 23, 42, 0.57) 70%, rgba(15, 23, 42, 0.37) 100%);
    z-index: 0;
}

.construction-hero .hero-content {
    max-width: 900px;
}

.rumpum-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/banner/home-page.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.rumpum-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.8) 50%, rgba(15, 23, 42, 0.6) 100%);
    z-index: 0;
}

.rumpum-hero .hero-content {
    max-width: 900px;
}



.rumpum-hero .hero-context {
    font-size: 1.15rem;
    line-height: 1.7;
    margin-bottom: 2.5rem;
    opacity: 0.95;
}

.equipment-intelligence-hero {
    padding: 8rem 0 5rem;
    min-height: 90vh;
    background-image: url('../images/pages/industry-construction/1.jpg');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.equipment-intelligence-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.82) 30%, rgba(15, 23, 42, 0.57) 70%, rgba(15, 23, 42, 0.37) 100%);
    z-index: 0;
}

.equipment-intelligence-hero .hero-content {
    max-width: 900px;
}



.equipment-intelligence-hero .hero-context {
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 2.5rem;
    opacity: 0.9;
}

/* Regulatory Inflection Point Section */
.regulatory-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.regulatory-header {
    margin-bottom: 4rem;
    max-width: 1100px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.regulatory-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
}

.regulatory-subtitle {
    font-size: 1.2rem;
    line-height: 1.7;
    color: #475569;
    margin: 0 auto;
    font-weight: 400;
    max-width: 900px;
    text-align: center;
}

.regulatory-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    margin-bottom: 3.5rem;
    max-width: 1100px;
}

.regulatory-left,
.regulatory-right {
    display: flex;
    flex-direction: column;
}

.regulatory-subheading {
    font-size: 1.4rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.regulatory-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.regulatory-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    padding-left: 0;
    position: relative;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #f1f5f9;
}

.regulatory-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.regulatory-list-impact li {
    color: #334155;
    font-weight: 400;
}

.hero-category {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 1.5rem;
    display: block;
}

.hero-context {
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

.hero-cta-link {
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.95);
    text-decoration: none;
    transition: color 0.3s ease;
    margin-top: 1rem;
}

.hero-cta-link:hover {
    color: #16cba7;
}

.hero-cta-link::after {
    content: ' →';
    display: inline-block;
    margin-left: 0.25rem;
    transition: transform 0.3s ease, color 0.3s ease;
    color: rgba(255, 255, 255, 0.7);
}

.hero-cta-link:hover::after {
    color: #16cba7;
    transform: translateX(4px);
}

.trust-metrics {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.trust-metric-item {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.95);
    font-weight: 500;
}

.trust-metric-separator {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9rem;
}

/* ELV Industry Context Section */
.elv-context-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.elv-context-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    text-align: center;
    margin: 0 0 1.5rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-intro-text {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    margin: 0 auto 4rem;
    max-width: 800px;
}

.elv-context-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
    align-items: center;
}

/* Left Column: Image */
.elv-context-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.elv-context-image {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elv-context-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.15);
}

/* Right Column: Drivers of Change */
.elv-context-right {
    padding-left: 1rem;
}

.elv-forces-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.elv-force-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 0;
}

.elv-force-icon {
    color: #94a3b8;
    font-size: 0.5rem;
    margin-top: 0.5rem;
    flex-shrink: 0;
}

.elv-force-content {
    flex: 1;
}

.elv-force-title {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 0.25rem 0;
    line-height: 1.4;
}

.elv-force-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

.elv-context-divider {
    text-align: center;
    font-size: 1rem;
    line-height: 1.6;
    color: #64748b;
    margin: 3rem auto 0;
    max-width: 800px;
    padding: 1.5rem 0;
    border-top: 1px solid #e2e8f0;
}

/* ELV Current Industry Reality Section */
.elv-reality-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.elv-reality-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    text-align: center;
    margin: 0 0 1.5rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-reality-intro {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    margin: 0 auto 4rem;
    max-width: 800px;
}

.elv-reality-layout {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 4rem;
    max-width: 1100px;
    margin: 0 auto 3rem;
    align-items: start;
}

/* Left Column: Image */
.elv-reality-left {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 2rem;
}

.elv-reality-image {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elv-reality-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.15);
}

/* Right Column: Industry Realities */
.elv-reality-right {
    padding-left: 1rem;
}

.elv-realities-label {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 1.25rem 0;
}

.elv-realities-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.elv-reality-item {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    padding-left: 0;
    position: relative;
}

.elv-reality-item::before {
    content: "—";
    position: absolute;
    left: -1.5rem;
    color: #64748b;
    font-weight: 400;
}

/* Result Block */
.elv-result-block {
    max-width: 1100px;
    margin: 3rem auto 0;
    padding-top: 2rem;
    border-top: 1px solid #e2e8f0;
    text-align: center;
}

.elv-result-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.75rem 0;
}

.elv-result-statement {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #1e293b;
    font-weight: 500;
    margin: 0;
}

/* ELV Key Industry Challenges Section */
.elv-challenges-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.elv-challenges-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.elv-challenges-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-challenges-subheading {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.elv-challenges-stack {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.elv-challenge-item {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    padding: 0;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 2.5rem;
}

.elv-challenge-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.elv-challenge-number {
    font-size: 1.1rem;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    min-width: 3rem;
    margin-top: 0.1rem;
}

.elv-challenge-content {
    flex: 1;
}

.elv-challenge-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
}

.elv-challenge-description {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

/* ELV The Industry Shift Section */
.elv-shift-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.elv-shift-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    text-align: center;
    margin: 0 0 1.5rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-shift-intro {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    margin: 0 auto 4rem;
    max-width: 800px;
}

.elv-shift-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
    align-items: center;
}

/* Left Column: Image */
.elv-shift-left {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 2rem;
}

.elv-shift-image {
    width: 100%;
    height: auto;
    max-height: 400px;
    border-radius: 1rem;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elv-shift-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.15);
}

/* Right Column: What the Shift Enables */
.elv-shift-right {
    padding-left: 1rem;
}

.elv-shift-enables-label {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 1.25rem 0;
}

.elv-shift-enables-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.elv-shift-enable-item {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    padding-left: 0;
    position: relative;
}

.elv-shift-enable-item::before {
    content: "—";
    position: absolute;
    left: -1.5rem;
    color: #64748b;
    font-weight: 400;
}

/* Anchor Statement */
.elv-shift-anchor {
    text-align: center;
    max-width: 1000px;
    margin: 3rem auto 0;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
}

.elv-shift-anchor-text {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #ffffff;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.02em;
}

/* ELV Ecosystem Requirements Section */
.elv-requirements-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.elv-requirements-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.elv-requirements-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-requirements-subheading {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.elv-requirements-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.elv-requirement-pillar {
    background-color: #f8fafc;
    padding: 2.5rem 2rem;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.elv-pillar-number {
    font-size: 1rem;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.elv-pillar-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 1rem 0;
    line-height: 1.4;
}

.elv-pillar-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    flex: 1;
}

/* ELV Operational Areas Section */
.elv-operational-areas-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.elv-operational-areas-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.elv-operational-areas-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-operational-areas-intro {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.elv-operational-areas-grid {
    max-width: 1200px;
    margin: 0 auto 3rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.elv-operational-area-row {
    display: grid;
    grid-template-columns: 2fr 1.5fr 2fr;
    gap: 2rem;
    padding: 1.75rem 0;
    border-bottom: 1px solid #e2e8f0;
    align-items: center;
}

.elv-operational-area-row:last-child {
    border-bottom: none;
}

.elv-area-column {
    display: flex;
    align-items: center;
}

.elv-area-name {
    padding-right: 1rem;
}

.elv-area-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0;
    line-height: 1.4;
}

.elv-area-audience {
    padding: 0 1rem;
}

.elv-area-audience-text {
    font-size: 1rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

.elv-area-link {
    padding-left: 1rem;
    justify-content: flex-end;
}

.elv-area-link-text {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
    text-decoration: none;
    transition: color 0.2s ease;
}

.elv-area-link-text:hover {
    color: #0f172a;
    text-decoration: underline;
}

.elv-operational-areas-closing {
    text-align: center;
    font-size: 1rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 1.5rem;
}

/* ELV Measurable Industry Outcomes Section */
.elv-outcomes-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.elv-outcomes-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.elv-outcomes-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-outcomes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 3rem auto;
}

.elv-outcome-card {
    text-align: center;
    padding: 1.5rem;
    background-color: #f8fafc;
    border-radius: 0.5rem;
    transition: transform 0.2s ease;
}

.elv-outcome-card:hover {
    transform: translateY(-2px);
}

.elv-outcome-icon-wrapper {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem auto;
    background-color: #ffffff;
    border-radius: 50%;
}

.elv-outcome-icon {
    font-size: 1.25rem;
    color: #64748b;
}

.elv-outcome-title {
    font-size: 1.1rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0;
    line-height: 1.4;
}

.elv-outcomes-closing {
    max-width: 900px;
    margin: 3rem auto 0 auto;
    text-align: center;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
}

.elv-outcomes-closing-text {
    font-size: 1.25rem;
    line-height: 1.8;
    color: #ffffff;
    margin: 0;
    font-style: italic;
    font-weight: 400;
}

/* ELV Before vs After Section */
.elv-before-after-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.elv-before-after-header {
    text-align: center;
    margin-bottom: 3rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.elv-before-after-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-comparison-table-wrapper {
    max-width: 1000px;
    margin: 0 auto 3rem;
    overflow-x: auto;
}

.elv-comparison-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    border-radius: 0.75rem;
    overflow: hidden;
}

.elv-comparison-table thead {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

.elv-comparison-table th {
    padding: 1.25rem 1.5rem;
    text-align: left;
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.elv-comparison-table th.elv-dimension-column {
    width: 35%;
    color: #ffffff;
}

.elv-comparison-table th.elv-fragmented-column {
    width: 32.5%;
    color: #ffffff;
}

.elv-comparison-table th.elv-unified-column {
    width: 32.5%;
    color: #ffffff;
}

.elv-comparison-table tbody tr {
    border-bottom: 1px solid #e2e8f0;
    transition: background-color 0.2s ease;
}

.elv-comparison-table tbody tr:last-child {
    border-bottom: none;
}

.elv-comparison-table tbody tr:hover {
    background-color: #f8fbff;
}

.elv-comparison-table td {
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    line-height: 1.6;
}

.elv-comparison-table .elv-dimension-cell {
    font-weight: 600;
    color: #0f172a;
}

.elv-comparison-table .elv-fragmented-cell {
    color: #475569;
    font-weight: 400;
}

.elv-comparison-table .elv-unified-cell {
    color: #0f172a;
    font-weight: 400;
    background-color: rgba(22, 203, 167, 0.08);
}

.elv-before-after-insight {
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 2rem;
    text-align: center;
}

.elv-before-after-insight-text {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    font-style: italic;
}

/* ELV RAMP Positioning Section */
.elv-ramp-positioning-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.elv-ramp-positioning-header {
    text-align: center;
    margin-bottom: 3rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.elv-ramp-positioning-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-ramp-positioning-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    text-align: center;
}

.elv-ramp-positioning-content {
    max-width: 1000px;
    margin: 0 auto 3rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.elv-ramp-positioning-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.elv-ramp-positioning-image {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    object-fit: contain;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elv-ramp-positioning-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.15);
}

.elv-ramp-positioning-subtitle {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 1rem 0;
}

.elv-ramp-positioning-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.elv-ramp-positioning-list li {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    padding-left: 1.5rem;
    position: relative;
}

.elv-ramp-positioning-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #64748b;
    font-weight: 400;
}

.elv-ramp-positioning-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
}

.elv-ramp-positioning-anchor {
    text-align: center;
    max-width: 1000px;
    margin: 3rem auto 0;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
}

.elv-ramp-positioning-anchor-text {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #ffffff;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.02em;
}

/* ELV Getting Started Section */
.elv-getting-started-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.elv-getting-started-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.elv-getting-started-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.elv-getting-started-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    text-align: center;
}

.elv-getting-started-content {
    max-width: 800px;
    margin: 0 auto;
}

.elv-starting-point-section {
    margin-bottom: 3rem;
}

.elv-starting-point-label {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 1.5rem 0;
    text-align: center;
}

.elv-getting-started-steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.elv-step-item {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    padding: 0;
}

.elv-step-number {
    font-size: 1.1rem;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    min-width: 3rem;
    margin-top: 0.1rem;
}

.elv-step-content {
    flex: 1;
}

.elv-step-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 0.5rem 0;
    line-height: 1.4;
}

.elv-step-description {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.elv-next-steps-section {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid #e2e8f0;
}

.elv-next-steps-label {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 1.5rem 0;
}

.elv-getting-started-ctas {
    text-align: center;
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.elv-cta-icon {
    margin-right: 0.5rem;
}

.elv-getting-started-note {
    text-align: center;
    font-size: 0.85rem;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
    font-style: italic;
}

/* Industry Reality Section */
.industry-reality-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.industry-reality-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    margin-bottom: 4rem;
}

.reality-main-heading {
    font-size: 2.25rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
    text-align: center;
    grid-column: 1 / -1;
}

.reality-content-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}

/* Left Column: Narrative & Framing */
.reality-left-column {
    padding-right: 2rem;
}

.contrast-statement {
    position: relative;
    padding-left: 1.5rem;
    margin: 2.5rem 0;
    border-left: 3px solid #16cba7;
}

.contrast-text {
    font-size: 1.25rem;
    line-height: 1.6;
    color: #1e293b;
    font-weight: 400;
    font-style: italic;
    margin: 0;
}

.reality-context {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    margin: 2rem 0 0 0;
}

/* Right Column: Fragmentation Symptoms */
.reality-right-column {
    padding-left: 1rem;
}

.problem-cards {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.problem-card-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 0;
}

.problem-icon {
    color: #94a3b8;
    font-size: 1.1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.problem-text {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    flex: 1;
}

.reality-divider {
    width: 100%;
    height: 1px;
    background-color: #e2e8f0;
    margin: 0;
}

/* Common Challenges Section */
.challenges-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.challenges-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.section-number-label {
    font-size: 0.7rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
    display: block;
}

.challenges-main-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.challenges-subheading {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.challenges-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 1000px;
    margin: 0 auto;
}

.challenge-card {
    padding: 2rem 0;
    border-bottom: 1px solid #e2e8f0;
    transition: background-color 0.2s ease;
}

.challenge-card:last-child {
    border-bottom: none;
}

.challenge-card:hover {
    background-color: #f8fafc;
    margin: -0.5rem -1.5rem;
    padding: 2.5rem 1.5rem;
    border-radius: 0.5rem;
}

.challenge-header-row {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 1rem;
}

.challenge-number {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.challenge-num {
    font-size: 1rem;
    font-weight: 600;
    color: #16cba7;
    letter-spacing: 0.05em;
}

.challenge-icon {
    font-size: 0.5rem;
    color: #16cba7;
}

.challenge-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0;
    line-height: 1.4;
    flex: 1;
}

.challenge-description {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 1rem 0;
    padding-left: 3.5rem;
}

.challenge-impact {
    padding-left: 3.5rem;
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

.challenge-impact .impact-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b !important;
    flex-shrink: 0;
}

.challenge-impact .impact-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #1e293b !important;
    font-style: italic;
    font-weight: 500;
}

/* Network Evolution Section */
.evolution-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.evolution-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.evolution-main-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.evolution-subheading {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.evolution-layout {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 4rem;
    max-width: 1100px;
    margin: 0 auto;
    align-items: start;
}

/* Left Column: Narrative */
.evolution-left-column {
    padding-right: 2rem;
}

.evolution-headline {
    font-size: 1.4rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 1.5rem 0;
    line-height: 1.4;
}

.evolution-narrative {
    margin-bottom: 2.5rem;
}

.evolution-text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 1.25rem 0;
}

.evolution-emphasis {
    text-align: center;
    max-width: 1000px;
    margin: 2.5rem auto 4rem;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
}

.emphasis-text {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #ffffff;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.02em;
}

/* Right Column: Evolution Pillars */
.evolution-right-column {
    padding-left: 1rem;
}

.evolution-pillars {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.pillar-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.pillar-icon {
    color: #16cba7;
    font-size: 1.1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.pillar-text {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    flex: 1;
}

/* Foundations Section */
.foundations-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.foundations-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
}

.foundations-main-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
    padding-top: 0;
    margin-top: 0;
}

.foundations-subheading {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.foundations-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    max-width: 1400px;
    margin: 0 auto;
}

@media (max-width: 1200px) {
    .foundations-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.75rem;
    }
}

@media (max-width: 992px) {
    .foundations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

.foundation-card {
    background-color: #f8fafc;
    padding: 2.5rem 2rem;
    border-radius: 0.5rem;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.foundation-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.foundation-icon-wrapper {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    background-color: #f1f5f9;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.foundation-icon {
    font-size: 1.5rem;
    color: #16cba7;
}

.foundation-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 1rem 0;
    line-height: 1.4;
}

.foundations-section .foundation-card .foundation-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569 !important;
    margin: 0;
    flex: 1;
    font-weight: 400;
}

.foundations-section .foundation-card .foundation-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1e293b !important;
    margin: 0 0 1rem 0;
    line-height: 1.4;
}

/* Key Operational Areas Section */
.operational-areas-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.operational-areas-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.operational-areas-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.operational-areas-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #64748b;
    margin: 0;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.operational-areas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1400px;
    margin: 0 auto 3rem auto;
}

.operational-area-card {
    background-color: #ffffff;
    padding: 2rem 1.75rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
}

.operational-area-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
}

.area-icon-wrapper {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    background-color: #f8fafc;
    border-radius: 0.5rem;
}

.area-icon {
    font-size: 1.5rem;
    color: #16cba7;
}

.area-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
}

.area-audience {
    font-size: 0.85rem;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 1rem 0;
}

.area-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
    margin: 0 0 1.5rem 0;
    flex: 1;
}

.area-link-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.area-link-text {
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b;
    margin: 0;
}

.area-solution-link {
    font-size: 0.95rem;
    font-weight: 600;
    color: #16cba7;
    text-decoration: none;
    transition: color 0.2s ease;
}

.area-solution-link:hover {
    color: #12a286;
    text-decoration: underline;
}

.operational-areas-closing {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding-top: 2rem;
}

.closing-statement {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    font-weight: 500;
}

@media (max-width: 992px) {
    .operational-areas-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

/* Industry Outcomes Section */
.outcomes-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.outcomes-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.outcomes-main-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.outcomes-subheading {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

.outcomes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 3rem auto;
}

.outcome-card {
    text-align: center;
    padding: 1.5rem;
    background-color: #ffffff;
    border-radius: 0.5rem;
    transition: transform 0.2s ease;
}

.outcome-card:hover {
    transform: translateY(-2px);
}

.outcome-icon-wrapper {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem auto;
    background-color: #f8fafc;
    border-radius: 50%;
}

.outcome-icon {
    font-size: 1.25rem;
    color: #64748b;
}

.outcome-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
}

.outcome-clarification {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

.outcomes-closing {
    max-width: 900px;
    margin: 3rem auto 0 auto;
    text-align: center;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
}

.outcomes-closing .closing-text {
    font-size: 1.25rem;
    line-height: 1.8;
    color: #ffffff;
    margin: 0;
    font-style: italic;
    font-weight: 400;
}

@media (max-width: 992px) {
    .outcomes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

/* Bottom Section: Leadership Questions */
.reality-questions-section {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid #e2e8f0;
}

.questions-intro {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 1.5rem 0;
    font-weight: 500;
}

.questions-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.question-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 0;
}

.question-icon {
    color: #64748b;
    font-size: 1.2rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
}

.question-text {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #475569;
    flex: 1;
}

/* Fragmentation Problem Section */
.fragmentation-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.fragmentation-heading-wrapper {
    width: 100%;
    margin-bottom: 3rem;
    text-align: center;
}

.fragmentation-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.fragmentation-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.fragmentation-content {
    max-width: 900px;
    margin: 0 auto;
}

.fragmentation-text {
    text-align: left;
}

.fragmentation-intro {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #0f172a;
    margin-bottom: 2rem;
    font-weight: 600;
    text-align: center;
}

.fragmentation-list {
    list-style: none;
    padding: 0;
    margin: 2rem 0;
}

.fragmentation-list li {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
    position: relative;
}

.fragmentation-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.2;
}

.fragmentation-statement {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 2rem 0;
    font-weight: 600;
    text-align: center;
    font-style: italic;
}

.fragmentation-result {
    margin-top: 3rem;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
    text-align: center;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.fragmentation-result-text {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #ffffff;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.02em;
}

/* Pain Points Grid */
.pain-points-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 4rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.pain-point-card {
    background-color: #ffffff;
    padding: 1.75rem;
    border-radius: 0.5rem;
    border-left: 4px solid #16cba7;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.pain-point-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.pain-point-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.pain-point-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 1.25rem;
}

.pain-point-impact {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e2e8f0;
}

.impact-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.75rem;
}

.impact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.impact-list li {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #64748b;
    margin-bottom: 0.4rem;
    padding-left: 1rem;
    position: relative;
}

.impact-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.4;
}

/* How RAMP Connects Ecosystem Section */
.ecosystem-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.ecosystem-heading-wrapper {
    width: 100%;
    margin-bottom: 2rem;
    text-align: center;
}

.ecosystem-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.ecosystem-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.ecosystem-intro {
    max-width: 900px;
    margin: 0 auto 4rem;
    text-align: center;
}

.ecosystem-intro p {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #475569;
}

/* Claims Timeline */
.claims-timeline {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.5rem;
    padding: 2rem 0;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
}

.claims-timeline::before {
    content: '';
    position: absolute;
    top: 50px;
    left: 5%;
    right: 5%;
    height: 2px;
    background: linear-gradient(to right, #16cba7 0%, #16cba7 100%);
    z-index: 0;
    transform: translateY(-50%);
}

.timeline-phase {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    padding: 1rem;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}

.timeline-phase:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
    border-color: #16cba7;
}

.phase-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 1rem;
    position: relative;
}

.phase-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #16cba7 0%, #12a286 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
    box-shadow: 0 4px 12px rgba(22, 203, 167, 0.3);
    flex-shrink: 0;
}

.phase-icon i {
    font-size: 1.25rem;
    color: #ffffff;
}

.phase-number {
    font-size: 0.75rem;
    font-weight: 700;
    color: #16cba7;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}

.phase-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
}

.phase-description {
    font-size: 0.8rem;
    line-height: 1.5;
    color: #475569;
    margin-bottom: 0.75rem;
    text-align: center;
}

.phase-details {
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.what-happens,
.outcome {
    margin-bottom: 1rem;
}

.what-happens:last-child,
.outcome:last-child {
    margin-bottom: 0;
}

.details-label {
    font-size: 0.7rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.4rem;
}

.details-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.details-list li {
    font-size: 0.75rem;
    line-height: 1.5;
    color: #475569;
    margin-bottom: 0.3rem;
    padding-left: 0.85rem;
    position: relative;
}

.details-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: bold;
}

.outcome-text {
    font-size: 0.75rem;
    line-height: 1.5;
    color: #0f172a;
    font-weight: 600;
    margin: 0;
}

/* What Insurers Get with RAMP Section */
.insurers-section {
    padding: 5rem 0;
    background-color: #f8fbff;
}

.insurers-heading-wrapper {
    width: 100%;
    margin-bottom: 3rem;
    text-align: center;
}

.insurers-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.insurers-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.insurers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.insurer-benefit-card {
    background-color: #ffffff;
    padding: 2rem 1.75rem 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, padding-bottom 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    min-height: 280px;
}

.insurer-benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    padding-bottom: 0;
}

.benefit-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #16cba7 0%, #12a286 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    box-shadow: 0 4px 12px rgba(22, 203, 167, 0.3);
}

.benefit-icon i {
    font-size: 1.75rem;
    color: #ffffff;
}

.benefit-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.benefit-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 0;
    text-align: center;
    flex-grow: 1;
}

.benefit-result {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem 1.75rem;
    background-color: #ffffff;
    border-top: 2px solid #16cba7;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    text-align: left;
    border-radius: 0 0 0.5rem 0.5rem;
}

.insurer-benefit-card:hover .benefit-result {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.result-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #16cba7;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.75rem;
    text-align: left;
}

.result-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.result-list li {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #64748b;
    margin-bottom: 0.4rem;
    padding-left: 1rem;
    position: relative;
}

.result-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.4;
}

/* RAMP Platform for Insurance Section */
.platform-insurance-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.platform-insurance-heading-wrapper {
    width: 100%;
    margin-bottom: 2rem;
    text-align: center;
}

.platform-insurance-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.platform-insurance-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.platform-insurance-intro {
    max-width: 900px;
    margin: 0 auto 3.5rem;
    text-align: center;
}

.platform-insurance-intro p {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #475569;
}

.platform-components-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto 3rem;
}

.platform-component-card {
    background-color: #f8fbff;
    padding: 2rem 1.5rem;
    border-radius: 0.5rem;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
    border: 1px solid #e2e8f0;
}

.platform-component-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
    background-color: #ffffff;
    border-color: #16cba7;
}

.component-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #16cba7 0%, #12a286 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
    box-shadow: 0 4px 12px rgba(22, 203, 167, 0.3);
}

.component-icon i {
    font-size: 1.5rem;
    color: #ffffff;
}

.component-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.component-description {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

.component-link-text {
    display: inline-block;
    margin-top: 1rem;
    color: #16cba7;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: color 0.3s ease, transform 0.3s ease;
}

.component-link-text:hover {
    color: #12a286;
    transform: translateX(4px);
}

.internal-link {
    color: #16cba7;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease, text-decoration 0.3s ease;
}

.internal-link:hover {
    color: #12a286;
    text-decoration: underline;
}

.platform-sync-statement {
    text-align: center;
    max-width: 1000px;
    margin: 3rem auto 0;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
}

.platform-sync-statement p {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #ffffff;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.02em;
}

/* Measurable Results Section */
.results-section {
    padding: 5rem 0;
    background-color: #f8fbff;
}

.results-heading-wrapper {
    width: 100%;
    margin-bottom: 3rem;
    text-align: center;
}

.results-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.results-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.result-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    padding: 2.5rem 2rem;
    border-radius: 1rem;
    text-align: center;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    transition: all 0.3s ease;
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.result-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #16cba7 0%, #12a286 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.result-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(22, 203, 167, 0.15);
    border-color: #16cba7;
}

.result-card:hover::before {
    transform: scaleX(1);
}

.result-statistic {
    font-size: 4rem;
    font-weight: 800;
    background: linear-gradient(135deg, #16cba7 0%, #12a286 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: 0.75rem;
    letter-spacing: -0.02em;
    position: relative;
}

.result-statistic::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #16cba7 0%, #12a286 100%);
    border-radius: 2px;
    opacity: 0.3;
}

.result-subtitle {
    font-size: 0.7rem;
    font-weight: 600;
    color: #16cba7;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.result-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    line-height: 1.4;
    letter-spacing: -0.01em;
}

/* Before vs After RAMP Section */
.before-after-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.before-after-heading-wrapper {
    width: 100%;
    margin-bottom: 2rem;
    text-align: center;
}

.before-after-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.before-after-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.before-after-intro {
    max-width: 900px;
    margin: 0 auto 3rem;
    text-align: center;
}

.before-after-intro p {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #475569;
}

.comparison-table-wrapper {
    max-width: 1000px;
    margin: 0 auto 3rem;
    overflow-x: auto;
}

.comparison-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    border-radius: 0.75rem;
    overflow: hidden;
}

.comparison-table thead {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

.comparison-table th {
    padding: 1.25rem 1.5rem;
    text-align: left;
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.comparison-table th.metric-column {
    width: 35%;
}

.comparison-table th.before-column {
    width: 32.5%;
    color: #ffffff;
    font-weight: 600;
}

.comparison-table th.after-column {
    width: 32.5%;
    color: #ffffff;
    font-weight: 600;
}

.comparison-table th.area-column {
    color: #ffffff;
    font-weight: 600;
}

.comparison-table tbody tr {
    border-bottom: 1px solid #e2e8f0;
    transition: background-color 0.2s ease;
}

.comparison-table tbody tr:last-child {
    border-bottom: none;
}

.comparison-table tbody tr:hover {
    background-color: #f8fbff;
}

.comparison-table td {
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    line-height: 1.6;
}

.comparison-table .metric-cell,
.comparison-table .area-column {
    font-weight: 600;
    color: #0f172a;
}

.comparison-table .before-cell {
    color: #dc2626;
    font-weight: 500;
}

.comparison-table .after-cell {
    color: #16cba7;
    font-weight: 600;
}

.comparison-table th.area-column {
    width: 35%;
}

.before-after-header {
    text-align: center;
    margin-bottom: 3rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.before-after-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.before-after-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.before-after-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    text-align: center;
}

.before-after-closing {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: 0.75rem;
}

.before-after-closing .closing-text {
    font-size: 1.25rem;
    line-height: 1.8;
    margin: 0;
    color: #ffffff;
}

.closing-before {
    color: rgba(255, 255, 255, 0.7);
    display: block;
    margin-bottom: 0.75rem;
}

.closing-after {
    color: #ffffff;
    font-weight: 600;
    display: block;
}

.highlight-text {
    color: #16cba7;
    font-weight: 600;
}

/* RAMP's Role Section */
.ramp-role-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.ramp-role-section .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.ramp-role-header {
    text-align: center;
    margin-bottom: 3rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.ramp-role-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.ramp-role-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    margin-bottom: 3rem;
}

.ramp-role-footer {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.ramp-role-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ramp-role-image {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    object-fit: contain;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ramp-role-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.15);
}

.ramp-role-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ramp-role-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    text-align: center;
}

.ramp-role-subtitle {
    font-size: 1.05rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0 0 1rem 0;
    text-align: left;
}

.ramp-role-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2.5rem 0;
    text-align: left;
}

.ramp-role-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 0.75rem;
    padding-left: 1.5rem;
    position: relative;
}

.ramp-role-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #64748b;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.2;
}

.ramp-role-cta {
    margin-bottom: 1.5rem;
    text-align: center;
}

.ramp-role-note {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
    font-style: italic;
    text-align: center;
}

/* Getting Started Section */
.getting-started-section {
    padding: 5rem 0;
    background-color: #f8fafc;
}

.getting-started-header {
    text-align: center;
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.getting-started-title {
    font-size: 2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 1rem 0 0 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.getting-started-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    max-width: 1200px;
    margin: 0 auto 3rem auto;
}

.step-card {
    background-color: #ffffff;
    padding: 2.5rem 2rem;
    border-radius: 0.5rem;
    text-align: center;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.step-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
}

.step-number {
    font-size: 3rem;
    font-weight: 700;
    color: #16cba7;
    margin-bottom: 1.5rem;
    line-height: 1;
    letter-spacing: -0.05em;
}

.step-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 1rem 0;
    line-height: 1.4;
}

.step-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.getting-started-cta {
    text-align: center;
    margin-top: 2rem;
}

@media (max-width: 992px) {
    .getting-started-steps {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* Why RAMP Section */
.why-ramp-insurance-section {
    padding: 5rem 0;
    background-color: #f8fbff;
}

.why-ramp-insurance-heading-wrapper {
    width: 100%;
    margin-bottom: 3rem;
    text-align: center;
}

.why-ramp-insurance-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.why-ramp-insurance-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.why-ramp-insurance-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    max-width: 1200px;
    margin: 0 auto;
}

.why-ramp-item {
    background-color: #ffffff;
    padding: 2rem 1.75rem;
    border-radius: 0.75rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    transition: all 0.3s ease;
    border: 1px solid #f1f5f9;
    position: relative;
    overflow: hidden;
}

.why-ramp-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #16cba7 0%, #12a286 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.why-ramp-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.1);
    border-color: #e2e8f0;
}

.why-ramp-item:hover::before {
    transform: scaleX(1);
}

.why-ramp-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(22, 203, 167, 0.1) 0%, rgba(22, 161, 118, 0.1) 100%);
    border-radius: 12px;
    transition: all 0.3s ease;
}

.why-ramp-item:hover .why-ramp-icon {
    background: linear-gradient(135deg, rgba(22, 203, 167, 0.15) 0%, rgba(22, 161, 118, 0.15) 100%);
    transform: scale(1.05);
}

.why-ramp-icon i {
    font-size: 1.5rem;
    color: #16cba7;
}

.why-ramp-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
    letter-spacing: -0.01em;
}

.why-ramp-description {
    font-size: 0.9rem;
    line-height: 1.65;
    color: #64748b;
    margin: 0;
}

/* Final CTA Section */
.final-cta-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.final-cta-heading-wrapper {
    width: 100%;
    margin-bottom: 2rem;
    text-align: center;
}

.final-cta-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.final-cta-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.final-cta-copy {
    max-width: 900px;
    margin: 0 auto 3rem;
    text-align: center;
}

.final-cta-copy p {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #475569;
}

.final-cta-buttons {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.hero-rating {
    font-size: 0.88rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ca3af;
}

.hero-scroll-indicator {
    margin-top: 2.3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
}

.scroll-arrow {
    width: 18px;
    height: 18px;
    border-left: 1px solid rgba(148, 163, 184, 0.9);
    border-bottom: 1px solid rgba(148, 163, 184, 0.9);
    transform: rotate(-45deg);
    animation: scrollArrow 1.6s ease-in-out infinite;
}

.scroll-arrow:nth-child(2) {
    margin-top: -6px;
    opacity: 0.7;
    animation-delay: 0.12s;
}

@keyframes scrollArrow {
    0% {
        opacity: 0;
        transform: translateY(-4px) rotate(-45deg);
    }

    40% {
        opacity: 1;
        transform: translateY(0) rotate(-45deg);
    }

    100% {
        opacity: 0;
        transform: translateY(6px) rotate(-45deg);
    }
}

/* Sections */
/* The Opportunity Section */
.opportunity-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.opportunity-heading-wrapper {
    width: 100%;
    margin-bottom: 3rem;
    text-align: center;
}

.opportunity-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.opportunity-text {
    text-align: left;
}

.opportunity-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    display: block;
    padding-bottom: 0.5rem;
    width: 100%;
}

.opportunity-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.opportunity-subheading {
    font-size: 1.25rem;
    color: #64748b;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.opportunity-description {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 1.5rem;
}

.opportunity-list {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.opportunity-list li {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 0.75rem;
    padding-left: 1.5rem;
    position: relative;
}

.opportunity-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.2;
}

.opportunity-problem {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 1.5rem 0;
    font-weight: 500;
}

.opportunity-solution {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #ffffff;
    font-weight: 400;
    font-style: italic;
    font-family: Georgia, 'Times New Roman', serif;
    text-align: center;
    margin-top: 3rem;
    padding: 2.5rem 3rem;
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    background-color: #0f172a;
    border-radius: 0.75rem;
}

.opportunity-media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-placeholder {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px dashed #cbd5e1;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    object-fit: contain;
}

.video-placeholder:hover {
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    border-color: #16cba7;
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.15);
}

.video-placeholder i {
    font-size: 4rem;
    color: #16cba7;
    margin-bottom: 1rem;
}

.video-placeholder p {
    font-size: 1rem;
    color: #64748b;
    font-weight: 500;
}

/* Platform Section */
.platform-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.platform-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.platform-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.platform-image {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    border-radius: 1rem;
    object-fit: contain;
    background: rgba(15, 23, 42, 0.05);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.platform-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.15);
}

.platform-right {
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 2rem;
}

.platform-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    text-align: center;
    margin-bottom: 3rem;
    line-height: 1.3;
    text-align: center;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.platform-description {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 2rem;
    text-align: left;
}

.platform-stats {
    margin-top: 2rem;
    text-align: left;
}

.platform-stats-label {
    font-size: 1rem;
    color: #64748b;
    margin-bottom: 0.5rem;
    font-weight: 500;
    text-align: left;
}

.platform-stats-list {
    font-size: 1.1rem;
    color: #0f172a;
    font-weight: 600;
    line-height: 1.6;
    text-align: left;
}

.platform-right {
    text-align: right;
}

.platform-pillars-title {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2rem;
    text-align: left;
}

.pillars-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    text-align: right;
}

.pillar-item {
    text-align: right;
}

.pillar-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.5rem;
}

.pillar-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
}

/* Core Foundations Section */
.foundations-section {
    padding: 0 !important;
    margin: 0;
    background-color: #ffffff;
    width: 100%;
    max-width: 100%;
}

.foundations-banner {
    position: relative;
    min-height: 400px;
    background-image: url('../images/digital.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 3rem 0;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
}

.foundations-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.75) 0%, rgba(15, 23, 42, 0.6) 100%);
    z-index: 0;
}

.foundations-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
    width: 100%;
}

.foundations-title {
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 3rem;
    text-align: center;
}

.foundations-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
}

.foundation-item {
    text-align: left;
    padding: 2rem;
    background-color: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.75rem;
    transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.foundation-item:hover {
    transform: translateY(-4px);
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.25);
}

.foundation-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.foundation-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.foundation-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.75rem;
}

.foundation-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #ffffff;
}

/* Solutions by Stakeholder Section */
.solutions-section {
    padding: 4rem 0;
    background-color: #f8fafc;
}

.solutions-title {
    text-align: center;
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2.5rem;
}

.stakeholders-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto;
}

.stakeholder-card {
    background-color: #ffffff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #e2e8f0;
}

.stakeholder-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);
    border-color: #16cba7;
}

.stakeholder-icon {
    margin-bottom: 1rem;
}

.stakeholder-icon-img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: invert(52%) sepia(87%) saturate(366%) hue-rotate(113deg) brightness(92%) contrast(92%);
    transition: filter 0.3s ease, transform 0.3s ease;
}

.stakeholder-card:hover .stakeholder-icon-img {
    filter: invert(52%) sepia(87%) saturate(366%) hue-rotate(113deg) brightness(105%) contrast(100%);
    transform: scale(1.05);
}

.stakeholder-name {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.stakeholder-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 1rem;
}

.stakeholder-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.metric-item {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    background-color: #f1f5f9;
    color: #475569;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 999px;
}

.stakeholder-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #16cba7;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.stakeholder-link:hover {
    color: #12a286;
}

/* Technology Stack Section */
.technology-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.technology-title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1.5rem;
}

.technology-description {
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    max-width: 800px;
    margin: 0 auto 3rem;
}

.products-showcase {
    margin-bottom: 2rem;
}

.product-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.product-badge {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background-color: #0f172a;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 0.5rem;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: all 0.18s ease;
}

.product-badge:hover {
    background-color: #16cba7;
    color: #ffffff;
    transform: translateY(-2px);
}

.technology-tagline {
    text-align: center;
    font-size: 1.1rem;
    color: #64748b;
    font-weight: 500;
    font-style: italic;
}

/* Industry Impact Section */
.impact-section {
    padding: 3.5rem 0;
    background-color: #0f172a;
    color: #ffffff;
}

.impact-title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 2rem;
}

.impact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
}

.impact-card {
    text-align: center;
    padding: 2rem;
}

.impact-number {
    font-size: 3.5rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.5rem;
    line-height: 1.2;
}

.impact-label {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
}

.impact-tagline {
    text-align: center;
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
}

/* Intelligence Section */
.intelligence-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.intelligence-title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 3rem;
}

.intelligence-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.intelligence-left {
    display: flex;
    flex-direction: column;
}

.intelligence-pillars {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.intelligence-right {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.intelligence-image {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    border-radius: 1rem;
    background: rgba(15, 23, 42, 0.05);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
    object-fit: cover;
}

.intelligence-card {
    padding: 1.5rem;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 0.75rem;
    border: none;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem;
    align-items: start;
    backdrop-filter: blur(10px);
}

.intelligence-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.intelligence-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.intelligence-card-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.intelligence-name {
    font-size: 1.5rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
}

.intelligence-description {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.intelligence-tagline {
    text-align: center;
    font-size: 1.2rem;
    color: #0f172a;
    font-weight: 600;
    font-style: italic;
    margin-top: 2rem;
    width: 100%;
}

/* Partners & Ecosystem Section */
.partners-section {
    padding: 5rem 0;
    background-color: #0f172a;
    color: #ffffff;
}

.partners-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.partners-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    text-align: center;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.partners-description {
    font-size: 1.2rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2.5rem;
}

.btn-partner {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2.5rem;
    background-color: #16cba7;
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(22, 203, 167, 0.25);
}

.btn-partner:hover {
    background-color: #12a286;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(22, 203, 167, 0.35);
}

/* Why RAMP Section */
/* Why RAMP Comparison Section */
.why-ramp-section {
    padding: 120px 0;
    background-color: #ffffff;
}

.comparison-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.08);
    border: 1px solid #f1f5f9;
}

.comparison-col {
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
}

.comparison-col.traditional {
    background-color: #f8fafc;
    border-right: 1px solid #f1f5f9;
}

.comparison-col.ramp-way {
    background-color: #ffffff;
}

.comp-header {
    margin-bottom: 3rem;
}

.comp-label {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #94a3b8;
    font-weight: 600;
    margin-bottom: 0.75rem;
    display: block;
}

.comp-title {
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1.1;
    color: #0f172a;
}

.traditional .comp-title {
    color: #64748b;
}

.ramp-way .comp-title {
    color: #16cba7;
}

.comp-list {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1;
}

.comp-item {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    font-size: 1.15rem;
}

.comp-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
    flex-shrink: 0;
}

.traditional .comp-icon i {
    color: #94a3b8;
    font-size: 1rem;
}

.ramp-way .comp-icon i {
    color: #16cba7;
    font-size: 1.25rem;
}

.comp-text {
    color: #475569;
    line-height: 1.5;
}

.ramp-way .comp-text {
    color: #0f172a;
    font-weight: 500;
}

.comparison-footer {
    text-align: center;
    margin-top: 6rem;
    padding: 0 2rem;
}

.signature-statement {
    font-size: 1.5rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
    margin-bottom: 0.5rem;
    text-align: center;
}

.signature-underline {
    position: relative;
    display: inline-block;
}

.signature-underline::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #16cba7;
    border-radius: 1px;
}

.signature-sub {
    font-size: 1.5rem;
    font-weight: 600;
    color: #16cba7;
    margin-top: 0.5rem;
    text-align: center;
}

@media (max-width: 992px) {
    .comparison-container {
        grid-template-columns: 1fr;
    }

    .comparison-col {
        padding: 4rem 2rem;
    }

    .comparison-col.traditional {
        border-right: none;
        border-bottom: 1px solid #f1f5f9;
    }

    .signature-statement {
        font-size: 2rem;
    }
}


@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* CTA Section */
.cta-section {
    padding: 5rem 0 0;
    background-color: #0f172a;
    color: #ffffff;
    margin-bottom: 0;
}

.cta-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.cta-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center;
    margin-bottom: 1.5rem;
}

.cta-description {
    font-size: 1.2rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2.5rem;
}

.cta-highlight {
    color: #16cba7;
}

.cta-buttons {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-primary-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1rem 2rem;
}

.cta-btn-text {
    display: block;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.cta-btn-subtitle {
    display: block;
    font-size: 0.875rem;
    font-weight: 400;
    opacity: 0.9;
    line-height: 1.2;
}

.cta-buttons-container {
    display: flex;
    gap: 3rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.cta-btn-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 300px;
}

.cta-caption {
    margin-top: 0.75rem;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.4;
    text-align: center;
}

@media (max-width: 768px) {
    .cta-buttons-container {
        flex-direction: column;
        gap: 2rem;
        align-items: center;
    }
}


/* FAQ Section */
.faq-section {
    padding: 5rem 0;
    background-color: #ffffff;
}

.faq-title,
.faq-heading {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
}

.faq-section>.container>.faq-header {
    text-align: center;
    margin-bottom: 3rem;
}

.faq-subheading {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #64748b;
    text-align: center;
    margin: 0;
}

.faq-framing {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    margin: 0 auto 2.5rem;
    max-width: 700px;
    font-weight: 500;
}

.faq-list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.faq-item {
    background-color: #f8fafc;
    border-radius: 0.75rem;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.faq-item:hover {
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.faq-item .faq-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 2rem;
    cursor: pointer;
    user-select: none;
    text-align: left;
}

.faq-question {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    line-height: 1.5;
    flex: 1;
    padding-right: 2rem;
}

.faq-icon {
    font-size: 1.5rem;
    font-weight: 300;
    color: #16cba7;
    line-height: 1;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-answer-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.faq-item.active .faq-answer-wrapper {
    max-height: 500px;
    padding: 0 2rem 1.5rem 2rem;
}

.faq-answer {
    font-size: 1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    padding-top: 0.5rem;
}

.faq-answer ul {
    margin: 1rem 0;
    padding-left: 1.5rem;
    list-style-type: disc;
}

.faq-answer li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

.faq-answer p {
    margin-bottom: 1rem;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}

.section {
    padding: 80px 20px;
}

/* Industry Context Section */
.industry-context-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.industry-context-section .container {
    max-width: 1100px;
}

/* Part A: Context Snapshot (2-Column Layout) */
.context-snapshot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    margin-bottom: 3rem;
    align-items: start;
}

.industry-context-section .container {
    text-align: center;
}

.context-snapshot {
    text-align: left;
}

.context-snapshot-left {
    display: flex;
    flex-direction: column;
}

.industry-context-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.industry-context-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.industry-context-intro {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #0f172a;
    margin-bottom: 3rem;
    font-weight: 600;
    text-align: center;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.brand-highlight {
    color: #16cba7;
}

.context-snapshot-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #334155;
    margin: 0 0 1.25rem 0;
    max-width: 100%;
}

.context-snapshot-intro:last-child {
    margin-bottom: 0;
}

.context-snapshot-image {
    margin-top: 1.5rem;
    width: 100%;
}

.context-image {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    display: block;
}

/* Operating Complexity Snapshot Section */
.complexity-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.complexity-header {
    margin-bottom: 4rem;
    text-align: center;
}

.complexity-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.complexity-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin-bottom: 2rem;
    line-height: 1.6;
    text-align: center;
}

.complexity-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 auto;
    max-width: 800px;
    text-align: center;
    font-weight: 500;
}

.complexity-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 3rem;
}

.complexity-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    height: 100%;
}

.complexity-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.complexity-card-icon {
    margin-bottom: 1rem;
    opacity: 0.6;
}

.complexity-card-icon i {
    font-size: 1.5rem;
    color: #16cba7;
}

.complexity-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.complexity-card-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

.complexity-outcome-card {
    background-color: #e2e8f0;
    border: 1px solid #cbd5e1;
    border-top: 3px solid #16cba7;
    border-radius: 8px;
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    margin-bottom: 2.5rem;
    width: 100%;
    position: relative;
}

.outcome-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #64748b;
    margin-bottom: 0.75rem;
}

.complexity-outcome-card .complexity-card-icon {
    margin-bottom: 1rem;
}

.complexity-outcome-card .complexity-card-title {
    font-size: 1.3rem;
}

.complexity-outcome-card .complexity-card-description {
    font-size: 1rem;
}

.complexity-finishing-line {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #64748b;
    text-align: center;
    font-weight: 400;
    margin: 0;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* Value Leakage Section */
.leakage-section {
    background-color: #f8fafc;
    padding: 100px 20px;
}

.leakage-header {
    margin-bottom: 4rem;
    text-align: center;
}

.leakage-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.leakage-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin-bottom: 2rem;
    line-height: 1.6;
    text-align: center;
}

.leakage-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 auto;
    max-width: 800px;
    text-align: center;
    font-weight: 500;
}

.leakage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-bottom: 3.5rem;
}

.leakage-card {
    background-color: #ffffff;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    height: 100%;
}

.leakage-card:hover {
    border-color: #94a3b8;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.leakage-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.leakage-card-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

.leakage-closing {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    font-weight: 400;
    margin: 0 auto;
    max-width: 800px;
}

/* Industry Shift Section */
.shift-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.shift-header {
    margin-bottom: 3rem;
    text-align: center;
}

.shift-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.shift-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
    text-align: center;
}

.shift-intro {
    margin-bottom: 4rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.shift-framing-line {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin-bottom: 1.5rem;
    font-weight: 500;
    text-align: center;
}

.shift-reframing-line {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin-bottom: 1.5rem;
    font-weight: 500;
    text-align: center;
}

.lifecycle-intro-text {
    text-align: center;
    margin: 2.5rem 0 2rem 0;
}

.lifecycle-intro-text p {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    line-height: 1.5;
}

.lifecycle-progression {
    display: flex;
    flex-direction: row;
    gap: 0;
    margin-bottom: 4rem;
    position: relative;
    padding: 2.5rem 0;
    justify-content: space-between;
}

.lifecycle-progression::before {
    content: '';
    position: absolute;
    top: 3.5rem;
    left: 3rem;
    right: 3rem;
    height: 1px;
    background: #e2e8f0;
    z-index: 0;
}

.lifecycle-step {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding: 0 1rem;
    text-align: center;
}

.lifecycle-step:first-child {
    padding-left: 0;
}

.lifecycle-step:last-child {
    padding-right: 0;
}

.step-number {
    font-size: 0.75rem;
    font-weight: 500;
    color: #94a3b8;
    background-color: #ffffff;
    padding: 0.4rem 0.6rem;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
    display: inline-block;
    margin: 0 auto 1rem auto;
    position: relative;
    z-index: 2;
}

.step-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.step-description {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    text-align: center;
}

.shift-closing {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    font-weight: 400;
    margin: 0 auto;
    max-width: 800px;
}

/* Digital Maturity Section */
.maturity-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.maturity-header {
    margin-bottom: 3rem;
    text-align: left;
}

.maturity-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: left;
}

.maturity-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
    text-align: center;
}

.maturity-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 auto 4rem auto;
    max-width: 900px;
    text-align: center;
    font-weight: 500;
}

.capability-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 4rem;
}

.capability-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    height: 100%;
}

.capability-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.capability-icon {
    margin-bottom: 1rem;
    opacity: 0.6;
}

.capability-icon i {
    font-size: 1.5rem;
    color: #16cba7;
}

.capability-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.capability-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

.maturity-closing {
    font-size: 1rem;
    line-height: 1.7;
    color: #64748b;
    text-align: center;
    font-weight: 400;
    margin: 0 auto;
    max-width: 900px;
}

/* Role-Based Industry Perspective Section */
.role-section {
    background-color: #fafbfc;
    padding: 100px 20px;
}

.role-header {
    margin-bottom: 3rem;
    text-align: center;
}

.role-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.role-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
    text-align: center;
}

.role-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 auto 4rem auto;
    max-width: 900px;
    text-align: center;
    font-weight: 500;
}

.role-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-bottom: 3.5rem;
}

.role-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    height: 100%;
}

.role-card:hover {
    border-color: #cbd5e1;
    background-color: #fafbfc;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.role-icon {
    margin-bottom: 1rem;
    opacity: 0.5;
}

.role-icon i {
    font-size: 1.5rem;
    color: #16cba7;
}

.role-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.role-card-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

.role-closing {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    font-weight: 400;
    margin: 0 auto;
    max-width: 900px;
}

/* Business Outcomes Section */
.outcomes-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.outcomes-header {
    margin-bottom: 3rem;
    text-align: center;
}

.outcomes-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.outcomes-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
    text-align: center;
}

.outcomes-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 auto 4rem auto;
    max-width: 900px;
    text-align: center;
    font-weight: 500;
}

.outcomes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 4rem;
}

.outcome-item {
    background-color: #ffffff;
    border-bottom: 2px solid #e2e8f0;
    padding: 2rem 0;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.outcome-item:hover {
    border-bottom-color: #cbd5e1;
}

.outcome-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.outcome-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}

.outcomes-closing {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    text-align: center;
    font-weight: 400;
    margin: 0 auto;
    max-width: 900px;
}

/* Enterprise Readiness Signals Section */
.readiness-section {
    background-color: #f8fafc;
    padding: 100px 20px;
}

.readiness-header {
    margin-bottom: 2.5rem;
    text-align: center;
}

.readiness-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    text-align: center;
}

.readiness-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
    text-align: center;
}

.readiness-intro {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 auto 3rem;
    max-width: 900px;
    text-align: center;
    font-weight: 500;
}

.requirement-blocks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-bottom: 3.5rem;
}

.requirement-block {
    padding: 2rem 0;
    border-bottom: 1px solid #e2e8f0;
    padding-left: 0;
    padding-right: 2rem;
}

.requirement-block:nth-child(odd) {
    padding-right: 2rem;
    border-right: 1px solid #e2e8f0;
}

.requirement-block:nth-child(even) {
    padding-left: 2rem;
    padding-right: 0;
}

.requirement-block:nth-last-child(-n+2) {
    border-bottom: none;
}

.requirement-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.requirement-description {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #64748b;
    margin: 0;
}

.readiness-closing {
    font-size: 1.2rem;
    line-height: 1.7;
    color: #0f172a;
    text-align: center;
    font-weight: 400;
    margin: 0 auto;
    max-width: 900px;
}

/* Highlight Box - Dark Box with White Text */
.highlight-box {
    background-color: #1e293b;
    border-radius: 0.75rem;
    padding: 2rem 2.5rem;
    margin: 3rem auto 0;
    max-width: 900px;
    text-align: center;
}

.highlight-text {
    font-size: 1.25rem;
    line-height: 1.8;
    color: #ffffff;
    margin: 0;
    font-weight: 400;
}

/* Light Highlight Box - No Background, Just Text */
.highlight-box-light {
    max-width: 800px;
    margin: 3rem auto 4rem;
    text-align: center;
    padding-top: 2rem;
}

.highlight-box-light .highlight-text {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    font-weight: 500;
}

/* Micro-Insight Cards */
.context-snapshot-right {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.micro-insight-cards {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.micro-insight-card {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.micro-insight-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.insight-card-heading {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.insight-card-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

/* Part B: Expandable Industry Insight */
.industry-insight-expandable {
    margin-top: 3rem;
    border-top: 1px solid #e2e8f0;
    padding-top: 2rem;
}

.expandable-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    padding: 1rem 0;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    color: #475569;
    transition: color 0.3s ease;
    text-align: left;
}

.expandable-trigger:hover {
    color: #16cba7;
}

.trigger-text {
    flex: 1;
}

.trigger-icon {
    font-size: 1.5rem;
    font-weight: 300;
    color: #16cba7;
    transition: transform 0.3s ease;
    margin-left: 1rem;
}

.expandable-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0;
}

.expandable-content.expanded {
    max-height: 1000px;
    padding-top: 1.5rem;
}

.industry-context-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.context-block {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #475569;
    margin: 0;
    max-width: 100%;
}

/* Accent underline for all section h2 headings */
.section h2 {
    position: relative;
    display: block;
    padding-bottom: 0.5rem;
    text-align: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-weight: 600;
}

.section h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

/* Override for opportunity heading */
.opportunity-heading {
    text-align: center;
    color: #0f172a;
}

/* Services Grid */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.service-card {
    background-color: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.service-card h3 {
    color: #16cba7;
    margin-bottom: 1rem;
}

/* Contact Form */
#contact-form {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#contact-form input,
#contact-form textarea {
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1rem;
    font-family: inherit;
}

#contact-form input:focus,
#contact-form textarea:focus {
    outline: none;
    border-color: #16cba7;
}

#contact-form button {
    background-color: #444547;
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 1rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#contact-form button:hover {
    background-color: #333;
}

/* Footer */
.site-footer {
    background-color: #020617;
    color: #e5e7eb;
    padding: 3.5rem 0 2.5rem;
    margin-top: 0;
}

.footer-inner {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr));
    gap: 2.5rem;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0;
}

.footer-logo-img {
    height: 40px;
    width: auto;
    object-fit: contain;
}

.footer-tagline {
    font-size: 0.9rem;
    color: #9ca3af;
    line-height: 1.6;
    max-width: 360px;
    margin: 0;
}

.footer-social {
    display: flex;
    gap: 0.5rem;
    margin-top: 0;
    flex-wrap: wrap;
}

.footer-contact-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 0.5rem;
}

.footer-contact-heading {
    font-size: 0.9rem;
    font-weight: 600;
    color: #f9fafb;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    margin: 0 0 0.5rem 0;
}

.contact-location {
    padding: 0;
}

.contact-label {
    font-size: 0.85rem;
    color: #d1d5db;
    margin: 0;
}

.contact-map-section {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.contact-map-link {
    font-size: 0.85rem;
    color: #ffffff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: color 0.18s ease;
}

.contact-map-link:hover {
    color: #f0f0f0;
}

.contact-map-link i {
    font-size: 0.7rem;
}

.contact-address {
    font-size: 0.8rem;
    color: #9ca3af;
    line-height: 1.5;
    margin: 0;
}

.contact-phones {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.contact-phone {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.18s ease;
}

.contact-phone:hover {
    color: #f0f0f0;
}

.contact-divider {
    color: #4b5563;
}

.contact-email {
    font-size: 0.85rem;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.18s ease;
}

.contact-email:hover {
    color: #f0f0f0;
}

.social-circle {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.55);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 600;
    color: #e5e7eb;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.08s ease;
    line-height: 1;
}

.social-circle i {
    font-size: 1rem;
}

.social-circle:hover {
    background-color: #16cba7;
    border-color: #16cba7;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(22, 203, 167, 0.3);
}

/* Platform-specific icon styling */
.social-whatsapp {
    font-size: 0.65rem;
}

.social-linkedin {
    font-size: 0.7rem;
    font-weight: 700;
}

.social-youtube {
    font-size: 0.65rem;
}

.social-instagram {
    font-size: 0.65rem;
}

.social-twitter {
    font-size: 0.75rem;
    font-weight: 700;
}

.social-facebook {
    font-size: 0.8rem;
    font-weight: 700;
}

.social-pinterest {
    font-size: 0.7rem;
    font-weight: 700;
}

.social-reddit {
    font-size: 0.7rem;
    font-weight: 700;
}

.footer-column {
    min-width: 0;
}

.footer-heading {
    font-size: 0.95rem;
    font-weight: 600;
    color: #f9fafb;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    margin-bottom: 0.9rem;
    margin-top: 0;
}

.footer-heading-spaced {
    margin-top: 1.8rem;
}

.footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0;
    margin: 0;
}

.footer-links a {
    font-size: 0.9rem;
    color: #9ca3af;
    text-decoration: none;
    transition: color 0.18s ease;
}

.footer-links a:hover {
    color: #ffffff;
}

.footer-bottom {
    border-top: 1px solid rgba(148, 163, 184, 0.35);
    padding-top: 1rem;
    text-align: center;
    font-size: 0.85rem;
    color: #6b7280;
}

.footer-bottom-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
}

.footer-policies {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.footer-policy-link {
    font-size: 0.85rem;
    color: #9ca3af;
    text-decoration: none;
    transition: color 0.18s ease;
}

.footer-policy-link:hover {
    color: #ffffff;
}

.footer-divider {
    color: #4b5563;
}

.footer-copy {
    margin: 0;
    font-size: 0.85rem;
    color: #6b7280;
}

/* Responsive Design */
@media (max-width: 768px) {
    .logo-img {
        height: 28px;
    }

    .footer-logo-img {
        height: 30px;
    }

    .nav-links {
        gap: 1rem;
        font-size: 0.9rem;
    }

    .hero {
        padding: 3rem 0 2rem;
        margin-top: -70px;
        padding-top: calc(3rem + 70px);
        background-position: 85% center;
        background-attachment: scroll;
        min-height: auto;
    }

    .hero-inner {
        padding-top: 0.5rem;
    }

    .hero::before {
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.65) 100%);
    }

    .hero-logo-img {
        height: 45px;
    }

    .hero-content h1 {
        font-size: 2rem;
    }

    .hero-content p {
        font-size: 1rem;
    }

    .hero-tagline {
        font-size: 1.2rem;
    }

    .hero-description {
        font-size: 1rem;
        padding: 0 1rem;
    }

    .hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-trust-signal {
        margin-top: 1rem;
        padding-top: 1rem;
    }

    .trust-label {
        font-size: 0.7rem;
        margin-bottom: 0.5rem;
    }

    .trust-metrics {
        font-size: 1rem;
        flex-direction: column;
        gap: 0.5rem;
    }

    .metric-separator {
        display: none;
    }

    .trust-text {
        margin-bottom: 1.5rem;
    }

    .partner-logos {
        gap: 2.5rem;
        padding: 0 0.5rem;
        flex-wrap: wrap;
    }

    .partner-logo {
        max-width: 100px;
        max-height: 50px;
    }

    .hero-actions .btn {
        width: 100%;
        max-width: 300px;
        margin: 0;
    }

    .hero-cta-link {
        font-size: 1rem;
    }

    .construction-hero .hero-description {
        max-width: 100%;
    }

    .insurance-hero {
        padding: 5rem 0 4rem;
    }

    .workshop-hero {
        padding: 5rem 0 4rem;
    }

    .enterprise-workshop-hero {
        padding: 5rem 0 4rem;
    }

    .enterprise-workshop-hero .hero-title {
        font-size: 2.2rem;
        margin-bottom: 1.5rem;
    }

    .enterprise-workshop-hero .hero-description {
        font-size: 1.15rem;
        margin-bottom: 1.25rem;
    }

    .enterprise-workshop-hero .hero-context {
        font-size: 1.05rem;
        margin-bottom: 2rem;
    }

    .workshop-management-hero {
        padding: 5rem 0 4rem;
    }

    .workshop-management-hero .hero-title {
        font-size: 2.2rem;
        margin-bottom: 1.5rem;
    }

    .workshop-management-hero .hero-description {
        font-size: 1.1rem;
        margin-bottom: 1.25rem;
    }

    .hero-philosophy {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .hero-product-identifier {
        font-size: 0.85rem;
        margin-bottom: 1rem;
    }

    .hero-features {
        margin: 1.5rem 0 2rem 0;
    }

    .hero-feature-item {
        font-size: 0.95rem;
    }

    /* Trust Band Responsive */
    .trust-band-section {
        padding: 2rem 0;
    }

    .trust-band-title {
        font-size: 1.25rem;
        margin-bottom: 0.75rem;
    }

    .trust-band-subtext {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
        padding: 0 1rem;
    }

    .trust-indicators {
        flex-direction: column;
        gap: 1.5rem;
    }

    .trust-indicator-item {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }

    .trust-indicator-text {
        font-size: 0.9rem;
    }

    /* Inspection Problems Responsive */
    .inspection-problems-section {
        padding: 60px 0;
    }

    .inspection-problems-header {
        margin-bottom: 2.5rem;
        padding: 0 1rem;
    }

    .inspection-problems-title {
        font-size: 1.75rem;
    }

    .inspection-problems-subheading {
        font-size: 1rem;
    }

    .inspection-problems-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .inspection-problem-pillar {
        padding: 24px;
    }

    .inspection-problems-closing {
        margin-top: 2rem;
        padding: 0 1rem;
    }

    .inspection-problems-closing-text {
        font-size: 0.95rem;
    }

    /* Workshop Struggle Section Responsive */
    .workshop-struggles-section {
        padding: 60px 0;
    }

    .workshop-struggles-grid {
        grid-template-columns: 1fr;
        /* Stack vertically */
        gap: 20px;
    }

    .workshop-struggles-title {
        font-size: 1.75rem;
    }

    .workshop-struggles-subtitle {
        font-size: 1rem;
    }

    .struggle-card {
        padding: 24px;
    }

    /* Predictable Operations Responsive */
    .predictable-operations-section {
        padding: 60px 0;
    }

    .predictable-grid {
        grid-template-columns: 1fr;
        /* Stack vertically on mobile/tablet */
        gap: 20px;
    }

    .predictable-title {
        font-size: 1.75rem;
    }

    .predictable-subtitle {
        font-size: 1rem;
    }

    .predictable-card {
        padding: 24px;
    }

    /* Workshop Workflow Responsive */
    .workshop-workflow-section {
        padding-top: 60px;
    }

    .capability-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 3rem;
    }

    .why-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .workflow-strip {
        gap: 1.5rem;
        margin-bottom: 2rem;
    }

    .workflow-why-footer {
        padding: 40px 0;
    }

    /* Scale With Business Responsive */
    .scale-with-business-section {
        padding: 60px 0;
    }

    .scale-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .scale-header {
        margin-bottom: 2.5rem;
    }

    .scale-title {
        font-size: 1.75rem;
    }

    .scale-card {
        padding: 24px;
        text-align: left;
        /* Keep left alignment on mobile for consistency */
    }

    .scale-closing {
        margin-top: 2rem;
        text-align: left;
        /* Align closing text left on mobile for better readability ? Or keep center ? Design says center. Let's keep center but ensure it wraps well. */
        text-align: center;
        padding: 0 1rem;
    }

    /* Results Workshops Responsive */
    .results-workshops-section {
        padding: 60px 0;
    }

    .results-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .results-header {
        margin-bottom: 2.5rem;
    }

    .result-pillar {
        padding: 24px;
    }

    /* Why RAMP Feels Different Responsive */
    .why-ramp-different-section {
        padding: 80px 0;
    }

    /* Why PFMS Different Responsive */
    .why-pfms-different-section {
        padding: 60px 0;
    }

    .why-pfms-title {
        font-size: 1.75rem;
    }

    .philosophy-contrast {
        flex-direction: column;
        gap: 1rem;
        padding: 1.5rem 0;
        margin-bottom: 3rem;
    }

    .philosophy-left,
    .philosophy-right {
        font-size: 1.25rem;
        text-align: center;
    }

    .principle-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .principle-cards-grid .principle-card:nth-child(1),
    .principle-cards-grid .principle-card:nth-child(2),
    .principle-cards-grid .principle-card:nth-child(3),
    .principle-cards-grid .principle-card:nth-child(4),
    .principle-cards-grid .principle-card:nth-child(5) {
        grid-column: span 1;
    }

    .principle-card {
        padding: 24px;
    }

    .why-pfms-closing {
        margin-top: 2rem;
    }

    /* Who Uses PFMS Responsive */
    .who-uses-pfms-section {
        padding: 60px 0;
    }

    .who-uses-header {
        margin-bottom: 2.5rem;
    }

    .who-uses-title {
        font-size: 1.75rem;
    }

    .industry-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .industry-item {
        padding: 20px;
    }

    .who-uses-closing {
        margin-top: 2rem;
    }
}

/* Mobile - Single Column */
@media (max-width: 480px) {
    .industry-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .industry-item {
        padding: 16px;
    }

    .industry-icon {
        font-size: 24px;
    }

    .industry-label {
        font-size: 0.95rem;
    }

    .why-ramp-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .why-ramp-statement {
        font-size: 1.75rem;
        margin-bottom: 0.5rem;
    }

    .principles-wrapper {
        border-left: none;
        border-top: 2px solid #e5e7eb;
        padding-left: 0;
        padding-top: 2rem;
    }

    .why-ramp-closing {
        margin-top: 3rem;
    }

    /* Who RAMP Is Built For Responsive */
    .who-ramp-built-for-section {
        padding: 60px 0;
    }

    .persona-card {
        width: 100%;
        /* Full width on mobile */
        min-width: 0;
    }

    .who-built-header {
        margin-bottom: 2.5rem;
    }







    .networks-different-section {
        padding: 60px 20px;
    }

    .networks-different-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .networks-different-subtitle {
        font-size: 1.15rem;
    }

    .networks-different-intro {
        font-size: 1.15rem;
        margin-bottom: 3rem;
    }

    .networks-complexity-split {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .networks-complexity-image {
        max-width: 100%;
        margin-bottom: 1.5rem;
    }

    .networks-reality-statement {
        font-size: 1.05rem;
        margin-bottom: 1rem;
    }

    .networks-complexity-list {
        gap: 1.25rem;
    }

    .networks-complexity-list li {
        font-size: 1rem;
    }

    .network-challenge-section {
        padding: 60px 20px;
    }

    .network-challenge-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .network-challenge-subtitle {
        font-size: 1.15rem;
    }

    .network-challenge-intro {
        font-size: 1.15rem;
        margin-bottom: 3rem;
    }

    .network-challenge-split {
        grid-template-columns: 1fr;
        gap: 0;
        border-radius: 8px;
    }

    .network-challenge-left {
        padding: 2rem;
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .network-challenge-right {
        padding: 2rem;
    }

    .network-challenge-column-heading {
        font-size: 1.2rem;
    }

    .network-challenge-column-subtitle {
        font-size: 0.9rem;
        margin-bottom: 1.5rem;
    }

    .network-challenge-list {
        gap: 1.25rem;
    }

    .network-challenge-list li {
        font-size: 1rem;
    }

    .network-challenge-list-missing li {
        font-size: 1rem;
    }

    .network-challenge-conclusion {
        padding: 2rem 0 0;
    }

    .network-challenge-conclusion-text {
        font-size: 1.15rem;
    }

    .solution-positioning-section {
        padding: 60px 20px;
    }

    .solution-positioning-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .solution-positioning-subtitle {
        font-size: 1.15rem;
    }

    .solution-definition-block {
        margin-bottom: 3rem;
    }

    .solution-rejection-line {
        font-size: 1.15rem;
        margin-bottom: 1.25rem;
    }

    .solution-reframing-line {
        font-size: 1.2rem;
    }

    .solution-capability-triad {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .solution-capability-block {
        padding: 1.5rem 1rem;
    }

    .solution-capability-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 1.25rem;
    }

    .solution-capability-icon i {
        font-size: 1.25rem;
    }

    .solution-capability-title {
        font-size: 1.15rem;
    }

    /* Network Architecture Section - Mobile */
    .network-architecture-section {
        padding: 60px 20px;
    }

    .network-architecture-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .network-architecture-subtitle {
        font-size: 1.15rem;
    }

    .network-architecture-intro {
        font-size: 1.05rem;
        margin-bottom: 3rem;
    }

    .network-layer-row {
        padding: 1.5rem 1.25rem;
        flex-direction: column;
        gap: 1rem;
    }

    .layer-row-content {
        flex-direction: column;
        gap: 0.75rem;
        width: 100%;
    }

    .layer-number {
        min-width: auto;
        font-size: 0.8rem;
        padding-top: 0;
    }

    .layer-title {
        font-size: 1.3rem;
    }

    .layer-foundation {
        font-size: 1.2rem;
    }

    .layer-outcome {
        font-size: 1rem;
    }

    .layer-toggle {
        align-self: flex-end;
        margin-top: -0.5rem;
    }

    .layer-details {
        padding: 0 1.25rem 1.5rem;
        position: relative;
        left: auto;
        right: auto;
        top: auto;
    }

    .network-layer-row.expanded .layer-details {
        padding: 1.5rem 1.25rem 1.75rem;
        max-height: 5000px;
    }

    .layer-details {
        padding: 0 1.25rem;
    }

    .layer-subtitle {
        font-size: 0.85rem;
        margin-bottom: 0.4rem;
    }

    .layer-what-does {
        margin-bottom: 1.5rem;
        padding-bottom: 1.25rem;
    }

    .layer-what-heading {
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
    }

    .layer-what-text {
        font-size: 0.95rem;
    }

    .layer-details-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 0;
    }

    .revenue-modules-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .revenue-module {
        padding: 1.25rem;
    }

    .revenue-outcomes-band {
        padding: 1.5rem 1.25rem;
        margin: 2rem 0;
    }

    .revenue-outcomes-text {
        font-size: 1rem;
    }

    .layer-column-heading {
        font-size: 0.9rem;
        margin-bottom: 0.75rem;
    }

    .layer-capabilities li {
        font-size: 0.9rem;
    }

    .layer-dependency-text {
        font-size: 0.9rem;
    }

    .layer-closing {
        font-size: 1rem;
        margin-top: 1.5rem;
    }

    .layer-cta-wrapper {
        margin-top: 1.25rem;
        text-align: left;
    }

    .layer-capabilities {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .layer-capabilities li {
        font-size: 0.9rem;
        padding: 0.35rem 0;
        padding-left: 1rem;
    }

    .layer-users li {
        font-size: 0.9rem;
    }

    .layer-internal-link {
        font-size: 0.9rem;
    }

    /* Governance Model Section - Mobile */
    .governance-model-section {
        padding: 50px 20px;
    }

    .governance-model-title {
        font-size: 2rem;
        margin-bottom: 1.25rem;
    }

    .governance-model-principle {
        font-size: 1.2rem;
    }

    .governance-principles-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .governance-principle-block {
        padding: 1.75rem;
    }

    .principle-title {
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
    }

    .principle-explanation {
        font-size: 0.95rem;
    }

    /* Network Maturity Section - Mobile */
    .network-maturity-section {
        padding: 60px 20px;
    }

    .network-maturity-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .network-maturity-subtitle {
        font-size: 1.15rem;
    }

    .maturity-table-wrapper {
        margin-bottom: 2.5rem;
    }

    .maturity-table th,
    .maturity-table td {
        padding: 1rem;
        font-size: 0.9rem;
    }

    .maturity-closing-text {
        font-size: 1.1rem;
    }

    /* Why This Wins Section - Mobile */
    .why-this-wins-section {
        padding: 60px 20px;
    }

    .why-wins-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .why-wins-subtitle {
        font-size: 1.15rem;
    }

    .comparison-table-wrapper {
        margin-bottom: 3rem;
    }

    .comparison-table th,
    .comparison-table td {
        padding: 1.25rem 1rem;
        font-size: 0.95rem;
    }

    .why-wins-closing {
        font-size: 1.1rem;
    }

    /* Business Outcomes Section - Mobile */
    .business-outcomes-section {
        padding: 60px 20px;
    }

    .business-outcomes-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .business-outcomes-subtitle {
        font-size: 1.15rem;
    }

    .business-outcomes-framing {
        font-size: 1.15rem;
        margin-bottom: 3rem;
    }

    .outcomes-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 3rem;
    }

    .outcome-pillar {
        padding: 2rem;
        flex-direction: column;
        gap: 1rem;
    }

    .outcome-number {
        font-size: 2.5rem;
        align-self: flex-start;
    }

    .outcome-title {
        font-size: 1.25rem;
        margin-bottom: 0.5rem;
    }

    .outcome-supporting {
        font-size: 0.95rem;
    }

    .business-outcomes-closing {
        padding: 2rem 1.5rem;
    }

    .business-outcomes-closing-text {
        font-size: 1.1rem;
    }

    .elv-hero {
        padding: 5rem 0 4rem;
    }

    .construction-hero {
        padding: 5rem 0 4rem;
    }

    .equipment-intelligence-hero {
        padding: 5rem 0 4rem;
    }

    .equipment-intelligence-hero .hero-title {
        font-size: 2.2rem;
        margin-bottom: 1.5rem;
    }

    .equipment-intelligence-hero .hero-description {
        font-size: 1.1rem;
        max-width: 100%;
        margin-bottom: 1.25rem;
    }

    .equipment-intelligence-hero .hero-context {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .regulatory-section {
        padding: 60px 20px;
    }

    .regulatory-title {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }

    .regulatory-subtitle {
        font-size: 1.1rem;
    }

    .regulatory-split {
        grid-template-columns: 1fr;
        gap: 3rem;
        margin-bottom: 2.5rem;
    }

    .regulatory-subheading {
        font-size: 1.2rem;
        margin-bottom: 1.25rem;
    }

    .regulatory-list li {
        font-size: 1rem;
        padding-bottom: 1rem;
    }

    .industry-context-section {
        padding: 60px 20px;
    }

    .context-snapshot {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .industry-context-title {
        font-size: 1.8rem;
        text-align: center;
        padding-bottom: 0.4rem;
        margin-bottom: 1rem;
    }

    .industry-context-title::after {
        width: 60px;
        height: 3px;
    }

    .industry-context-intro {
        font-size: 1.1rem;
        margin-bottom: 2rem;
    }

    .context-snapshot-intro {
        font-size: 1rem;
        margin-bottom: 0;
    }

    .micro-insight-cards {
        gap: 1.25rem;
    }

    .micro-insight-card {
        padding: 1.25rem;
    }

    .insight-card-heading {
        font-size: 1rem;
    }

    .insight-card-text {
        font-size: 0.9rem;
    }

    .complexity-section {
        padding: 60px 20px;
    }

    .complexity-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .complexity-subtitle {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }

    .complexity-intro {
        font-size: 1rem;
    }

    .complexity-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .complexity-card {
        padding: 1.5rem;
    }

    .complexity-card-title {
        font-size: 1.1rem;
    }

    .complexity-card-description {
        font-size: 0.9rem;
    }

    .complexity-outcome-card {
        padding: 2rem;
    }

    .complexity-finishing-line {
        font-size: 0.95rem;
    }

    .context-block {
        font-size: 1rem;
    }

    .complexity-section {
        padding: 60px 20px;
    }

    .complexity-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .complexity-subtitle {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }

    .complexity-intro {
        font-size: 1rem;
    }

    .complexity-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .complexity-card {
        padding: 1.5rem;
    }

    .complexity-card-title {
        font-size: 1.1rem;
    }

    .complexity-card-description {
        font-size: 0.9rem;
    }

    .complexity-outcome-card {
        padding: 2rem;
    }

    .complexity-finishing-line {
        font-size: 0.95rem;
    }

    .leakage-section {
        padding: 60px 20px;
    }

    .leakage-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .leakage-subtitle {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }

    .leakage-intro {
        font-size: 1rem;
    }

    .leakage-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .leakage-card {
        padding: 1.5rem;
    }

    .leakage-card-title {
        font-size: 1.1rem;
    }

    .leakage-card-description {
        font-size: 0.9rem;
    }

    .leakage-closing {
        font-size: 1.05rem;
    }

    .role-section {
        padding: 60px 20px;
    }

    .role-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .role-subtitle {
        font-size: 1rem;
    }

    .role-intro {
        font-size: 1.05rem;
        margin-bottom: 3rem;
    }

    .role-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .role-card {
        padding: 1.5rem;
    }

    .role-card-title {
        font-size: 1.1rem;
    }

    .role-card-description {
        font-size: 0.9rem;
    }

    .role-closing {
        font-size: 1.05rem;
    }

    .outcomes-section {
        padding: 60px 20px;
    }

    .outcomes-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .outcomes-subtitle {
        font-size: 1rem;
    }

    .outcomes-intro {
        font-size: 1.05rem;
        margin-bottom: 3rem;
    }

    .outcomes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .outcome-item {
        padding: 1.5rem 0;
    }

    .outcome-title {
        font-size: 1.1rem;
    }

    .outcome-description {
        font-size: 0.9rem;
    }

    .outcomes-closing {
        font-size: 1.05rem;
    }

    .readiness-section {
        padding: 60px 20px;
    }

    .readiness-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .readiness-subtitle {
        font-size: 1rem;
    }

    .readiness-intro {
        font-size: 1rem;
        margin-bottom: 2.5rem;
    }

    .requirement-blocks {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .requirement-block {
        padding: 1.5rem 0;
        border-bottom: 1px solid #e2e8f0;
        padding-left: 0;
        padding-right: 0;
    }

    .requirement-block:nth-child(odd) {
        padding-right: 0;
        border-right: none;
    }

    .requirement-block:nth-child(even) {
        padding-left: 0;
    }

    .requirement-block:last-child {
        border-bottom: none;
    }

    .requirement-title {
        font-size: 1.1rem;
    }

    .requirement-description {
        font-size: 0.9rem;
    }

    .readiness-closing {
        font-size: 1.1rem;
    }

    .highlight-box-light {
        padding-top: 1.5rem;
        margin: 2rem auto 0;
    }

    .highlight-box-light .highlight-text {
        font-size: 1rem;
    }

    .shift-section {
        padding: 60px 20px;
    }

    .shift-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .shift-subtitle {
        font-size: 1rem;
    }

    .shift-intro {
        margin-bottom: 3rem;
    }

    .shift-framing-line {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .shift-reframing-line {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .lifecycle-intro-text {
        margin: 2rem 0 1.5rem 0;
    }

    .lifecycle-intro-text p {
        font-size: 1.1rem;
    }

    .lifecycle-progression {
        flex-direction: column;
        gap: 2rem;
        margin-bottom: 3rem;
    }

    .lifecycle-progression::before {
        display: none;
    }

    .lifecycle-step {
        min-width: 100%;
        padding-top: 0;
        padding-left: 2.5rem;
        position: relative;
        border-left: 2px solid #e2e8f0;
    }

    .step-number {
        position: absolute;
        left: 0;
        top: 0;
        transform: translateX(-50%);
        margin-left: -1px;
    }

    .step-title {
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }

    .step-description {
        font-size: 0.9rem;
    }

    .shift-closing {
        font-size: 1.05rem;
    }

    .trust-metrics {
        flex-direction: column;
        gap: 0.5rem;
    }

    .trust-metric-separator {
        display: none;
    }

    .elv-context-section {
        padding: 3rem 0;
    }

    .elv-context-heading {
        font-size: 1.6rem;
        margin-bottom: 1.25rem;
    }

    .elv-intro-text {
        font-size: 1.05rem;
        margin-bottom: 2.5rem;
        max-width: 100%;
    }

    .elv-context-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        margin-bottom: 2rem;
    }

    .elv-context-left {
        order: 2;
    }

    .elv-context-right {
        order: 1;
    }

    .elv-context-image {
        max-width: 100%;
        height: auto;
    }

    .elv-context-right {
        padding-left: 0;
    }

    .elv-forces-list {
        gap: 1.25rem;
    }

    .elv-force-icon {
        font-size: 0.45rem;
        margin-top: 0.4rem;
    }

    .elv-force-title {
        font-size: 1rem;
    }

    .elv-force-description {
        font-size: 0.9rem;
    }

    .elv-context-divider {
        font-size: 0.95rem;
        margin-top: 2rem;
        padding: 1.25rem 0;
    }

    .elv-reality-section {
        padding: 3rem 0;
    }

    .elv-reality-heading {
        font-size: 1.6rem;
        margin-bottom: 1.25rem;
    }

    .elv-reality-intro {
        font-size: 1.05rem;
        margin-bottom: 2.5rem;
        max-width: 100%;
    }

    .elv-reality-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        margin-bottom: 2rem;
    }

    .elv-reality-left {
        padding-right: 0;
        order: 2;
    }

    .elv-reality-right {
        order: 1;
    }

    .elv-reality-image {
        max-width: 100%;
        height: auto;
    }

    .elv-reality-right {
        padding-left: 0;
    }

    .elv-realities-label {
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    .elv-realities-list {
        gap: 0.875rem;
    }

    .elv-reality-item {
        font-size: 1rem;
        padding-left: 1.5rem;
    }

    .elv-reality-item::before {
        left: 0;
    }

    .elv-result-block {
        margin-top: 2rem;
        padding-top: 1.5rem;
    }

    .elv-result-label {
        font-size: 0.7rem;
        margin-bottom: 0.5rem;
    }

    .elv-result-statement {
        font-size: 1rem;
    }

    .elv-challenges-section {
        padding: 3rem 0;
    }

    .elv-challenges-header {
        margin-bottom: 2.5rem;
    }

    .elv-challenges-heading {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .elv-challenges-subheading {
        font-size: 0.95rem;
    }

    .elv-challenges-stack {
        gap: 2rem;
    }

    .elv-challenge-item {
        gap: 1.5rem;
        padding-bottom: 2rem;
    }

    .elv-challenge-number {
        font-size: 1rem;
        min-width: 2.5rem;
    }

    .elv-challenge-title {
        font-size: 1.1rem;
        margin-bottom: 0.5rem;
    }

    .elv-challenge-description {
        font-size: 1rem;
    }

    .elv-shift-section {
        padding: 3rem 0;
    }

    .elv-shift-heading {
        font-size: 1.6rem;
        margin-bottom: 1.25rem;
    }

    .elv-shift-intro {
        font-size: 1.05rem;
        margin-bottom: 2.5rem;
        max-width: 100%;
    }

    .elv-shift-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        margin-bottom: 2rem;
    }

    .elv-shift-left {
        padding-right: 0;
        order: 2;
    }

    .elv-shift-right {
        order: 1;
    }

    .elv-shift-image {
        max-width: 100%;
        height: auto;
    }

    .elv-shift-right {
        padding-left: 0;
    }

    .elv-shift-enables-label {
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    .elv-shift-enables-list {
        gap: 0.875rem;
    }

    .elv-shift-enable-item {
        font-size: 1rem;
        padding-left: 1.5rem;
    }

    .elv-shift-enable-item::before {
        left: 0;
    }

    .elv-shift-anchor {
        margin-top: 2rem;
        padding: 2rem 1.5rem;
    }

    .elv-shift-anchor-text {
        font-size: 1.1rem;
    }

    .elv-requirements-section {
        padding: 3rem 0;
    }

    .elv-requirements-header {
        margin-bottom: 2.5rem;
    }

    .elv-requirements-heading {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .elv-requirements-subheading {
        font-size: 0.95rem;
    }

    .elv-requirements-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .elv-requirement-pillar {
        padding: 2rem 1.75rem;
    }

    .elv-pillar-number {
        font-size: 0.95rem;
        margin-bottom: 0.875rem;
    }

    .elv-pillar-title {
        font-size: 1.1rem;
        margin-bottom: 0.875rem;
    }

    .elv-pillar-description {
        font-size: 0.95rem;
    }

    .elv-operational-areas-section {
        padding: 3rem 0;
    }

    .elv-operational-areas-header {
        margin-bottom: 2.5rem;
    }

    .elv-operational-areas-heading {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .elv-operational-areas-intro {
        font-size: 0.95rem;
        max-width: 100%;
    }

    .elv-operational-areas-grid {
        gap: 1.25rem;
        margin-bottom: 2rem;
    }

    .elv-operational-area-row {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: 1.5rem 0;
    }

    .elv-area-name,
    .elv-area-audience,
    .elv-area-link {
        padding: 0;
        justify-content: flex-start;
    }

    .elv-area-title {
        font-size: 1.05rem;
    }

    .elv-area-audience-text {
        font-size: 0.95rem;
    }

    .elv-area-link-text {
        font-size: 0.95rem;
    }

    .elv-operational-areas-closing {
        font-size: 0.95rem;
        padding-top: 1.25rem;
    }

    .elv-outcomes-section {
        padding: 3rem 0;
    }

    .elv-outcomes-header {
        margin-bottom: 2.5rem;
    }

    .elv-outcomes-heading {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .elv-outcomes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .elv-outcome-card {
        padding: 1.25rem;
    }

    .elv-outcome-icon-wrapper {
        width: 45px;
        height: 45px;
        margin-bottom: 1rem;
    }

    .elv-outcome-icon {
        font-size: 1.1rem;
    }

    .elv-outcome-title {
        font-size: 1rem;
    }

    .elv-outcomes-closing {
        margin: 2.5rem auto 0 auto;
        padding: 2rem 1.5rem;
    }

    .elv-outcomes-closing-text {
        font-size: 1.1rem;
    }

    .elv-before-after-section {
        padding: 3rem 0;
    }

    .elv-before-after-header {
        margin-bottom: 2rem;
    }

    .elv-before-after-header {
        margin-bottom: 2rem;
    }

    .elv-before-after-heading {
        font-size: 1.6rem;
    }

    .elv-comparison-table-wrapper {
        margin-bottom: 2rem;
    }

    .elv-comparison-table th {
        padding: 1rem;
        font-size: 0.85rem;
    }

    .elv-comparison-table td {
        padding: 1rem;
        font-size: 0.9rem;
    }

    .elv-before-after-insight {
        padding-top: 1.5rem;
    }

    .elv-before-after-insight-text {
        font-size: 1rem;
    }

    .elv-ramp-positioning-section {
        padding: 3rem 0;
    }

    .elv-ramp-positioning-header {
        margin-bottom: 2rem;
    }

    .elv-ramp-positioning-title {
        font-size: 1.6rem;
        margin-bottom: 1.25rem;
    }

    .elv-ramp-positioning-intro {
        font-size: 1rem;
    }

    .elv-ramp-positioning-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        margin-bottom: 2rem;
    }

    .elv-ramp-positioning-left {
        order: 1;
    }

    .elv-ramp-positioning-right {
        order: 2;
    }

    .elv-ramp-positioning-subtitle {
        font-size: 1rem;
        margin-bottom: 0.875rem;
    }

    .elv-ramp-positioning-list {
        gap: 0.625rem;
        margin-bottom: 1.5rem;
    }

    .elv-ramp-positioning-list li {
        font-size: 1rem;
        padding-left: 1.25rem;
    }

    .elv-ramp-positioning-anchor {
        margin-top: 2rem;
        padding: 2rem 1.5rem;
    }

    .elv-ramp-positioning-anchor-text {
        font-size: 1.1rem;
    }

    .elv-getting-started-section {
        padding: 3rem 0;
    }

    .elv-getting-started-header {
        margin-bottom: 2.5rem;
    }

    .elv-getting-started-title {
        font-size: 1.6rem;
        margin-bottom: 1.25rem;
    }

    .elv-getting-started-intro {
        font-size: 1rem;
    }

    .elv-getting-started-content {
        max-width: 100%;
    }

    .elv-starting-point-section {
        margin-bottom: 2rem;
    }

    .elv-starting-point-label {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .elv-getting-started-steps {
        gap: 1.75rem;
    }

    .elv-next-steps-section {
        padding-top: 1.5rem;
    }

    .elv-next-steps-label {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .elv-step-item {
        gap: 1.5rem;
    }

    .elv-step-number {
        font-size: 1rem;
        min-width: 2.5rem;
    }

    .elv-step-title {
        font-size: 1.1rem;
        margin-bottom: 0.4rem;
    }

    .elv-step-description {
        font-size: 1rem;
    }

    .elv-getting-started-ctas {
        flex-direction: column;
        align-items: center;
        gap: 0.875rem;
    }

    .elv-getting-started-note {
        font-size: 0.85rem;
    }

    .opportunity-section {
        padding: 3rem 0;
    }

    .opportunity-heading-wrapper {
        margin-bottom: 2rem;
    }

    .opportunity-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .opportunity-heading {
        font-size: 1.8rem;
        text-align: center;
        padding-bottom: 0.4rem;
    }

    .opportunity-heading::after {
        width: 60px;
        height: 3px;
    }

    .opportunity-subheading {
        font-size: 1.1rem;
    }

    .opportunity-description {
        font-size: 1rem;
    }

    .industry-reality-section {
        padding: 3rem 0;
    }

    .industry-reality-grid {
        gap: 2rem;
        margin-bottom: 3rem;
    }

    .reality-main-heading {
        font-size: 1.75rem;
    }

    .reality-content-columns {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .reality-left-column {
        padding-right: 0;
    }

    .contrast-statement {
        padding-left: 1.25rem;
        margin: 2rem 0;
        border-left-width: 2px;
    }

    .contrast-text {
        font-size: 1.1rem;
    }

    .reality-context {
        font-size: 1rem;
        margin: 1.5rem 0 0 0;
    }

    .reality-right-column {
        padding-left: 0;
    }

    .problem-cards {
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .problem-icon {
        font-size: 1rem;
    }

    .problem-text {
        font-size: 1rem;
    }

    .challenges-section {
        padding: 3rem 0;
    }

    .challenges-header {
        margin-bottom: 2.5rem;
    }

    .evolution-section {
        padding: 3rem 0;
    }

    .evolution-header {
        margin-bottom: 2.5rem;
    }

    .evolution-main-title {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .evolution-subheading {
        font-size: 0.95rem;
    }

    .evolution-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .evolution-left-column {
        padding-right: 0;
    }

    .evolution-headline {
        font-size: 1.2rem;
        margin-bottom: 1.25rem;
    }

    .evolution-narrative {
        margin-bottom: 2rem;
    }

    .evolution-text {
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    .evolution-emphasis {
        margin-top: 2rem;
        padding: 2rem 1.5rem;
    }

    .emphasis-text {
        font-size: 1.1rem;
    }

    .evolution-right-column {
        padding-left: 0;
    }

    .evolution-pillars {
        gap: 1.25rem;
    }

    .pillar-icon {
        font-size: 1rem;
    }

    .pillar-text {
        font-size: 1rem;
    }

    .foundations-section {
        padding: 3rem 0;
    }

    .foundations-header {
        margin-bottom: 2.5rem;
    }

    .foundations-main-title {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .foundations-subheading {
        font-size: 0.95rem;
    }

    .foundations-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .foundation-card {
        padding: 1.5rem 1.25rem;
    }

    .foundation-icon-wrapper {
        width: 50px;
        height: 50px;
        margin-bottom: 1.25rem;
    }

    .foundation-icon {
        font-size: 1.25rem;
    }

    .foundation-title {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }

    .foundation-description {
        font-size: 0.9rem;
    }

    .operational-areas-section {
        padding: 3rem 0;
    }

    .operational-areas-header {
        margin-bottom: 2.5rem;
    }

    .operational-areas-title {
        font-size: 1.6rem;
        margin-bottom: 1.25rem;
    }

    .operational-areas-intro {
        font-size: 1rem;
    }

    .operational-areas-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .operational-area-card {
        padding: 1.75rem 1.5rem;
    }

    .area-icon-wrapper {
        width: 45px;
        height: 45px;
        margin-bottom: 1rem;
    }

    .area-icon {
        font-size: 1.25rem;
    }

    .area-title {
        font-size: 1.1rem;
        margin-bottom: 0.6rem;
    }

    .area-audience {
        font-size: 0.8rem;
        margin-bottom: 0.75rem;
    }

    .area-description {
        font-size: 0.95rem;
        margin-bottom: 1.25rem;
    }

    .area-link-wrapper {
        padding-top: 0.75rem;
    }

    .area-link-text {
        font-size: 0.85rem;
    }

    .area-solution-link {
        font-size: 0.9rem;
    }

    .operational-areas-closing {
        padding-top: 1.5rem;
    }

    .closing-statement {
        font-size: 1rem;
    }

    .outcomes-section {
        padding: 3rem 0;
    }

    .outcomes-header {
        margin-bottom: 2.5rem;
    }

    .outcomes-main-title {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .outcomes-subheading {
        font-size: 0.95rem;
    }

    .outcomes-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .outcome-card {
        padding: 1.25rem;
    }

    .outcome-icon-wrapper {
        width: 45px;
        height: 45px;
        margin-bottom: 1rem;
    }

    .outcome-icon {
        font-size: 1.1rem;
    }

    .outcome-title {
        font-size: 1rem;
        margin-bottom: 0.6rem;
    }

    .outcome-clarification {
        font-size: 0.85rem;
    }

    .outcomes-closing {
        margin: 2.5rem auto 0 auto;
        padding: 2rem 1.5rem;
    }

    .outcomes-closing .closing-text {
        font-size: 1.1rem;
    }

    .ramp-role-section {
        padding: 3rem 0;
    }

    .ramp-role-section .container {
        padding: 0 1rem;
    }

    .ramp-role-header {
        margin-bottom: 2rem;
    }

    .ramp-role-title {
        font-size: 1.6rem;
        margin: 0 0 1.25rem 0;
    }

    .ramp-role-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        margin-bottom: 2rem;
    }

    .ramp-role-left {
        order: 2;
    }

    .ramp-role-right {
        order: 1;
    }

    .ramp-role-image {
        max-width: 100%;
        height: auto;
    }

    .ramp-role-footer {
        margin-top: 2rem;
    }

    .ramp-role-intro {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .ramp-role-subtitle {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }

    .ramp-role-list {
        margin-bottom: 2rem;
    }

    .ramp-role-list li {
        font-size: 1rem;
        margin-bottom: 0.6rem;
    }

    .ramp-role-note {
        font-size: 0.85rem;
    }

    .getting-started-section {
        padding: 3rem 0;
    }

    .getting-started-header {
        margin-bottom: 2.5rem;
    }

    .getting-started-title {
        font-size: 1.6rem;
        margin: 0.75rem 0 0 0;
    }

    .getting-started-steps {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-bottom: 2rem;
    }

    .step-card {
        padding: 2rem 1.5rem;
    }

    .step-number {
        font-size: 2.5rem;
        margin-bottom: 1.25rem;
    }

    .step-title {
        font-size: 1.1rem;
        margin-bottom: 0.75rem;
    }

    .step-description {
        font-size: 0.95rem;
    }

    .section-number-label {
        font-size: 0.65rem;
        margin-bottom: 0.75rem;
    }

    .challenges-main-title {
        font-size: 1.6rem;
        margin-bottom: 0.75rem;
    }

    .challenges-subheading {
        font-size: 0.95rem;
    }

    .challenges-list {
        gap: 1.5rem;
    }

    .challenge-card {
        padding: 1.5rem 0;
    }

    .challenge-card:hover {
        margin: -0.25rem -1rem;
        padding: 1.75rem 1rem;
    }

    .challenge-header-row {
        gap: 1rem;
        margin-bottom: 0.75rem;
    }

    .challenge-num {
        font-size: 0.9rem;
    }

    .challenge-title {
        font-size: 1.15rem;
    }

    .challenge-description {
        font-size: 1rem;
        padding-left: 0;
        margin-bottom: 0.75rem;
    }

    .challenge-impact {
        padding-left: 0;
        flex-direction: column;
        gap: 0.25rem;
    }

    .impact-label {
        font-size: 0.9rem;
    }

    .impact-text {
        font-size: 0.9rem;
    }

    .reality-questions-section {
        margin-top: 2.5rem;
        padding-top: 2.5rem;
    }

    .questions-intro {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .questions-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .question-icon {
        font-size: 1.1rem;
    }

    .question-text {
        font-size: 1rem;
    }

    .industry-reality-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .industry-reality-heading::after {
        width: 60px;
        height: 3px;
    }

    .industry-insight {
        padding: 1.5rem;
        margin-bottom: 2rem;
    }

    .insight-text {
        font-size: 1.1rem;
    }

    .reality-intro {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .reality-list li {
        font-size: 1rem;
        margin-bottom: 0.6rem;
    }

    .reality-statement {
        font-size: 1.05rem;
        margin: 1.5rem 0;
    }

    .reality-context {
        font-size: 1rem;
        margin: 1.5rem 0 1.25rem 0;
    }

    .reality-questions li {
        font-size: 0.95rem;
        margin-bottom: 0.6rem;
    }

    .fragmentation-section {
        padding: 3rem 0;
    }

    .fragmentation-heading-wrapper {
        margin-bottom: 2rem;
    }

    .fragmentation-heading {
        font-size: 1.8rem;
        text-align: center;
        padding-bottom: 0.4rem;
    }

    .fragmentation-heading::after {
        width: 60px;
        height: 3px;
    }

    .fragmentation-intro {
        font-size: 1.1rem;
        margin-bottom: 1.5rem;
    }

    .fragmentation-list li {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }

    .fragmentation-statement {
        font-size: 1.05rem;
        margin: 1.5rem 0;
    }

    .fragmentation-result {
        margin-top: 2rem;
        padding: 2rem 1.5rem;
    }

    .fragmentation-result-text {
        font-size: 1.1rem;
    }

    .pain-points-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-top: 2.5rem;
    }

    .pain-point-card {
        padding: 1.5rem;
        border-left-width: 3px;
    }

    .pain-point-title {
        font-size: 1.1rem;
    }

    .pain-point-description {
        font-size: 0.9rem;
    }

    .impact-label {
        font-size: 0.75rem;
    }

    .impact-list li {
        font-size: 0.85rem;
    }

    .ecosystem-section {
        padding: 3rem 0;
    }

    .ecosystem-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .ecosystem-heading::after {
        width: 60px;
        height: 3px;
    }

    .ecosystem-intro {
        margin-bottom: 2.5rem;
    }

    .ecosystem-intro p {
        font-size: 1rem;
    }

    .claims-timeline {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 1rem 0;
    }

    .claims-timeline::before {
        display: none;
    }

    .timeline-phase {
        min-width: 100%;
    }

    .insurers-section {
        padding: 3rem 0;
    }

    .insurers-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .insurers-heading::after {
        width: 60px;
        height: 3px;
    }

    .insurers-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .insurer-benefit-card {
        padding: 1.5rem;
    }

    .benefit-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 1rem;
    }

    .benefit-icon i {
        font-size: 1.5rem;
    }

    .benefit-title {
        font-size: 1.1rem;
    }

    .benefit-description {
        font-size: 0.9rem;
    }

    .result-label {
        font-size: 0.75rem;
    }

    .result-list li {
        font-size: 0.85rem;
    }

    .platform-insurance-section {
        padding: 3rem 0;
    }

    .platform-insurance-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .platform-insurance-heading::after {
        width: 60px;
        height: 3px;
    }

    .platform-insurance-intro {
        margin-bottom: 2.5rem;
    }

    .platform-insurance-intro p {
        font-size: 1rem;
    }

    .platform-components-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        margin-bottom: 2rem;
    }

    .platform-component-card {
        padding: 1.5rem 1.25rem;
    }

    .component-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 1rem;
    }

    .component-icon i {
        font-size: 1.25rem;
    }

    .component-title {
        font-size: 1.05rem;
    }

    .component-description {
        font-size: 0.85rem;
    }

    .platform-sync-statement {
        margin-top: 2rem;
        padding: 2rem 1.5rem;
    }

    .platform-sync-statement p {
        font-size: 1.1rem;
    }

    .results-section {
        padding: 3rem 0;
    }

    .results-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .results-heading::after {
        width: 60px;
        height: 3px;
    }

    .results-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .result-card {
        padding: 2rem 1.5rem;
    }

    .result-statistic {
        font-size: 3rem;
    }

    .result-statistic::after {
        width: 50px;
        height: 2px;
    }

    .result-subtitle {
        font-size: 0.65rem;
        margin-top: 0.75rem;
    }

    .result-title {
        font-size: 1.05rem;
    }

    .before-after-section {
        padding: 3rem 0;
    }

    .before-after-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .before-after-heading::after {
        width: 60px;
        height: 3px;
    }

    .before-after-intro {
        margin-bottom: 2rem;
    }

    .before-after-intro p {
        font-size: 1rem;
    }

    .comparison-table-wrapper {
        margin-bottom: 2rem;
    }

    .comparison-table th {
        padding: 1rem;
        font-size: 0.85rem;
    }

    .comparison-table td {
        padding: 1rem;
        font-size: 0.9rem;
    }

    .before-after-closing {
        padding: 2rem 1.5rem;
    }

    .closing-text {
        font-size: 1.1rem;
    }

    .closing-before,
    .closing-after {
        display: block;
    }

    .why-ramp-insurance-section {
        padding: 3rem 0;
    }

    .why-ramp-insurance-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .why-ramp-insurance-heading::after {
        width: 60px;
        height: 3px;
    }

    .why-ramp-insurance-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .why-ramp-item {
        padding: 1.75rem 1.5rem;
    }

    .why-ramp-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 1rem;
    }

    .why-ramp-icon i {
        font-size: 1.35rem;
    }

    .why-ramp-title {
        font-size: 1.05rem;
    }

    .why-ramp-description {
        font-size: 0.85rem;
    }

    .final-cta-section {
        padding: 3rem 0;
    }

    .final-cta-heading {
        font-size: 1.8rem;
        padding-bottom: 0.4rem;
    }

    .final-cta-heading::after {
        width: 60px;
        height: 3px;
    }

    .final-cta-copy {
        margin-bottom: 2rem;
    }

    .final-cta-copy p {
        font-size: 1rem;
    }

    .final-cta-buttons {
        flex-direction: column;
        gap: 1rem;
    }

    .final-cta-buttons .btn {
        width: 100%;
        max-width: 300px;
    }

    .phase-icon {
        width: 50px;
        height: 50px;
    }

    .phase-icon i {
        font-size: 1.25rem;
    }

    .phase-title {
        font-size: 1rem;
    }

    .phase-description {
        font-size: 0.85rem;
    }

    .opportunity-solution {
        font-size: 1rem;
        padding: 2rem 1.5rem;
    }

    .video-placeholder {
        min-height: 250px;
    }

    .video-placeholder i {
        font-size: 3rem;
    }

    .platform-section {
        padding: 3rem 0;
    }

    .platform-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .platform-image {
        max-width: 100%;
        margin-bottom: 1rem;
    }

    .platform-heading {
        font-size: 1.8rem;
    }

    .platform-description {
        font-size: 1rem;
        margin-bottom: 2rem;
        text-align: left;
    }

    .platform-right {
        padding-left: 0;
        justify-content: flex-start;
    }

    .platform-content-wrapper {
        text-align: left;
        max-width: 100%;
    }

    .platform-stats {
        padding: 1.5rem;
        margin-top: 1.5rem;
        text-align: left;
        border-right: none;
        border-left: 4px solid #16cba7;
    }

    .platform-stats-label {
        text-align: left;
    }

    .platform-right {
        padding-left: 0;
        text-align: left;
    }

    .platform-description {
        text-align: left;
    }

    .platform-stats {
        text-align: left;
    }

    .platform-stats-label {
        text-align: left;
    }

    .platform-stats-list {
        text-align: left;
    }

    .foundations-section {
        padding: 0;
    }

    .foundations-banner {
        min-height: 350px;
        padding: 2rem 0;
    }

    .foundations-title {
        font-size: 1.75rem;
        margin-bottom: 2rem;
    }

    .foundations-list {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .foundations-list {
        gap: 1.5rem;
    }

    .foundation-item {
        padding: 1.5rem;
    }

    .foundation-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 1rem;
    }

    .platform-pillars-title {
        font-size: 1.5rem;
        text-align: left;
        margin-bottom: 1.5rem;
    }

    .pillars-list {
        text-align: left;
        gap: 1.5rem;
    }

    .pillar-item {
        text-align: left;
    }

    .pillar-name {
        font-size: 1.1rem;
    }

    .pillar-description {
        font-size: 0.95rem;
    }

    .section h2 {
        font-size: 2rem;
        padding-bottom: 0.4rem;
    }

    .section h2::after {
        width: 60px;
        height: 3px;
    }

    .solutions-title,
    .technology-title,
    .impact-title,
    .intelligence-title {
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }

    .stakeholders-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .stakeholder-card {
        padding: 1.25rem;
    }

    .stakeholder-name {
        font-size: 1.1rem;
        margin-bottom: 0.5rem;
    }

    .stakeholder-description {
        font-size: 0.9rem;
        margin-bottom: 0.75rem;
    }

    .stakeholder-metrics {
        gap: 0.4rem;
        margin-bottom: 0.75rem;
    }

    .metric-item {
        padding: 0.3rem 0.65rem;
        font-size: 0.75rem;
    }

    .stakeholder-name {
        font-size: 1.25rem;
    }

    .product-badges {
        gap: 0.75rem;
    }

    .product-badge {
        padding: 0.6rem 1.2rem;
        font-size: 0.9rem;
    }

    .impact-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .impact-number {
        font-size: 2.5rem;
    }

    .impact-label {
        font-size: 0.9rem;
    }

    .intelligence-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .intelligence-pillars {
        gap: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .intelligence-card {
        padding: 1.25rem;
        gap: 1rem;
    }

    .intelligence-icon {
        width: 40px;
        height: 40px;
    }

    .intelligence-card-content {
        gap: 0.4rem;
    }

    .intelligence-name {
        font-size: 1.25rem;
    }

    .intelligence-image {
        max-width: 100%;
        margin-top: 1rem;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: auto;
    }

    .footer-contact-section {
        padding-top: 1rem;
        border-top: 1px solid rgba(148, 163, 184, 0.35);
    }

    .partners-section {
        padding: 3rem 0;
    }

    .partners-title {
        font-size: 1.8rem;
    }

    .partners-description {
        font-size: 1.1rem;
    }

    .cta-section {
        padding: 3rem 0;
    }

    .cta-title {
        font-size: 1.8rem;
        margin-bottom: 1.25rem;
    }

    .cta-description {
        font-size: 1.1rem;
        margin-bottom: 2rem;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .cta-buttons .btn {
        width: 100%;
    }

    .faq-section {
        padding: 3rem 0;
    }

    .faq-title {
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }

    .faq-framing {
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .faq-list {
        gap: 1.25rem;
    }

    .faq-header {
        padding: 1.25rem 1.5rem;
    }

    .faq-question {
        font-size: 1rem;
        padding-right: 1.5rem;
    }

    .faq-icon {
        font-size: 1.25rem;
    }

    .faq-item.active .faq-answer-wrapper {
        padding: 0 1.5rem 1.25rem 1.5rem;
    }

    .faq-answer {
        font-size: 0.95rem;
    }

    .why-ramp-section {
        padding: 0;
    }

    .why-ramp-banner {
        min-height: 400px;
        padding: 3rem 0;
    }

    .why-ramp-title {
        font-size: 1.8rem;
        margin-bottom: 1.25rem;
    }

    .why-ramp-contrast {
        font-size: 0.9rem;
        margin-bottom: 1.25rem;
    }

    .why-ramp-value {
        font-size: 1.1rem;
        margin-bottom: 2.5rem;
    }

    .signature-line {
        font-size: 1.8rem;
    }
}

/* UniClaim Solution Section - Specific Styles */
.unicalm-solution-section {
    padding: 80px 0;
    background-color: #f8fafc;
    /* Light neutral background */
}

.unicalm-solution-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.unicalm-solution-title {
    font-size: 2rem;
    font-weight: 600;
    /* Medium bold */
    color: #111827;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.unicalm-solution-subtitle {
    font-size: 1.25rem;
    font-weight: 400;
    /* Regular */
    color: #4b5563;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.unicalm-solution-context {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #374151;
    max-width: 70%;
    margin: 0 auto;
}

.unicalm-solution-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-bottom: 3rem;
}

@media (max-width: 991px) {
    .unicalm-solution-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 640px) {
    .unicalm-solution-grid {
        grid-template-columns: 1fr;
    }

    .unicalm-solution-context {
        max-width: 100%;
    }
}

.solution-block {
    background: #ffffff;
    padding: 2rem 1.5rem;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    text-align: left;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.solution-block-icon {
    font-size: 2rem;
    color: #16cba7;
    /* Brand accent */
    margin-bottom: 1.25rem;
    display: inline-block;
}

.solution-block-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.5rem;
}

.solution-block-desc {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #6b7280;
    font-weight: 400;
}

.unicalm-solution-reinforcement {
    text-align: center;
    margin-top: 3rem;
}

.unicalm-solution-reinforcement p {
    font-size: 1.1rem;
    color: #64748b;
    /* Lighter text */
    max-width: 800px;
    margin: 0 auto;
    font-weight: 400;
}

/* What Is UniClaim? Section */
.what-is-uniclaim-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.what-is-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem;
}

.what-is-title {
    font-size: 2rem;
    font-weight: 600;
    /* Medium bold */
    color: #111827;
    margin-bottom: 0.5rem;
}

.what-is-subtitle {
    font-size: 1.15rem;
    font-weight: 400;
    /* Regular */
    color: #4b5563;
    margin-bottom: 0;
}

.what-is-content {
    max-width: 700px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.what-is-definition {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #374151;
    text-align: center;
    max-width: 65%;
    margin-bottom: 3rem;
    font-weight: 500;
}

.what-is-list {
    list-style: none;
    padding: 0;
    margin: 0 0 3.5rem 0;
    width: 100%;
    max-width: 600px;
}

.what-is-list li {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
    font-size: 1.05rem;
    color: #374151;
}

.what-is-list li:last-child {
    margin-bottom: 0;
}

.what-is-list li i {
    font-size: 1.25rem;
    color: #64748b;
    /* Subtle icon color */
    flex-shrink: 0;
    width: 24px;
    text-align: center;
}

.what-is-boundary {
    background-color: #f8fafc;
    /* Light neutral highlight box */
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 1.5rem 2rem;
    text-align: center;
    width: 100%;
    max-width: 600px;
}

.boundary-bold {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.25rem;
}

.boundary-text {
    font-size: 1rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
}

@media (max-width: 768px) {
    .what-is-definition {
        max-width: 90%;
    }
}

/* How UniClaim Works Section */
.how-it-works-section {
    padding: 80px 0;
    background-color: #f8fafc;
    /* Light neutral background */
}

.how-it-works-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 5rem;
}

.how-it-works-title {
    font-size: 2rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.75rem;
}

.how-it-works-subtitle {
    font-size: 1.15rem;
    font-weight: 400;
    color: #6b7280;
}

.process-flow {
    display: flex;
    justify-content: space-between;
    position: relative;
    max-width: 1100px;
    margin: 0 auto 4rem;
}

.process-flow::before {
    content: "";
    position: absolute;
    top: 24px;
    left: 40px;
    right: 40px;
    height: 2px;
    background-color: #e2e8f0;
    z-index: 0;
}

.process-step {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
    padding: 0 0.5rem;
}

.step-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 2rem;
    width: 100%;
    min-height: 180px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.step-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.step-marker {
    width: 48px;
    height: 48px;
    background-color: #ffffff;
    border: 2px solid #16cba7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: #16cba7;
    margin-bottom: 0;
    /* Marker sits on the line */
    font-size: 0.95rem;
    box-shadow: 0 0 0 6px #f8fafc;
    /* Create gap in line */
}

.step-icon {
    font-size: 1.75rem;
    color: #16cba7;
    margin-bottom: 1rem;
}

.step-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.5rem;
}

.step-desc {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #64748b;
    font-weight: 400;
}

.how-it-works-closing {
    text-align: center;
}

.closing-text {
    font-size: 1.1rem;
    color: #64748b;
    font-weight: 500;
}

/* Mobile Responsive */
@media (max-width: 991px) {
    .process-flow {
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
        padding-left: 2rem;
    }

    .process-flow::before {
        top: 0;
        bottom: 0;
        left: 23px;
        /* Align with marker center */
        width: 2px;
        height: auto;
        right: auto;
    }

    .process-step {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        padding: 0;
        width: 100%;
        gap: 1.5rem;
    }

    .step-marker {
        margin-top: 0;
        flex-shrink: 0;
    }

    .step-card {
        margin-top: 0;
        min-height: auto;
        align-items: flex-start;
        padding: 1.25rem;
    }

    .step-icon {
        margin-bottom: 0.75rem;
    }
}

/* Built for Real-World Insurance Inspections Section */
.capabilities-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.capabilities-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.capabilities-title {
    font-size: 2rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.capabilities-subtitle {
    font-size: 1.15rem;
    font-weight: 400;
    color: #6b7280;
}

.capabilities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.capability-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2.5rem;
    transition: all 0.2s ease;
    height: 100%;
}

.capability-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
}

.capability-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.capability-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f0fdf9;
    color: #16cba7;
    border-radius: 10px;
    font-size: 1.5rem;
    flex-shrink: 0;
}

.capability-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0;
}

.capability-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.capability-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.5;
}

.capability-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    /* Muted brand color */
    font-weight: bold;
    font-size: 1.25em;
    line-height: 1.2;
}

.capability-list li:last-child {
    margin-bottom: 0;
}

.capabilities-reinforcement {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.capabilities-reinforcement p {
    font-size: 1.05rem;
    color: #64748b;
    font-style: italic;
}

/* Mobile Responsive for Capabilities */
@media (max-width: 1024px) {
    .capabilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .capabilities-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
    }

    .capability-card {
        padding: 2rem;
    }
}

/* Who Uses UniClaim Section */
.who-uses-uniclaim-section {
    padding: 6rem 0;
    background-color: #ffffff;
    border-top: 1px solid #f1f5f9;
}

.who-uses-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 4rem;
}

.who-uses-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.who-uses-subtext {
    font-size: 1.125rem;
    color: #6b7280;
    line-height: 1.6;
}

.who-uses-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.audience-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2.5rem 2rem;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.audience-item:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.audience-icon {
    font-size: 2.5rem;
    color: #475569;
    margin-bottom: 1.5rem;
    transition: color 0.2s ease;
}

.audience-item:hover .audience-icon {
    color: #16cba7;
}

.audience-label {
    font-size: 1.1rem;
    font-weight: 500;
    color: #334155;
    line-height: 1.5;
    margin: 0;
}

.who-uses-reinforcement {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    padding-top: 2rem;
}

.reinforcement-text {
    font-size: 1.05rem;
    color: #94a3b8;
    font-weight: 400;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .who-uses-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .who-uses-grid {
        grid-template-columns: 1fr;
    }
}

/* UniClaim CTA Section */
.uniclaim-cta-section {
    padding: 6rem 0;
    background-color: #f8fbff;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.uniclaim-cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(to right, rgba(22, 203, 167, 0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(22, 203, 167, 0.05) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
}

.uniclaim-cta-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
}

.uniclaim-cta-label {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #16cba7;
    background: rgba(22, 203, 167, 0.1);
    padding: 0.4rem 1rem;
    border-radius: 999px;
    margin-bottom: 1.5rem;
    letter-spacing: 0.02em;
}

.uniclaim-cta-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.uniclaim-cta-desc {
    font-size: 1.15rem;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 2.5rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.uniclaim-cta-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.cta-app-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.cta-secondary-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

/* Enhancements for CTA buttons */
.uniclaim-cta-section .btn {
    min-width: 200px;
}

.uniclaim-cta-section .btn-tertiary {
    min-width: auto;
    border: none;
    background: none;
    padding: 0;
    box-shadow: none !important;
    font-weight: 600;
}

.uniclaim-cta-section .btn-tertiary:hover {
    background: none;
    text-decoration: underline;
    color: #12a286;
    transform: none;
}

/* --- Lease Management Software (LMS) Sections --- */

/* Section: Why Lease Operations Break at Scale */
.lease-scale-section {
    padding: 6rem 0;
    background-color: #ffffff;
    border-bottom: 1px solid #f1f5f9;
}

.lease-scale-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.lease-scale-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.lease-scale-subtitle {
    font-size: 1.5rem;
    color: #16cba7;
    /* Brand color or distinct dark shade */
    font-weight: 600;
    margin-bottom: 1.5rem;
    line-height: 1.4;
}

.lease-scale-context {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #475569;
    max-width: 65%;
    margin: 0 auto;
}

.lease-scale-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.lease-problem-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2.5rem;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
}

.lease-problem-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    border-color: #cbd5e1;
}

.lease-problem-icon {
    font-size: 2rem;
    color: #475569;
    /* Neutral or muted brand */
    margin-bottom: 1.5rem;
    display: inline-block;
}

.lease-problem-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.75rem;
}

.lease-problem-desc {
    font-size: 1rem;
    color: #64748b;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.lease-problem-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lease-problem-bullets li {
    position: relative;
    padding-left: 1.25rem;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
    color: #334155;
    line-height: 1.5;
}

.lease-problem-bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #94a3b8;
    /* Subtle bullet */
    font-weight: bold;
}

.lease-scale-synthesis {
    text-align: center;
    color: #64748b;
    font-size: 1.1rem;
    font-style: italic;
    max-width: 800px;
    margin: 0 auto;
}

/* Response for Lease Scale Grid */
@media (max-width: 1024px) {
    .lease-scale-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .lease-scale-grid {
        grid-template-columns: 1fr;
        max-width: 600px;
    }

    .lease-scale-context {
        max-width: 100%;
        padding: 0 1rem;
    }

}

/* Section: What Changes With RAMP LMS (Transformation) */
.lms-transformation-section {
    padding: 6rem 0;
    background-color: #f8fafc;
    /* Slightly lighter/different background to distinguish from previous section */
    border-bottom: 1px solid #e2e8f0;
}

.lms-transformation-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.lms-transformation-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.lms-transformation-subtitle {
    font-size: 1.35rem;
    /* Single line importance */
    color: #475569;
    font-weight: 500;
    margin-bottom: 0;
    line-height: 1.5;
}

.lms-transformation-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.lms-transformation-card {
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    /* Light border */
    border-radius: 12px;
    padding: 2.5rem 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    height: 100%;
    /* Equal height */
    display: flex;
    flex-direction: column;
}

/* No hover exaggeration as requested */

.lms-transformation-icon {
    font-size: 2.5rem;
    color: #64748b;
    /* Neutral/Muted */
    margin-bottom: 1.5rem;
}

.lms-transformation-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 1rem;
    line-height: 1.4;
}

.lms-transformation-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1;
}

.lms-transformation-bullets li {
    position: relative;
    padding-left: 1.25rem;
    margin-bottom: 0.6rem;
    font-size: 1rem;
    color: #475569;
    line-height: 1.5;
}

.lms-transformation-bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #94a3b8;
    font-weight: bold;
}

.lms-reinforcement-text {
    text-align: center;
    color: #64748b;
    font-size: 1.05rem;
    max-width: 800px;
    margin: 0 auto;
}

/* Responsive Transformation */
@media (max-width: 1024px) {
    .lms-transformation-grid {
        grid-template-columns: repeat(2, 1fr);
        /* Tablet: 2 cols, 3rd will wrap below */
        justify-items: center;
        /* helps center the wrapped item if grid structure allows, though grid-template-columns usually dictates flow */
    }

    .lms-transformation-card {
        width: 100%;
        max-width: 500px;
        /* Limit width on tablet when wrapping */
    }

    /* Center the last item if it wraps - css grid trickery or just let it align left. 
       "2 + 1" usually implies the single one takes up full width or centered. 
       Standard grid flow will just put it in the first column of the second row. 
       Let's stick to standard grid flow for stability unless centering is crit. */
}

@media (max-width: 768px) {
    .lms-transformation-grid {
        grid-template-columns: 1fr;
    }
}


/* Section: Core Lease Management Capabilities (Tabs) */
.lms-capabilities-section {
    padding: 6rem 0;
    background-color: #ffffff;
    border-bottom: 1px solid #f1f5f9;
}

.lms-capabilities-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 3rem;
}

.lms-capabilities-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.lms-capabilities-subtext {
    font-size: 1.1rem;
    color: #64748b;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

.lms-tabs-wrapper {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 3rem;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 1px;
}

.lms-tab-btn {
    background: none;
    border: none;
    font-size: 1rem;
    font-weight: 500;
    color: #64748b;
    padding: 0.75rem 1.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    /* Pull down to overlap border */
}

.lms-tab-btn:hover {
    color: #0f172a;
}

.lms-tab-btn.active {
    color: #16cba7;
    border-bottom-color: #16cba7;
    font-weight: 600;
}

.lms-capabilities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.lms-capability-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0;
    /* Reset padding for internal layout */
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.2s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.lms-capability-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    border-color: #cbd5e1;
}

.lms-card-content {
    padding: 2rem;
    flex-grow: 1;
}

.lms-card-icon {
    font-size: 1.75rem;
    color: #475569;
    margin-bottom: 1.25rem;
    display: inline-block;
}

.lms-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.lms-card-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lms-card-bullets li {
    position: relative;
    padding-left: 1.25rem;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.5;
}

.lms-card-bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #cbd5e1;
    font-weight: bold;
}

.lms-card-footer {
    background-color: #f8fafc;
    padding: 1rem 2rem;
    border-top: 1px solid #f1f5f9;
}

.lms-card-benefit {
    font-size: 0.9rem;
    color: #64748b;
    font-style: italic;
    line-height: 1.5;
    margin: 0;
}

.lms-benefit-label {
    font-weight: 600;
    color: #475569;
    font-style: normal;
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Responsive Capabilities */
@media (max-width: 1024px) {
    .lms-capabilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .lms-capabilities-grid {
        grid-template-columns: 1fr;
    }

    .lms-tabs-wrapper {
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #e2e8f0;
    }
}

/* Section: Designed to Scale (Progression Ladder) */
.lms-scale-section {
    padding: 6rem 0;
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.lms-scale-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.lms-scale-title {
    font-size: 2.25rem;
    font-weight: 600;
    /* Medium-bold as requested */
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.25;
}

.lms-scale-subtitle {
    font-size: 1.2rem;
    color: #64748b;
    font-weight: 400;
    /* Regular */
    line-height: 1.6;
    margin-bottom: 0;
}

.lms-scale-ladder {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
    position: relative;
}

/* Connecting line for desktop */
.lms-scale-ladder::before {
    content: '';
    position: absolute;
    top: 40px;
    /* Adjust based on card padding/icon height to align with top area */
    left: 10%;
    right: 10%;
    height: 2px;
    background-color: #e2e8f0;
    z-index: 0;
    display: block;
}

.lms-scale-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2.5rem 2rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    position: relative;
    z-index: 1;
    transition: transform 0.2s ease;
}

.lms-scale-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

/* Optional conceptual icons or dot indicators to sit on the line */
.lms-scale-indicator {
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    border: 4px solid #cbd5e1;
    border-radius: 50%;
    margin-bottom: 1.5rem;
    z-index: 2;
}

.lms-scale-card:nth-child(1) .lms-scale-indicator {
    border-color: #16cba7;
}

/* Green-ish */

.lms-scale-card:nth-child(2) .lms-scale-indicator {
    border-color: #3b82f6;
}

/* Blue-ish */

.lms-scale-card:nth-child(3) .lms-scale-indicator {
    border-color: #f59e0b;
}

/* Orange-ish */

.lms-scale-card:nth-child(4) .lms-scale-indicator {
    border-color: #6366f1;
}

/* Indigo-ish */

.lms-scale-range {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.75rem;
}

.lms-scale-outcome {
    font-size: 1.05rem;
    color: #334155;
    font-weight: 500;
    margin-bottom: 1.5rem;
    line-height: 1.4;
    min-height: 3rem;
    /* Align outcome heights */
}

.lms-scale-capabilities {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.lms-scale-capabilities li {
    font-size: 0.95rem;
    color: #64748b;
    margin-bottom: 0.5rem;
    border-top: 1px solid #f1f5f9;
    padding-top: 0.5rem;
}

.lms-scale-capabilities li:first-child {
    border-top: none;
    padding-top: 0;
}

.lms-scale-reinforcement {
    text-align: center;
    font-size: 1.1rem;
    color: #64748b;
    font-weight: 400;
    margin-top: 2rem;
    font-style: italic;
}

/* Responsive Scale Section */
@media (max-width: 900px) {
    .lms-scale-ladder {
        flex-direction: column;
        gap: 2rem;
        align-items: stretch;
        max-width: 600px;
    }

    .lms-scale-ladder::before {
        /* Vertical line for mobile */
        top: 2rem;
        bottom: 2rem;
        left: 50%;
        right: auto;
        width: 2px;
        height: auto;
        transform: translateX(-50%);
        display: none;
        /* Hide connector in vertical stack for cleaner look or adjust if needed */
    }

    .lms-scale-card {
        flex: none;
        width: 100%;
    }

    .lms-scale-outcome {
        min-height: auto;
    }
}

/* Section: Real Business Outcomes */
.lms-outcomes-section {
    padding: 6rem 0;
    background-color: #ffffff;
    border-bottom: 1px solid #f1f5f9;
}

.lms-outcomes-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.lms-outcomes-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.lms-outcomes-subtext {
    font-size: 1.15rem;
    color: #475569;
    line-height: 1.6;
}

.lms-outcomes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

.lms-outcome-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2.5rem 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lms-outcome-icon {
    font-size: 2.5rem;
    color: #475569;
    margin-bottom: 1.5rem;
}

.lms-outcome-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.lms-outcome-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lms-outcome-bullets li {
    font-size: 1rem;
    color: #475569;
    margin-bottom: 1rem;
    line-height: 1.5;
    padding-left: 1.5rem;
    position: relative;
}

.lms-outcome-bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #cbd5e1;
    font-weight: bold;
    font-size: 1.2rem;
    top: -2px;
}

/* Reset strong styling in outcomes as requested */
.lms-outcome-bullets li strong {
    font-weight: inherit;
    color: inherit;
}

.lms-outcomes-reinforcement {
    text-align: center;
    color: #64748b;
    font-size: 1.05rem;
    margin-top: 1rem;
}

.lms-outcomes-footnote {
    text-align: center;
    font-size: 0.85rem;
    color: #94a3b8;
    margin-top: 3rem;
    font-style: italic;
}

/* Responsive Outcomes */
@media (max-width: 1024px) {
    .lms-outcomes-grid {
        grid-template-columns: repeat(2, 1fr);
        justify-items: center;
    }

    .lms-outcome-card {
        width: 100%;
        max-width: 500px;
    }

    /* Center the last item (3rd item) on tablet */
    .lms-outcome-card:nth-child(3) {
        grid-column: 1 / -1;
        max-width: 500px;
    }
}

@media (max-width: 768px) {
    .lms-outcomes-grid {
        grid-template-columns: 1fr;
    }

    .lms-outcome-card:nth-child(3) {
        grid-column: auto;
    }
}

/* Section: Why RAMP LMS Is Different */
.lms-different-section {
    padding: 6rem 0;
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.lms-different-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 3rem;
}

.lms-different-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2rem;
    line-height: 1.2;
}

.lms-contrast-statement {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.25rem;
    line-height: 1.6;
}

.lms-contrast-muted {
    color: #94a3b8;
    font-weight: 400;
}

.lms-contrast-bold {
    color: #334155;
    font-weight: 500;
}

.lms-principles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

/* Row 2 centering wrapper */
.lms-principles-row-2 {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
    grid-column: 1 / -1;
    /* Ensure distinct row logic if needed, or just use flex/grid layout */
}

/* Simplified Grid Approach: Use one grid and manage placement responsively */
.lms-principles-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.lms-principles-top {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.lms-principles-bottom {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.lms-principle-card {
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    /* Light border */
    border-radius: 12px;
    padding: 2.5rem 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    max-width: 380px;
    /* control width in flex row */
    width: 100%;
}

.lms-principle-icon {
    font-size: 2rem;
    color: #475569;
    margin-bottom: 1.5rem;
}

.lms-principle-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.lms-principle-desc {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

/* Section: Who Uses RAMP LMS */
.lms-audience-section {
    padding: 6rem 0;
    background-color: #ffffff;
    border-bottom: 1px solid #f1f5f9;
}

.lms-audience-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
}

.lms-audience-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.lms-audience-subtext {
    font-size: 1.1rem;
    color: #64748b;
    line-height: 1.6;
}

.lms-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1100px;
    margin: 0 auto 3rem;
}

.lms-audience-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2.5rem 1.5rem;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.lms-audience-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.lms-audience-icon {
    font-size: 2.5rem;
    color: #475569;
    margin-bottom: 1.5rem;
}

.lms-audience-label {
    font-size: 1.15rem;
    font-weight: 500;
    color: #334155;
    margin: 0;
}

.lms-audience-reinforcement {
    text-align: center;
    color: #94a3b8;
    font-size: 1.05rem;
    margin-top: 2rem;
}

/* Responsive Styles for New Sections */
@media (max-width: 1024px) {
    .lms-principles-top {
        grid-template-columns: repeat(2, 1fr);
    }

    .lms-principles-bottom {
        flex-direction: column;
        align-items: center;
    }

    .lms-principle-card {
        max-width: 100%;
    }

    /* On tablet, maybe make the 3rd item of top row wrap or just stay as 2x2 roughly? 
       Actually with 3 items in top, 2 in bottom, let's just make it a single grid for simplicity on smaller screens */
    .lms-principles-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    .lms-principles-top,
    .lms-principles-bottom {
        display: contents;
        /* Flatten children into the wrapper grid */
    }

    .lms-audience-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .lms-principles-wrapper {
        grid-template-columns: 1fr;
    }

    .lms-contrast-statement {
        font-size: 1.1rem;
    }

    .lms-audience-grid {
        grid-template-columns: 1fr;
    }
}

/* Section: CFMS Problem Statement (Why Mobility Breaks) - REDESIGNED */
.cfms-problem-section {
    padding: 4rem 0;
    background-color: #ffffff;
    /* Section background changed to white */
    border-bottom: none;
    position: relative;
    overflow: hidden;
}

.cfms-problem-subtitle {
    font-size: 1.25rem;
    line-height: 1.6;
    color: #64748b;
    font-weight: 400;
}

.cfms-problem-footer {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.cfms-punchline {
    font-size: 1.35rem;
    font-weight: 500;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.5;
}

.cfms-punchline-secondary {
    font-size: 1.15rem;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
    font-style: italic;
}

/* Section: The CFMS Approach (Flow Section) */
.cfms-approach-section {
    padding: 4rem 0;
    background-color: #ffffff;
    border-bottom: none;
}

.cfms-approach-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 2rem;
}

.cfms-approach-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1.5rem;
    position: relative;
}


.cfms-approach-subtitle {
    font-size: 1.25rem;
    color: #64748b;
    font-weight: 400;
}

.cfms-approach-intro {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 5rem;
    font-size: 1.15rem;
    line-height: 1.6;
    color: #475569;
}

.cfms-approach-intro span {
    display: block;
}

/* Lifecycle flow visualization */
.cfms-lifecycle-flow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
    position: relative;
}

/* Connecting line (Horizontal for desktop) */
.cfms-lifecycle-flow::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 4rem;
    right: 4rem;
    height: 1px;
    background: #e2e8f0;
    transform: translateY(-50%);
    z-index: 1;
}

.cfms-flow-node {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 1.25rem 1rem;
    border-radius: 50px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    position: relative;
    z-index: 2;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
    transition: all 0.3s ease;
    flex: 1;
    min-width: 0;
    text-align: center;
    white-space: nowrap;
}

.cfms-flow-node:hover {
    border-color: #16cba7;
    color: #0f172a;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(22, 203, 167, 0.1);
}

.cfms-flow-node::after {
    content: '→';
    position: absolute;
    right: -1.2rem;
    top: 50%;
    transform: translateY(-50%);
    color: #cbd5e1;
    font-size: 1.1rem;
    font-weight: 400;
}

.cfms-flow-node:last-child::after {
    display: none;
}

/* Responsive adjustments for Lifecycle Flow */
@media (max-width: 1024px) {
    .cfms-lifecycle-flow {
        flex-direction: column;
        gap: 3rem;
        max-width: 400px;
    }

    .cfms-lifecycle-flow::before {
        width: 1px;
        height: auto;
        top: 2rem;
        bottom: 2rem;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    .cfms-flow-node {
        width: 100%;
        font-size: 1.1rem;
        padding: 1.5rem 2.5rem;
        white-space: normal;
    }

    .cfms-flow-node::after {
        content: '↓';
        bottom: -2.2rem;
        right: auto;
        left: 50%;
        top: auto;
        transform: translateX(-50%);
    }
}

/* Section: How CFMS Works (Architecture) - THE "ONE SYSTEM" REDESIGN */
.cfms-works-section {
    padding: 4rem 0;
    background-color: #ffffff;
    border-bottom: none;
}

.cfms-works-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 2rem;
}

.cfms-works-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1.5rem;
    position: relative;
}


.cfms-works-subtitle {
    font-size: 1.25rem;
    color: #10b981;
    font-weight: 500;
}

.cfms-system-reset-statement {
    display: block;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 5rem;
    font-size: 1.25rem;
    font-weight: 500;
    color: #334155;
    line-height: 1.6;
    border-top: 1px solid #e2e8f0;
    padding-top: 2rem;
}

/* Experience Layer: Stakeholder Cards */
.cfms-experience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto 6rem;
}

.cfms-experience-card {
    background: #ffffff;
    padding: 2rem 1.75rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    transition: all 0.3s ease;
}

.cfms-experience-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05);
    border-color: #10b981;
}

.cfms-role-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.75rem;
}

.cfms-system-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #10b981;
    margin-bottom: 1rem;
    display: block;
}

.cfms-identity-line {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.cfms-grouped-capabilities {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
    flex-grow: 1;
}

.cfms-grouped-capabilities li {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #374151;
    margin-bottom: 8px;
    position: relative;
    padding-left: 14px;
    border-bottom: none;
    /* Removed border to match reference */
}

.cfms-grouped-capabilities li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #9ca3af;
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1;
    top: 2px;
}

.cfms-grouped-capabilities li:last-child {
    border-bottom: none;
}

.cfms-card-footer {
    padding-top: 1rem;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: flex-end;
}

.cfms-card-outcome {
    font-size: 0.9rem;
    color: #334155;
    margin: 0 0 0.85rem 0;
    font-weight: 500;
    line-height: 1.4;
}

.cfms-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
    color: #10b981;
    text-decoration: none;
    font-size: 0.95rem;
    transition: gap 0.2s ease;
}

.cfms-card-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}

.cfms-card-link:hover {
    gap: 1rem;
    color: #059669;
}

.cfms-card-link i {
    font-size: 0.85rem;
}

/* Intelligence Layer: Foundational Band */
.cfms-intelligence-layer {
    background: #ffffff;
    border-top: 2px solid #e2e8f0;
    padding: 3.5rem 0;
    /* Reduced from 6rem */
    margin-top: 0;
    width: 100%;
    position: relative;
    z-index: 1;
}

.cfms-intelligence-content {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.cfms-intelligence-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.5rem;
}

.cfms-intelligence-subtitle {
    font-size: 1rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 3rem;
    /* Reduced from 4rem */
}

.cfms-relationship-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3rem;
    margin-bottom: 3rem;
    /* Reduced from 5rem */
}

.cfms-relation-pair {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: #334155;
}

.cfms-relation-pair span {
    color: #16cba7;
    font-size: 1.25rem;
}

.cfms-lock-in-band {
    margin-top: 2rem;
}

.cfms-lock-in-statement {
    font-size: 1.75rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    letter-spacing: -0.02em;
}

/* Mobile responsive fixes */
@media (max-width: 992px) {
    .cfms-experience-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 1rem;
    }
}

@media (max-width: 768px) {
    .cfms-experience-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
    }

    .cfms-relationship-grid {
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    }

    .cfms-relation-pair {
        justify-content: center;
        text-align: center;
    }

    .cfms-lock-in-statement {
        font-size: 1.25rem;
    }
}

/* Section: Designed to Scale (Strategic Assurance) */
.cfms-scale-section {
    padding: 4rem 0;
    /* Reduced from 8rem */
    background-color: #ffffff;
    /* Slightly lighter/cleaner than the works section */
    border-bottom: none;
}

.cfms-scale-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 2rem;
    /* Reduced from 5rem */
}

.cfms-scale-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
    position: relative;
}


.cfms-scale-subline {
    font-size: 1.15rem;
    color: #64748b;
    font-weight: 400;
}

/* Scale Dimensions Grid */
.cfms-scale-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
    max-width: 1100px;
    margin: 0 auto 6rem;
}

.cfms-scale-block {
    text-align: left;
    position: relative;
    padding-left: 1.5rem;
    border-left: 1px solid #e2e8f0;
}

.cfms-scale-axis {
    font-size: 0.9rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    display: block;
}

.cfms-scale-assurance {
    font-size: 1.1rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.4;
    margin: 0;
}

/* Continuity Statement */
.cfms-continuity-container {
    padding-top: 5rem;
    border-top: 1px solid #f1f5f9;
}

.cfms-continuity-block {
    background-color: #f8fafc;
    padding: 3.5rem;
    border-radius: 12px;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.cfms-continuity-text {
    font-size: 1.15rem;
    line-height: 1.7;
    color: #475569;
    margin: 0 auto;
    max-width: 75ch;
}

/* Responsive Scaling */
@media (max-width: 1024px) {
    .cfms-scale-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
    }
}

@media (max-width: 640px) {
    .cfms-scale-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .cfms-scale-block {
        border-left: none;
        border-top: 1px solid #e2e8f0;
        padding-left: 0;
        padding-top: 1.5rem;
    }

    .cfms-continuity-block {
        padding: 2.5rem 1.5rem;
    }
}

/* Section: Business Outcomes (Leadership Focus) */
.cfms-outcomes-section {
    padding: 8rem 0;
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.cfms-outcomes-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 5rem;
}

.cfms-outcomes-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1rem;
}

.cfms-outcomes-subtitle {
    font-size: 1.15rem;
    color: #94a3b8;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Outcome Pillars Grid */
.cfms-outcomes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
    max-width: 1200px;
    margin: 0 auto 6rem;
}

.cfms-outcome-pillar {
    display: flex;
    flex-direction: column;
}

.cfms-outcome-pillar h4 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #e2e8f0;
}

.cfms-outcome-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cfms-outcome-item {
    font-size: 1.1rem;
    color: #475569;
    margin-bottom: 1.5rem;
    line-height: 1.5;
    position: relative;
    padding-left: 1.5rem;
}

.cfms-outcome-item::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #cbd5e1;
    font-weight: bold;
}

/* Reinforcement Statement */
.cfms-outcomes-footer {
    text-align: center;
    max-width: 900px;
    margin: 4rem auto 0;
    padding-top: 4rem;
    border-top: 1px solid #e2e8f0;
}

.cfms-reinforcement-text {
    font-size: 1.35rem;
    font-weight: 500;
    color: #1e293b;
    margin: 0;
    line-height: 1.5;
}

/* Responsive Outcomes */
@media (max-width: 992px) {
    .cfms-outcomes-grid {
        grid-template-columns: 1fr;
        gap: 4rem;
        max-width: 600px;
    }

    .cfms-outcome-item {
        font-size: 1rem;
    }
}




/* Fundamental Changes Section */
.cfms-fundamental-section {
    max-width: 1000px;
    margin: 3rem auto 0;
    padding-top: 3rem;
    border-top: none;
}

.cfms-fundamental-header {
    display: flex;
    gap: 4rem;
    align-items: flex-start;
}

.cfms-fundamental-label {
    flex: 0 0 200px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding-top: 0.5rem;
}

.cfms-fundamental-list {
    flex: 1;
    list-style: none;
    padding: 0;
    margin: 0;
}

.cfms-fundamental-item {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid #f8fafc;
    font-size: 1.1rem;
    line-height: 1.5;
    color: #334155;
}

.cfms-fundamental-item:last-child {
    border-bottom: none;
}

.cfms-fundamental-item i {
    color: #16cba7;
    font-size: 1rem;
    padding-top: 0.25rem;
}

.cfms-fundamental-item strong {
    font-weight: 600;
    color: #0f172a;
    margin-right: 0.5rem;
}

@media (max-width: 768px) {
    .cfms-fundamental-header {
        flex-direction: column;
        gap: 2rem;
    }

    .cfms-fundamental-label {
        flex: none;
    }

    .cfms-flow-node {
        min-width: 100%;
        padding: 1.25rem 1.5rem;
    }
}

/* Fleet Operations Reality Section Updates */

.fleet-reality-section {
    padding: 7rem 0 7rem;
    background-color: #ffffff;
}

.fleet-reality-container {
    max-width: 1000px;
    margin: 0 auto;
}

.fleet-reality-heading {
    font-size: 1.85rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 3.5rem;
    line-height: 1.3;
    letter-spacing: -0.01em;
    text-align: center;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

/* Card Grid Layout */
.fleet-cards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 4rem;
}

/* Tablet & Desktop: 2 rows x 3 cards */
@media (min-width: 768px) {
    .fleet-cards-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
}

/* Card Structure */
.fleet-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.75rem;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
    height: 100%;
}

.fleet-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
    transform: translateY(-2px);
}

.fleet-card-icon {
    font-size: 1.5rem;
    color: #64748b;
    margin-bottom: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fleet-card-label {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.35rem;
    line-height: 1.3;
}

.fleet-card-caption {
    font-size: 0.9rem;
    color: #94a3b8;
    line-height: 1.5;
    margin: 0;
    font-weight: 400;
}

/* Remaining Editorial Text */
.fleet-reality-text-wrapper {
    max-width: 680px;
    margin: 0 auto;
    text-align: left;
}

/* Fleet Operations Pressures Section */

.fleet-pressures-section {
    padding: 7rem 0 7rem;
    background-color: #f8fafc;
    /* Very light neutral/page background */
}

.fleet-pressures-container {
    max-width: 1200px;
    margin: 0 auto;
}

.fleet-pressures-heading {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 4rem;
    line-height: 1.25;
    text-align: center;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -0.015em;
}

/* 3-Column Grid */
.fleet-pressures-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

/* Tablet (2 cols, 3rd centered) - Optional complexity, but strict guidance said "Tablet: 2 rows". */
/* Let's try to achieve "Second row: 1 centered card" with flexbox capability of grid or nth-child logic */

@media (min-width: 768px) {
    .fleet-pressures-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .fleet-pressures-grid .pressure-card:last-child {
        grid-column: span 2;
        width: 50%;
        margin: 0 auto;
    }
}

@media (min-width: 1024px) {
    .fleet-pressures-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .fleet-pressures-grid .pressure-card:last-child {
        grid-column: auto;
        width: auto;
        margin: 0;
    }
}


/* Pressure Card */
.pressure-card {
    background-color: transparent;
    /* "Background: Same as page background or very light neutral tone" implies maybe no bg on card itself if section is clean, but usually cards need container. */
    /* Guidance said: "Background: Same as page background or very light neutral tone... No contrast blocks or colored panels... Cards should feel distinct but understated" 
       If section is #f8fafc, maybe cards are white or just implied grouping?
       Let's stick to simple white card to be safe, or transparent if strictly "minimal". 
       "distinct but understated" -> border? */
    background-color: #ffffff;
    /* Explicit card */
    border: 1px solid #e2e8f0;
    /* Subtle border */
    padding: 2.5rem 2rem;
    /* Generous internal padding */
    border-radius: 8px;
    /* Slightly sharper than pill */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.pressure-icon {
    font-size: 2rem;
    /* "Minimal, abstract line icons" */
    color: #64748b;
    /* "Muted brand accent or neutral" - Slate-500 is good neutral/muted */
    margin-bottom: 1.5rem;
    /* Optional: circle bg? Guidance says "Minimal icons (Top)" - keeping it clean */
}

.pressure-title {
    font-size: 1.25rem;
    font-weight: 600;
    /* Medium-bold */
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.pressure-text {
    font-size: 1rem;
    line-height: 1.6;
    /* Readable/Neutral */
    color: #475569;
    /* Neutral */
    margin: 0;
}

/* Fleet Segments Section */
.fleet-segments-section {
    padding: 7rem 0 7rem;
    background-color: #ffffff;
    /* Clean white field guide style */
}

.fleet-segments-container {
    max-width: 1000px;
    /* Restrained width for readability */
    margin: 0 auto;
}

.fleet-segments-header {
    margin-bottom: 5rem;
}

.fleet-segments-heading {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1.5rem;
    line-height: 1.25;
    letter-spacing: -0.015em;
    /* "Visually strong but restrained" - no centering mentioned, but intro is max width reading column. */
    text-align: left;
}

.fleet-segments-intro {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #475569;
    max-width: 720px;
    margin: 0;
    font-weight: 400;
}

.fleet-segments-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    /* "Generous vertical spacing... Clear separation" - typically gap or padding on item */
}

.fleet-segment-block {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2.5rem 0;
    border-bottom: 1px solid #e2e8f0;
    /* "Thin vertical divider or accent line" -> wait, "Divider Treatment: Use a thin vertical divider line between left and right columns" */
    /* Ah, "Vertical stacked segment blocks... Each segment block uses a two-column layout" */
    /* Border bottom separates segments visually. */
}

.fleet-segment-block:first-child {
    border-top: 1px solid #e2e8f0;
}

.fleet-segment-block:last-child {
    border-bottom: none;
}

@media (min-width: 768px) {
    .fleet-segment-block {
        grid-template-columns: 4fr 6fr;
        /* 40/60 split roughly */
        gap: 3rem;
        align-items: flex-start;
    }
}

/* Left Column - Identity */
.segment-identity {
    position: relative;
}

/* Vertical Divider Line Treatment (Desktop) */
@media (min-width: 768px) {
    .segment-identity::after {
        /* "Thin vertical divider line between left and right columns" */
        /* Easiest way is border-right on this element or a pseudo el */
        content: '';
        position: absolute;
        right: -1.5rem;
        /* half of gap */
        top: 0;
        bottom: 0;
        width: 1px;
        background-color: #e2e8f0;
        display: block;
    }
}

.segment-name {
    font-size: 1.35rem;
    /* Medium-bold */
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
    margin: 0;
}

/* Right Column - Realities */
.segment-realities {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.realities-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.realities-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    font-size: 1.05rem;
    color: #334155;
    line-height: 1.5;
}

.realities-list li::before {
    content: "•";
    /* Simple bullet or styled box */
    position: absolute;
    left: 0;
    color: #cbd5e1;
    /* Muted */
    font-weight: bold;
}

.realities-list li:last-child {
    margin-bottom: 0;
}

/* Hidden Cost Structure Section */
.hidden-cost-section {
    padding: 7rem 0 7rem;
    background-color: #f8fafc;
    /* Very light neutral */
}

.hidden-cost-container {
    max-width: 800px;
    /* Focused reading width */
    margin: 0 auto;
}

.hidden-cost-heading {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 1.5rem;
    line-height: 1.25;
    letter-spacing: -0.015em;
    text-align: center;
}

.hidden-cost-intro {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #475569;
    max-width: 600px;
    margin: 0 auto 5rem;
    text-align: center;
    font-weight: 400;
}

/* Visibility Ladder */
.cost-visibility-ladder {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 5rem;
    align-items: center;
    /* Center visuals for inverted pyramid effect */
}

.cost-block {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    /* Slightly sharper than pill */
    padding: 1.5rem 2rem;
    width: 100%;
    /* Default width */
    max-width: 700px;
    /* Start wide */
    transition: all 0.3s ease;
    /* Inverted Pyramid Sizing Logic */
}

/* Optional: Inverted Pyramid Width Reduction */
.cost-block.level-1 {
    max-width: 100%;
    background-color: #ffffff;
    border-color: #cbd5e1;
}

/* Most visible - widest, clearest */
.cost-block.level-2 {
    max-width: 90%;
    background-color: rgba(255, 255, 255, 0.9);
    border-color: #d1d5db;
}

.cost-block.level-3 {
    max-width: 80%;
    background-color: rgba(255, 255, 255, 0.8);
    border-color: #e2e8f0;
}

.cost-block.level-4 {
    max-width: 70%;
    background-color: rgba(255, 255, 255, 0.7);
    border-color: #f1f5f9;
}

/* Least visible - narrowest, most faded? Or just structure? */
/* Actually, let's keep opacity high but width distinct. */


.cost-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cost-title {
    font-size: 1.15rem;
    font-weight: 600;
    /* Medium weight */
    color: #1e293b;
    margin: 0;
}

.cost-visibility {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    /* Muted */
    font-weight: 500;
}

/* Key Message */
.hidden-cost-message {
    text-align: center;
    margin-top: 2rem;
}

.hidden-cost-message p {
    font-size: 1.5rem;
    line-height: 1.6;
    color: #334155;
    font-weight: 500;
    font-style: italic;
    /* Distinct style */
    margin: 0;
}

/* Accountability Fragmentation Section */
.accountability-section {
    padding: 7rem 0 7rem;
    background-color: #ffffff;
    /* Clean white */
}

.accountability-container {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.accountability-heading {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2rem;
    line-height: 1.25;
}

.accountability-intro {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #475569;
    max-width: 700px;
    margin: 0 auto 5rem;
    font-weight: 400;
}

/* Hub and Spoke Map */
.accountability-map {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 0 auto 5rem;
    min-height: 600px;
    /* Space for circular layout */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Center Node */
.map-center-node {
    position: absolute;
    width: 200px;
    height: 200px;
    background-color: #f1f5f9;
    /* Neutral slate-100 */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    /* "Slightly stronger visual weight" */
    border: 4px solid #fff;
    /* Separate from lines if we had them, but we want clean */
    box-shadow: 0 0 0 1px #e2e8f0;
}

.center-label {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
    text-align: center;
    line-height: 1.3;
}

/* Outer Nodes - Positioning logic */
/* We can use absolute positioning with transforms to place them in a circle */

.map-node {
    position: absolute;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.25rem;
    width: 240px;
    text-align: left;
    transition: all 0.3s ease;
    z-index: 5;
}

/* Hover Effect (Desktop Only) */
@media (min-width: 1024px) {
    .map-node .node-ownership {
        opacity: 0;
        visibility: hidden;
        height: 0;
        transition: all 0.3s ease;
        overflow: hidden;
    }

    .map-node:hover {
        border-color: #cbd5e1;
        box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
        z-index: 20;
    }

    .map-node:hover .node-ownership {
        opacity: 1;
        visibility: visible;
        height: auto;
        margin-top: 1rem;
    }
}

/* Positioning around the circle (Desktop/Tablet) */
@media (min-width: 768px) {

    /* Operations: Top */
    .node-operations {
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    /* Maintenance: Top Right */
    .node-maintenance {
        top: 20%;
        right: 0;
    }

    /* Procurement: Bottom Right */
    .node-procurement {
        bottom: 20%;
        right: 0;
    }

    /* Finance: Bottom Left */
    .node-finance {
        bottom: 20%;
        left: 0;
    }

    /* Compliance: Top Left */
    .node-compliance {
        top: 20%;
        left: 0;
    }
}

/* Mobile Stack */
@media (max-width: 767px) {
    .accountability-map {
        flex-direction: column;
        min-height: auto;
        gap: 1.5rem;
    }

    .map-center-node,
    .map-node {
        position: relative;
        width: 100%;
        max-width: 100%;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
    }

    .map-center-node {
        order: -1;
        /* Top */
        margin-bottom: 2rem;
        height: 150px;
        width: 150px;
    }

    .node-ownership {
        opacity: 1;
        visibility: visible;
        height: auto;
        margin-top: 0.75rem;
    }
}


.node-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0;
}

.node-ownership p {
    font-size: 0.9rem;
    margin: 0.3rem 0;
    line-height: 1.4;
    color: #64748b;
}

.node-ownership .label {
    font-weight: 500;
    color: #94a3b8;
    font-size: 0.8rem;
    text-transform: uppercase;
    margin-right: 0.3rem;
}


/* Core Takeaway */
.accountability-takeaway p {
    font-size: 1.5rem;
    font-weight: 500;
    color: #334155;
    margin: 0;
    /* "Slightly emphasized typography (not bold blocks, not quotes)" */
}

/* Utilization Paradox Section */
.utilization-section {
    padding: 7rem 0 7rem;
    background-color: #f8fafc;
    /* Very light neutral */
}

.utilization-container {
    max-width: 800px;
    /* Narrow reading focus */
    margin: 0 auto;
}

.utilization-heading {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2.5rem;
    line-height: 1.25;
    text-align: left;
    /* "Narrative copy ... Single, narrow reading column" -> Left align usually fits narrative best */
}

.utilization-content {
    margin-bottom: 4rem;
}

.utilization-narrative {
    font-size: 1.25rem;
    line-height: 1.8;
    /* "High line spacing" */
    color: #475569;
    margin-bottom: 2rem;
    font-weight: 400;
}

.utilization-insight {
    font-size: 1.5rem;
    font-weight: 500;
    color: #334155;
    border-left: 4px solid #cbd5e1;
    /* Subtle emphasis line */
    padding-left: 1.5rem;
    margin-top: 3rem;
    /* "Low utilization is not accidental..." */
}

/* Comparative Visual (Minimal Bars) */
.utilization-visual {
    display: flex;
    justify-content: flex-start;
    /* Left align with text? Or center? "Visual must not dominate" */
    gap: 4rem;
    /* Separation between peak and average */
    align-items: flex-end;
    height: 300px;
    /* Defined height for bars */
    padding-top: 2rem;
    border-bottom: 1px solid #e2e8f0;
    /* Optional baseline */
}

.visual-bar-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    width: 80px;
    /* Narrow bars */
}

.visual-bar {
    width: 100%;
    background-color: #cbd5e1;
    /* Neutral grey */
    border-radius: 4px 4px 0 0;
    transition: height 1s ease-out;
    /* Subtle load animation if we wanted, but static clarity is goal */
}

.peak-bar {
    height: 80%;
    /* Tall */
    background-color: #94a3b8;
    /* Slightly darker neutral for visual weight */
}

.average-bar {
    height: 40%;
    /* Short */
    background-color: #e2e8f0;
    /* Lighter neutral */
}

.visual-label {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
}

/* Accountability Intro Updates */
.accountability-intro-block {
    max-width: 600px;
    margin: 0 auto 4rem;
    text-align: center;
}

.optimization-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
    font-size: 1.15rem;
    color: #475569;
    line-height: 1.6;
}

.optimization-list li {
    margin-bottom: 0.5rem;
}

.optimization-list li strong {
    color: #1e293b;
    font-weight: 600;
}

.optimization-summary {
    font-size: 1.25rem;
    color: #0f172a;
    font-weight: 500;
    margin: 0;
}

/* Utilization Paradox Section */
.utilization-section {
    padding: 7rem 0 7rem;
    background-color: #f8fafc;
    /* Light neutral to alternate */
}

.utilization-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.utilization-headline {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2rem;
    line-height: 1.25;
}

.utilization-text {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 4rem;
    font-weight: 400;
}

/* Key Insight Block */
.utilization-insight-block {
    background-color: #ffffff;
    border-left: 4px solid #0f172a;
    /* Strong accent line */
    padding: 2.5rem;
    text-align: left;
    /* Distinct from centered intro */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    /* Subtle lift */
    border-radius: 4px;
    max-width: 600px;
    margin: 0 auto;
}

.insight-label {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin-bottom: 1rem;
    font-weight: 600;
}

.insight-content {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
    margin: 0;
}

/* ==========================================================================
   PREMIUM CONTACT MODAL & FORM REDESIGN
   Expert UI Implementation
   ========================================================================== */

.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.6);
    /* Darker, more authoritative overlay */
    backdrop-filter: blur(8px);
    /* Premium backdrop blur */
    -webkit-backdrop-filter: blur(8px);
    animation: modalFadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.modal-content {
    background-color: #ffffff;
    margin: 3.5% auto;
    padding: 0;
    border-radius: 20px;
    /* Softer, more modern corners */
    width: 92%;
    max-width: 820px;
    max-height: 88vh;
    overflow-y: auto;
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.25),
        0 0 1px 1px rgba(0, 0, 0, 0.05);
    animation: modalSlideIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    border: 1px solid rgba(226, 232, 240, 0.8);
}

/* Scrollbar for Modal Content */
.modal-content::-webkit-scrollbar {
    width: 6px;
}

.modal-content::-webkit-scrollbar-track {
    background: transparent;
}

.modal-content::-webkit-scrollbar-thumb {
    background: #e2e8f0;
    border-radius: 10px;
}

/* Modal Header Refinement - Plain and Clean */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1.25rem 2rem 0.75rem;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 10;
}

.header-text h2 {
    margin: 0 0 0.15rem;
    font-size: 1.25rem;
    line-height: 1.2;
    font-weight: 700;
    color: #111827;
}

.modal-subtitle {
    margin: 0;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.5;
}

.modal-close {
    background: #f1f5f9;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.modal-close:hover {
    background: #e2e8f0;
    color: #0f172a;
    transform: rotate(90deg);
}

/* Form Body & Grid */
.modal-body {
    padding: 1.5rem 2.5rem 2.5rem;
}

.form-intro {
    margin-bottom: 1.5rem;
}

.required-note {
    font-size: 0.813rem;
    color: #94a3b8;
    font-style: italic;
}

.primary-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 2rem;
    margin-bottom: 2rem;
}

/* Premium Input Styling */
.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.form-group label {
    font-weight: 600;
    color: #334155;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.req {
    color: #ef4444;
}

.input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.input-wrapper i {
    position: absolute;
    left: 1rem;
    color: #94a3b8;
    font-size: 1rem;
    transition: color 0.3s ease;
}

.input-wrapper input,
.input-wrapper select,
.contact-form textarea {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.75rem;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    font-size: 0.938rem;
    color: #1e293b;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.contact-form textarea {
    padding-left: 1rem;
    min-height: 100px;
    line-height: 1.6;
}

.input-wrapper input::placeholder,
.contact-form textarea::placeholder {
    color: #cbd5e1;
}

/* Focus States using Brand Green */
.input-wrapper input:focus,
.input-wrapper select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: #16cba7;
    background-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(22, 203, 167, 0.1);
}

.input-wrapper input:focus+i,
.input-wrapper input:not(:placeholder-shown)+i {
    color: #16cba7;
}

/* Error States */
.error-message {
    font-size: 0.75rem;
    color: #ef4444;
    font-weight: 500;
    min-height: 1rem;
}

.input-wrapper input.invalid {
    border-color: #ef4444;
    background-color: #fef2f2;
}

/* Premium Expand Trigger */
.expand-section {
    background: #fdfdfd;
    border: 1.5px solid #f1f5f9;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 2rem;
}

.expand-trigger {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s ease;
}

.expand-trigger:hover {
    background: #f8fafc;
}

.trigger-title {
    display: block;
    font-weight: 700;
    color: #0f172a;
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

.trigger-subtitle {
    display: block;
    font-size: 0.85rem;
    color: #64748b;
}

.expand-icon-box {
    width: 32px;
    height: 32px;
    background: #f1f5f9;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #16cba7;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.additional-fields-wrapper {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.additional-fields-wrapper.expanded {
    max-height: 1000px;
    opacity: 1;
    visibility: visible;
    padding: 0 1.5rem 1.5rem;
}

.expanded-fields-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 2rem;
    padding-top: 1rem;
    border-top: 1px solid #f1f5f9;
}

.full-width {
    grid-column: 1 / -1;
}

/* Interest Chips (Modern Checkboxes) */
.interest-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.chip {
    cursor: pointer;
}

.chip input {
    display: none;
}

.chip-label {
    display: inline-block;
    padding: 0.5rem 1.25rem;
    background: #f1f5f9;
    border: 1.5px solid transparent;
    border-radius: 100px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #475569;
    transition: all 0.2s ease;
}

.chip:hover .chip-label {
    background: #e2e8f0;
}

.chip input:checked+.chip-label {
    background: rgba(22, 203, 167, 0.1);
    border-color: #16cba7;
    color: #16cba7;
}

.textarea-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.5rem;
}

.char-count {
    font-size: 0.75rem;
    color: #94a3b8;
}

/* Form Footer & Submit */
.form-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding-top: 2rem;
    border-top: 1px solid #f1f5f9;
}

.privacy-note {
    font-size: 0.813rem;
    color: #64748b;
    text-align: center;
}

.privacy-note a {
    color: #16cba7;
    text-decoration: underline;
    font-weight: 500;
}

.submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 3rem;
    font-size: 1.063rem;
    font-weight: 600;
    border-radius: 14px;
    background: #16cba7;
    color: #ffffff;
    border: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 15px -3px rgba(22, 203, 167, 0.3);
}

.submit-btn i {
    transition: transform 0.3s ease;
}

.submit-btn:hover:not(:disabled) {
    background: #199e77;
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(22, 203, 167, 0.4);
}

.submit-btn:hover:not(:disabled) i {
    transform: translateX(4px);
}

.submit-btn:active:not(:disabled) {
    transform: translateY(0);
}

.submit-btn:disabled {
    background: #e2e8f0;
    color: #94a3b8;
    box-shadow: none;
    cursor: not-allowed;
}

/* Loading State Animation */
.submit-btn.loading .btn-text,
.submit-btn.loading i {
    visibility: hidden;
}

.submit-btn.loading::after {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

/* Keyframes */
@keyframes modalFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes modalSlideIn {
    from {
        transform: scale(0.95) translateY(20px);
        opacity: 0;
    }

    to {
        transform: scale(1) translateY(0);
        opacity: 1;
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Responsive Adjustments */
/* ==========================================================================
   MOBILE NAVIGATION - Expert UI Implementation (v2 Fixed)
   ========================================================================== */

/* Utility Classes */
.mobile-only {
    display: none !important;
}

.desktop-only {
    display: inline-flex !important;
}

.mobile-hidden {
    display: block;
}

@media (max-width: 1024px) {
    .mobile-only {
        display: flex !important;
    }

    .desktop-only {
        display: none !important;
    }

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

    body.mobile-menu-active {
        overflow: hidden !important;
    }

    /* Navbar Layout */
    .navbar {
        padding: 0.75rem 1.25rem !important;
        background: transparent !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
    }

    .site-header.scrolled .navbar {
        background: #ffffff !important;
    }

    /* Order: [Hamburger] [Logo] [Contact] */
    .mobile-nav-left { order: 1 !important; }
    .nav-left { order: 2 !important; flex: 1 !important; justify-content: center !important; }
    .nav-right { order: 3 !important; }

    .logo-img {
        max-height: 28px !important;
    }

    .nav-right .btn-nav-primary {
        padding: 0.5rem 0.9rem !important;
        font-size: 0.8rem !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 10px rgba(22, 203, 167, 0.2);
    }

    /* Mobile Drawer */
    .nav-center#nav-drawer {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 85vw !important;
        max-width: 320px !important;
        height: 100vh !important;
        background: #ffffff !important;
        z-index: 9999 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important; /* FIXED: Prevents vertical centering */
        transition: left 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-shadow: 20px 0 50px rgba(0, 0, 0, 0.15) !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow-y: auto !important;
    }

    body.mobile-menu-active .nav-center#nav-drawer {
        left: 0 !important;
    }

    .drawer-header {
        padding: 1.25rem 1.5rem !important;
        border-bottom: 1px solid #f1f5f9 !important;
        background: #ffffff !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 100 !important;
        box-sizing: border-box !important;
    }

    .drawer-close {
        background: #f8fafc !important;
        border: none !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 50% !important;
        font-size: 1.5rem !important;
        color: #64748b !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    /* Links Structure */
    .nav-links {
        flex-direction: column !important;
        padding: 0.5rem 0 !important;
        list-style: none !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .nav-links li {
        width: 100% !important;
        margin: 0 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        position: static !important;
    }

    .nav-links li:last-child {
        border-bottom: none !important;
    }

    .nav-links > li > a {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 1rem 1.5rem !important;
        font-size: 1.05rem !important;
        font-weight: 600 !important;
        color: #0f172a !important;
        transition: all 0.2s ease !important;
        text-decoration: none !important;
    }

    .nav-links > li.active > a {
        background: #fcfdfe !important;
        color: #16cba7 !important;
    }

    .nav-links a i {
        font-size: 0.85rem !important;
        transition: transform 0.3s ease !important;
        color: #94a3b8 !important;
    }

    .nav-links li.active > a i {
        transform: rotate(180deg) !important;
        color: #16cba7 !important;
    }

    /* Submenu - mobile-mega-only */
    .mobile-mega-only {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        background: #fcfdfe !important;
        width: 100% !important;
    }

    .mega-trigger.active .mobile-mega-only {
        max-height: 3000px;
        padding-bottom: 1.25rem !important;
    }

    .mega-menu-col {
        padding: 0.5rem 1.5rem 0.5rem 2.25rem !important;
        position: relative !important;
    }

    /* Vertical Connection Line */
    .mega-menu-col::before {
        content: '' !important;
        position: absolute !important;
        left: 1.5rem !important;
        top: 0;
        bottom: 0;
        width: 1.5px !important;
        background: #e2e8f0 !important;
    }

    .mega-menu-header {
        margin-bottom: 0.75rem !important;
        padding: 0.75rem 0 0.25rem !important;
    }

    .mega-menu-header .micro-label {
        font-size: 0.7rem !important;
        font-weight: 700 !important;
        color: #16cba7 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        margin-bottom: 0.25rem !important;
        display: block !important;
    }

    .mega-menu-links {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }

    .mega-menu-links a {
        padding: 0.7rem 0 !important;
        font-size: 0.95rem !important;
        font-weight: 500 !important;
        color: #475569 !important;
        display: block !important;
        line-height: 1.3 !important; /* Unified line height */
        text-decoration: none !important;
    }

    /* Hamburger Button Gaurantee */
    .mobile-toggle {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        background: none !important;
        border: none !important;
        padding: 8px !important;
        z-index: 1001 !important;
    }

    .mobile-toggle .bar {
        width: 22px !important;
        height: 2px !important;
        background: #0f172a !important;
        border-radius: 4px !important;
    }

    .site-header:not(.scrolled) .mobile-toggle .bar {
        background: #ffffff !important;
    }
}

/* ==========================================================================
   DESKTOP MEGA MENU TWEAKS (For Nested Structure)
   ========================================================================== */
@media (min-width: 1025px) {
    .nav-center {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* THE MASTER MEGA MENU - Unified 4-Column Layout */
    .mega-menu-master {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(15px);
        width: 100vw;
        max-width: 1180px;
        background: #ffffff;
        border-radius: 0 0 16px 16px;
        box-shadow: 0 30px 60px rgba(15, 23, 42, 0.15), 0 10px 20px rgba(0, 0, 0, 0.05);
        border: 1px solid #f1f5f9;
        border-top: 2px solid #16cba7;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        z-index: 1000;
        pointer-events: none;
        overflow: hidden;
    }

    /* Shared Trigger Logic for any mega-trigger link */
    .nav-center:hover .mega-menu-master,
    .nav-center:has(.mega-trigger:hover) .mega-menu-master,
    .mega-menu-master:hover {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
        pointer-events: auto;
    }

    /* Hover Bridge - Prevents menu closing when moving mouse down */
    .nav-links::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 25px;
        z-index: 5;
    }

    .mega-master-inner {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr;
        background: #ffffff;
        width: 100%;
    }

    .mega-master-section {
        padding: 2.25rem 1.75rem;
        border-right: 1px solid #f1f5f9;
        transition: background 0.25s ease;
        display: flex;
        flex-direction: column;
    }

    .mega-master-section:last-child {
        border-right: none;
    }

    .mega-master-section:hover {
        background: #fbfcfe;
    }

    .mega-master-section .section-cols {
        display: flex;
        gap: 2rem;
    }

    .mega-master-section .section-cols .mega-master-col {
        flex: 1;
        padding: 0;
        border-right: none;
    }

    .mega-master-section .micro-label {
        font-size: 0.625rem;
        color: #16cba7;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.12em;
        margin-bottom: 1.25rem;
        /* Reduced from 2rem for tighter grouping */
        display: block;
        opacity: 0.85;
    }

    .mega-master-col {
        padding: 0;
        transition: none;
    }

    .mega-master-header {
        margin-bottom: 1.25rem;
        /* Balanced spacing below headers */
    }

    .mega-master-header h3 {
        font-size: 0.938rem;
        font-weight: 700;
        color: #0f172a;
        margin: 0;
        letter-spacing: -0.01em;
    }

    .mega-master-links {
        list-style: none;
        padding: 0;
    }

    .mega-master-links li {
        margin-bottom: 1.5rem;
    }

    .mega-master-links a {
        display: block;
        font-size: 0.95rem;
        color: #1e293b;
        font-weight: 600;
        text-decoration: none;
        line-height: 1.3;
        margin-bottom: 4px;
        transition: color 0.15s ease;
    }

    .mega-master-links a:hover {
        color: #16cba7;
    }

    .menu-desc {
        font-size: 0.813rem;
        color: #64748b;
        line-height: 1.4;
        display: block;
        font-weight: 400;
    }

    .mega-master-cta {
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px dashed #e2e8f0;
    }

    .cta-link {
        font-size: 0.85rem;
        color: #16cba7;
        font-weight: 700;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 8px;
    }
}



/* ==========================================================================
   DEDICATED CONTACT SECTION REDESIGN
   ========================================================================== */

.contact-section {
    padding: 80px 0;
    background-color: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.contact-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 50px;
    align-items: start;
}

.contact-info .micro-label {
    color: #16cba7;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}

.contact-title {
    font-size: 1.85rem;
    /* Reduced from 2.25rem */
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.contact-subtitle {
    font-size: 1.05rem;
    color: #64748b;
    margin-bottom: 2.5rem;
}

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.method-item {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.method-icon {
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #16cba7;
}

.method-text span {
    display: block;
    font-size: 0.75rem;
    color: #94a3b8;
    font-weight: 700;
    text-transform: uppercase;
}

.method-text a {
    color: #0f172a;
    font-weight: 700;
    text-decoration: none;
}

/* Premium Form Styling - Tighter Layout */
.contact-form-container {
    background: #ffffff;
    padding: 1.75rem 2.25rem;
    /* Reduced vertical padding */
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.03);
}

/* Compact Form Styling - Plain and Clean */
.compact-form .form-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem 1rem;
}

.compact-form .full-width {
    grid-column: 1 / -1;
}

.compact-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.compact-form label {
    font-size: 0.775rem;
    font-weight: 600;
    color: #334155;
}

.compact-form input,
.compact-form select,
.compact-form textarea {
    padding: 0.4rem 0.65rem;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #111827;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.compact-form input:focus,
.compact-form select:focus,
.compact-form textarea:focus {
    outline: none;
    border-color: #16cba7;
    box-shadow: 0 0 0 2px rgba(22, 203, 167, 0.1);
}

.compact-form .interest-chips {
    gap: 0.4rem;
}

.compact-form .chip-label {
    padding: 0.25rem 0.65rem;
    font-size: 0.725rem;
    background: #f3f4f6;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
}

.compact-form .chip input:checked+.chip-label {
    background: #16cba7;
    color: #ffffff;
    border-color: #16cba7;
}

.compact-form .form-actions {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #e5e7eb;
    background: transparent;
}

.compact-form .btn-primary {
    background-color: #16cba7;
    color: #ffffff;
    padding: 0.6rem 1.5rem;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    border: none;
    box-shadow: none;
}

.compact-form .btn-primary:hover {
    background-color: #199e77;
    transform: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.compact-form .btn-secondary {
    background-color: #ffffff;
    color: #4b5563;
    padding: 0.6rem 1.5rem;
    border-radius: 6px;
    font-size: 0.9rem;
    border: 1px solid #d1d5db;
}

.compact-form .btn-secondary:hover {
    background-color: #f9fafb;
    border-color: #9ca3af;
}

@media (max-width: 900px) {
    .compact-form .form-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .compact-form .form-grid {
        grid-template-columns: 1fr;
    }
}

/* Form Sectioning & Hints */
.form-section-header {
    margin: 1.5rem 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #f1f5f9;
}

.form-section-header h3 {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.scrapon-form .form-section-header:first-of-type {
    margin-top: 0;
}

.form-hint {
    font-size: 0.75rem;
    color: #64748b;
    margin: 0.25rem 0 0;
}

.scrapon-form .form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem 1.5rem !important;
}

@media (max-width: 768px) {
    .scrapon-form .form-grid {
        grid-template-columns: 1fr !important;
    }
}

.scrapon-form .form-section-header {
    grid-column: 1 / -1;
    margin: 1.5rem 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #f1f5f9;
}

.scrapon-form .form-section-header h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.scrapon-form .form-group label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.4rem;
}

.scrapon-form input,
.scrapon-form select {
    padding: 0.65rem 0.85rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #ffffff;
    font-size: 0.9rem;
}

.scrapon-form .form-hint {
    font-size: 0.75rem;
    color: #64748b;
    margin-top: 0.4rem;
    line-height: 1.4;
}




/* Parts Ecosystem Solution Page Styles */
.parts-ecosystem-hero {
    background-image: url('../images/banner/vendor.png');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 90vh;
}

.parts-control-section {
    background-color: #ffffff;
    padding: 100px 20px;
}

.parts-control-header {
    margin-bottom: 3rem;
    text-align: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.parts-control-title {
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 1rem;
    line-height: 1.3;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.parts-control-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: #16cba7;
    border-radius: 2px;
}

.parts-control-subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    color: #475569;
    margin: 0 auto;
    font-weight: 400;
    max-width: 900px;
    text-align: center;
}

.parts-control-intro {
    max-width: 900px;
    margin: 0 auto 4rem;
    font-size: 1.3rem;
    line-height: 1.7;
    color: #0f172a;
    text-align: center;
}

.parts-reality-statement {
    font-size: 1.25rem;
    line-height: 1.5;
    color: #0f172a;
    margin: 0 0 1.5rem 0;
    font-weight: 700;
}

.parts-control-conclusion {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid #f1f5f9;
    text-align: center;
}

.parts-control-conclusion-text {
    font-size: 1.5rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
}

/* FUPO Enterprise Platform Section V3 */
.fupo-platform-section {
    padding: 100px 0;
    background-color: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.platform-header {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 3rem;
}

.platform-title {
    font-size: 2.5rem;
    color: #0f172a;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.platform-subtitle {
    font-size: 1.15rem;
    color: #475569;
    line-height: 1.7;
}

.platform-backbone-box {
    background-color: #0f172a;
    color: #ffffff;
    padding: 3rem;
    border-radius: 16px;
    text-align: center;
    max-width: 1000px;
    margin: 0 auto 5rem;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15);
}

.platform-backbone-text {
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 768px) {
    .platform-title {
        font-size: 2rem;
    }

    .platform-backbone-box {
        padding: 2rem 1.5rem;
    }

    .platform-backbone-text {
        font-size: 1.15rem;
    }
}

.solution-capability-icon img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

/* Demo Section: Video/Screens Toggle */
.product-demo-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.demo-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 40px;
}

.demo-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 16px;
}

.demo-description {
    font-size: 1.1rem;
    color: #475569;
    line-height: 1.6;
}

/* Toggle Switcher */
.demo-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

.demo-toggle {
    display: flex;
    background: #f1f5f9;
    padding: 4px;
    border-radius: 999px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
}

.demo-toggle-btn {
    padding: 10px 32px;
    border-radius: 999px;
    border: none;
    background: transparent;
    font-size: 0.95rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.25s ease;
}

.demo-toggle-btn.active {
    background: #16cba7;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(22, 203, 167, 0.2);
}

/* Media Container */
.demo-media-container {
    position: relative;
    width: 100%;
    max-width: 1100px;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    background: #f8fafc;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.demo-pane {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1;
}

.demo-pane.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

/* Video Pane */
.video-pane iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Screens Pane */
.screens-pane {
    display: flex;
    height: 100%;
    background: #ffffff;
}

.screens-left {
    flex: 0 0 68%;
    /* Adjusted from 60% to 68% (reduced right panel by ~20%) */
    background: #f8fafc;
    position: relative;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #e2e8f0;
}

.screenshot-display {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 10px;
    position: relative;
}

.screenshot-display img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    transition: all 1s ease;
    /* Updated to 1s transition time */
}

.screenshot-display:hover img {
    transform: scale(1.02);
}

/* Internal Navigation Arrows */
.screenshot-nav-internal {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 15px;
    pointer-events: none;
    z-index: 15;
}

.nav-btn-internal {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(226, 232, 240, 0.8);
    color: #475569;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    pointer-events: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    opacity: 0;
}

.screens-left:hover .nav-btn-internal {
    opacity: 1;
}

.nav-btn-internal:hover {
    background: #ffffff;
    color: #16cba7;
    transform: scale(1.1);
}

/* Bottom Navigation Overlay (Indicator only) */
.screenshot-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
    background: transparent;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 16;
}

/* Remove bottom arrow buttons from view */
.screenshot-nav .nav-btn {
    display: none;
}

.screen-indicator {
    background: rgba(15, 23, 42, 0.7);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    backdrop-filter: blur(4px);
}

/* Highlights Panel (Right Side - 32%) */
.screens-right {
    flex: 0 0 32%;
    /* Reduced by 20% (from 40% to 32%) */
    padding: 35px 30px;
    overflow-y: auto;
    background: #ffffff;
}

.highlight-header {
    margin-bottom: 30px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 20px;
}

.highlight-page-title {
    font-size: 1.3rem;
    font-weight: 600;
    /* Reduced weight */
    color: #0f172a;
    margin-bottom: 8px;
    line-height: 1.2;
}

.highlight-positioning {
    font-size: 0.85rem;
    font-weight: 500;
    /* Reduced weight */
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #16cba7;
}

.highlight-points li {
    font-size: 1rem;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 12px;
    padding-left: 25px;
    position: relative;
}

.highlight-points li::before {
    content: "\f00c";
    /* FontAwesome checkmark for better visual guidance */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: #16cba7;
    font-size: 0.9rem;
    top: 3px;
}

/* Fullscreen Modal Improvements */
.modal-left {
    flex: 0 0 82%;
    padding: 30px;
}

.modal-right {
    flex: 0 0 18%;
    padding: 30px 20px;
}

.modal-hl-title {
    font-size: 1.25rem;
}

.modal-hl-list li {
    font-size: 0.9rem;
    margin-bottom: 12px;
}

@media (max-width: 992px) {
    .screens-left {
        flex: 1 1 auto;
        min-height: 400px;
    }

    .screens-right {
        flex: 1 1 auto;
        border-top: 1px solid #e2e8f0;
    }

    .nav-btn-internal {
        opacity: 1;
        /* Always visible on mobile */
    }
}

/* Note */
.demo-note {
    text-align: center;
    margin-top: 20px;
    font-size: 0.9rem;
    color: #94a3b8;
    font-style: italic;
}

@media (max-width: 992px) {
    .demo-media-container {
        aspect-ratio: auto;
        height: auto;
    }

    .screens-pane {
        flex-direction: column;
    }

    .screens-left,
    .screens-right {
        flex: 1 1 100%;
    }

    .screens-right {
        order: 2;
        border-top: 1px solid #e2e8f0;
    }
}

/* Fullscreen Button */
.fullscreen-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 8px;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 20;
    transition: all 0.2s ease;
}

.fullscreen-btn:hover {
    background: #ffffff;
    color: #16cba7;
    transform: scale(1.05);
}

/* Fullscreen Immersive Modal V2 */
.demo-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    /* Pure black */
    z-index: 4000;
    display: none;
    flex-direction: column;
}

.demo-modal.active {
    display: flex;
}

.demo-modal .modal-header {
    height: 80px;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(0, 0, 0, 0.8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
}

.modal-logo img {
    height: 30px;
    filter: brightness(0) invert(1);
}

.modal-title-display {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.1rem;
    font-weight: 300;
    /* Light Font */
    letter-spacing: 0.02em;
}

.demo-modal .modal-close {
    width: 44px;
    height: 44px;
    border: none;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    transition: all 0.2s ease;
}

.modal-close:hover {
    background: rgba(255, 255, 255, 0.15);
}

.demo-modal .modal-body {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0;
}

/* Modal Indicator V2 - Bottom Center Transparent */
.modal-indicator-wrapper {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.6);
    background: transparent;
    /* Transparent background */
    font-weight: 400;
    font-size: 1.1rem;
    font-family: monospace;
    letter-spacing: 2px;
    z-index: 150;
    pointer-events: none;
}

.modal-left {
    flex: 1;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: none;
    padding: 0;
    background: transparent;
}

.modal-img-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: transparent;
    box-shadow: none;
}

.modal-img-container img {
    max-width: 90vw;
    max-height: 80vh;
    object-fit: contain;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.8);
    border-radius: 4px;
}

/* Modal Internal Navigation */
.modal-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 60px;
    pointer-events: none;
    z-index: 200;
}

.modal-nav .nav-btn {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: auto;
    backdrop-filter: blur(5px);
}

.modal-nav .nav-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    transform: scale(1.1);
}

/* Modal Indicator in Header */
/* This section is replaced by the new .modal-indicator-wrapper and .modal-title-display */


/* Hide Right Panel In Fullscreen */
.modal-right {
    display: none;
}

@media (max-width: 768px) {
    .modal-nav {
        padding: 0 15px;
    }

    .modal-nav .nav-btn {
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }
}

/* Main View Point List Scaling */
.highlight-points {
    list-style: none;
    padding: 0;
    margin: 0;
}

.highlight-points li {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #64748b;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
}

.highlight-points li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #16cba7;
    font-weight: bold;
}

@media (max-width: 1200px) {
    .modal-left {
        flex: 0 0 70%;
    }

    .modal-right {
        flex: 0 0 30%;
    }
}

@media (max-width: 991px) {
    .modal-body {
        flex-direction: column;
    }

    .modal-left {
        flex: 1;
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .modal-right {
        flex: none;
        height: 350px;
    }
}

/* Compact Form Styles (Used on Home and Product Pages) */
.modal-content.compact-modal {
    max-width: 900px;
    padding: 0;
    border-radius: 12px;
}

.modal-header.compact-header {
    margin-bottom: 0.75rem;
    padding: 1rem 1.5rem 0.5rem;
    border-bottom: 1px solid #f1f5f9;
}

.modal-header.compact-header h2 {
    font-size: 1.25rem;
}

.compact-modal .modal-body {
    padding: 0 1.5rem 1.25rem;
}

.compact-form .form-grid {
    gap: 8px 12px;
}

.compact-form .form-group {
    margin-bottom: 0;
}

.compact-form label {
    font-size: 0.85rem;
    margin-bottom: 4px;
    display: block;
    font-weight: 500;
}

.compact-form input[type="text"],
.compact-form input[type="email"],
.compact-form input[type="tel"],
.compact-form select,
.compact-form textarea {
    padding: 0.4rem 0.65rem;
    font-size: 0.85rem;
    height: auto;
    min-height: 34px;
    border-radius: 6px;
}

.compact-form textarea {
    min-height: 50px;
}

.compact-form .req {
    color: #ef4444;
    font-weight: bold;
}

.compact-form .form-hint {
    font-size: 0.75rem;
    margin-top: 2px;
    color: #94a3b8;
}

.compact-form .interest-chips {
    gap: 6px;
    margin-top: 4px;
}

.compact-form .chip {
    padding: 4px 10px;
    font-size: 0.8rem;
}

.compact-form .form-actions {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.compact-form .btn {
    padding: 0.6rem 1.25rem;
    font-size: 0.9rem;
}

@media (max-width: 640px) {
    .modal-content.compact-modal {
        width: 95%;
        margin: 10px;
    }
}

/* Platform Architecture Section */
.architecture-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.25rem;
    max-width: 1300px;
    margin: 0 auto;
}

.arch-card {
    background-color: #ffffff;
    padding: 2.5rem 1.5rem;
    border-radius: 12px;
    text-align: center;
    border: 1px solid #f1f5f9;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.arch-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
    border-color: #16cba7;
}

.arch-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.arch-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(1) opacity(0.7);
    transition: all 0.3s ease;
}

.arch-card:hover .arch-icon-img {
    filter: grayscale(0) opacity(1);
    transform: scale(1.1);
}

.arch-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.arch-card p {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 1100px) {
    .architecture-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .architecture-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .architecture-grid {
        grid-template-columns: 1fr;
    }
}

/* Global Section Header Consistency */
.section-title {
    font-size: 2.5rem !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin-bottom: 1.5rem !important;
    line-height: 1.2 !important;
    text-align: center;
}

.section-description {
    font-size: 1.15rem !important;
    color: #475569 !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
    text-align: center;
}

/* Ecosystem Banner (Inspired by Foundations/Intelligence Layer) */
.ecosystem-banner-section {
    padding: 0;
    overflow: hidden;
}

.ecosystem-banner {
    position: relative;
    min-height: 450px;
    background-image: url('../images/One-ecosystem.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 6rem 0;
    display: flex;
    align-items: center;
    text-align: center;
    width: 100%;
}

.ecosystem-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.7) 100%);
    z-index: 0;
}

.ecosystem-content {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
    width: 100%;
}

.ecosystem-title {
    font-size: 2.75rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 2rem;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.ecosystem-description {
    font-size: 1.25rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2.5rem;
}

.ecosystem-highlight {
    font-size: 1.5rem;
    font-weight: 600;
    color: #16cba7;
    letter-spacing: -0.01em;
}

.banner-trust-slider {
    margin: 4rem 0;
    width: 110%;
    /* Increased width */
    margin-left: -5%;
    /* Centering the wider container */
}

.logo-slider-viewport {
    position: relative;
    height: 120px;
    /* Increased height for better clearance */
    width: 100%;
    background: #ffffff;
    /* White background to make original colors pop */
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    overflow: hidden; /* Added to ensure no overflow leakage */
}

.trust-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.8);
    /* Higher visibility label */
    margin-bottom: 2.5rem;
    text-align: center;
}

.logo-group {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2.25rem; /* Reduced from 3rem */
    align-items: center;
    justify-items: center;
    position: absolute;
    width: 100%;
    padding: 0 2.5rem; /* Added internal padding to keep logos safe from edges */
    top: 50%;
    /* Vertically center */
    left: 0;
    transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.5s ease, visibility 1.5s ease;
}

.logo-group.active {
    opacity: 1;
    visibility: visible;
}

.banner-logo {
    max-height: 55px; /* Reduced from 65px */
    max-width: 155px; /* Reduced from 180px */
    width: auto;
    filter: none !important;
    /* Force Original Colors */
    opacity: 1 !important;
    /* Full Opacity */
    transition: all 0.3s ease;
    object-fit: contain;
}

.banner-logo:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .ecosystem-banner {
        min-height: 350px;
        padding: 4rem 0;
    }

    .ecosystem-title {
        font-size: 2rem;
    }

    .ecosystem-description {
        font-size: 1.1rem;
    }

    .ecosystem-highlight {
        font-size: 1.25rem;
    }

    .logo-group {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }

    .banner-logo {
        max-height: 25px;
        max-width: 100px;
    }

    .banner-trust-slider {
        width: 100%;
        margin-left: 0;
        margin: 3rem 0;
    }
}

/* Recognition / Awards Section */
.recognition-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.recognition-header {
    text-align: center;
    margin-bottom: 4rem;
}

.recognition-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}

.recognition-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.recognition-card {
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 16px;
    padding: 3rem 1.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
}

.recognition-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04);
    border-color: #e2e8f0;
}

.recognition-img {
    max-width: 100%;
    height: 120px;
    margin-bottom: 2rem;
    object-fit: contain;
}

.recognition-badge-grid .recognition-img {
    height: 140px;
    margin-bottom: 0;
}

.recognition-badge-grid .recognition-card {
    padding: 2rem 1rem;
}

.recognition-text {
    font-size: 0.825rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.6;
    text-align: center;
    max-width: 320px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.recognition-badge-grid {
    margin-top: 40px;
}

/* Mobile Adjustments */
@media (max-width: 1024px) {
    .recognition-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 20px;
    }
}

@media (max-width: 768px) {
    .recognition-grid {
        grid-template-columns: 1fr;
    }
    
    .recognition-section {
        padding: 60px 0;
    }

    .recognition-title {
        font-size: 1.75rem;
    }
    
    .recognition-card {
        padding: 2.5rem 1.5rem;
    }
}