:root{
  --mab-navy:#012878; --mab-navy-dark:#001A52; --mab-navy-soft:#2B4C9B;
  --mab-pink:#DB7093; --mab-pink-dark:#C4587C; --mab-gold:#D6BB89; --mab-aqua:#E4F7F7;
  --mab-bg:#FFFFFF; --mab-card:#FFFFFF; --mab-text:#1B1B1B; --mab-muted:#5E5E5E; --mab-border:#E6E6E6;
  --mab-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --mab-sans:'Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
body.mabj{ background:var(--mab-bg); color:var(--mab-text); font-family:var(--mab-sans); line-height:1.65; }
body.mabj a{ color:var(--mab-navy); }
body.mabj h1,body.mabj h2,body.mabj h3,body.mabj h4{ font-family:var(--mab-serif); color:var(--mab-navy); font-weight:700; letter-spacing:0; }

/* Header: centered logo, centered nav */
body.mabj .site-header{ background:#fff; border-bottom:1px solid var(--mab-border); }
body.mabj .site-header .inside-header{ padding:18px 20px 8px; }
body.mabj .site-header .site-logo img{ max-height:150px; width:auto; }
body.mabj .site-header .main-title a{ font-family:var(--mab-serif); color:var(--mab-navy); font-weight:700; font-size:1.5em; }
body.mabj .site-description{ color:var(--mab-muted); font-size:.95em; }
body.mabj .main-navigation{ background:#fff; }
body.mabj .main-navigation .main-nav ul li a{ color:var(--mab-navy); font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.82em; }
body.mabj .main-navigation .main-nav ul li a:hover,
body.mabj .main-navigation .current-menu-item > a{ color:var(--mab-pink); }

/* Content wrapper */
body.mabj .site-content{ padding-top:0; }
body.mabj .inside-article{ background:transparent; padding:0; }
body.mabj.home .entry-header,
body.mabj.page-id-6 .entry-header{ display:none; }
body.mabj.home .site-content .content-area,
body.mabj.page-id-6 .site-content .content-area{ max-width:none; }
body.mabj.home .grid-container,
body.mabj.page-id-6 .grid-container{ max-width:100%; padding:0; }
.mab-wrap{ max-width:1100px; margin:0 auto; padding:0 20px; }
.mab-center{ text-align:center; }
.mab-h2{ font-size:2.1em; margin:0 0 26px; }

/* Hero with circular badge, like the HVB jobs site */
.mab-hero{ position:relative; min-height:460px; display:flex; align-items:center; justify-content:center; background:var(--mab-hero-image, linear-gradient(120deg,var(--mab-navy) 0%,var(--mab-navy-soft) 50%,var(--mab-aqua) 100%)); background-size:cover; background-position:center; margin:0 0 56px; }
.mab-hero::before{ content:''; position:absolute; inset:0; background:rgba(255,255,255,.08); }
.mab-hero-badge{ position:relative; width:340px; height:340px; border-radius:50%; background:rgba(255,255,255,.96); box-shadow:0 10px 40px rgba(0,26,82,.25); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px; }
.mab-hero-badge h1{ font-size:2.4em; line-height:1.1; margin:0 0 20px; color:var(--mab-navy); }
.mab-btn{ display:inline-block; padding:14px 30px; border-radius:4px; font-family:var(--mab-sans); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.85em; text-decoration:none; transition:background .2s ease, transform .2s ease; }
.mab-btn-pink{ background:var(--mab-pink); color:#fff !important; box-shadow:0 6px 16px rgba(219,112,147,.35); }
.mab-btn-pink:hover{ background:var(--mab-pink-dark); color:#fff; transform:translateY(-1px); }
.mab-btn-navy{ background:var(--mab-navy); color:#fff !important; }
.mab-btn-navy:hover{ background:var(--mab-navy-dark); color:#fff; }

/* Job list as wide bars */
body.mabj ul.job_listings{ list-style:none; margin:0 auto 60px; padding:0 20px; max-width:900px; display:grid; gap:14px; border:0; }
body.mabj ul.job_listings li.job_listing,
body.mabj ul.job_listings li.no_job_listings_found{ background:var(--mab-navy); border-radius:6px; box-shadow:0 4px 0 rgba(0,0,0,.12); transition:background .2s ease, transform .2s ease; margin:0; }
body.mabj ul.job_listings li.job_listing:hover{ background:var(--mab-pink); transform:translateY(-2px); }
body.mabj ul.job_listings li.job_listing a{ display:flex; align-items:center; gap:18px; padding:18px 28px; text-decoration:none; color:#fff; border:0; min-height:72px; }
body.mabj ul.job_listings li.job_listing img.company_logo{ display:none; }
body.mabj ul.job_listings li.job_listing .position{ flex:1 1 auto; float:none; width:auto; padding:0; text-align:center; }
body.mabj ul.job_listings li.job_listing .position h3{ margin:0; font-family:var(--mab-sans); font-size:1em; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.14em; }
body.mabj ul.job_listings li.job_listing .company{ display:none; }
body.mabj ul.job_listings li.job_listing .location{ color:rgba(255,255,255,.85); font-size:.85em; flex:0 0 auto; float:none; width:auto; padding:0; text-align:left; }
body.mabj ul.job_listings li.job_listing ul.meta{ list-style:none; margin:0; padding:0; text-align:right; flex:0 0 auto; float:none; width:auto; }
body.mabj ul.job_listings li.job_listing ul.meta li{ display:inline-block; margin:0; }
body.mabj ul.job_listings li.job_listing .job-type{ display:inline-block; padding:4px 12px; border-radius:999px; background:var(--mab-gold); color:var(--mab-navy-dark); font-weight:700; font-size:.72em; letter-spacing:.08em; text-transform:uppercase; }
body.mabj ul.job_listings li.job_listing .date{ display:none; }
body.mabj .rss_link, body.mabj a.rss_link{ display:none !important; }
body.mabj .job_listings_loading{ padding:24px; color:var(--mab-muted); text-align:center; }
body.mabj .load_more_jobs{ background:#fff; border:1px solid var(--mab-border); border-radius:6px; padding:14px; color:var(--mab-navy); font-weight:600; }

/* Apply + contact sections */
.mab-apply{ background:var(--mab-aqua); padding:64px 20px; margin:0 0 0; text-align:center; }
.mab-apply .mab-h2{ margin-bottom:14px; }
.mab-apply p{ max-width:680px; margin:0 auto 24px; font-size:1.08em; color:var(--mab-text); }
.mab-apply .mab-small{ font-size:.92em; color:var(--mab-muted); margin-top:18px; }
.mab-contact{ padding:56px 20px 64px; text-align:center; }
.mab-contact h3{ font-size:1.6em; margin:0 0 10px; }
.mab-contact p{ margin:0 0 6px; color:var(--mab-text); }
.mab-contact .mab-contact-sub{ text-transform:uppercase; letter-spacing:.14em; font-size:.8em; color:var(--mab-muted); margin-bottom:14px; }
@media (max-width:640px){
  .mab-hero{ min-height:380px; }
  .mab-hero-badge{ width:280px; height:280px; padding:22px; }
  .mab-hero-badge h1{ font-size:1.9em; }
  .mab-h2{ font-size:1.6em; }
  body.mabj ul.job_listings li.job_listing a{ flex-wrap:wrap; justify-content:center; gap:8px; padding:16px 18px; }
  body.mabj ul.job_listings li.job_listing .location, body.mabj ul.job_listings li.job_listing ul.meta{ width:100%; text-align:center; }
}

/* Single job page */
body.mabj.single-job_listing .site-content{ padding-top:36px; }
body.mabj.single-job_listing .site-content > .content-area{ max-width:900px; margin:0 auto; }
body.mabj.single-job_listing .entry-header{ text-align:center; padding:10px 0 22px; margin-bottom:10px; }
body.mabj.single-job_listing .entry-header h1{ font-size:2.4em; margin:0; line-height:1.15; }
body.mabj.single-job_listing .single_job_listing{ background:#fff; border:1px solid var(--mab-border); border-radius:8px; padding:36px 40px; box-shadow:0 2px 14px rgba(0,26,82,.06); }
body.mabj ul.job-listing-meta{ list-style:none; margin:0 0 26px; padding:0 0 22px; border-bottom:1px solid var(--mab-border); display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
body.mabj ul.job-listing-meta li{ background:var(--mab-aqua); border:1px solid #CFEDED; border-radius:999px; padding:6px 14px; font-size:.9em; color:var(--mab-navy); margin:0; }
body.mabj ul.job-listing-meta li.job-type{ background:var(--mab-navy); border-color:var(--mab-navy); color:#fff; font-weight:600; }
body.mabj ul.job-listing-meta li.salary{ background:var(--mab-gold); border-color:#C9AC77; color:var(--mab-navy-dark); font-weight:700; }
body.mabj ul.job-listing-meta li.location a{ color:inherit; text-decoration:none; }
body.mabj .single_job_listing .company{ display:none; }
body.mabj .single_job_listing .job_description{ font-size:1.05em; }
body.mabj .single_job_listing .job_description h2{ font-size:1.45em; margin:30px 0 10px; }
body.mabj .single_job_listing .job_description ul{ padding-left:1.3em; }
body.mabj .single_job_listing .job_description li{ margin-bottom:6px; }
body.mabj .job_application,
body.mabj .single_job_listing .application{ margin:30px 0 0; padding:26px 0 0; border-top:1px solid var(--mab-border); text-align:center; }
body.mabj .application_button,
body.mabj input.application_button{ background:var(--mab-pink); color:#fff; border:0; border-radius:4px; padding:16px 32px; font-family:var(--mab-sans); font-size:.9em; font-weight:700; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; box-shadow:0 6px 16px rgba(219,112,147,.35); transition:background .2s ease; display:inline-block; }
body.mabj .application_button:hover,
body.mabj input.application_button:hover{ background:var(--mab-pink-dark); color:#fff; }
body.mabj .application_details{ background:var(--mab-aqua); border:1px solid #CFEDED; border-radius:8px; padding:18px 22px; margin-top:18px; text-align:left; }
body.mabj .application_details p{ margin:0 0 8px; }
body.mabj .single_job_listing p.job-manager-message{ background:#FFF8E6; border-left:4px solid var(--mab-gold); padding:12px 16px; border-radius:6px; }
@media (max-width:640px){
  body.mabj.single-job_listing .entry-header h1{ font-size:1.8em; }
  body.mabj.single-job_listing .single_job_listing{ padding:24px 20px; }
}

/* Generic pages (privacy etc.) */
body.mabj.page:not(.home):not(.page-id-6) .site-content{ padding-top:36px; }
body.mabj.page:not(.home):not(.page-id-6) .inside-article{ background:#fff; border:1px solid var(--mab-border); border-radius:8px; padding:36px 40px; }
body.mabj.page:not(.home):not(.page-id-6) .entry-header h1{ font-size:2em; }

/* Footer */
body.mabj .site-footer,
body.mabj .site-info,
body.mabj .footer-widgets,
body.mabj .site-footer .inside-site-info{ background:var(--mab-navy-dark) !important; color:#C7D0E3; }
body.mabj .site-footer{ margin-top:0; }
body.mabj .site-info{ padding:36px 20px; text-align:center; font-size:.95em; line-height:2; }
body.mabj .site-info a{ color:#fff; text-decoration:none; }
body.mabj .site-info a:hover{ color:var(--mab-gold); }
body.mabj .mab-footer-links{ text-transform:uppercase; letter-spacing:.14em; font-size:.8em; font-weight:600; }
body.mabj .mab-footer-links a{ color:var(--mab-gold); }
body.mabj .mab-copy{ color:#8FA0C4; font-size:.85em; }
