:root {
	color-scheme: light;
 --forest: #006bbf;
 --forest-deep: #00579b;
 --green: #006bbf;
 --green-pale: #eaf5fe;
 --focus: #00a0ff;
 --selection: #e3f2fd;
 --paper: #fafafa;
	--white: #fff;
 --ink: #202124;
 --muted: #60666d;
 --line: #e0e0e0;
	--measure: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 1rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.55 Arial, Helvetica, sans-serif; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--green); }
a:focus-visible, input:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
::selection { color: var(--forest-deep); background: var(--selection); }
.wrap { width: min(var(--measure), calc(100% - 52px)); margin-inline: auto; }

.topbar { position: relative; z-index: 1; border-bottom: 1px solid var(--line); background: var(--white); color: var(--ink); }
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-size: 1.18rem; letter-spacing: -.035em; text-decoration: none; }
.brand img { display: block; width: 68px; height: 48px; object-fit: contain; object-position: left center; }
.brand-name { color: var(--forest-deep); font-size: 1rem; font-weight: 800; letter-spacing: -.02em; }
.brand:hover { color: var(--ink); }
.brand strong { font-weight: 800; }
.navlinks { display: flex; align-items: center; gap: clamp(16px, 3vw, 35px); font-size: .92rem; }
.navlinks a { color: var(--ink); text-decoration: none; }
.navlinks a:hover { color: var(--forest); }
.navlinks .publish { padding: 10px 17px; border-radius: 5px; background: var(--forest); color: var(--white); font-weight: 800; }
.navlinks .publish:hover { background: var(--forest-deep); color: var(--white); }

