@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Google+Sans:wght@400;500;700&display=swap');

:root {
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --primary: #1e50ff;
    --primary-hover: #1740cc;
    --flowbill-blue: #1e50ff;
    --flowbill-blue-hover: #1740cc;
    --text-dark: #0a1128;
    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #64748b;
    --bg-light: #f8fafc;
    --surface: #ffffff;
    --surface-alt: #f8fafc;
    --surface-subtle: #f1f5f9;
    --border-color: #e5e7eb;
    --border: #e5e7eb;
    --border-subtle: #e5e7eb;
    --border-medium: #cbd5e1;
    --white: #ffffff;
    --dark-bg: #0b0f19;

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --container-max: 1240px;
    --section-spacing: 120px;

    --scroll-p: 0;
    --header-p: 0;
    --hero-margin: 24px;
    --hero-radius: 32px;
    --header-top: 48px;
    --header-inset: 48px;
}

@media (max-width: 768px) {
    :root {
        --hero-margin: 16px;
        --hero-radius: 24px;
        --header-top: 24px;
        --header-inset: 24px;
        --section-spacing: 80px;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-sans);
    color: var(--text-primary);
    line-height: 1.55;
    background-color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 32px;
}

.section {
    padding: var(--section-spacing) 0;
    position: relative;
}

.section-editorial-header {
    max-width: 820px;
    margin-bottom: 56px;
}

.eyebrow {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--flowbill-blue);
    margin-bottom: 16px;
    display: inline-block;
}

.section-title {
    font-size: clamp(30px, 3.8vw, 48px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.025em;
    margin-bottom: 18px;
    color: var(--text-primary);
}

.section-subtitle {
    font-size: 16.5px;
    line-height: 1.62;
    color: var(--text-secondary);
    max-width: 640px;
    margin-bottom: 0;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid transparent;
}

.btn-primary {
    background-color: var(--primary);
    color: var(--white);
}
.btn-primary:hover {
    background-color: var(--primary-hover);
}

.btn-outline {
    background-color: transparent;
    border-color: var(--border-color);
    color: var(--text-dark);
}
.btn-outline:hover {
    border-color: var(--text-dark);
}

.btn-dark {
    background-color: var(--dark-bg);
    color: var(--white);
}

.btn-dark-outline {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
}
.btn-dark-outline:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 72px;
    display: flex;
    align-items: center;
    z-index: 1000;
    
    background-color: transparent;
    color: rgb(var(--header-color));
}

.header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(226, 232, 240, var(--header-p));
    box-shadow: 0 4px 20px -2px rgba(11, 20, 53, calc(var(--header-p) * 0.05));
    
    opacity: var(--header-p);
    pointer-events: none;
}

.header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.logo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    font-weight: 700;
    color: rgb(var(--header-color));
}
.logo-icon {
    width: 24px;
    height: 24px;
    background-color: var(--primary);
    border-radius: 4px;
}

.nav-links {
    display: flex;
    gap: 32px;
}
.nav-links a {
    font-size: 14px;
    font-weight: 500;
    color: rgb(var(--header-color));
    opacity: 0.8;
}
.nav-links a:hover {
    opacity: 1;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}
.header-actions .btn {
    height: 48px;
    padding: 0 24px;
    min-width: 154px;
    text-align: center;
    justify-content: center;
    display: inline-flex;
    align-items: center;
    font-size: 14.5px;
    font-weight: 600;
}

/* Language Switcher Button (same format & width as CTA, with animated white slider) */
.header .lang-btn-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 130px;
    height: 48px;
    padding: 4px;
    border-radius: 8px;
    background-color: rgba(var(--header-color), 0.08);
    border: 1px solid rgba(var(--header-color), var(--btn-outline-alpha));
    cursor: pointer;
    user-select: none;
    overflow: hidden;
}

.header .lang-btn-cta:hover {
    background-color: rgba(var(--header-color), 0.12);
}

.header .lang-slider {
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc(50% - 4px);
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14), 0 1px 2px rgba(0, 0, 0, 0.08);
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
    pointer-events: none;
}

.header .lang-btn-cta.is-fr .lang-slider {
    transform: translateX(100%);
}

.header .lang-btn-cta .lang-opt {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: rgb(var(--header-color));
    opacity: 0.7;
    transition: color 0.25s ease, opacity 0.25s ease;
    cursor: pointer;
}

.header .lang-btn-cta .lang-opt:hover {
    opacity: 0.95;
}

.header .lang-btn-cta .lang-opt.active {
    color: #0b1435;
    opacity: 1;
    font-weight: 700;
}

.header .btn-outline {
    border-color: rgba(var(--header-color), var(--btn-outline-alpha));
    color: rgb(var(--header-color));
    background-color: transparent;
}
.header .btn-outline:hover {
    border-color: rgb(var(--header-color));
    background-color: rgba(var(--header-color), 0.05);
}

/* Scrolled state: black CTA contour becomes subtle elegant grey */
.header.scrolled-light .btn-outline,
.header.scrolled-light .lang-btn-cta {
    border-color: #cbd5e1 !important;
}
.header.scrolled-light .btn-outline:hover,
.header.scrolled-light .lang-btn-cta:hover {
    border-color: #94a3b8 !important;
    background-color: rgba(15, 23, 42, 0.04) !important;
}
.header .btn-primary {
    background-color: var(--primary);
    color: var(--white);
    border: none;
}
.header .btn-primary:hover {
    background-color: var(--primary-hover);
}

/* Hero */
.hero {
    background: url('https://i.imgur.com/DhGxC61.png') no-repeat center center;
    background-size: cover;
    background-color: #0b1435;
    padding: 220px calc(var(--inv-scroll-p) * 4vw) 120px calc(var(--inv-scroll-p) * 4vw);
    color: var(--white);
    position: relative;
    overflow: hidden;
    
    width: calc(100% + (var(--inv-scroll-p) * 8vw));
    margin-left: calc(var(--inv-scroll-p) * -4vw);
    margin-top: 0;
    border-radius: calc(var(--inv-scroll-p) * var(--hero-radius));
    max-width: none;
}

.hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(180px + (var(--scroll-p) * 260px));
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(255,255,255,0.15) 30%,
        rgba(255,255,255,0.65) 65%,
        #ffffff 100%
    );
    opacity: var(--scroll-p);
    pointer-events: none;
    z-index: 1;
}

.hero .container {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-start;
}

.hero-content {
    max-width: 680px;
}

.hero .eyebrow {
    color: #8c9fff;
}

