:root{
    --fc-page:#eef4fb;
    --fc-surface:#ffffff;
    --fc-surface-soft:#f6f9fd;
    --fc-border:#d9e2ee;
    --fc-border-strong:#c8d6e6;
    --fc-text:#203147;
    --fc-muted:#5f7186;
    --fc-heading:#1d3fb8;
    --fc-accent:#16bff3;
    --fc-accent-2:#4fb9ff;
    --fc-danger:#ff4d4f;
    --fc-success:#25a56a;
}

body.future-career-page{
    background:#ffffff;
    color:var(--fc-text);
    padding-top:var(--header-height);
}

.fc-shell{
    min-height:100vh;
}

.fc-hero{
    padding:42px 0 34px;
    background:transparent;
}

.fc-hero-copy{
    max-width:72rem;
}

.fc-kicker{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.35rem .75rem;
    border-radius:999px;
    background:rgba(29,63,184,.08);
    color:var(--fc-heading);
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:.78rem;
    font-weight:800;
}

.fc-hero-title{
    margin:1rem 0 .75rem;
    font-family:"Teko", sans-serif;
    font-weight:600;
    font-size:clamp(3.75rem, 7vw, 5rem);
    line-height:.9;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--fc-heading);
    max-width:18ch;
}

.fc-hero-description{
    max-width:58rem;
    margin-bottom:1.75rem !important;
    font-size:1.1rem;
    line-height:1.7;
    color:var(--fc-muted);
}

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

.fc-hero-actions .fc-btn{
    min-height:52px;
    padding:.88rem 1.25rem;
    font-size:1rem;
}

.fc-muted{
    color:var(--fc-muted);
}

.fc-card{
    background:var(--fc-surface);
    border:1px solid var(--fc-border);
    border-radius:16px;
    box-shadow:0 12px 32px rgba(15, 23, 42, 0.06);
}

.candidate-form-banner{
    position:relative;
    margin-bottom:22px;
    padding:16px 18px 14px;
    background:linear-gradient(135deg, rgba(29,63,184,.16), rgba(22,191,243,.08));
    border:1px solid rgba(29,63,184,.22);
    border-radius:12px;
    overflow:hidden;
}

.candidate-form-banner::before{
    content:"";
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:4px;
    background:var(--fc-heading);
}

.candidate-form-banner h3{
    margin:0 0 6px;
    font-family:"Teko", sans-serif;
    font-size:clamp(19px, 1.9vw, 26px);
    line-height:0.95;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--fc-heading);
    font-weight:800;
}

.candidate-form-banner .form-note {
    display: inline-block;
    margin: 0;
    padding: 7px 12px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(29, 63, 184, 0.16);
    border-radius: 999px;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 600;
    text-transform: capitalize;
}

.form-helper{
    margin:-4px 0 14px;
    color:var(--fc-heading);
    font-size:13px;
    line-height:1.65;
}

.form-section{
    padding:20px 18px 8px;
    border:1px solid var(--fc-border);
    border-radius:12px;
    background:var(--fc-surface);
    margin-bottom:1rem;
}

.form-section h4{
    color:var(--fc-heading);
    font-size:14px;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:16px;
    padding-bottom:8px;
    border-bottom:1px solid var(--fc-border);
    font-weight:800;
}

