/* Mill Pond Research - Website Styles */

/* ===== CSS VARIABLES ===== */
:root {
  /* Primary Color Family */
  --deep-ocean: #056b94;
  --slate-blue: #568294;
  --bright-azure: #34a5d5;
  --powder-blue: #e6f0f5;
  --charcoal-dark: #1e3f4f;
  --light-neutral: #f0f4f8;
  --sky-aqua: #93e6ef;
  --cyan-bright: #46cee6;
  --mint-light: #e9fcff;
  --emerald-teal: #1a8499;
  --pure-black: #1f1f1f;
  --dark-teal: #095764;

  /* Font Families */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-headings: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', 'SF Mono', Monaco, 'Cascadia Code', monospace;
  --font-editorial: 'Crimson Pro', Georgia, 'Times New Roman', serif;
  
  /* Font Weights */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  
  /* Font Sizes - Modular Scale (1.250 - Major Third) */
  --text-xs: 0.75rem;    /* 12px */
  --text-sm: 0.875rem;   /* 14px */
  --text-base: 1rem;     /* 16px */
  --text-lg: 1.125rem;   /* 18px */
  --text-xl: 1.25rem;    /* 20px */
  --text-2xl: 1.563rem;  /* 25px */
  --text-3xl: 1.953rem;  /* 31px */
  --text-4xl: 2.441rem;  /* 39px */
  --text-5xl: 3.052rem;  /* 49px */
  
  /* Line Heights */
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  
  /* Letter Spacing */
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  
  /* Colors */
  --color-text-primary: #1a1a1a;
  --color-text-secondary: #4a5568;
  --color-text-muted: #718096;
  --color-accent: #2563eb;
  --color-accent-hover: #1d4ed8;
  --color-background: #ffffff;
  --color-surface: #f7fafc;
  --color-border: #e2e8f0;
  
  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
}

/* ===== BASE STYLES ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-primary);
    background-color: var(--color-background);
    font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Account for fixed announcement bar (48px) + navigation (~60px) */
    padding-top: calc(48px + 60px); /* Total ~108px */
}

/* When announcement bar is hidden, only account for navigation */
body.announcement-bar-hidden {
    padding-top: 60px; /* Just navigation height ~60px */
    transition: padding-top 0.3s ease-out;
}

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

/* ===== TECHCRUNCH ANNOUNCEMENT BAR ===== */
.techcrunch-announcement-bar {
    background-color: #00b04e; /* TechCrunch green */
    color: #ffffff;
    padding: 0.75rem 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 60;
    font-size: 0.9rem;
    font-weight: 500;
    min-height: 48px;
    display: flex;
    align-items: center;
}

/* Navigation positioning - flush with bottom of announcement bar */
#main-navigation {
    top: 48px; /* Flush with bottom of 48px announcement bar */
}

/* When announcement bar is hidden, navigation moves flush with top */
body.announcement-bar-hidden #main-navigation {
    top: 0 !important;
    transition: top 0.3s ease-out;
}

.techcrunch-announcement-bar .container {
    padding: 0 var(--space-xl);
    max-width: 1200px;
    margin: 0 auto;
}

.announcement-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
    flex-wrap: wrap;
}

.announcement-text {
    color: #ffffff;
    font-weight: 500;
}

.announcement-link {
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 0.25rem 0.75rem;
    border-radius: 0.375rem;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.announcement-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-1px);
}

.announcement-close {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 0.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    z-index: 61;
    flex-shrink: 0;
}

.announcement-close svg {
    width: 1.25rem;
    height: 1.25rem;
}

.announcement-close:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateY(-50%) scale(1.1);
}

.announcement-close:focus {
    outline: 2px solid rgba(255, 255, 255, 0.5);
    outline-offset: 2px;
}

/* Announcement bar hidden state */
.techcrunch-announcement-bar.hidden {
    display: none !important;
}

/* Navigation adjustments when announcement bar is hidden - handled in main CSS above */

/* Mobile menu stays flush with top regardless of announcement bar state */
.announcement-bar-hidden #mobile-menu {
    top: 0 !important;
}

.announcement-bar-hidden #mobile-menu div[tabindex="0"] {
    top: 0 !important;
}

.announcement-bar-hidden #mobile-menu el-dialog-panel {
    top: 0 !important;
}

/* ===== HEADINGS ===== */
.hero-title {
    font-family: var(--font-headings);
    font-size: var(--text-5xl);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text-primary);
    margin-bottom: var(--space-sm);
}

.hero-subtitle {
    font-family: var(--font-primary);
    font-size: var(--text-xl);
    font-weight: var(--weight-regular);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-3xl);
}

.section-title {
    font-family: var(--font-headings);
    font-size: var(--text-3xl);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-2xl);
    color: var(--color-text-primary);
}

.section-subtitle {
    font-family: var(--font-headings);
    font-size: var(--text-2xl);
    font-weight: var(--weight-medium);
    line-height: var(--leading-snug);
    color: var(--color-text-secondary);
    letter-spacing: var(--tracking-normal);
}

.heading-1 {
    font-family: var(--font-headings);
    font-size: var(--text-4xl);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin-bottom: var(--space-lg);
}

.heading-2 {
    font-family: var(--font-headings);
    font-size: var(--text-3xl);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-md);
}

.heading-3 {
    font-family: var(--font-headings);
    font-size: var(--text-2xl);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-snug);
    margin-bottom: var(--space-md);
}

.heading-4 {
    font-family: var(--font-headings);
    font-size: var(--text-xl);
    font-weight: var(--weight-medium);
    line-height: var(--leading-snug);
    margin-bottom: var(--space-sm);
}

/* ===== BODY TEXT ===== */
.body-large {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-lg);
    color: var(--color-text-primary);
}

.body-regular {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    margin-bottom: var(--space-md);
    color: var(--color-text-primary);
}

.body-small {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-md);
}

/* ===== EDITORIAL CONTENT ===== */
.quote {
    font-family: var(--font-editorial);
    font-size: var(--text-xl);
    font-style: italic;
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
    border-left: 4px solid var(--color-accent);
    padding-left: var(--space-lg);
    margin: var(--space-xl) 0;
}

.quote cite {
    display: block;
    font-style: normal;
    font-size: var(--text-base);
    font-weight: var(--weight-medium);
    margin-top: var(--space-sm);
    color: var(--color-text-muted);
}

.editorial {
    font-family: var(--font-editorial);
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    color: var(--color-text-primary);
    margin-bottom: var(--space-lg);
}

/* ===== CODE AND DATA ===== */
.code-block {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: var(--space-lg);
    margin: var(--space-lg) 0;
    overflow-x: auto;
    color: var(--color-text-primary);
}

.inline-code {
    font-family: var(--font-mono);
    font-size: 0.9em;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    padding: var(--space-xs) var(--space-sm);
    color: var(--color-accent);
}

.data-table {
    font-family: var(--font-mono);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    overflow: hidden;
    margin: var(--space-lg) 0;
}

.table-header {
    background-color: var(--color-text-primary);
    color: white;
    padding: var(--space-md);
    font-weight: var(--weight-semibold);
    font-size: var(--text-sm);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
}

.table-row {
    display: flex;
    justify-content: space-between;
    padding: var(--space-md);
    border-bottom: 1px solid var(--color-border);
}

.table-row:last-child {
    border-bottom: none;
}

.metric-label {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
}

.metric-value {
    font-weight: var(--weight-semibold);
    color: var(--color-text-primary);
    font-size: var(--text-base);
}