.hero-title {
    font-size: 56px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-bottom: 24px;
}

.hero-subtitle {
    font-size: 18px;
    color: #b0badb;
    margin-bottom: 40px;
    max-width: 540px;
}

.hero-actions {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: nowrap;
}

.hero-actions .btn {
    white-space: nowrap;
    flex-shrink: 0;
}

/* Logos Strip */
.logos-strip {
    padding: 64px 0 72px;
    border-bottom: none;
    text-align: center !important;
    width: 100% !important;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box;
}

.logos-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    color: #5a667f;
    letter-spacing: 2px;
    text-align: center !important;
    margin: 0 auto 36px auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px;
    width: 100% !important;
    padding: 0 24px;
    box-sizing: border-box;
}

.logos-title::before,
.logos-title::after {
    content: "";
    flex: 0 1 70px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(90, 102, 127, 0.25));
}

.logos-title::after {
    background: linear-gradient(90deg, rgba(90, 102, 127, 0.25), transparent);
}

.logos-strip .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 0 24px;
    width: 100% !important;
    box-sizing: border-box;
}

.logos-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 28px 48px;
    max-width: 1140px;
    margin: 0 auto !important;
    width: 100% !important;
}

.logo-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 6px 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                background-color 0.3s ease;
}

.logo-item .logo-img {
    height: 32px;
    max-height: 36px;
    width: auto;
    max-width: 130px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.52;
    transition: filter 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.logo-item:hover {
    transform: translateY(-2px);
    background-color: rgba(248, 250, 252, 0.9);
}

.logo-item:hover .logo-img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.08);
}

.logos-more-wrapper {
    margin-top: 28px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 24px;
    box-sizing: border-box;
}

.logos-more {
    display: inline-block;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--text-muted);
    letter-spacing: 0.3px;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: color 0.2s ease;
}

.logos-more:hover {
    color: var(--text-secondary);
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ==========================================
   Stroke Text Marketing Statement Section
   ========================================== */
.stroke-statement-section {
    padding: 64px 24px 84px;
    background: transparent;
    display: flex;
    justify-content: center;
    perspective: 1200px;
    width: 100%;
    box-sizing: border-box;
    overflow: visible; /* Keeps shadow completely continuous and uncut */
}

.stroke-statement-card {
    /* Dynamic width expansion for depth */
    width: calc(84% + (var(--stmt-expand-p, 0) * 14%));
    max-width: calc(980px + (var(--stmt-expand-p, 0) * 440px));
    margin: 0 auto;
    border-radius: calc(36px - (var(--stmt-expand-p, 0) * 12px));
    padding: calc(64px + (var(--stmt-expand-p, 0) * 16px)) calc(32px + (var(--stmt-expand-p, 0) * 32px)) calc(72px + (var(--stmt-expand-p, 0) * 16px));
    position: relative;
    overflow: hidden;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;

    /* 3D Depth transform */
    transform: translateZ(calc(var(--stmt-expand-p, 0) * 24px)) scale(calc(0.96 + (var(--stmt-expand-p, 0) * 0.04)));
    transform-origin: center center;
    will-change: width, max-width, transform, border-radius;

    background-color: #070b18;
    background-image: 
        radial-gradient(ellipse calc(65% + (var(--stmt-expand-p, 0) * 30%)) 55% at 50% 12%, rgba(37, 99, 235, calc(0.24 + (var(--stmt-expand-p, 0) * 0.14))) 0%, transparent 70%),
        radial-gradient(circle at 1px 1px, rgba(255, 255, 255, calc(0.06 + (var(--stmt-expand-p, 0) * 0.04))) 1px, transparent 1px),
        linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 100% 100%, 28px 28px, 56px 56px, 56px 56px;
    background-position: center top, center center, center center, center center;

    border: 1px solid rgba(255, 255, 255, calc(0.08 + (var(--stmt-expand-p, 0) * 0.08)));
    box-shadow: 
        0 calc(18px + (var(--stmt-expand-p, 0) * 22px)) calc(45px + (var(--stmt-expand-p, 0) * 35px)) -15px rgba(2, 6, 23, calc(0.35 + (var(--stmt-expand-p, 0) * 0.25))),
        inset 0 1px 0 rgba(255, 255, 255, calc(0.14 + (var(--stmt-expand-p, 0) * 0.12))),
        inset 0 0 calc(40px + (var(--stmt-expand-p, 0) * 45px)) rgba(37, 99, 235, calc(0.06 + (var(--stmt-expand-p, 0) * 0.10)));
}

.stroke-statement-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(32% - (var(--stmt-expand-p, 0) * 20%));
    right: calc(32% - (var(--stmt-expand-p, 0) * 20%));
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.65), rgba(147, 197, 253, 0.85), rgba(59, 130, 246, 0.65), transparent);
    pointer-events: none;
    z-index: 2;
}

.stroke-statement-card::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(450px + (var(--stmt-expand-p, 0) * 450px));
    height: calc(200px + (var(--stmt-expand-p, 0) * 120px));
    background: radial-gradient(ellipse at center, rgba(37, 99, 235, calc(0.15 + (var(--stmt-expand-p, 0) * 0.08))) 0%, transparent 70%);
    filter: blur(45px);
    pointer-events: none;
    z-index: 0;
}

.statement-badge {
    position: relative;
    z-index: 2;
    display: inline-block;
    color: #60a5fa;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin-bottom: 24px;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.stroke-text-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.stroke-text-wrapper:hover {
    transform: scale(1.015);
}

/* React Bits StrokeText Component Styles */
.stroke-text {
    display: block;
    width: 100%;
    line-height: 0;
}

.stroke-text--hover {
    cursor: pointer;
}

.stroke-text__svg {
    display: block;
    width: 100%;
    height: var(--stroke-text-height, 160px);
    overflow: visible;
}

.stroke-text__stroke,
.stroke-text__fill {
    user-select: none;
}

.statement-caption {
    position: relative;
    z-index: 2;
    color: #94a3b8;
    font-size: clamp(12px, 1.4vw, 17px);
    white-space: nowrap;
    width: 100%;
    max-width: 100%;
    margin: 28px auto 0;
    line-height: 1.4;
    font-weight: 400;
    letter-spacing: 0.01em;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 768px) {
    .stroke-statement-section {
        padding: 24px 16px 36px;
    }
    .stroke-statement-card {
        padding: 48px 20px 54px;
        border-radius: 20px;
    }
    .statement-caption {
        font-size: clamp(11px, 2.8vw, 14px);
        margin-top: 20px;
    }
    .stroke-text__svg {
        height: auto;
        min-height: 85px;
    }
}

