/* AYAM24 Nova 2.4 — readability and accessible footer.
   Loaded after the main design stylesheet; content, ads, importer and menus stay intact. */
:root {
  --ink:#19263b;
  --sub:#46556e;
  --muted:#53627a;
  --line:#e2e8f0;
}
html { scroll-padding-top:100px; }
body { font-size:16px; line-height:1.72; color:var(--ink); }
p { overflow-wrap:break-word; }
h1,h2,h3,h4,h5,h6 { line-height:1.22; letter-spacing:-.026em; overflow-wrap:break-word; }
a { text-underline-offset:3px; }
:focus-visible { outline:3px solid #595fdb; outline-offset:3px; }
.site-notice { font-size:12px; }
.desktop-nav a, .desktop-nav .nav-toggle { font-size:13px; }
.header-actions .btn-sm { font-size:13px; }
.brand-tag { font-size:9px; }
.hero-lede { font-size:16px; color:#526178; }
.section-kicker, .eyebrow { font-size:11.5px; }
.section-heading p { font-size:15px; color:#53627a; line-height:1.65; }
.section-heading h2 { letter-spacing:-.04em; }
.link-arrow { font-size:13px; }
.topic-card b { font-size:15px; }
.topic-card small { font-size:12.5px; color:#5c6980; }
.job-label { font-size:11px; }
.job-name { font-size:18px; line-height:1.35; }
.job-by { font-size:13.5px; color:#52627a; }
.job-meta span { font-size:12px; color:#47576f; line-height:1.35; padding:6px 9px; }
.job-salary { font-size:14px; }
.job-cta { font-size:13px; }
.job-list-empty { color:#46556e; font-size:15px; }
.story-tag { font-size:11px; }
.story-body h3 { font-size:21px; line-height:1.35; }
.story-body p { font-size:14.5px; color:#4b5a72; line-height:1.75; }
.story-bottom { font-size:12px; color:#586780; }
.story-bottom a { font-size:13px; }
.page-intro p { font-size:16px; color:#53627a; line-height:1.7; }
.breadcrumbs { font-size:12.5px; color:#52627a; flex-wrap:wrap; }
.breadcrumbs span { overflow-wrap:anywhere; }
.page-prose { font-size:17px; line-height:1.87; color:#34445e; max-width:77ch; overflow-wrap:break-word; }
.page-prose p { margin:0 0 1.25em; }
.page-prose h2 { font-size:clamp(24px,2.4vw,31px); margin:1.6em 0 .65em; line-height:1.28; }
.page-prose h3 { font-size:clamp(20px,2vw,25px); margin:1.45em 0 .6em; line-height:1.32; }
.page-prose h4 { font-size:19px; margin:1.3em 0 .55em; }
.page-prose :is(ul,ol) { padding-inline-start:1.5em; margin:0 0 1.3em; }
.page-prose li { margin-bottom:.38em; }
.page-prose :is(strong,b) { color:#202e45; }
.page-prose a { color:#3749d6; text-decoration:underline; text-decoration-thickness:1px; }
.page-prose a:hover { color:#202fa9; }
.page-prose blockquote { border-inline-start:4px solid var(--blue); margin:1.7em 0; padding:13px 20px; background:#f4f5ff; border-radius:0 10px 10px 0; }
.page-prose :is(.wp-block-table,figure) { max-width:100%; }
.page-prose .wp-block-table { overflow-x:auto; }
.page-prose table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; font-size:15px; }
.page-prose td,.page-prose th { padding:11px 13px; border:1px solid #dbe2ef; vertical-align:top; }
.page-prose th { background:#f2f4fa; color:#23334f; text-align:start; }
.page-prose :is(img,iframe,video) { max-width:100%; height:auto; }
.detail-meta span { font-size:12.5px; color:#465570; }
.detail-info { font-size:13.5px; line-height:1.6; }
.detail-info span:first-child { color:#52627a; }
.detail-side h3 { font-size:19px; }
.notice-box,.demo-vacancy-notice { font-size:14.5px; line-height:1.7; }
.apply-safe { font-size:12.5px; color:#5c6a80; }
.archive-filter input,.archive-filter select,.form-input { font-size:14px; }
.field label { font-size:13.5px; }
.field input,.field select,.field textarea { font-size:15px; }
.field small,.form-note { font-size:13px; color:#57667c; }
.aside-editorial p { font-size:14px; color:#d8ddf1; }
.aside-editorial a { font-size:13px; }
.ad-slot .ad-top,.a24-ad-label { font-size:11px; }
/* Footer uses actual WordPress menu assignments or existing page links; no dummy destinations. */
.site-footer { margin-top:80px; background:#0c162c; color:#f5f8ff; }
.footer-cta-band { border-top:1px solid #313d7c; background:linear-gradient(112deg,#1a2652 0%,#28378f 65%,#3c4bb5 100%); }
.footer-cta-inner { display:flex; gap:35px; align-items:center; justify-content:space-between; padding:37px 0; }
.footer-cta-copy { min-width:0; flex:1; }
.footer-overline { display:block; color:#d8f68a; font-size:11px; font-weight:850; letter-spacing:.12em; margin-bottom:10px; }
.footer-cta-copy h2 { color:#fff; margin:0 0 7px; font-size:clamp(24px,2.8vw,35px); letter-spacing:-.04em; }
.footer-cta-copy p { color:#dfe6fa; font-size:14.5px; line-height:1.65; margin:0; }
.footer-cta-actions { flex-shrink:0; display:flex; flex-wrap:wrap; gap:11px; }
.footer-cta-actions .btn { min-height:46px; padding:13px 19px; font-size:14px; }
.btn-footer-outline { background:transparent; color:#fff; border:1px solid #b9c4ee; }
.btn-footer-outline:hover { background:#ffffff1a; }
.footer-main { padding:62px 0 54px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr) minmax(0,.85fr) minmax(0,1fr); gap:clamp(22px,3vw,46px); }
.footer-brand { width:fit-content; }
.site-footer .brand-name { color:#fff; }
.site-footer .brand-tag { color:#bdcae7; }
.footer-about p { color:#c5cde0; font-size:14px; line-height:1.85; max-width:340px; margin:22px 0 18px; }
.footer-trust { max-width:350px; color:#b9c8dd; display:flex; gap:11px; align-items:flex-start; font-size:12.5px; line-height:1.65; }
.footer-trust-icon { color:#17263b; background:#dff3a2; border-radius:50%; width:21px; height:21px; display:grid; place-items:center; font-size:14px; font-weight:900; flex-shrink:0; margin-top:1px; }
.footer-col h3 { font-size:15px; color:#fff; margin:5px 0 22px; line-height:1.45; font-weight:850; letter-spacing:-.01em; }
.footer-col ul { list-style:none; margin:0; padding:0; display:grid; gap:13px; }
.footer-col li { list-style:none; margin:0; padding:0; min-width:0; }
.footer-col a { color:#c5d1e2; font-size:13.5px; line-height:1.55; display:inline-block; overflow-wrap:break-word; }
.footer-col a:hover,.footer-col a:focus-visible { color:#e9ffa2; text-decoration:underline; }
.footer-bottom-rail { border-top:1px solid #2b3954; }
.footer-bottom { border:0; padding:23px 0; display:flex; gap:14px 28px; align-items:center; justify-content:space-between; flex-wrap:wrap; color:#c3cede; font-size:12.5px; line-height:1.5; }
.footer-backtop { color:#e2f99d; font-weight:750; white-space:nowrap; }
.footer-backtop:hover { color:#fff; }
@media(max-width:1020px) {
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:33px; }
  .footer-cta-inner { align-items:flex-start; flex-direction:column; gap:20px; }
}
@media(max-width:640px) {
  html { scroll-padding-top:82px; }
  body { font-size:16px; }
  .site-notice { font-size:10.5px; }
  .brand-tag { font-size:7.5px; }
  .hero-lede { font-size:15px; }
  .section-heading p { font-size:14px; }
  .section-kicker,.eyebrow { font-size:10.5px; }
  .job-name { font-size:17px; }
  .job-by { font-size:12.5px; }
  .job-meta span { font-size:11.5px; padding:6px 8px; }
  .job-salary,.job-cta { font-size:12.5px; }
  .story-body h3 { font-size:20px; }
  .story-body p { font-size:14px; }
  .page-intro h1 { font-size:clamp(30px,8.1vw,39px); line-height:1.16; }
  .page-intro p { font-size:15px; }
  .page-prose { font-size:16.5px; line-height:1.82; }
  .page-prose h2 { font-size:25px; }
  .page-prose h3 { font-size:21px; }
  .detail-info { font-size:13px; }
  .footer-cta-inner { padding:30px 0; }
  .footer-cta-copy h2 { font-size:27px; }
  .footer-cta-actions { width:100%; }
  .footer-cta-actions .btn { flex:1 1 auto; white-space:normal; text-align:center; }
  .footer-main { padding:40px 0 36px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
  .footer-about { grid-column:1/-1; }
  .footer-col h3 { font-size:14px; margin:0 0 14px; }
  .footer-col a { font-size:13px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:10px; }
}
@media(max-width:390px) {
  .footer-main { grid-template-columns:1fr; }
  .footer-about { grid-column:auto; }
}

/* v2.5: fully working header job search — desktop, tablet and mobile */
.a24-search-panel[hidden]{display:none!important}
.a24-search-panel{position:absolute;z-index:42;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e8ebf4;border-bottom:1px solid #e3e7f2;box-shadow:0 22px 40px rgba(20,31,58,.15);color:#17233c}
.a24-search-content{padding:25px 0 30px}
.a24-search-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.a24-search-kicker{color:#505cf6;font-size:11px;font-weight:850;letter-spacing:.11em}
.a24-search-heading h2{font-size:28px;line-height:1.2;margin:5px 0 5px;color:#17233c}
.a24-search-heading p{font-size:14px;color:#54617a;margin:0}
.a24-search-close{width:38px;height:38px;border:1px solid #e2e6f0;background:white;border-radius:10px;color:#263655;font-size:25px;line-height:1}
.a24-search-close:hover{background:#f2f4ff;color:#505cf6}
.a24-header-search-form{max-width:850px}
.a24-header-search-form label{display:block;color:#46536b;font-size:12px;font-weight:800;margin-bottom:8px}
.a24-header-search-row{display:flex;gap:10px}
.a24-header-search-row input{background:#f8f9fc;border:1px solid #d7ddea;border-radius:12px;flex:1;min-width:0;font-size:16px;color:#142039;padding:13px 16px}
.a24-header-search-row input:focus{border-color:#505cf6;outline:3px solid #505cf633}
.a24-header-search-row .btn{border-radius:12px;flex-shrink:0}
.a24-all-jobs{display:inline-flex;align-items:center;gap:7px;color:#505cf6;font-size:13px;font-weight:800;margin-top:16px}
.a24-all-jobs:hover{text-decoration:underline}
.header-actions .header-search.is-active{color:#505cf6;border-color:#a9adff;background:#f3f4ff}
@media(max-width:900px){
  /* The original theme hid search altogether on mobile. Restore it. */
  .header-actions .header-search{display:grid!important;width:40px;height:40px;flex-shrink:0}
  .a24-search-content{padding:20px 0 24px}
  .a24-search-heading h2{font-size:23px}
}
@media(max-width:640px){
  /* Post a Job remains accessible inside the mobile navigation drawer. */
  .site-header .header-actions>.btn-sm{display:none!important}
  .header-actions .header-search,.header-actions .mobile-trigger{width:39px!important;height:39px!important}
  .a24-search-panel{max-height:calc(100dvh - 100px);overflow-y:auto}
  .a24-search-heading h2{font-size:22px}
  .a24-search-heading p{font-size:13px}
  .a24-header-search-row{flex-direction:column}
  .a24-header-search-row .btn{width:100%}
}
