/* Site header + footer only, copied from job-directory.html (4 Nov 2026) for server-rendered pages (/job/<id>). */
footer.vsg-approved-footer{padding:55px 0 28px;background:#08142d;color:#c5cfdd;font-family:Inter,Arial,sans-serif;line-height:1.6;text-align:left}
.vsg-approved-footer .vsg-footer-inner{width:min(1160px,calc(100% - 40px));margin:auto}
.vsg-approved-footer .vsg-footer-top{display:grid;grid-template-columns:1.2fr 2fr;gap:70px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.vsg-approved-footer .vsg-footer-name{color:#fff;font-size:16px;font-weight:800;letter-spacing:.16em}
.vsg-approved-footer p{max-width:330px;color:#8f9db2;font-size:13px;margin:12px 0}
.vsg-approved-footer a{display:block;text-decoration:none;color:#9eabbf;font-size:13px;margin:8px 0}
.vsg-approved-footer .vsg-footer-email{color:#dcc184;font-size:16px;font-weight:700}
.vsg-approved-footer nav{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.vsg-approved-footer strong{display:block;margin-bottom:11px;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.vsg-approved-footer a:hover{color:#dcc184}
.vsg-approved-footer .vsg-footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;font-size:12px;color:#7f8ca1}
@media(max-width:820px){.vsg-approved-footer .vsg-footer-top{grid-template-columns:1fr;gap:32px}}
@media(max-width:500px){.vsg-approved-footer nav{grid-template-columns:1fr 1fr}.vsg-approved-footer .vsg-footer-bottom{flex-direction:column}}
.concept-header{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:18px max(24px,calc((100% - 1400px)/2));background:#faf8f3;border-bottom:1px solid #e5dac4;position:sticky;top:0;z-index:100;font-family:Arial,sans-serif}
.concept-header .concept-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#08152f;flex-shrink:0}
.concept-brand img{width:76px;height:76px;object-fit:contain}
@media(max-width:700px){.concept-brand img{width:56px;height:56px}}
.concept-brand span{font-size:22px;font-weight:800;letter-spacing:3px}
.concept-brand small{display:block;font-size:10px;letter-spacing:3px;color:#927020;margin-top:7px}
.concept-header nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.concept-header nav a{color:#08152f;text-decoration:none;font-size:12px;font-weight:700}
.concept-header .concept-login{padding:12px 16px;border:1px solid #cbd5e5;border-radius:8px;background:white;color:#08152f;font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none}
@media(max-width:1100px){.concept-header{flex-wrap:wrap;gap:16px}.concept-header nav{order:3;width:100%;padding-top:10px;border-top:1px solid #e5dac4;gap:14px}}
.concept-header{justify-content:flex-start}
.concept-header .concept-brand{margin-right:auto}
.concept-header .concept-home,.concept-header summary{color:#08152f;font-size:13px;font-weight:700;text-decoration:none}
.concept-header .concept-menu{position:relative}
.concept-header summary{cursor:pointer;padding:12px 4px;list-style:none;white-space:nowrap}
.concept-header summary::-webkit-details-marker{display:none}
.concept-header summary::after{content:" ▾"}
.concept-header .concept-menu[open] summary::after{content:" ▴"}
.concept-header .concept-menu nav{position:absolute;top:100%;right:0;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;width:230px;padding:8px;background:#faf8f3;border:1px solid #e5dac4;border-radius:8px;box-shadow:0 12px 28px #08152f26;z-index:101}
.concept-header .concept-menu:not([open]) nav{display:none}
.concept-header .concept-menu nav a{display:block;padding:11px 14px;border-radius:4px}
.concept-header .concept-menu nav a:hover,.concept-header .concept-menu nav a:focus-visible{background:#eee7da}
@media(max-width:1100px){.concept-header{flex-wrap:nowrap;gap:16px}.concept-header .concept-menu nav{width:230px;order:initial}}
@media(max-width:620px){.concept-header{padding:12px;gap:12px;flex-wrap:wrap}.concept-header .concept-brand{width:100%;margin-right:0}.concept-header .concept-home{margin-right:auto}.concept-header .concept-login{padding:10px}.concept-header .concept-menu nav{right:auto;left:-55px}}
.concept-header{box-sizing:border-box}
.concept-header nav{margin:0}
.concept-header a{font-family:Arial,sans-serif}
.vsg-approved-footer{clear:both}
.vsg-approved-footer nav{background:none}
.concept-header .concept-brand small{font-size:10px}
.concept-header .concept-brand span{line-height:1.2}
.concept-brand > span > small{color:#8a6414 !important}