.portal-language { display: inline-flex; gap: 0.25rem; flex-wrap: wrap; }
.landing-work-types-link { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px; color: #2444c9; font-weight: 600; text-underline-offset: 3px; }
@media (max-width: 575.98px) {
    .portal-landing .landing-categories { align-items: stretch; flex-direction: column; gap: 0.5rem; }
    .portal-landing .landing-categories__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; width: 100%; }
    .portal-landing .landing-categories__list .landing-category { min-width: 0; min-height: 48px; justify-content: center; text-align: center; white-space: normal; padding: 0.5rem; font-size: 0.875rem; gap: 0.3rem; }
    .portal-landing .landing-categories__list .landing-category:nth-child(n+7) { display: none; }
    .portal-landing .landing-work-types-link { align-self: flex-start; }
}
.landing-guide { padding-block: 2.5rem; border-top: 1px solid #e8edf5; }
.landing-guide h2 { margin: 0 0 1.25rem; font-size: 1.5rem; }
.landing-guide__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.landing-guide__grid > * { min-width: 0; }
.landing-guide__grid h3 { margin: 0.65rem 0 0.4rem; font-size: 1.0625rem; }
.landing-guide__grid p, .landing-guide__note, .landing-faq p { margin: 0; color: #475569; line-height: 1.6; overflow-wrap: anywhere; }
.landing-guide__number { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #edf2ff; color: #2444c9; font-weight: 700; }
.landing-guide__grid > div > i { color: #3154ed; font-size: 1.5rem; }
.landing-guide--safety { background: #f7f9fc; }
.landing-guide__note { margin-top: 1.25rem; font-size: 0.875rem; }
html.portal-root body.portal-landing .landing-shell.landing-faq { max-width: 850px; }
.landing-faq__help { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; margin-top: 1rem; color: #475569; font-size: 0.9375rem; }
.landing-faq__help .landing-guide__link { margin: 0; }
.landing-footer__bottom nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; min-width: 0; }
.landing-footer__bottom nav a { display: inline-flex; align-items: center; min-height: 44px; }
.public-information section[id], .landing-guide[id] { scroll-margin-top: 100px; }
@media (max-width: 767.98px) {
    .landing-guide { padding-block: 1.75rem; }
    .landing-guide__grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .landing-guide h2 { font-size: 1.25rem; }
    .landing-footer__bottom { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
    .landing-footer__bottom nav { justify-content: flex-start; }
}
html.portal-root.portal-readable { --kf-ui-scale: 100%; }
.portal-landing, .portal-app-body, .auth-body { --kf-btn-height: 38px; --kf-input-height: 48px; }
.portal-app-body [hidden], .portal-landing [hidden] { display: none !important; }
.portal-language button { min-height: 44px; padding: 0.4rem 0.55rem; border: 1px solid #c6d1e2; border-radius: 8px; background: #fff; color: #263859; font: inherit; }
.portal-language button[aria-pressed="true"] { border-color: #3154ed; color: #2444c9; background: #edf2ff; font-weight: 700; }
.portal-landing .landing-header__actions { flex-wrap: wrap; }
.landing-hero--direct { padding: 2rem 0; }
.landing-hero--direct h1 { color: #17233f; font-size: clamp(1.8rem, 5vw, 2.8rem); font-weight: 800; }
.landing-hero--direct .landing-hero__lead { margin: 0.75rem 0 1rem; max-width: none; color: #40516d; }
.public-discovery-search { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(150px, 0.65fr) auto; align-items: start; margin-top: 1rem; }
.public-discovery-field { min-width: 0; }
.public-discovery-field label { display: block; margin-bottom: 0.5rem; color: #243553; font-size: 1rem; font-weight: 650; }
.public-discovery-field > select { width: 100%; min-height: 44px; }
.public-discovery-field .ts-control { min-height: 44px; font-size: 1rem; }
.public-discovery-field small, .public-location-status { display: block; margin-top: 0.4rem; color: #4d5c72; font-size: 0.9rem; }
.public-discovery-field .ts-wrapper { min-width: 0; }
.public-discovery-field .ts-dropdown { font-size: 1rem; }
.public-discovery-field .ts-control .item { white-space: normal; overflow-wrap: anywhere; }
.public-nearby-button { margin-top: 0.55rem; min-height: 44px; }
.public-discovery-search .landing-search__submit { margin-top: 2rem; }
.public-browse-note, .public-active-filters { color: #44546c; margin-top: 0.8rem; }
.portal-landing .landing-category { font-size: 0.875rem; line-height: 1.4; min-height: 38px; padding: 0.375rem 0.65rem; display: inline-flex; align-items: center; }
@media (max-width: 991.98px), (pointer: coarse) {
    .portal-landing .landing-category { min-height: 44px; }
}
.public-job-card-facts { margin: 1rem 0; }
.public-job-card-facts > div { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
.public-job-card-facts dt { flex: 0 0 100px; color: #40516d; font-weight: 500; }
.public-job-card-facts dd { margin: 0; color: #182b49; font-weight: 600; overflow-wrap: anywhere; }
.portal-landing .landing-job-card .btn { min-height: 38px; margin-top: auto; }
.portal-landing .landing-job-card__company { font-size: 1rem; color: #40516d; }
.portal-landing .public-job-facts small, .portal-landing .public-job-apply-card small { font-size: 0.95rem; color: #4d5c72; }
.portal-landing .public-job-facts strong, .portal-landing .public-job-apply-card p { font-size: 1rem; color: #263859; }
.public-safety-note { padding: 1rem; border-radius: 10px; background: #fff5df; color: #5d4310; line-height: 1.6; }
.public-information { max-width: 850px; padding-block: 2rem; color: #263859; line-height: 1.7; }
.public-information h1 { font-size: 2rem; }
.public-information h2 { font-size: 1.3rem; }
.public-information section { margin-top: 2rem; }
.public-information li { margin-block: 0.5rem; }
.portal-landing a:focus-visible, .portal-language button:focus-visible { outline: 3px solid #3154ed; outline-offset: 3px; }
.job-preview dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 0.5rem; margin-bottom: 0.6rem; }
.job-preview dd { white-space: pre-wrap; overflow-wrap: anywhere; }
.job-preview [data-preview-description] { white-space: pre-wrap; }
.auth-language { display: flex; justify-content: center; padding: 0.5rem; }
.portal-app-body.theme-dark .portal-language button { background: #19243a; color: #e5ecff; }
@media (max-width: 991.98px) {
    .public-discovery-search { grid-template-columns: 1fr 1fr; }
    .public-discovery-search .landing-search__submit { align-self: end; margin-top: 0; }
}
@media (max-width: 575.98px) {
    .public-discovery-search { grid-template-columns: 1fr; gap: 1rem; }
    .public-discovery-search .landing-search__submit { margin-top: 0; }
    .landing-hero--direct .landing-role-actions .btn { flex: 1 1 130px; }
    .portal-landing .landing-header__actions .btn-outline-primary { display: inline-flex; min-height: 38px; align-items: center; }
    .portal-landing .landing-header__inner { gap: 0.5rem; }
    .public-job-apply-card { position: static; }
    .public-job-detail { padding-bottom: 6rem; }
    .public-apply-button { position: fixed; bottom: 1rem; left: 1rem; width: calc(100% - 2rem) !important; z-index: 100; box-shadow: 0 4px 20px #26385940; }
    .public-job-card-facts dt { flex-basis: 85px; }
}

/* Native details keep guides usable with touch, keyboard and without JavaScript. */
.landing-guide__layout, .landing-guide__safety-layout { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 2.5rem; align-items: start; }
.landing-guide__layout > *, .landing-guide__safety-layout > * { min-width: 0; }
.landing-guide__art { align-self: center; text-align: center; }
.landing-guide__art img { display: block; width: 100%; max-width: 340px; height: auto; margin-inline: auto; }
.landing-guide__accordion details { border-bottom: 1px solid #dce3ed; }
.landing-guide__accordion details:first-child { border-top: 1px solid #dce3ed; }
.landing-guide__accordion summary { display: flex; align-items: center; gap: 0.75rem; min-height: 64px; padding: 0.75rem 0.5rem; cursor: pointer; list-style: none; font-size: 1rem; font-weight: 600; color: #17233f; }
.landing-guide__accordion summary::-webkit-details-marker { display: none; }
.landing-guide__accordion summary > span:not([aria-hidden]) { min-width: 0; overflow-wrap: anywhere; }
.landing-guide__accordion summary:focus-visible { outline: 3px solid #3154ed; outline-offset: 2px; border-radius: 4px; }
.landing-guide__accordion details[open] > summary { color: #2444c9; background: #edf2ff; }
.landing-guide__toggle { width: 0.55rem; height: 0.55rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: 0 0.5rem 0 auto; flex-shrink: 0; }
.landing-guide__accordion details[open] .landing-guide__toggle { transform: rotate(225deg); }
.landing-guide__body { padding: 0.75rem 0.5rem 1rem; }
.landing-guide__body p { font-size: 0.9375rem; color: #475569; line-height: 1.6; margin: 0 0 0.65rem; overflow-wrap: anywhere; }
.landing-guide__body p:last-child { margin-bottom: 0; }
.landing-guide__link { display: inline-flex; gap: 0.5rem; align-items: center; min-height: 44px; color: #2444c9; font-size: 0.875rem; font-weight: 600; text-underline-offset: 3px; }
.landing-guide__safety-layout .landing-guide__note { margin-top: 0; max-width: 36ch; }
.landing-guide__safety-art { display: block; width: 100%; max-width: 280px; height: auto; margin-top: 1rem; }
@media (max-width: 767.98px) {
    .landing-guide__layout, .landing-guide__safety-layout { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .landing-guide__art img { max-width: 220px; }
    .landing-guide__safety-layout .landing-guide__note { max-width: none; }
    .landing-guide__safety-art { max-width: 180px; margin: 0.75rem auto 0; }
}