/* ===== INTERACTIVE ELEMENTS ===== */
.btn {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: var(--weight-medium);
    padding: var(--space-sm) var(--space-lg);
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-right: var(--space-md);
    margin-bottom: var(--space-md);
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

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

.btn-primary:hover {
    background-color: var(--color-accent-hover);
    transform: translateY(-1px);
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-accent);
    border: 2px solid var(--color-accent);
}

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

.link {
    color: var(--color-accent);
    text-decoration: none;
    font-weight: var(--weight-medium);
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.link:hover {
    border-bottom-color: var(--color-accent);
}

/* ===== MPR SPECIFIC STYLES ===== */
.mpr-btn-primary {
    background-color: var(--deep-ocean);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: var(--weight-semibold);
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
}

.mpr-btn-primary:hover {
    background-color: var(--dark-teal);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(5, 107, 148, 0.3);
}

.mpr-btn-secondary {
    background-color: transparent;
    color: var(--deep-ocean);
    padding: 0.75rem 1.5rem;
    border: 2px solid var(--deep-ocean);
    border-radius: 0.5rem;
    font-weight: var(--weight-semibold);
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
    cursor: pointer;
}

.mpr-btn-secondary:hover {
    background-color: var(--deep-ocean);
    color: white;
}

.mpr-text-deep-ocean { color: var(--deep-ocean); }
.mpr-text-slate-blue { color: var(--slate-blue); }
.mpr-text-bright-azure { color: var(--bright-azure); }
.mpr-text-charcoal-dark { color: var(--charcoal-dark); }

.mpr-bg-deep-ocean { background-color: var(--deep-ocean); }
.mpr-bg-powder-blue { background-color: var(--powder-blue); }
.mpr-bg-light-neutral { background-color: var(--light-neutral); }
.mpr-bg-mint-light { background-color: var(--mint-light); }

/* ===== LAYOUT ===== */
.type-specimen {
    margin-bottom: var(--space-3xl);
    padding-bottom: var(--space-2xl);
    border-bottom: 1px solid var(--color-border);
}

.type-specimen:last-child {
    border-bottom: none;
}

.specimen-label {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider);
    margin-bottom: var(--space-lg);
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
    /* Mobile body padding - announcement bar (40px) + navigation (~60px) */
    body {
        padding-top: calc(40px + 60px); /* Total ~100px */
    }

    /* Mobile - when announcement bar is hidden, only account for navigation */
    body.announcement-bar-hidden {
        padding-top: 60px; /* Just navigation height ~60px */
    }

    .container {
        padding: var(--space-lg);
    }

    /* Mobile announcement bar adjustments */
    .techcrunch-announcement-bar {
        padding: 0.5rem 0;
        min-height: 40px;
        font-size: 0.8rem;
    }

    .techcrunch-announcement-bar .container {
        padding: 0 var(--space-lg);
    }

    .announcement-content {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }

    .announcement-link {
        padding: 0.375rem 0.875rem;
        font-size: 0.8rem;
    }

    .announcement-close {
        right: 0.75rem;
        padding: 0.375rem;
    }

    .announcement-close svg {
        width: 1rem;
        height: 1rem;
    }

    /* Mobile navigation - flush with bottom of 40px announcement bar */
    #main-navigation {
        top: 40px !important; /* Flush with bottom of mobile announcement bar */
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
        min-height: 60px;
    }

    /* Mobile - when announcement bar is hidden, navigation moves to top */
    body.announcement-bar-hidden #main-navigation {
        top: 0 !important;
    }

    .hero-title {
        font-size: var(--text-4xl);
    }

    .hero-subtitle {
        font-size: var(--text-lg);
    }

    .heading-1 {
        font-size: var(--text-3xl);
    }

    .heading-2 {
        font-size: var(--text-2xl);
    }

    .quote {
        font-size: var(--text-lg);
        padding-left: var(--space-md);
    }

    .code-block {
        font-size: var(--text-xs);
        padding: var(--space-md);
    }

    .btn, .mpr-btn-primary, .mpr-btn-secondary {
        width: 100%;
        margin-bottom: var(--space-md);
        margin-right: 0;
    }
}