/* The Challenge */
.section {
    padding: 96px 0;
}
.section.bg-light {
    background-color: var(--bg-light);
}
.two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

/* ========================================================
   CLOUDFLARE-STYLE UNIFIED LIGHT COMPARATOR SECTION
   ======================================================== */
/* ========================================================
   CLOUDFLARE-STYLE UNIFIED LIGHT COMPARATOR SECTION
   ======================================================== */
.challenge-light-section {
    position: relative;
    padding: 76px 0 72px;
    background-color: #f8fafc;
    background-image: 
        radial-gradient(ellipse 70% 50% at 50% 0%, rgba(37, 99, 235, 0.05) 0%, transparent 70%),
        linear-gradient(to right, rgba(15, 23, 42, 0.038) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(15, 23, 42, 0.038) 1px, transparent 1px);
    background-size: 100% 100%, 56px 56px, 56px 56px;
    background-position: center top, 0 0, 0 0;
    color: #0f172a;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.challenge-grid-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.challenge-light-section .container {
    position: relative;
    z-index: 2;
}

/* Header */
.challenge-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 28px;
}

.challenge-eyebrow-text {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #2563eb;
    margin-bottom: 12px;
}

.challenge-main-title {
    font-size: clamp(30px, 3.8vw, 46px);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.03em;
    color: #0f172a;
    margin-bottom: 14px;
}

.challenge-main-subtitle {
    font-size: clamp(16px, 1.6vw, 18px);
    line-height: 1.65;
    color: #475569;
    font-weight: 400;
    max-width: 820px;
    margin: 0 auto;
    text-wrap: balance;
}

/* ========================================================
   UNIFIED ENTERPRISE VOLUMETRY MODULE
   (Attached Volume Selector + Interactive Content + Key Metrics)
   ======================================================== */
.unified-comparator-board {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 4px 24px -2px rgba(15, 23, 42, 0.05);
    margin: 0 auto;
    position: relative;
}

