@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
    --axis-blue: #0d47a1;
    --axis-blue-hover: #0a3578;
    --axis-light-blue: #e3f2fd;
    --axis-dark-blue: #092c63;
    --axis-deep-slate: #0b1329;
    --axis-slate-blue: #1e293b;
    --text-main: #0f172a;
    --text-muted: #475569;
    --bg-white: #ffffff;
    --bg-light: #f8fafc;
    --font-sans: 'Inter', -apple-system, sans-serif;
    --transition-smooth: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    --header-height: 104px;
    --shadow-premium: 0 20px 40px rgba(15, 23, 42, 0.04);
    --shadow-glow: 0 10px 30px rgba(13, 71, 161, 0.15);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-family: var(--font-sans); color: var(--text-main); background-color: var(--bg-white); line-height: 1.6; }
.container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }

/* ==========================================================================
    Header Layout Controls
    ========================================================================== */
.site-header.pinned-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding: 20px 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 75%, rgba(255, 255, 255, 0.85) 90%, rgba(255, 255, 255, 0) 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.015);
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
}

.nav-logo {
    height: 84px;
    width: auto;
    display: block;
    filter: drop-shadow(0px 2px 8px rgba(0,0,0,0.12));
}

.header-left { display: flex; align-items: center; gap: 30px; }
.header-social-icons { display: flex; align-items: center; gap: 15px; }
.social-icon-link { color: var(--axis-blue); width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: var(--transition-smooth); border-radius: 50%; background: var(--axis-light-blue); padding: 7px; }
.social-icon-link:hover { background-color: var(--axis-blue); color: #ffffff; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(13, 71, 161, 0.2); }
.social-icon-link svg { width: 100%; height: 100%; }
.main-nav ul { display: flex; list-style: none; gap: 40px; align-items: center; }
.main-nav a { text-decoration: none; color: var(--text-main); font-weight: 600; font-size: 1.05rem; position: relative; padding: 4px 0; transition: var(--transition-smooth); }
.main-nav a:hover, .main-nav a.active { color: var(--axis-blue); }
.main-nav a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background-color: var(--axis-blue); transition: var(--transition-smooth); }
.main-nav a:hover::after, .main-nav a.active::after { width: 100%; }

/* ==========================================================================
   Immersive Opener Hero Section
   ========================================================================== */
.careers-hero { position: relative; height: 75vh; min-height: 580px; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; color: var(--bg-white); }
.careers-hero .hero-content {
    animation: heroEntrance 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
}