/* ===== GRID UTILITIES ===== */
.grid {
    display: grid;
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gap-4 {
    gap: 1rem;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-8 {
    gap: 2rem;
}

.gap-16 {
    gap: 4rem;
}

.items-center {
    align-items: center;
}

/* Flexbox utilities */
.flex {
    display: flex;
}

.min-h-screen {
    min-height: 100vh;
}

.max-w-xs {
    max-width: 20rem;
}

.max-w-2xl {
    max-width: 42rem;
}

.max-w-4xl {
    max-width: 56rem;
}

.max-w-48 {
    max-width: 12rem;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mb-12 {
    margin-bottom: 3rem;
}

.mb-16 {
    margin-bottom: 4rem;
}

.mb-20 {
    margin-bottom: 5rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mr-4 {
    margin-right: 1rem;
}

.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.p-6 {
    padding: 1.5rem;
}

.p-8 {
    padding: 2rem;
}

.pt-8 {
    padding-top: 2rem;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.shadow-md {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.bg-white {
    background-color: #ffffff;
}

.bg-gray-900 {
    background-color: #1a202c;
}

.text-white {
    color: #ffffff;
}

.border {
    border-width: 1px;
}

.border-gray-100 {
    border-color: #f7fafc;
}

.border-gray-700 {
    border-color: #4a5568;
}

.border-t {
    border-top-width: 1px;
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    margin-top: 0.5rem;
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    margin-top: 1rem;
}

.w-full {
    width: 100%;
}

@media (min-width: 768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    
    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    
    .lg\:order-1 {
        order: 1;
    }
    
    .lg\:order-2 {
        order: 2;
    }
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

/* ===== UTILITY CLASSES ===== */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.font-light { font-weight: var(--weight-light); }
.font-regular { font-weight: var(--weight-regular); }
.font-medium { font-weight: var(--weight-medium); }
.font-semibold { font-weight: var(--weight-semibold); }
.font-bold { font-weight: var(--weight-bold); }

.mb-xs { margin-bottom: var(--space-xs); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }
.mb-2xl { margin-bottom: var(--space-2xl); }
.mb-3xl { margin-bottom: var(--space-3xl); }

.mt-xs { margin-top: var(--space-xs); }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mt-2xl { margin-top: var(--space-2xl); }
.mt-3xl { margin-top: var(--space-3xl); }

.opacity-90 { opacity: 0.9; }
.opacity-75 { opacity: 0.75; }
.opacity-50 { opacity: 0.5; }

.transition-all { transition: all 0.2s ease; }
.transition-colors { transition: color 0.2s ease, background-color 0.2s ease; }

/* ===== COMPONENT SPECIFIC STYLES ===== */
.hero-gradient {
    background: linear-gradient(135deg, var(--powder-blue) 0%, var(--light-neutral) 50%, #ffffff 100%);
}

/* WorkBench page specific icon sizing */
.workbench-feature-icon {
    width: 150px !important;
    height: 150px !important;
    max-width: 150px !important;
    max-height: 150px !important;
}

/* Product logo styling for hero sections */
.product-logo-container {
    display: inline-block;
    background: radial-gradient(circle at center, #34a5d5 0%, #056b94 70%);
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 
        0 10px 25px -5px rgba(5, 107, 148, 0.3),
        0 4px 12px -2px rgba(5, 107, 148, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    margin-bottom: 2rem;
}

.product-logo-img {
    max-height: 100px;
    width: auto;
    max-width: 200px;
}

/* Additional gradient classes for homepage content */
.gradient-powder-mint {
    background: linear-gradient(135deg, var(--powder-blue) 0%, var(--mint-light) 100%);
}

.gradient-mint-aqua {
    background: linear-gradient(135deg, var(--mint-light) 0%, var(--sky-aqua) 100%);
}

.gradient-aqua-azure {
    background: linear-gradient(135deg, var(--sky-aqua) 0%, var(--bright-azure) 100%);
}

.gradient-azure-powder {
    background: linear-gradient(135deg, var(--bright-azure) 0%, var(--powder-blue) 100%);
}

.gradient-neutral-powder {
    background: linear-gradient(135deg, var(--light-neutral) 0%, var(--powder-blue) 100%);
}

.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.feature-icon {
    width: 150px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.feature-icon svg {
    width: 150px;
    height: 150px;
    color: var(--deep-ocean);
    transition: all 0.2s ease;
}

.feature-icon-svg {
    width: 150px;
    height: 150px;
    transition: all 0.2s ease;
}

.feature-icon:hover {
    transform: scale(1.05);
}

.feature-icon:hover svg {
    color: var(--bright-azure);
}

.feature-icon:hover .feature-icon-svg {
    filter: none;
}

/* ===== FORM STYLES ===== */
.form-input {
    width: 100%;
    padding: var(--space-md);
    border: 2px solid var(--color-border);
    border-radius: 0.5rem;
    font-size: var(--text-base);
    font-family: var(--font-primary);
    transition: border-color 0.2s ease;
}

.form-input:focus {
    outline: none;
    border-color: var(--deep-ocean);
}

.form-label {
    display: block;
    font-weight: var(--weight-medium);
    margin-bottom: var(--space-sm);
    color: var(--color-text-primary);
}

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

/* ===== NAVIGATION SPECIFIC ===== */
.nav-link {
    color: var(--color-text-primary);
    text-decoration: none;
    font-weight: var(--weight-semibold);
}

.nav-link:hover {
    color: var(--deep-ocean);
}

.nav-dropdown {
    background-color: white;
    border-radius: 1rem;
    box-shadow: 0 10px 25px rgba(5, 107, 148, 0.15);
    border: none;
}

.nav-dropdown-item {
    padding: var(--space-md);
    border-radius: 0.5rem;
}

.nav-dropdown-item:hover {
    background-color: var(--powder-blue);
}

/* Enhanced Navigation Styles */
header {
    backdrop-filter: blur(10px);
    background: var(--powder-blue);
    border-bottom: none;
    box-shadow: 0 2px 20px rgba(5, 107, 148, 0.1);
}

.nav-dropdown-trigger {
    position: relative;
    cursor: pointer;
}

/* Custom color classes */
.text-deep-ocean {
    color: var(--deep-ocean);
}

.hover\:text-deep-ocean:hover {
    color: var(--deep-ocean);
}

.bg-deep-ocean {
    background-color: var(--deep-ocean);
}

.hover\:bg-deep-ocean:hover {
    background-color: var(--deep-ocean);
}

.hover\:bg-dark-teal:hover {
    background-color: var(--dark-teal);
}

.bg-powder-blue {
    background-color: var(--powder-blue);
}

.hover\:bg-powder-blue:hover {
    background-color: var(--powder-blue);
}

.bg-bright-azure {
    background-color: var(--bright-azure);
}

.hover\:bg-bright-azure:hover {
    background-color: var(--bright-azure);
}

.group:hover .group-hover\:bg-bright-azure {
    background-color: var(--bright-azure);
}

.group:hover .group-hover\:text-white {
    color: white;
}

/* Additional utility classes for navigation */
.size-5 {
    width: 1.25rem;
    height: 1.25rem;
}

.size-6 {
    width: 1.5rem;
    height: 1.5rem;
}

.size-11 {
    width: 2.75rem;
    height: 2.75rem;
}

.flex-none {
    flex: none;
}

.flex-auto {
    flex: 1 1 auto;
}

.-translate-x-1\/2 {
    transform: translateX(-50%);
}

.-m-1\.5 {
    margin: -0.375rem;
}

.-m-2\.5 {
    margin: -0.625rem;
}

.-mx-3 {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}

.p-1\.5 {
    padding: 0.375rem;
}

.p-2\.5 {
    padding: 0.625rem;
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}

.lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}

@media (min-width: 1024px) {
    .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.max-w-7xl {
    max-width: 80rem;
}

.justify-between {
    justify-content: space-between;
}

.justify-end {
    justify-content: flex-end;
}

.gap-x-1 {
    column-gap: 0.25rem;
}

.gap-x-6 {
    column-gap: 1.5rem;
}

.gap-x-12 {
    column-gap: 3rem;
}

.lg\:gap-x-12 {
    column-gap: 3rem;
}

@media (min-width: 1024px) {
    .lg\:gap-x-12 {
        column-gap: 3rem;
    }
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}

.font-semibold {
    font-weight: 600;
}

.text-gray-400 {
    color: #9ca3af;
}

.text-gray-600 {
    color: #4b5563;
}

.text-gray-700 {
    color: #374151;
}

.text-gray-900 {
    color: #111827;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.fixed {
    position: fixed;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.inset-0 {
    inset: 0px;
}

.inset-y-0 {
    top: 0px;
    bottom: 0px;
}

.top-0 {
    top: 0px;
}

.right-0 {
    right: 0px;
}

.left-1\/2 {
    left: 50%;
}

.z-10 {
    z-index: 10;
}

.z-50 {
    z-index: 50;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-3 {
    margin-top: 0.75rem;
}

.pt-20 {
    padding-top: 5rem;
}

.h-8 {
    height: 2rem;
}

.w-auto {
    width: auto;
}

.w-screen {
    width: 100vw;
}

.max-w-md {
    max-width: 28rem;
}

.max-w-sm {
    max-width: 24rem;
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-pointer {
    cursor: pointer;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-y-auto {
    overflow-y: auto;
}

.rounded-3xl {
    border-radius: 1.5rem;
}

.shadow-sm {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.ring-1 {
    box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.05);
}

.ring-gray-900\/5 {
    box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.05);
}

.sm\:ring-1 {
    box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.1);
}

.sm\:ring-gray-900\/10 {
    box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.1);
}

@media (min-width: 640px) {
    .sm\:max-w-sm {
        max-width: 24rem;
    }
    
    .sm\:px-0 {
        padding-left: 0px;
        padding-right: 0px;
    }
    
    .sm\:ring-1 {
        box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.1);
    }
    
    .sm\:ring-gray-900\/10 {
        box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.1);
    }
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.duration-200 {
    transition-duration: 200ms;
}

.invisible {
    visibility: hidden;
}

.opacity-0 {
    opacity: 0;
}

.bg-black {
    background-color: rgb(0 0 0);
}

.bg-opacity-25 {
    background-color: rgba(0, 0, 0, 0.25);
}

.hover\:bg-gray-50:hover {
    background-color: #f9fafb;
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
    border-top-width: 1px;
}

.divide-gray-500\/10 > :not([hidden]) ~ :not([hidden]) {
    border-color: rgba(107, 114, 128, 0.1);
}

.flow-root {
    display: flow-root;
}

.-my-6 {
    margin-top: -1.5rem;
    margin-bottom: -1.5rem;
}

.inline-flex {
    display: inline-flex;
}

.justify-center {
    justify-content: center;
}

.rounded-md {
    border-radius: 0.375rem;
}

@media (min-width: 1024px) {
    .lg\:hidden {
        display: none;
    }
    
    .lg\:flex {
        display: flex;
    }
    
    .lg\:flex-1 {
        flex: 1 1 0%;
    }
    
    .lg\:justify-end {
        justify-content: flex-end;
    }
}

/* ===== MOBILE NAVIGATION JAVASCRIPT ===== */
.mobile-menu-hidden {
    display: none;
}

.mobile-menu-visible {
    display: block;
}

/* ===== ENHANCED CHALLENGE AND PRODUCT SECTIONS ===== */
.challenge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.challenge-card {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(86, 130, 148, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.challenge-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--deep-ocean), var(--bright-azure));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.challenge-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(5, 107, 148, 0.15);
}

.challenge-card:hover::before {
    transform: scaleX(1);
}

.challenge-icon {
    width: 4rem;
    height: 4rem;
    background: linear-gradient(135deg, var(--powder-blue), var(--mint-light));
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    margin-bottom: 1.5rem;
}

.challenge-icon svg {
    width: 2rem;
    height: 2rem;
    color: var(--deep-ocean);
    transition: all 0.3s ease;
}

.challenge-card:hover .challenge-icon {
    background: linear-gradient(135deg, var(--bright-azure), var(--cyan-bright));
    transform: scale(1.1);
}

.challenge-card:hover .challenge-icon svg {
    color: white;
    transform: scale(1.1);
}

/* Product Card Styling */
.product-card {
    background: white;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(86, 130, 148, 0.1);
    transition: all 0.3s ease;
    max-width: 500px;
    margin: 0 auto;
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(5, 107, 148, 0.15);
}

.product-card-header {
    background: var(--deep-ocean);
    padding: 2rem;
    text-align: center;
}

.product-card-logo {
    max-width: 180px;
    height: auto;
    filter: brightness(0) invert(1);
}

.product-screenshot {
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--light-neutral) 0%, #f8fafc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid rgba(86, 130, 148, 0.1);
    border-bottom: 1px solid rgba(86, 130, 148, 0.1);
    position: relative;
    overflow: hidden;
}

.product-screenshot-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.screenshot-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    color: var(--slate-blue);
    transition: all 0.3s ease;
}

.product-card:hover .screenshot-placeholder {
    color: var(--deep-ocean);
    transform: scale(1.05);
}

.screenshot-icon {
    width: 4rem;
    height: 4rem;
    opacity: 0.7;
}

.screenshot-text {
    font-family: var(--font-headings);
    font-size: var(--text-lg);
    font-weight: var(--weight-medium);
    margin: 0;
}

.product-features {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.feature-highlight {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: rgba(230, 240, 245, 0.5);
    border-radius: 0.75rem;
    transition: all 0.3s ease;
}

.feature-highlight:hover {
    background: rgba(52, 165, 213, 0.1);
    transform: translateX(8px);
}

.highlight-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--color-border);
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.highlight-dot.active {
    background: linear-gradient(135deg, var(--deep-ocean), var(--bright-azure));
    animation: pulse 2s infinite;
}

.highlight-text {
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
    color: var(--color-text-primary);
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
        transform: scale(1.1);
    }
}

/* Enhanced Hero Section with Animated Data Flow */
.hero-gradient {
    background: linear-gradient(135deg, 
        var(--powder-blue) 0%, 
        var(--mint-light) 25%, 
        #ffffff 50%,
        var(--light-neutral) 75%,
        var(--powder-blue) 100%);
    position: relative;
    overflow: hidden;
}

.hero-gradient::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(52, 165, 213, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(70, 206, 230, 0.1) 0%, transparent 50%);
    pointer-events: none;
}



/* Enhanced Feature Cards */
.card-hover {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.card-hover:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: 0 25px 50px rgba(5, 107, 148, 0.15);
}

/* Improved CTA Section */
.gradient-azure-powder {
    background: linear-gradient(135deg, 
        var(--bright-azure) 0%, 
        var(--powder-blue) 50%,
        var(--mint-light) 100%);
    position: relative;
}

.gradient-azure-powder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

/* Enhanced Form Styling */
.form-input {
    width: 100%;
    padding: 1rem 1.25rem;
    border: 2px solid rgba(226, 232, 240, 0.8);
    border-radius: 0.75rem;
    font-size: var(--text-base);
    font-family: var(--font-primary);
    transition: all 0.3s ease;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
}

.form-input:focus {
    outline: none;
    border-color: var(--deep-ocean);
    box-shadow: 0 0 0 4px rgba(5, 107, 148, 0.1);
    background: white;
}

/* Responsive Enhancements */
@media (max-width: 768px) {
    .challenge-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .challenge-card {
        padding: 1.5rem;
    }
    
    .product-card {
        max-width: 100%;
    }
    
    .product-card-header {
        padding: 1.5rem;
    }
    
    .product-card-logo {
        max-width: 140px;
    }
    
    .product-features {
        padding: 1.5rem;
    }
    
    .screenshot-icon {
        width: 3rem;
        height: 3rem;
    }
    
    .screenshot-text {
        font-size: var(--text-base);
    }
}

/* ===== ENHANCED NAVIGATION IMPROVEMENTS ===== */

/* Navigation container improvements */
nav {
    padding: 1rem 2rem !important;
}

@media (min-width: 1024px) {
    nav {
        padding: 1rem 3rem !important;
    }
}

/* Logo spacing improvements */
.nav-logo {
    padding: 0.5rem 1rem;
    margin-right: 2rem;
}

.nav-logo img {
    height: 2.5rem !important;
}

/* Navigation links styling - moved to main section to avoid duplication */

.nav-main-link svg {
    color: var(--slate-blue);
}

.nav-main-link:hover svg {
    color: var(--deep-ocean);
}

/* Dropdown improvements */
.nav-dropdown {
    padding: 1rem;
}

.nav-dropdown-item {
    padding: 1rem;
    margin-bottom: 0.5rem;
    border-radius: 0.75rem;
}

.nav-dropdown-item:hover {
    background-color: var(--mint-light);
    transform: translateX(4px);
}

.nav-dropdown-item:last-child {
    margin-bottom: 0;
}

/* Mobile menu improvements */
.mobile-menu-trigger {
    padding: 0.5rem;
    border-radius: 0.5rem;
    color: var(--deep-ocean);
}

.mobile-menu-trigger:hover {
    background-color: rgba(5, 107, 148, 0.1);
}

/* Remove any unwanted borders and outlines */
button:focus,
a:focus {
    outline: 2px solid var(--bright-azure);
    outline-offset: 2px;
}

/* Ensure all navigation buttons look consistent */
.nav-main-link,
button.nav-main-link {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    box-shadow: none;
    font-family: inherit;
}

/* Override any default button styling */
button.nav-main-link:focus {
    outline: 2px solid var(--bright-azure);
    outline-offset: 2px;
    box-shadow: none;
}

button.nav-main-link:active {
    transform: none;
    box-shadow: none;
}

/* Ensure proper spacing between navigation items */
.nav-items-container {
    gap: 1rem;
}

@media (min-width: 1024px) {
    .nav-items-container {
        gap: 2rem;
    }
}

/* ===== MOBILE MENU STYLING ===== */

/* Mobile menu sections */
.mobile-menu-section {
    padding: 1.5rem 0;
}

.mobile-section-header {
    margin-bottom: 1.5rem;
}

.mobile-section-header h3 {
    font-family: var(--font-headings);
    font-size: var(--text-lg);
    font-weight: var(--weight-semibold);
    color: var(--deep-ocean);
    margin: 0;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--powder-blue);
}

.mobile-menu-item {
    padding: 1.25rem;
    border-radius: 1rem;
    margin-bottom: 0.75rem;
}

.mobile-menu-item:hover {
    background-color: var(--mint-light);
    transform: translateX(6px);
}

.mobile-menu-item:last-child {
    margin-bottom: 0;
}

.mobile-menu-item a {
    text-decoration: none;
    color: inherit;
}

.mobile-menu-item a:hover {
    text-decoration: none;
}

/* Mobile menu icon styling */
.mobile-menu-item .size-10 {
    width: 3rem !important;
    height: 3rem !important;
    border-radius: 0.75rem;
    flex-shrink: 0;
    background: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-menu-item .size-10 svg {
    width: 2.5rem !important;
    height: 2.5rem !important;
    color: var(--deep-ocean);
}

.mobile-menu-item:hover .size-10 {
    transform: scale(1.05);
}

.mobile-menu-item:hover .size-10 svg {
    color: var(--bright-azure);
    transform: scale(1.1);
}

/* Mobile menu content layout */
.mobile-menu-item .flex.items-center {
    gap: 1.25rem !important;
    align-items: flex-start;
}

.mobile-menu-item .flex-auto {
    padding-top: 0.125rem;
}

.mobile-menu-item .flex-auto a {
    font-size: 1.125rem;
    font-weight: var(--weight-semibold);
    line-height: 1.5;
    margin-bottom: 0.25rem;
    display: block;
}

.mobile-menu-item .flex-auto p {
    font-size: 0.9375rem;
    line-height: 1.4;
    color: var(--color-text-secondary);
    margin: 0;
}

/* Mobile navigation button styling */
.nav-contact-btn.w-full {
    justify-content: center;
}

/* Mobile dialog panel styling */
el-dialog-panel {
    box-shadow: 0 10px 40px rgba(5, 107, 148, 0.2);
}

/* Mobile-specific navigation adjustments */
@media (max-width: 1023px) {
    /* Mobile menu should be flush with screen top when open */
    #mobile-menu {
        top: 0;
    }

    /* Adjust mobile menu trigger positioning */
    .mobile-menu-trigger {
        margin-top: 0.25rem;
    }
}

/* ===== NEW SCREENSHOT LAYOUT STYLES ===== */

/* Screenshot image sizing */
.w-3xl {
    width: 48rem; /* 768px */
}

.max-w-none {
    max-width: none;
}

.rounded-xl {
    border-radius: 0.75rem;
}

.shadow-xl {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.ring-1 {
    box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.05);
}

.ring-gray-400\/10 {
    box-shadow: 0 0 0 1px rgba(156, 163, 175, 0.1);
}

.sm\\:w-228 {
    width: 57rem; /* 912px */
}

.md\\:-ml-4 {
    margin-left: -1rem;
}

.lg\\:-ml-0 {
    margin-left: 0;
}

/* Large grid layout */
.lg\\:mx-0 {
    margin-left: 0;
    margin-right: 0;
}

.lg\\:max-w-none {
    max-width: none;
}

.lg\\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Grid gap utilities */
.gap-x-8 {
    column-gap: 2rem;
}

.gap-x-12 {
    column-gap: 3rem;
}

.gap-y-16 {
    row-gap: 4rem;
}

.sm\\:gap-y-20 {
    row-gap: 5rem;
}

/* Text layout utilities */
.lg\\:pt-4 {
    padding-top: 1rem;
}

.lg\\:pr-8 {
    padding-right: 2rem;
}

.lg\\:pl-4 {
    padding-left: 1rem;
}

.lg\\:ml-auto {
    margin-left: auto;
}

.lg\\:max-w-lg {
    max-width: 32rem;
}

.lg\\:max-w-xl {
    max-width: 36rem;
}

.max-w-7xl {
    max-width: 80rem;
}

.max-w-2xl {
    max-width: 42rem;
}

/* Typography for new sections */
.text-base\/7 {
    font-size: 1rem;
    line-height: 1.75rem;
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}

.sm\\:text-5xl {
    font-size: 3rem;
    line-height: 1;
}

.text-lg\/8 {
    font-size: 1.125rem;
    line-height: 2rem;
}

.text-base\/7 {
    font-size: 1rem;
    line-height: 1.75rem;
}

.tracking-tight {
    letter-spacing: -0.025em;
}

.text-pretty {
    text-wrap: pretty;
}

/* Colors for new sections */
.text-indigo-600 {
    color: var(--deep-ocean);
}

.text-gray-900 {
    color: #111827;
}

.text-gray-700 {
    color: #374151;
}

.text-gray-600 {
    color: #4b5563;
}

/* Description list styling */
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
    margin-top: 2rem;
}

.relative {
    position: relative;
}

.pl-9 {
    padding-left: 2.25rem;
}

.inline {
    display: inline;
}

.absolute {
    position: absolute;
}

.top-1 {
    top: 0.25rem;
}

.left-1 {
    left: 0.25rem;
}

.size-5 {
    width: 1.25rem;
    height: 1.25rem;
}

/* Order utilities */
.lg\\:order-first {
    order: -1;
}

/* Object fit and aspect ratio utilities */
.object-cover {
    object-fit: cover;
}

.aspect-\[4\/3\] {
    aspect-ratio: 4/3;
}

/* Flex utilities for new layout */
.items-start {
    align-items: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

/* Responsive image sizing for new layout */
@media (max-width: 768px) {
    .w-3xl {
        width: 100%;
        max-width: 100%;
    }

    .sm\\:w-228 {
        width: 100%;
    }

    .md\\:-ml-4 {
        margin-left: 0;
    }
}

@media (min-width: 640px) {
    .sm\\:w-228 {
        width: 100%;
        max-width: 42rem; /* Reasonable max on smaller screens */
    }

    .sm\\:gap-y-20 {
        row-gap: 5rem;
    }

    .sm\\:text-5xl {
        font-size: 3rem;
        line-height: 1;
    }
}

@media (min-width: 768px) {
    .md\\:-ml-4 {
        margin-left: -1rem;
    }
}

@media (min-width: 1024px) {
    .lg\\:mx-0 {
        margin-left: 0;
        margin-right: 0;
    }

    .lg\\:max-w-none {
        max-width: none;
    }

    .lg\\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\\:pt-4 {
        padding-top: 1rem;
    }

    .lg\\:pr-8 {
        padding-right: 2rem;
    }

    .lg\\:pl-4 {
        padding-left: 1rem;
    }

    .lg\\:ml-auto {
        margin-left: auto;
    }

    .lg\\:max-w-lg {
        max-width: 32rem;
    }

    .lg\\:-ml-0 {
        margin-left: 0;
    }

    .lg\\:order-first {
        order: -1;
    }

    .sm\\:w-228 {
        width: 57rem;
        max-width: 57rem;
    }

    .w-3xl {
        width: 48rem;
        max-width: 48rem;
    }
}
        margin-bottom: 0.25rem;
    }

    /* Mobile navigation header improvements */
    header#main-navigation nav {
        padding: 1rem 1.5rem !important;
        min-height: 60px;
        align-items: center;
    }

    /* Mobile hamburger button spacing */
    .mobile-menu-trigger {
        padding: 0.75rem !important;
        margin: 0.25rem !important;
    }

    /* Ensure proper mobile menu backdrop */
    #mobile-menu dialog {
        margin-top: 0;
    }
}

/* Navigation will be controlled by JavaScript based on mobile menu button visibility */

/* Basic navigation layout - controlled by JS */
.nav-items-container {
    gap: 2rem;
    align-items: center;
}

/* When desktop navigation is shown via JS */
el-popover-group[style*="display: flex"] {
    align-items: center;
    gap: 2rem;
}

/* When contact button container is shown via JS */
div[style*="display: flex"].nav-contact-container {
    flex: 1 1 0%;
    justify-content: flex-end;
}

.nav-main-link {
    font-size: 1rem;
    font-weight: var(--weight-semibold);
    color: var(--deep-ocean);
    padding: 0.75rem 1.25rem;
    border-radius: 0.5rem;
    transition: all 0.2s ease;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    background: none;
    cursor: pointer;
}

.nav-main-link:hover {
    background-color: rgba(5, 107, 148, 0.1);
    color: var(--dark-teal);
}

.nav-contact-btn {
    background-color: var(--deep-ocean);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 0.75rem;
    font-weight: var(--weight-semibold);
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(5, 107, 148, 0.2);
}

.nav-contact-btn:hover {
    background-color: var(--dark-teal);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(5, 107, 148, 0.3);
}

/* Global hidden utility */
.hidden {
    display: none !important;
}

/* Override hidden for navigation when controlled by JS */
el-popover-group.nav-items-container:not(.hidden) {
    display: flex !important;
}

div.nav-contact-container:not(.hidden) {
    display: flex !important;
}

/* Force show desktop navigation on large screens */
@media (min-width: 1024px) {
    el-popover-group {
        display: flex !important;
    }

    .hidden.lg\\:flex {
        display: flex !important;
    }

    .hidden.lg\\:flex.lg\\:flex-1.lg\\:justify-end {
        display: flex !important;
        flex: 1 1 0%;
        justify-content: flex-end;
    }

    /* Desktop navigation - flush with bottom of 48px announcement bar */
    #main-navigation {
        top: 48px !important; /* Flush with bottom of desktop announcement bar */
    }

    /* Desktop - when announcement bar is hidden, navigation moves to top */
    body.announcement-bar-hidden #main-navigation {
        top: 0 !important;
    }

    /* Desktop announcement bar maintains full size */
    .techcrunch-announcement-bar {
        min-height: 48px;
        padding: 0.75rem 0;
        font-size: 0.9rem;
    }
}