/* 1. Attached Top Bar: Volume Simulator (Sticky under Header) */
.volume-selector-header {
    position: sticky;
    top: 72px; /* Directly underneath global fixed header */
    z-index: 40;
    background: #f8fafc; /* Grey background matching bottom percentage card */
    border-bottom: 1px solid #e2e8f0;
    border-top-left-radius: 13px;
    border-top-right-radius: 13px;
    padding: 14px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.volume-selector-label {
    font-size: 13px;
    font-weight: 700;
    color: #475569;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.volume-pill-group {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    padding: 3px;
    border-radius: 9999px;
    border: 1px solid #e2e8f0;
    gap: 2px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.volume-pill-btn {
    background: transparent;
    border: none;
    outline: none;
    color: #64748b;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.18s ease;
    white-space: nowrap;
}

.volume-pill-btn:hover {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.85);
}

.volume-pill-btn.active {
    background: var(--flowbill-blue);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(30, 80, 255, 0.25);
}

/* 2. Interactive Morphing Single Board */
.comparator-stage {
    padding: 28px 32px 24px;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    transition: background 0.35s ease;
    position: relative;
}

/* ========================================================
   SINGLE-COLUMN UNIFIED TABLE CARD (SUPERPOSED ROWS)
   ======================================================== */
.stage-table-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.stage-table-card.is-boosted {
    border-color: #3b82f6;
    box-shadow: 0 12px 36px -6px rgba(37, 99, 235, 0.16), 0 0 0 1px rgba(59, 130, 246, 0.22);
}

/* Row 1: THE TRADITIONAL BOTTLENECK */
.stage-consolidated-header {
    background: #ffffff;
    border: none;
    border-radius: 0;
    padding: 22px 28px 18px;
    margin-bottom: 0;
    border-bottom: 1px solid #e2e8f0;
    transition: background 0.35s ease;
}

.stage-consolidated-header.metric-trad {
    background: #ffffff;
}

.stage-consolidated-header.metric-flowbill {
    background: #f8fafc;
}

.consolidated-grid {
    display: grid;
    grid-template-columns: 1.15fr auto 1fr;
    align-items: center;
    gap: 20px;
}

/* Left: Process Identity (Level 1) */
.consolidated-col-left {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: left;
}

.stage-title {
    font-size: 15.5px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.25;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease;
}

.stage-title::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.stage-title.title-trad::before {
    background: #ef4444; /* Subtle semantic red dot */
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

.stage-title.title-flow::before {
    background: #2563eb; /* Subtle Flowbill blue dot */
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.stage-subtitle {
    font-size: 13.5px;
    color: #64748b;
    font-weight: 500;
    line-height: 1.35;
    padding-left: 16px;
    transition: color 0.3s ease;
}

/* Center: Key Outcome Metric (Level 2 - Left Aligned) */
.consolidated-col-center {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    text-align: left;
    padding: 0 20px;
    border-left: 1px solid #f1f5f9;
    border-right: 1px solid #f1f5f9;
}

.metric-eyebrow {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
    text-align: left;
    width: 100%;
    transition: color 0.3s ease;
}

.consolidated-metric-val {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 6px;
    line-height: 1;
}

.metric-num {
    font-size: clamp(34px, 3.8vw, 44px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    transition: color 0.3s ease;
}

.num-danger {
    color: #dc2626; /* Restrained semantic red */
}

.num-flowbill {
    color: #1d4ed8; /* Restrained Flowbill blue */
}

.metric-unit-text {
    font-size: 15px;
    font-weight: 600;
    color: #475569;
}

/* Right: Mode & Velocity Badges */
.consolidated-col-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.stage-mode-indicator {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 9999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    transition: all 0.3s ease;
}

.stage-mode-indicator.boosted {
    background: #eff6ff;
    color: #1e40af;
    border-color: #bfdbfe;
}

/* Rate velocity: clean text, no pill, slightly larger */
.pipeline-flow-rate {
    display: inline-block;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color 0.3s ease;
}

.rate-danger {
    color: #dc2626;
}

.rate-flowbill {
    color: #2563eb;
}

/* Consolidated Sub-row: Short Explanation Description + Velocity on same line (Full-width continuous divider) */
.consolidated-desc-row {
    margin-top: 16px;
    padding-top: 14px;
    margin-left: -28px;
    margin-right: -28px;
    padding-left: 28px;
    padding-right: 28px;
    border-top: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.metric-desc {
    font-size: 13.5px;
    line-height: 1.45;
    font-weight: 400;
    color: #64748b;
    transition: color 0.3s ease;
}

/* ========================================================
   DIAGRAMMATIC PROCESS FLOW (NO CARDS / CLEAN NODES)
   ======================================================== */
/* ========================================================
   Row 2: PROCESSING QUEUE & PIPELINE (UNIFIED TABLE ROW)
   (Integrates Process Flow + Comparative Feature Items)
   ======================================================== */
.pipeline-block {
    background: #ffffff;
    border: none;
    border-radius: 0;
    padding: 24px 28px 22px;
    margin-bottom: 0;
    border-bottom: 1px solid #e2e8f0;
    box-shadow: none;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.pipeline-trad-block {
    background: #ffffff;
}

.pipeline-flow-block {
    background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
}

.pipeline-flow-block .pipeline-header-divider,
.pipeline-flow-block .pipeline-card-divider {
    background: rgba(37, 99, 235, 0.16);
}

.pipeline-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.pipeline-header-divider {
    height: 1px;
    background: #e2e8f0;
    margin-left: -28px;
    margin-right: -28px;
    width: calc(100% + 56px);
    margin-bottom: 24px;
    transition: background 0.35s ease;
}

.pipeline-badge-label {
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.label-danger {
    color: #991b1b;
}

.label-flowbill {
    color: #1d4ed8;
}

.pipeline-mode-caption {
    font-size: 13px;
    font-weight: 500;
    color: #64748b;
}

.pipeline-steps-layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    position: relative;
}

/* Individual Phase Node: Clean, no card inside card */
.pipeline-step-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
    min-width: 0;
    transition: opacity 0.3s ease;
}

/* Large Phase Icon Circle (52px with 24px SVG) */
.step-icon-circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    background: #ffffff;
    border: 1.5px solid #cbd5e1;
    color: #475569;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.icon-danger-circle {
    border-color: #cbd5e1;
    color: #64748b;
}

.step-highlight-danger .step-icon-circle {
    border-color: #f87171;
    color: #dc2626;
    background: #fff5f5;
    box-shadow: 0 2px 10px rgba(239, 68, 68, 0.12);
}

.icon-flowbill-circle {
    border-color: #bfdbfe;
    color: #2563eb;
    background: #eff6ff;
}

.step-highlight-flowbill .step-icon-circle {
    border-color: #3b82f6;
    color: #1d4ed8;
    background: #dbeafe;
    box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12), 0 3px 12px rgba(37, 99, 235, 0.18);
}

.step-icon-circle svg {
    width: 24px;
    height: 24px;
}

/* Level 3: Phase Titles (16px, semibold) */
.step-title {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Phase Descriptor (13.5px) */
.step-sub {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.4;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.step-muted {
    opacity: 0.8;
}

/* Connector Lines & Premium Animations */
.pipeline-step-connector {
    flex: 0 0 84px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 52px; /* Centers with the 52px icon circle */
}

.connector-line {
    width: 100%;
    height: 2px;
    border-radius: 9999px;
    transition: all 0.3s ease;
}

.connector-danger .connector-line {
    background: repeating-linear-gradient(90deg, #cbd5e1 0, #cbd5e1 5px, transparent 5px, transparent 9px);
}

.connector-flowbill .connector-line {
    background: linear-gradient(90deg, #bfdbfe 0%, #3b82f6 50%, #bfdbfe 100%);
    background-size: 200% 100%;
    animation: lineShimmer 2.4s linear infinite;
    box-shadow: 0 0 8px rgba(59, 130, 246, 0.25);
}

@keyframes lineShimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

/* Secondary metadata on connector */
.connector-pill-badge {
    position: absolute;
    top: -4px;
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    background: transparent;
    border: none;
    padding: 0;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.connector-danger .connector-pill-badge {
    color: #94a3b8;
}

.connector-flowbill .connector-pill-badge {
    color: #2563eb;
}

.connector-stream {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* Flowbill: Cybernetic Laser Energy Beam */
.stream-dot.p-flow {
    position: absolute;
    top: 25px;
    transform: translateY(-50%);
    width: 32px;
    height: 3px;
    border-radius: 9999px;
    background: linear-gradient(90deg, transparent, rgba(96, 165, 250, 0.4), #2563eb, #60a5fa, #ffffff);
    box-shadow: 0 0 10px rgba(37, 99, 235, 0.8), 0 0 4px #93c5fd;
    animation: laserPulseFlow 1.1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.stream-dot.p-flow.f2 {
    animation-delay: 0.55s;
    opacity: 0.85;
}

@keyframes laserPulseFlow {
    0% {
        left: -20%;
        opacity: 0;
        transform: translateY(-50%) scaleX(0.4);
    }
    20% {
        opacity: 1;
        transform: translateY(-50%) scaleX(1);
    }
    80% {
        opacity: 1;
        transform: translateY(-50%) scaleX(1);
    }
    100% {
        left: 100%;
        opacity: 0;
        transform: translateY(-50%) scaleX(0.5);
    }
}

/* Traditional: Bottleneck Latency & Congestion Pulse */
.stream-dot.p-trad {
    position: absolute;
    top: 25px;
    transform: translateY(-50%);
    width: 14px;
    height: 5px;
    border-radius: 9999px;
    background: #ef4444;
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.6);
    animation: bottleneckCongestion 3.8s ease-in-out infinite;
}

@keyframes bottleneckCongestion {
    0% {
        left: 0%;
        opacity: 0;
        transform: translateY(-50%) scale(0.8);
    }
    15% {
        left: 20%;
        opacity: 1;
        transform: translateY(-50%) scale(1);
    }
    35% {
        left: 45%;
        transform: translateY(-50%) scale(1.15);
        background: #dc2626;
        box-shadow: 0 0 12px rgba(220, 38, 38, 0.85);
    }
    55% {
        left: 48%;
        transform: translateY(-50%) scale(1.3);
        background: #b91c1c;
        box-shadow: 0 0 14px rgba(185, 28, 28, 0.9);
    }
    70% {
        left: 52%;
        transform: translateY(-50%) scale(1);
    }
    90% {
        left: 92%;
        opacity: 0.8;
        transform: translateY(-50%) scale(0.9);
    }
    100% {
        left: 100%;
        opacity: 0;
        transform: translateY(-50%) scale(0.7);
    }
}

/* Integrated Separator & Features Breakdown List */
.pipeline-card-divider {
    height: 1px;
    background: #e2e8f0;
    margin-left: -28px;
    margin-right: -28px;
    width: calc(100% + 56px);
    margin-top: 24px;
    margin-bottom: 22px;
    transition: background 0.35s ease;
}

.stage-features-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.stage-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.feature-bullet {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    transition: all 0.3s ease;
}

.bullet-danger {
    background: #f1f5f9;
    color: #94a3b8;
}

.bullet-flowbill {
    background: #eff6ff;
    color: #2563eb;
}

.feature-bullet svg {
    width: 12px;
    height: 12px;
}

.feature-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

/* Level 4: Visually Dominant Heading */
.feature-text strong {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    transition: color 0.3s ease;
}

/* Level 5: Readable Supporting Description */
.feature-text span {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.5;
    font-weight: 400;
    transition: color 0.3s ease;
}

/* Row 3: The Slider: Ultra-Modern Dark Enterprise Transformation Control */
.slide-to-boost-container {
    background: radial-gradient(130% 120% at 50% 0%, #17233d 0%, #0a1020 60%, #060913 100%);
    border: none;
    border-radius: 0;
    padding: 22px 28px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 0;
    box-shadow: none;
    position: relative;
    overflow: hidden;
}

.slide-to-boost-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(96, 165, 250, 0.45), transparent);
    pointer-events: none;
}

.slider-boundary-labels {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.boundary-label.label-left {
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s ease;
}

.boundary-label.label-right {
    color: #60a5fa;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s ease;
}

.slide-to-boost-track {
    position: relative;
    height: 56px;
    background: #060a14;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 9999px;
    overflow: hidden;
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
    outline: none;
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8), inset 0 0 0 1px rgba(0, 0, 0, 0.4);
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.slide-to-boost-track:hover {
    border-color: rgba(255, 255, 255, 0.22);
}

.slide-to-boost-track:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5), inset 0 2px 8px rgba(0, 0, 0, 0.8);
}

.slider-progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    /* Silky, velvety, smooth continuous blue transition */
    background: linear-gradient(90deg, 
        rgba(30, 64, 175, 0.22) 0%, 
        rgba(37, 99, 235, 0.45) 30%, 
        rgba(59, 130, 246, 0.72) 70%, 
        rgba(96, 165, 250, 0.9) 100%
    );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 14px rgba(59, 130, 246, 0.4);
    border-radius: 9999px;
    pointer-events: none;
    transition: width 0.05s ease-out;
}

.slider-shimmer-label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    z-index: 2;
    transition: opacity 0.2s ease;
}

.shimmer-text {
    background: linear-gradient(90deg, #64748b 0%, #cbd5e1 35%, #ffffff 50%, #cbd5e1 65%, #64748b 100%);
    background-size: 250% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: ctaShimmer 2.4s infinite linear;
}

.slider-drag-handle {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 46px;
    height: 46px;
    background: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
    border-radius: 50%;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45), inset 0 1px 0 #ffffff, 0 0 0 1px rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: transform 0.15s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
    color: #1d4ed8;
    cursor: grab;
}

.slider-drag-handle:hover {
    transform: scale(1.04);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5), inset 0 1px 0 #ffffff, 0 0 0 1px rgba(255, 255, 255, 0.8);
}

.slider-drag-handle.is-dragging {
    cursor: grabbing;
    transform: scale(1.08);
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.45), 0 0 0 3px rgba(96, 165, 250, 0.45);
}

.slider-drag-handle.is-boosted {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 55%, #1d4ed8 100%);
    color: #ffffff;
    box-shadow: 0 0 24px rgba(37, 99, 235, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 0 0 2px rgba(255, 255, 255, 0.9);
}

.handle-icon-wrap {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.handle-chevron {
    width: 19px;
    height: 19px;
    transition: opacity 0.2s ease;
}

.handle-complete {
    width: 19px;
    height: 19px;
    display: none;
}

.slider-drag-handle.is-boosted .handle-chevron {
    display: none;
}

.slider-drag-handle.is-boosted .handle-complete {
    display: block;
}

.slider-helper-hint {
    text-align: center;
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* 4. Bottom Row: KPI Stats Bar Glued Directly Underneath */
.comparator-stats-row {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom-left-radius: 13px;
    border-bottom-right-radius: 13px;
}

.stat-col {
    flex: 1;
    padding: 24px 22px;
    text-align: center;
    border-right: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

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

.stat-big-val {
    font-size: clamp(34px, 3.8vw, 44px);
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
    letter-spacing: -0.04em;
    margin-bottom: 4px;
}

.stat-unit-accent {
    font-size: 0.7em;
    font-weight: 700;
    color: #2563eb;
}

.stat-unit-text-accent {
    font-size: 0.65em;
    font-weight: 700;
    color: #2563eb;
}

.stat-caption {
    font-size: 13.5px;
    color: #475569;
    font-weight: 500;
    max-width: 260px;
    line-height: 1.45;
}

.stat-caption-sub {
    display: inline-block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12.5px;
    font-weight: 500;
}

/* Responsive adjustments for Section LE DÉFI DE LA VOLUMÉTRIE ENTERPRISE */
@media (max-width: 900px) {
    .challenge-light-section {
        padding: 50px 0 54px;
    }
    .volume-selector-header {
        top: 68px;
        flex-direction: column;
        align-items: stretch;
        padding: 12px 16px;
        gap: 8px;
    }
    .volume-selector-label {
        text-align: center;
        font-size: 12px;
    }
    .volume-pill-group {
        width: 100%;
        overflow-x: auto;
        justify-content: flex-start;
        padding: 3px;
        -webkit-overflow-scrolling: touch;
    }
    .volume-pill-btn {
        flex: 1 0 auto;
        padding: 6px 12px;
        font-size: 12px;
    }
    .comparator-stage {
        padding: 20px 16px 20px;
    }
    .consolidated-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        text-align: center;
    }
    .consolidated-col-left {
        text-align: center;
        align-items: center;
    }
    .consolidated-col-center {
        border-left: none;
        border-right: none;
        border-top: 1px solid #f1f5f9;
        border-bottom: 1px solid #f1f5f9;
        padding: 12px 0;
    }
    .consolidated-col-right {
        align-items: center;
        flex-direction: row;
        justify-content: center;
        gap: 10px;
    }
    .pipeline-block {
        padding: 20px 16px 18px;
    }
    .pipeline-header-divider,
    .pipeline-card-divider {
        margin-left: -16px;
        margin-right: -16px;
        width: calc(100% + 32px);
    }
    .pipeline-steps-layout {
        flex-direction: column;
        gap: 8px;
    }
    .pipeline-step-card {
        width: 100%;
    }
    .pipeline-step-connector {
        transform: rotate(90deg);
        height: 24px;
        flex: 0 0 24px;
        margin: 6px 0;
    }
    .connector-pill-badge {
        transform: rotate(-90deg);
        top: -6px;
    }
    .stage-features-list {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .comparator-stats-row {
        flex-direction: column;
    }
    .stat-col {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
        padding: 18px 16px;
    }
    .stat-col:last-child {
        border-bottom: none;
    }
}

/* ========================================================
   SECTION: THE FLOWBILL LAYER (ARCHITECTURAL SCHEMATIC)
   ======================================================== */
.flowbill-layer-section {
    background-color: #ffffff;
    border-bottom: 1px solid var(--border-subtle);
}

.architecture-schematic-wrap {
    display: grid;
    grid-template-columns: 260px auto 1fr auto 280px;
    align-items: center;
    gap: 16px;
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: 32px;
}

.arch-node-col {
    background: var(--surface-alt);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.arch-col-header {
    border-bottom: 1px solid var(--border-subtle);
    padding-bottom: 10px;
}

.arch-col-tag {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.arch-col-sub {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 2px;
}

.arch-systems-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.arch-system-badge {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-primary);
}

.badge-status {
    font-size: 10px;
    font-weight: 600;
    color: var(--text-muted);
    background: var(--surface-subtle);
    padding: 2px 6px;
    border-radius: 3px;
    letter-spacing: 0.04em;
}

.arch-system-badge.other {
    color: var(--text-muted);
    font-weight: 500;
}

.arch-flow-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 50px;
    color: var(--text-muted);
}

.connector-line {
    width: 100%;
    height: 1px;
    background: var(--border-subtle);
}

.connector-protocol {
    font-size: 9.5px;
    font-family: monospace;
    color: var(--text-muted);
    white-space: nowrap;
    background: #ffffff;
    padding: 0 4px;
}

.connector-arrow {
    font-size: 16px;
    color: var(--flowbill-blue);
    line-height: 1;
}

.arch-core-col {
    background: #ffffff;
    border: 1px solid var(--flowbill-blue);
    border-radius: var(--radius-sm);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    box-shadow: 0 0 0 1px rgba(30, 80, 255, 0.1);
}

.arch-core-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border-subtle);
    padding-bottom: 12px;
}

.arch-core-brand {
    display: flex;
    align-items: center;
    gap: 8px;
}

.logo-icon-arch {
    width: 12px;
    height: 12px;
    background: var(--flowbill-blue);
    border-radius: 2px;
}

.arch-core-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--text-primary);
}

.arch-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 700;
    color: #10b981;
    background: #ecfdf5;
    padding: 3px 8px;
    border-radius: 9999px;
    letter-spacing: 0.05em;
}

.status-pulse-dot {
    width: 6px;
    height: 6px;
    background: #10b981;
    border-radius: 50%;
}

.arch-pipeline-stages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.arch-stage-node {
    background: var(--surface-alt);
    border: 1px solid var(--border-subtle);
    border-radius: 4px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    transition: border-color 0.2s;
}

.arch-stage-node:hover {
    border-color: var(--flowbill-blue);
}

.stage-code {
    font-size: 9.5px;
    font-weight: 700;
    color: var(--flowbill-blue);
    letter-spacing: 0.05em;
}

.stage-text {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
}

.stage-spec {
    font-size: 10px;
    color: var(--text-muted);
}

.arch-gov-col {
    background: var(--surface-alt);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.arch-gov-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.arch-gov-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: 4px;
    padding: 12px;
}

.gov-card-icon {
    color: var(--flowbill-blue);
    margin-top: 2px;
    flex-shrink: 0;
}

.gov-card-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.gov-card-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
}

.gov-card-role {
    font-size: 11px;
    color: var(--text-secondary);
    line-height: 1.4;
}

.gov-cert-tag {
    font-size: 9.5px;
    font-weight: 600;
    color: var(--text-muted);
    background: var(--surface-subtle);
    padding: 2px 6px;
    border-radius: 3px;
    display: inline-block;
    margin-top: 4px;
    align-self: flex-start;
}

/* ========================================================
   SECTION: THE COMPLIANCE PIPELINE (UNIFIED 7-STAGE MATRIX)
   ======================================================== */
.pipeline-section {
    background-color: #ffffff;
    border-bottom: 1px solid var(--border-subtle);
}

.pipeline-editorial-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 48px;
    gap: 24px;
    flex-wrap: wrap;
}

.technical-link {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--flowbill-blue);
    transition: color 0.2s;
}