@keyframes heroEntrance {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.opportunities-feed-column {
    animation: contentFadeIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

.context-sidebar-column {
    animation: contentFadeIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both;
}

@keyframes contentFadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.careers-hero .hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; z-index: 1; transform: scale(1.02); }
.careers-hero .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at center, rgba(15, 23, 42, 0.45) 0%, rgba(15, 23, 42, 0.8) 100%), linear-gradient(to top, rgba(9, 44, 99, 0.45) 0%, transparent 100%); z-index: 2; }
.careers-hero .hero-content { position: relative; z-index: 3; max-width: 900px; padding: 0 32px; }
.careers-hero .hero-tagline { display: inline-block; font-size: 0.9rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; color: #38bdf8; margin-bottom: 16px; text-shadow: 0 2px 10px rgba(56, 189, 248, 0.2); }
.careers-hero .hero-title { font-size: 4.5rem; font-weight: 800; line-height: 1.15; margin-bottom: 20px; letter-spacing: -0.04em; }
.careers-hero .hero-title .highlight { background: linear-gradient(to right, #38bdf8, #60a5fa); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.careers-hero .hero-subtitle { font-size: 1.85rem; font-weight: 300; letter-spacing: -0.01em; color: #cbd5e1; max-width: 700px; margin: 0 auto; }
.animate-on-load { animation: heroEntrance 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes heroEntrance { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }

.careers-hero .scroll-indicator { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 3; cursor: pointer; transition: var(--transition-smooth); }
.careers-hero .scroll-indicator:hover { transform: translateX(-50%) translateY(4px); }
.careers-hero .mouse-wheel { display: block; width: 26px; height: 42px; border: 2px solid rgba(255, 255, 255, 0.5); border-radius: 20px; position: relative; }
.careers-hero .mouse-wheel::before { content: ''; position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 4px; height: 8px; background-color: #ffffff; border-radius: 2px; animation: dropScroll 1.8s infinite ease-in-out; }
@keyframes dropScroll { 0% { opacity: 0; top: 6px; } 30% { opacity: 1; } 100% { opacity: 0; top: 18px; } }

/* ==========================================================================
   Communication Intercept Header Strip
   ========================================================================== */
.communication-strip { 
    background: linear-gradient(90deg, var(--bg-light) 0%, #e3f2fd 50%, var(--bg-light) 100%);
    border-bottom: 1px solid rgba(13, 71, 161, 0.1);
    padding: 20px 0;
    position: relative;
    z-index: 5;
    overflow: hidden;
}
.communication-strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #38bdf8, transparent);
}
.strip-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    text-align: center;
}
.strip-text { font-size: 1.05rem; font-weight: 500; color: var(--text-muted); }
.strip-link { color: var(--axis-blue); text-decoration: none; font-weight: 700; padding: 2px 6px; border-radius: 4px; transition: var(--transition-smooth); }
.strip-link:hover { background-color: var(--axis-light-blue); color: var(--axis-blue-hover); }

/* ==========================================================================
   Main Body: Asymmetric Grid Layout Stack
   ========================================================================== */
.body-grid-section { padding-top: 80px; padding-bottom: 80px; }
.asymmetric-layout-grid { display: grid; grid-template-columns: 1.35fr 0.65fr; gap: 64px; align-items: start; }
.feed-header { margin-bottom: 48px; position: relative; padding-left: 24px; }
.feed-header::before { content: ''; position: absolute; left: 0; top: 0; width: 4px; height: 60px; background: linear-gradient(to bottom, var(--axis-blue), #38bdf8, transparent); border-radius: 2px; }
.feed-header h2 { font-size: 2.5rem; font-weight: 800; color: var(--axis-dark-blue); letter-spacing: -0.03em; margin-bottom: 12px; background: linear-gradient(135deg, var(--axis-dark-blue), var(--axis-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.feed-header p { font-size: 1.15rem; color: var(--text-muted); max-width: 720px; }
.job-listings-stack { display: flex; flex-direction: column; gap: 28px; }

/* Cinematic Premium Placement Cards */
.job-card-wrapper { background-color: var(--bg-white); padding: 44px; border-radius: 16px; box-shadow: 0 10px 30px rgba(15, 23, 42, 0.02); border: 1px solid rgba(15, 23, 42, 0.05); position: relative; overflow: hidden; transition: var(--transition-smooth); }
.job-card-wrapper::before { content: ''; position: absolute; top: 0; left: 0; width: 0; height: 100%; background: linear-gradient(to bottom, #38bdf8, var(--axis-blue)); transition: var(--transition-smooth); }
.job-card-wrapper:hover { transform: translateY(-5px); box-shadow: 0 25px 50px rgba(13, 71, 161, 0.07); border-color: rgba(13, 71, 161, 0.12); }
.job-card-wrapper:hover::before { width: 6px; }
.job-card-meta { display: flex; gap: 12px; margin-bottom: 16px; }
.job-tag { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 6px 14px; border-radius: 30px; }
.status-tag { background-color: var(--axis-light-blue); color: var(--axis-blue); }
.location-tag { background-color: #f1f5f9; color: var(--text-muted); }
.job-card-wrapper h3 { font-size: 1.75rem; font-weight: 800; color: var(--axis-dark-blue); letter-spacing: -0.02em; margin-bottom: 12px; transition: var(--transition-smooth); }
.job-card-wrapper:hover h3 { color: var(--axis-blue); }
.job-description { font-size: 1.05rem; color: var(--text-muted); line-height: 1.65; margin-bottom: 28px; max-width: 680px; }

.apply-action-trigger { display: inline-block; padding: 14px 32px; font-size: 1rem; font-weight: 600; background-color: var(--axis-blue); color: var(--bg-white); border: none; border-radius: 8px; cursor: pointer; transition: var(--transition-smooth); box-shadow: 0 4px 12px rgba(13, 71, 161, 0.15); }
.apply-action-trigger:hover { background-color: var(--axis-blue-hover); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(13, 71, 161, 0.25); }

/* Right Column: Sticky Context Framework */
.context-sidebar-column { position: sticky; top: 140px; }
.sticky-info-panel { background-color: #051d45; color: #ffffff; padding: 40px; border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.08); position: relative; overflow: hidden; box-shadow: 0 20px 45px rgba(5, 29, 69, 0.15); }
.panel-accent-glow { position: absolute; top: -50%; right: -50%; width: 100%; height: 100%; background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, transparent 70%); pointer-events: none; }
.panel-title { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; color: #ffffff; margin-bottom: 12px; }
.panel-intro { font-size: 0.95rem; color: #94a3b8; line-height: 1.5; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.culture-pillars-list { display: flex; flex-direction: column; gap: 24px; }
.pillar-item h4 { font-size: 1.1rem; font-weight: 700; color: #38bdf8; margin-bottom: 4px; }
.pillar-item p { font-size: 0.9rem; color: #cbd5e1; line-height: 1.45; }
.sidebar-pdf-download-block { margin-top: 36px; padding: 20px; background: linear-gradient(135deg, rgba(13, 71, 161, 0.12) 0%, rgba(56, 189, 248, 0.08) 100%); border: 1px solid rgba(56, 189, 248, 0.3); border-radius: 8px; }
.sidebar-pdf-download-block h5 { font-size: 1rem; font-weight: 700; color: #38bdf8; margin-bottom: 8px; }
.sidebar-pdf-download-block p { font-size: 0.85rem; color: #cbd5e1; line-height: 1.5; margin-bottom: 12px; }
.pdf-download-btn { display: inline-block; background: linear-gradient(135deg, #0d47a1, #1e88e5); color: #ffffff; padding: 10px 16px; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: all 0.3s ease; border: 1px solid rgba(56, 189, 248, 0.4); }
.pdf-download-btn:hover { background: linear-gradient(135deg, #0a3578, #1565c0); transform: translateY(-2px); box-shadow: 0 8px 16px rgba(13, 71, 161, 0.25); }

.sidebar-contact-block { margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.sidebar-contact-block h5 { font-size: 1rem; font-weight: 700; color: #ffffff; margin-bottom: 6px; }
.sidebar-contact-block p { font-size: 0.85rem; color: #94a3b8; line-height: 1.5; }

/* ==========================================================================
   WIZARD FULLSCREEN CORE OVERLAY FRAMEWORK (UPDATED FOR STICKY BARS)
   ========================================================================== */
.wizard-fullscreen-overlay {
    position: fixed; 
    top: 100%; 
    left: 0; 
    width: 100%; 
    height: 100%;
    background-color: var(--bg-white); 
    z-index: 2000; 
    overflow-y: scroll; /* Handles main scroll here */
    display: flex; 
    flex-direction: column;
    transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.wizard-fullscreen-overlay.open-slide { 
    transform: translateY(-100%); 
}

/* Global Wizard Controls Top Header Bar - STICKY */
.wizard-top-bar {
    position: sticky;
    top: 0;
    z-index: 2100; /* Stays over content */
    background-color: #051d45; 
    padding: 16px 40px; 
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 20px rgba(5, 29, 69, 0.15);
}
.wizard-bar-brand { 
    color: #94a3b8; 
    font-weight: 700; 
    font-size: 0.85rem; 
    text-transform: uppercase; 
    letter-spacing: 0.1em; 
}
.wizard-quit-btn {
    background: #ef4444; 
    color: #ffffff; 
    border: none; 
    font-size: 1.75rem; 
    width: 36px;
    height: 36px; 
    border-radius: 8px; 
    display: flex; 
    align-items: center;
    justify-content: center; 
    cursor: pointer; 
    transition: var(--transition-smooth); 
    line-height: 1;
}
.wizard-quit-btn:hover { 
    background: #b91c1c; 
    transform: scale(1.05); 
}

/* Dynamic Context Header Hero Section */
.wizard-dynamic-hero {
    position: relative; 
    padding: 60px 40px; 
    background-size: cover; 
    background-position: center;
    color: #ffffff; 
    display: flex; 
    align-items: center; 
    min-height: 220px;
}
.wizard-hero-overlay { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: linear-gradient(to right, rgba(5, 29, 69, 0.95) 30%, rgba(5, 29, 69, 0.6) 100%); 
}
.wizard-hero-content { 
    position: relative; 
    z-index: 5; 
    width: 100%; 
    max-width: 1200px; 
    margin: 0 auto; 
}
.wizard-hero-content h2 { 
    font-size: 2.25rem; 
    font-weight: 800; 
    letter-spacing: -0.03em; 
    margin-bottom: 20px; 
}
.wizard-hero-content .highlight-job { 
    color: #38bdf8; 
}

/* Progress Indicators */
.progress-container-block { 
    max-width: 500px; 
}
.progress-meta { 
    display: flex; 
    justify-content: space-between; 
    font-size: 0.85rem; 
    font-weight: 600; 
    color: #94a3b8; 
    margin-bottom: 8px; 
}
.progress-bar-track { 
    height: 6px; 
    background-color: rgba(255, 255, 255, 0.15); 
    border-radius: 10px; 
    overflow: hidden; 
}
.progress-bar-fill { 
    height: 100%; 
    background: linear-gradient(to right, #38bdf8, var(--axis-blue)); 
    border-radius: 10px; 
    transition: width 0.6s ease; 
}

/* Master Layout Framework */
.wizard-form-master { 
    flex-grow: 1; 
    display: flex; 
    flex-direction: column; 
    background-color: var(--bg-light); 
    position: relative; 
}

/* Section Switching Panels Controls */
.wizard-section-panel { 
    display: none; 
    width: 100%; 
    max-width: 1280px; 
    margin: 0 auto; 
    padding: 60px 32px 20px 32px; 
}
.wizard-section-panel.active { 
    display: block; 
    animation: panelFade 0.4s ease forwards; 
}
@keyframes panelFade { 
    from { opacity: 0; transform: translateY(10px); } 
    to { opacity: 1; transform: translateY(0); } 
}

/* Split Layout Matrix Formulation */
.panel-grid-split { 
    display: grid; 
    grid-template-columns: 0.7fr 1.3fr; 
    gap: 64px; 
    align-items: start; 
}
.grid-side-info h3 { 
    font-size: 1.85rem; 
    font-weight: 800; 
    color: var(--axis-dark-blue); 
    letter-spacing: -0.02em; 
    margin-bottom: 12px; 
}
.grid-side-info p { 
    font-size: 1.05rem; 
    color: var(--text-muted); 
    line-height: 1.6; 
}
.section-helper-text {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-top: 16px;
    padding: 12px 16px;
    background-color: #f0f4f8;
    border-left: 3px solid var(--axis-blue);
    border-radius: 4px;
    line-height: 1.5;
}
.required-asterisk {
    color: #ef4444;
    font-weight: 700;
    margin-left: 2px;
}

.grid-side-inputs { 
    background-color: var(--bg-white); 
    padding: 48px; 
    border-radius: 16px; 
    border: 1px solid rgba(15, 23, 42, 0.04); 
    box-shadow: 0 10px 35px rgba(15, 23, 42, 0.01); 
    display: flex; 
    flex-direction: column; 
    gap: 24px; 
}
.placeholder-notice { 
    font-style: italic; 
    color: var(--text-muted); 
    padding: 20px; 
    text-align: center; 
    border: 2px dashed #cbd5e1; 
    border-radius: 8px; 
    background: var(--bg-light); 
}

/* Field Construction Metrics */
.form-field-group { 
    display: flex; 
    flex-direction: column; 
    gap: 8px; 
    width: 100%; 
}
.form-field-group label { 
    font-size: 0.9rem; 
    font-weight: 700; 
    color: var(--axis-slate-blue); 
    letter-spacing: 0.02em; 
}
.form-field-group input[type="text"],
.form-field-group input[type="email"],
.form-field-group input[type="tel"],
.form-field-group input[type="number"],
.form-field-group input[type="date"],
.form-field-group select {
    padding: 14px 16px; 
    border: 1px solid #cbd5e1; 
    border-radius: 8px; 
    font-family: var(--font-sans); 
    font-size: 1rem; 
    color: var(--text-main); 
    background-color: var(--bg-light); 
    transition: var(--transition-smooth); 
    width: 100%;
}
.form-field-group input:focus, .form-field-group select:focus { 
    outline: none; 
    border-color: var(--axis-blue); 
    background-color: var(--bg-white); 
    box-shadow: 0 0 0 4px rgba(13, 71, 161, 0.08); 
}

/* Error Message Styling */
.field-error-message {
    font-size: 0.85rem;
    color: #ef4444;
    margin-top: 6px;
    display: block;
    font-weight: 500;
}
.field-invalid {
    border-color: #ef4444 !important;
    background-color: #fff5f5 !important;
}

/* Inline Structural Layout Rows */
.input-row-twin { 
    display: flex; 
    gap: 20px; 
    width: 100%; 
}
.input-row-twin .form-field-group {
    flex: 1;
    min-width: 0;
}
.input-row-city-state { 
    display: grid; 
    grid-template-columns: 1fr 120px 140px; 
    gap: 20px; 
    width: 100%; 
}
.width-short { 
    max-width: 90px; 
}

/* Premium Radio Toggle Component */
.toggle-button-group { 
    display: flex; 
    gap: 12px; 
    margin-top: 4px; 
}
.toggle-button-group input[type="radio"] { 
    display: none; 
}
.toggle-label-btn {
    flex: 1; 
    text-align: center; 
    padding: 14px 20px; 
    background-color: var(--bg-light); 
    border: 1px solid #cbd5e1; 
    border-radius: 8px; 
    font-size: 0.95rem; 
    font-weight: 600; 
    color: var(--text-muted); 
    cursor: pointer; 
    transition: var(--transition-smooth);
}
.toggle-button-group input[type="radio"]:checked + .toggle-label-btn {
    background-color: var(--axis-light-blue); 
    border-color: var(--axis-blue); 
    color: var(--axis-blue); 
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.05);
}

/* Smooth Conditional Block Reveal Settings */
.conditional-block {
    max-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    overflow: hidden;
    transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1), 
                opacity 0.35s ease, 
                margin 0.45s ease, 
                padding 0.45s ease;
}

/* Open only when the .conditional-hide class is explicitly removed by selecting "Yes" */
.conditional-block:not(.conditional-hide) {
    max-height: 400px !important; 
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
}

/* Apprentice Year Block Specific Styling */
#apprenticeYearBlock {
    transition: opacity 0.4s ease, max-height 0.4s ease, visibility 0.4s ease;
    max-height: 500px;
}

#apprenticeYearBlock.conditional-hide {
    opacity: 0;
    max-height: 0;
    visibility: hidden;
    overflow: hidden;
}

/* Section 6 Initials Interactive Statement Fading */
.policy-row-item {
    transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.policy-row-item.statement-completed {
    opacity: 0.45; /* Clean elegant fade showing completion */
}

/* Natural Sticky Action Footer Wrapper Layout */
.wizard-footer-sticky-tray {
    position: sticky;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2100;
    background-color: var(--bg-white);
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -8px 30px rgba(15, 23, 42, 0.05);
}
.wizard-nav-footer {
    width: 100%; 
    max-width: 1280px; 
    margin: 0 auto; 
    padding: 24px 32px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center;
}
.wizard-nav-btn { 
    padding: 16px 36px; 
    font-size: 1rem; 
    font-weight: 600; 
    border-radius: 8px; 
    border: none; 
    cursor: pointer; 
    transition: var(--transition-smooth); 
}
.primary-btn { 
    background-color: var(--axis-blue); 
    color: var(--bg-white); 
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.15); 
}
.primary-btn:hover:not(:disabled) { 
    background-color: var(--axis-blue-hover); 
    transform: translateY(-1px); 
    box-shadow: 0 6px 20px rgba(13, 71, 161, 0.25); 
}
.secondary-btn { 
    background-color: #f1f5f9; 
    color: var(--text-muted); 
    border: 1px solid #cbd5e1; 
}
.secondary-btn:hover:not(:disabled) { 
    background-color: #e2e8f0; 
    color: var(--text-main); 
}
.wizard-nav-btn:disabled { 
    opacity: 0.4; 
    cursor: not-allowed; 
    transform: none !important; 
    box-shadow: none !important; 
}

.wizard-nav-btn.shake-error {
    animation: shake 0.5s ease-in-out;
}

.wizard-nav-btn.shake-error {
    animation: shake 0.5s ease-in-out;
}

/* ==========================================================================
   DYNAMIC ENTRY FRAMEWORK STYLES (EDUCATION & STACKS)
   ========================================================================== */
.dynamic-entry-container { display: flex; flex-direction: column; gap: 24px; width: 100%; }
.dynamic-entry-card {
    background-color: var(--bg-light); border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 20px; position: relative; transition: var(--transition-smooth);
}
.dynamic-entry-card:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.02); }
.entry-card-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e2e8f0; padding-bottom: 12px; margin-bottom: 4px; }
.entry-card-title { font-size: 0.95rem; font-weight: 700; color: var(--axis-dark-blue); text-transform: uppercase; letter-spacing: 0.05em; }
.remove-entry-btn { background: transparent; border: none; color: #ef4444; font-size: 0.85rem; font-weight: 700; cursor: pointer; padding: 4px 8px; border-radius: 4px; transition: var(--transition-smooth); }
.remove-entry-btn:hover { background-color: #fef2f2; color: #b91c1c; }

.add-entry-trigger {
    background-color: var(--bg-light); color: var(--axis-blue); border: 2px dashed #cbd5e1; border-radius: 12px; padding: 16px; font-size: 0.95rem; font-weight: 600; cursor: pointer; text-align: center; transition: var(--transition-smooth); margin-top: 4px; width: 100%;
}
.add-entry-trigger:hover { background-color: var(--axis-light-blue); border-color: var(--axis-blue); color: var(--axis-blue-hover); }

.extra-qualifications-block { margin-top: 12px; padding-top: 24px; border-top: 1px solid #e2e8f0; }
.field-instruction-text { font-size: 0.85rem; color: var(--text-muted); line-height: 1.4; margin-bottom: 4px; }
.form-field-group textarea {
    padding: 14px 16px; border: 1px solid #cbd5e1; border-radius: 8px; font-family: var(--font-sans); font-size: 1rem; color: var(--text-main); background-color: var(--bg-light); transition: var(--transition-smooth); width: 100%; resize: vertical;
}
.form-field-group textarea:focus { outline: none; border-color: var(--axis-blue); background-color: var(--bg-white); box-shadow: 0 0 0 4px rgba(13, 71, 161, 0.08); }
.animate-panel-add { animation: rowEntrance 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes rowEntrance { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }

/* Shake Animation for Validation */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-6px); }
    20%, 40%, 60%, 80% { transform: translateX(6px); }
}

/* Shake Animation for Validation */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-6px); }
    20%, 40%, 60%, 80% { transform: translateX(6px); }
}

/* ==========================================================================
   INTERCEPT WARNING CONFIRMATION MODAL SYSTEM
   ========================================================================== */
.abort-modal-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(11, 19, 41, 0.6); backdrop-filter: blur(8px); z-index: 3000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
.abort-modal-wrapper.modal-visible { opacity: 1; pointer-events: auto; }
.abort-modal-card { background-color: var(--bg-white); padding: 40px; border-radius: 16px; max-width: 480px; width: 90%; box-shadow: 0 25px 60px rgba(11, 19, 41, 0.25); border: 1px solid rgba(15, 23, 42, 0.05); text-align: center; transform: scale(0.95); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.abort-modal-wrapper.modal-visible .abort-modal-card { transform: scale(1); }
.abort-modal-card h4 { font-size: 1.4rem; font-weight: 800; color: #b91c1c; margin-bottom: 12px; }
.abort-modal-card p { color: var(--text-muted); font-size: 1rem; line-height: 1.5; margin-bottom: 28px; }
.abort-modal-actions { display: flex; gap: 16px; }
.modal-btn { flex: 1; padding: 14px; font-size: 0.95rem; font-weight: 600; border-radius: 8px; border: none; cursor: pointer; transition: var(--transition-smooth); }
.cancel-btn { background-color: #f1f5f9; color: var(--text-muted); border: 1px solid #cbd5e1; }
.cancel-btn:hover { background-color: #e2e8f0; }
.confirm-btn { background-color: #ef4444; color: #ffffff; }
.confirm-btn:hover { background-color: #b91c1c; }

/* ========================================================================== 
   PREMIUM SIGNATURE BLUE FOOTER
   ========================================================================== */
.site-footer { 
    background-color: #051d45; 
    border-top: 1px solid rgba(255, 255, 255, 0.1); 
    padding: 60px 0; 
    color: #ffffff;
}

.footer-container { 
    max-width: 1280px; 
    margin: 0 auto; 
    padding: 0 32px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    gap: 40px;
}

.footer-left p { 
    color: #94a3b8; 
    font-size: 0.95rem; 
}

.footer-middle {
    text-align: center;
}

.license-tag {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.1);
    padding: 6px 16px;
    border-radius: 4px;
    border: 1px solid rgba(56, 189, 248, 0.2);
    display: inline-block;
}

.footer-right {
    display: flex;
    align-items: center;
}

.back-to-top { 
    display: flex; 
    align-items: center; 
    text-decoration: none; 
    gap: 20px; 
    transition: var(--transition-smooth);
}

.back-to-top .back-text {
    color: #94a3b8;
    font-weight: 600;
    font-size: 0.9rem;
    transition: var(--transition-smooth);
}

.back-to-top:hover .back-text {
    color: #38bdf8;
}

.footer-logo { 
    height: 90px; 
    width: auto; 
    display: block;
    max-width: 100%;
    background-color: #ffffff;
    padding: 10px 14px;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
    opacity: 0.95;
    transition: var(--transition-smooth);
}

.back-to-top:hover .footer-logo {
    opacity: 1;
    transform: translateY(-3px);
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 960px) {
    .section-title { font-size: 2rem; }
    .opener-content h1 { font-size: 2.5rem; }
    .values-grid { grid-template-columns: 1fr; }
    .footer-container { flex-direction: column; gap: 32px; text-align: center; }
    .back-to-top { align-items: center; }
    
    .facebook-feed-wrapper {
        padding: 0 16px;
    }
    
    .mini-facebook-feed {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .footer-container { flex-direction: column; gap: 24px; }
    .header-container { flex-direction: column; gap: 20px; }
    .main-nav ul { gap: 20px; font-size: 0.95rem; }
    .opener-content h1 { font-size: 2rem; }
    .opener-content p { font-size: 1.1rem; }
    .section-title { font-size: 1.75rem; }
    .section-padding { padding: 60px 0; }
    
    .facebook-feed-wrapper {
        padding: 0;
    }
    
    .facebook-feed-wrapper .fb-page {
        width: 100%;
        max-width: 100%;
    }
    
    .mini-facebook-feed {
        max-width: 100%;
        border-radius: 8px;
    }
    
    .fb-page-cover {
        height: 150px;
    }
    
    .fb-page-info {
        padding: 16px;
    }
    
    .fb-page-info h3 {
        font-size: 1.5rem;
    }
    
    .fb-post {
        padding: 12px 16px;
    }
    
    .fb-cta-footer {
        padding: 16px;
    }
}


/* ==========================================================================
   EMPLOYMENT HISTORY COMPONENT EXTENSION SPECIFICS
   ========================================================================== */
.inline-fixed-width { max-width: 240px; }

/* Custom Checkbox N/A Switch Layout */
.na-toggle-row {
    background-color: #fff1f2; border: 1px dashed #f43f5e;
    padding: 16px 24px; border-radius: 12px; display: flex; align-items: center;
}
.na-checkbox-label {
    display: flex; align-items: center; gap: 14px; font-size: 0.95rem;
    font-weight: 700; color: #9f1239; cursor: pointer; user-select: none; width: 100%;
}
.na-checkbox-label input[type="checkbox"] { display: none; }
.na-custom-box {
    width: 22px; height: 22px; border: 2px solid #f43f5e; border-radius: 6px;
    background-color: var(--bg-white); position: relative; transition: var(--transition-smooth); flex-shrink: 0;
}
.na-checkbox-label input[type="checkbox"]:checked + .na-custom-box { background-color: #f43f5e; }
.na-checkbox-label input[type="checkbox"]:checked + .na-custom-box::after {
    content: ''; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px;
    border: solid white; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg);
}

/* Smooth N/A Fade out Controller */
#employmentWrap { transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s ease; transform-origin: top center; }
#employmentWrap.fade-na-disabled { opacity: 0.25; pointer-events: none; transform: scale(0.99); }

/* Language Matrix Sub-Row Configurations */
.language-entry-row {
    background-color: var(--bg-light); border: 1px dashed #cbd5e1; border-radius: 12px;
    padding: 20px; display: flex; flex-direction: column; gap: 14px; margin-bottom: 4px;
}
.lang-row-header { display: flex; justify-content: space-between; align-items: center; }
.lang-row-header span { font-size: 0.85rem; font-weight: 700; color: var(--axis-blue); text-transform: uppercase; letter-spacing: 0.05em; }
.remove-lang-btn { background: transparent; border: none; color: #ef4444; font-size: 0.8rem; font-weight: 700; cursor: pointer; }
.remove-lang-btn:hover { color: #b91c1c; text-decoration: underline; }
.lang-grid-inputs { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 16px; width: 100%; }

.add-entry-trigger.dynamic-lang-trigger {
    border-style: solid; border-width: 1px; border-color: #e2e8f0; font-size: 0.85rem; padding: 12px; max-width: 260px; margin-top: 8px;
}

/* ==========================================================================
   Section 6 Policy & Fade Initials Styles
   ========================================================================== */
.policy-initials-stack {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-right: 4px;
}

.policy-row-item {
    display: grid;
    grid-template-columns: 85px 1fr;
    gap: 20px;
    align-items: start;
}

/* Policy text row styling for fading effect */
.policy-row-item {
    transition: opacity 0.4s ease;
}

/* Added via JS when initials input has text */
.policy-row-item.statement-completed {
    opacity: 0.45;
}

.initials-field-box input {
    width: 100%;
    padding: 10px 6px;
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background-color: var(--bg-light);
    font-family: var(--font-sans);
    transition: var(--transition-smooth);
}

/* Smooth fade out when focused or after initials have been written */
.initials-field-box input:focus,
.initials-field-box input:not(:placeholder-shown) {
    border-color: #94a3b8;
    background-color: var(--bg-white);
    opacity: 0.7;
    outline: none;
    box-shadow: none;
}

.policy-text-content strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--axis-dark-blue);
    margin-bottom: 4px;
}

.policy-text-content {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-main);
}

.policy-final-certification-box {
    margin-top: 24px;
    padding: 20px;
    background-color: rgba(13, 71, 161, 0.03);
    border-left: 4px solid var(--axis-blue);
    border-radius: 6px;
}

.align-start-checkbox {
    align-items: flex-start !important;
}

.shrink-prevent {
    flex-shrink: 0;
    margin-top: 3px;
}

.certification-paragraph-text {
    font-size: 0.98rem;
    font-weight: 500;
    color: var(--axis-slate-blue);
    line-height: 1.6;
}

@media (max-width: 768px) {
    .policy-row-item {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .initials-field-box input {
        max-width: 100px;
    }
}

/* ==========================================================================
   POSITIONS PAGE: UNIQUE ANIMATIONS & STYLING ENHANCEMENTS
   ========================================================================== */

/* Staggered Card Entrance Animations */
.job-card-wrapper {
    animation: cardSlideIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
}
.job-listings-stack .job-card-wrapper:nth-child(1) { animation-delay: 0.1s; }
.job-listings-stack .job-card-wrapper:nth-child(2) { animation-delay: 0.25s; }
.job-listings-stack .job-card-wrapper:nth-child(3) { animation-delay: 0.4s; }
.job-listings-stack .job-card-wrapper:nth-child(4) { animation-delay: 0.55s; }
.job-listings-stack .job-card-wrapper:nth-child(5) { animation-delay: 0.7s; }

@keyframes cardSlideIn {
    from { 
        opacity: 0; 
        transform: translateX(-30px) scale(0.98); 
    }
    to { 
        opacity: 1; 
        transform: translateX(0) scale(1); 
    }
}

/* Enhanced Job Card Hover with Gradient Accent */
.job-card-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: linear-gradient(to top, rgba(56, 189, 248, 0.05), transparent);
    transition: height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
    border-radius: 0 0 16px 16px;
}
.job-card-wrapper:hover::after {
    height: 100%;
}

/* Career Section Stagger */
.feed-header {
    animation: fadeInUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
}
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Sidebar Panel Enhanced */
.sticky-info-panel {
    animation: slideInRight 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
}
@keyframes slideInRight {
    from { opacity: 0; transform: translateX(30px); }
    to { opacity: 1; transform: translateX(0); }
}

.sticky-info-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 0;
    background: linear-gradient(to bottom, #38bdf8, var(--axis-blue));
    transition: height 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.sticky-info-panel:hover::before {
    height: 100%;
}

/* Hero Section Text Gradient Animation */
.careers-hero .hero-title {
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 50%, #ffffff 100%);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@keyframes gradientShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Wizard Section Panel Smooth Entry */
.wizard-section-panel.active {
    animation: panelSlideIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes panelSlideIn {
    from { 
        opacity: 0;
        transform: translateY(20px) scale(0.99);
    }
    to { 
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Form Field Groups with Stagger */
.grid-side-inputs .form-field-group {
    animation: fieldFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
}
.grid-side-inputs .form-field-group:nth-child(1) { animation-delay: 0.1s; }
.grid-side-inputs .form-field-group:nth-child(2) { animation-delay: 0.2s; }
.grid-side-inputs .form-field-group:nth-child(3) { animation-delay: 0.3s; }
.grid-side-inputs .form-field-group:nth-child(4) { animation-delay: 0.4s; }
.grid-side-inputs .form-field-group:nth-child(5) { animation-delay: 0.5s; }
.grid-side-inputs .form-field-group:nth-child(n+6) { animation-delay: 0.6s; }

@keyframes fieldFadeIn {
    from { 
        opacity: 0;
        transform: translateY(10px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

/* Dynamic Entry Card Smooth Animations */
.dynamic-entry-card {
    animation: entryCardIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes entryCardIn {
    from { 
        opacity: 0;
        transform: translateY(15px) scale(0.98);
    }
    to { 
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Entry Card Hover with Left Border Animation */
.dynamic-entry-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 0;
    background: linear-gradient(to bottom, #38bdf8, var(--axis-blue));
    border-radius: 12px 0 0 0;
    transition: height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.dynamic-entry-card:hover::before {
    height: 100%;
}

/* Progress Bar Fill Animation */
.progress-bar-fill {
    transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    width: var(--progress-width, 0%);
}

/* Button Hover Enhancement with Pulse */
.apply-action-trigger {
    position: relative;
    overflow: hidden;
}
.apply-action-trigger::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
    pointer-events: none;
}
.apply-action-trigger:hover::before {
    width: 300px;
    height: 300px;
}

/* Wizard Nav Button Enhanced */
.wizard-nav-btn {
    position: relative;
    overflow: hidden;
}
.wizard-nav-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}
.wizard-nav-btn:hover::before {
    left: 100%;
}

/* Modal Card Entrance Animation */
.abort-modal-card {
    animation: modalBounceIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes modalBounceIn {
    from { 
        transform: scale(0.6) rotateY(20deg);
        opacity: 0;
    }
    to { 
        transform: scale(1) rotateY(0deg);
        opacity: 1;
    }
}

/* Add Entry Button Hover Pulse */
.add-entry-trigger {
    position: relative;
}
.add-entry-trigger::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, transparent, rgba(56, 189, 248, 0.15), transparent);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    border-radius: 12px;
}
.add-entry-trigger:hover::after {
    animation: shimmerPulse 0.6s ease;
}

@keyframes shimmerPulse {
    0% { opacity: 0; transform: translateX(-100%); }
    50% { opacity: 1; }
    100% { opacity: 0; transform: translateX(100%); }
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 960px) {
    .careers-hero .hero-title { font-size: 3rem; }
    .careers-hero .hero-subtitle { font-size: 1.4rem; }
    .asymmetric-layout-grid { grid-template-columns: 1fr; gap: 56px; }
    .context-sidebar-column { position: relative; top: 0; }
    .panel-grid-split { grid-template-columns: 1fr; gap: 32px; }
    .grid-side-inputs { padding: 32px 20px; }
    .input-row-twin, .input-row-city-state { grid-template-columns: 1fr; flex-direction: column; gap: 24px; }
    .width-short { max-width: 100%; }
    .wizard-top-bar { padding: 16px 20px; }
    .wizard-dynamic-hero { padding: 40px 20px; }
    .wizard-nav-footer { padding: 20px 20px 60px 20px; }
    .footer-container { flex-direction: column; gap: 32px; text-align: center; }
    .back-to-top { align-items: center; }
}

@media (max-width: 768px) {
    .input-row-twin, .input-row-city-state { grid-template-columns: 1fr; gap: 24px; }
    .input-row-twin .width-short { max-width: none; }
    .lang-grid-inputs { grid-template-columns: 1fr; gap: 16px; }
}