/* Button loading states */
.button-spinner {
    display: inline-block;
}

button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ===== FOOTER STYLES ===== */
footer {
    background: white;
    padding: 5rem 1.5rem;
}

footer.dark {
    background: var(--color-surface-dark);
}

footer .footer-container {
    max-width: 80rem;
    margin: 0 auto;
    overflow: hidden;
}

footer nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: -1.5rem;
    gap: 3rem 1rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
}

footer nav a {
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
}

footer nav a:hover {
    color: var(--color-text-primary);
}

footer .social-links {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    margin-top: 4rem;
}

footer .social-links a {
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
}

footer .social-links a:hover {
    color: var(--color-text-primary);
}

footer .social-links svg {
    width: 1.5rem;
    height: 1.5rem;
}

footer .copyright {
    margin-top: 2.5rem;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.5rem;
    color: var(--color-text-secondary);
}

/* Dark mode support for footer */
@media (prefers-color-scheme: dark) {
    footer {
        background: var(--color-surface-dark);
    }
}

/* ===== ENHANCED CTA SECTION STYLES ===== */

/* CTA Typography Hierarchy */
.cta-main-title {
    font-family: var(--font-headings);
    font-size: 3.5rem;
    font-weight: var(--weight-bold);
    line-height: 1.1;
    color: var(--charcoal-dark);
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

.cta-subtitle {
    font-family: var(--font-primary);
    font-size: 1.375rem;
    font-weight: var(--weight-regular);
    color: var(--slate-blue);
    line-height: 1.4;
    margin-bottom: 2rem;
}

.cta-value-prop {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0;
}

.cta-control-text, .cta-results-text {
    font-family: var(--font-headings);
    font-size: 1.75rem;
    font-weight: var(--weight-semibold);
    line-height: 1.3;
}

.cta-control-text {
    color: var(--deep-ocean);
}

.cta-results-text {
    color: var(--emerald-teal);
}

/* Benefits Container Layout */
.cta-benefits-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 3rem 0 4rem 0;
}

