.contact-page,
.unit-page,
.unit-archive { background: #f5f5f3; color: #161616; }

.contact-hero { background: #111; color: #fff; overflow: hidden; padding: clamp(72px, 9vw, 132px) 0 clamp(68px, 8vw, 112px); position: relative; }
.contact-hero::before { background: var(--color-primary); content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 6px; }
.contact-hero::after { border: 1px solid rgba(255,255,255,.08); content: ""; height: 380px; position: absolute; right: -110px; top: -110px; transform: rotate(45deg); width: 380px; }
.contact-hero__grid { align-items: end; display: grid; gap: 64px; grid-template-columns: minmax(0, 1fr) auto; position: relative; z-index: 1; }
.contact-breadcrumb { align-items: center; color: #8e8e8e; display: flex; flex-wrap: wrap; font-size: 12px; font-weight: 800; gap: 8px; letter-spacing: .08em; margin-bottom: 36px; text-transform: uppercase; }
.contact-breadcrumb a { color: inherit; text-decoration: none; }
.contact-breadcrumb a:hover { color: var(--color-primary); }
.contact-breadcrumb i { font-size: 12px; }
.contact-hero .section-label,
.unit-page__hero .section-label,
.unit-archive__hero .section-label { color: #ff5255; }
.contact-hero h1 { color: #fff; font-size: clamp(50px, 7vw, 96px); letter-spacing: -.065em; line-height: .94; margin: 18px 0 26px; max-width: 820px; }
.contact-hero p { color: #bdbdbd; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.65; margin: 0; max-width: 700px; }
.contact-hero__action { align-items: center; color: #fff; display: inline-flex; font-size: 13px; font-weight: 900; gap: 12px; letter-spacing: .08em; margin-top: 38px; text-decoration: none; text-transform: uppercase; }
.contact-hero__action i { background: var(--color-primary); display: grid; font-size: 20px; height: 44px; place-items: center; transition: transform .25s ease; width: 44px; }
.contact-hero__action:hover i { transform: translateY(4px); }
.contact-hero__stat { align-items: end; border-left: 1px solid #444; display: flex; gap: 18px; min-width: 250px; padding: 12px 0 12px 30px; }
.contact-hero__stat strong { color: #fff; font-size: 74px; letter-spacing: -.06em; line-height: .8; }
.contact-hero__stat span { color: #8d8d8d; font-size: 13px; font-weight: 800; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }

.contact-units { padding: clamp(70px, 9vw, 128px) 0; }
.contact-section-head { align-items: end; display: grid; gap: 36px; grid-template-columns: 1fr minmax(240px, 380px); margin-bottom: 44px; }
.contact-section-head h2,
.contact-message h2,
.unit-page__body h2 { font-size: clamp(38px, 5vw, 66px); letter-spacing: -.055em; line-height: 1; margin: 12px 0 0; }
.contact-section-head > p { color: #666; line-height: 1.7; margin: 0; }
.contact-carousel { position: relative; }
.contact-carousel__viewport { background: #fff; overflow: hidden; }
.contact-carousel__track { display: flex; transition: transform .65s cubic-bezier(.22,.75,.16,1); will-change: transform; }
.contact-unit { display: grid; flex: 0 0 100%; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); min-width: 0; }
.contact-unit__gallery { align-self: center; background: #ececea; column-count: 3; column-gap: 4px; display: block; min-height: 0; padding: 4px; width: 100%; }
.contact-unit__gallery--1 { column-count: 1; padding: 20px; }
.contact-unit__gallery--1 .contact-unit__image { margin-inline: auto; max-width: 440px; }
.contact-unit__gallery--2 { column-count: 2; }
.contact-unit__image { background: #fff; break-inside: avoid; margin: 0 0 4px; overflow: hidden; }
.contact-unit__image img { display: block; height: auto; object-fit: contain; width: 100%; }
.contact-unit__gallery--0 { display: grid; min-height: 360px; padding: 0; }
.contact-unit__placeholder { align-items: center; color: #fff; display: flex; flex-direction: column; gap: 16px; justify-content: center; min-height: 360px; }
.contact-unit__placeholder i { color: var(--color-primary); font-size: 72px; }
.contact-unit__placeholder span { font-size: 13px; font-weight: 900; letter-spacing: .18em; }
.contact-unit__content { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 5vw, 74px); }
.contact-unit__eyebrow { align-items: center; color: var(--color-primary); display: flex; flex-wrap: wrap; font-size: 11px; font-weight: 900; gap: 13px; letter-spacing: .13em; text-transform: uppercase; }
.contact-unit__eyebrow span { align-items: center; display: flex; gap: 10px; }
.contact-unit__eyebrow span::before { background: var(--color-primary); content: ""; height: 6px; width: 6px; }
.contact-unit__eyebrow b { border-left: 1px solid #d4d4d4; color: #777; padding-left: 13px; }
.contact-unit h3 { font-size: clamp(32px, 4vw, 52px); letter-spacing: -.05em; line-height: 1.02; margin: 20px 0 34px; }
.contact-unit__details { border-top: 1px solid #dedede; display: grid; }
.contact-unit__details > div { align-items: flex-start; border-bottom: 1px solid #dedede; display: grid; gap: 14px; grid-template-columns: 26px 1fr; padding: 15px 0; }
.contact-unit__details i { color: var(--color-primary); font-size: 21px; margin-top: 3px; }
.contact-unit__details p { color: #333; font-size: 14px; line-height: 1.55; margin: 0; }
.contact-unit__details small,
.unit-contact small { color: #888; display: block; font-size: 10px; font-weight: 900; letter-spacing: .1em; margin-bottom: 3px; text-transform: uppercase; }
.contact-unit__details a { color: inherit; display: block; text-decoration: none; }
.contact-unit__details a:hover { color: var(--color-primary); }
.contact-unit__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.contact-unit__actions .btn,
.unit-contact .btn,
.contact-message .btn { border-radius: 0; }
.contact-unit__link { color: #171717; font-size: 12px; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.contact-unit__link i { color: var(--color-primary); margin-left: 6px; }
.contact-carousel__controls { align-items: center; display: flex; gap: 18px; margin-top: 22px; }
.contact-carousel__controls > button { align-items: center; background: transparent; border: 1px solid #cfcfcd; border-radius: 0; color: #171717; display: flex; height: 46px; justify-content: center; transition: background .2s,color .2s,border-color .2s; width: 46px; }
.contact-carousel__controls > button:hover,
.contact-carousel__controls > button:focus-visible { background: #171717; border-color: #171717; color: #fff; }
.contact-carousel__progress { background: #d7d7d4; flex: 1; height: 2px; overflow: hidden; }
.contact-carousel__progress i { background: var(--color-primary); display: block; height: 100%; transform: scaleX(.2); transform-origin: left; transition: transform .5s ease; width: 100%; }
.contact-carousel__controls > span { color: #777; font-size: 12px; letter-spacing: .08em; min-width: 54px; }
.contact-carousel__controls > span b { color: #171717; }
.contact-carousel__dots { display: flex; gap: 6px; }
.contact-carousel__dots button { background: #bbb; border: 0; border-radius: 0; height: 6px; padding: 0; transition: background .2s,width .25s; width: 6px; }
.contact-carousel__dots button.is-active { background: var(--color-primary); width: 22px; }

.contact-message { background: #171717; color: #fff; padding: clamp(76px, 9vw, 126px) 0; scroll-margin-top: 120px; }
.contact-message__grid { align-items: start; display: grid; gap: clamp(50px, 8vw, 120px); grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); }
.contact-message .section-label { color: #ff5255; }
.contact-message h2 { color: #fff; margin-bottom: 26px; }
.contact-message header > p { color: #aaa; line-height: 1.7; margin: 0; }
.contact-message__direct { align-items: center; border-top: 1px solid #393939; display: flex; gap: 16px; margin-top: 40px; padding-top: 24px; }
.contact-message__direct > i { color: var(--color-primary); font-size: 30px; }
.contact-message__direct span { color: #888; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.contact-message__direct a { color: #fff; display: block; font-size: 14px; letter-spacing: 0; margin-top: 4px; text-decoration: none; text-transform: none; }
.contact-message__form { background: #fff; color: #171717; padding: clamp(28px, 5vw, 58px); }
.contact-message__form .wpforms-container { margin: 0; }
.contact-message__form .wpforms-field { padding: 0 0 20px; }
.contact-message__form .wpforms-field-label { color: #333 !important; font-size: 11px !important; font-weight: 900 !important; letter-spacing: .08em; text-transform: uppercase; }
.contact-message__form input,
.contact-message__form select,
.contact-message__form textarea { background: #f5f5f3 !important; border: 1px solid #dededb !important; border-radius: 0 !important; box-shadow: none !important; color: #171717 !important; font-size: 15px !important; max-width: none !important; min-height: 50px; width: 100% !important; }
.contact-message__form textarea { min-height: 132px; }
.contact-message__form input:focus,
.contact-message__form select:focus,
.contact-message__form textarea:focus { border-color: var(--color-primary) !important; outline: 2px solid rgba(203,32,35,.14) !important; }
.contact-message__form button[type="submit"] { background: var(--color-primary) !important; border: 0 !important; border-radius: 0 !important; color: #fff !important; font-size: 12px !important; font-weight: 900 !important; letter-spacing: .08em; min-height: 52px; padding: 0 28px !important; text-transform: uppercase; }
.contact-message__form .wpforms-field-html,
.contact-message__form .wpforms-field-html * { color: #555 !important; font-size: 12px; line-height: 1.6; }
.contact-message__form .wpforms-field-html a { color: var(--color-primary) !important; font-weight: 800; }

/* Diretoria e representação — compartilhado entre Diretoria e Fale Conosco */
.leadership-page,
.leadership-profile { background: #f4f4f1; color: #171717; }
.leadership-hero { background: #121212; color: #fff; overflow: hidden; padding: clamp(70px, 9vw, 128px) 0 clamp(72px, 8vw, 112px); position: relative; }
.leadership-hero::before { background: var(--color-primary); bottom: 0; content: ""; left: 0; position: absolute; top: 0; width: 6px; }
.leadership-hero::after { border: 1px solid rgba(255,255,255,.07); content: ""; height: 430px; position: absolute; right: -120px; top: -145px; transform: rotate(45deg); width: 430px; }
.leadership-hero__grid { align-items: end; display: grid; gap: 60px; grid-template-columns: minmax(0, 1fr) auto; position: relative; z-index: 1; }
.leadership-hero .section-label,
.leadership-profile__hero .section-label { color: #ff5659; }
.leadership-hero h1 { color: #fff; font-size: clamp(52px, 7vw, 94px); letter-spacing: -.066em; line-height: .91; margin: 18px 0 28px; }
.leadership-hero p { color: #aaa; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.7; margin: 0; max-width: 690px; }
.leadership-hero__stat { align-items: end; border-left: 1px solid #414141; display: flex; gap: 18px; min-width: 270px; padding: 12px 0 12px 30px; }
.leadership-hero__stat strong { color: #fff; font-size: 76px; letter-spacing: -.07em; line-height: .78; }
.leadership-hero__stat span { color: #858585; font-size: 11px; font-weight: 900; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }

.leadership-directory { background: #f4f4f1; padding: clamp(72px, 9vw, 126px) 0; }
.leadership-directory--contact { border-top: 1px solid #deded9; }
.leadership-directory__intro { align-items: end; display: grid; gap: clamp(42px, 8vw, 120px); grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr); margin-bottom: clamp(64px, 8vw, 104px); }
.leadership-directory__intro h2 { font-size: clamp(42px, 6vw, 78px); letter-spacing: -.062em; line-height: .92; margin: 15px 0 0; max-width: 760px; }
.leadership-directory__intro p { color: #666; font-size: 16px; line-height: 1.75; margin: 0; }
.leadership-directory__intro a { align-items: center; border-bottom: 2px solid #202020; color: #202020; display: inline-flex; font-size: 11px; font-weight: 900; gap: 10px; letter-spacing: .09em; margin-top: 26px; padding-bottom: 8px; text-decoration: none; text-transform: uppercase; }
.leadership-directory__intro a i { color: var(--color-primary); font-size: 17px; transition: transform .25s ease; }
.leadership-directory__intro a:hover i { transform: translateX(4px); }
.leadership-directory__groups { display: grid; gap: clamp(74px, 10vw, 138px); }
.leadership-group__head { align-items: end; border-top: 1px solid #c9c9c4; display: grid; gap: 32px; grid-template-columns: minmax(250px, .85fr) minmax(300px, 1fr) auto; margin-bottom: 30px; padding-top: 23px; }
.leadership-group__head span { color: var(--color-primary); display: block; font-size: 10px; font-weight: 900; letter-spacing: .14em; margin-bottom: 8px; text-transform: uppercase; }
.leadership-group__head h3 { font-size: clamp(32px, 4vw, 54px); letter-spacing: -.05em; line-height: 1; margin: 0; }
.leadership-group__head p { color: #696969; font-size: 14px; line-height: 1.65; margin: 0; max-width: 520px; }
.leadership-group__head > strong { color: #777; font-size: 10px; letter-spacing: .1em; padding-bottom: 3px; text-align: right; text-transform: uppercase; white-space: nowrap; }
.leadership-group__head > strong b { color: #171717; font-size: 18px; letter-spacing: 0; margin-right: 3px; }
.leadership-grid { display: grid; gap: 2px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.leadership-card { background: #fff; min-width: 0; position: relative; }
.leadership-card::after { background: var(--color-primary); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0; transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.22,.75,.16,1); }
.leadership-card:hover::after,
.leadership-card:focus-within::after { transform: scaleX(1); }
.leadership-card__photo { aspect-ratio: 1 / 1; background: #e6e6e2; display: block; overflow: hidden; }
.leadership-card__photo img { height: 100%; object-fit: cover; object-position: center top; transition: filter .4s ease, transform .6s cubic-bezier(.22,.75,.16,1); width: 100%; }
.leadership-card:hover .leadership-card__photo img { filter: saturate(.92) contrast(1.02); transform: scale(1.025); }
.leadership-card__placeholder { align-items: center; color: #aaa; display: flex; height: 100%; justify-content: center; width: 100%; }
.leadership-card__placeholder i { font-size: 76px; }
.leadership-card__body { min-height: 205px; padding: 25px 24px 23px; }
.leadership-card__eyebrow { color: var(--color-primary); display: block; font-size: 9px; font-weight: 900; letter-spacing: .13em; margin-bottom: 10px; min-height: 11px; text-transform: uppercase; }
.leadership-card h4 { font-size: clamp(21px, 2.1vw, 29px); letter-spacing: -.045em; line-height: 1.03; margin: 0; }
.leadership-card h4 a { color: #181818; text-decoration: none; }
.leadership-card__body > p { color: #777; font-size: 12px; margin: 8px 0 0; }
.leadership-card__actions { align-items: center; border-top: 1px solid #e6e6e2; display: flex; gap: 12px; justify-content: space-between; margin-top: 25px; padding-top: 17px; }
.leadership-card__actions > a { align-items: center; color: #222; display: inline-flex; font-size: 9px; font-weight: 900; gap: 5px; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.leadership-card__actions > a:hover { color: var(--color-primary); }
.leadership-card__actions > a i { font-size: 15px; }
.leadership-card__email { min-width: 0; }
.leadership-card__email span { display: none; }
.leadership-card__actions--contact { justify-content: flex-start; }
.leadership-card__actions--contact .leadership-card__email--full { letter-spacing: 0; min-width: 0; text-transform: none; width: 100%; }
.leadership-card__actions--contact .leadership-card__email--full span { display: block; min-width: 0; overflow-wrap: anywhere; }

.leadership-profile__hero { background: #121212; color: #fff; padding: clamp(68px, 8vw, 112px) 0 clamp(54px, 6vw, 80px); }
.leadership-profile__hero h1 { color: #fff; font-size: clamp(48px, 7vw, 88px); letter-spacing: -.063em; line-height: .94; margin: 16px 0 0; }
.leadership-profile__hero .contact-breadcrumb a:last-of-type { color: #c9c9c9; }
.leadership-profile__body { padding: clamp(58px, 8vw, 108px) 0; }
.leadership-profile__grid { align-items: start; display: grid; gap: clamp(46px, 8vw, 112px); grid-template-columns: minmax(320px, .8fr) minmax(0, 1fr); }
.leadership-profile__photo { aspect-ratio: 1 / 1; background: #deded9; margin: 0; overflow: hidden; }
.leadership-profile__photo img { height: 100%; object-fit: cover; object-position: center top; width: 100%; }
.leadership-profile__photo > span { align-items: center; color: #aaa; display: flex; height: 100%; justify-content: center; }
.leadership-profile__photo i { font-size: 108px; }
.leadership-profile__content { padding-top: clamp(4px, 2vw, 24px); }
.leadership-profile__kicker { color: var(--color-primary); display: block; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.leadership-profile__content h2 { font-size: clamp(38px, 5vw, 66px); letter-spacing: -.055em; line-height: .98; margin: 14px 0 22px; max-width: 700px; }
.leadership-profile__region { align-items: center; color: #555; display: flex; font-size: 14px; gap: 9px; margin: 0 0 30px; }
.leadership-profile__region i { color: var(--color-primary); font-size: 20px; }
.leadership-profile__bio { color: #606060; font-size: 17px; line-height: 1.75; max-width: 680px; }
.leadership-profile__content-body { color: #606060; font-size: 17px; line-height: 1.75; margin-top: 26px; max-width: 720px; }
.leadership-profile__content-body > :first-child { margin-top: 0; }
.leadership-profile__content-body img { height: auto; max-width: 100%; }
.leadership-profile__contacts { border-top: 1px solid #d3d3ce; display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 34px; padding-top: 22px; }
.leadership-profile__contacts a { align-items: center; background: #fff; color: #222; display: flex; gap: 15px; min-width: 0; padding: 20px; text-decoration: none; }
.leadership-profile__contacts a:hover { color: var(--color-primary); }
.leadership-profile__contacts i { color: var(--color-primary); flex: 0 0 auto; font-size: 25px; }
.leadership-profile__contacts span { font-size: 13px; min-width: 0; overflow-wrap: anywhere; }
.leadership-profile__contacts small { color: #888; display: block; font-size: 9px; font-weight: 900; letter-spacing: .1em; margin-bottom: 4px; text-transform: uppercase; }
.leadership-profile__back { align-items: center; color: #222; display: inline-flex; font-size: 10px; font-weight: 900; gap: 10px; letter-spacing: .1em; margin-top: 34px; text-decoration: none; text-transform: uppercase; }
.leadership-profile__back i { color: var(--color-primary); font-size: 18px; transition: transform .2s ease; }
.leadership-profile__back:hover i { transform: translateX(-4px); }

.unit-page__hero,
.unit-archive__hero { background: #151515; color: #fff; padding: clamp(68px, 8vw, 112px) 0 62px; }
.unit-page__heading { align-items: end; display: flex; gap: 32px; justify-content: space-between; }
.unit-page__heading h1,
.unit-archive__hero h1 { color: #fff; font-size: clamp(46px, 7vw, 86px); letter-spacing: -.06em; line-height: .96; margin: 16px 0 20px; }
.unit-page__heading p { align-items: center; color: #aaa; display: flex; gap: 8px; margin: 0; }
.unit-page__heading p i { color: var(--color-primary); }
.unit-page__heading > a { border-bottom: 1px solid #555; color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .08em; padding-bottom: 7px; text-decoration: none; text-transform: uppercase; }
.unit-page__gallery { padding-top: 42px; }
.unit-gallery { display: grid; gap: 3px; grid-auto-rows: minmax(170px, 25vw); grid-template-columns: 1.3fr .7fr; max-height: 720px; overflow: hidden; }
.unit-gallery--1 { display: block; max-height: none; }
.unit-gallery--2 { grid-template-columns: 1fr 1fr; }
.unit-gallery__item { background: #222; border: 0; border-radius: 0; min-height: 0; overflow: hidden; padding: 0; position: relative; }
.unit-gallery__item:first-child { grid-row: span 2; }
.unit-gallery--2 .unit-gallery__item:first-child { grid-row: auto; }
.unit-gallery__item img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.unit-gallery__item:hover img { transform: scale(1.025); }
.unit-gallery__item span { background: rgba(10,10,10,.82); bottom: 16px; color: #fff; font-size: 12px; font-weight: 900; padding: 9px 12px; position: absolute; right: 16px; }
.unit-page__body { padding: clamp(66px, 8vw, 110px) 0; }
.unit-page__grid { align-items: start; display: grid; gap: clamp(48px, 8vw, 110px); grid-template-columns: minmax(0, 1fr) minmax(330px, .7fr); }
.unit-page__body article > p,
.unit-page__body .entry-content { color: #666; font-size: 17px; line-height: 1.75; max-width: 680px; }
.unit-contact { background: #fff; border-top: 4px solid var(--color-primary); padding: 12px 34px 34px; }
.unit-contact > div { align-items: flex-start; border-bottom: 1px solid #e1e1df; display: grid; gap: 15px; grid-template-columns: 28px 1fr; padding: 20px 0; }
.unit-contact > div > i { color: var(--color-primary); font-size: 22px; }
.unit-contact span { color: #333; line-height: 1.55; }
.unit-contact a:not(.btn) { color: inherit; display: block; text-decoration: none; }
.unit-contact .btn { margin-top: 28px; width: 100%; }
.unit-lightbox { align-items: center; background: rgba(8,8,8,.95); display: flex; inset: 0; justify-content: center; padding: 70px 24px 24px; position: fixed; z-index: 99999; }
.unit-lightbox[hidden] { display: none; }
.unit-lightbox img { height: auto; max-height: calc(100vh - 100px); max-width: min(1200px, 100%); object-fit: contain; width: auto; }
.unit-lightbox button { background: #fff; border: 0; border-radius: 0; color: #111; display: grid; font-size: 24px; height: 48px; place-items: center; position: absolute; right: 24px; top: 18px; width: 48px; }

.unit-archive__hero p { color: #aaa; font-size: 18px; margin: 0; }
.unit-archive__section { padding: clamp(68px, 8vw, 110px) 0; }
.unit-archive__grid { display: grid; gap: 2px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.unit-archive__card { background: #fff; color: #171717; display: grid; grid-template-columns: minmax(180px, .8fr) 1.2fr; min-height: 290px; text-decoration: none; }
.unit-archive__card figure { background: #222; margin: 0; overflow: hidden; }
.unit-archive__card figure img { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.unit-archive__card:hover figure img { transform: scale(1.035); }
.unit-archive__card > div { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
.unit-archive__card span { color: var(--color-primary); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.unit-archive__card h2 { font-size: 27px; letter-spacing: -.035em; line-height: 1.05; margin: 10px 0 14px; }
.unit-archive__card b { color: #555; font-size: 12px; }
.unit-archive__card p { color: #777; font-size: 13px; line-height: 1.5; }
.unit-archive__card strong { font-size: 11px; letter-spacing: .08em; margin-top: auto; text-transform: uppercase; }
.unit-archive__card strong i { color: var(--color-primary); }
.unit-archive__contact { align-items: center; border-bottom: 2px solid #171717; color: #171717; display: flex; font-size: 13px; font-weight: 900; gap: 10px; margin: 48px 0 0 auto; padding-bottom: 8px; text-decoration: none; text-transform: uppercase; width: max-content; }

@media (max-width: 1000px) {
    .contact-unit { grid-template-columns: 1fr; }
    .contact-unit__gallery { align-self: start; column-count: 3; }
    .contact-unit__gallery--1 { column-count: 1; }
    .contact-unit__gallery--2 { column-count: 2; }
    .contact-unit__content { padding: 48px; }
    .contact-message__grid { gap: 54px; grid-template-columns: .8fr 1.2fr; }
    .unit-archive__grid { grid-template-columns: 1fr; }
    .leadership-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .leadership-group__head { grid-template-columns: minmax(240px, .8fr) minmax(0, 1fr); }
    .leadership-group__head > strong { display: none; }
}

@media (max-width: 760px) {
    .contact-hero { padding: 58px 0 70px; }
    .contact-hero__grid { gap: 42px; grid-template-columns: 1fr; }
    .contact-hero h1 { font-size: clamp(46px, 15vw, 68px); }
    .contact-hero__stat { min-width: 0; width: 100%; }
    .contact-section-head { align-items: start; gap: 18px; grid-template-columns: 1fr; }
    .contact-unit__gallery { column-count: 2; }
    .contact-unit__gallery--1 { column-count: 1; padding: 4px; }
    .contact-unit__content { padding: 34px 24px 38px; }
    .contact-unit h3 { font-size: 34px; }
    .contact-unit__details { grid-template-columns: 1fr 1fr; }
    .contact-unit__detail--address { grid-column: 1 / -1; }
    .contact-unit__details > div { align-content: start; grid-template-columns: 22px 1fr; padding: 14px 10px 14px 0; }
    .contact-unit__details > div:nth-child(even) { padding-left: 12px; }
    .contact-carousel__dots { display: none; }
    .contact-carousel__controls { gap: 12px; }
    .contact-carousel__controls > button { flex: 0 0 44px; height: 44px; width: 44px; }
    .contact-message__grid { grid-template-columns: 1fr; }
    .contact-message__form { margin-inline: -6px; padding: 28px 20px; }
    .unit-page__heading { align-items: start; flex-direction: column; }
    .unit-gallery { grid-auto-rows: 170px; grid-template-columns: 1.25fr .75fr; }
    .unit-page__grid { grid-template-columns: 1fr; }
    .unit-contact { padding-inline: 22px; }
    .unit-archive__card { grid-template-columns: 42% 58%; min-height: 250px; }
    .unit-archive__card > div { padding: 24px 18px; }
    .unit-archive__card h2 { font-size: 22px; }
    .unit-archive__card p { display: none; }
    .leadership-hero { padding: 58px 0 70px; }
    .leadership-hero__grid { gap: 42px; grid-template-columns: 1fr; }
    .leadership-hero h1 { font-size: clamp(46px, 14.5vw, 68px); }
    .leadership-hero__stat { min-width: 0; width: 100%; }
    .leadership-directory { padding: 66px 0 78px; }
    .leadership-directory__intro { align-items: start; gap: 24px; grid-template-columns: 1fr; margin-bottom: 62px; }
    .leadership-directory__intro h2 { font-size: clamp(41px, 12vw, 58px); }
    .leadership-group__head { align-items: start; gap: 14px; grid-template-columns: 1fr; margin-bottom: 24px; }
    .leadership-group__head p { font-size: 13px; }
    .leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .leadership-card__body { min-height: 176px; padding: 19px 15px 17px; }
    .leadership-card h4 { font-size: clamp(19px, 6vw, 25px); }
    .leadership-card__actions { margin-top: 19px; padding-top: 13px; }
    .leadership-profile__grid { gap: 34px; grid-template-columns: 1fr; }
    .leadership-profile__photo { max-width: 620px; }
    .leadership-profile__contacts { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .contact-unit__actions { align-items: flex-start; flex-direction: column; }
    .unit-archive__card { grid-template-columns: 1fr; }
    .unit-archive__card figure { height: 210px; }
    .leadership-card__eyebrow { font-size: 8px; letter-spacing: .09em; }
    .leadership-card__actions > a:first-child { font-size: 8px; }
    .leadership-card__photo { aspect-ratio: .96 / 1; }
}

@media (prefers-reduced-motion: reduce) {
    .contact-carousel__track,
    .contact-unit__image img,
    .unit-gallery__item img,
    .leadership-card::after,
    .leadership-card__photo img { transition: none; }
}

/* === Filtro de cidade das unidades (reusa .directory-city-filter) === */
.directory-city-filter--units { align-items: center; grid-template-columns: auto minmax(220px, 320px) 1fr auto; margin: 0 0 34px; }
.directory-city-filter--units label { color: #171717; }
.directory-city-filter--units select { border-color: #d4d4d2; }
.directory-city-filter--units select:focus-visible { border-color: var(--color-primary); box-shadow: inset 3px 0 var(--color-primary); outline: 0; }
.directory-city-filter__status { color: #777; font-size: 12px; font-weight: 800; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.directory-city-filter__clear { align-items: center; background: transparent; border: 0; border-radius: 0; color: #777; cursor: pointer; display: flex; font-size: 12px; font-weight: 800; gap: 6px; letter-spacing: .06em; min-height: 44px; padding: 0 4px; text-transform: uppercase; }
.directory-city-filter__clear:hover { color: var(--color-primary); }
.directory-city-filter__clear[hidden] { display: none; }

/* [hidden] precisa vencer o display das próprias regras do carrossel */
.contact-unit[hidden],
.contact-carousel__dots[hidden],
.contact-carousel__controls > button[hidden],
.contact-carousel__empty[hidden] { display: none; }

.contact-carousel__track { touch-action: pan-y; }

.contact-carousel__empty { align-items: center; background: #fff; color: #666; display: flex; flex-direction: column; gap: 10px; justify-content: center; margin: 0; min-height: 340px; padding: 48px 24px; text-align: center; }
.contact-carousel__empty i { color: var(--color-primary); font-size: 54px; }
.contact-carousel__empty strong { color: #171717; font-size: 20px; letter-spacing: -.02em; }
.contact-carousel__empty span { font-size: 14px; max-width: 380px; }
.contact-carousel.is-empty .contact-carousel__progress i { transform: scaleX(0); }

@media (max-width: 760px) {
    .directory-city-filter--units { grid-template-columns: 1fr; row-gap: 10px; }
    .directory-city-filter--units .directory-city-filter__status { order: 3; }
    .directory-city-filter__clear { justify-content: center; }
}

/* === Página da unidade: estados vazios, atalhos e unidades relacionadas === */
.unit-page__heading .unit-page__lead { color: #c9c9c9; display: block; font-size: 17px; line-height: 1.65; margin: 16px 0 0; max-width: 620px; }

.unit-gallery-empty { align-items: center; background: #171717; color: #b5b5b5; display: flex; flex-direction: column; gap: 12px; justify-content: center; min-height: 260px; padding: 54px 24px; text-align: center; }
.unit-gallery-empty i { color: var(--color-primary); font-size: 62px; }
.unit-gallery-empty strong { color: #fff; font-size: 21px; letter-spacing: -.02em; }
.unit-gallery-empty span { font-size: 14px; line-height: 1.6; max-width: 460px; }


.unit-page__note { align-items: flex-start; background: #fff; border-left: 3px solid var(--color-primary); color: #555; display: flex; font-size: 14px; gap: 12px; line-height: 1.6; margin: 30px 0 0; max-width: 680px; padding: 18px 22px; }
.unit-page__note i { color: var(--color-primary); font-size: 20px; }
.unit-page__note a { color: var(--color-primary); font-weight: 800; }

.unit-nearby { background: #ecece9; padding: clamp(56px, 7vw, 92px) 0; }
.unit-nearby__head { margin-bottom: 32px; }
.unit-nearby__head h2 { font-size: clamp(30px, 4vw, 46px); letter-spacing: -.045em; line-height: 1.03; margin: 10px 0 0; }
.unit-nearby__grid { display: grid; gap: 2px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.unit-nearby__card { background: #fff; color: #171717; display: flex; flex-direction: column; min-height: 190px; padding: 26px 22px; text-decoration: none; transition: background .2s, color .2s; }
.unit-nearby__card span { color: var(--color-primary); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.unit-nearby__card strong { font-size: 19px; letter-spacing: -.025em; line-height: 1.15; margin: 10px 0 12px; }
.unit-nearby__card b { align-items: center; color: #777; display: flex; font-size: 12px; font-weight: 700; gap: 6px; }
.unit-nearby__card b i { color: var(--color-primary); }
.unit-nearby__card > i { color: var(--color-primary); font-size: 20px; margin-top: auto; padding-top: 16px; }
.unit-nearby__card:hover { background: #171717; color: #fff; }
.unit-nearby__card:hover b { color: #b9b9b9; }

/* Lightbox: navegação entre fotos (a regra genérica .unit-lightbox button fixa no canto) */
.unit-lightbox .unit-lightbox__nav { background: rgba(255,255,255,.92); height: 56px; top: 50%; transform: translateY(-50%); width: 46px; }
.unit-lightbox .unit-lightbox__nav--prev { left: 24px; right: auto; }
.unit-lightbox .unit-lightbox__nav--next { left: auto; right: 24px; }
.unit-lightbox .unit-lightbox__nav[hidden] { display: none; }
.unit-lightbox__count { bottom: 22px; color: #fff; font-size: 12px; font-weight: 800; left: 50%; letter-spacing: .1em; position: absolute; transform: translateX(-50%); }

@media (max-width: 1000px) {
    .unit-nearby__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .unit-page__heading .unit-page__lead { font-size: 15px; }
    .unit-nearby__grid { grid-template-columns: 1fr; }
    .unit-nearby__card { min-height: 0; }
    .unit-lightbox .unit-lightbox__nav { height: 48px; width: 40px; }
    .unit-lightbox .unit-lightbox__nav--prev { left: 10px; }
    .unit-lightbox .unit-lightbox__nav--next { right: 10px; }
}
.unit-archive__card-empty { align-items: center; background: #171717; display: flex; justify-content: center; }
.unit-archive__card-empty i { color: var(--color-primary); font-size: 54px; }
/* Placeholder do carrossel: branco sobre #ececea não tinha contraste */
.contact-unit__gallery--0 { background: #171717; }
.contact-unit__placeholder span { color: #b5b5b5; }
/* Espaço para o contador embaixo da foto ampliada */
.unit-lightbox img { max-height: calc(100vh - 150px); }

/* === Hero das unidades: fotos passando por trás === */
/* Sem fotos o hero segue chapado em #151515, exatamente como antes. */
.unit-page__hero.has-bg { overflow: hidden; position: relative; }
.unit-page__hero.has-bg > .container { position: relative; z-index: 2; }
.unit-hero-bg { inset: 0; position: absolute; z-index: 0; }
.unit-hero-bg__slide { inset: 0; margin: 0; opacity: 0; position: absolute; transition: opacity 1.8s ease; }
.unit-hero-bg__slide.is-active { opacity: 1; }
.unit-hero-bg__slide img {
    animation: unitHeroDrift 22s ease-in-out infinite alternate;
    filter: blur(2.5px) saturate(.9);
    height: 100%; object-fit: cover; width: 100%;
    transform: scale(1.14);
}
/* Véu escuro: mais denso à esquerda, onde ficam o título e o breadcrumb. */
.unit-hero-bg::after {
    background: linear-gradient(95deg, rgba(14,14,14,.92) 0%, rgba(14,14,14,.8) 40%, rgba(14,14,14,.55) 72%, rgba(14,14,14,.38) 100%);
    content: ""; inset: 0; position: absolute; z-index: 1;
}
@keyframes unitHeroDrift {
    from { transform: scale(1.14) translate3d(-1.2%, -0.8%, 0); }
    to   { transform: scale(1.2) translate3d(1.2%, 0.8%, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .unit-hero-bg__slide img { animation: none; transform: scale(1.05); }
    .unit-hero-bg__slide { transition: none; }
}
@media (max-width: 760px) {
    /* No celular o texto ocupa a largura toda: véu uniforme e mais escuro. */
    .unit-hero-bg::after { background: rgba(14,14,14,.84); }
    .unit-hero-bg__slide img { filter: blur(4px) saturate(.8); }
}

/* === Unidade: fotos em masonry à esquerda, contatos à direita === */
.unit-page__body { padding: clamp(48px, 6vw, 78px) 0 clamp(38px, 4vw, 56px); }
.unit-split { align-items: start; display: grid; gap: clamp(28px, 3.4vw, 54px); grid-template-columns: minmax(0, 1.55fr) minmax(288px, .75fr); }
.unit-masonry { column-gap: 4px; columns: 2; }
.unit-masonry .unit-gallery__item {
    background: #222; border: 0; border-radius: 0; break-inside: avoid;
    cursor: zoom-in; display: block; margin: 0 0 4px; overflow: hidden; padding: 0;
    position: relative; width: 100%;
}
.unit-masonry .unit-gallery__item img { display: block; height: auto; transition: transform .5s ease; width: 100%; }
.unit-masonry .unit-gallery__item:hover img,
.unit-masonry .unit-gallery__item:focus-visible img { transform: scale(1.04); }
.unit-masonry .unit-gallery__item:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 2px; }
.unit-split .unit-contact { position: sticky; top: 96px; }
.unit-split__media .unit-gallery-empty { height: 100%; }

/* Atendimento em largura cheia, com o canvas do editor logo abaixo do subtítulo. */
.unit-service { padding: 0 0 clamp(56px, 6vw, 88px); }
.unit-service__inner { max-width: 900px; }
.unit-service__lead { color: var(--color-gray-700); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; margin: 14px 0 0; }
.unit-service .entry-content { margin-top: 26px; }
.unit-service .unit-page__note { margin-top: 26px; }

@media (max-width: 980px) {
    .unit-split { grid-template-columns: 1fr; }
    .unit-split .unit-contact { position: static; }
}
@media (max-width: 620px) {
    .unit-masonry { columns: 1; }
}

/* === Cards do Fale Conosco: mesma masonry da página da unidade === */
/* Antes o card tinha moldura cinza (#ececea) e fundo branco atrás de cada foto,
   destoando do masonry da página da sede. Aqui os dois passam a ser iguais. */
.contact-unit__gallery { align-self: center; background: transparent; column-count: 2; column-gap: 4px; padding: 0; }
/* Duas colunas mesmo com 3 fotos: as imagens são quadradas, e 3 colunas iguais
   viram uma fileira. Com 2 colunas a terceira desce e o mosaico aparece. */
.contact-unit__image { background: #222; margin: 0 0 4px; }
.contact-unit__image img { object-fit: cover; transition: transform .5s ease; }
.contact-unit:hover .contact-unit__image img { transform: scale(1.03); }
.contact-unit__gallery--1 { padding: 0; }
.contact-unit__gallery--1 .contact-unit__image { margin-inline: 0; max-width: none; }

/* === Card de unidade no mobile: título > fotos > informações > botões === */
/* As fotos vinham antes de tudo e empurravam o nome da unidade para baixo da
   dobra. `display: contents` dissolve o wrapper de conteúdo para que título,
   galeria, detalhes e ações virem irmãos e possam ser reordenados. */
@media (max-width: 760px) {
    .contact-unit { display: flex; flex-direction: column; }
    .contact-unit__content { display: contents; }
    .contact-unit__eyebrow { order: 1; padding: 32px 24px 0; }
    .contact-unit h3 { margin: 14px 0 24px; order: 2; padding: 0 24px; }
    .contact-unit__gallery { order: 3; }
    .contact-unit__details { margin: 26px 24px 0; order: 4; }
    .contact-unit__actions { margin-top: 24px; order: 5; padding: 0 24px 34px; }
}

/* === Galeria da unidade vira carrossel no mobile === */
/* No desktop segue masonry. No mobile o trilho ganha scroll-snap (gesto nativo)
   e os controles são os mesmos do carrossel de unidades — setas, barra de
   progresso e contador — para não inventar um segundo modelo de navegação. */
.unit-slider__controls { display: none; }
@media (max-width: 760px) {
    .unit-masonry[data-unit-slider] {
        columns: auto; display: flex; gap: 8px; margin-inline: -20px;
        overflow-x: auto; padding-inline: 20px; scroll-behavior: smooth;
        scroll-padding-inline: 20px; scroll-snap-type: x mandatory;
        scrollbar-width: none; -webkit-overflow-scrolling: touch;
    }
    .unit-masonry[data-unit-slider]::-webkit-scrollbar { display: none; }
    .unit-masonry[data-unit-slider] .unit-gallery__item {
        aspect-ratio: 4 / 3; flex: 0 0 86%; margin: 0; scroll-snap-align: center;
    }
    .unit-masonry[data-unit-slider] .unit-gallery__item img { height: 100%; object-fit: cover; }
    .unit-masonry[data-unit-slider] .unit-gallery__item:hover img { transform: none; }
    .unit-slider__controls { display: flex; }
    .unit-slider__controls > button[disabled] { opacity: .35; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
    .unit-masonry[data-unit-slider] { scroll-behavior: auto; }
}