.hero { overflow: hidden; background: var(--forest); color: var(--white); }
.hero-inner { min-height: 468px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(325px, .85fr); align-items: center; gap: clamp(36px, 7vw, 92px); padding-block: 54px 68px; }
.hero-copy { max-width: 665px; }
.hero-note { margin: 0 0 15px; color: #e2f2ff; font-size: .94rem; }
.hero h1 { max-width: 12ch; margin: 0; font: 700 clamp(2.9rem, 6.3vw, 5rem)/1.01 Arial, Helvetica, sans-serif; letter-spacing: -.035em; }
.intro { max-width: 50ch; margin: 19px 0 26px; color: #eaf5fe; font-size: 1.02rem; }
.search { display: grid; grid-template-columns: 1.12fr .94fr auto; gap: 0; align-items: stretch; padding: 8px; border-radius: 5px; background: var(--white); color: var(--ink); }
.field { min-width: 0; padding: 6px 12px; }
.field + .field { border-left: 1px solid var(--line); }
.field label { display: block; margin-bottom: 2px; color: var(--muted); font-size: .74rem; font-weight: 700; }
.field input { width: 100%; height: 31px; padding: 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: .93rem; }
.field input::placeholder { color: #697a74; opacity: 1; }
.search button { min-height: 48px; padding: 0 17px; border: 0; border-radius: 4px; background: var(--forest); color: #fff; font: 800 .88rem Arial, Helvetica, sans-serif; cursor: pointer; }
.search button:hover { background: var(--forest-deep); }
.search-help { max-width: 66ch; margin: 11px 0 0; color: #e2f2ff; font-size: .78rem; }

.hero-board { overflow: hidden; align-self: center; border: 1px solid #b9d9f0; border-radius: 5px; background: var(--white); color: var(--ink); box-shadow: 0 20px 48px rgb(0 47 84 / 20%); }
.board-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 21px; border-bottom: 1px solid var(--line); color: var(--forest-deep); font-size: .87rem; font-weight: 800; }
.board-heading a { color: var(--forest); font-size: .78rem; font-weight: 700; }
.spotlight-list { margin: 0; padding: 0; list-style: none; }
.spotlight-list li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 1px 10px; align-items: center; padding: 8px 21px; border-bottom: 1px solid var(--line); }
.spotlight-list li:last-child { border-bottom: 0; }
.spotlight-logo { width: 40px; height: 38px; display: grid; grid-row: 1 / span 4; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.spotlight-logo img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.25); }
.spotlight-detail { min-width: 0; display: grid; justify-items: start; gap: 2px; }
.spotlight-company { color: var(--muted); font-size: .68rem; line-height: 1.2; }
.spotlight-list a { display: -webkit-box; overflow: hidden; color: var(--forest-deep); font-size: .9rem; font-weight: 800; line-height: 1.16; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.spotlight-list a:hover { color: var(--forest); text-decoration: underline; }
.spotlight-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.spotlight-place { color: var(--muted); font-size: .71rem; line-height: 1.15; }
.job-type { width: fit-content; display: inline-block; margin-top: 1px; padding: 2px 6px; border-radius: 3px; font-size: .62rem; font-weight: 700; line-height: 1.2; }
.job-type--tempo-inteiro { background: #eaf5fe; color: #00579b; }
.job-type--estagio { background: #eefaf0; color: #1f7a32; }
.job-type--freelance { background: #eaf7ef; color: #24643e; }
.job-type--tempo-parcial { background: #edf0ff; color: #364b91; }
.job-type--temporario { background: #fff0ee; color: #a23d35; }
.job-type--consultoria { background: #edf0f3; color: #41474d; }
.job-type--other { background: #f0f1f2; color: #4e555b; }
.spotlight-empty { padding: 2px 21px 18px; color: var(--muted); font-size: .92rem; }
.board-foot { display: flex; align-items: center; gap: 8px; padding: 13px 21px; background: #f5f8fb; color: #00589d; font-size: .73rem; font-weight: 700; }
.board-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--forest); }

.section { padding-block: 70px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 23px; }
.section h2, .band h2, .faq h2 { margin: 0; font: 700 clamp(1.8rem, 3.3vw, 2.8rem)/1.08 Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
.section-head p { margin: 8px 0 0; color: var(--muted); }
.text-link { flex: 0 0 auto; color: var(--forest); font-size: .88rem; font-weight: 800; }
.jobs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.job { min-width: 0; min-height: 119px; display: grid; grid-template-columns: 58px minmax(0, 1fr) minmax(85px, auto); gap: 14px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.job-logo { width: 54px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: var(--white); }
.job-logo img { max-width: 48px; max-height: 40px; object-fit: contain; transform: scale(1.25); }
.logo-placeholder { color: var(--forest); font: 700 1.4rem Arial, Helvetica, sans-serif; }
.job-main { min-width: 0; }
.job-title { display: inline; color: var(--forest-deep); font-size: 1rem; font-weight: 800; line-height: 1.3; text-decoration: none; }
.job-title:hover { color: var(--forest); text-decoration: underline; }
.job-company { overflow: hidden; margin-top: 4px; color: var(--muted); font-size: .81rem; text-overflow: ellipsis; white-space: nowrap; }
.job-place { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; color: var(--ink); font-size: .79rem; text-align: right; }
.job-location { color: var(--ink); }
.job-date { color: var(--muted); font-size: .72rem; }
.empty { grid-column: 1 / -1; margin: 0; padding: 22px 0; color: var(--muted); }

.employers { background: #eaf5fe; }
.employers-inner { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.65fr); gap: 17px 42px; align-items: center; padding-block: 48px 43px; }
.employers h2 { max-width: 20ch; color: var(--forest-deep); font: 700 clamp(1.55rem, 2.35vw, 2rem)/1.12 Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
.employers-copy p { max-width: 38ch; margin: 10px 0 0; color: #465f55; font-size: .91rem; }
.employer-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 82px; gap: 10px; margin: 0; padding: 0; list-style: none; }
.employer-list li { min-width: 0; min-height: 0; }
.employer-list a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: flex-start; gap: 8px; padding: 10px; overflow: hidden; border: 1px solid #d5e8f5; border-radius: 4px; background: var(--white); text-decoration: none; }
.employer-list a:hover { outline: 2px solid #7ebde8; }
.employer-list a img { flex: 0 0 28px; width: 28px; height: 28px; object-fit: contain; }
.employer-list a span { display: -webkit-box; min-width: 0; overflow: hidden; color: var(--forest-deep); font-size: .79rem; font-weight: 800; line-height: 1.25; text-align: left; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.employers-link { grid-column: 2; justify-self: end; color: var(--forest); font-size: .83rem; font-weight: 800; }

.places-section { padding-top: 66px; }
.province-explorer { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr); gap: clamp(22px, 5vw, 60px); align-items: center; margin-top: 22px; }
.map-frame { height: 300px; display: grid; place-items: center; overflow: hidden; border: 1px solid #d7e4ec; border-radius: 5px; background: #f2f7fa; }
.mozambique-map { position: relative; width: min(100%, calc(300px * 300 / 470)); height: 300px; }
.mozambique-map img { display: block; width: 100%; height: 100%; mix-blend-mode: multiply; }
.map-marker { position: absolute; top: var(--y); left: var(--x); width: 25px; height: 25px; display: grid; place-items: center; transform: translate(-50%, -50%); border: 2px solid #fff; border-radius: 50%; background: var(--forest); color: #fff; box-shadow: 0 2px 7px rgb(0 47 84 / 25%); font-size: .62rem; font-weight: 800; text-decoration: none; transition: transform .16s ease, background-color .16s ease; }
.map-marker:hover, .map-marker:focus-visible { z-index: 1; transform: translate(-50%, -50%) scale(1.15); background: var(--forest-deep); color: #fff; }
.province-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.province-list a { min-height: 45px; display: grid; grid-template-columns: 25px minmax(0, 1fr) 15px; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--forest-deep); font-size: .8rem; font-weight: 700; text-decoration: none; }
.province-list a:hover { border-color: #9ec9e6; background: #f1f9fe; }
.province-list a span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #eaf5fe; color: var(--forest); font-size: .66rem; }
.province-list a b { color: var(--forest); font-size: .95rem; }

.band { background: #eaf5fe; color: #202124; }
.band-inner { min-height: 245px; display: grid; grid-template-columns: .95fr 1fr; align-items: center; gap: 8%; padding-block: 38px; }
.band h2 { max-width: 12ch; }
.band p { max-width: 50ch; margin: 0 0 15px; color: #3d3b32; }
.band a { color: #202124; font-weight: 800; }

.education-section { background: #fff; }
.education-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.education-card { min-height: 150px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 17px; border: 1px solid var(--line); border-radius: 4px; background: #f8fbfd; color: var(--ink); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.education-image { width: 48px; height: 48px; object-fit: contain; }
.education-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgb(0 47 84 / 10%); }
.education--higher { border-color: #9fd0f3; background: #eaf5fe; }
.education--middle { border-color: #bde7c4; background: #eefaf0; }
.education--basic { border-color: #dce8f0; background: #f5f8fb; }
.education--masters { border-color: #9fd0f3; background: #fff; }
.education-icon { color: var(--forest); font-size: 1.35rem; font-weight: 800; }
.education-label { color: var(--forest-deep); font-size: 1rem; font-weight: 800; }
.education-meta { color: var(--muted); font-size: .76rem; }
.education-meta span { margin-left: 4px; color: var(--forest); font-weight: 800; }
.journey { overflow: hidden; background: #eaf5fe; }
.journey-heading { max-width: 780px; margin-bottom: 30px; }
.journey-kicker { margin: 0 0 8px; color: var(--forest); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.journey-heading h2 { color: var(--forest-deep); }
.journey-heading > p:last-child { margin: 10px 0 0; color: var(--muted); font-size: 1.08rem; }
.journey-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.journey-grid article { min-height: 230px; display: flex; flex-direction: column; align-items: flex-start; padding: 20px; border: 1px solid #d2e7f5; border-radius: 4px; background: #fff; }
.journey-number { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #e3f2fd; color: var(--forest-deep); font-size: .75rem; font-weight: 800; }
.journey-grid h3 { margin: 16px 0 8px; color: var(--forest-deep); font-size: 1rem; line-height: 1.3; }
.journey-grid p { margin: 0; color: #46515a; font-size: .83rem; }
.journey-grid a { margin-top: auto; padding-top: 13px; color: var(--forest); font-size: .79rem; font-weight: 800; text-decoration: none; }
.journey-grid a:hover { text-decoration: underline; }

.articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.article { min-height: 330px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: var(--white); }
.article-image { height: 165px; display: block; overflow: hidden; background: linear-gradient(135deg, #eaf5fe, #f5f8fb); }
.article-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.article-image:hover img { transform: scale(1.04); }
.article-image-placeholder { height: 100%; display: grid; place-content: center; color: var(--forest); font-size: 1.45rem; font-weight: 800; }
.article-image-placeholder b { color: var(--forest-deep); font-size: .75rem; text-align: center; }
.article-content { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 18px 20px 20px; }
.article-label { margin: 0 0 8px !important; color: var(--forest) !important; font-size: .69rem !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.article h3 { margin: 0 0 11px; font: 700 1.12rem/1.25 Arial, Helvetica, sans-serif; }
.article h3 a { color: var(--forest-deep); text-decoration: none; }
.article h3 a:hover { color: var(--forest); text-decoration: underline; }
.article-content > p:not(.article-label) { margin: 0 0 16px; color: #4f625b; font-size: .83rem; }
.article .read { margin-top: auto; color: var(--forest); font-size: .82rem; font-weight: 800; }

.faq { background: #f3f9fd; }
.faq-inner { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: clamp(30px, 7vw, 100px); align-items: center; }
.faq-intro p { color: var(--muted); }
.faq-list details { border-bottom: 1px solid #cbdce8; }
.faq-list details:first-child { border-top: 1px solid #cbdce8; }
.faq-list summary { position: relative; padding: 17px 38px 17px 0; color: var(--forest-deep); font-weight: 800; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 11px; right: 2px; color: var(--forest); font: 400 1.7rem Arial, sans-serif; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 68ch; margin: -3px 35px 18px 0; color: #46515a; font-size: .91rem; }

.close { padding-block: 33px; background: var(--forest-deep); color: var(--white); }
.close-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.close h2 { max-width: 20ch; margin: 0; font: 700 clamp(1.65rem, 3vw, 2.35rem)/1.1 Arial, Helvetica, sans-serif; }
.close p { margin: 8px 0 0; color: #e2f2ff; }
.close a { flex: 0 0 auto; padding: 12px 18px; border-radius: 4px; background: #fff; color: var(--forest-deep); font-weight: 800; text-decoration: none; }
.close a:hover { background: #e3f2fd; }
.footer { padding: 0; background: #004b85; color: #e2f2ff; font-size: .79rem; }
.footer-columns { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; padding-block: 34px; }
.footer-columns nav { display: grid; align-content: start; gap: 10px; }
.footer-columns h2 { margin: 0 0 3px; color: #fff; font-size: .85rem; }
.footer-columns a { color: #d4e9f8; font-size: .76rem; text-decoration: none; }
.footer-columns a:hover { color: #9fd0f3; text-decoration: underline; }
.footer-copyright { padding-block: 15px; border-top: 1px solid rgb(255 255 255 / 17%); color: #d4e9f8; font-size: .74rem; }
.footer-copyright a { color: #9fd0f3; }

@media (max-width: 850px) {
	.wrap { width: min(var(--measure), calc(100% - 38px)); }
	.hero-inner { grid-template-columns: 1fr; gap: 29px; padding-block: 44px 48px; }
	.hero-copy { max-width: 700px; }
	.hero h1 { max-width: 14ch; }
	.hero-board { width: 100%; }
	.spotlight-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.spotlight-list li { grid-template-columns: 40px minmax(0, 1fr); gap: 2px 9px; align-content: start; padding-inline: 12px; border-right: 1px solid var(--line); }
	.spotlight-logo { width: 38px; height: 38px; }
	.spotlight-list a { font-size: .91rem; }
	.spotlight-list li:last-child { border-right: 0; }
	.employers-inner { grid-template-columns: 1fr; gap: 22px; }
	.employers h2 { max-width: 20ch; }
	.employers-link { grid-column: 1; }
	.education-grid, .journey-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.province-explorer { grid-template-columns: 1fr; }
	.map-frame { height: 320px; }
	.mozambique-map { width: min(100%, calc(320px * 300 / 470)); height: 320px; }
	.footer-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.wrap { width: min(var(--measure), calc(100% - 34px)); }
	.nav { min-height: 66px; }
	.navlinks { gap: 14px; font-size: .81rem; }
	.navlinks a:first-child { display: none; }
	.navlinks .publish { padding: 9px 11px; }
	.brand { gap: 7px; font-size: 1rem; }
	.brand img { width: 61px; height: 43px; }
	.hero-inner { gap: 25px; padding-block: 34px 39px; }
	.hero h1 { max-width: 13ch; font-size: clamp(2.65rem, 11vw, 4rem); }
	.intro { font-size: .96rem; }
	.search { grid-template-columns: 1fr 1fr; gap: 0; }
	.search button { grid-column: 1 / -1; min-height: 48px; margin-top: 7px; }
	.field + .field { border-left: 1px solid var(--line); }
	.section { padding-block: 47px; }
	.section-head { align-items: flex-start; flex-direction: column; gap: 12px; }
	.jobs { grid-template-columns: 1fr; }
	.job { grid-template-columns: 50px minmax(0, 1fr) minmax(76px, auto); gap: 10px; min-height: 102px; }
	.job-logo { width: 46px; height: 43px; }
	.job-logo img { max-width: 40px; max-height: 36px; }
	.employers-inner { padding-block: 37px; }
	.employer-list { gap: 9px; }
	.employer-list a { min-height: 72px; padding: 8px; }
	.band-inner { grid-template-columns: 1fr; gap: 16px; padding-block: 35px; }
	.articles { grid-template-columns: 1fr; gap: 10px; }
	.article { min-height: 0; }
	.article-image { height: 190px; }
	.journey-grid { grid-template-columns: 1fr; }
	.journey-grid article { min-height: 0; }
	.province-list { gap: 7px; }
	.province-list a { grid-template-columns: 22px minmax(0, 1fr); gap: 7px; padding: 8px; font-size: .73rem; }
	.province-list a b { display: none; }
	.footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 16px; padding-block: 27px; }
	.faq-inner { grid-template-columns: 1fr; gap: 19px; }
	.close-inner { align-items: flex-start; flex-direction: column; gap: 18px; }
}
@media (max-width: 420px) {
	.navlinks { gap: 9px; font-size: .76rem; }
	.brand { font-size: .94rem; }
	.brand img { width: 57px; height: 40px; }
	.search { grid-template-columns: 1fr; }
	.field + .field { border-top: 1px solid var(--line); border-left: 0; }
	.job { grid-template-columns: 42px minmax(0, 1fr); gap: 7px 10px; padding-block: 15px; }
	.job-logo { grid-row: 1 / span 2; width: 40px; height: 39px; }
	.job-place { grid-column: 2; align-items: flex-start; text-align: left; }
	.spotlight-list { grid-template-columns: 1fr; }
	.spotlight-list li { border-right: 0; }
	.board-heading, .spotlight-list li, .board-foot { padding-right: 15px; padding-left: 15px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Editorial refresh — local display face, MMO blue and mobile cyan accent. */
:root {
	--forest: #006bbf;
	--forest-deep: #064b79;
	--green: #007db7;
	--green-pale: #eaf7fc;
	--focus: #0078aa;
	--selection: #cdeffc;
	--paper: #fbfcfd;
	--ink: #172b3a;
	--muted: #566b7a;
	--line: #d7e4eb;
	--cyan: #18a9d6;
	--cyan-soft: #e1f5fb;
	--cyan-ink: #075d78;
	--font-display: Georgia, "Times New Roman", serif;
	--font-ui: Arial, Helvetica, sans-serif;
}

body { color: var(--ink); font-family: var(--font-ui); }
::selection { color: var(--forest-deep); background: var(--selection); }
a:hover { color: var(--forest-deep); }

.hero { background: #eaf5fb; color: var(--ink); }
.hero-inner { min-height: 468px; }
.hero h1 { color: var(--forest-deep); font-family: var(--font-display); font-weight: 700; letter-spacing: -.035em; }
.hero-note { color: var(--cyan-ink); font-weight: 700; }
.intro, .search-help { color: #35566b; }
.search { border-radius: 14px; box-shadow: 0 12px 32px rgb(14 69 100 / 9%); }
.field input::placeholder { color: #627b8a; }
.search button { border-radius: 9px; font-family: var(--font-ui); }
.search button:hover { background: var(--forest-deep); }

.hero-board { border: 0; border-radius: 14px; box-shadow: 0 18px 44px rgb(14 69 100 / 16%); }
.board-heading { color: var(--forest-deep); }
.board-heading a, .spotlight-list a { color: var(--forest-deep); }
.spotlight-logo { border-radius: 9px; background: #f8fdff; }
.spotlight-list li { border-color: #e4edf2; }
.board-foot { background: var(--cyan-soft); color: var(--cyan-ink); }
.board-dot { background: var(--cyan); }

.section h2, .band h2, .faq h2, .employers h2, .journey-heading h2, .close h2 {
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: -.025em;
}
.section-head { margin-bottom: 27px; }
.section-head p { color: var(--muted); }
.text-link, .article .read { color: var(--forest-deep); }

.job { border-color: var(--line); }
.job-logo { border-radius: 10px; background: #fff; }
.job-title, .faq-list summary { color: var(--forest-deep); }
.job-title:hover, .faq-list summary:hover { color: var(--forest); }
.job-type { border-radius: 999px; padding: 4px 9px; }
.job-type--tempo-inteiro { background: #e3f4fc; color: #075d85; }
.job-type--estagio { background: #e8f6f0; color: #21694d; }
.job-type--freelance { background: #e6f5f7; color: #176579; }
.job-type--tempo-parcial { background: #edf1fb; color: #40558a; }
.job-type--temporario { background: #fff0ee; color: #983d35; }
.job-type--consultoria { background: #edf2f5; color: #465a67; }

.education-card { border-radius: 13px; }
.education--higher { border-color: #a8dced; background: #eaf7fc; }
.education--middle { border-color: #b9e4df; background: #edf8f7; }
.education--basic { border-color: #dce7ec; background: #f5f8fa; }
.education--masters { border-color: #c2e7f3; background: #f8fcfe; }
.education-card:hover { box-shadow: 0 12px 26px rgb(14 69 100 / 12%); }
.education-label { color: var(--forest-deep); }
.education-meta span, .education-icon { color: var(--cyan-ink); }

.employers { background: #eaf7fb; }
.employers-copy p { color: #456575; }
.employer-list a { border-color: #d1e6ed; border-radius: 10px; }
.employer-list a:hover { outline-color: var(--cyan); }
.employer-list a span { color: var(--forest-deep); }
.employers-link { color: var(--forest-deep); }

.province-explorer { align-items: stretch; }
.map-frame { border: 0; border-radius: 15px; background: #eaf7fb; }
.map-marker { outline: 2px solid rgb(24 169 214 / 48%); outline-offset: 2px; }
.map-marker:hover, .map-marker:focus-visible { background: var(--forest-deep); }
.province-list a { border-radius: 10px; color: var(--forest-deep); }
.province-list a:hover { border-color: #9bd5e7; background: #f1fbfe; }
.province-list a span { background: var(--cyan-soft); color: var(--cyan-ink); }
.province-list a b { color: var(--cyan-ink); }

.band { background: #e8f6fb; }
.band p { color: #35566b; }
.band a { color: var(--forest-deep); text-decoration-color: var(--cyan); text-decoration-thickness: 2px; }
.band a:hover { color: var(--forest); }

.articles { gap: 20px; }
.article { border: 0; border-radius: 15px; box-shadow: 0 8px 28px rgb(14 69 100 / 10%); }
.article-image { background: var(--cyan-soft); }
.article-content { padding: 20px 21px 21px; }
.article-label { color: var(--cyan-ink) !important; letter-spacing: .09em; }
.article h3 { font-family: var(--font-display); font-size: 1.27rem; line-height: 1.22; }
.article h3 a { color: var(--forest-deep); }
.article-content > p:not(.article-label) { color: #4a6372; }

.faq { background: #f1f8fb; }
.faq-list details, .faq-list details:first-child { border-color: #cddfe8; }
.faq-list summary::after { color: var(--cyan-ink); }
.faq-list details p { color: #435b6b; }
.close { background: var(--forest-deep); }
.close a { border-radius: 9px; }
.footer { background: #073e63; }
.footer-columns a:hover, .footer-copyright a { color: #83d8ef; }

.journey { background: #eaf7fb; }
.journey-grid article { border-color: #cfe4ec; border-radius: 13px; }
.journey-number { background: var(--cyan-soft); color: var(--cyan-ink); }
.journey-grid h3 { color: var(--forest-deep); }
.journey-grid a { color: var(--forest-deep); }

@media (max-width: 680px) {
	.hero-inner { padding-block: 34px 39px; }
	.hero h1 { font-size: clamp(2.65rem, 11vw, 4rem); }
	.articles { gap: 14px; }
}

.job-place .job-type { display: table; margin: 0; }
@media (max-width: 420px) {
	.job-place { align-items: flex-start; }
}
