/** Copyright (c) 2026 Kardori Tecnologia. Todos os direitos reservados. Uso nao autorizado proibido. */
:root {
  --navy: #00335a;
  --navy-2: #102748;
  --aqua: #0091bf;
  --gold: #ffc107;
  --cream: #f4f7fa;
  --paper: #ffffff;
  --ink: #252525;
  --muted: #5d6873;
  --line: #d6e0e7;
  --font-scale: 1;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: calc(16px * var(--font-scale)); }
#associado,
#institucional,
#noticias,
#servicos,
#eventos,
#publicacoes,
#contato { scroll-margin-top: 145px; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Inter, "Segoe UI", Arial, sans-serif; line-height: 1.55; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; left: 16px; top: -60px; background: white; color: var(--navy); padding: 12px 18px; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.prototype-bar { min-height: 34px; padding: 7px 20px; display: flex; justify-content: center; gap: 14px; background: var(--gold); color: #12252d; font-size: .75rem; letter-spacing: .06em; font-weight: 800; text-align: center; }
.prototype-bar span:last-child { font-weight: 600; letter-spacing: 0; }
.site-header { background: linear-gradient(110deg, rgba(255,255,255,.98), rgba(224,235,241,.98)); position: sticky; top: 0; z-index: 20; box-shadow: 0 1px 0 rgba(10,47,60,.1); backdrop-filter: blur(14px); }
.utility { min-height: 37px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: .75rem; color: var(--muted); }
.utility p { margin: 0; }
.accessibility { display: flex; align-items: center; gap: 6px; }
.accessibility button { min-height: 30px; border: 1px solid #cbd3d0; border-radius: 6px; background: white; color: var(--navy); font-weight: 700; padding: 3px 9px; cursor: pointer; }
.header-social { width: 105px; height: 38px; flex: 0 0 105px; margin-right: 5px; display: flex; align-items: center; justify-content: space-between; background: transparent; }
.header-social .social-hotspot { position: relative; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: rgba(0, 31, 55, .42); text-decoration: none; transition: color .2s, background .2s, transform .2s; forced-color-adjust: none; }
html body:not(.high-contrast) .header-social .social-hotspot { color: #fff !important; -webkit-text-fill-color: #fff !important; forced-color-adjust: none; }
.header-social .social-hotspot:hover, .header-social .social-hotspot:focus-visible { background: rgba(255,255,255,.13); color: #f6d88f; transform: translateY(-2px); }
.social-facebook::before { content: "f"; font: 900 1.65rem/1 Arial, sans-serif; transform: translateY(2px); }
.social-instagram::before { content: ""; width: 18px; height: 18px; border: 2px solid #fff; border-radius: 6px; }
.social-instagram::after { content: ""; position: absolute; width: 5px; height: 5px; border: 2px solid #fff; border-radius: 50%; box-shadow: 6px -6px 0 -2px #fff; }
.social-youtube::before { content: ""; width: 22px; height: 16px; border: 2px solid #fff; border-radius: 5px; }
.social-youtube::after { content: ""; position: absolute; left: 13px; top: 10px; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 7px solid #fff; }
.nav-wrap .accessibility { flex: 0 0 auto; }
.contrast-label { display: none; }
.contrast-symbol { display: inline-block; font: 900 1.2rem/1 Arial, sans-serif; }
.accessibility button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #efc56e; outline-offset: 3px; }
.nav-wrap { min-height: 88px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; flex: 0 0 auto; }
.brand-mark { width: 48px; height: 48px; display: grid; place-items: center; color: var(--gold); border: 2px solid var(--gold); border-radius: 50% 50% 48% 52%; font-family: Georgia, serif; font-size: 1.2rem; font-weight: 800; letter-spacing: -.15em; padding-right: .12em; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.08; }
.brand-copy strong { color: var(--navy); font: 800 1.55rem/1 Georgia, serif; letter-spacing: -.04em; }
.brand-copy small { color: var(--muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; margin-top: 5px; }
.brand-logo { display: block; width: clamp(185px, 18vw, 228px); height: auto; object-fit: contain; }
.footer-brand .brand-logo { width: 205px; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(13px, 1.6vw, 25px); margin-left: auto; }
.main-nav a { color: #31434b; font-size: .88rem; font-weight: 700; text-decoration: none; padding: 12px 0; }
.main-nav a:hover { color: var(--aqua); }
.member-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 18px; border-radius: 10px; background: var(--navy); color: white; text-decoration: none; font-weight: 800; font-size: .86rem; white-space: nowrap; }
.member-button:hover { background: var(--navy-2); }
.menu-button { display: none; }
.menu-label { display: none; }
.hero { position: relative; overflow: hidden; background: var(--navy); color: white; }
.hero::after { display: none; }
.hero-glow { display: none; }
.hero-glow-one { width: 480px; height: 480px; background: #39b7a5; right: 17%; top: -280px; }
.hero-glow-two { width: 260px; height: 260px; background: #d1ae67; left: -150px; bottom: -140px; }
.hero-grid { position: relative; z-index: 1; min-height: 590px; display: grid; grid-template-columns: 1.35fr .75fr; align-items: center; gap: clamp(50px, 7vw, 100px); padding-block: 20px 70px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #ffd166; font-size: .86rem; font-weight: 900; letter-spacing: .13em; }
.eyebrow::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.eyebrow.dark { color: #0091bf; }
.hero h1 { width: min(1080px, 100%); max-width: 1080px; min-height: clamp(7.5rem, 11vw, 10.5rem); margin: 22px 0; color: #f6d88f; font: 600 clamp(2.05rem, 3.35vw, 3.35rem)/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.035em; text-shadow: 0 3px 18px rgba(0,0,0,.22); overflow-wrap: normal; word-break: normal; hyphens: none; }
.hero-copy #hero-title,
.hero-copy #heroSummary,
.hero-copy .hero-event-meta,
.hero-copy .hero-actions,
.news-content h3,
.news-content p,
.featured-news .news-content h3,
.featured-news .news-content p {
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}
.hero-slide-content.title-long h1 { font-size: clamp(1.9rem, 2.9vw, 2.9rem); line-height: 1.07; letter-spacing: -.03em; }
.hero-slide-content.title-very-long h1 { font-size: clamp(1.7rem, 2.5vw, 2.5rem); line-height: 1.1; letter-spacing: -.02em; }
.hero-copy .hero-slide-content > p {
  width: min(1080px, 100%);
  max-width: 1080px;
  min-height: 4.8em;
  max-height: 6.3em;
  margin: 0 0 32px;
  overflow-x: hidden;
  overflow-y: auto;
  color: #eef6f8;
  font-size: 1.04rem;
  line-height: 1.55;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
  display: block;
  padding-right: 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 201, 71, .9) rgba(255, 255, 255, .12);
}
.hero-copy .hero-slide-content > p::-webkit-scrollbar { width: 7px; }
.hero-copy .hero-slide-content > p::-webkit-scrollbar-track { background: rgba(255, 255, 255, .12); border-radius: 999px; }
.hero-copy .hero-slide-content > p::-webkit-scrollbar-thumb { background: rgba(255, 201, 71, .9); border-radius: 999px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.primary-action { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 23px; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; background: #004f7d; color: #fff; font-weight: 900; text-decoration: none; box-shadow: 0 10px 24px rgba(0,0,0,.20); }
.primary-action[hidden] { display: none; }
.primary-action[hidden] { display: none; }
.primary-action:hover { transform: translateY(-2px); background: #006c8f; }
.text-action { color: white; font-weight: 800; text-decoration: none; }
.trust-row { display: flex; flex-wrap: wrap; gap: 13px 22px; margin-top: 20px; color: #c9dbdc; font-size: .83rem; }
.trust-row b { color: #78dfce; }
.hero-slide-stage { position: relative; height: 32.5rem; overflow: hidden; }
.hero-slide-content { display: flex; width: 100%; height: 100%; flex-direction: column; justify-content: center; transform: translateX(0); }
.hero-slide-media{width:100%;height:clamp(190px,24vw,315px);margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(0,20,36,.35)}.hero-slide-media img{display:block;width:100%;height:100%;object-fit:cover}.hero-slide-media.portrait img{object-fit:contain;background:rgba(0,20,36,.55)}.hero-slide-content:has(.hero-slide-media:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,34%);align-content:center;align-items:center;column-gap:28px}.hero-slide-content:has(.hero-slide-media:not([hidden]))> :not(.hero-slide-media){grid-column:1}.hero-slide-content:has(.hero-slide-media:not([hidden])) .hero-slide-media{grid-column:2;grid-row:1 / -1;align-self:center}.hero-slide-content:has(.hero-slide-media:not([hidden])) h1,.hero-slide-content:has(.hero-slide-media:not([hidden]))>p{max-width:100%}
.hero-slide-content > * { flex-shrink: 0; }
.hero-slide-content.slide-outgoing { position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.hero-slide-content.slide-incoming { position: absolute; z-index: 2; inset: 0; transform: translateX(100%); transition: none !important; }
@media (max-width: 600px){.hero-slide-content:has(.hero-slide-media:not([hidden])){display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}.hero-slide-media{width:100%;height:180px;margin:0 0 16px}.hero-slide-content:has(.hero-slide-media:not([hidden])) h1,.hero-slide-content:has(.hero-slide-media:not([hidden]))>p{max-width:100%}.hero-slide-stage{touch-action:pan-y}}
.hero-slide-content.slide-incoming-backward { position: absolute; z-index: 2; inset: 0; transform: translateX(-100%); transition: none !important; }
.hero-slide-stage.is-pushing .slide-outgoing { transform: translateX(-100%); }
.hero-slide-stage.is-pushing .slide-incoming { transform: translateX(0); }
.hero-slide-stage.is-pushing-backward .slide-outgoing { transform: translateX(100%); }
.hero-slide-stage.is-pushing-backward .slide-incoming-backward { transform: translateX(0); }
.hero-copy[data-slider-effect="empurrar"] .hero-slide-content { transition: transform var(--slider-effect-duration, 650ms) cubic-bezier(.25,.72,.25,1); }
.hero-copy[data-slider-effect="empurrar"] .hero-slide-stage.is-pushing .slide-incoming { transition: transform var(--slider-effect-duration, 650ms) cubic-bezier(.25,.72,.25,1) !important; }
.hero-copy[data-slider-effect="empurrar"] .hero-slide-stage.is-pushing-backward .slide-incoming-backward { transition: transform var(--slider-effect-duration, 650ms) cubic-bezier(.25,.72,.25,1) !important; }
.hero-copy[data-slider-effect="fade"] .hero-slide-content { transition: opacity var(--slider-half-duration, 300ms) ease; }
.hero-copy[data-slider-effect="fade"] .hero-slide-stage.is-single-leaving .hero-slide-content,
.hero-copy[data-slider-effect="fade"] .hero-slide-content.is-single-entering { opacity: 0; }
.hero-copy[data-slider-effect="morph"] .hero-slide-content { transform-origin: left center; transition: opacity var(--slider-half-duration, 300ms) ease, transform var(--slider-half-duration, 300ms) ease, filter var(--slider-half-duration, 300ms) ease; }
.hero-copy[data-slider-effect="morph"] .hero-slide-stage.is-single-leaving .hero-slide-content,
.hero-copy[data-slider-effect="morph"] .hero-slide-content.is-single-entering { opacity: 0; filter: blur(9px); transform: scale(.97); }
.hero-slide-content.is-single-entering { transition: none !important; }

@media (min-width: 761px) {
  .hero-slide-content {
    justify-content: flex-start;
    padding-top: 24px;
  }
  .hero-slide-content h1 {
    margin: 12px 0 0;
  }
  .hero-copy .hero-slide-content > p {
    min-height: 13em;
    max-height: 13em;
    margin-bottom: 0;
  }
}
.hero-news-controls { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.hero-news-controls > button { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: rgba(0,64,113,.76); color: white; font-size: 1.1rem; font-weight: 900; cursor: pointer; transition: transform .2s, background .2s; }
.hero-news-controls > button:hover, .hero-news-controls > button:focus-visible { background: #0091bf; transform: translateY(-2px); }
.hero-news-dots { display: flex; align-items: center; gap: 8px; }
.hero-news-dots button { width: 12px; height: 12px; padding: 0; border: 2px solid rgba(255,255,255,.78); border-radius: 50%; background: transparent; cursor: pointer; }
.hero-news-dots button[aria-current="true"] { border-color: var(--gold); background: var(--gold); }
.hero-event-meta { max-width: 680px; min-height: 36px; margin: -12px 0 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px 16px; color: #e7f3f5; font-size: .88rem; }
.hero-event-meta[hidden] { display: flex; visibility: hidden; pointer-events: none; }
.hero-event-meta strong { padding: 7px 11px; border-radius: 999px; background: var(--gold); color: #102748; font-size: .68rem; letter-spacing: .08em; }
.hero-event-meta span { display: inline-flex; align-items: center; gap: 6px; }
.hero-event-meta span::before { color: #83d5ed; font-weight: 900; }
#heroEventDate, #heroEventLocation { flex-direction: column; align-items: flex-start; gap: 3px; }
#heroEventDate::before { content: "CALENDÁRIO"; display: block; font-size: .58rem; line-height: 1; letter-spacing: .08em; }
#heroEventDate.countdown::before { content: "TEMPO RESTANTE"; color: #ffd24a; }
#heroEventLocation::before { content: "LOCAL"; font-size: .58rem; letter-spacing: .08em; }
.hero-event-meta[data-state="acontecendo"] strong { background: #72dfc9; }
.hero-event-meta[data-state="galeria"] strong { background: #83d5ed; }
.login-card { background: var(--paper); color: var(--ink); border-radius: 18px; padding: clamp(25px, 3vw, 38px); box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.login-heading { display: flex; gap: 14px; align-items: center; }
.round-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: #e3f4ef; color: var(--navy); font-weight: 900; font-size: 1.3rem; }
.login-heading small { color: #38867d; font-weight: 900; letter-spacing: .11em; font-size: .64rem; }
.login-heading h2 { margin: 2px 0 0; color: var(--navy); font: 700 1.7rem/1 Georgia, serif; }
.login-card > p { color: var(--muted); font-size: .9rem; margin: 20px 0; }
.login-card label { display: block; color: #33464d; font-size: .78rem; font-weight: 800; margin: 12px 0 6px; }
.login-card input { width: 100%; min-height: 49px; padding: 12px 14px; border: 1px solid #cbd5d2; border-radius: 9px; background: white; color: var(--ink); }
.password-row { position: relative; }
.password-row input { padding-right: 78px; }
.password-row button { position: absolute; right: 7px; top: 7px; min-height: 35px; border: 0; background: transparent; color: var(--navy); font-size: .72rem; font-weight: 900; cursor: pointer; }
.hint-field { position: relative; }
.field-hint {
  position: absolute;
  z-index: 30;
  top: calc(100% + 7px);
  left: 0;
  width: min(330px, 100%);
  margin: 0;
  padding: 11px 13px;
  border: 1px solid rgba(131,213,237,.65);
  border-radius: 9px;
  background: #102748;
  color: #ffffff;
  font-size: .76rem;
  line-height: 1.45;
  box-shadow: 0 10px 24px rgba(0,0,0,.20);
  pointer-events: none;
}
.field-hint::before { content: ""; position: absolute; left: 18px; top: -6px; width: 10px; height: 10px; border-left: 1px solid rgba(131,213,237,.65); border-top: 1px solid rgba(131,213,237,.65); background: #102748; transform: rotate(45deg); }
.field-hint strong { display: block; margin-bottom: 3px; color: #ffc107; font-size: .78rem; }
.field-hint[hidden] { display: none; }
.floating-hint { position: fixed; z-index: 150; width: max-content; max-width: min(340px, calc(100vw - 24px)); padding: 10px 13px; border: 1px solid rgba(131,213,237,.7); border-radius: 9px; background: #102748; color: #fff; font-size: .76rem; line-height: 1.45; box-shadow: 0 20px 48px rgba(0,0,0,.42), 0 0 0 4px rgba(0,51,90,.12); pointer-events: none; transform: translate(-50%, calc(-100% - 20px)); animation: hint-in .12s ease-out; }
.floating-hint::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 10px; height: 10px; border-right: 1px solid rgba(131,213,237,.7); border-bottom: 1px solid rgba(131,213,237,.7); background: #102748; transform: translateX(-50%) rotate(45deg); }
.floating-hint.below { transform: translate(-50%, 20px); animation: none; }
.floating-hint.below::after { top: -6px; bottom: auto; border: 0; border-left: 1px solid rgba(131,213,237,.7); border-top: 1px solid rgba(131,213,237,.7); }
.floating-hint strong, .floating-hint span { display: block; }
.floating-hint strong { margin-bottom: 3px; color: #ffc107; font-size: .78rem; }
.floating-hint[hidden] { display: none; }
@keyframes hint-in { from { opacity: 0; transform: translate(-50%, calc(-100% - 12px)); } to { opacity: 1; transform: translate(-50%, calc(-100% - 20px)); } }
body.high-contrast .field-hint { border-color: #000; background: #fff; color: #000; box-shadow: 0 0 0 3px #ffd23f; }
body.high-contrast .field-hint::before { border-color: #000; background: #fff; }
body.high-contrast .field-hint strong { color: #000; }
body.high-contrast .floating-hint { border-color: #000; background: #fff; color: #000; box-shadow: 0 0 0 3px #ffd23f; }
body.high-contrast .floating-hint::after { border-color: #000; background: #fff; }
body.high-contrast .floating-hint strong { color: #000; }
.login-submit, .biometric { width: 100%; min-height: 49px; border-radius: 9px; cursor: pointer; font-weight: 900; margin-top: 16px; }
.login-submit { border: 0; background: var(--navy); color: white; }
.biometric { border: 1px solid #bdccc8; background: white; color: var(--navy); margin-top: 9px; }
.biometric span { color: var(--aqua); font-size: 1.2rem; }
.login-links { display: flex; justify-content: space-between; gap: 15px; margin-top: 17px; font-size: .74rem; font-weight: 800; color: #3c6f6b; }
.quick-access { position: relative; z-index: 3; background: var(--paper); border-bottom: 1px solid var(--line); }
.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.quick-grid > a { min-height: 112px; display: flex; align-items: center; gap: 13px; padding: 22px 24px; text-decoration: none; border-right: 1px solid var(--line); }
.quick-grid > a:first-child { border-left: 1px solid var(--line); }
.quick-grid > a:hover { background: #f0f6f3; }
.quick-icon { width: 37px; height: 37px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: #e2f3f9; color: #0091bf; font-weight: 900; font-size: .75rem; }
.quick-grid a > .quick-copy { display: flex; flex-direction: column; }
.quick-grid strong { color: var(--navy); }
.quick-grid small { color: var(--muted); font-size: .72rem; margin-top: 2px; }
.quick-grid a > b { margin-left: auto; color: var(--gold); }
.section { padding-block: 88px; }
.section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 50px; align-items: end; margin-bottom: 42px; }
.section-heading.compact { align-items: center; }
.section-heading h2, .event-copy h2, .institutional h2 { margin: 14px 0 0; color: var(--navy); font: 600 clamp(2.1rem, 3.8vw, 3.65rem)/1.05 Georgia, serif; letter-spacing: -.035em; }
.section-heading p { color: var(--muted); margin: 0; font-size: 1rem; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.service-grid article { min-height: 290px; padding: 29px 25px; background: var(--paper); border: 1px solid var(--line); border-radius: 15px; transition: transform .2s, box-shadow .2s; }
.service-grid article:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(15,50,59,.09); }
.service-grid article > span { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 12px; background: #e4f3ef; color: var(--navy); font: 800 1rem Georgia, serif; }
.service-grid h3 { color: var(--navy); margin: 25px 0 10px; font-size: 1.17rem; }
.service-grid p { color: var(--muted); font-size: .88rem; }
.service-grid a, .news-content a, .publication-grid a { display: inline-block; margin-top: 12px; color: #247c74; font-size: .8rem; font-weight: 900; text-decoration: none; }
.event-feature { background: #e8efeb; }
.event-grid { display: grid; grid-template-columns: .92fr 1.08fr; min-height: 510px; border-radius: 22px; overflow: hidden; box-shadow: 0 26px 60px rgba(18,50,58,.12); }
.event-visual { position: relative; min-height: 500px; padding: 35px; color: white; display: flex; flex-direction: column; justify-content: space-between; background: radial-gradient(circle at 25% 20%, rgba(255,193,7,.50), transparent 24%), radial-gradient(circle at 75% 70%, rgba(0,145,191,.48), transparent 28%), linear-gradient(135deg, #102748, #004071); overflow: hidden; }
.event-visual::before, .event-visual::after { content: ""; position: absolute; width: 240px; height: 240px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.event-visual::before { left: -95px; bottom: 45px; }.event-visual::after { right: -70px; top: 70px; }
.event-label { position: relative; z-index: 2; font-size: .68rem; font-weight: 900; letter-spacing: .13em; color: #f4dca7; }
.event-monogram { position: relative; z-index: 2; align-self: center; font: 700 7rem/1 Georgia, serif; color: rgba(255,255,255,.92); letter-spacing: -.09em; }
.event-visual p { position: relative; z-index: 2; max-width: 350px; margin: 0; color: #d8e9e9; font: 500 1.6rem/1.2 Georgia, serif; }
.event-copy { padding: clamp(38px, 6vw, 78px); background: var(--paper); display: flex; flex-direction: column; justify-content: center; }
.event-lead { color: var(--muted); font-size: 1.04rem; max-width: 560px; }
.event-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 25px 0 32px; padding: 20px 0; border-block: 1px solid var(--line); }
.event-details div { display: flex; flex-direction: column; }.event-details dt { color: #48817c; font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }.event-details dd { margin: 5px 0 0; font-size: .86rem; font-weight: 800; }
.dark-button { background: var(--navy); color: white; }
.event-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }.event-actions span { color: var(--muted); font-size: .76rem; }
.news { background: var(--paper); }
.all-link { color: #247c74; font-weight: 900; text-decoration: none; justify-self: end; }
.news-grid { display: grid; grid-template-columns: 1.45fr .77fr .77fr; gap: 20px; }
.news-grid article { border: 1px solid var(--line); border-radius: 15px; overflow: hidden; background: white; }
.news-art { min-height: 190px; padding: 25px; display: flex; flex-direction: column; justify-content: flex-end; color: white; }
.featured-news { display: grid; grid-template-columns: .82fr 1.18fr; }.featured-news .news-art { min-height: 355px; }
.art-one { background: linear-gradient(150deg, rgba(0,51,90,.1), rgba(16,39,72,.92)), radial-gradient(circle at 30% 25%, #0091bf, transparent 22%), linear-gradient(135deg, #ffc107, #00335a); }
.art-one span, .news-art span { color: #f6d88f; font-size: .65rem; letter-spacing: .13em; font-weight: 900; }.art-one b { margin-top: 10px; font: 600 1.6rem/1.12 Georgia, serif; }
.art-two { background: linear-gradient(155deg, transparent, rgba(16,39,72,.88)), radial-gradient(circle at 25% 25%, #ffc107, transparent 20%), #004071; }
.art-three { background: linear-gradient(155deg, transparent, rgba(16,39,72,.88)), radial-gradient(circle at 70% 30%, #0091bf, transparent 21%), #00335a; }
.news-content { padding: 27px; }.news-content small, .publication-grid small { color: #f6d88f; font-size: .66rem; letter-spacing: .08em; font-weight: 900; }.news-content h3 { color: var(--navy); margin: 13px 0; font: 600 1.38rem/1.16 Georgia, serif; }.news-card .news-content h3 { font-size: 1.07rem; }.news-content p { color: var(--muted); font-size: .85rem; }
.institutional { background: var(--navy); color: white; position: relative; overflow: hidden; }
.institutional::after { display: none; }
.institutional-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr .85fr; gap: 90px; align-items: center; }.institutional h2 { color: white; }.institutional-grid p { color: #d4e1e1; font-size: 1.05rem; }
.stats { display: flex; gap: 38px; margin: 33px 0; }.stats span { display: flex; flex-direction: column; }.stats b { color: #e0c484; font: 600 2.1rem/1 Georgia, serif; }.stats small { color: #b9cdcf; font-size: .7rem; margin-top: 7px; }
.outline-action { display: inline-flex; min-height: 48px; align-items: center; border: 1px solid #8fb0b1; border-radius: 9px; padding: 10px 18px; color: white; font-weight: 800; text-decoration: none; }
.publications { background: var(--cream); }.publication-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }.publication-grid article { display: grid; grid-template-columns: 155px 1fr; gap: 27px; align-items: center; padding: 21px; background: var(--paper); border: 1px solid var(--line); border-radius: 15px; }.cover { aspect-ratio: 3/4; padding: 14px; color: #102748; background: linear-gradient(155deg, #ffc107, #0091bf); display: flex; flex-direction: column; justify-content: space-between; }.cover.alt { color: white; background: linear-gradient(155deg, #0091bf, #00335a); }.cover span, .cover small { font-size: .53rem; font-weight: 900; letter-spacing: .1em; }.cover b { font: 600 2.1rem/1 Georgia, serif; }.publication-grid h3 { color: var(--navy); font: 600 1.28rem/1.16 Georgia, serif; }
footer { padding-top: 65px; background: #052d3b; color: #d4e2e2; }.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr .8fr; gap: 45px; }.footer-brand .brand-copy strong { color: white; }.footer-grid h2 { color: #e0c484; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; }.footer-grid p { font-size: .82rem; line-height: 1.8; }.footer-grid a { color: #d4e2e2; text-decoration: none; }.footer-bottom { min-height: 70px; margin-top: 45px; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: .68rem; color: #9db3b5; }
.demo-toast { position: fixed; z-index: 60; left: 50%; bottom: 25px; width: min(560px, calc(100% - 30px)); transform: translate(-50%, 140px); padding: 16px 20px; border-radius: 11px; background: #132f3b; color: white; text-align: center; font-size: .83rem; box-shadow: 0 15px 50px rgba(0,0,0,.28); transition: transform .28s; }.demo-toast.show { transform: translate(-50%, 0); }
body.high-contrast { --navy: #001b29; --navy-2: #000; --aqua: #00e8cc; --gold: #ffd23f; --cream: #fff; --paper: #fff; --ink: #000; --muted: #262626; --line: #575757; }
@media (max-width: 1040px) {
  .main-nav { display: none; position: absolute; top: 125px; left: 20px; right: 20px; padding: 15px; background: white; border-radius: 12px; box-shadow: 0 15px 40px rgba(0,0,0,.2); flex-direction: column; align-items: stretch; }.main-nav.open { display: flex; }.main-nav a { padding: 11px; }.menu-button { display: inline-flex; margin-left: auto; min-height: 44px; align-items: center; border: 1px solid #b9c7c3; border-radius: 8px; background: white; color: var(--navy); padding: 9px 14px; font-weight: 800; }.hero-grid { grid-template-columns: 1fr 380px; gap: 40px; }.service-grid { grid-template-columns: repeat(2,1fr); }.news-grid { grid-template-columns: 1fr 1fr; }.featured-news { grid-column: 1/-1; }.quick-grid { grid-template-columns: repeat(2,1fr); }.quick-grid > a:nth-child(odd) { border-left: 1px solid var(--line); }.footer-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .wrap { width: min(100% - 28px, 1180px); }
  .prototype-bar span:last-child, .utility p { display: none; }
  .utility { justify-content: flex-end; min-height: 38px; }
  .nav-wrap { min-height: 64px; gap: 8px; flex-wrap: wrap; }
  .brand-mark { width: 42px; height: 42px; }
  .brand-logo { width: 155px; }
  .footer-brand .brand-logo { width: 185px; }
  .brand-copy strong { font-size: 1.3rem; }
  .brand-copy small { display: none; }
  .nav-wrap .menu-button {
    width: auto;
    min-height: 42px;
    padding: 0 12px;
    justify-content: center;
    gap: 8px;
    border-color: rgba(255,255,255,.28);
    background: #004071;
    color: #fff;
  }
  .menu-label { display: none !important; }
  .member-button {
    order: 4;
    flex: 0 0 auto;
    width: auto;
    margin-left: auto;
    min-height: 40px;
    margin-top: 0;
    padding: 8px 10px;
    border-radius: 12px;
    font-size: .74rem;
    gap: 6px;
    justify-content: center;
    white-space: nowrap;
    align-self: center;
  }
  .member-button span { font-size: .72rem; }
  .member-button > span[aria-hidden="true"] { display: none; }
  .hero-grid { grid-template-columns: 1fr; padding-block: 18px 24px; }
  .hero h1 { font-size: clamp(2.55rem, 12vw, 4rem); }
  .login-card { margin-top: 10px; }
  .quick-grid { grid-template-columns: 1fr; }
  .quick-grid > a { min-height: 86px; border-left: 1px solid var(--line); }
  .section { padding-block: 65px; }
  .section-heading { grid-template-columns: 1fr; gap: 17px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-grid article { min-height: auto; }
  .event-grid { grid-template-columns: 1fr; }
  .event-visual { min-height: 380px; }
  .event-details { grid-template-columns: 1fr; }
  .news-grid { grid-template-columns: 1fr; }
  .featured-news { display: block; }
  .featured-news .news-art { min-height: 280px; }
  .institutional-grid { grid-template-columns: 1fr; gap: 32px; }
  .stats { gap: 24px; flex-wrap: wrap; }
  .publication-grid { grid-template-columns: 1fr; }
  .publication-grid article { grid-template-columns: 110px 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; }
  .all-link { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Direção visual azul — versão para apresentação */
body:not(.high-contrast) {
  --cream: #00335a;
  --paper: #004071;
  --ink: #f7fbfd;
  --muted: #c3d6e3;
  --line: rgba(210, 231, 242, .20);
  background-color: #00335a;
  background-image:
    linear-gradient(90deg, rgba(0, 39, 72, .78), rgba(0, 51, 90, .56)),
    url("bg-top-amatra2.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
body:not(.high-contrast) .site-header { background: linear-gradient(110deg, #002f51 0%, #004f7d 58%, #007a9e 100%), url("bg-top-amatra2.jpg") center/cover no-repeat; box-shadow: 0 1px 0 rgba(255,255,255,.14), 0 10px 30px rgba(0,25,48,.16); }
body:not(.high-contrast) .utility { color: #c3d6e3; border-color: rgba(255,255,255,.12); }
body:not(.high-contrast) .accessibility button { border-color: rgba(255,255,255,.30); background: #004071; color: #ffffff; }
body:not(.high-contrast) .brand-copy strong { color: #ffffff; }
body:not(.high-contrast) .brand-copy small { color: #c3d6e3; }
body:not(.high-contrast) .main-nav a { color: #e2eff6; }
body:not(.high-contrast) .member-button { background: #004f7d; color: #fff; border: 1px solid rgba(255,255,255,.24); }
body:not(.high-contrast) .menu-button { border-color: rgba(255,255,255,.30); background: #004071; color: white; }
body:not(.high-contrast) .login-card { background: linear-gradient(145deg, #005782, #00335a); color: white; border: 1px solid rgba(255,255,255,.16); }
body:not(.high-contrast) .login-heading h2 { color: white; }
body:not(.high-contrast) .login-heading small { color: #79d2ec; }
body:not(.high-contrast) .round-icon { background: rgba(0,145,191,.18); color: #8edcf1; }
body:not(.high-contrast) .login-card > p,
body:not(.high-contrast) .login-card label { color: #d5e3e4; }
body:not(.high-contrast) .login-card input { border-color: #afc6c5; background: #e7f0ee; color: #112b33; }
body:not(.high-contrast) .password-row button { color: #073b4c; }
body:not(.high-contrast) .login-submit { background: #004f7d; color: #fff; }
body:not(.high-contrast) .biometric { border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.07); color: white; }
body:not(.high-contrast) .login-links { color: #9fddf0; }
body:not(.high-contrast) main { background: transparent; }
body:not(.high-contrast) .quick-access { background: transparent; border-color: rgba(255,255,255,.14); }
body:not(.high-contrast) .quick-grid > a { border-color: rgba(255,255,255,.12); }
body:not(.high-contrast) .quick-grid > a:hover { background: #004f7d; }
body:not(.high-contrast) .quick-grid strong { color: white; }
body:not(.high-contrast) .quick-grid small { color: #c3d6e3; }
body:not(.high-contrast) .quick-icon { background: rgba(0,145,191,.18); color: #8edcf1; }
body:not(.high-contrast) .services { background: transparent; }
body:not(.high-contrast) .section-heading h2,
body:not(.high-contrast) .event-copy h2,
body:not(.high-contrast) .institutional h2 { color: white; }
body:not(.high-contrast) .service-grid article { background: linear-gradient(145deg, #00527f, #004071); border-color: rgba(255,255,255,.16); }
body:not(.high-contrast) .service-grid article > span { background: rgba(0,145,191,.20); color: #9cdef0; }
body:not(.high-contrast) .service-grid h3,
body:not(.high-contrast) .news-content h3,
body:not(.high-contrast) .publication-grid h3 { color: white; }
body:not(.high-contrast) .service-grid p,
body:not(.high-contrast) .news-content p { color: #c1d2d4; }
body:not(.high-contrast) .service-grid a,
body:not(.high-contrast) .news-content a,
body:not(.high-contrast) .publication-grid a,
body:not(.high-contrast) .all-link { color: #83d5ed; }
body:not(.high-contrast) .event-feature { background: #00335a; }
body:not(.high-contrast) .event-grid { box-shadow: 0 26px 70px rgba(0,0,0,.28); }
body:not(.high-contrast) .event-copy { background: linear-gradient(145deg, #004c78, #00335a); }
body:not(.high-contrast) .event-lead,
body:not(.high-contrast) .event-actions span { color: #c1d2d4; }
body:not(.high-contrast) .event-details { border-color: rgba(255,255,255,.17); }
body:not(.high-contrast) .event-details dt { color: #83d5ed; }
body:not(.high-contrast) .dark-button { background: #004f7d; color: #fff; }
body:not(.high-contrast) .news { background: #00335a; }
body:not(.high-contrast) .news-grid article { background: #004071; border-color: rgba(255,255,255,.16); }
body:not(.high-contrast) .news-content small,
body:not(.high-contrast) .publication-grid small { color: #83d5ed; }
body:not(.high-contrast) .institutional { background: #00335a; }
body:not(.high-contrast) .publications { background: #00335a; }
body:not(.high-contrast) .director-wall { background: transparent; }
body:not(.high-contrast) .publication-grid article { background: #004071; border-color: rgba(255,255,255,.16); }
body:not(.high-contrast) footer { background: #052d3b; }

/* Mantém a imagem fixa do site visível entre os blocos institucionais. */
body:not(.high-contrast) .event-feature,
body:not(.high-contrast) .event-copy,
body:not(.high-contrast) .institutional,
body:not(.high-contrast) .news,
body:not(.high-contrast) .publications { background: transparent !important; }
body:not(.high-contrast) .event-grid { box-shadow: none; }

@media (max-width: 1040px) {
  body:not(.high-contrast) .main-nav { background: #00335a; border: 1px solid rgba(255,255,255,.14); }
}

/* Menu lateral dinâmico */
.nav-wrap .menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 9px;
  background: #0c4d5b;
  color: white;
  font-weight: 800;
  cursor: pointer;
}
.menu-icon { font-size: 1.25rem; line-height: 1; }
.nav-wrap .brand { margin-right: auto; }
.main-nav,
body:not(.high-contrast) .main-nav {
  position: fixed;
  z-index: 55;
  inset: 0 auto 0 0;
  width: min(360px, 88vw);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 3px;
  margin: 0;
  padding: 28px 22px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(165deg, #004071, #102748 72%);
  box-shadow: 24px 0 70px rgba(0,0,0,.34);
  transform: translateX(-105%);
  visibility: hidden;
  transition: transform .28s ease, visibility .28s;
  overflow-y: auto;
}
.main-nav.open,
body:not(.high-contrast) .main-nav.open {
  display: flex;
  transform: translateX(0);
  visibility: visible;
}
.drawer-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 23px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.drawer-heading div { display: flex; flex-direction: column; }
.drawer-heading small { color: #e0c484; font-size: .66rem; font-weight: 900; letter-spacing: .13em; }
.drawer-heading strong { margin-top: 5px; color: white; font: 600 1.28rem/1.1 Georgia, serif; }
.menu-close {
  width: 43px;
  height: 43px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  color: white;
  font-size: 1.65rem;
  line-height: 1;
  cursor: pointer;
}
.main-nav a,
body:not(.high-contrast) .main-nav a {
  position: relative;
  padding: 15px 42px 15px 15px;
  border-radius: 9px;
  color: #e7f0f0;
  font-size: 1rem;
  font-weight: 750;
}
.main-nav a::after { content: "→"; position: absolute; right: 16px; color: #e0c484; }
.main-nav a:hover { background: rgba(255,255,255,.09); color: white; }
.drawer-actions {
  display: grid;
  gap: 9px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.main-nav .drawer-actions a { border: 1px solid rgba(255,255,255,.25); }
.main-nav .drawer-actions .drawer-event { border-color: #e0c484; background: #e0c484; color: #102d36; }
.main-nav .drawer-actions .drawer-event::after { color: #102d36; }
.main-nav .drawer-actions .drawer-event:hover { background: #efd699; color: #102d36; }
.menu-backdrop {
  position: fixed;
  z-index: 54;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(1,20,27,.68);
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  transition: opacity .25s ease, visibility .25s;
}
body.menu-open { overflow: hidden; }
body.menu-open .menu-backdrop { opacity: 1; visibility: visible; }

@media (max-width: 760px) {
  .nav-wrap { gap: 7px; }
  .nav-wrap .brand-logo { width: 105px; }
  .nav-wrap .accessibility { display: none; }
  .header-social { width: 91px; height: 42px; flex-basis: 91px; margin-right: 1px; }
  .header-social img { width: 91px; height: 42px; }
  .nav-wrap .member-button {
    margin-left: auto;
    width: auto;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 11px;
    font-size: .82rem;
    text-align: center;
  }
  .nav-wrap .member-button span { font-size: .82rem; }
  .main-nav, body:not(.high-contrast) .main-nav { top: 0; left: 0; right: auto; padding: 23px 18px; }
}
@media (max-width: 420px) {
  .header-social { display: none; }
}

@media (max-width: 340px) {
  .nav-wrap .brand-logo { width: 72px; }
}

/* Acesso do associado sob demanda: o formulário abre como janela modal. */
.hero-grid { grid-template-columns: 1fr; }
.login-backdrop { position: fixed; z-index: 90; inset: 0; border: 0; background: rgba(1,18,31,.72); backdrop-filter: blur(5px); cursor: pointer; }
.login-backdrop[hidden], .login-card[hidden] { display: none; }
.login-card { position: fixed; z-index: 91; left: 50%; top: 50%; width: min(480px, calc(100% - 30px)); max-height: calc(100vh - 30px); margin: 0; overflow: auto; transform: translate(-50%,-50%); box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.login-close { position: absolute; top: 13px; right: 13px; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(0,0,0,.12); color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; }
body.login-open { overflow: hidden; }

@media (max-width: 1040px) {
  .hero-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .prototype-bar span:last-child { display: inline; }
}

/* Profundidade visual dos painéis */
body:not(.high-contrast) .login-card,
body:not(.high-contrast) .service-grid article,
body:not(.high-contrast) .news-grid article,
body:not(.high-contrast) .publication-grid article,
body:not(.high-contrast) .event-grid {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 7px 0 rgba(1,24,33,.30),
    0 20px 42px rgba(0,0,0,.24);
  transition: transform .22s ease, box-shadow .22s ease;
}

@media (hover: hover) {
  body:not(.high-contrast) .service-grid article:hover,
  body:not(.high-contrast) .news-grid article:hover,
  body:not(.high-contrast) .publication-grid article:hover {
    transform: translateY(-6px);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.14),
      0 11px 0 rgba(1,24,33,.26),
      0 28px 52px rgba(0,0,0,.30);
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-grid article,
  .news-grid article,
  .publication-grid article,
  .event-grid { transition: none !important; transform: none !important; }
}

.demo-toast { z-index: 110; }
.scroll-top { position: fixed; z-index: 100; right: 24px; bottom: 24px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; background: #00335a; color: #fff; font-size: 1.5rem; font-weight: 900; box-shadow: 0 10px 28px rgba(0,35,65,.3); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .2s, visibility .2s, transform .2s, background .2s; }
.scroll-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.scroll-top:hover, .scroll-top:focus-visible { background: #006c8f; }

/* Quando o slide possui imagem, reserva uma coluna fixa à direita para nunca cobrir o texto. */
.hero-slide-content:has(.hero-slide-media:not([hidden])){display:flex!important;position:relative;flex-direction:column;align-items:stretch;justify-content:center;padding-right:calc(34% + 28px)!important}
.hero-slide-content:has(.hero-slide-media:not([hidden])) .hero-slide-media{position:absolute;right:0;top:50%;transform:translateY(-50%);width:min(34%,260px);height:clamp(190px,24vw,315px);margin:0}
.hero-slide-content:has(.hero-slide-media:not([hidden])) h1,.hero-slide-content:has(.hero-slide-media:not([hidden]))>p{max-width:100%;width:100%}
@media(max-width:600px){.hero-slide-content:has(.hero-slide-media:not([hidden])){padding-right:0!important}.hero-slide-content:has(.hero-slide-media:not([hidden])) .hero-slide-media{position:static;transform:none;width:100%;height:180px;margin:0 0 16px}}

@media (max-width: 760px) {
  .hero-slide-content {
    justify-content: flex-start;
    padding-top: 18px;
    padding-bottom: 14px;
  }
  .hero .hero-slide-content .eyebrow {
    font-size: .72rem;
    gap: 8px;
  }
  .hero .hero-slide-content h1 {
    min-height: 0;
    margin: 14px 0 12px;
    font-size: clamp(1.75rem, 7.2vw, 2.35rem);
    line-height: 1.04;
    letter-spacing: -.03em;
    overflow-wrap: anywhere;
  }
  .hero .hero-slide-content > p {
    min-height: 0;
    margin-bottom: 14px;
    font-size: .95rem;
    line-height: 1.45;
  }
  .hero-copy .hero-slide-content > p {
    min-height: 0;
    max-height: 7.4em;
    margin-bottom: 14px;
  }
  .hero-event-meta { min-height: 0; margin: 0 0 14px; gap: 7px 10px; font-size: .8rem; }
  .hero-event-meta strong { padding: 6px 9px; font-size: .63rem; }
  .hero-actions { gap: 10px; margin-top: 2px; }
  .primary-action { min-height: 42px; padding: 10px 14px; font-size: .88rem; }
  .text-action { font-size: .88rem; }
}

/* Área fixa do slider: impede deslocamentos da página durante as trocas. */
.hero-copy {
  height: 44rem;
  width: min(1080px, 100%);
  align-self: center;
}
.hero-slide-stage { height: 37.5rem; }

@media (max-width: 980px) {
  .hero-copy { height: 47rem; }
  .hero-slide-stage { height: 40rem; }
}

@media (max-width: 760px) {
  .hero-copy { height: 52rem; }
  .hero-slide-stage { height: 45rem; }
  .scroll-top { right: 14px; bottom: 14px; width: 44px; height: 44px; }
}

/* Imagem institucional publicada no site oficial da AMATRA-2 */
body:not(.high-contrast) .hero {
  background: transparent;
}
body:not(.high-contrast) .hero::after { opacity: .025; }

@media (max-width: 760px) {
  body:not(.high-contrast) { background-position: 62% center; }
}

/* Contraste padronizado sobre o amarelo-ouro institucional */
body:not(.high-contrast) .prototype-bar,
body:not(.high-contrast) .prototype-bar *,
body:not(.high-contrast) .primary-action,
body:not(.high-contrast) .primary-action *,
body:not(.high-contrast) .member-button,
body:not(.high-contrast) .member-button *,
body:not(.high-contrast) .login-submit,
body:not(.high-contrast) .login-submit *,
body:not(.high-contrast) .dark-button,
body:not(.high-contrast) .dark-button *,
body:not(.high-contrast) .main-nav .drawer-actions .drawer-event,
body:not(.high-contrast) .main-nav .drawer-actions .drawer-event *,
body:not(.high-contrast) .cover:not(.alt),
body:not(.high-contrast) .cover:not(.alt) * {
  color: #102748 !important;
}

/* Garante a cor institucional no texto do acesso do associado em todos os navegadores. */
body:not(.high-contrast) .nav-wrap > .member-button,
body:not(.high-contrast) .nav-wrap > .member-button:link,
body:not(.high-contrast) .nav-wrap > .member-button:visited,
body:not(.high-contrast) .nav-wrap > .member-button:hover,
body:not(.high-contrast) .nav-wrap > .member-button:focus,
body:not(.high-contrast) .nav-wrap > .member-button:active,
body:not(.high-contrast) .nav-wrap > .member-button * {
  color: #102748 !important;
  -webkit-text-fill-color: #102748;
}

body:not(.high-contrast) .primary-action:hover,
body:not(.high-contrast) .main-nav .drawer-actions .drawer-event:hover {
  background: #ffd24a;
  color: #102748 !important;
}

/* Texto azul-escuro em todos os controles amarelos, inclusive no alto contraste. */
.prototype-bar,
.prototype-bar *,
.member-button,
.member-button:link,
.member-button:visited,
.member-button:hover,
.member-button:focus,
.member-button:active,
.member-button *,
.primary-action,
.primary-action:link,
.primary-action:visited,
.primary-action:hover,
.primary-action:focus,
.primary-action:active,
.primary-action *,
.login-submit,
.login-submit:hover,
.login-submit:focus,
.login-submit:active,
.login-submit *,
.dark-button,
.dark-button *,
.main-nav .drawer-actions .drawer-event,
.main-nav .drawer-actions .drawer-event:link,
.main-nav .drawer-actions .drawer-event:visited,
.main-nav .drawer-actions .drawer-event:hover,
.main-nav .drawer-actions .drawer-event:focus,
.main-nav .drawer-actions .drawer-event:active,
.main-nav .drawer-actions .drawer-event * {
  color: #102748 !important;
  -webkit-text-fill-color: #102748 !important;
}

/* Cor definitiva para todos os botões com fundo amarelo-ouro. */
html body .gold-button,
html body .gold-button:link,
html body .gold-button:visited,
html body .gold-button:hover,
html body .gold-button:focus,
html body .gold-button:active,
html body .gold-button * {
  color: #102748 !important;
  -webkit-text-fill-color: #102748 !important;
}

/* Botoes principais em azul-escuro, com texto branco e contraste acessivel. */
html body:not(.high-contrast) .gold-button,
html body:not(.high-contrast) .gold-button:link,
html body:not(.high-contrast) .gold-button:visited,
html body:not(.high-contrast) .gold-button:hover,
html body:not(.high-contrast) .gold-button:focus,
html body:not(.high-contrast) .gold-button:active,
html body:not(.high-contrast) .gold-button *,
html body:not(.high-contrast) .main-nav .drawer-actions .drawer-event,
html body:not(.high-contrast) .main-nav .drawer-actions .drawer-event * {
  background-color: #004f7d !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body:not(.high-contrast) .gold-button:hover,
html body:not(.high-contrast) .main-nav .drawer-actions .drawer-event:hover { background-color: #006c8f !important; }
html body:not(.high-contrast) .main-nav .drawer-actions .drawer-event::after { color: #ffffff !important; }

@media (prefers-reduced-motion: reduce) {
  .hero-copy .eyebrow,
  .hero-copy #hero-title,
  .hero-copy #heroSummary,
  .hero-copy .hero-event-meta,
  .hero-copy .hero-actions { transition: none; }
}

/* Alto contraste: identidade monocromatica com elementos sempre distinguiveis. */
body.high-contrast .site-header { background: linear-gradient(110deg, #fff 0%, #ececec 100%); border-bottom: 2px solid #000; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
body.high-contrast .brand-logo { filter: brightness(0); }
body.high-contrast .header-social { background: transparent; }
body.high-contrast .header-social .social-hotspot { color: #000 !important; -webkit-text-fill-color: #000 !important; forced-color-adjust: none; }
body.high-contrast .header-social .social-hotspot:hover,
body.high-contrast .header-social .social-hotspot:focus-visible { background: #000; color: #fff; }

/* Prioridade de espaço: manter os dois acessos principais visíveis. */
@media (max-width: 1180px) {
  .nav-wrap .accessibility { display: none !important; }
}
body.high-contrast .hero { background: #fff; color: #000; }
body.high-contrast .hero h1 { color: #000; text-shadow: none; }
body.high-contrast .hero-copy .hero-slide-content > p,
body.high-contrast .trust-row,
body.high-contrast .text-action,
body.high-contrast .eyebrow { color: #000; }
body.high-contrast .hero-news-controls > button { border-color: #000; background: #fff; color: #000; }
body.high-contrast .hero-news-dots button { border-color: #000; }
body.high-contrast .hero-news-dots button[aria-current="true"] { background: #000; }
html body.high-contrast .gold-button,
html body.high-contrast .gold-button:link,
html body.high-contrast .gold-button:visited,
html body.high-contrast .gold-button:hover,
html body.high-contrast .gold-button:focus,
html body.high-contrast .gold-button:active,
html body.high-contrast .gold-button * { border-color: #000 !important; background: #000 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.high-contrast footer { background: #fff; color: #000; border-top: 2px solid #000; }
body.high-contrast .footer-grid h2,
body.high-contrast .footer-grid a,
body.high-contrast .footer-bottom { color: #000; }
body.high-contrast .footer-bottom { border-color: #000; }

.director-wall { background: var(--cream); }
.director-tree { display: grid; gap: 12px; }
.director-tree details { border: 1px solid rgba(131,213,237,.25); border-radius: 15px; background: rgba(0,51,90,.72); overflow: hidden; }
.director-tree summary { display: flex; align-items: center; gap: 18px; padding: 19px 22px; cursor: pointer; list-style: none; color: white; }
.director-tree summary::-webkit-details-marker { display: none; }
.director-tree summary::before { content: "＋"; color: #83d5ed; font-size: 1.2rem; }
.director-tree details[open] summary::before { content: "−"; }
.director-tree summary strong { font: 700 1.85rem Arial, Helvetica, sans-serif; letter-spacing: .01em; }
.director-tree summary span { color: #b8dce7; font-size: .82rem; }
.director-members { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 12px; padding: 0 14px 14px; }
.director-member { display: grid; grid-template-columns: 58px 1fr; gap: 13px; align-items: center; min-height: 82px; padding: 12px; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; background: rgba(1,24,45,.55); }
.director-member img, .director-avatar { width: 58px; height: 58px; border-radius: 12px; object-fit: cover; }
.director-avatar { display: grid; place-items: center; color: white; font-weight: 900; background: linear-gradient(145deg, #0a88a0, #102748); }
.director-member small { display: block; color: #83d5ed; font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.director-member strong { display: block; margin-top: 5px; color: white; font-size: .96rem; line-height: 1.2; }
.director-member span { display: block; margin-top: 4px; color: #c4dde3; font-size: .76rem; }
.director-members .director-member:not(:first-child) { display: none; }
.president-highlight { grid-template-columns: 222px 1fr !important; gap: 18px; min-height: 232px; border-color: rgba(255,209,92,.45) !important; }
.president-highlight img, .president-highlight .director-avatar { width: 216px; height: 216px; border-radius: 16px; }
.president-highlight strong { font: 600 1.25rem Georgia, serif; }
.director-detail-link { grid-column: 1/-1; color: #83d5ed; text-decoration: none; font-size: .78rem; font-weight: 900; }
.director-detail-link:hover { text-decoration: underline; }
.director-loading { color: #c4dde3; }
body.high-contrast .director-wall { background: #fff; }
body.high-contrast .director-tree details { background: #fff; border-color: #000; }
body.high-contrast .director-tree summary, body.high-contrast .director-member strong { color: #000; }
body.high-contrast .director-tree summary span, body.high-contrast .director-member span, body.high-contrast .director-loading { color: #222; }
body.high-contrast .director-member { background: #fff; border-color: #000; }

/* Mural horizontal de gestões */
.director-tree { display: flex; align-items: flex-start; gap: 18px; overflow-x: auto; padding: 8px 4px 22px; scroll-snap-type: x proximity; scroll-behavior: smooth; scrollbar-color: #0d88a0 rgba(255,255,255,.1); }
.director-tree details { flex: 0 0 min(330px, calc(100vw - 48px)); scroll-snap-align: start; }
.director-tree summary { min-height: 104px; box-sizing: border-box; transition: background-color .35s ease, padding .35s ease; }
.director-tree details { transition: transform .4s ease, box-shadow .4s ease; }
.director-tree details:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,20,40,.22); }
.director-members { grid-template-columns: 1fr; }
@media (max-width: 760px) {
  .director-tree { gap: 12px; }
  .director-tree details { flex-basis: min(290px, calc(100vw - 42px)); }
}

/* O mural acompanha o carrossel: fundo aberto, cards horizontais e leitura em camadas. */
body:not(.high-contrast) .director-wall { background: transparent; }
body:not(.high-contrast) .director-tree { padding-top: 14px; scrollbar-color: #0d88a0 rgba(255,255,255,.12); }
body:not(.high-contrast) .director-tree details { background: linear-gradient(145deg, rgba(0,63,103,.78), rgba(0,31,56,.72)); border-color: rgba(153,214,255,.22); box-shadow: 0 18px 38px rgba(0,18,35,.24); }
body:not(.high-contrast) .director-tree details:hover { box-shadow: 0 22px 45px rgba(0,18,35,.34); }
body:not(.high-contrast) .director-member { background: rgba(1,24,45,.42); }

@media (max-width: 760px) {
  .header-social { width: 99px; flex-basis: 99px; height: 38px; }
  .header-social .social-hotspot { width: 29px; height: 29px; }
}

/* O período da gestão não recebe marcador antes do ano. */
.director-tree summary::before { content: none !important; display: none !important; }

/* Mural vertical com retrato destacado na proporção oficial 3:4. */
.director-tree { display: grid; overflow-x: visible; scroll-snap-type: none; padding: 8px 4px 22px; }
.director-tree details { flex: initial; width: 100%; }
.president-highlight { grid-template-columns: 220px 1fr !important; min-height: 287px; }
.president-highlight img, .president-highlight .director-avatar { width: 200px; height: 267px; border-radius: 16px; }
@media (max-width: 760px) {
  .director-tree details { width: 100%; }
  .president-highlight { grid-template-columns: 1fr !important; }
  .president-highlight img, .president-highlight .director-avatar { width: 200px; height: 267px; }
}

/* O histórico de gestões permanece em mural horizontal. */
.director-tree { display: flex; align-items: flex-start; gap: 18px; overflow-x: auto; overflow-y: hidden; padding: 8px 4px 22px; scroll-snap-type: x proximity; scroll-behavior: smooth; }
.director-tree details { flex: 0 0 min(420px, calc(100vw - 48px)); width: auto; scroll-snap-align: start; box-shadow: 8px 10px 22px rgba(0,20,40,.28); }
@media (max-width: 760px) {
  .director-tree details { flex-basis: min(420px, calc(100vw - 42px)); }
}

/* Foto ampliada no card do presidente exibido em cada gestão. */
.director-member { grid-template-columns: 150px minmax(0,1fr); min-height: 200px; align-items: center; }
.director-member img, .director-member .director-avatar { width: 150px; height: 200px; border-radius: 14px; }

/* Título e detalhe formam um único painel visual rolável no carrossel. */
.hero-slide-text{min-width:0;scrollbar-width:thin;scrollbar-color:rgba(255,201,71,.9) rgba(255,255,255,.12)}
.hero-slide-text h1{min-height:0!important;height:auto!important;margin:0 0 18px;font-size:26px!important;line-height:1.12!important}
.hero-slide-text p{width:100%;min-height:0!important;max-height:none!important;margin:0;color:#eef6f8;font-size:1.04rem;line-height:1.55;overflow:visible}
.hero-slide-content>.eyebrow{margin-bottom:14px;transform:translateY(-6px);color:#58c7e8}
@media (min-width:601px){
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-slide-text{grid-column:1;grid-row:2 / span 2;height:clamp(300px,30vw,390px);max-height:none;overflow-y:auto;padding-right:10px}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-slide-media{grid-column:2;grid-row:2 / span 2;height:clamp(320px,32vw,410px);align-self:start}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-event-meta{grid-column:1;grid-row:4}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-actions{grid-column:1;grid-row:5}
}
@media (max-width:600px){
  .hero-slide-content>.eyebrow{margin-bottom:10px;transform:translateY(-4px);color:#58c7e8}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-slide-text{order:2;max-height:none;overflow:visible}
  .hero-slide-text p{font-size:.95rem;line-height:1.45}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-slide-media{order:6}
}

/* Separação do conteúdo do evento: descrição, informações e ações nunca se sobrepõem. */
.hero-slide-text { min-width: 0; width: 100%; }
.hero-slide-text p { display: block; width: 100%; max-height: 10.5em; overflow-y: auto; margin: 0; }
.hero-slide-content > .hero-event-meta { position: static; width: 100%; max-width: 100%; min-height: 36px; margin: 18px 0 18px; }
.hero-slide-content > .hero-actions { position: static; width: 100%; margin: 0; }
.hero-event-meta[hidden] { display: none !important; }
.hero-event-meta[hidden] { display: none !important; }
@media (min-width: 601px) {
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-slide-text { grid-column: 1; grid-row: 2 / span 2; height: clamp(260px, 25vw, 330px); overflow-y: auto; padding-right: 10px; }
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-slide-text p { max-height: none; overflow: visible; }
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-event-meta { grid-column: 1; grid-row: 4; }
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-actions { grid-column: 1; grid-row: 5; }
}
@media (max-width: 600px) {
  .hero-slide-text p { max-height: 8.5em; }
  .hero-slide-content > .hero-event-meta { margin: 14px 0 14px; }
}

/* Separação do conteúdo do evento: descrição, informações e ações nunca se sobrepõem. */
.hero-slide-text { min-width: 0; width: 100%; }
.hero-slide-text p { display: block; width: 100%; max-height: 10.5em; overflow-y: auto; margin: 0; }
.hero-slide-content > .hero-event-meta { position: static; width: 100%; max-width: 100%; min-height: 36px; margin: 18px 0 18px; }
.hero-slide-content > .hero-actions { position: static; width: 100%; margin: 0; }
@media (min-width: 601px) {
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-slide-text { grid-column: 1; grid-row: 2 / span 2; height: clamp(260px, 25vw, 330px); overflow-y: auto; padding-right: 10px; }
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-slide-text p { max-height: none; overflow: visible; }
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-event-meta { grid-column: 1; grid-row: 4; }
  .hero-slide-content:has(.hero-slide-media:not([hidden])) > .hero-actions { grid-column: 1; grid-row: 5; }
}
@media (max-width: 600px) {
  .hero-slide-text p { max-height: 8.5em; }
  .hero-slide-content > .hero-event-meta { margin: 14px 0 14px; }
}

/* Tamanho aprovado para o título do carrossel. */
.hero-slide-content h1{font-size:26px!important;line-height:1.12!important}

/* Alinhamento definitivo do carrossel com imagem. */
@media (min-width:601px){
  .hero-slide-content:has(.hero-slide-media:not([hidden])){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,34%);grid-template-rows:auto auto auto auto auto;align-content:start;align-items:start;column-gap:28px;row-gap:0;padding-right:0!important}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-slide-media{position:static;grid-column:2;grid-row:2 / span 4;transform:none;width:100%;height:clamp(320px,32vw,410px);margin:0;align-self:start}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.eyebrow{grid-column:1;grid-row:1}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>h1{grid-column:1;grid-row:2;min-height:0!important;height:auto!important;margin:12px 0 24px;overflow:visible}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>h1{font-size:clamp(1.85rem,3vw,3rem);line-height:1.07}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>p{grid-column:1;grid-row:3;min-height:0!important;height:clamp(260px,25vw,330px);max-height:none;margin:0 0 4px;overflow-y:auto}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-event-meta{grid-column:1;grid-row:4}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-actions{grid-column:1;grid-row:5}
}
@media (max-width:600px){
  .hero-slide-content:has(.hero-slide-media:not([hidden])){display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding-right:0!important}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.eyebrow{order:1}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>h1{order:2}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>p{order:3}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-slide-media{order:4;position:static;transform:none;width:100%;height:180px;margin:16px 0 0}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-event-meta{order:5}
  .hero-slide-content:has(.hero-slide-media:not([hidden]))>.hero-actions{order:6}
}

/* No celular, a descrição tem rolagem própria para não alongar o carrossel além da área útil. */
@media (max-width: 600px) {
  .hero-copy { height: auto; min-height: 0; }
  .hero-slide-stage { height: auto; min-height: 0; overflow: hidden; }
  .hero-slide-content { height: auto; min-height: 0; }
  .hero-slide-text p {
    height: 8.5em !important;
    max-height: 8.5em !important;
    overflow-y: auto !important;
  }
}

/* Entre celular largo e tablet, o texto ocupa a coluna até os botões do slide. */
@media (min-width: 601px) and (max-width: 760px) {
  #heroSlideContent:has(.hero-slide-media:not([hidden])) {
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr) auto auto !important;
    align-content: stretch !important;
    padding-bottom: 14px !important;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text {
    grid-column: 1;
    grid-row: 2;
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text h1 {
    flex: 0 0 auto;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text p {
    max-height: none !important;
    min-height: 0 !important;
    height: auto !important;
    flex: 1 1 0 !important;
    overflow-y: auto !important;
    margin-bottom: 0;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-media {
    grid-column: 2;
    grid-row: 2 / span 3;
    height: min(410px, 32vw);
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-event-meta {
    grid-column: 1;
    grid-row: 3;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-actions {
    grid-column: 1;
    grid-row: 4;
    align-self: end;
    margin-top: 16px;
  }
}

/* O acesso "Associado" usa amarelo institucional no texto e na seta. */
body:not(.high-contrast) .nav-wrap > .member-button:not(.gold-button),
body:not(.high-contrast) .nav-wrap > .member-button:not(.gold-button) .member-label,
body:not(.high-contrast) .nav-wrap > .member-button:not(.gold-button) > span[aria-hidden="true"] {
  color: #ffd24a !important;
  -webkit-text-fill-color: #ffd24a !important;
}

/* Ícones sociais da barra principal: branco institucional no modo normal. */
html body:not(.high-contrast) .header-social .social-hotspot,
html body:not(.high-contrast) .header-social .social-hotspot::before,
html body:not(.high-contrast) .header-social .social-hotspot::after {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body:not(.high-contrast) .header-social .social-instagram::before,
html body:not(.high-contrast) .header-social .social-instagram::after,
html body:not(.high-contrast) .header-social .social-youtube::before {
  border-color: #fff !important;
}
html body:not(.high-contrast) .header-social .social-instagram::after {
  box-shadow: 6px -6px 0 -2px #fff !important;
}
html body:not(.high-contrast) .header-social .social-youtube::after {
  border-left-color: #fff !important;
}

/* A base do carrossel é fixa: controles e diferenciais não acompanham o tamanho da notícia. */
.hero-copy {
  display: flex;
  flex-direction: column;
}
.hero-slide-stage {
  height: auto !important;
  min-height: 0 !important;
  flex: 1 1 auto;
}
.hero-slide-content {
  height: 100% !important;
  min-height: 0 !important;
}
.hero-news-controls,
.trust-row {
  flex: 0 0 auto;
}
@media (max-width: 600px) {
  .hero-copy { height: 44rem; }
}

/* Foto inserida na leitura: a descrição usa a largura total quando ultrapassa a imagem. */
@media (min-width: 601px) {
  #heroSlideContent:has(.hero-slide-media:not([hidden])) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
    padding-bottom: 14px !important;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .eyebrow {
    grid-column: 1;
    grid-row: 1;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text {
    grid-column: 1;
    grid-row: 2;
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
    overflow-y: auto !important;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text .hero-slide-media {
    position: static !important;
    float: right;
    width: min(34%, 360px) !important;
    height: auto !important;
    aspect-ratio: 6 / 5;
    margin: 0 0 16px 28px !important;
    transform: none !important;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text p {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    flex: none !important;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-actions {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
    margin-top: 16px;
  }
}
@media (max-width: 600px) {
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text {
    display: flex !important;
    flex-direction: column;
    min-height: 0;
  }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text h1 { order: 1; }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text p { order: 2; }
  #heroSlideContent:has(.hero-slide-media:not([hidden])) > .hero-slide-text .hero-slide-media {
    order: 3;
    position: static !important;
    float: none;
    width: 100% !important;
    height: auto !important;
    max-height: 220px;
    aspect-ratio: 16 / 9;
    margin: 16px 0 0 !important;
    transform: none !important;
  }
}
