/* Carreiras: somente o conteúdo desta página; identidade e navegação herdadas. */
body:not(.page-inicio) main.careers45 { overflow-wrap: break-word; }
.careers45-hero { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,.9fr); gap: 72px; padding-block: 88px 96px; align-items: center; }
.careers45-hero > *, .careers45-grid > *, .careers45-opportunity-grid > * { min-width: 0; }
body:not(.page-inicio) main.careers45 h1 { font-size: clamp(42px,4.6vw,66px); line-height: 1.07; letter-spacing: -.05em; text-wrap: pretty; }
.careers45 h1 em { display: block; font-style: normal; color: var(--blue); }
body:not(.page-inicio) main.careers45 .careers45-lead { font-size: 21px; line-height: 1.6; margin-top: 28px; color: var(--navy); max-width: 620px; }
body:not(.page-inicio) main.careers45 .careers45-intro { font-size: 16px; margin-top: 16px; max-width: 570px; }
body:not(.page-inicio) main.careers45 .actions { gap: 12px 24px; }
.careers45-panel { padding: 34px; border-radius: 16px; background: var(--navy); color: #fff; box-shadow: 0 20px 54px #08172c12; }
body:not(.page-inicio) main.careers45 .careers45-panel .eyebrow { color: var(--navy-accent); margin-bottom: 16px; }
body:not(.page-inicio) main.careers45 .careers45-panel h2 { font-size: clamp(27px,2.4vw,34px); line-height: 1.2; color: #fff; text-wrap: pretty; letter-spacing: -.025em; }
body:not(.page-inicio) main.careers45 .careers45-panel ol { list-style: none; padding: 0; margin-top: 30px; display: grid; gap: 0; }
.careers45-panel li { position: relative; display: flex; align-items: center; gap: 18px; padding-block: 13px; }
.careers45-panel li:not(:last-child)::after { position: absolute; content: ''; left: 19px; top: 53px; bottom: -13px; width: 1px; background: #465973; }
.careers45-node { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; background: #152e4e; color: #a8c8ff; border: 1px solid #45638a; font-size: 12px; }
.careers45-panel li div > span { color: #a8c8ff; font-size: 12px; }
body:not(.page-inicio) main.careers45 .careers45-panel li p { color: #fff; font-size: 16px; line-height: 1.45; margin-top: 2px; }
.careers45-result { display: flex; gap: 18px; border-top: 1px solid #35455d; margin-top: 22px; padding-top: 22px; }
.careers45-result > span { color: #84b6ff; font-size: 26px; }
body:not(.page-inicio) main.careers45 .careers45-result p { color: #c3d0e2; font-size: 12px; }
body:not(.page-inicio) main.careers45 .careers45-result strong { display: block; color: #fff; font-size: 16px; font-weight: 500; line-height: 1.5; margin-top: 5px; }
.careers45-areas { padding-block: 76px; border-top: 1px solid var(--line); }
.careers45-areas header { max-width: 770px; }
body:not(.page-inicio) main.careers45 .careers45-areas h2 { font-size: clamp(31px,3.2vw,44px); text-wrap: pretty; }
.careers45-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; margin-top: 42px; }
.careers45-card { background: #fff; padding: 28px; border: 1px solid var(--line); border-radius: 12px; }
.careers45-art { width: 64px; height: 64px; stroke: var(--blue); stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; margin-bottom: 20px; }
body:not(.page-inicio) main.careers45 .careers45-card .eyebrow { margin-bottom: 10px; }
body:not(.page-inicio) main.careers45 .careers45-card h3 { font-size: 26px; line-height: 1.2; text-wrap: pretty; }
body:not(.page-inicio) main.careers45 .careers45-card > p:not(.eyebrow) { font-size: 16px; margin-top: 18px; }
body:not(.page-inicio) main.careers45 .careers45-card ul { display: grid; gap: 8px; margin-top: 24px; padding: 22px 0 0; list-style: none; border-top: 1px solid var(--line); }
.careers45-card li { display: flex; align-items: baseline; gap: 9px; font-size: 14px; line-height: 1.5; }
.careers45-card li::before { content: '↗'; color: var(--blue); }
body:not(.page-inicio) main.careers45 .careers45-principle { margin-top: 30px; max-width: 870px; font-size: 17px; }
.careers45-opportunities { background: #edf2fa; border-block: 1px solid #d4deeb; padding-block: 68px; }
.careers45-opportunity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
body:not(.page-inicio) main.careers45 .careers45-opportunities h2 { font-size: clamp(32px,3.2vw,46px); text-wrap: pretty; }
body:not(.page-inicio) main.careers45 .careers45-status { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; color: var(--navy); margin-bottom: 18px; }
.careers45-status > span { width: 8px; height: 8px; border-radius: 50%; background: #52657d; flex: none; }
body:not(.page-inicio) main.careers45 .careers45-opportunities p:not(.eyebrow):not(.careers45-status) { font-size: 17px; }
.careers45-close { display: flex; align-items: center; justify-content: space-between; gap: 56px; padding-block: 72px 60px; }
body:not(.page-inicio) main.careers45 .careers45-close h2 { font-size: clamp(28px,2.8vw,38px); max-width: 620px; text-wrap: pretty; }
body:not(.page-inicio) main.careers45 .careers45-close p { font-size: 17px; margin-top: 18px; }
body:not(.page-inicio) main.careers45 .careers45-close .actions { margin-top: 0; flex-shrink: 0; flex-direction: column; align-items: flex-start; }
body:not(.page-inicio) main.careers45 .careers45-company { border-top: 1px solid var(--line); padding-block: 22px 34px; }
body:not(.page-inicio) main.careers45 .careers45-company p { font-size: 13px; }
@media(max-width:1100px) {
 .careers45-hero { gap: 38px; padding-top: 64px; }
 .careers45-panel { padding: 26px; }
 .careers45-card { padding: 24px; }
 .careers45-opportunity-grid { gap: 42px; }
 .careers45-close { flex-direction: column; align-items: flex-start; gap: 24px; }
 body:not(.page-inicio) main.careers45 .careers45-close .actions { flex-direction: row; align-items: center; }
}
@media(max-width:900px) {
 .careers45-hero { grid-template-columns: 1fr; padding-block: 52px 64px; gap: 42px; }
 .careers45-opening { max-width: 670px; }
 .careers45-panel { max-width: 670px; }
 .careers45-grid { gap: 16px; }
 .careers45-card { padding: 22px; }
 body:not(.page-inicio) main.careers45 .careers45-card h3 { font-size: 23px; }
 .careers45-opportunity-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media(max-width:690px) {
 body:not(.page-inicio) main.careers45 h1 { font-size: clamp(37px,9.3vw,52px); }
 body:not(.page-inicio) main.careers45 .careers45-lead { font-size: 19px; }
 .careers45-panel { padding: 25px 22px; }
 .careers45-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 30px; }
 .careers45-card { padding: 26px; }
 .careers45-art { margin-bottom: 14px; }
 .careers45-areas { padding-block: 52px; }
 .careers45-opportunities { padding-block: 48px; }
 .careers45-close { padding-block: 48px; }
}
:lang(ja) .careers45 h1 { line-height: 1.3 !important; letter-spacing: -.025em !important; }