.technical-link:hover {
    color: var(--flowbill-blue-hover);
}

.pipeline-technical-matrix {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: var(--border-subtle);
    gap: 1px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.pipeline-matrix-cell {
    background: #ffffff;
    padding: 28px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: background-color 0.2s;
}

.pipeline-matrix-cell:hover {
    background-color: var(--surface-alt);
}

.cell-seq {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--flowbill-blue);
}

.cell-icon-wrap {
    width: 32px;
    height: 32px;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.cell-icon-wrap svg {
    width: 22px;
    height: 22px;
}

.cell-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
}

.cell-desc {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.5;
    flex-grow: 1;
}

.cell-meta {
    font-size: 10px;
    font-weight: 500;
    color: var(--text-muted);
    border-top: 1px solid var(--border-subtle);
    padding-top: 10px;
    margin-top: 4px;
}

/* ========================================================
   SECTION: BUILT FOR VOLUME (ENTERPRISE TELEMETRY CONSOLE)
   ======================================================== */
.volume-console-section {
    background-color: var(--surface-alt);
    border-bottom: 1px solid var(--border-subtle);
}

.volume-editorial-col {
    display: flex;
    flex-direction: column;
}

.telemetry-checks-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 36px;
}

.telemetry-checks-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14.5px;
    font-weight: 500;
    color: var(--text-primary);
}