.form-section h4 i{
    color:var(--fc-heading);
    margin-right:.35rem;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

.form-group{
    margin-bottom:0;
}

.form-group label,
.repeatable-grid .form-group label,
.edu-grid .form-group label,
.repeatable-file label{
    font-weight:600;
    margin-bottom:6px;
    display:block;
    color:#4b5563;
    padding-top:0;
    font-size:13px;
}

.required::after{
    content:"*";
    color:var(--fc-danger);
    margin-left:4px;
}

.fc-input,
.fc-select,
.fc-textarea,
.repeatable-grid .form-group input,
.repeatable-grid .form-group select,
.repeatable-grid .form-group textarea,
.edu-grid .form-group input,
.edu-grid .form-group select,
.edu-grid .form-group textarea{
    width:100%;
    padding:10px 14px;
    background:#f6f8fc !important;
    border:1px solid var(--fc-border) !important;
    border-radius:8px !important;
    color:var(--fc-text) !important;
    box-sizing:border-box;
}

.fc-input::placeholder,
.fc-textarea::placeholder,
.repeatable-grid .form-group input::placeholder,
.repeatable-grid .form-group textarea::placeholder,
.edu-grid .form-group input::placeholder,
.edu-grid .form-group textarea::placeholder{
    color:#94a3b8;
}

.fc-input:focus,
.fc-select:focus,
.fc-textarea:focus{
    outline:none;
    border-color:rgba(29,63,184,.45) !important;
    box-shadow:0 0 0 3px rgba(29,63,184,.12);
}

.fc-select{
    appearance:auto;
}

.full-width{
    grid-column:span 2;
}

.salary-field-group{
    display:flex;
    gap:10px;
    align-items:flex-end;
}

.salary-field-group .salary-amount{
    flex:1 1 auto;
    min-width:0;
}

.salary-field-group .salary-currency{
    flex:0 0 140px;
}

.repeatable-card{
    background:#ffffff;
    border:1px solid #d9dee9;
    border-radius:10px;
    padding:14px;
    margin-bottom:12px;
    box-shadow:0 1px 0 rgba(15, 23, 42, 0.03);
}

.repeatable-head{
    display:flex;
    align-items:center;
    gap:10px;
    border-bottom:1px solid #e5eaf2;
    padding-bottom:10px;
    margin-bottom:12px;
}

.repeatable-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:18px;
    padding:0 6px;
    border-radius:3px;
    background:var(--fc-heading);
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    flex:0 0 auto;
}

.repeatable-title{
    color:var(--fc-heading);
    font-size:20px;
    font-weight:800;
    line-height:1;
    letter-spacing:.04em;
    text-transform:uppercase;
    flex:1;
}

.repeatable-remove{
    width:26px;
    height:26px;
    border:1px solid #ff6b6b;
    background:#fff;
    color:var(--fc-danger);
    border-radius:4px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    padding:0;
    flex:0 0 auto;
}

.repeatable-remove:hover{
    background:rgba(255, 77, 79, 0.08);
}

.repeatable-remove:disabled{
    opacity:.45;
    cursor:not-allowed;
    background:#fff;
    color:#ff9a9a;
}

.repeatable-grid{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:8px;
    align-items:start;
}

.edu-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    align-items:start;
}

.repeatable-grid .form-group,
.edu-grid .form-group{
    margin-bottom:0;
}

.repeatable-file{
    margin-top:8px;
}

.repeatable-file input[type="file"]{
    width:100%;
}

.repeatable-hint{
    margin-top:6px;
    color:#6b7280;
    font-size:12px;
    line-height:1.5;
}

.field-error{
    margin-top:6px;
    color:var(--fc-danger);
    font-size:12px;
    line-height:1.45;
}

.fc-input.is-invalid,
.fc-select.is-invalid,
.fc-textarea.is-invalid,
.repeatable-grid .form-group .is-invalid,
.edu-grid .form-group .is-invalid,
.repeatable-file .is-invalid{
    border-color:var(--fc-danger) !important;
    box-shadow:0 0 0 0.2rem rgba(220,53,69,.12) !important;
}

