/* Recruitment landing page. Isolated from the internal _Layout2 shell. */
body.home-portal { margin:0; background:#f5f7fb; color:#243247; font-family:Roboto,"Segoe UI",sans-serif; font-size:14px; line-height:1.6; }
body#bodycustom.home-portal { background-image:none; background-color:#f5f7fb; height:auto; min-height:100vh; }
.home-portal * { box-sizing:border-box; }
.home-portal .home-container { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.home-portal .home-header { background:white; border-bottom:1px solid #e4eaf2; }
.home-portal .home-header-inner { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.home-portal .home-brand { display:flex; align-items:center; gap:14px; color:#153a65; text-decoration:none; }
.home-portal .home-brand img { object-fit:contain; flex-shrink:0; }
.home-portal .home-brand strong { display:block; font-size:17px; letter-spacing:.02em; }
.home-portal .home-brand small { display:block; color:#64748b; font-size:10px; letter-spacing:.16em; margin-top:3px; }
.home-portal .home-header-actions { display:flex; align-items:center; gap:24px; }
.home-portal .home-candidate-link { color:#52647b; font-size:13px; display:flex; align-items:center; gap:6px; border:0; background:transparent; padding:0; cursor:pointer; }
.home-portal .btn { border-radius:8px; padding:11px 18px; font-size:13px; font-weight:500; box-shadow:none; }
.home-portal .btn-primary { background:#005ac1; border-color:#005ac1; }
.home-portal .btn-primary:hover { background:#004a9e; }
.home-portal button:focus-visible,.home-portal a:focus-visible { outline:3px solid #edb85f; outline-offset:4px; }
.home-portal .home-hero { position:relative; overflow:hidden; background:radial-gradient(ellipse at 25% 0%,#195e9d 0%,transparent 60%),linear-gradient(115deg,#0a2d53,#074880); color:white; }
.home-portal .home-hero:before { content:""; position:absolute; width:600px; height:600px; border:1px solid #ffffff10; border-radius:50%; right:-190px; top:-140px; box-shadow:0 0 0 70px #ffffff04,0 0 0 140px #ffffff03; pointer-events:none; }
.home-portal .home-hero-grid { position:relative; display:grid; grid-template-columns:1.3fr 1fr; gap:70px; padding-block:62px 72px; align-items:center; }
.home-portal .home-eyebrow { font-size:11px; font-weight:600; letter-spacing:.16em; color:#badbff; display:flex; align-items:center; gap:9px; margin-bottom:20px; }
.home-portal .home-eyebrow span { width:7px; height:7px; border-radius:50%; background:#eecb88; }
.home-portal .home-hero h1 { font-size:clamp(36px,4vw,54px); line-height:1.2; letter-spacing:-.025em; color:white; font-weight:700; margin:0 0 22px; }
.home-portal .home-hero h1 em { color:#f2d59d; font-style:normal; }
.home-portal .home-hero-copy > p { max-width:510px; font-size:15px; color:#cee0f3; line-height:1.8; margin:0 0 28px; }
.home-portal .home-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.home-portal .home-btn-white { background:white; border:1px solid white; color:#094681; }
.home-portal .home-btn-white:hover { background:#eaf3ff; }
.home-portal .home-btn-outline { border:1px solid #ffffff60; color:white; background:transparent; }
.home-portal .home-btn-outline:hover { background:#ffffff15; color:white; }
.home-portal .home-hero-note { margin-top:22px; color:#b8cfe7; font-size:12px; display:flex; align-items:center; gap:8px; }
.home-portal .home-journey { border:1px solid #ffffff30; border-radius:18px; background:#ffffff0b; padding:28px; backdrop-filter:blur(8px); }
.home-portal .home-journey-label { font-size:10px; color:#bfd6ee; letter-spacing:.15em; margin-bottom:8px; }
.home-portal .home-journey h2 { color:white; font-size:21px; font-weight:500; margin:0 0 26px; }
.home-portal .home-journey ol { list-style:none; margin:0; padding:0; }
.home-portal .home-journey li { display:flex; gap:16px; padding-bottom:24px; position:relative; }
.home-portal .home-journey li:not(:last-child):before { content:""; width:1px; background:#ffffff25; position:absolute; top:38px; bottom:0; left:18px; }
.home-portal .home-step { width:38px; height:38px; flex-shrink:0; display:grid; place-items:center; background:#ffffff10; border:1px solid #ffffff35; color:#f2d59d; border-radius:50%; font-size:12px; font-weight:600; }
.home-portal .home-journey h3 { font-size:14px; color:white; margin:0 0 5px; font-weight:600; }
.home-portal .home-journey li p { margin:0; font-size:12px; color:#c4d8ee; line-height:1.6; }
.home-portal .home-journey-footer { border-top:1px solid #ffffff25; padding-top:16px; display:flex; gap:9px; color:#c4d8ee; font-size:11px; }
.home-portal .home-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:-24px; position:relative; margin-bottom:42px; }
.home-portal .home-quicklink { display:flex; align-items:center; gap:14px; text-align:left; background:white; border:1px solid #e1e8f2; box-shadow:0 5px 18px #1a395909; padding:22px; border-radius:12px; color:#233c5b; transition:transform .15s,border-color .15s; }
.home-portal .home-quicklink:hover { transform:translateY(-3px); border-color:#96bbed; }
.home-portal .home-shortcut-icon { flex-shrink:0; display:grid; place-items:center; width:44px; height:44px; border-radius:10px; background:#edf5ff; color:#005ac1; font-size:23px; }
.home-portal .home-quicklink strong { display:block; font-size:14px; font-weight:600; }
.home-portal .home-quicklink small { color:#7a8798; font-size:11px; }
.home-portal .home-quicklink > i { margin-left:auto; color:#8297af; }
.home-portal .home-workspace { scroll-margin-top:24px; min-height:280px; }
.home-portal .home-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:22px; }
.home-portal .home-kicker { color:#647c98; font-size:10px; letter-spacing:.14em; font-weight:600; }
.home-portal .home-section-heading h2 { font-size:25px; color:#163555; font-weight:600; margin:6px 0 0; }
.home-portal .home-section-note { font-size:12px; color:#7b8799; }
.home-portal .home-nav { display:flex; gap:22px; border-bottom:1px solid #dce4ef; overflow-x:auto; }
.home-portal .home-nav button { flex-shrink:0; padding:12px 2px 14px; background:none; border:0; border-bottom:3px solid transparent; color:#63758a; font-size:13px; }
.home-portal .home-nav button[aria-current] { color:#005ac1; border-bottom-color:#005ac1; font-weight:600; }
.home-portal #home-content-status:not(:empty) { padding:18px; margin-top:20px; background:#edf5ff; border-radius:8px; color:#244870; }
.home-portal #partialContent { padding:0; margin-top:20px; }
.home-portal #partialContent[aria-busy="true"] { opacity:.55; pointer-events:none; }
.home-portal #partialContent .card { border:1px solid #e0e7f0; border-radius:12px; box-shadow:0 2px 7px #173c6010; }
.home-portal #partialContent .card-header { background:white; border-bottom:1px solid #e6ecf3; padding:20px; border-radius:12px 12px 0 0; }
.home-portal #partialContent .card-body { padding:24px; }
.home-portal #partialContent .form-control,.home-portal #partialContent .form-select { min-height:40px; border-color:#dce4ef; border-radius:7px; font-size:13px; }
.home-portal #partialContent .form-control:focus { border-color:#5192df; box-shadow:0 0 0 3px #005ac115; }
.home-portal #partialContent .accordion-item { border-radius:8px; overflow:hidden; }
.home-portal #partialContent table { font-size:13px; }
.home-portal #partialContent th { background:#f2f6fb; color:#334d6c; }
.home-portal .home-help { display:flex; gap:16px; border:1px solid #dde6f0; background:#eef3f9; border-radius:12px; padding:24px; margin:32px 0 44px; }
.home-portal .home-help-icon { color:#466b95; font-size:24px; }
.home-portal .home-help h2 { font-size:14px; font-weight:600; color:#304d6d; margin:0 0 6px; }
.home-portal .home-help p { font-size:12px; color:#64788e; margin:0; }
.home-portal .home-footer { background:white; border-top:1px solid #e1e8f1; padding:22px 0; color:#78879a; font-size:12px; }
.home-portal .home-footer .home-container { display:flex; justify-content:space-between; gap:12px; }
.home-portal .home-footer span:first-child { color:#304c6f; font-weight:500; }
.home-portal .home-user { display:flex; align-items:center; gap:10px; background:white; border:1px solid #dce4ef; border-radius:24px; padding:5px 14px 5px 5px; color:#294b71; max-width:300px; }
.home-portal .home-user-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#eaf3ff; }
.home-portal .home-skip { position:absolute; top:-100px; left:20px; padding:12px; background:white; z-index:2000; }
.home-portal .home-skip:focus { top:12px; }
@media(max-width:1000px) {
 .home-portal .home-hero-grid { gap:30px; grid-template-columns:1.1fr 1fr; padding-block:40px 56px; }
 .home-portal .home-header-actions { gap:12px; }
 .home-portal .home-candidate-link { font-size:11px; }
 .home-portal .home-brand strong { font-size:14px; }
 .home-portal .home-shortcuts { gap:10px; }
 .home-portal .home-quicklink { padding:16px; gap:10px; }
 .home-portal .home-quicklink > i { display:none; }
}
@media(max-width:767px) {
 .home-portal .home-container { width:calc(100% - 32px); }
 .home-portal .home-header-inner { padding-block:16px; flex-wrap:wrap; gap:16px; }
 .home-portal .home-header-actions { width:100%; justify-content:space-between; }
 .home-portal .home-brand img { width:46px; height:46px; }
 .home-portal .home-brand small { font-size:9px; }
 .home-portal .home-hero-grid { grid-template-columns:1fr; gap:30px; padding-block:34px 46px; }
 .home-portal .home-hero h1 { font-size:38px; }
 .home-portal .home-journey { padding:22px; }
 .home-portal .home-shortcuts { grid-template-columns:1fr; margin-bottom:30px; }
 .home-portal .home-quicklink { padding:16px 20px; }
 .home-portal .home-quicklink > i { display:block; }
 .home-portal .home-section-heading { align-items:flex-start; flex-direction:column; gap:8px; }
 .home-portal .home-section-heading h2 { font-size:22px; }
 .home-portal #partialContent .card-body { padding:16px!important; }
 .home-portal .home-help { padding:18px; }
 .home-portal .home-footer .home-container { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
 .home-portal *, .home-portal *:before { transition:none!important; scroll-behavior:auto!important; }
}