.cta-benefits-row {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 1.25rem;
    padding: 2rem 2.5rem;
    box-shadow: 0 8px 32px rgba(5, 107, 148, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    display: flex;
    align-items: center;
    gap: 3rem;
}

.cta-benefits-row:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(5, 107, 148, 0.2);
    background: rgba(255, 255, 255, 1);
}

.cta-benefits-row::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--deep-ocean), var(--bright-azure));
    border-radius: 1.25rem 1.25rem 0 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.cta-benefits-row:hover::before {
    transform: scaleX(1);
}

/* Row Headers */
.cta-row-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-shrink: 0;
    min-width: 280px;
}

.cta-row-icon {
    width: 3.5rem;
    height: 3.5rem;
    background: linear-gradient(135deg, var(--powder-blue), var(--mint-light));
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.cta-row-icon svg {
    width: 2rem;
    height: 2rem;
    color: var(--deep-ocean);
    transition: all 0.3s ease;
}

.cta-benefits-row:hover .cta-row-icon {
    background: linear-gradient(135deg, var(--bright-azure), var(--cyan-bright));
    transform: scale(1.05);
}

.cta-benefits-row:hover .cta-row-icon svg {
    color: white;
    transform: scale(1.1);
}

.cta-row-title {
    font-family: var(--font-headings);
    font-size: 1.375rem;
    font-weight: var(--weight-semibold);
    color: var(--charcoal-dark);
    margin: 0;
    line-height: 1.3;
}

/* Row Benefits */
.cta-row-benefits {
    display: flex;
    flex: 1;
    gap: 2rem;
}

.cta-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: 1rem;
    border-radius: 0.75rem;
    transition: all 0.2s ease;
    flex: 1;
}