.check-bullet {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ecfdf5;
    color: #10b981;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.check-bullet svg {
    width: 12px;
    height: 12px;
}

.enterprise-telemetry-console {
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.console-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-subtle);
    background: #ffffff;
}

.console-id-block {
    display: flex;
    align-items: center;
    gap: 10px;
}

.console-dot-status {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
}

.console-batch-id {
    font-size: 12px;
    font-weight: 700;
    font-family: monospace;
    letter-spacing: 0.05em;
    color: var(--text-primary);
}

.console-badge-active {
    font-size: 9.5px;
    font-weight: 700;
    color: #10b981;
    background: #ecfdf5;
    padding: 2px 6px;
    border-radius: 4px;
    letter-spacing: 0.05em;
}

.console-top-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 11px;
    color: var(--text-muted);
    font-family: monospace;
}

.console-rate {
    color: var(--flowbill-blue);
    font-weight: 600;
}

.console-progress-track {
    height: 2px;
    background: var(--surface-subtle);
    width: 100%;
}

.console-progress-fill {
    height: 100%;
    background: var(--flowbill-blue);
}

.console-metrics-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid var(--border-subtle);
    background: var(--surface-alt);
}

.metric-cell {
    padding: 18px 16px;
    border-right: 1px solid var(--border-subtle);
}

