.contact-hub.mapped-page { margin-top: 18px; color: var(--brand-navy); }
.contact-hub__layout { display: grid; grid-template-columns: minmax(0, 3.1fr) minmax(270px, 1fr); align-items: start; gap: 18px; }
.contact-hub__main, .contact-hub__aside { display: grid; min-width: 0; gap: 16px; }
.contact-hub__hero { position: relative; display: flex; min-height: 224px; align-items: center; overflow: hidden; border-radius: 9px; background: linear-gradient(105deg, #05234a, var(--brand-navy) 70%, #061d40); color: #fff; }
.contact-hub__hero-copy { position: relative; z-index: 1; max-width: 62%; padding: 27px 34px; }
.contact-hub__hero-copy > span { color: var(--brand-gold); font-size: 13px; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.contact-hub__hero h1 { margin: 9px 0 6px; color: #fff; font: 400 clamp(38px, 5vw, 68px)/1.04 Georgia, serif; letter-spacing: -.03em; }
.contact-hub__hero p { max-width: 700px; margin: 0; color: #fff; font: 400 clamp(15px, 1.7vw, 20px)/1.35 Georgia, serif; }
.contact-hub__hero-art { position: absolute; right: -12px; top: 0; width: min(44%, 440px); height: 100%; background: var(--brand-gold); -webkit-mask: url('/imagens/img-central-atendimento.png') center / 100% auto no-repeat; mask: url('/imagens/img-central-atendimento.png') center / 100% auto no-repeat; }
.contact-hub__help { display: grid; grid-template-columns: 70px minmax(0, 1fr); align-items: center; gap: 16px; min-height: 106px; padding: 17px 23px; border: 1px solid #d5e3f3; border-radius: 9px; background: #fff; }
.contact-hub__help-icon { display: flex; color: var(--brand-navy); }
.contact-hub__help-icon svg { width: 65px; height: 65px; stroke-width: 1.25; }
.contact-hub__help h2 { margin: 0 0 4px; font: 700 clamp(25px, 2.6vw, 35px)/1.12 Georgia, serif; }
.contact-hub__help p { margin: 0; color: #415575; font-size: 15px; line-height: 1.4; }
.contact-hub__editorial { padding: 18px 24px; border: 1px solid #dce4ed; border-radius: 9px; background: #fff; }
.contact-hub__subjects h2 { margin: 0 0 8px; font: 700 clamp(26px, 2.8vw, 36px)/1.1 Georgia, serif; }
.contact-hub__subject-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 12px; }
.contact-hub__subject { display: grid; grid-template-columns: 52px minmax(0, 1fr) 24px; align-items: center; gap: 14px; min-height: 83px; padding: 10px 18px; border: 1px solid #d5e3f3; border-radius: 8px; background: #fff; color: var(--brand-navy); transition: background .18s, border-color .18s, transform .18s; }
.contact-hub__subject:hover { transform: translateY(-2px); border-color: var(--brand-gold); background: #fffdf8; }
.contact-hub__subject:focus-visible, .contact-hub a:focus-visible { outline: 3px solid var(--brand-gold); outline-offset: 2px; }
.contact-hub__subject-icon { display: flex; align-items: center; justify-content: center; }
.contact-hub__subject-icon svg { width: 48px; height: 48px; stroke-width: 1.6; }
.contact-hub__subject-copy { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; min-width: 0; }
.contact-hub__subject-copy strong { font: 700 17px/1.18 Georgia, serif; }
.contact-hub__subject-copy small { padding: 2px 7px; border-radius: 4px; background: #ead7ad; color: #4c350d; font-size: 10px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.contact-hub__subject-copy > span { flex-basis: 100%; margin-top: 3px; color: #536580; font-size: 12px; line-height: 1.3; }
.contact-hub__arrow { display: flex; color: var(--brand-gold); }
.contact-hub__arrow svg { width: 23px; height: 23px; }
.contact-hub__channels { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); align-items: center; min-height: 60px; border: 1px solid #d5e3f3; border-radius: 8px; background: #fff; }
.contact-hub__channels > * { min-width: 0; padding: 10px 12px; }
.contact-hub__channels > * + * { border-left: 1px solid #d5e3f3; }
.contact-hub__channels strong { font: 700 20px/1.2 Georgia, serif; }
.contact-hub__channels a, .contact-hub__channel-pending { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--brand-navy); font-size: 12px; line-height: 1.2; text-align: center; }
.contact-hub__channels svg { flex: none; width: 25px; height: 25px; stroke-width: 1.6; }
.contact-hub__channels img { flex: none; width: 25px; height: 25px; }
.contact-hub__channels a:hover { text-decoration: underline; }
.contact-hub__channel-pending { color: #64748b; cursor: not-allowed; }
.contact-hub__channel-pending small { font-size: 10px; }
.contact-hub__quick, .contact-hub__privacy { padding: 19px; border: 1px solid #d5e3f3; border-radius: 9px; background: #fff; }
.contact-hub__quick h2 { margin: 0 0 6px; font: 700 24px/1.15 Georgia, serif; }
.contact-hub__quick ul { padding: 0; margin: 0; list-style: none; }
.contact-hub__quick li { border-top: 1px solid #dce7f3; }
.contact-hub__quick a, .contact-hub__quick-pending { display: grid; grid-template-columns: 29px minmax(0, 1fr) 16px; align-items: center; gap: 10px; min-height: 53px; padding: 9px 2px; color: var(--brand-navy); font-size: 13px; line-height: 1.25; }
.contact-hub__quick a:hover { text-decoration: underline; }
.contact-hub__quick svg { width: 27px; height: 27px; stroke-width: 1.5; }
.contact-hub__quick b { color: var(--brand-gold); font-size: 24px; font-weight: 400; }
.contact-hub__quick-pending { color: #64748b; }
.contact-hub__quick-pending small { display: block; margin-top: 2px; color: #67758b; font-size: 10px; }
.contact-hub__orientation { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 12px 14px; padding: 22px; border-radius: 9px; background: var(--brand-navy); color: #fff; }
.contact-hub__orientation > img { width: 58px; height: 58px; }
.contact-hub__orientation h2 { margin: 0 0 12px; color: #fff; font: 700 24px/1.05 Georgia, serif; }
.contact-hub__orientation p { margin: 0; color: #e6edf5; font-size: 13px; line-height: 1.4; }
.contact-hub__orientation a { grid-column: 1 / -1; display: flex; justify-content: center; gap: 12px; align-items: center; min-height: 44px; border-radius: 5px; background: var(--brand-gold); color: var(--brand-navy); font-size: 15px; font-weight: 750; }
.contact-hub__orientation a:hover { background: #e0ba6c; }
.contact-hub__privacy { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: start; gap: 13px; border-color: var(--brand-gold); background: #fffdf8; }
.contact-hub__privacy > span { color: var(--brand-gold); }
.contact-hub__privacy > span svg { width: 57px; height: 57px; stroke-width: 1.5; }
.contact-hub__privacy h2 { margin: 0 0 9px; font: 700 19px/1.15 Georgia, serif; }
.contact-hub__privacy p { margin: 0; color: #415575; font-size: 13px; line-height: 1.45; }
.contact-hub__privacy a { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 700; text-decoration: underline; }
.contact-hub__faq { margin-top: 26px; scroll-margin-top: 25px; }
.contact-hub__faq-empty { padding: 20px 24px; border: 1px solid #d5e3f3; border-radius: 9px; background: #fff; }
.contact-hub__faq-empty h2 { margin: 0 0 8px; font: 700 26px/1.2 Georgia, serif; }
.contact-hub__faq-empty p { margin: 0; color: #536580; font-size: 14px; }
@media (max-width: 950px) { .contact-hub__layout { grid-template-columns: minmax(0, 1fr); } .contact-hub__aside { grid-template-columns: repeat(2, minmax(0, 1fr)); } .contact-hub__privacy { grid-column: 1 / -1; } }
@media (max-width: 620px) { .contact-hub__hero { min-height: 270px; align-items: start; } .contact-hub__hero-copy { max-width: 100%; padding: 24px; } .contact-hub__hero h1 { font-size: 45px; } .contact-hub__hero-art { right: -20px; top: auto; bottom: -20px; width: 270px; height: 170px; opacity: .38; } .contact-hub__help { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 16px; } .contact-hub__help-icon svg { width: 47px; height: 47px; } .contact-hub__help h2 { font-size: 25px; } .contact-hub__subject-grid, .contact-hub__aside { grid-template-columns: minmax(0, 1fr); } .contact-hub__privacy { grid-column: auto; } .contact-hub__channels { grid-template-columns: repeat(2, minmax(0, 1fr)); } .contact-hub__channels > :nth-child(3) { border-left: 0; border-top: 1px solid #d5e3f3; } .contact-hub__channels > :nth-child(4) { border-top: 1px solid #d5e3f3; } }