.cta-benefit-item:hover {
    background: rgba(230, 240, 245, 0.6);
    transform: translateY(-2px);
}

.cta-benefit-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--deep-ocean), var(--bright-azure));
    flex-shrink: 0;
    margin-top: 0.5rem;
    transition: all 0.2s ease;
}

.cta-benefit-item:hover .cta-benefit-bullet {
    transform: scale(1.2);
    box-shadow: 0 0 8px rgba(5, 107, 148, 0.4);
}

.cta-benefit-item span {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-text-primary);
    font-weight: var(--weight-regular);
}

/* Closing Statement */
.cta-closing-statement {
    text-align: center;
    max-width: 48rem;
    margin: 0 auto 5rem auto;
    padding: 3rem 2rem;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 1.5rem;
    backdrop-filter: blur(15px);
    box-shadow: 0 8px 32px rgba(5, 107, 148, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.cta-main-message {
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--color-text-primary);
    margin-bottom: 1.5rem;
    font-weight: var(--weight-regular);
}

.cta-tagline {
    font-family: var(--font-headings);
    font-size: 1.375rem;
    line-height: 1.4;
    color: var(--deep-ocean);
    margin: 0;
    font-weight: var(--weight-medium);
}

.cta-tagline strong {
    font-weight: var(--weight-bold);
    background: linear-gradient(135deg, var(--deep-ocean), var(--bright-azure));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Responsive Design */
@media (max-width: 768px) {
    .cta-main-title {
        font-size: 2.5rem;
        line-height: 1.2;
    }
    
    .cta-subtitle {
        font-size: 1.125rem;
    }
    
    .cta-control-text, .cta-results-text {
        font-size: 1.375rem;
    }
    
    .cta-benefits-container {
        gap: 1.25rem;
        margin: 2.5rem 0 3rem 0;
    }
    
    .cta-benefits-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
        padding: 1.75rem;
    }
    
    .cta-row-header {
        min-width: auto;
        gap: 1rem;
    }
    
    .cta-row-icon {
        width: 3rem;
        height: 3rem;
    }
    
    .cta-row-icon svg {
        width: 1.75rem;
        height: 1.75rem;
    }
    
    .cta-row-title {
        font-size: 1.25rem;
    }
    
    .cta-row-benefits {
        flex-direction: column;
        gap: 1rem;
    }
    
    .cta-closing-statement {
        max-width: 100%;
        padding: 2rem 1.5rem;
        margin: 0 auto 3.5rem auto;
    }
    
    .cta-main-message {
        font-size: 1.125rem;
    }
    
    .cta-tagline {
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .cta-value-prop {
        gap: 0.25rem;
    }
    
    .cta-control-text, .cta-results-text {
        font-size: 1.25rem;
    }
    
    .cta-row-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.75rem;
    }
    
    .cta-benefit-item {
        align-items: center;
        text-align: left;
        padding: 0.75rem;
    }
}

/* ===== ABOUT US PAGE STYLES ===== */

/* Mission Cards Row - ensures single row layout */
.mission-cards-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 768px) {
    .mission-cards-row {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* Founder Photo Styling */
.founder-photo-container {
    position: relative;
    display: inline-block;
}

.founder-photo {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    border: 4px solid var(--powder-blue);
    box-shadow: 0 8px 24px rgba(5, 107, 148, 0.15);
    transition: all 0.3s ease;
}

.founder-photo:hover {
    transform: scale(1.05);
    border-color: var(--bright-azure);
    box-shadow: 0 12px 32px rgba(5, 107, 148, 0.25);
}

/* Press Release Icon Styling */
.press-release-icon {
    width: 150px;
    height: 150px;
    max-width: 150px;
    max-height: 150px;
    object-fit: contain;
    filter: none;
    transition: all 0.3s ease;
}

.press-release-icon:hover {
    transform: scale(1.05);
    filter: brightness(1.1);
}

/* Press Releases Section Styling */
.press-releases-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.press-release-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 8px 32px rgba(5, 107, 148, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.press-release-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--deep-ocean), var(--bright-azure));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.press-release-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(5, 107, 148, 0.2);
    background: rgba(255, 255, 255, 1);
}