.metric-cell:last-child {
    border-right: none;
}

.metric-title {
    font-size: 11px;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.metric-num {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    font-feature-settings: "tnum";
}

.metric-cell.valid .metric-num {
    color: #10b981;
}

.metric-cell.in-progress .metric-num {
    color: var(--flowbill-blue);
}

.metric-cell.failed .metric-num {
    color: #ef4444;
}

.console-stream-log {
    padding: 16px 20px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: monospace;
    font-size: 11px;
}

.stream-row {
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.4;
}

.stream-time {
    color: var(--text-muted);
    flex-shrink: 0;
}

.stream-tag {
    font-size: 9px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.stream-tag.ok {
    background: #ecfdf5;
    color: #10b981;
}

.stream-tag.warn {
    background: #fef2f2;
    color: #ef4444;
}

.stream-text {
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ========================================================
   SECTION: INTEGRATIONS (UNIFIED TECHNICAL MATRIX)
   ======================================================== */
.integrations-section {
    background-color: #ffffff;
    border-bottom: 1px solid var(--border-subtle);
}

.integ-editorial-col {
    display: flex;
    flex-direction: column;
}

.integ-stack-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 32px;
}

.stack-badge {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    background: var(--surface-alt);
    border: 1px solid var(--border-subtle);
    padding: 5px 10px;
    border-radius: 4px;
}

.integ-matrix-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 18px;
}

.unified-technical-matrix {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    background: var(--border-subtle);
    gap: 1px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.tech-matrix-cell {
    background: #ffffff;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: background-color 0.2s;
}

.tech-matrix-cell:hover {
    background-color: var(--surface-alt);
}

.tech-cell-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.tech-icon-wrap {
    color: var(--flowbill-blue);
    display: flex;
    align-items: center;
}

.tech-icon-wrap svg {
    width: 20px;
    height: 20px;
}

.tech-node-badge {
    font-size: 9.5px;
    font-family: monospace;
    font-weight: 600;
    color: var(--text-muted);
    background: var(--surface-subtle);
    padding: 2px 6px;
    border-radius: 3px;
}

.tech-cell-heading {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
}

.tech-cell-sub {
    font-size: 12.5px;
    color: var(--text-secondary);
    margin: 0;
}

.tech-cell-footer {
    font-size: 11px;
    color: var(--text-muted);
    border-top: 1px solid var(--border-subtle);
    padding-top: 10px;
    margin-top: 8px;
}

/* ========================================================
   SECTION: COMPLIANCE & TRUST (CONSOLE MATRIX)
   ======================================================== */
.trust-section {
    background-color: var(--surface-alt);
    border-bottom: 1px solid var(--border-subtle);
}

.trust-editorial-col {
    display: flex;
    flex-direction: column;
}

.compliance-matrix {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    background: var(--border-subtle);
    gap: 1px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.compliance-cell {
    background: #ffffff;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: background-color 0.2s;
}

.compliance-cell:hover {
    background-color: var(--surface-alt);
}

.compliance-cell-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.compliance-kicker {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--text-muted);
}

.compliance-tag {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 2px 6px;
    border-radius: 3px;
}

.compliance-tag.verified,
.compliance-tag.live,
.compliance-tag.active {
    background: #ecfdf5;
    color: #10b981;
}

.compliance-tag.immutable {
    background: #eff6ff;
    color: var(--flowbill-blue);
}

.compliance-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.compliance-name {
    font-size: 17px;
    font-weight: 600;
    color: var(--text-primary);
}

.compliance-sub {
    font-size: 12.5px;
    color: var(--text-secondary);
    margin: 0;
}

.compliance-meta {
    font-size: 11px;
    color: var(--text-muted);
    border-top: 1px solid var(--border-subtle);
    padding-top: 10px;
    margin-top: 4px;
}

/* ========================================================
   SECTION: FINAL CTA (ENTERPRISE ARCHITECTURAL)
   ======================================================== */
.cta-section {
    background-color: var(--dark-bg);
    color: #ffffff;
    padding: 120px 0;
}

.cta-editorial-col .eyebrow {
    color: #94a3b8;
}

.cta-editorial-col .section-title {
    color: #ffffff;
}

.cta-editorial-col .section-subtitle {
    color: #94a3b8;
}

.cta-actions {
    display: flex;
    gap: 16px;
    margin-top: 36px;
    flex-wrap: wrap;
}

.btn-outline-light {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

.btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.4);
}

.cta-checks-matrix {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-left: 0;
}

.cta-check-item {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 15px;
    color: #cbd5e1;
}

.cta-check-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    flex-shrink: 0;
}