.upload-section-stack{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.upload-subsection{
    padding:18px;
    border:1px solid var(--fc-border);
    border-radius:12px;
    background:var(--fc-surface-soft);
}

.upload-subsection-head{
    margin-bottom:14px;
}

.upload-subsection-head span{
    display:inline-flex;
    align-items:center;
    padding:0 .7rem;
    min-height:28px;
    border-radius:999px;
    background:rgba(29,63,184,.08);
    color:var(--fc-heading);
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.upload-subsection-head p{
    margin:8px 0 0;
    color:var(--fc-muted);
    font-size:13px;
    line-height:1.55;
}

.dynamic-btn,
.fc-btn{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    border:none;
    border-radius:10px;
    padding:.75rem 1.05rem;
    font-weight:700;
    text-decoration:none;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.dynamic-btn{
    background:transparent;
    border:1px dashed var(--fc-heading);
    color:var(--fc-heading);
    margin:10px 0 0;
    cursor:pointer;
}

.dynamic-btn:hover{
    transform:translateY(-1px);
    background:rgba(29,63,184,.06);
}

.fc-btn-primary{
    background:linear-gradient(135deg, var(--fc-heading), var(--fc-accent));
    color:#fff;
    box-shadow:0 12px 24px rgba(29,63,184,.16);
}

.fc-btn-secondary{
    background:#fff;
    color:var(--fc-heading);
    border:1px solid var(--fc-border);
}

.fc-btn:hover{
    transform:translateY(-1px);
}

.fc-chip{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.35rem .7rem;
    border-radius:999px;
    background:rgba(29,63,184,.08);
    color:var(--fc-heading);
    font-size:.82rem;
    font-weight:700;
}

.fc-alert{
    border-radius:12px;
    border:1px solid var(--fc-border);
    background:#fff;
    color:#1e293b !important;
}

.fc-alert-success{
    border-color:rgba(37,165,106,.28);
    background-color:#f6ffed !important;
    color:#278929 !important;
}

.fc-alert-danger{
    border-color:rgba(255,77,79,.28);
    background-color:#fff2f0 !important;
    color:#a8071a !important;
}

.fc-summary-grid{
    display:grid;
    gap:14px;
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.fc-summary{
    padding:16px;
    border-radius:12px;
    background:var(--fc-surface-soft);
    border:1px solid var(--fc-border);
}

.fc-summary strong{
    display:block;
    font-size:1.45rem;
    line-height:1.1;
    color:var(--fc-heading);
}

.fc-photo-shell{
    display:flex;
    gap:15px;
    align-items:flex-start;
}

.fc-photo-input{
    flex:1 1 auto;
}

.fc-photo-preview{
    width:100px;
    height:100px;
    border:2px dashed var(--fc-danger);
    border-radius:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#f8f9fa;
    flex-shrink:0;
}

.fc-photo-preview span{
    font-size:.75rem;
    color:var(--fc-danger);
    text-align:center;
    padding:4px;
}

.fc-photo-preview img{
    display:none;
    width:100%;
    height:100%;
    object-fit:cover;
}

.career-consent-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    border-top: 1px solid var(--fc-border);
    padding-top: 16px;
    margin-top: 18px;
}

.career-consent-copy {
    flex: 1 1 520px;
    min-width: 280px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--fc-muted);
    font-size: 14px;
    line-height: 1.6;
}

.career-consent-copy input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: 0 0 auto;
}

.career-consent-copy label {
    margin-bottom: 0;
    font-weight: 400;
    cursor: pointer;
}

.career-consent-copy a {
    color: var(--fc-heading);
    text-decoration: underline;
}

.career-consent-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
    margin-left: auto;
}

.fc-position-chip{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.45rem .75rem;
    border-radius:999px;
    background:rgba(29,63,184,.08);
    color:var(--fc-heading);
    font-weight:700;
    font-size:.86rem;
}

.fc-readonly{
    background:#edf6ff !important;
    color:#0f172a !important;
    border-color:rgba(22,191,243,0.28) !important;
    font-weight:600;
    -webkit-text-fill-color:#0f172a;
    opacity:1;
}

@media (max-width: 991.98px){
    .fc-summary-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px){
    .fc-hero{
        padding:32px 0 22px;
    }

    .fc-hero-title{
        font-size:3rem;
        max-width:none;
    }

    .fc-hero-description{
        font-size:1rem;
        line-height:1.65;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .full-width{
        grid-column:span 1;
    }

    .edu-grid{
        grid-template-columns:1fr 1fr;
    }

    .career-consent-footer {
        flex-direction: column;
        align-items: stretch;
    }
    .career-consent-actions {
        width: 100%;
        margin-left: 0;
        display: flex;
        gap: 12px;
    }
    .career-consent-actions .fc-btn {
        flex: 1;
        justify-content: center;
    }
}

@media (max-width: 575.98px){
    .fc-summary-grid{
        grid-template-columns:1fr;
    }

    .salary-field-group{
        flex-direction:column;
        align-items:stretch;
    }

    .salary-field-group .salary-currency{
        flex-basis:auto;
        width:100%;
    }

    .edu-grid{
        grid-template-columns:1fr;
    }

    .fc-photo-shell{
        flex-direction:column;
    }

    .fc-photo-preview{
        width:100%;
    }

    .fc-hero-actions .fc-btn{
        width:100%;
        justify-content:center;
    }
}

/* iframe support styles */
html.in-iframe body.future-career-page {
    background: transparent !important;
    padding-top: 0 !important;
}
html.in-iframe .main-header,
html.in-iframe footer,
html.in-iframe .mobile-nav,
html.in-iframe .search-overlay,
html.in-iframe .skip-link {
    display: none !important;
}
html.in-iframe .fc-shell {
    min-height: auto !important;
}
html.in-iframe main.fc-shell {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
html.in-iframe #future-career-form {
    padding-top: 0 !important;
}
html.in-iframe .fc-card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}
html.in-iframe .container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}