.press-release-card:hover::before {
    transform: scaleX(1);
}

/* Publication Logo Container - Top Right */
.publication-logo-container-right {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 10;
}

.publication-logo-img {
    width: 3rem;
    height: 3rem;
    object-fit: contain;
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    background: rgba(255, 255, 255, 0.9);
}

/* ===== PERSONA SECTION ===== */
.persona-section-intro {
    text-align: center;
    margin-bottom: 3rem;
}

.persona-opening {
    margin-bottom: 2rem;
}

.persona-intro-text {
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--charcoal-dark);
    font-weight: var(--weight-medium);
    max-width: 800px;
    margin: 0 auto;
}

.persona-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
    align-items: start;
}

.persona-box {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 8px 32px rgba(5, 107, 148, 0.08);
    border: 1px solid rgba(5, 107, 148, 0.1);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.persona-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--deep-ocean), var(--bright-azure));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.persona-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(5, 107, 148, 0.12);
    background: rgba(255, 255, 255, 1);
}

.persona-box:hover::before {
    transform: scaleX(1);
}

.persona-header {
    margin-bottom: 1.5rem;
}

.persona-title {
    font-family: var(--font-headings);
    font-size: 1.5rem;
    font-weight: var(--weight-semibold);
    color: var(--deep-ocean);
    margin: 0;
}

.persona-benefits {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.persona-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-text-secondary);
}

.persona-bullet {
    width: 8px;
    height: 8px;
    background: var(--bright-azure);
    border-radius: 50%;
    margin-top: 0.5rem;
    flex-shrink: 0;
}

.persona-closing {
    text-align: center;
    margin-bottom: 3rem;
}

.persona-tagline {
    font-family: var(--font-headings);
    font-size: 1.75rem;
    font-weight: var(--weight-semibold);
    color: var(--deep-ocean);
    margin: 0;
    line-height: 1.3;
}

/* Mobile responsiveness for persona section */
@media (max-width: 768px) {
    .persona-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .persona-box {
        padding: 1.5rem;
    }
    
    .persona-title {
        font-size: 1.25rem;
    }
    
    .persona-tagline {
        font-size: 1.5rem;
    }
    
    .persona-intro-text {
        font-size: 1.125rem;
    }
}

.press-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.press-date {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    font-weight: var(--weight-medium);
}

.press-publication {
    font-size: 0.875rem;
    color: var(--deep-ocean);
    font-weight: var(--weight-semibold);
    background: rgba(5, 107, 148, 0.1);
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    border: 1px solid rgba(5, 107, 148, 0.2);
}

.press-title {
    font-family: var(--font-headings);
    font-size: 1.25rem;
    font-weight: var(--weight-semibold);
    line-height: 1.4;
    margin-bottom: 1rem;
    color: var(--charcoal-dark);
}

.press-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.press-link:hover {
    color: var(--deep-ocean);
}

.contract-title {
    color: var(--charcoal-dark);
    font-weight: var(--weight-semibold);
}

.press-description {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-bottom: 1.5rem;
}

.press-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.press-type {
    font-size: 0.875rem;
    font-weight: var(--weight-medium);
    color: var(--slate-blue);
    background: rgba(86, 130, 148, 0.1);
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    border: 1px solid rgba(86, 130, 148, 0.2);
}

.press-cta {
    display: inline-flex;
    align-items: center;
    font-size: 0.875rem;
    font-weight: var(--weight-semibold);
    color: var(--bright-azure);
    text-decoration: none;
    transition: all 0.2s ease;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid var(--bright-azure);
    background: rgba(52, 165, 213, 0.05);
}

.press-cta:hover {
    background: var(--bright-azure);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(52, 165, 213, 0.3);
}

.contract-id {
    font-size: 0.875rem;
    font-family: var(--font-mono);
    color: var(--color-text-secondary);
    background: rgba(31, 31, 31, 0.05);
    padding: 0.25rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(31, 31, 31, 0.1);
}

/* Mobile Responsiveness for Press Releases */
@media (max-width: 768px) {
    .press-releases-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .press-release-card {
        padding: 1.5rem;
    }
    
    .press-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    
    .press-title {
        font-size: 1.125rem;
    }
    
    .press-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
}

/* Mobile responsiveness for founder photos */
@media (max-width: 768px) {
    .founder-photo {
        width: 150px;
        height: 150px;
    }
    
    .press-release-icon {
        width: 120px;
        height: 120px;
        max-width: 120px;
        max-height: 120px;
    }
}

/* Company Story Section Styling */
.company-story-container {
    max-width: 100%;
}

/* Timeline Container */
.timeline-container {
    padding: 2rem 0;
}

.timeline-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    overflow: hidden;
}

/* Timeline Items */
.timeline-item {
    position: relative;
}

.timeline-date {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: var(--weight-semibold);
    color: var(--deep-ocean);
    margin-bottom: 1.5rem;
}

.timeline-dot {
    margin-right: 1rem;
    width: 0.25rem;
    height: 0.25rem;
    flex: none;
    color: var(--deep-ocean);
}

.timeline-line {
    position: absolute;
    margin-left: -0.5rem;
    height: 1px;
    width: 100vw;
    transform: translateX(-100%);
    background: linear-gradient(90deg, rgba(5, 107, 148, 0.1) 0%, rgba(5, 107, 148, 0.3) 50%, rgba(5, 107, 148, 0.1) 100%);
}

.timeline-line-last {
    display: none;
}

.timeline-title {
    margin-top: 1.5rem;
    font-size: 1.125rem;
    line-height: 2rem;
    font-weight: var(--weight-semibold);
    letter-spacing: -0.025em;
    color: var(--charcoal-dark);
    margin-bottom: 0.25rem;
}

.timeline-description {
    margin-top: 0.25rem;
    font-size: 1rem;
    line-height: 1.75rem;
    color: var(--color-text-secondary);
    margin-bottom: 0;
}