/* Responsive Grid Rules */
@media (max-width: 1100px) {
    .architecture-schematic-wrap {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .arch-flow-connector {
        transform: rotate(90deg);
        margin: 8px 0;
    }
    .pipeline-technical-matrix {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .two-cols {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .pipeline-technical-matrix {
        grid-template-columns: 1fr;
    }
    .unified-technical-matrix,
    .compliance-matrix {
        grid-template-columns: 1fr;
    }
    .console-metrics-row {
        grid-template-columns: repeat(2, 1fr);
    }
    .metric-cell:nth-child(2) {
        border-right: none;
    }
    .metric-cell:nth-child(1),
    .metric-cell:nth-child(2) {
        border-bottom: 1px solid var(--border-subtle);
    }
}

@media (max-width: 768px) {
    .hero {
        background-image: url('https://i.imgur.com/fLt474Y.png');
        background-position: center top;
        background-size: cover;
        padding: 105px 20px 44px;
        min-height: clamp(800px, 185vw, 1020px);
        display: flex;
        flex-direction: column;
    }
    .hero .container {
        flex: 1;
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .hero-content {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        max-width: 100%;
        text-align: left;
    }
    .hero-text {
        max-width: 100%;
    }
    .hero .eyebrow {
        font-size: 11px;
        margin-bottom: 10px;
    }
    .hero-title {
        font-size: clamp(24px, 6.4vw, 34px);
        line-height: 1.2;
        margin-bottom: 12px;
    }
    .hero-subtitle {
        font-size: clamp(13px, 3.4vw, 15px);
        line-height: 1.5;
        margin-bottom: 0;
        color: #b8c5ea;
        max-width: 95%;
    }
    .hero-actions {
        margin-top: auto;
        padding-top: clamp(250px, 55vw, 360px);
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
    .hero-actions .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
        font-size: 14px;
        padding: 13px 20px;
    }
    .nav-links { display: none; }
    .challenge-cards { grid-template-columns: 1fr; }
    .integration-cards, .trust-cards { grid-template-columns: 1fr; }

    /* Mobile Responsive for Challenge Comparator Stage */
    .comparator-stage {
        padding: 24px 18px 20px;
    }
    .stage-features-list {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 24px;
    }
    .pipeline-interactive-layout {
        gap: 4px;
    }
    .pipeline-step-connector {
        flex: 0 0 24px;
    }
    .pipeline-step-card {
        padding: 10px 4px;
    }
    .step-icon-circle {
        width: 44px;
        height: 44px;
        margin-bottom: 8px;
    }
    .step-icon-circle svg {
        width: 20px;
        height: 20px;
    }
    .step-title {
        font-size: 10.5px;
    }
    .step-sub {
        font-size: 9px;
    }
    .connector-pill-badge {
        font-size: 8px;
        padding: 1px 3px;
        top: -12px;
    }
    .slide-to-boost-container {
        padding: 14px 14px;
    }
    .slide-to-boost-track {
        height: 52px;
    }
    .slider-drag-handle {
        width: 44px;
        height: 44px;
    }
    .slider-shimmer-label {
        font-size: 13px;
    }
    .comparator-stats-row {
        flex-direction: column;
    }
    .stat-col {
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
        padding: 20px 16px;
    }
    .stat-col:last-child {
        border-bottom: none;
    }
}

@media (max-width: 480px) {
    .header-actions .btn {
        padding: 8px 12px;
        font-size: 13px;
        min-width: auto;
    }
    .header .lang-btn-cta {
        min-width: 90px;
        height: 38px;
    }
    .header-actions {
        gap: 8px;
    }
}

/* ========================================================
   ENTERPRISE FOOTER
   ======================================================== */
.site-footer {
    background-color: #0c111d;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8;
    padding: 80px 0 40px;
    font-size: 14px;
}

.footer-container {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.footer-top-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
}

.footer-brand-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 360px;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #ffffff;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: -0.02em;
}

.footer-logo .logo-mark {
    width: 24px;
    height: 24px;
    color: var(--flowbill-blue);
}

.footer-brand-desc {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.footer-system-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 500;
    color: #34d399;
    width: fit-content;
}

.status-indicator-dot {
    width: 7px;
    height: 7px;
    background: #10b981;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.8);
    animation: statusPulse 2s infinite ease-in-out;
}

@keyframes statusPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.85); }
}

.footer-col-title {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #ffffff;
    margin: 0 0 20px 0;
}

.footer-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-nav-list a,
.footer-nav-item {
    color: #94a3b8;
    text-decoration: none;
    font-size: 13.5px;
    transition: color 0.15s ease;
}

.footer-nav-list a:hover {
    color: #ffffff;
}

.footer-btn-link {
    background: none;
    border: none;
    padding: 0;
    color: #94a3b8;
    font-size: 13.5px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: color 0.15s ease;
}

.footer-btn-link:hover {
    color: var(--flowbill-blue-light);
}

.footer-bottom-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 32px;
    font-size: 13px;
    color: #64748b;
    flex-wrap: wrap;
    gap: 16px;
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-legal-links a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.15s ease;
}

.footer-legal-links a:hover {
    color: #94a3b8;
}

.footer-legal-sep {
    color: #334155;
    font-size: 10px;
}

/* ========================================================
   LATERAL CONTACT DRAWER
   ======================================================== */
.contact-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    justify-content: flex-end;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.contact-drawer-overlay.is-open {
    visibility: visible;
    opacity: 1;
}

.contact-drawer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.contact-drawer-panel {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 560px;
    height: 100%;
    background: #ffffff;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
}

.contact-drawer-overlay.is-open .contact-drawer-panel {
    transform: translateX(0);
}

.drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 36px 36px 24px;
    border-bottom: 1px solid var(--border-subtle);
    background: #ffffff;
    position: sticky;
    top: 0;
    z-index: 5;
}

.drawer-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--flowbill-blue);
    margin-bottom: 8px;
}

.drawer-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    letter-spacing: -0.02em;
}

.drawer-close-btn {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-secondary);
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.drawer-close-btn:hover {
    background: #e2e8f0;
    color: var(--text-primary);
}

.drawer-close-btn svg {
    width: 18px;
    height: 18px;
}

.drawer-body {
    padding: 32px 36px 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.drawer-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin: 0;
}

.drawer-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-row.two-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-field label {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: -0.01em;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    padding: 10px 14px;
    font-size: 14px;
    font-family: inherit;
    color: var(--text-primary);
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    transition: all 0.15s ease;
    box-sizing: border-box;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    outline: none;
    border-color: var(--flowbill-blue);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #94a3b8;
}

.form-field textarea {
    resize: vertical;
    min-height: 84px;
}

.drawer-trust-notice {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    align-items: flex-start;
}

.notice-icon {
    width: 18px;
    height: 18px;
    color: var(--flowbill-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

.notice-text {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.5;
}

.notice-text strong {
    color: var(--text-primary);
}

.btn-drawer-submit {
    width: 100%;
    justify-content: center;
    padding: 13px 20px;
    font-size: 14.5px;
    font-weight: 600;
}

/* Success state inside drawer */
.drawer-success-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 48px 24px;
    gap: 18px;
}

.success-icon-wrap {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #059669;
    display: flex;
    align-items: center;
    justify-content: center;
}

.success-icon-wrap svg {
    width: 28px;
    height: 28px;
}

.success-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.success-desc {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.6;
    max-width: 360px;
    margin: 0;
}

@media (max-width: 992px) {
    .footer-top-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }
    .footer-brand-col {
        grid-column: 1 / -1;
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .footer-top-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .footer-bottom-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .drawer-header {
        padding: 24px 20px 18px;
    }
    .drawer-body {
        padding: 20px 20px 32px;
    }
    .form-row.two-fields {
        grid-template-columns: 1fr;
    }
}

