/* Design B public auth experience. Shared by /login and /register. */
.public-b-page {
    --b-navy-950: #061b3d;
    --b-navy-900: #08285a;
    --b-navy-850: #0a3477;
    --b-blue: #2763e6;
    --b-blue-600: #1f57d4;
    --b-cyan: #20a8e3;
    --b-mint: #2fcca5;
    --b-mint-dark: #1ca483;
    --b-ink: #13284a;
    --b-muted: #71809a;
    --b-line: #dfe7f2;
    --b-soft: #f5f8fc;
    min-height: 100vh;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: block !important;
    direction: rtl;
    color: var(--b-ink);
    background: #fff;
    scroll-behavior: smooth;
}

.public-b-page *, .public-b-page *::before, .public-b-page *::after { box-sizing: border-box; }
.public-b-page a { text-underline-offset: 3px; }

.public-b-nav {
    position: sticky;
    top: 0;
    z-index: 1040;
    color: #fff;
    background: rgba(5, 27, 63, .97);
    border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(12px);
}

.public-b-nav__inner {
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 28px;
}

.public-b-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    font-size: .88rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
}

.public-b-brand:hover { color: #fff; }
.public-b-brand img { width: 42px; height: 30px; object-fit: contain; }

.public-b-links {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-inline-start: auto;
}

.public-b-links a {
    position: relative;
    color: rgba(255,255,255,.74);
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none;
    transition: color .18s ease;
}

.public-b-links a::after {
    content: "";
    position: absolute;
    right: 0;
    left: 100%;
    bottom: -8px;
    height: 2px;
    border-radius: 2px;
    background: var(--b-mint);
    transition: left .18s ease;
}

.public-b-links a:hover { color: #fff; }
.public-b-links a:hover::after { left: 0; }

.public-b-nav__actions { display: flex; align-items: center; gap: 9px; }
.public-b-btn {
    min-width: 78px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: .76rem;
    font-weight: 850;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}

.public-b-btn:hover { transform: translateY(-1px); }
.public-b-btn--ghost { color: #fff; border: 1px solid rgba(255,255,255,.55); background: transparent; }
.public-b-btn--ghost:hover { color: #fff; border-color: #fff; background: rgba(255,255,255,.08); }
.public-b-btn--mint { color: #fff; border: 1px solid var(--b-mint); background: linear-gradient(135deg, #37d7ad, #20b992); box-shadow: 0 9px 22px rgba(27, 185, 145, .20); }
.public-b-btn--mint:hover { color: #fff; background: linear-gradient(135deg, #2ac69e, #1ca985); }
.public-b-btn--lg { min-width: 145px; min-height: 46px; padding-inline: 22px; font-size: .82rem; }

.public-b-hero {
    position: relative;
    min-height: 600px;
    padding: 52px 0 112px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 7% 20%, rgba(20, 201, 225, .38), transparent 28%),
        radial-gradient(circle at 54% 80%, rgba(40, 101, 230, .28), transparent 31%),
        linear-gradient(118deg, #0a5a9f 0%, #063d83 34%, #062a65 67%, #061d49 100%);
}

.public-b-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .5;
    background-image:
        radial-gradient(circle, rgba(75,222,238,.35) 1.2px, transparent 1.5px),
        linear-gradient(100deg, transparent 0 56%, rgba(31,113,222,.16) 56% 58%, transparent 58% 100%);
    background-size: 18px 18px, 100% 100%;
    background-position: -40px 38px, 0 0;
    mask-image: linear-gradient(90deg, #000 0%, transparent 34%, transparent 70%, #000 100%);
}

.public-b-hero::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    left: 32%;
    top: 110px;
    border-radius: 50%;
    border: 1px solid rgba(73,144,255,.16);
    box-shadow: inset 0 0 80px rgba(17,91,205,.16), 0 0 0 75px rgba(15,87,200,.05), 0 0 0 150px rgba(15,87,200,.025);
    pointer-events: none;
}

.public-b-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(330px, .62fr);
    grid-template-areas: "copy card";
    gap: clamp(42px, 7vw, 96px);
    align-items: center;
}

.public-b-hero__copy { grid-area: copy; max-width: 680px; justify-self: start; }
.public-b-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 7px 12px;
    border: 1px solid rgba(120,214,236,.24);
    border-radius: 999px;
    color: #aeeef4;
    background: rgba(20,119,172,.16);
    font-size: .72rem;
    font-weight: 850;
}

.public-b-hero__copy h1 {
    max-width: 690px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.3rem, 4.2vw, 4.15rem);
    font-weight: 950;
    line-height: 1.42;
    letter-spacing: -.035em;
}

.public-b-hero__copy h1 em { display: block; color: #fff; font-style: normal; }
.public-b-hero__copy p {
    max-width: 610px;
    margin: 22px 0 0;
    color: rgba(237,247,255,.78);
    font-size: clamp(.92rem, 1.3vw, 1.06rem);
    line-height: 2;
}

.public-b-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.public-b-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 9px;
    color: rgba(255,255,255,.86);
    background: rgba(2,25,63,.28);
    font-size: .7rem;
    font-weight: 750;
}
.public-b-chip i { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 7px; color: #fff; background: rgba(47,204,165,.20); font-style: normal; }
.public-b-chip:nth-child(2) i { background: rgba(39,99,230,.28); }
.public-b-chip:nth-child(3) i { background: rgba(32,168,227,.24); }

.public-b-auth-card {
    grid-area: card;
    width: min(360px, 100%);
    justify-self: end;
    position: relative;
    z-index: 3;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 14px;
    color: var(--b-ink);
    background: #fff;
    box-shadow: 0 28px 65px rgba(1,16,48,.32);
}

.public-b-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #edf1f6; }
.public-b-auth-tab {
    position: relative;
    display: grid;
    min-height: 52px;
    place-items: center;
    color: #8a97a9;
    background: #fff;
    font-size: .8rem;
    font-weight: 850;
    text-decoration: none;
}
.public-b-auth-tab:hover { color: var(--b-blue); }
.public-b-auth-tab.is-active { color: #173a70; }
.public-b-auth-tab.is-active::after { content: ""; position: absolute; right: 12px; left: 12px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: #2e66e8; }

.public-b-auth-body { padding: 24px 22px 20px; }
.public-b-auth-title { margin-bottom: 18px; }
.public-b-auth-title h2 { margin: 0 0 7px; color: #1a3560; font-size: 1rem; font-weight: 900; line-height: 1.55; }
.public-b-auth-title p { margin: 0; color: #7c899b; font-size: .72rem; line-height: 1.75; }
.public-b-page .public-b-auth-card .form-label { margin-bottom: 6px; color: #46566d; font-size: .72rem; font-weight: 800; }
.public-b-page .public-b-auth-card .form-control {
    min-height: 44px;
    border: 1px solid #d9e0ea;
    border-radius: 8px;
    color: #1a2d49;
    background: #fbfcfe;
    box-shadow: none;
    font-size: .82rem;
}
.public-b-page .public-b-auth-card .form-control:focus { border-color: #6d94ed; background: #fff; box-shadow: 0 0 0 .2rem rgba(39,99,230,.09); }
.public-b-page .public-b-auth-card .form-control.is-invalid { border-color: #d94b57; }
.public-b-primary-action {
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(135deg, #2b69ed, #2258d8);
    box-shadow: 0 10px 24px rgba(35,91,218,.20);
    font-size: .78rem;
    font-weight: 900;
}
.public-b-primary-action:hover, .public-b-primary-action:focus-visible { color: #fff; background: linear-gradient(135deg, #255ed9, #1d4fc6); }
.public-b-auth-card .btn-link { color: #4169b7; font-size: .68rem; font-weight: 750; text-decoration: none; }
.public-b-auth-card .btn-link:hover { text-decoration: underline; }
.public-b-auth-card .alert { margin-bottom: 10px; padding: 9px 10px; border-radius: 8px; font-size: .66rem; line-height: 1.65; }
.public-b-auth-card .login-input-hint,
.public-b-auth-card .registration-field-hint { display: flex; justify-content: space-between; gap: 10px; margin-top: 5px; color: #97a1af; font-size: .6rem; }
.public-b-auth-card .field-error { display: none; margin-top: 5px; color: #b42318; font-size: .62rem; }
.public-b-auth-card .field-error.is-visible { display: block; }
.public-b-auth-card .otp-mobile-review,
.public-b-auth-card .registration-otp-summary,
.public-b-auth-card .registration-mobile-confirmed { margin-bottom: 12px; padding: 9px 10px; border: 1px solid #dce5ef; border-radius: 8px; color: #58677b; background: #f7f9fc; font-size: .67rem; }
.public-b-auth-card .registration-mobile-confirmed { border-color: #c9e7d8; color: #2d6950; background: #f2faf6; }
.public-b-auth-card .login-register-callout,
.public-b-auth-card .registration-login-link { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #eef1f5; color: #8a95a5; font-size: .65rem; }
.public-b-auth-card .login-register-callout a,
.public-b-auth-card .registration-login-link a { color: #3763b7; font-weight: 850; text-decoration: none; }
.public-b-auth-card .public-b-auth-legal { margin: 14px 0 0; color: #a0a8b3; font-size: .57rem; line-height: 1.6; text-align: center; }
.public-b-auth-card .text-danger.small { margin-top: 4px; font-size: .62rem !important; }

.public-b-register-card { width: min(410px, 100%); }
.public-b-register-card .public-b-auth-body { padding: 20px 22px 18px; }
.public-b-register-card .registration-progress { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 16px; }
.public-b-register-card .registration-progress__step { display: flex; align-items: center; gap: 7px; min-width: 0; }
.public-b-register-card .registration-progress__number { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border: 1px solid #d7e0ea; border-radius: 50%; color: #7d899a; background: #fff; font-size: .62rem; font-weight: 900; }
.public-b-register-card .registration-progress__copy strong, .public-b-register-card .registration-progress__copy small { display: block; }
.public-b-register-card .registration-progress__copy strong { color: #657187; font-size: .62rem; }
.public-b-register-card .registration-progress__copy small { margin-top: 2px; color: #9aa3b1; font-size: .52rem; }
.public-b-register-card .registration-progress__step.is-active .registration-progress__number { border-color: #2e66e8; color: #fff; background: #2e66e8; }
.public-b-register-card .registration-progress__step.is-active .registration-progress__copy strong { color: #264f9a; }
.public-b-register-card .registration-progress__step.is-done .registration-progress__number { border-color: #2bb68f; color: #fff; background: #2bb68f; }
.public-b-register-card .registration-panel-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid #eef1f5; }
.public-b-register-card .registration-panel-title strong { color: #40516a; font-size: .69rem; font-weight: 850; }
.public-b-register-card .registration-panel-title span { padding: 3px 7px; border-radius: 999px; color: #3564bc; background: #eef4ff; font-size: .55rem; font-weight: 800; }
.public-b-register-card .registration-account-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.public-b-register-card .registration-account-type-option { display: flex; align-items: center; gap: 7px; min-height: 58px; padding: 8px 9px; border: 1px solid #dce3ec; border-radius: 9px; cursor: pointer; background: #fafbfd; }
.public-b-register-card .registration-account-type-option:has(input:checked),
.public-b-register-card .registration-account-type-option.is-selected { border-color: #6e94ed; background: #f0f5ff; box-shadow: 0 0 0 .12rem rgba(39,99,230,.07); }
.public-b-register-card .registration-account-type-option input { accent-color: #2e66e8; }
.public-b-register-card .registration-account-type-option strong, .public-b-register-card .registration-account-type-option small { display: block; }
.public-b-register-card .registration-account-type-option strong { color: #344861; font-size: .66rem; }
.public-b-register-card .registration-account-type-option small { margin-top: 2px; color: #8994a5; font-size: .54rem; line-height: 1.45; }
.public-b-register-card .registration-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.public-b-register-card .mb-3 { margin-bottom: .65rem !important; }

.public-b-stats-wrap { position: relative; z-index: 8; margin-top: -62px; padding-bottom: 34px; }
.public-b-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 126px;
    border: 1px solid #e5eaf1;
    border-radius: 15px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 16px 42px rgba(28,48,80,.12);
}
.public-b-stat { position: relative; display: flex; align-items: center; gap: 14px; min-width: 0; padding: 22px 20px; }
.public-b-stat + .public-b-stat::before { content: ""; position: absolute; inset-block: 24px; right: 0; width: 1px; background: #e7ebf1; }
.public-b-stat__icon { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 13px; color: #2b64df; background: #edf3ff; font-size: 1.25rem; font-weight: 900; }
.public-b-stat__icon--green { color: #25ad89; background: #edf9f5; }
.public-b-stat small, .public-b-stat strong, .public-b-stat p { display: block; margin: 0; }
.public-b-stat small { color: #6c778a; font-size: .63rem; font-weight: 800; }
.public-b-stat strong { margin-top: 4px; color: #14315b; font-size: 1.4rem; font-weight: 950; line-height: 1; font-variant-numeric: tabular-nums; }
.public-b-stat p { margin-top: 6px; color: #a0a8b5; font-size: .55rem; line-height: 1.45; }

.public-b-section { padding: 54px 0; scroll-margin-top: 76px; }
.public-b-section-heading { max-width: 760px; margin-bottom: 28px; }
.public-b-section-heading--center { margin-inline: auto; text-align: center; }
.public-b-section-heading > span { display: inline-block; margin-bottom: 5px; color: #2d5ca9; font-size: .7rem; font-weight: 900; }
.public-b-section-heading h2 { margin: 0; color: #17335e; font-size: clamp(1.25rem, 2vw, 1.7rem); font-weight: 950; line-height: 1.5; }
.public-b-section-heading p { margin: 8px 0 0; color: #8490a1; font-size: .72rem; line-height: 1.9; }

.public-b-section--why { background: #fff; }
.public-b-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.public-b-feature-card { padding: 24px 22px; border: 1px solid #e1e7f0; border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(34,58,92,.045); text-align: right; }
.public-b-feature-icon { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: 14px; border-radius: 13px; color: #2d64df; background: #edf3ff; font-size: 1.1rem; font-weight: 950; }
.public-b-feature-icon--green { color: #1eac85; background: #eaf8f3; }
.public-b-feature-icon--cyan { color: #169cd0; background: #eaf8fd; }
.public-b-feature-card h3 { margin: 0; color: #17325a; font-size: .88rem; font-weight: 900; }
.public-b-feature-card p { margin: 9px 0 0; color: #8893a4; font-size: .67rem; line-height: 1.85; }

.public-b-section--partners { background: linear-gradient(180deg,#fbfcfe,#f6f9fd); border-block: 1px solid #edf1f6; }
.public-b-partner-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.public-b-partner-strip div { min-height: 72px; display: grid; place-items: center; padding: 10px; border: 1px solid #e2e7ef; border-radius: 10px; color: #8993a2; background: rgba(255,255,255,.86); box-shadow: 0 5px 16px rgba(31,51,79,.035); font-size: .72rem; font-weight: 850; }
.public-b-partner-strip img { width: 52px; height: 52px; object-fit: contain; }
.public-b-partner-strip strong { text-align: center; }

.public-b-section--process { background: #fff; }
.public-b-process-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; direction: rtl; }
.public-b-process-grid::before { content: ""; position: absolute; top: 23px; right: 10%; left: 10%; border-top: 2px dashed #77a2ee; opacity: .65; }
.public-b-process-grid article { position: relative; z-index: 1; min-height: 170px; padding: 16px 15px; border: 1px solid #dfe6ef; border-radius: 11px; background: #fff; text-align: center; box-shadow: 0 6px 18px rgba(32,55,89,.04); }
.public-b-process-grid article > span { position: absolute; top: -12px; right: 50%; display: grid; width: 28px; height: 28px; place-items: center; transform: translateX(50%); border: 4px solid #fff; border-radius: 50%; color: #fff; background: #2763e6; box-shadow: 0 4px 10px rgba(39,99,230,.22); font-size: .62rem; font-weight: 900; }
.public-b-process-icon { display: grid; width: 40px; height: 40px; margin: 18px auto 9px; place-items: center; border-radius: 12px; color: #2e66e8; background: #eff4ff; font-size: 1.05rem; font-weight: 900; }
.public-b-process-grid h3 { margin: 0; color: #17345f; font-size: .77rem; font-weight: 900; }
.public-b-process-grid p { margin: 7px 0 0; color: #8a95a5; font-size: .6rem; line-height: 1.7; }

.public-b-section--audiences { padding-top: 34px; background: #fff; }
.public-b-audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.public-b-audience-card { position: relative; min-height: 320px; display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border-radius: 13px; background: #fff; }
.public-b-audience-card--candidate { border: 1px solid #80d9c5; background: linear-gradient(135deg,#fbfffd,#eefbf7); }
.public-b-audience-card--company { border: 1px solid #83a8f7; background: linear-gradient(135deg,#fbfdff,#f0f5ff); }
.public-b-audience-copy { position: relative; z-index: 2; padding: 28px 24px; }
.public-b-audience-copy > span { color: #26a888; font-size: .67rem; font-weight: 900; }
.public-b-audience-card--company .public-b-audience-copy > span { color: #3168d7; }
.public-b-audience-copy h2 { margin: 3px 0 7px; color: #14745e; font-size: 1.2rem; font-weight: 950; }
.public-b-audience-card--company h2 { color: #204c9f; }
.public-b-audience-copy p { margin: 0; color: #6f7f92; font-size: .65rem; line-height: 1.75; }
.public-b-audience-copy ul { margin: 14px 0 18px; padding: 0; list-style: none; }
.public-b-audience-copy li { position: relative; margin: 6px 0; padding-right: 16px; color: #536579; font-size: .62rem; line-height: 1.55; }
.public-b-audience-copy li::before { content: "✓"; position: absolute; right: 0; top: 0; color: #27b28e; font-weight: 900; }
.public-b-audience-card--company li::before { color: #3974e0; }
.public-b-outline-action { min-height: 36px; padding: 7px 12px; border: 1px solid #45b99b; border-radius: 8px; color: #18876d; background: transparent; font-size: .61rem; font-weight: 850; }
.public-b-outline-action:hover { color: #fff; background: #27ae8b; }
.public-b-outline-action--blue { border-color: #5d88e8; color: #2d62c6; }
.public-b-outline-action--blue:hover { color: #fff; background: #3168d7; }

.public-b-candidate-illustration { position: relative; min-height: 100%; overflow: hidden; }
.public-b-screen { position: absolute; top: 55px; left: 18px; width: 98px; height: 72px; border-radius: 13px; background: rgba(255,255,255,.8); box-shadow: 0 10px 30px rgba(35,97,86,.10); }
.public-b-screen::before { content: ""; position: absolute; top: 13px; right: 14px; width: 25px; height: 25px; border-radius: 50%; background: #3fc3a2; }
.public-b-screen span, .public-b-screen i, .public-b-screen b { position: absolute; right: 48px; height: 6px; border-radius: 5px; background: #d9e9e5; }
.public-b-screen span { top: 17px; width: 37px; }.public-b-screen i { top: 31px; width: 29px; }.public-b-screen b { top: 46px; width: 42px; }
.public-b-person { position: absolute; bottom: 72px; right: 47px; width: 86px; height: 105px; border-radius: 45px 45px 24px 24px; background: #27ae8b; }
.public-b-person i { position: absolute; top: -32px; right: 22px; width: 48px; height: 55px; border-radius: 50% 50% 45% 45%; background: #efb58f; }
.public-b-person i::before { content: ""; position: absolute; top: -8px; right: 0; width: 50px; height: 27px; border-radius: 60% 60% 30% 25%; background: #183c55; transform: rotate(8deg); }
.public-b-person span { position: absolute; bottom: 4px; left: -24px; width: 45px; height: 70px; border-radius: 22px; background: #209979; transform: rotate(22deg); }
.public-b-laptop { position: absolute; bottom: 42px; right: 14px; width: 120px; height: 60px; border-radius: 8px 8px 2px 2px; background: linear-gradient(145deg,#bfd3da,#e6eff2); transform: skewX(-7deg); box-shadow: 0 10px 18px rgba(37,80,83,.10); }
.public-b-laptop::after { content: ""; position: absolute; right: -8px; bottom: -7px; width: 140px; height: 8px; border-radius: 5px; background: #a9bdc4; }
.public-b-plant { position: absolute; bottom: 31px; left: 26px; width: 35px; height: 65px; border-bottom: 22px solid #c9a47c; }
.public-b-plant i { position: absolute; bottom: 22px; width: 17px; height: 37px; border-radius: 100% 0 100% 0; background: #45b985; transform-origin: bottom; }
.public-b-plant i:nth-child(1){right:14px;transform:rotate(-32deg)}.public-b-plant i:nth-child(2){right:2px;transform:rotate(20deg)}.public-b-plant i:nth-child(3){right:18px;bottom:33px;transform:rotate(-7deg)}

.public-b-building { position: relative; align-self: end; justify-self: stretch; height: 250px; margin: 0 22px 0 0; background: linear-gradient(90deg,#4d86ef 0 28%,#70a7fa 28% 58%,#a1c4ff 58%); clip-path: polygon(0 14%,28% 3%,28% 23%,58% 14%,58% 34%,100% 28%,100% 100%,0 100%); filter: drop-shadow(0 14px 22px rgba(40,87,165,.17)); }
.public-b-building span { position: absolute; width: 12px; height: 20px; background: rgba(255,255,255,.62); box-shadow: 34px 0 rgba(255,255,255,.62),68px 0 rgba(255,255,255,.62),102px 0 rgba(255,255,255,.62); }
.public-b-building span:nth-child(1){top:62px;right:18px}.public-b-building span:nth-child(2){top:98px;right:18px}.public-b-building span:nth-child(3){top:134px;right:18px}.public-b-building span:nth-child(4){top:170px;right:18px}.public-b-building span:nth-child(5){top:206px;right:18px}.public-b-building span:nth-child(6){display:none}

.public-b-section--faq { background: #fff; }
.public-b-faqs { display: grid; gap: 8px; max-width: 980px; margin: 0 auto; }
.public-b-faqs details { overflow: hidden; border: 1px solid #e0e6ef; border-radius: 8px; background: #fff; }
.public-b-faqs summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 46px; padding: 10px 14px; color: #526178; font-size: .68rem; font-weight: 800; }
.public-b-faqs summary::-webkit-details-marker { display:none; }
.public-b-faqs summary b { color: #2e65dd; font-size: .85rem; transition: transform .18s ease; }
.public-b-faqs details[open] summary b { transform: rotate(180deg); }
.public-b-faqs details p { margin: 0; padding: 0 14px 14px; color: #8290a2; font-size: .64rem; line-height: 1.8; }

.public-b-cta { padding: 20px 0 0; background: #fff; }
.public-b-cta__box { position: relative; min-height: 132px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; overflow: hidden; padding: 28px 40px; border-radius: 10px 10px 0 0; color: #fff; background: radial-gradient(circle at 85% 20%, rgba(52,135,245,.33), transparent 25%), linear-gradient(110deg,#0756bf,#0a3f9d 48%,#073178); }
.public-b-cta__box::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.28; background-image:radial-gradient(circle,rgba(100,188,255,.55) 1px,transparent 1.5px); background-size:13px 13px; mask-image:linear-gradient(90deg,transparent 0 65%,#000); }
.public-b-cta__box > div { position: relative; z-index: 2; }
.public-b-cta__box span { color: #b8d8ff; font-size: .61rem; font-weight: 800; }
.public-b-cta__box h2 { margin: 3px 0; color: #fff; font-size: 1.45rem; font-weight: 950; }
.public-b-cta__box p { margin: 0; max-width: 650px; color: rgba(255,255,255,.72); font-size: .65rem; line-height: 1.7; }
.public-b-cta__actions { display: flex; gap: 9px; }
.public-b-plane { position: absolute !important; left: 34px; top: 18px; z-index:1 !important; color: rgba(255,255,255,.92); font-size: 2.2rem; transform: rotate(145deg); }

.public-b-footer { color: rgba(255,255,255,.7); background: #061a3c; border-top: 1px solid rgba(255,255,255,.08); }
.public-b-footer__inner { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: .59rem; }
.public-b-footer nav, .public-b-footer__links { display: flex; gap: 18px; }
.public-b-footer a { color: rgba(255,255,255,.72); text-decoration: none; }
.public-b-footer a:hover { color: #fff; }

.public-b-announcements { padding: 0 0 20px; background: #fff; }
.public-b-announcements__box { padding: 18px; border: 1px solid #e1e7ef; border-radius: 12px; background: #f8faff; }
.public-b-announcements__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.public-b-announcements__header h2 { margin:0; color:#17345f; font-size:.82rem; font-weight:900; }
.public-b-announcements__header span { color:#8794a5; font-size:.6rem; }
.public-b-announcements__carousel { position:relative; }
.public-b-announcements__carousel .carousel-inner { border-radius:10px; overflow:hidden; }
.public-b-announcement-slide { display:flex; align-items:center; gap:12px; width:100%; min-height:96px; padding:14px 16px; border:1px solid #dfe6ef; border-right:4px solid #2fcca5; border-radius:10px; color:#42556f; background:#fff; text-align:right; cursor:pointer; transition:transform .16s ease, box-shadow .16s ease; }
.public-b-announcement-slide:hover, .public-b-announcement-slide:focus-visible { transform:translateY(-2px); box-shadow:0 10px 26px rgba(19,40,74,.1); }
.public-b-announcement-slide--important { border-right-color:#2763e6; }
.public-b-announcement-slide--urgent { border-right-color:#e0435b; background:#fff6f7; }
.public-b-announcement-slide__icon { display:grid; flex:0 0 40px; width:40px; height:40px; place-items:center; border-radius:50%; background:#e9fbf5; color:#1ca483; }
.public-b-announcement-slide--important .public-b-announcement-slide__icon { background:#eaf1ff; color:#1f57d4; }
.public-b-announcement-slide--urgent .public-b-announcement-slide__icon { background:#fde8ea; color:#c81e3f; }
.public-b-announcement-slide__body { flex:1; min-width:0; }
.public-b-announcement-slide__eyebrow { display:block; margin-bottom:3px; color:#8994a4; font-size:.58rem; font-weight:800; }
.public-b-announcement-slide__body strong { display:block; margin-bottom:4px; color:#25436f; font-size:.72rem; font-weight:850; }
.public-b-announcement-slide__body p { margin:0; overflow:hidden; color:#8994a4; font-size:.62rem; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.public-b-announcement-slide__cta { flex:0 0 auto; color:#1ca483; font-size:.6rem; font-weight:800; white-space:nowrap; }
.public-b-announcement-slide--important .public-b-announcement-slide__cta { color:#1f57d4; }
.public-b-announcement-slide--urgent .public-b-announcement-slide__cta { color:#c81e3f; }
.public-b-announcements__carousel .carousel-indicators { position:static; margin:10px 0 0; gap:6px; }
.public-b-announcements__carousel .carousel-indicators [data-bs-target] { width:7px; height:7px; border-radius:50%; background-color:#c7d2e0; opacity:1; border:0; transition:width .16s ease; }
.public-b-announcements__carousel .carousel-indicators .active { width:20px; border-radius:4px; background-color:#2fcca5; }
.public-b-announcements__carousel .carousel-control-prev, .public-b-announcements__carousel .carousel-control-next { width:32px; opacity:1; }
.public-b-announcements__carousel .carousel-control-prev-icon, .public-b-announcements__carousel .carousel-control-next-icon { width:1.3rem; height:1.3rem; padding:6px; border-radius:50%; background-color:#fff; border:1px solid #dfe6ef; box-shadow:0 4px 12px rgba(19,40,74,.15); }
.public-b-announcements__carousel .carousel-control-prev-icon { background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2317345f'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); }
.public-b-announcements__carousel .carousel-control-next-icon { background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2317345f'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e"); }
.public-b-announcements__carousel--single .carousel-control-prev, .public-b-announcements__carousel--single .carousel-control-next, .public-b-announcements__carousel--single .carousel-indicators { display:none; }
.announcement-modal .modal-content { border:0; border-radius:16px; box-shadow:0 24px 70px rgba(16,32,58,.18); }
.announcement-modal .modal-header { border-bottom-color:#edf1f5; }
.announcement-modal .modal-title { color:#19365f; font-size:1rem; font-weight:900; }
.announcement-modal__eyebrow { color:#3564b7; font-size:.62rem; font-weight:850; }
.announcement-modal__body { color:#58687e; line-height:1.9; }
.announcement-modal__image img { max-width:100%; border-radius:12px; }

@media (max-width: 1199.98px) {
    .public-b-hero__grid { grid-template-columns: minmax(0,1fr) 350px; gap: 42px; }
    .public-b-hero__copy h1 { font-size: clamp(2.1rem,4vw,3.5rem); }
    .public-b-stat { padding: 18px 14px; }
    .public-b-stat__icon { width: 40px; height: 40px; flex-basis:40px; }
    .public-b-audience-card { grid-template-columns: 1fr .78fr; }
}

@media (max-width: 991.98px) {
    .public-b-links { display:none; }
    .public-b-nav__inner { min-height:64px; gap:14px; }
    .public-b-hero { min-height:0; padding:38px 0 94px; }
    .public-b-hero__grid { grid-template-columns: 1fr; grid-template-areas:"copy" "card"; gap:30px; }
    .public-b-hero__copy { justify-self:stretch; max-width:none; text-align:center; }
    .public-b-hero__copy p { margin-inline:auto; }
    .public-b-hero__chips { justify-content:center; }
    .public-b-auth-card { justify-self:center; }
    .public-b-hero::after { left:50%; transform:translateX(-50%); }
    .public-b-stats { grid-template-columns:repeat(2,1fr); }
    .public-b-stat:nth-child(3)::before { display:none; }
    .public-b-feature-grid { grid-template-columns:1fr; }
    .public-b-partner-strip { grid-template-columns:repeat(3,1fr); }
    .public-b-process-grid { grid-template-columns:repeat(2,1fr); gap:28px; }
    .public-b-process-grid::before { display:none; }
    .public-b-audience-grid { grid-template-columns:1fr; }
}

@media (max-width: 575.98px) {
    .public-b-brand span { display:none; }
    .public-b-brand img { width:36px; }
    .public-b-nav__actions { gap:6px; }
    .public-b-btn { min-width:66px; min-height:34px; padding:6px 11px; font-size:.68rem; }
    .public-b-hero { padding:28px 0 82px; }
    .public-b-hero__copy h1 { font-size:2rem; line-height:1.48; }
    .public-b-hero__copy p { font-size:.8rem; }
    .public-b-chip { min-height:34px; font-size:.6rem; }
    .public-b-auth-card, .public-b-register-card { width:100%; }
    .public-b-auth-body, .public-b-register-card .public-b-auth-body { padding:20px 16px 17px; }
    .public-b-register-card .registration-account-type-grid,
    .public-b-register-card .registration-fields-grid { grid-template-columns:1fr; }
    .public-b-stats-wrap { margin-top:-48px; }
    .public-b-stats { grid-template-columns:1fr; }
    .public-b-stat + .public-b-stat::before { inset-inline:18px; inset-block-start:0; right:18px; left:18px; width:auto; height:1px; }
    .public-b-stat:nth-child(3)::before { display:block; }
    .public-b-section { padding:42px 0; }
    .public-b-partner-strip { grid-template-columns:repeat(2,1fr); }
    .public-b-process-grid { grid-template-columns:1fr; gap:22px; }
    .public-b-audience-card { grid-template-columns:1fr; min-height:0; }
    .public-b-audience-copy { padding:22px 19px; }
    .public-b-candidate-illustration, .public-b-building { display:none; }
    .public-b-cta__box { grid-template-columns:1fr; padding:25px 20px; text-align:center; }
    .public-b-cta__actions { width:100%; flex-direction:column; }
    .public-b-cta__actions .btn { width:100%; }
    .public-b-plane { display:none; }
    .public-b-footer__inner { min-height:76px; flex-direction:column; justify-content:center; gap:8px; text-align:center; }
}