.story-founding-title {
    font-family: var(--font-headings);
    font-size: 1.75rem;
    font-weight: var(--weight-semibold);
    color: var(--charcoal-dark);
    margin: 0;
    line-height: 1.3;
}

/* Story Content Grid */
.story-content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

/* Story Cards */
.story-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 1.5rem;
    padding: 2.5rem;
    box-shadow: 0 8px 32px rgba(5, 107, 148, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.story-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--deep-ocean), var(--bright-azure));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.story-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(5, 107, 148, 0.2);
    background: rgba(255, 255, 255, 1);
}

.story-card:hover::before {
    transform: scaleX(1);
}

/* Story Card Headers */
.story-card-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.story-icon {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.founding-icon {
    background: linear-gradient(135deg, var(--powder-blue), var(--mint-light));
    color: var(--deep-ocean);
}

.evolution-icon {
    background: linear-gradient(135deg, var(--mint-light), var(--sky-aqua));
    color: var(--emerald-teal);
}

.partnership-icon {
    background: linear-gradient(135deg, var(--sky-aqua), var(--bright-azure));
    color: var(--dark-teal);
}

.story-card:hover .story-icon {
    transform: scale(1.1);
    box-shadow: 0 8px 24px rgba(5, 107, 148, 0.2);
}

.story-card:hover .founding-icon {
    background: linear-gradient(135deg, var(--bright-azure), var(--cyan-bright));
    color: white;
}

.story-card:hover .evolution-icon {
    background: linear-gradient(135deg, var(--bright-azure), var(--cyan-bright));
    color: white;
}

.story-card:hover .partnership-icon {
    background: linear-gradient(135deg, var(--bright-azure), var(--cyan-bright));
    color: white;
}

.story-card-title {
    font-family: var(--font-headings);
    font-size: 1.375rem;
    font-weight: var(--weight-semibold);
    color: var(--charcoal-dark);
    margin: 0;
    line-height: 1.3;
}

.story-card-content {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-text-primary);
    margin: 0;
}

.story-card-content strong {
    color: var(--deep-ocean);
    font-weight: var(--weight-semibold);
}

/* Story CTA Section */
.story-cta-section {
    margin-top: 4rem;
}

.story-cta-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 2rem;
    padding: 3rem 2rem;
    box-shadow: 0 12px 40px rgba(5, 107, 148, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(15px);
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.story-cta-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at center, rgba(52, 165, 213, 0.05) 0%, transparent 70%);
    pointer-events: none;
}

.story-cta-title {
    font-family: var(--font-headings);
    font-size: 1.75rem;
    font-weight: var(--weight-semibold);
    color: var(--charcoal-dark);
    margin-bottom: 1rem;
    line-height: 1.3;
}

.story-cta-subtitle {
    font-size: 1.125rem;
    color: var(--color-text-secondary);
    margin-bottom: 2rem;
    line-height: 1.5;
}

.story-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.125rem;
    padding: 1rem 2rem;
    position: relative;
    z-index: 1;
}

.story-cta-btn:hover {
    transform: translateY(-2px);
}

/* Mobile Responsiveness for Timeline */
@media (min-width: 1024px) {
    .timeline-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    
    .timeline-line {
        position: static;
        margin-left: 2rem;
        width: auto;
        flex: 1 1 auto;
        transform: translateX(0);
    }
}

@media (max-width: 1023px) {
    .timeline-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .timeline-line {
        display: none;
    }
    
    .timeline-title {
        font-size: 1rem;
    }
    
    .timeline-description {
        font-size: 0.9375rem;
    }
}

/* General Mobile Responsiveness */
@media (max-width: 768px) {
    .story-content-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .story-card {
        padding: 2rem;
    }
    
    .story-card-title {
        font-size: 1.25rem;
    }
    
    .story-icon {
        width: 3rem;
        height: 3rem;
    }
    
    .story-cta-card {
        padding: 2rem 1.5rem;
    }
    
    .story-cta-title {
        font-size: 1.5rem;
    }
    
    .story-cta-subtitle {
        font-size: 1rem;
    }
    
    .timeline-container {
        padding: 1rem 0;
    }
}

/* ===== RESOURCES PAGE STYLES ===== */

/* Filter buttons */
.filter-btn {
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    border: 1px solid #d1d5db;
    color: #374151;
    background: white;
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-btn:hover {
    border-color: var(--bright-azure);
    color: var(--bright-azure);
}

.filter-btn.active {
    background-color: var(--bright-azure);
    color: white;
    border-color: var(--bright-azure);
}

/* Resource cards */
.resource-card {
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border: 1px solid #f7fafc;
    overflow: hidden;
    transition: all 0.3s ease;
    animation: fadeInUp 0.5s ease-out;
}

.resource-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.resource-card-image {
    position: relative;
    height: 12rem;
    overflow: hidden;
}

.resource-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.resource-card:hover .resource-card-image img {
    transform: scale(1.05);
}

.resource-type-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
    color: var(--deep-ocean);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.resource-card-content {
    padding: 1.5rem;
}

.resource-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--text-sm);
    color: #6b7280;
    margin-bottom: 0.75rem;
}

.resource-category {
    font-weight: var(--weight-medium);
    color: var(--bright-azure);
}

.resource-title {
    font-size: var(--text-lg);
    font-weight: var(--weight-semibold);
    color: #111827;
    margin-bottom: 0.5rem;
}

.resource-link {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
}

.resource-link:hover {
    color: var(--bright-azure);
}

.resource-description {
    color: #4b5563;
    font-size: var(--text-sm);
    line-height: 1.625;
    margin-bottom: 1rem;
}

.resource-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--bright-azure);
    font-weight: var(--weight-medium);
    font-size: var(--text-sm);
    text-decoration: none;
    transition: color 0.2s ease;
}

.resource-cta:hover {
    color: var(--deep-ocean);
}

.resource-cta svg {
    width: 1rem;
    height: 1rem;
}

/* Smooth animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Additional utility classes */
.bg-gray-50 {
    background-color: #f9fafb;
}

.border-b {
    border-bottom-width: 1px;
}

.border-gray-200 {
    border-color: #e5e7eb;
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.gap-3 {
    gap: 0.75rem;
}

.flex-wrap {
    flex-wrap: wrap;
}

.justify-center {
    justify-content: center;
}

.max-w-6xl {
    max-width: 72rem;
}

.h-12 {
    height: 3rem;
}

.w-12 {
    width: 3rem;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.text-lg {
    font-size: var(--text-lg);
    line-height: 1.75rem;
}

.font-medium {
    font-weight: var(--weight-medium);
}

/* ===== HERO SECTION STYLING ===== */
.hero-image-container {
    aspect-ratio: 1;
    max-width: 600px;
    margin: 0 auto;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(5, 107, 148, 0.15);
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1rem;
}

/* Responsive adjustments for hero section */
@media (max-width: 1024px) {
    .hero-image-container {
        max-width: 500px;
        margin-top: 3rem;
    }
}

@media (max-width: 768px) {
    .hero-image-container {
        max-width: 400px;
        margin-top: 2rem;
    }
}

/* ===== TEAM PHOTO STYLING ===== */
.team-photo-container {
    max-width: 800px;
    margin: 0 auto;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(5, 107, 148, 0.12);
}

.team-photo {
    width: 100%;
    height: auto;
    border-radius: 1rem;
    object-fit: cover;
}

/* Responsive adjustments for team photo */
@media (max-width: 768px) {
    .team-photo-container {
        max-width: 100%;
        margin-top: 1rem;
    }
}