/* Classic home. Loaded after the shared theme stylesheet. */
:root { --ads-container: 1248px; }
html { scroll-behavior: smooth; }
.ads-main * { letter-spacing: 0 !important; }
.ads-main h2 { font-size: 2.2rem; }
.ads-main h3 { font-size: 1.1rem; }
.ads-header { background: #fff; }
.ads-header__brand-logo { height: auto; }
.ads-header__inner { min-height: 88px; }
.ads-header__nav { gap: 22px; }
.menu-symbol { font-size: 27px; line-height: 1; }
.ads-main .ads-button { min-height: 52px; white-space: normal; text-align: center; justify-content: center; line-height: 1.35; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 2000; padding: 12px; background: #fff; }
.skip-link:focus { top: 12px; }
.ads-main :focus-visible { outline: 3px solid #946b26; outline-offset: 4px; }
.proposal-hero { position: relative; isolation: isolate; min-height: 575px; overflow: hidden; scroll-margin-top: 140px; background: #f5f7f8; }
.proposal-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; z-index: -3; }
.proposal-hero__veil { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 30%, rgba(255,255,255,.9) 43%, rgba(255,255,255,.22) 65%, rgba(255,255,255,0) 80%); }
.proposal-hero__inner { padding-top: 76px; padding-bottom: 86px; }
.proposal-hero__copy { max-width: 660px; }
.proposal-kicker { display: block; margin-bottom: 24px; color: #84652e; font-size: .72rem; font-weight: 700; }
.ads-main .proposal-hero h1 { font-size: 3.55rem; line-height: 1.13; font-weight: 600; }
.proposal-hero h1 span { color: #9b773d; }
.ads-main .proposal-hero__copy > p { margin-top: 26px; font-size: 1.05rem; line-height: 1.85; max-width: 495px; color: #4c5b6c; }
.proposal-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.proposal-hero__actions .ads-button { padding: 15px 22px; font-size: .88rem; }
.proposal-whatsapp { background: rgba(255,255,255,.88); border-color: #b8c0c8; color: var(--ads-navy); }
.proposal-whatsapp:hover { background: #fff; border-color: var(--ads-navy); }
.proposal-whatsapp svg { flex: 0 0 23px; }
.proposal-hero__topics { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 30px !important; color: #526071; font-size: .74rem; }
.proposal-hero__topics li { display: flex; align-items: center; gap: 8px; }
.proposal-hero__topics li::before { content: ''; width: 5px; height: 5px; background: #a78349; border-radius: 50%; }
.proposal-hero__next { position: absolute; bottom: 22px; right: max(24px, calc((100% - 1200px) / 2)); color: #0d1a36; padding: 8px 12px; background: rgba(255,255,255,.95); font-size: .74rem; border-radius: 4px; display: flex; gap: 18px; align-items: center; }
.proposal-hero__next span { font-size: 1.1rem; }
.proposal-positioning { padding: 68px 0; }
.proposal-positioning__heading { display: grid; grid-template-columns: 1.05fr 1fr; align-items: end; gap: 80px; }
.proposal-positioning__heading p { color: #5a637a; font-size: 1rem; line-height: 1.85; }
.ads-eyebrow { background: none; padding: 0; border-radius: 0; color: #92703c; }
.proposal-services { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 30px; margin-top: 40px; padding-top: 26px; border-top: 1px solid #e6e8ec; }
.service-number { display: block; font-size: .72rem; color: #9b773d; margin-bottom: 12px; }
.proposal-services p { font-size: .9rem; color: #5a637a; margin-top: 10px; }
.ads-clients { padding: 76px 0 48px; }
.ads-clients__intro { max-width: 770px; margin-bottom: 40px; }
.ads-clients__intro h2 { font-size: 2rem; }
.proposal-marquee { overflow: hidden; background: #fff; }
.proposal-marquee__track { display: flex; width: max-content; animation: logos-slide 65s linear infinite; }
.proposal-marquee__group { display: flex; align-items: center; width: max-content; gap: 36px; padding-right: 36px; }
.proposal-client-logo { width: 195px; height: 96px; padding: 16px 4px; flex: 0 0 195px; display: grid; place-items: center; }
.proposal-client-logo img { width: 100%; max-height: 62px; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.proposal-client-logo:hover img { filter: none; opacity: 1; }
.proposal-marquee:hover .proposal-marquee__track, .proposal-marquee.is-paused .proposal-marquee__track { animation-play-state: paused; }
@keyframes logos-slide { to { transform: translateX(-50%); } }
.clients-bottom { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #e6e8ec; padding-top: 20px; margin-top: 26px; font-size: .82rem; }
.clients-bottom a { display: flex; gap: 16px; align-items: center; }
.marquee-toggle { width: 38px; height: 38px; border: 1px solid #d4d8de; color: #0d1a36; background: #fff; cursor: pointer; border-radius: 4px; font-size: 17px; }
.ads-mapsection { padding: 78px 0 60px; }
.ads-mapsection__grid { grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ads-mapsection__text h2 { font-size: 2.4rem; max-width: 470px; }
.ads-mapsection__text > p { max-width: 485px; font-size: 1rem; line-height: 1.9; }
.map-selection { border-left: 3px solid #b8945a; padding: 6px 0 6px 22px; margin-top: 30px; }
.map-selection img { width: 240px; height: 58px; object-fit: contain; object-position: left; margin-bottom: 16px; }
.map-selection img[hidden] { display: none; }
.map-selection strong, .map-selection span { display: block; }
.map-selection strong { font-size: 1.1rem; }
.map-selection span { color: #5a637a; font-size: .9rem; margin-top: 5px; }
.ads-main .map-location-link { display: inline-flex; margin-top: 22px; color: #755927; font-size: .83rem; gap: 15px; }
.proposal-map { position: relative; width: 100%; aspect-ratio: 1; }
.proposal-map > img { width: 100%; height: 100%; }
.proposal-map__pins { position: absolute; inset: 0; }
.map-pin { position: absolute; width: 24px; height: 24px; padding: 0; transform: translate(-50%,-50%); border: 0; background: transparent; cursor: pointer; border-radius: 50%; }
.map-pin::after { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: #b18a4d; box-shadow: 0 0 0 1.5px #fff; }
.map-pin--key::after { background: #214d83; }
.map-pin[aria-pressed="true"]::after { box-shadow: 0 0 0 2px #fff, 0 0 0 5px rgba(177,138,77,.3); }
.map-pin:hover, .map-pin:focus-visible { z-index: 3; }
.fiocruz-map-label { position: absolute; top: 24.7%; left: 82.82%; transform: translate(-50%, calc(-100% - 18px)); width: max-content; padding: 8px 12px; background: #fff; border: 1px solid #d8c5a1; border-radius: 4px; font-size: .75rem; font-weight: 600; pointer-events: none; }
.fiocruz-map-label small { color: #5a637a; font-weight: 400; }
.fiocruz-map-label::after { content: ''; position: absolute; top: 100%; left: 50%; height: 19px; width: 1px; background: #b18a4d; }
.map-caption { display: flex; align-items: center; justify-content: center; gap: 8px; color: #5a637a; font-size: .7rem; margin-top: 8px; }
.map-caption > span { height: 7px; width: 7px; border-radius: 50%; background: #b18a4d; }
.map-caption .map-caption__blue { background: #214d83; margin-left: 12px; }
.proposal-map__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding-top: 36px; }
.proposal-map__legend button { font: inherit; font-size: .72rem; border: 1px solid #d4d8de; padding: 10px 13px; border-radius: 4px; background: #fff; color: #4c5b6c; cursor: pointer; }
.proposal-map__legend button[aria-pressed="true"] { border-color: #b18a4d; color: #755927; background: #fbf6ec; }
.proposal-contact { padding: 68px 0; text-align: center; }
.proposal-contact p { margin: 20px auto 28px; color: #5a637a; max-width: 580px; }
.proposal-footer { background: #0d1a36; color: #dfe3eb; padding: 34px 0; font-size: .8rem; }
.proposal-footer .ads-container { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ads-a11y-contrast .proposal-hero__photo { opacity: 0; }
.ads-a11y-contrast .proposal-map > img, .ads-a11y-contrast .proposal-client-logo { background: #fff !important; }
@media (min-width: 1700px) { .proposal-hero__inner { padding-top: 88px; padding-bottom: 98px; } }
@media (min-width: 761px) and (max-height: 800px) {
  .proposal-hero { min-height: 495px; }
  .proposal-hero__inner { padding-top: 44px; padding-bottom: 45px; }
  .proposal-positioning { padding-top: 40px; }
}
@media (max-width: 1100px) {
  .ads-header__nav { gap: 12px; }
  .ads-header__inner { gap: 16px; }
  .ads-header__nav a { font-size: .78rem; }
  .proposal-hero__copy { max-width: 610px; }
  .proposal-hero__veil { background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 40%,rgba(255,255,255,.28) 90%); }
  .ads-main .proposal-hero h1 { font-size: 3.1rem; }
  .ads-mapsection__grid { gap: 28px; }
}
@media (max-width: 760px) {
  .ads-header__inner { min-height: 72px; padding: 10px 0; }
  .proposal-hero { min-height: 0; }
  .proposal-hero__inner { padding-top: 44px; padding-bottom: 145px; }
  .proposal-hero__photo { object-position: 57% 100%; }
  .proposal-hero__veil { background: linear-gradient(180deg,#fff 3%,rgba(255,255,255,.97) 57%,rgba(255,255,255,.66) 77%,rgba(255,255,255,.04)); }
  .proposal-kicker { font-size: .62rem; margin-bottom: 20px; }
  .ads-main .proposal-hero h1 { font-size: 2.35rem; line-height: 1.16; }
  .ads-main .proposal-hero__copy > p { font-size: .95rem; line-height: 1.75; margin-top: 22px; max-width: 480px; }
  .proposal-hero__actions { gap: 10px; margin-top: 26px; }
  .proposal-hero__actions .ads-button { padding: 13px 16px; font-size: .84rem; }
  .proposal-hero__topics { margin-top: 22px !important; font-size: .68rem; gap: 9px 16px; }
  .proposal-hero__next { bottom: 15px; right: 20px; }
  .proposal-positioning, .ads-clients, .ads-mapsection { padding-top: 48px; padding-bottom: 42px; }
  .proposal-positioning__heading { grid-template-columns: 1fr; gap: 22px; }
  .ads-main h2, .ads-clients__intro h2, .ads-mapsection__text h2 { font-size: 1.8rem; }
  .proposal-services { grid-template-columns: 1fr; gap: 24px; }
  .proposal-services > div + div { border-top: 1px solid #e6e8ec; padding-top: 22px; }
  .ads-mapsection__grid { grid-template-columns: 1fr; gap: 26px; }
  .map-selection { margin-top: 24px; }
  .map-selection img { max-width: 210px; }
  .proposal-client-logo { width: 165px; flex-basis: 165px; }
  .proposal-marquee__group { gap: 26px; padding-right: 26px; }
  .fiocruz-map-label { font-size: .64rem; padding: 6px 9px; }
  .proposal-map__legend { padding-top: 26px; justify-content: flex-start; }
  .proposal-map__legend button { font-size: .68rem; }
  .proposal-contact h2 br { display: none; }
  .proposal-footer .ads-container { flex-direction: column; gap: 14px; }
}
@media (max-width: 370px) { .ads-main .proposal-hero h1 { font-size: 2rem; } .proposal-hero__actions .ads-button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .proposal-marquee__track { animation: none; } .proposal-marquee { overflow-x: auto; } .proposal-marquee__group[aria-hidden] { display: none; } }

.ads-main [hidden] { display: none !important; }
.ads-template-classic .ads-reveal { opacity: 1; transform: none; }
.ads-main section[id], .ads-main #atricon { scroll-margin-top: 160px; }
.ads-main h2 { line-height: 1.25; overflow-wrap: break-word; }
.ads-main p { overflow-wrap: break-word; }
.ads-main .ads-card { border-radius: 8px; }
.ads-main .ads-card__title { font-size: 1.1rem; margin-bottom: 12px; }
.ads-main .ads-card__text { font-size: .95rem; line-height: 1.7; }
.ads-main .ads-section__header { margin-bottom: 40px; }
.ads-main .ads-section__lead { margin-top: 18px; }
.ads-mapsection__text .ads-mapsection__stats { margin-top: 28px; }
.ads-mapsection__stat { min-width: 0; }
.map-clear { display: inline-block; padding: 8px 0; margin-top: 10px; color: #755927; background: transparent; border: 0; font: inherit; font-size: .8rem; text-decoration: underline; cursor: pointer; }
.map-pin:hover, .map-pin:focus { background: transparent !important; }
.proposal-map__legend button:hover { background: #f8f4ed; color: #755927; border-color: #b18a4d; }
.ads-featured { background: #0d1a36; }
.ads-featured__slides { display: grid; min-height: 340px; }
.ads-featured__meta { padding-top: 20px; }
.ads-header__burger svg { width: 26px !important; height: 26px !important; }
.ads-featured__slide, .ads-featured__slide.is-active { grid-area: 1 / 1; position: relative; inset: auto; transform: none; min-width: 0; }
.ads-main .ads-featured__title { font-size: 1.8rem; }
.ads-featured__dot, .ads-featured__dot.is-active { width: 36px; height: 28px; border: 10px solid #0d1a36; border-left: 0; border-right: 0; border-radius: 0; }
.ads-slider-pause { background: transparent; color: #fff; border: 1px solid #657084; width: 36px; height: 36px; border-radius: 4px; padding: 0; cursor: pointer; }
.ads-slider-pause:hover { background: #26334d; color: #fff; }
.classic-transparency-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 36px; color: #5a637a; }
.classic-compliance-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px 24px; color: #4c5b6c; }
.classic-compliance-list li { border-bottom: 1px solid #dfe3eb; padding: 12px 0; }
.classic-award img { width: 100%; height: 150px; object-fit: contain; margin-bottom: 22px; }
.ads-client-area__box { background: linear-gradient(90deg,rgba(13,26,54,.97),rgba(13,26,54,.84)),var(--ads-section-photo); background-size: cover; background-position: center; }
.ads-main .ads-client-area__box h2 { color: #fff; font-size: 1.85rem; }
.ads-client-area__box p { color: #c4cada; margin-top: 18px; }
.ads-client-area__box .ads-button--accent { background: #b8945a; color: #fff; white-space: normal; }
.ads-client-area__box .ads-button--accent:hover { background: #967541; }
.ads-client-area__box > .ads-button { margin-top: 0; }
.ads-main .ads-pagefooter h3 { color: #b8945a; font-size: .9rem; margin-bottom: 20px; text-transform: uppercase; }
.ads-pagefooter a { overflow-wrap: anywhere; }
.contact-form-panel { max-width: 850px; margin: 52px auto 0; padding: 36px; border: 1px solid #dfe3eb; border-radius: 8px; background: #fff; }
.contact-form-heading { margin-bottom: 28px; }
.contact-form-heading > span { color: #92703c; font-size: .8rem; }
.contact-form-heading h3 { margin: 10px 0; font-size: 1.4rem; }
.contact-form-heading p { color: #5a637a; font-size: .85rem; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.contact-field { min-width: 0; }
.contact-field--full { grid-column: 1 / -1; }
.contact-field label { display: block; font-weight: 600; font-size: .85rem; margin-bottom: 8px; }
.ads-main .contact-field input, .ads-main .contact-field select, .ads-main .contact-field textarea { width: 100%; min-height: 46px; border: 1px solid #b8c1cd; border-radius: 4px; color: #0d1a36; background: #fff; padding: 12px; font: inherit; font-size: .95rem; }
.contact-field textarea { resize: vertical; }
.contact-checkbox { display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; font-size: .82rem; line-height: 1.6; color: #4c5b6c; }
.contact-checkbox input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; accent-color: #0d1a36; }
.contact-checkbox a { text-decoration: underline; }
.contact-security { margin-top: 24px; }
.contact-security-note { display: flex; gap: 10px; align-items: center; font-size: .8rem; color: #5a637a; }
.contact-security-note svg { width: 20px; height: 20px; flex: 0 0 20px; }
.contact-submit { display: inline-flex; gap: 14px; align-items: center; border: 0; border-radius: 4px; background: #0d1a36; color: white; font: inherit; font-weight: 600; padding: 16px 24px; margin-top: 28px; cursor: pointer; }
.contact-submit:hover, .contact-submit:focus { background: #1d3558; color: #fff; }
.contact-submit:disabled { opacity: .6; cursor: wait; }
.contact-submit svg { width: 22px; height: 22px; }
.contact-privacy-note { color: #5a637a; font-size: .76rem; margin-top: 18px !important; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-feedback { padding: 18px; margin-bottom: 24px; border: 1px solid #b1443b; color: #84291f; background: #fff4f2; border-radius: 4px; }
.contact-feedback--success { color: #155b42; border-color: #599c80; background: #eef8f2; }
.ads-a11y-contrast .proposal-hero__veil { background: #000 !important; }
.ads-a11y-contrast .map-pin::after { background: #ff0 !important; box-shadow: 0 0 0 2px #000; }
.ads-a11y-contrast .map-selection { border-color: #ff0 !important; }
.ads-a11y-contrast .proposal-client-logo img, .ads-a11y-contrast .map-selection img { background: #fff !important; filter: none !important; }
@media (max-width: 860px) {
  .ads-featured__slides { min-height: 0; }
  .ads-main .ads-featured__title { font-size: 1.5rem; }
  .classic-transparency-intro { grid-template-columns: 1fr; gap: 18px; }
  .classic-compliance-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .ads-template-classic #wpadminbar { position: fixed; }
  .ads-main .ads-client-area__box h2 { font-size: 1.5rem; }
  .contact-form-panel { padding: 22px 16px; }
  .contact-form-grid, .classic-compliance-list { grid-template-columns: 1fr; }
  .ads-featured { padding: 26px 20px; }
  .ads-main .ads-featured__title { font-size: 1.35rem; }
  .ads-featured__text { font-size: .9rem; }
  .ads-client-area__box { padding: 30px 22px; }
  .ads-mapsection__stats { grid-template-columns: 1fr; }
  .ads-mapsection__stat { display: flex; align-items: center; gap: 16px; text-align: left; padding: 12px 16px; }
  .ads-mapsection__stat strong { font-size: 1.6rem; min-width: 90px; }
}
