:root { --ink:#112e4c; --red:#d41125; --line:#d6dbe0; --muted:#5e6a76; --paper:#fff; --font:Arial,sans-serif; --heading:var(--font); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:20px; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.5 var(--font); }
button,input,select { font:inherit; color:inherit; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
button,input,select { border-radius:0; }
img { max-width:100%; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #2678c8; outline-offset:4px; }
[hidden] { display:none!important; }
.icon { display:inline-block; width:21px; height:21px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.6; }
.brand { display:block; position:relative; width:285px; height:61px; flex:0 0 auto; overflow:hidden; }
.brand img { position:absolute; width:116%; max-width:none; height:auto; top:50%; left:-9.2%; transform:translateY(-50%); }
.review-strip { height:33px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; font:11px/1 Arial,sans-serif; letter-spacing:.02em; background:#e9ebed; color:#394450; }
.review-strip > span { font-weight:700; }
.review-strip nav { display:flex; gap:5px; }
.review-strip nav a { display:grid; place-items:center; min-width:23px; height:23px; }
.review-strip nav a[aria-current] { background:#263a4e; color:white; }
.skip-link { position:fixed; top:-90px; left:20px; z-index:20; background:var(--ink); color:white; padding:15px; }
.skip-link:focus { top:10px; }
.header-core,.masthead,.content,.hero,.footer { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.header-core { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:110px; }
#main-nav { display:flex; gap:25px; align-items:center; }
#main-nav a { font-size:14px; }
#main-nav a:hover,.login:hover { color:var(--red); }
.header-actions { display:flex; align-items:center; gap:24px; }
.login { font-size:13px; white-space:nowrap; }
.publish,.primary { display:inline-flex; justify-content:center; align-items:center; gap:19px; min-height:47px; padding:12px 20px; background:var(--red); border:1px solid var(--red); color:white; font-weight:600; font-size:14px; }
.publish:hover,.primary:hover { filter:brightness(.9); }
.menu-button { display:none; width:38px; height:38px; padding:9px; border:0; background:transparent; }
.menu-button span { display:block; height:2px; margin:4px 0; background:currentColor; }
.search-form { display:grid; grid-template-columns:1.3fr 1fr auto; }
.search-form label { min-width:0; display:flex; flex-direction:column; }
.search-form label > span { display:block; font-size:12px; font-weight:600; margin-bottom:7px; }
.search-form input { width:100%; min-width:0; border:1px solid var(--line); background:white; padding:14px 16px; font-size:15px; line-height:24px; }
input::placeholder { color:#78818a; opacity:1; }
.search-form .primary { align-self:end; height:54px; }
.quick { display:flex; flex-wrap:wrap; gap:6px 15px; margin-top:15px; font-size:12px; }
.quick > span { opacity:.65; }
.quick button { font-size:inherit; border:0; padding:0; background:transparent; text-decoration:underline; text-underline-offset:3px; text-decoration-color:#aeb7c0; }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.section-title h2 { font:600 38px/1.15 var(--heading); margin:0; }
.demo-note { color:var(--muted); font-size:11px; white-space:nowrap; }
.filters { display:flex; flex-wrap:wrap; gap:7px; margin:24px 0; }
.filters button { display:inline-flex; gap:7px; align-items:center; padding:9px 15px; background:transparent; border:1px solid var(--line); font-size:13px; }
.filters button.active { background:var(--ink); color:white; border-color:var(--ink); }
.filters .icon { width:16px; height:16px; }
.filters [data-saved-count] { font-size:11px; }
.job { position:relative; }
.job-number,.job-symbol { display:none; }
.job-title { padding:0; background:transparent; border:0; font:600 21px/1.25 var(--font); text-align:left; color:var(--ink); }
.job-title:hover { text-decoration:underline; text-underline-offset:4px; }
.job-company { margin:5px 0; font-size:13px; color:var(--muted); }
.job-meta { display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:11px; color:var(--muted); }
.job-label { font-size:9px; color:var(--red); text-transform:uppercase; font-weight:600; }
.job-pay strong { font-weight:600; font-size:16px; white-space:nowrap; }
.job-pay small { display:block; color:var(--muted); font-size:11px; }
.job-location { margin-top:8px; font-size:12px; color:var(--muted); }
.save { width:35px; height:40px; padding:8px; display:grid; place-items:center; border:0; background:transparent; color:var(--muted); }
.save .icon { width:18px; height:20px; }
.save[aria-pressed=true] { color:var(--red); }
.save[aria-pressed=true] .icon { fill:#f7d6da; }
.jobs-end { display:flex; justify-content:space-between; gap:25px; align-items:center; margin-top:24px; }
.jobs-end > span { color:var(--muted); font-size:12px; }
.jobs-end button,.all-articles,.read-article { display:inline-flex; align-items:center; gap:15px; font-size:14px; font-weight:600; padding:0; background:transparent; border:0; }
.all-articles:hover,.read-article:hover { color:var(--red); }
.result-status { padding:12px 15px; margin-bottom:14px; background:#edf1f5; font-size:13px; }
.result-status button { border:0; padding:0; margin-left:16px; background:transparent; text-decoration:underline; font-size:inherit; }
.empty { padding:40px 20px; border-block:1px solid var(--line); }
.empty h3 { margin:0; font-size:25px; }
.empty button { padding:10px 20px; background:var(--ink); color:white; border:0; }
.editorial { margin-top:70px; }
.articles { margin-top:30px; }
.article-photo { display:block; }
.article-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.category { display:block; color:var(--red); font-size:11px; font-weight:600; }
.article h3 { margin:9px 0 12px; font:600 25px/1.15 var(--heading); }
.article h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.article p { margin:0 0 20px; font-size:14px; color:var(--muted); }
.read-article { font-size:12px; }
.employers { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:64px; padding:30px 0; border-block:1px solid var(--line); }
.employers span,.newsletter > div > span { font-size:11px; letter-spacing:.08em; font-weight:600; }
.employers h2 { margin:8px 0; font:600 35px/1.1 var(--heading); }
.employers p { margin:0; color:var(--muted); font-size:14px; }
.newsletter { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:45px 0; margin-top:40px; }
.newsletter h2 { margin:12px 0 0; font:600 36px/1.12 var(--heading); }
.newsletter-form { display:grid; grid-template-columns:1fr auto; column-gap:10px; }
.email-label { font-size:12px; }
.email-label input { display:block; width:100%; min-width:0; background:white; border:1px solid var(--line); padding:13px; height:50px; margin-top:7px; }
.newsletter-form .primary { align-self:end; height:50px; }
.consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:9px; font-size:10px; color:var(--muted); margin-top:13px; }
.consent input { width:14px; height:14px; margin:1px 0 0; flex:0 0 auto; accent-color:var(--red); }
.consent a { text-decoration:underline; }
.newsletter-feedback { grid-column:1/-1; font-size:12px; }
.footer { padding-top:30px; }
.footer-main { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding:35px 0; border-top:1px solid var(--line); }
.footer .brand { width:250px; height:55px; }
.footer-main h3 { font-size:13px; margin:0 0 12px; }
.footer-main > div { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.footer-main a:not(.brand) { font-size:12px; color:var(--muted); }
.footer-main .icon { width:13px; height:13px; vertical-align:middle; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; font-size:10px; color:var(--muted); padding:20px 0 25px; border-top:1px solid var(--line); }
.footer-bottom > div { display:flex; gap:20px; }
.toast { position:fixed; z-index:10; bottom:20px; left:50%; transform:translateX(-50%); background:var(--ink); color:white; padding:14px 22px; width:max-content; max-width:calc(100% - 30px); font-size:14px; }
dialog { width:min(560px,calc(100% - 30px)); max-height:calc(100dvh - 45px); border:0; border-top:4px solid var(--red); padding:35px; color:var(--ink); background:white; }
dialog::backdrop { background:#071c30b8; }
.close-dialog { position:absolute; top:8px; right:8px; width:36px; height:36px; font-size:26px; border:0; background:transparent; }
dialog h2 { margin:18px 10px 10px 0; font:600 34px/1.15 var(--heading); }
dialog .dialog-note { font-size:12px; color:var(--muted); border-top:1px solid var(--line); padding-top:20px; margin-top:25px; }
dialog .job-pay { margin:20px 0; }
dialog .job-pay strong { font-size:23px; }
@media(max-width:1150px) {
  .header-core,.masthead,.content,.hero,.footer { width:calc(100% - 56px); }
  .brand { width:250px; height:55px; }
  #main-nav { gap:17px; }
  #main-nav a { font-size:12px; }
  .header-actions { gap:18px; }
  .header .publish { font-size:12px; padding:11px 15px; gap:9px; }
  .header .login { display:none; }
}
@media(max-width:760px) {
  .header-core,.masthead,.content,.hero,.footer { width:calc(100% - 36px); }
  .review-strip { padding-inline:12px; font-size:9px; height:31px; }
  .review-strip > a { max-width:108px; }
  .review-strip nav { gap:2px; }
  .review-strip nav a { min-width:19px; height:21px; }
  .header-core { min-height:87px; position:relative; flex-wrap:wrap; gap:0; padding-block:12px; }
  .brand { width:253px; height:56px; }
  .header-actions { display:none; }
  .menu-button { display:block; }
  #main-nav { display:none; width:100%; order:5; flex-direction:column; align-items:flex-start; gap:0; padding-top:10px; }
  #main-nav.open { display:flex; }
  #main-nav a { font-size:15px; padding:10px 0; }
  .search-form { grid-template-columns:1fr; gap:11px; }
  .search-form .primary { width:100%; }
  .search-form label > span { font-size:11px; }
  .search-form input { font-size:14px; }
  .quick { font-size:11px; gap:6px 12px; }
  .section-title { align-items:flex-start; gap:15px; }
  .section-title h2 { font-size:30px; }
  .demo-note { font-size:9px; padding-top:8px; }
  .filters { gap:5px; margin:19px 0; }
  .filters button { font-size:11px; padding:8px 10px; }
  .filters .icon { width:14px; height:14px; }
  .job-title { font-size:19px; }
  .job-company { font-size:12px; }
  .job-meta { font-size:10px; gap:7px; }
  .job-pay strong { font-size:16px; }
  .job-location { font-size:11px; }
  .jobs-end { justify-content:flex-end; margin-top:18px; }
  .jobs-end > span { display:none; }
  .jobs-end button { font-size:13px; }
  .editorial { margin-top:42px; }
  .editorial > .section-title { flex-wrap:wrap; gap:12px; }
  .all-articles { font-size:12px; }
  .articles { margin-top:22px; }
  .article p { font-size:13px; }
  .category { font-size:10px; }
  .employers { margin-top:38px; flex-direction:column; align-items:flex-start; gap:21px; padding-block:26px; }
  .employers h2 { font-size:30px; }
  .employers p { font-size:13px; }
  .newsletter { grid-template-columns:1fr; gap:24px; padding-block:30px; margin-top:20px; }
  .newsletter h2 { font-size:31px; }
  .newsletter-form { column-gap:0; }
  .newsletter-form .primary { font-size:12px; padding:12px; gap:8px; }
  .newsletter-form .primary .icon { display:none; }
  .email-label input { font-size:14px; padding-inline:12px; }
  .footer { padding-top:10px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:25px; padding:27px 0; }
  .footer-main > .brand { grid-column:1/-1; width:240px; height:53px; }
  .footer-main h3 { font-size:12px; }
  .footer-main a:not(.brand) { font-size:11px; }
  .footer-bottom { flex-direction:column; font-size:9px; gap:13px; }
  .footer-bottom > div { gap:18px; }
  dialog { padding:32px 24px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
