/* IDENTIDADE: edite as variáveis abaixo para alterar cores e dimensões globais. */
:root {
  --green: #135f3a;
  --green-dark: #103f2b;
  --accent: #c9501b;
  --ink: #193b2c;
  --muted: #58675f;
  --paper: #f7f5ef;
  --line: #dce5de;
  --radius: 22px;
  --shadow: 0 12px 40px #173f2810;
  --width: 1200px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a {
  color: var(--green);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  font: inherit;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 5px;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.035em;
}
h1 {
  font-size: clamp(2.25rem, 4.4vw, 4rem);
  max-width: none;
}
h2 {
  font-size: clamp(1.9rem, 3vw, 2.75rem);
}
h3 {
  font-size: 1.3rem;
}
p {
  margin-bottom: 1.25rem;
}
ul {
  padding-left: 1.3rem;
}
.container {
  width: min(var(--width), calc(100% - 64px));
  margin-inline: auto;
}
.section {
  padding-block: 80px;
}
.eyebrow {
  display: block;
  color: var(--green);
  font-size: 0.8rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 20px;
}
.muted {
  color: var(--muted);
}
.lead {
  font-size: 1.15rem;
  color: var(--muted);
  max-width: none;
}
.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 100;
  background: white;
  padding: 12px;
}
.skip-link:focus {
  top: 10px;
}
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 30;
  background: #ffffffdc;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid #ffffff;
  box-shadow: 0 1px 0 var(--line);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  gap: 24px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  color: var(--green-dark);
  line-height: 1.15;
}
.brand:hover {
  text-decoration: none;
}
.brand img {
  height: 50px;
  width: 44px;
  object-fit: contain;
}
.brand strong {
  font-size: 1.13rem;
  letter-spacing: -0.03em;
}
.brand small {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 13px;
}
.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.nav-item > a {
  font-size: 0.875rem;
  font-weight: 500;
  padding: 12px 0;
}
.nav-item > a[aria-current="page"] {
  color: var(--green);
  box-shadow: inset 0 -2px var(--green);
}
.submenu-toggle {
  border: 0;
  background: transparent;
  padding: 10px 5px;
  color: var(--muted);
  min-height: 44px;
}
.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: -16px;
  min-width: 210px;
  background: #fffffff5;
  backdrop-filter: blur(20px);
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  list-style: none;
}
.submenu a {
  display: block;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 0.875rem;
}
.submenu a:hover {
  background: #edf4ee;
  text-decoration: none;
}
.nav-item.expanded .submenu {
  display: block;
}
.registration-nav {
  order: 0;
  background: var(--accent);
  border-radius: 100px;
  padding: 0 14px;
  box-shadow: 0 4px 14px #c9501b20;
}
.registration-nav > a,
.registration-nav .submenu-toggle {
  color: white !important;
}
.registration-nav > a[aria-current="page"] {
  box-shadow: none;
}
.menu-toggle {
  display: none;
  min-height: 44px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 13px;
}
.site-main {
  padding-top: 88px;
  min-height: 65vh;
}
.hero {
  position: relative;
  padding: 50px 0 34px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 90% 10%, #d9eadd80, transparent 55%),
    linear-gradient(130deg, #f5f8f5, #fff);
}
.hero-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.hero-topline .eyebrow {
  margin: 0;
}
.edition {
  font-size: 0.8rem;
  color: var(--muted);
}
.banner-frame {
  background: white;
  border: 1px solid #e6ece6;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 25px 18px;
}
.event-banner {
  width: 100%;
  height: auto;
}
.hero-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  padding-top: 28px;
}
.hero-bottom h1 {
  font-size: 1.12rem;
  margin: 0 0 4px;
  letter-spacing: 0;
}
.hero-bottom p {
  font-size: 0.875rem;
  margin: 0;
  color: var(--muted);
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 48px;
  padding: 11px 23px;
  border: 1px solid transparent;
  border-radius: 100px;
  background: var(--green);
  color: white;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.5;
  transition:
    transform 0.18s,
    box-shadow 0.18s,
    background 0.18s;
  text-align: center;
}
.button:hover {
  background: var(--green-dark);
  transform: translateY(-2px);
  text-decoration: none;
  box-shadow: 0 7px 20px #103f2b20;
}
.button-accent {
  background: var(--accent);
}
.button-accent:hover {
  background: #ad4214;
}
.button-outline {
  background: transparent;
  border-color: #bdcec1;
  color: var(--green);
}
.button-outline:hover {
  background: #e9f0eb;
}
.button[aria-disabled="true"],
button.button:disabled {
  cursor: default;
  background: #e4e9e5;
  color: #536159;
  border-color: #c5d0c8;
  box-shadow: none;
  transform: none;
}
.date-strip {
  background: var(--green-dark);
  color: white;
}
.date-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 23px;
  gap: 24px;
}
.date-inner strong {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: -0.015em;
}
.date-label {
  color: #d4e6da;
  font-size: 0.85rem;
}
.date-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #f8a16d;
  border-radius: 50%;
  margin-right: 10px;
}
.intro-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.3fr;
  gap: 85px;
}
.intro-grid h2 {
  max-width: 360px;
}
.intro-grid p:last-child {
  margin-bottom: 0;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 25px;
  margin-bottom: 30px;
}
.section-heading h2 {
  margin-bottom: 0;
}
.section-heading p {
  margin: 0;
}
.objectives {
  padding-top: 0;
}
.objective-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  gap: 0;
  padding: 0;
  margin: 30px 0 0;
  border-top: 1px solid var(--line);
}
.objective-list li {
  padding: 30px 26px 25px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 18px;
  font-size: 0.95rem;
}
.number {
  font-size: 0.8rem;
  color: var(--accent);
  font-weight: 600;
  padding-top: 3px;
}
.soft-section {
  background: #eef3ef;
  border-block: 1px solid #e2e9e3;
}
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.card {
  background: #ffffffc9;
  border: 1px solid #dce6de;
  border-radius: var(--radius);
  padding: 30px;
  box-shadow: var(--shadow);
  min-width: 0;
}
.card p:last-child {
  margin-bottom: 0;
}
.card .eyebrow {
  font-size: 0.75rem;
}
.link-card {
  display: flex;
  flex-direction: column;
  gap: 15px;
  color: var(--ink);
}
.link-card:hover {
  text-decoration: none;
  border-color: #9bbba6;
}
.link-card h3 {
  margin: 0;
}
.link-card .arrow {
  color: var(--accent);
  margin-top: auto;
}
.location {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: white;
}
.location iframe {
  width: 100%;
  height: 100%;
  min-height: 390px;
  border: 0;
  background: #e4ebe5;
}
.location-copy {
  padding: 40px;
}
.location-copy dl {
  margin: 25px 0;
}
.location-copy dt {
  font-weight: 600;
}
.location-copy dd {
  margin: 0 0 17px;
  color: var(--muted);
}
.page-hero {
  padding: 57px 0 48px;
  background: radial-gradient(ellipse at 88% 10%, #e0eee2aa, transparent 60%);
  border-bottom: 1px solid var(--line);
}
.breadcrumb {
  font-size: 0.85rem;
  color: var(--muted);
  margin-bottom: 28px;
}
.breadcrumb span {
  margin-inline: 10px;
  color: #809087;
}
.page-hero h1 {
  margin-bottom: 20px;
}
.page-hero p:last-child {
  margin-bottom: 0;
}
.reading {
  max-width: none;
}
.prose p {
  line-height: 1.85;
}
.notice {
  border-left: 3px solid var(--accent);
  padding: 15px 20px;
  background: #fbf0e8;
  border-radius: 0 12px 12px 0;
  color: #713919;
  font-size: 0.9rem;
  margin-bottom: 32px;
}
.badge {
  display: inline-block;
  border: 1px solid #d6e1d8;
  border-radius: 99px;
  padding: 4px 11px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  background: #edf4ee;
  color: var(--green);
  margin-bottom: 19px;
}
.badge-example {
  color: #80451f;
  background: #fff5e9;
  border-color: #e8d5bf;
}
.day {
  font-size: 3.6rem;
  line-height: 1;
  color: var(--green);
  letter-spacing: -0.07em;
  margin-bottom: 10px;
}
.agenda-row {
  padding: 16px 0;
  border-top: 1px solid var(--line);
  font-size: 0.9rem;
  color: var(--muted);
}
.agenda-row strong {
  color: var(--ink);
  display: block;
  font-size: 1rem;
}
.details {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 8px;
  font-size: 0.9rem;
  margin: 23px 0;
}
.details dt {
  color: var(--muted);
}
.details dd {
  margin: 0;
  font-weight: 500;
}
.avatar {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf3ee;
  color: var(--green);
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 22px;
}
.price-list {
  list-style: none;
  margin: 20px 0;
  padding: 0;
}
.price-list li {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  padding: 15px 0;
}
.price-list strong {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--green);
}
.important {
  font-size: 0.9rem;
}
.date-range {
  font-size: 1.6rem;
  line-height: 1.5;
  margin: 22px 0;
}
.registration-cta {
  text-align: center;
  padding: 42px 26px;
  margin-top: 28px;
  background: #e9f1eb;
  border: 1px solid #cfdfd3;
  border-radius: var(--radius);
}
.registration-cta p {
  margin: 15px 0 0;
  font-size: 0.9rem;
}
.feature-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 36px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.feature-logo img {
  max-height: 300px;
  object-fit: contain;
}
.about-split {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 48px;
  align-items: center;
}
.about-split.reverse {
  grid-template-columns: 1fr 2fr;
}
.wide-logo {
  max-width: 610px;
  max-height: 200px;
  object-fit: contain;
  margin: auto;
}
.timeline {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  padding: 26px 0;
  border-block: 1px solid var(--line);
  margin: 32px 0;
}
.timeline strong {
  display: block;
  font-size: 1.5rem;
  color: var(--green);
}
.timeline span {
  font-size: 0.9rem;
  color: var(--muted);
}
.steps {
  padding-left: 24px;
}
.steps li {
  margin-bottom: 15px;
}
.submission-grid {
  display: grid;
  grid-template-columns: 1fr 1.7fr 1fr;
  gap: 28px;
  align-items: start;
}
.placeholder {
  min-height: 180px;
  border: 1px dashed #aabeb0;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 25px;
  text-align: center;
  background: linear-gradient(145deg, #edf3ee, #f9fbf9);
  color: var(--muted);
}
.placeholder small {
  font-size: 0.8rem;
}
.form-placeholder {
  min-height: 250px;
  margin-bottom: 20px;
}
.placeholder-icon {
  font-size: 2rem;
  color: #799584;
}
.member-list {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}
.member-list li {
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.member-list span {
  display: block;
  font-size: 0.85rem;
  color: var(--muted);
}
.logo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.logo-tile {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  min-height: 160px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  text-align: center;
}
.logo-tile img {
  max-height: 88px;
  max-width: 100%;
  object-fit: contain;
}
.logo-tile span {
  font-size: 0.85rem;
  color: var(--muted);
}
.gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px;
}
.gallery figure {
  margin: 0;
}
.gallery .placeholder {
  aspect-ratio: 1.6;
  width: 100%;
  min-width: 0;
}
.gallery figcaption {
  margin-top: 12px;
  font-size: 0.9rem;
  color: var(--muted);
}
.empty-panel {
  text-align: center;
  padding: 60px 25px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.empty-panel h2 {
  margin-bottom: 15px;
}
.footer-partners {
  padding: 34px 0;
  background: white;
  border-top: 1px solid var(--line);
}
.partner-row {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  align-items: center;
  gap: 35px;
}
.partner-row img {
  max-height: 65px;
  width: 100%;
  object-fit: contain;
}
.partner-row .eyebrow {
  margin: 0;
}
.site-footer {
  background: #edf2ee;
  border-top: 1px solid var(--line);
  padding: 50px 0 22px;
}
.footer-main {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 54px;
}
.footer-main h2 {
  font-size: 1.7rem;
}
.footer-main p {
  font-size: 0.9rem;
}
.footer-main a {
  overflow-wrap: anywhere;
}
.footer-logo {
  height: 58px;
  width: 100%;
  object-fit: contain;
  object-position: left;
  margin-bottom: 22px;
}
.footer-main .uem-logo {
  max-width: 245px;
}
.footer-main .pbf-logo {
  height: 48px;
}
.footer-main small {
  font-size: 0.82rem;
  color: var(--muted);
}
.support-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  border-top: 1px solid #d6e1d8;
  padding-top: 25px;
  margin-top: 28px;
  font-size: 0.8rem;
  color: var(--muted);
}
.support-slot {
  border: 1px dashed #a5b7aa;
  padding: 8px 18px;
  border-radius: 7px;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-top: 26px;
  margin-top: 24px;
  border-top: 1px solid #d6e1d8;
  color: var(--muted);
  font-size: 0.8rem;
}
.full-span {
  grid-column: 1/-1;
}

@media (max-width: 1200px) {
  .nav-list {
    gap: 10px;
  }
  .nav-item > a {
    font-size: 0.8rem;
  }
  .header-inner {
    gap: 16px;
  }
  .container {
    width: calc(100% - 48px);
  }
}
@media (max-width: 1100px) {
  .menu-toggle {
    display: block;
  }
  .header-inner {
    min-height: 78px;
  }
  .site-main {
    padding-top: 78px;
  }
  #navigation {
    display: none;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: #fffffff7;
    backdrop-filter: blur(24px);
    border-bottom: 1px solid var(--line);
    padding: 20px 24px;
    max-height: calc(100dvh - 78px);
    overflow: auto;
  }
  #navigation.is-open {
    display: block;
  }
  .nav-list {
    display: block;
  }
  .nav-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    white-space: normal;
  }
  .nav-item > a {
    font-size: 1rem;
    flex: 1;
    padding: 12px;
  }
  .submenu-toggle {
    padding: 10px 18px;
  }
  .submenu {
    position: static;
    flex-basis: 100%;
    margin: 0 0 8px;
    box-shadow: none;
    background: #f3f7f3;
  }
  .registration-nav {
    margin: 8px 0;
    border-radius: 14px;
  }
  .registration-nav .submenu a {
    color: var(--green);
  }
  .intro-grid {
    gap: 45px;
  }
  .grid-3 {
    gap: 17px;
  }
  .card {
    padding: 24px;
  }
  .footer-main {
    gap: 28px;
  }
}
@media (max-width: 760px) {
  .container {
    width: calc(100% - 36px);
  }
  .section {
    padding-block: 50px;
  }
  .hero {
    padding-top: 30px;
  }
  .hero-topline {
    align-items: flex-start;
  }
  .edition {
    max-width: 110px;
    text-align: right;
    font-size: 0.75rem;
  }
  .hero-topline .eyebrow {
    font-size: 0.72rem;
    max-width: 190px;
  }
  .banner-frame {
    padding: 16px 5px;
    border-radius: 14px;
  }
  .hero-bottom {
    display: block;
    padding-top: 24px;
  }
  .hero-bottom .actions {
    margin-top: 20px;
  }
  .date-inner {
    display: block;
    padding-block: 22px;
  }
  .date-inner strong {
    display: block;
    font-size: 1.05rem;
  }
  .date-label {
    display: block;
    margin-top: 7px;
  }
  .intro-grid,
  .grid-2,
  .grid-3,
  .location,
  .about-split,
  .about-split.reverse,
  .submission-grid,
  .footer-main {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .intro-grid h2 {
    max-width: none;
  }
  .intro-grid .eyebrow {
    margin-bottom: 14px;
  }
  .objective-list {
    grid-template-columns: 1fr;
  }
  .objective-list li {
    padding: 23px 0;
  }
  .objectives {
    padding-top: 0;
  }
  .section-heading {
    display: block;
  }
  .section-heading p {
    margin-top: 15px;
  }
  .location {
    gap: 0;
  }
  .location-copy {
    padding: 28px;
  }
  .location iframe {
    min-height: 290px;
  }
  .page-hero {
    padding: 36px 0;
  }
  .breadcrumb {
    margin-bottom: 22px;
  }
  .page-hero h1 {
    font-size: 2.3rem;
    overflow-wrap: break-word;
  }
  .lead {
    font-size: 1.05rem;
  }
  .feature-logo {
    padding: 25px;
  }
  .feature-logo img {
    max-height: 210px;
  }
  .about-split.reverse .feature-logo {
    order: 2;
  }
  .logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .logo-tile {
    padding: 20px;
    min-height: 150px;
  }
  .partner-row {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .partner-row > div {
    grid-column: 1/-1;
  }
  .partner-row img {
    max-height: 52px;
  }
  .footer-main {
    gap: 36px;
  }
  .footer-logo {
    max-width: 320px;
  }
  .footer-bottom {
    display: block;
  }
  .footer-bottom span {
    display: block;
    margin-bottom: 8px;
  }
  .support-row {
    gap: 10px;
  }
  .gallery {
    gap: 16px;
  }
  .gallery .placeholder {
    min-height: 150px;
  }
  .price-list strong {
    font-size: 1.15rem;
  }
  .actions .button {
    padding-inline: 19px;
  }
  .submission-grid > .card:nth-child(2) {
    order: -1;
  }
  .form-placeholder {
    min-height: 180px;
  }
  .wide-logo {
    max-width: 100%;
  }
  .date-range {
    font-size: 1.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* REFINAMENTO EDITORIAL — paleta, superfícies e composição compartilhadas. */
.page-sobre-sab .about-split:not(.reverse) {
  align-items: start;
}
@media (min-width: 1101px) {
  .nav-list > .nav-item:first-child {
    margin-left: auto;
  }
}
.page-hero::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 24px;
  width: 185px;
  height: 120px;
  background: radial-gradient(circle, #135f3a35 2px, transparent 3px) 0 0 / 38px
    38px;
  mask-image: linear-gradient(120deg, transparent, #000);
  pointer-events: none;
  z-index: -1;
}
:root {
  --green-dark: #102f25;
  --muted: #536253;
  --line: #d8ddca;
  --shadow: 0 18px 45px #263e2010;
  --width: 1240px;
  --cream: #f4f0e6;
  --terracotta: #ad4d2b;
}
body {
  background: var(--cream);
}
.site-header {
  inset: 18px 24px auto;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: transform 0.3s;
}
.header-inner {
  width: min(1400px, 100%);
  min-height: 78px;
  padding: 12px 18px 12px 24px;
  border: 1px solid #ffffffb8;
  border-radius: 60px;
  background: #fdfbf2e8;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow:
    0 12px 40px #17392b18,
    inset 0 1px #fff;
  gap: 30px;
}
.site-header.is-scrolled .header-inner {
  background: #fdfbf2f2;
  box-shadow: 0 8px 28px #17392b24;
}
.brand {
  gap: 9px;
}
.brand img {
  width: 38px;
  height: 44px;
}
.brand strong {
  font-size: 1.08rem;
}
#navigation {
  flex: 1;
}
.nav-list {
  width: 100%;
  justify-content: center;
  gap: 20px;
}
.nav-item > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 0.86rem;
  padding: 12px 0;
}
.nav-item > a[aria-current="page"] {
  box-shadow: none;
  font-weight: 700;
}
.nav-item > a[aria-current="page"]::after {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--accent);
  border-radius: 50%;
}
.chevron {
  width: 6px;
  height: 6px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s;
}
.expanded .chevron {
  transform: rotate(225deg);
}
.nav-item .submenu-toggle {
  color: var(--green-dark);
  min-height: 44px;
}
.registration-nav {
  margin-left: auto;
  padding: 0;
  background: none;
  box-shadow: none;
  flex-shrink: 0;
}
.registration-nav > a {
  padding: 13px 21px;
  border-radius: 40px;
  color: white !important;
  background: linear-gradient(
    115deg,
    #135f3a 3%,
    #425c32 42%,
    #ad491e 78%,
    #c9501b
  );
  border: 1px solid #ffffff50;
  box-shadow:
    inset 0 1px #ffffff35,
    0 5px 16px #6a4d2820;
}
.registration-nav .nav-arrow {
  font-size: 1.15rem;
  line-height: 1;
  margin-left: 5px;
}
.registration-nav > a[aria-current="page"]::after {
  display: none;
}
.submenu {
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(7px);
  transition:
    opacity 0.18s,
    transform 0.18s,
    visibility 0.18s;
  background: #fffcf0ed;
  border-color: #fff;
  border-radius: 18px;
  padding: 12px;
  min-width: 225px;
  box-shadow:
    0 16px 38px #123b2525,
    inset 0 1px #fff;
}
.registration-nav .submenu {
  left: auto;
  right: 0;
}
.nav-item.expanded .submenu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.submenu a {
  color: var(--green-dark);
}
.submenu a:hover {
  background: #e0e8d2;
}
.site-main {
  padding-top: 116px;
}
.hero {
  padding: 48px 0 44px;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 4% 20%, #73985470, transparent 48%),
    radial-gradient(ellipse at 95% 70%, #d9763d66, transparent 48%), #eee9d9;
}
.hero::before,
.page-hero::before {
  content: "";
  position: absolute;
  width: 570px;
  height: 570px;
  right: -180px;
  top: -230px;
  border: 1px solid #c9501b40;
  border-radius: 43% 57% 60% 40%;
  box-shadow:
    0 0 0 42px #135f3a08,
    0 0 0 85px #135f3a08,
    0 0 0 128px #c9501b08;
  z-index: -1;
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  left: -65px;
  bottom: 0;
  border: 1px solid #ffffff90;
  border-radius: 50%;
  z-index: -1;
}
.hero > .container {
  position: relative;
}
.banner-frame {
  padding: 16px;
  border: 1px solid #ffffffd0;
  border-radius: 30px;
  background: #fff;
  box-shadow:
    0 22px 70px #34452e25,
    0 0 0 9px #ffffff26;
}
.hero-bottom {
  padding-top: 30px;
}
.hero-bottom h1 {
  font-size: 1.4rem;
}
.hero-bottom p {
  color: #3c5140;
}
.button {
  box-shadow: inset 0 1px #ffffff25;
  transition:
    transform 0.2s,
    box-shadow 0.2s,
    background 0.2s;
}
.button-accent {
  background: linear-gradient(120deg, #a64118, #c9501b);
}
.button-outline {
  border-color: #6b8565;
}
.date-strip {
  position: relative;
  overflow: hidden;
  background: linear-gradient(105deg, #102f25, #135f3a 72%, #7a522b);
  border-block: 1px solid #eff9d820;
}
.date-strip::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border: 30px solid #e68a4750;
  border-radius: 50%;
  right: -65px;
  top: -35px;
  pointer-events: none;
}
.date-inner {
  min-height: 120px;
  padding-block: 28px;
  position: relative;
  z-index: 1;
}
.date-inner strong {
  font-size: clamp(1.2rem, 2.3vw, 1.9rem);
  letter-spacing: -0.025em;
}
.date-dot {
  height: 11px;
  width: 11px;
  background: #ed9052;
  box-shadow: 0 0 0 7px #ed905217;
  margin-right: 18px;
}
.date-label {
  max-width: 210px;
  text-align: right;
  color: #e0e9cf;
}
.section {
  padding-block: 68px;
}
.event-intro {
  background: linear-gradient(115deg, #f4f0e6, #e8e9d8);
}
.intro-grid {
  grid-template-columns: 0.55fr 1.45fr;
  gap: 65px;
}
.intro-grid h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  max-width: none;
}
.objectives {
  background: #e8e9d8;
  padding-top: 10px;
  padding-bottom: 70px;
}
.objective-list {
  gap: 18px;
  border: 0;
}
.objective-list li {
  padding: 28px;
  border: 1px solid #a9b79860;
  border-radius: 24px;
  background: #f7f4e9b8;
  box-shadow: inset 0 1px #ffffff8c;
  flex-direction: column;
  gap: 12px;
}
.objective-list li:nth-child(2),
.objective-list li:nth-child(6) {
  background: #d7dfc9;
}
.objective-list li:nth-child(3) {
  background: #ecdbbe;
}
.number {
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: -0.05em;
}
.soft-section {
  background:
    radial-gradient(ellipse at 100% 0, #a5522933, transparent 55%),
    linear-gradient(125deg, #102f25, #204b32);
  color: #f4f0e6;
  border-color: #294e34;
}
.soft-section > .container > .eyebrow,
.soft-section .section-heading .eyebrow {
  color: #c0d69e;
}
.soft-section > .container > p,
.soft-section > .container > .reading {
  color: #dce3d1;
}
.soft-section .section-heading > a {
  color: #eac393;
}
.card {
  border-radius: 26px;
  background: #fffcf3cc;
  border-color: #f9f8eb;
  box-shadow:
    0 14px 35px #263b2010,
    inset 0 1px #fff;
  padding: 32px;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}
.soft-section .card {
  color: var(--ink);
}
.soft-section .link-card {
  background: linear-gradient(145deg, #33553c, #214730);
  color: #fff8e5;
  border-color: #76936a65;
}
.soft-section .link-card:nth-child(2) {
  background: linear-gradient(140deg, #6b6338, #3b4a2f);
}
.soft-section .link-card:nth-child(3) {
  background: linear-gradient(140deg, #ad562d, #743a26);
}
.soft-section .link-card .muted,
.soft-section .link-card .eyebrow,
.soft-section .link-card .arrow {
  color: #f0e8d7;
}
.soft-section .link-card .eyebrow {
  opacity: 0.85;
}
.page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 48px 0 58px;
  background:
    radial-gradient(ellipse at 92% 55%, #c96d3445, transparent 50%),
    radial-gradient(ellipse at 0 100%, #78925d40, transparent 60%), #eee9d9;
  border-color: #c9d2ba;
}
.page-hero h1 {
  font-size: clamp(2.5rem, 5vw, 4.4rem);
}
.page-hero .eyebrow {
  letter-spacing: 0.16em;
}
.page-hero .lead {
  color: #41543c;
}
.breadcrumb {
  margin-bottom: 22px;
}
.reading,
.lead {
  width: 100%;
  max-width: none;
}
.prose p {
  line-height: 1.85;
}
.notice {
  background: #eee0c9;
  color: #663c23;
  border-color: #c9501b;
}
.about-split {
  grid-template-columns: minmax(0, 1.9fr) minmax(260px, 0.9fr);
  gap: 45px;
}
.feature-logo {
  min-height: 240px;
  background:
    radial-gradient(ellipse at 90% 10%, #b7c88b50, transparent 65%), #fffdf5;
  border-color: #d0d9c1;
  box-shadow:
    0 14px 40px #213c2014,
    inset 0 1px white;
  border-radius: 30px;
}
.timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #135f3a;
  color: #f6f2e6;
  padding: 0;
  margin-block: 36px;
}
.timeline > div {
  padding: 26px 20px;
  border-right: 1px solid #ffffff26;
}
.timeline > div:nth-child(3) {
  background: #435e35;
}
.timeline > div:last-child {
  background: #a65029;
}
.timeline strong {
  color: #fff6e5;
  font-size: 1.7rem;
  white-space: nowrap;
}
.timeline span {
  color: #e4e8d3;
}
.page-sobre-pbf .soft-section .card:nth-child(1) {
  background: #dde4c9;
}
.page-sobre-pbf .soft-section .card:nth-child(2) {
  background: #efdfbd;
}
.page-sobre-pbf .soft-section .card:nth-child(3) {
  background: #f5eee1;
}
.page-sobre-pbf .soft-section > .container > p a {
  color: #f4ca90;
}
.page-sobre-sab .soft-section {
  background:
    radial-gradient(ellipse at 0 80%, #b2a06444, transparent 60%), #1d4731;
}
.page-sobre-sab .soft-section .eyebrow {
  color: #d9c695;
}
.page-sobre-sab .about-split.reverse {
  grid-template-columns: minmax(250px, 0.85fr) minmax(0, 1.8fr);
}
.page-sobre-sab .section:has(.sab-social) {
  background: linear-gradient(120deg, #ece9d7, #f0e4cc);
}
.sab-social {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 35px;
  align-items: center;
  text-align: left;
  padding: 28px 32px;
  background: #fffcf4c9;
  margin-top: 26px;
}
.sab-social .actions {
  justify-content: flex-start !important;
}
.sab-social .wide-logo {
  width: 100%;
  max-height: 125px;
}
.fees-card {
  background: linear-gradient(140deg, #e0e7cc, #f3edda);
  border-color: #c8d5b5;
}
.period-card {
  background: linear-gradient(140deg, #204d34, #102f25);
  color: #faf3e3;
  border-color: #47674a;
  display: flex;
  flex-direction: column;
}
.period-card .eyebrow,
.period-card .muted,
.period-card > a {
  color: #e2e8cf;
}
.period-card .date-range {
  color: #fff0ca;
  font-size: 1.9rem;
}
.inline-registration {
  margin-top: auto;
  padding: 28px 0 0;
  background: none;
  border: 0;
  text-align: left;
}
.inline-registration .button {
  width: 100%;
}
.inline-registration p {
  color: #e4d2b6;
}
.price-list strong {
  font-size: 1.65rem;
}
.norms-card {
  background: linear-gradient(145deg, #e7dfc8, #fbf5e6);
}
.submission-panel > .card {
  padding: 40px;
  background: #f6f0df;
}
.steps {
  list-style: none;
  counter-reset: steps;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 35px;
  padding: 0;
  margin-top: 30px;
}
.steps li {
  counter-increment: steps;
  display: flex;
  gap: 17px;
  margin: 0;
  align-items: flex-start;
  border-top: 1px solid #bec9b0;
  padding-top: 19px;
}
.steps li::before {
  content: counter(steps, decimal-leading-zero);
  color: var(--accent);
  font-size: 1.7rem;
  line-height: 1.2;
  font-weight: 500;
}
.steps li:last-child {
  grid-column: 1/-1;
}
.submission-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  border-top: 1px solid #bec9b0;
  padding-top: 26px;
  margin-top: 30px;
}
.submission-actions .button:last-child {
  background: #a44a25;
}
.page-programacao .section:not(.soft-section) .card {
  color: #fff7e6;
  border-color: #5e76543d;
  background: linear-gradient(145deg, #244f35, #102f25);
}
.page-programacao .section:not(.soft-section) .card:nth-child(2) {
  background: linear-gradient(145deg, #5f683c, #293f2d);
}
.page-programacao .section:not(.soft-section) .card:nth-child(3) {
  background: linear-gradient(145deg, #b25d32, #663724);
}
.page-programacao .day {
  font-size: 5.8rem;
  color: #f6ecd4;
}
.page-programacao
  .section:not(.soft-section)
  .card
  :is(.muted, .agenda-row, .agenda-row strong) {
  color: #e5e4cb;
}
.page-programacao .agenda-row {
  border-color: #ffffff30;
}
.page-programacao .badge-example {
  background: #ffffff12;
  color: #eee3be;
  border-color: #ffffff35;
}
.page-comissao .grid-3 .card:nth-child(3n + 2),
.page-programacao-minicursos .card:nth-child(2) {
  background: #e0e5ce;
}
.page-comissao .grid-3 .card:nth-child(3n),
.page-programacao-palestrantes .card:nth-child(3) {
  background: #ecdfc6;
}
.avatar {
  background: linear-gradient(140deg, #135f3a, #718050);
  color: #fff4dd;
  border-radius: 20px;
  width: 78px;
  height: 78px;
}
.empty-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(120deg, #123c29, #53653b);
  color: #fff4e2;
  padding: 68px 32px;
  border-color: #506b47;
}
.empty-panel::before {
  content: "2026";
  position: absolute;
  right: -20px;
  bottom: -55px;
  font-size: clamp(8rem, 23vw, 20rem);
  font-weight: 700;
  line-height: 1;
  color: #ffffff07;
  letter-spacing: -0.08em;
  z-index: -1;
}
.empty-panel .muted {
  color: #e4e6d1;
}
.placeholder {
  border-color: #9cac85;
  background:
    radial-gradient(ellipse at 0 0, #abbc8a55, transparent 65%), #efe9d8;
}
.gallery figure:nth-child(2) .placeholder,
.gallery figure:nth-child(3) .placeholder {
  background:
    radial-gradient(ellipse at 100% 0, #cb774033, transparent 65%), #e9dfc7;
}
.gallery .placeholder-icon {
  font-size: 3rem;
}
.gallery .placeholder {
  min-height: 245px;
}
.footer-partners {
  background: #ede8d9;
  border-color: #d9dcc7;
}
.site-footer {
  background:
    radial-gradient(ellipse at 0 100%, #dfb98255, transparent 60%), #e5e6d6;
}
.footer-main {
  grid-template-columns: 1.15fr 1.2fr 1fr;
}
.footer-main h2 {
  color: var(--green);
}
.support-slot {
  border-color: #7c9272;
}
.reveal-pending {
  opacity: 0;
  transform: translateY(16px);
}
.reveal-visible {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
}
@media (hover: hover) {
  .card:hover,
  .logo-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px #142e2520;
  }
  .registration-nav > a:hover {
    text-decoration: none;
    filter: brightness(1.08);
  }
}
@media (min-width: 1101px) and (max-width: 1300px) {
  .header-inner {
    gap: 15px;
    padding-inline: 18px;
  }
  .nav-list {
    gap: 13px;
  }
  .nav-item > a {
    font-size: 0.79rem;
  }
  .registration-nav > a {
    padding-inline: 15px;
  }
  .brand strong {
    font-size: 0.95rem;
  }
}
@media (max-width: 1100px) {
  .site-header {
    inset: 12px 18px auto;
  }
  .header-inner {
    min-height: 72px;
    padding: 10px 17px;
  }
  .site-main {
    padding-top: 98px;
  }
  #navigation {
    top: 80px;
    left: 0;
    right: 0;
    border: 1px solid #fff9;
    border-radius: 24px;
    background: #faf6e9f7;
    max-height: calc(100dvh - 110px);
    box-shadow: 0 20px 40px #163f2520;
  }
  .nav-list {
    display: block;
  }
  .nav-item > a {
    justify-content: space-between;
    padding: 12px;
    font-size: 1rem;
  }
  .submenu {
    display: none;
    transform: none;
    transition: none;
  }
  .expanded .submenu {
    display: block;
  }
  .registration-nav {
    margin-top: 12px;
  }
  .registration-nav > a {
    padding-inline: 18px;
    justify-content: flex-start;
  }
  .registration-nav .chevron {
    margin-left: auto;
  }
  .menu-toggle {
    border-radius: 30px;
    background: #eef0df;
    color: var(--green);
  }
}
@media (max-width: 760px) {
  .site-header {
    inset: 10px 10px auto;
  }
  .header-inner {
    padding: 8px 12px;
    gap: 10px;
    min-height: 65px;
  }
  .brand img {
    width: 30px;
    height: 37px;
  }
  .brand strong {
    font-size: 0.96rem;
  }
  .menu-toggle {
    padding: 7px 12px;
    font-size: 0.85rem;
  }
  #navigation {
    top: 74px;
  }
  .site-main {
    padding-top: 89px;
  }
  .section {
    padding-block: 44px;
  }
  .hero {
    padding: 28px 0 30px;
  }
  .banner-frame {
    border-radius: 18px;
    padding: 9px;
    box-shadow:
      0 16px 35px #34452e20,
      0 0 0 5px #ffffff20;
  }
  .hero::before,
  .page-hero::before {
    right: -420px;
    opacity: 0.6;
  }
  .hero-bottom h1 {
    font-size: 1.25rem;
  }
  .hero-bottom .actions {
    gap: 10px;
  }
  .hero-bottom .button {
    padding-inline: 17px;
  }
  .date-inner {
    min-height: 0;
    padding-block: 27px;
  }
  .date-inner strong {
    font-size: 1.3rem;
    line-height: 1.4;
  }
  .date-label {
    max-width: none;
    text-align: left;
    margin-top: 12px;
  }
  .intro-grid,
  .about-split,
  .page-sobre-sab .about-split.reverse,
  .sab-social {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .intro-grid h2 {
    font-size: 2.35rem;
  }
  .objectives {
    padding-top: 0;
  }
  .objective-list li {
    padding: 24px;
  }
  .page-hero {
    padding: 28px 0 40px;
  }
  .page-hero h1 {
    font-size: 2.5rem;
  }
  .card {
    padding: 25px;
  }
  .timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .timeline > div {
    padding: 21px;
    border-bottom: 1px solid #ffffff26;
  }
  .timeline > div:last-child {
    grid-column: 1/-1;
  }
  .timeline strong {
    font-size: 1.5rem;
  }
  .feature-logo {
    min-height: 180px;
  }
  .sab-social {
    padding: 24px;
  }
  .sab-social .wide-logo {
    max-height: 115px;
    margin-top: 7px;
  }
  .sab-social .actions .button {
    width: 100%;
  }
  .period-card .date-range {
    font-size: 1.5rem;
  }
  .submission-panel > .card {
    padding: 25px;
  }
  .steps {
    grid-template-columns: 1fr;
  }
  .submission-actions {
    flex-direction: column;
  }
  .submission-actions .button {
    width: 100%;
  }
  .footer-main {
    grid-template-columns: 1fr;
  }
  .gallery .placeholder {
    min-height: 160px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-pending {
    opacity: 1;
    transform: none;
  }
  .reveal-visible {
    transition: none;
  }
}

/* POLIMENTO PASTEL: superfícies neutras, acentos institucionais e alinhamentos. */
:root {
  --cream: #f7f5ef;
  --ink: #203b2f;
  --muted: #566257;
  --line: #dce1d6;
}
body {
  background: var(--cream);
}
.site-main {
  padding-top: 0;
}
.site-main > :first-child {
  padding-top: 160px;
}
.hero {
  background:
    radial-gradient(ellipse at 5% 18%, #b9c9af35, transparent 56%),
    radial-gradient(ellipse at 95% 70%, #e1c5aa35, transparent 55%), #f4f2e9;
}
.page-hero {
  background:
    radial-gradient(ellipse at 90% 70%, #e6d3b735, transparent 55%),
    radial-gradient(ellipse at 0 90%, #c6d3be35, transparent 65%), #f4f2e9;
  border-color: #e0e2d5;
}
.hero::before,
.page-hero::before {
  opacity: 0.4;
}
.page-hero::after {
  opacity: 0.45;
}
.banner-frame {
  box-shadow:
    0 20px 55px #304c2515,
    0 0 0 8px #ffffff35;
}
.header-inner {
  background: #fdfbf4e8;
}
.registration-nav > a {
  background: linear-gradient(115deg, #135f3a 8%, #526446 53%, #9d6547);
}
.registration-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.registration-nav {
  margin: 0;
}
@media (min-width: 1101px) {
  .header-inner {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr);
    padding-inline: 20px;
    column-gap: 18px;
  }
  .brand {
    grid-column: 1;
    justify-self: start;
  }
  #navigation {
    display: contents;
  }
  .nav-list {
    grid-column: 2;
    justify-content: center;
    width: auto;
    gap: 18px;
  }
  .nav-list > .nav-item:first-child {
    margin-left: 0;
  }
  .registration-list {
    grid-column: 3;
    justify-self: end;
  }
}
@media (min-width: 1101px) and (max-width: 1300px) {
  .header-inner {
    column-gap: 10px;
    grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr);
  }
  .nav-list {
    gap: 12px;
  }
}
.date-strip {
  background: #163d2d;
}
.date-strip::after {
  width: 90px;
  height: 90px;
  border-width: 1px;
  border-color: #cb956f45;
  right: -35px;
  top: -20px;
}
.date-inner {
  min-height: 108px;
}
.date-inner strong {
  font-size: clamp(1.2rem, 2vw, 1.7rem);
}
.date-label {
  max-width: none;
  white-space: nowrap;
  flex-shrink: 0;
  color: #e1e8db;
}
.event-intro,
.objectives {
  background: #f7f5ef;
}
.objectives {
  padding-top: 0;
}
.objective-list li,
.objective-list li:nth-child(2),
.objective-list li:nth-child(3),
.objective-list li:nth-child(6) {
  background: #f0f3eb;
  border: 1px solid #dbe2d2;
  box-shadow: inset 0 1px #ffffffc0;
}
.objective-list li:nth-child(even) {
  background: #f3f5ef;
}
.objective-list .number {
  color: var(--green);
}
.soft-section,
.page-sobre-sab .soft-section {
  color: var(--ink);
  background: #eef2ea;
  border-color: #e0e5d8;
}
.soft-section > .container > .eyebrow,
.soft-section .section-heading .eyebrow,
.page-sobre-sab .soft-section .eyebrow {
  color: var(--green);
}
.soft-section > .container > p,
.soft-section > .container > .reading {
  color: var(--ink);
}
.soft-section .section-heading > a,
.page-sobre-pbf .soft-section > .container > p a {
  color: var(--green);
}
.soft-section .link-card,
.soft-section .link-card:nth-child(2),
.soft-section .link-card:nth-child(3) {
  background: #fbfaf5;
  color: var(--ink);
  border-color: #dce3d4;
}
.soft-section .link-card .muted {
  color: var(--muted);
}
.soft-section .link-card .eyebrow {
  color: var(--green);
  opacity: 1;
}
.soft-section .link-card .arrow {
  color: var(--accent);
}
.feature-logo {
  background: #fdfbf6;
  border-color: #e0e5d9;
  box-shadow: 0 12px 35px #213c200a;
}
.timeline {
  background: #edf1e7;
  color: var(--ink);
  border: 1px solid #dce3d3;
}
.timeline > div {
  border-color: #d5dfcc;
}
.timeline > div:nth-child(3) {
  background: #e5ebdd;
}
.timeline > div:last-child {
  background: #f0e2d1;
}
.timeline strong {
  color: var(--green);
}
.timeline span {
  color: #4c6050;
}
.timeline > div:last-child strong {
  color: #8b4f2d;
}
.page-sobre-pbf .soft-section .card:nth-child(1),
.page-sobre-pbf .soft-section .card:nth-child(2),
.page-sobre-pbf .soft-section .card:nth-child(3) {
  background: #fafbf5;
  border-color: #dce3d3;
}
.page-sobre-sab .about-split:not(.reverse) {
  align-items: center;
}
.page-sobre-sab .about-split:not(.reverse) .prose p:last-child {
  margin-bottom: 0;
}
.page-sobre-sab .section:has(.sab-social) {
  background: #f8f6f0;
}
.sab-social {
  background: #f2f4ec;
  border-color: #dfe5d5;
}
.notice,
.soft-section > .container > .notice {
  color: #263c2f;
  background: #f4ecde;
  border: 1px solid #e2d9c8;
  border-left: 3px solid #b77a50;
  border-radius: 14px;
  padding: 17px 21px;
}
.page-comissao .grid-3 .card,
.page-comissao .grid-3 .card:nth-child(3n + 2),
.page-comissao .grid-3 .card:nth-child(3n) {
  background: #f5f6ee;
  border-color: #dfe5d6;
}
.page-comissao .card h2 {
  font-size: clamp(1.2rem, 1.65vw, 1.5rem) !important;
  line-height: 1.3;
  letter-spacing: -0.025em;
  overflow-wrap: break-word;
}
.page-programacao-minicursos .card:nth-child(2),
.page-programacao-palestrantes .card:nth-child(3) {
  background: #f0f3e9;
}
.page-programacao .section:not(.soft-section) .card,
.page-programacao .section:not(.soft-section) .card:nth-child(2),
.page-programacao .section:not(.soft-section) .card:nth-child(3) {
  background: #eef2e7;
  color: var(--ink);
  border-color: #d7e0cd;
}
.page-programacao .section:not(.soft-section) .card:nth-child(2) {
  background: #f4f4eb;
}
.page-programacao .section:not(.soft-section) .card:nth-child(3) {
  background: #f5efe5;
}
.page-programacao .day {
  color: var(--green);
}
.page-programacao
  .section:not(.soft-section)
  .card
  :is(.muted, .agenda-row, .agenda-row strong) {
  color: #405647;
}
.page-programacao .agenda-row {
  border-color: #ced9c6;
}
.page-programacao .badge-example {
  background: #fafbf680;
  color: #556044;
  border-color: #cbd6bd;
}
.avatar {
  background: #e4ebdc;
  color: var(--green);
}
.pending-partners {
  padding-block: 32px 40px;
}
.pending-partners .partners-title {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  margin-bottom: 12px;
}
.pending-partners .muted {
  margin-bottom: 22px;
}
.partner-placeholders {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.partner-placeholders .placeholder {
  min-height: 155px;
  padding: 20px;
  background: #fafbf6;
}
.partner-placeholders .placeholder-icon {
  font-size: 1.5rem;
}
.empty-panel {
  background: #edf2e8;
  color: var(--ink);
  border-color: #d8e1cf;
}
.empty-panel .muted {
  color: #4b5d4d;
}
.empty-panel::before {
  color: #135f3a07;
}
.fees-card {
  background: #f0f3e8;
  border-color: #dce3d0;
}
.period-card {
  background: #e8efe3;
  color: var(--ink);
  border-color: #cfdcc5;
}
.period-card .eyebrow,
.period-card .muted,
.period-card > a {
  color: #3e5745;
}
.period-card .date-range {
  color: var(--green);
}
.inline-registration p {
  color: #4b6051;
}
.submission-intro {
  padding: 32px 36px;
  border: 1px solid #d6e1cf;
  border-top: 3px solid #91a584;
  border-radius: 26px;
  background: linear-gradient(115deg, #f1f5eb, #faf8f0);
  box-shadow:
    inset 0 1px #fff,
    0 12px 30px #23412207;
}
.submission-intro h2:not(:first-child) {
  margin-top: 26px;
}
.submission-intro .badge {
  margin-bottom: 0;
}
.norms-card {
  background: #f7f7ef;
}
.page-submissao-resumos .grid-2 > .card {
  border-color: #dde3d5;
  box-shadow: 0 10px 24px #26412308;
}
.submission-panel > .card {
  background: #fcfaf4;
  border-color: #dee3d5;
}
.submission-actions {
  justify-content: center;
}
.submission-actions .button:last-child {
  background: #a36543;
}
.footer-partners {
  background: #f5f5ef;
  border-color: #e3e5db;
}
.site-footer {
  background: #f9f8f3;
  border-color: #e0e4d8;
}
.support-row,
.footer-bottom {
  border-color: #e1e5db;
}
.support-slot {
  background: #f4f5ee;
  border-color: #bccbb4;
}
.placeholder {
  background: #f1f4ec;
  border-color: #b9c8b0;
}
.gallery figure:nth-child(2) .placeholder,
.gallery figure:nth-child(3) .placeholder {
  background: #f4f2e9;
}
@media (max-width: 1100px) {
  .header-inner {
    display: flex;
  }
  .site-main {
    padding-top: 0;
  }
  .site-main > :first-child {
    padding-top: 132px;
  }
  #navigation {
    display: none;
  }
  #navigation.is-open {
    display: block;
  }
  .registration-list {
    margin-top: 12px;
  }
  .date-inner {
    flex-wrap: wrap;
    gap: 12px;
  }
  .date-label {
    text-align: left;
  }
}
@media (max-width: 760px) {
  .site-main {
    padding-top: 0;
  }
  .site-main > :first-child {
    padding-top: 115px;
  }
  .date-label {
    white-space: normal;
  }
  .partner-placeholders {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .partner-placeholders .placeholder {
    min-height: 120px;
  }
  .pending-partners {
    padding-block: 28px;
  }
  .submission-intro {
    padding: 24px;
  }
  .submission-actions {
    align-items: center;
  }
  .submission-actions .button {
    max-width: 100%;
  }
}

/* ACABAMENTO FINAL: painéis destacados, superfícies pastéis e profundidade. */
:root {
  --panel-dark: #344941;
  --panel-edge: #65796b;
  --pastel-sage: #dce6d6;
  --pastel-sand: #ebe3d2;
  --pastel-clay: #ead8cf;
}
.page-hero {
  background:
    radial-gradient(ellipse at 93% 12%, #b3bdac48, transparent 53%),
    radial-gradient(ellipse at 4% 95%, #c4cfb25c, transparent 60%),
    linear-gradient(125deg, #e9ecdf, #efe7da 74%, #e8e5da);
  box-shadow: inset 0 -1px #fff8;
}
.page-hero::before {
  opacity: 0.6;
  border-color: #8b9b783b;
  box-shadow:
    0 0 0 42px #86977708,
    0 0 0 85px #75876c0a,
    0 0 0 128px #af936d08;
}
.page-hero::after {
  opacity: 0.65;
}
.footer-partners {
  background: #e9ece7;
  border-color: #dce1d9;
}
/* Uma família de painéis escuros, sempre afastados dos blocos vizinhos. */
:is(.page-index, .page-sobre-pbf, .page-sobre-sab, .page-submissao-resumos)
  .soft-section,
:is(
    .page-programacao,
    .page-programacao-minicursos,
    .page-programacao-palestrantes
  )
  main
  > .section:not(.soft-section) {
  position: relative;
  isolation: isolate;
  width: min(1360px, calc(100% - 48px));
  margin: 48px auto;
  padding-block: 54px;
  border: 1px solid #677a694d;
  border-radius: 34px;
  color: #f4f4e9;
  background:
    radial-gradient(ellipse at 100% 0, #9a9b7140, transparent 60%),
    radial-gradient(ellipse at 0 100%, #72928728, transparent 56%),
    linear-gradient(120deg, #344941, #394b40);
  box-shadow:
    0 20px 50px #263e2214,
    inset 0 1px #ffffff18;
}
:is(.page-index, .page-sobre-pbf, .page-sobre-sab, .page-submissao-resumos)
  .soft-section::before,
:is(
    .page-programacao,
    .page-programacao-minicursos,
    .page-programacao-palestrantes
  )
  main
  > .section:not(.soft-section)::before {
  content: "";
  position: absolute;
  right: 28px;
  top: 24px;
  width: 170px;
  height: 100px;
  background: radial-gradient(circle, #d6dfb734 1.5px, transparent 2px) 0 0 /
    28px 28px;
  mask-image: linear-gradient(140deg, transparent, #000);
  pointer-events: none;
  z-index: -1;
}
:is(.page-index, .page-sobre-pbf, .page-sobre-sab)
  .soft-section
  > .container
  > :is(.eyebrow, p, .reading),
.page-index .soft-section .section-heading :is(.eyebrow, a),
.page-index .soft-section .section-heading > a,
.page-sobre-sab .soft-section .eyebrow,
.page-sobre-pbf .soft-section > .container > p a {
  color: #ecf0dc;
}
/* Três variações harmônicas, compartilhadas pelos blocos acadêmicos. */
.page-index .soft-section .link-card,
.page-sobre-pbf .soft-section .card,
:is(
    .page-programacao,
    .page-programacao-minicursos,
    .page-programacao-palestrantes
  )
  main
  > .section:not(.soft-section)
  .card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #263c2f;
  background:
    radial-gradient(ellipse at 90% 0, #ffffff80, transparent 62%),
    linear-gradient(140deg, #e4ebdd, #d5e0ce);
  border: 1px solid #edf2dd9c;
  box-shadow:
    0 14px 30px #12251920,
    inset 0 1px #ffffffad;
}
.page-index .soft-section .link-card:nth-child(2),
.page-sobre-pbf .soft-section .card:nth-child(2),
:is(
    .page-programacao,
    .page-programacao-minicursos,
    .page-programacao-palestrantes
  )
  main
  > .section:not(.soft-section)
  .card:nth-child(2) {
  color: #393c30;
  background:
    radial-gradient(ellipse at 90% 0, #ffffff85, transparent 62%),
    linear-gradient(140deg, #eee8da, #e2d8c3);
}
.page-index .soft-section .link-card:nth-child(3),
.page-sobre-pbf .soft-section .card:nth-child(3),
:is(
    .page-programacao,
    .page-programacao-minicursos,
    .page-programacao-palestrantes
  )
  main
  > .section:not(.soft-section)
  .card:nth-child(3) {
  color: #413830;
  background:
    radial-gradient(ellipse at 90% 0, #ffffff85, transparent 62%),
    linear-gradient(140deg, #eee1d9, #dfc9bf);
}
.page-index .soft-section .link-card::after,
.page-sobre-pbf .soft-section .card::after,
:is(
    .page-programacao,
    .page-programacao-minicursos,
    .page-programacao-palestrantes
  )
  main
  > .section:not(.soft-section)
  .card::after {
  content: "";
  position: absolute;
  top: -54px;
  right: -60px;
  width: 155px;
  height: 155px;
  border: 1px solid #536b4d26;
  border-radius: 50%;
  box-shadow:
    0 0 0 19px #536b4d05,
    0 0 0 40px #536b4d05;
  pointer-events: none;
  z-index: -1;
}
.page-index .soft-section .link-card :is(.eyebrow, .muted) {
  color: #405443;
}
.page-index .soft-section .link-card .arrow {
  color: #824527;
}
.page-sobre-pbf .soft-section .card:nth-child(1) {
  background:
    radial-gradient(ellipse at 90% 0, #ffffff80, transparent 62%),
    linear-gradient(140deg, #e4ebdd, #d5e0ce);
}
:is(.page-programacao-minicursos, .page-programacao-palestrantes)
  main
  > .section:not(.soft-section)
  > .container
  > .actions
  .button-outline {
  color: #f0f1e4;
  border-color: #b5c6b096;
  background: #ffffff08;
}
:is(.page-programacao-minicursos, .page-programacao-palestrantes)
  main
  > .section:not(.soft-section)
  > .container
  > .actions
  .button-outline:hover {
  background: #ffffff18;
}
.page-sobre-sab .soft-section .feature-logo {
  background: #f4f5ec;
  border-color: #d9e3ce;
  box-shadow: 0 18px 35px #15251b25;
}
/* Cinco marcos com variação pastel dentro da paleta institucional. */
.timeline > div:nth-child(1) {
  background: #dce7d4;
}
.timeline > div:nth-child(2) {
  background: #d5e4df;
}
.timeline > div:nth-child(3) {
  background: #e3e6ce;
}
.timeline > div:nth-child(4) {
  background: #e9e1cd;
}
.timeline > div:nth-child(5) {
  background: #ecd8cc;
}
.timeline > div {
  border-color: #bbc8b55c;
}
.timeline strong {
  color: #284f38;
}
.timeline span {
  color: #405345;
}
/* A faixa de data mantém sua força, mas respira antes e depois. */
.date-strip {
  width: min(1360px, calc(100% - 48px));
  margin: 30px auto 38px;
  border-radius: 24px;
  box-shadow: 0 12px 25px #193d2310;
}
.date-inner {
  min-height: 110px;
}
/* Galeria editorial: um álbum principal e três áreas menores. */
.gallery {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 22px;
}
.gallery figure {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.gallery figure:first-child {
  grid-row: span 3;
}
.gallery .placeholder,
.gallery figure:nth-child(2) .placeholder,
.gallery figure:nth-child(3) .placeholder {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 1;
  min-height: 152px;
  aspect-ratio: auto;
  border-style: solid;
  border-color: #cbd4c1;
  background:
    radial-gradient(ellipse at 0 100%, #a4b79b30, transparent 65%), #ecf0e5;
}
.gallery figure:first-child .placeholder {
  min-height: 530px;
  background:
    radial-gradient(ellipse at 90% 0, #c1cda347, transparent 60%),
    linear-gradient(145deg, #3a5145, #526456);
  color: #f6f4e7;
  border-color: #6f836c;
}
.gallery figure:first-child .placeholder-icon {
  color: #cedac3;
  font-size: 4rem;
}
.gallery figure:first-child strong {
  font-size: clamp(1.7rem, 2.5vw, 2.5rem);
  font-weight: 500;
}
.gallery .placeholder::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -85px;
  width: 230px;
  height: 230px;
  border: 1px solid #8b9d7c30;
  border-radius: 48% 52% 60% 40%;
  box-shadow:
    0 0 0 30px #8b9d7c09,
    0 0 0 65px #8b9d7c09;
  z-index: -1;
  pointer-events: none;
}
.gallery figure:first-child .placeholder::after {
  border-color: #dbe6c44d;
}
.gallery figure:nth-child(3) .placeholder {
  background: #ede7da;
}
.gallery figure:nth-child(4) .placeholder {
  background: #e6ded8;
}
.gallery figcaption {
  margin-top: 10px;
}
/* Período e inscrição em destaque sem texto verde sobre verde. */
.fees-card {
  background: linear-gradient(145deg, #f6f6ee, #eaf0e2);
}
.period-card {
  background:
    radial-gradient(ellipse at 100% 0, #e7d9c550, transparent 60%), #f4f0e6;
  color: #303a31;
  border-color: #d8d9c9;
}
.period-card .date-range {
  color: #29372e;
  font-weight: 500;
}
.period-card .muted {
  color: #505b50;
}
.inline-registration {
  border: 1px solid #c9d8bf;
  border-top: 3px solid #869e75;
  border-radius: 20px;
  background: linear-gradient(120deg, #e6eddf, #eef1e5);
  padding: 24px;
  margin-top: auto;
  box-shadow: inset 0 1px #fff8;
}
.period-card > a {
  margin-bottom: 26px;
}
.inline-registration .button[aria-disabled="true"] {
  color: #344836;
  background: #d3dfc9;
  border-color: #a5b997;
}
.inline-registration p {
  color: #465441;
  font-size: 0.875rem;
}
/* Fluxo de submissão: sequência numerada na mesma linha. */
.page-submissao-resumos .submission-panel > .card {
  color: #eff3e5;
  background: linear-gradient(120deg, #40574a80, #31463b80);
  border-color: #8b9c7757;
  box-shadow:
    inset 0 1px #ffffff20,
    0 18px 38px #16261920;
}
.page-submissao-resumos .steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 24px;
  position: relative;
  margin-block: 34px;
}
.page-submissao-resumos .steps li {
  position: relative;
  flex-direction: column;
  gap: 17px;
  padding-top: 0;
  border: 0;
  font-size: 0.94rem;
  line-height: 1.7;
  color: #eff1e5;
}
.page-submissao-resumos .steps li:last-child {
  grid-column: auto;
}
.page-submissao-resumos .steps li::before {
  display: grid;
  place-items: center;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  background: #dce5d1;
  border: 1px solid #f5f8e6;
  box-shadow: 0 0 0 5px #dce5d10a;
  color: #304738;
  font-size: 1.2rem;
  z-index: 1;
}
.page-submissao-resumos .steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 58px;
  right: -24px;
  top: 24px;
  height: 1px;
  background: #b1c6a36b;
}
.page-submissao-resumos .submission-actions {
  border-color: #adbf9b57;
}
.page-submissao-resumos .submission-actions .button {
  border-color: #e4ebd66b;
  box-shadow: inset 0 1px #fff2;
}
.page-submissao-resumos .submission-actions .button:first-child {
  background: #e0e9d6;
  color: #254433;
}
.page-submissao-resumos .submission-actions .button:last-child {
  background: #e6d4c0;
  color: #493e30;
}
.page-submissao-resumos .soft-section > .container > .notice {
  color: #263c2f;
  background: #f4ecde;
}
@media (max-width: 1100px) {
  .page-submissao-resumos .steps {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .page-submissao-resumos .steps li {
    display: grid;
    grid-template-columns: 49px 1fr;
    column-gap: 22px;
    min-height: 90px;
    padding-bottom: 23px;
    align-items: start;
  }
  .page-submissao-resumos .steps li:not(:last-child)::after {
    left: 24px;
    top: 57px;
    bottom: 5px;
    height: auto;
    right: auto;
    width: 1px;
  }
  .page-submissao-resumos .steps li:last-child {
    padding-bottom: 0;
    min-height: 49px;
  }
}
@media (max-width: 760px) {
  :is(.page-index, .page-sobre-pbf, .page-sobre-sab, .page-submissao-resumos)
    .soft-section,
  :is(
      .page-programacao,
      .page-programacao-minicursos,
      .page-programacao-palestrantes
    )
    main
    > .section:not(.soft-section) {
    width: calc(100% - 24px);
    margin-block: 30px;
    padding-block: 28px;
    border-radius: 26px;
  }
  :is(.page-index, .page-sobre-pbf, .page-sobre-sab, .page-submissao-resumos)
    .soft-section
    > .container,
  :is(
      .page-programacao,
      .page-programacao-minicursos,
      .page-programacao-palestrantes
    )
    main
    > .section:not(.soft-section)
    > .container {
    width: calc(100% - 32px);
  }
  .date-strip {
    width: calc(100% - 24px);
    margin: 22px auto 28px;
    border-radius: 22px;
  }
  .date-inner {
    min-height: 0;
  }
  .gallery {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .gallery figure:first-child {
    grid-row: auto;
  }
  .gallery figure:first-child .placeholder {
    min-height: 290px;
  }
  .gallery .placeholder {
    min-height: 160px;
  }
  .inline-registration {
    padding: 20px;
  }
  .page-submissao-resumos .submission-panel > .card {
    padding: 24px;
  }
  .page-submissao-resumos .steps li {
    font-size: 0.94rem;
    column-gap: 15px;
  }
}

/* ÚLTIMA RODADA: navegação, realização, galeria e inscrições em minicursos. */
.partner-row {
  grid-template-columns: minmax(120px, 0.72fr) repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 42px);
}
.partner-row img {
  max-height: 68px;
}
.page-index .footer-partners {
  margin-top: 44px;
}

/* Galeria editorial: um painel principal e quatro álbuns menores à direita. */
.gallery {
  grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 0.78fr));
  grid-template-rows: repeat(2, minmax(210px, auto));
  gap: 22px;
}
.gallery figure:first-child {
  grid-row: 1 / span 2;
}
.gallery figure:first-child .placeholder {
  min-height: 100%;
}
.gallery figure:nth-child(4) .placeholder {
  background: #e6ded8;
}
.gallery figure:nth-child(5) .placeholder {
  background:
    radial-gradient(ellipse at 100% 0, #b9c8b033, transparent 62%), #e7ece1;
}

/* A nova página mantém a linguagem clara e institucional das inscrições. */
.compact-registration-intro {
  max-width: 850px;
  margin-bottom: 24px;
}
.compact-registration-intro p {
  font-size: clamp(1.04rem, 1.6vw, 1.18rem);
}
.minicourse-registration-section .notice {
  margin-bottom: 30px;
}
.course-registration-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}
.course-registration-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 270px;
  padding: 24px 20px;
  background:
    radial-gradient(ellipse at 100% 0, #ffffffa6, transparent 58%),
    linear-gradient(145deg, #f4f5ed, #e7ede1);
  border-color: #d8dfd0;
  box-shadow:
    0 12px 28px #2940290b,
    inset 0 1px #fff;
}
.course-registration-card:nth-child(3n + 2) {
  background:
    radial-gradient(ellipse at 100% 0, #ffffffa6, transparent 58%),
    linear-gradient(145deg, #f6f3ea, #ebe3d4);
}
.course-registration-card:nth-child(3n) {
  background:
    radial-gradient(ellipse at 100% 0, #ffffffa6, transparent 58%),
    linear-gradient(145deg, #f4efea, #eaded6);
}
.course-registration-card h2 {
  margin: 18px 0 10px;
  font-size: clamp(1.1rem, 1.4vw, 1.28rem);
  line-height: 1.25;
}
.course-registration-card p {
  margin-bottom: 24px;
  color: var(--muted);
  font-size: 0.92rem;
}
.course-registration-card .button {
  width: 100%;
  margin-top: auto;
  justify-content: center;
}
.course-registration-card .button:disabled {
  cursor: not-allowed;
  color: #566158;
  background: #dbe2d6;
  border-color: #c8d2c1;
  box-shadow: none;
  opacity: 1;
}

@media (min-width: 1101px) and (max-width: 1250px) {
  .brand strong {
    font-size: 0.92rem;
  }
  .nav-list {
    gap: 10px;
  }
  .nav-item > a {
    font-size: 0.79rem;
  }
  .registration-nav > a {
    padding-inline: 15px;
  }
}
@media (max-width: 1100px) {
  .partner-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  .partner-row > div {
    grid-column: 1 / -1;
  }
  .partner-row img {
    max-height: 62px;
  }
  .course-registration-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
  .gallery figure:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .gallery figure:first-child .placeholder {
    min-height: 360px;
  }
}
@media (max-width: 760px) {
  .page-index .footer-partners {
    margin-top: 30px;
  }
  .gallery {
    grid-template-columns: 1fr;
  }
  .gallery figure:first-child {
    grid-column: auto;
  }
  .gallery figure:first-child .placeholder {
    min-height: 290px;
  }
  .course-registration-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .course-registration-card {
    min-height: 250px;
  }
}
@media (max-width: 480px) {
  .partner-row,
  .course-registration-grid {
    grid-template-columns: 1fr;
  }
  .partner-row img {
    max-height: 58px;
  }
}

/* CONTEÚDO FINAL 2026: programação, comissão, inscrições e galeria. */
.program-overview h2 {
  min-height: 2.5em;
  font-size: clamp(1.3rem, 1.7vw, 1.55rem);
}
.program-sab-status,
.program-pending-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 26px;
  padding: 20px 24px;
  border: 1px solid #d6ddcf;
  border-radius: 18px;
  background: linear-gradient(125deg, #f5f5ed, #e8eee2);
  color: #2d4335;
}
.program-sab-status span,
.program-pending-row span {
  color: #8b4f2d;
  font-weight: 700;
}
.status-panel {
  display: grid;
  place-items: center;
  min-height: 250px;
  background:
    radial-gradient(circle at 82% 18%, #c8d5bd55, transparent 38%),
    linear-gradient(135deg, #f8f7ef, #e8eee2);
  box-shadow:
    0 18px 38px #183a2810,
    inset 0 1px #fff;
}
.status-panel .eyebrow {
  margin-bottom: 12px;
}
.status-panel h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.3rem);
}

.schedule-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 30px;
}
.schedule-heading h2 {
  margin: 0;
  color: #f4f3e9;
}
.schedule-heading .eyebrow {
  color: #d7e3cf;
}
.schedule-heading p {
  max-width: 380px;
  margin: 0;
  color: #e4eadc;
  text-align: right;
}
.schedule-days {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.schedule-day {
  padding: 0 !important;
  overflow: hidden;
}
.schedule-day > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px;
  border-bottom: 1px solid #cbd6c3;
  background: #d9e4d2a8;
}
.schedule-day-04 > header {
  background: #eadfcda8;
}
.schedule-day > header span {
  color: #4b5d4e;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.schedule-day > header h2 {
  margin: 0;
  color: #244231;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}
.schedule-day ol {
  list-style: none;
  margin: 0;
  padding: 8px 22px 20px;
}
.schedule-item {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  padding: 18px 4px;
  border-bottom: 1px solid #cbd5c4;
}
.schedule-item:last-child {
  border-bottom: 0;
}
.schedule-item time {
  color: #49604f;
  font-size: 0.86rem;
  font-weight: 700;
}
.schedule-item h3 {
  margin: 0;
  color: #263c2f;
  font-size: 1rem;
  line-height: 1.45;
}
.schedule-item p {
  margin: 5px 0 0;
  color: #4e5c51 !important;
  font-size: 0.88rem;
  line-height: 1.5;
}
.schedule-item.schedule-break {
  margin-inline: -8px;
  padding-inline: 12px;
  border-radius: 12px;
  background: #fff8e875;
}
.schedule-item.schedule-pre,
.schedule-item.schedule-closing {
  margin-inline: -8px;
  padding-inline: 12px;
  border-radius: 12px;
  background: #d9e5d07a;
}
.program-pending-row {
  color: #f1f3e8;
  border-color: #9bad916e;
  background: #ffffff0c;
}
.program-pending-row span {
  color: #ead8c8;
}
.schedule-back {
  justify-content: center;
  margin-top: 28px;
}

.commission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.commission-column {
  display: contents;
}
.commission-card {
  order: var(--mobile-order);
  background:
    radial-gradient(ellipse at 100% 0, #ffffffa0, transparent 60%),
    linear-gradient(145deg, #f6f6ee, #e9eee3);
  border-color: #d8e0d2;
}
.commission-card--warm {
  background:
    radial-gradient(ellipse at 100% 0, #ffffffa0, transparent 60%),
    linear-gradient(145deg, #f6f3eb, #ebe4d8);
}
.commission-card h2 {
  font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
}
.commission-card .member-list strong {
  display: block;
  color: #243b2e;
  font-size: 0.98rem;
  line-height: 1.45;
}
.commission-card .member-list span {
  margin-top: 4px;
}
.commission-card--wide {
  grid-column: 1 / -1;
}
.commission-card--wide .member-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 24px;
}

.program-speakers-link {
  margin-top: 12px;
  background: linear-gradient(125deg, #edf1e8, #e3eadf);
  text-decoration: none;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}
.program-speakers-link:hover {
  transform: translateY(-2px);
  border-color: #b9c8b3;
  background: linear-gradient(125deg, #e9eee4, #dde6d8);
  text-decoration: none;
}
.program-speakers-link span span {
  display: inline-block;
  transition: transform 0.2s ease;
}
.program-speakers-link:hover span span {
  transform: translateX(3px);
}

.partner-status-panel {
  min-height: 210px;
}
.support-message {
  padding: 7px 0;
  color: #395244;
  font-weight: 700;
}

.submission-period-card {
  background:
    radial-gradient(ellipse at 100% 0, #e9dac955, transparent 58%), #f4f0e6;
}
.submission-period-card .date-range {
  color: #29372e;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 700;
}
.submission-info-grid .actions .button {
  width: 100%;
}
.page-submissao-resumos .submission-actions .button:only-child {
  background: #e0e9d6;
  color: #254433;
}

.gallery-section {
  padding-block: 56px 66px;
}
.page-galeria .gallery {
  width: min(1080px, 100%);
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.36fr) repeat(2, minmax(0, 0.82fr));
  grid-template-rows: repeat(2, 176px);
  gap: 16px;
}
.page-galeria .gallery figure:first-child {
  grid-row: 1 / span 2;
}
.page-galeria .gallery .placeholder,
.page-galeria .gallery figure:first-child .placeholder {
  min-height: 0;
  height: 100%;
  aspect-ratio: auto;
}
.page-galeria .gallery-copy {
  position: absolute;
  inset: auto 20px 18px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.page-galeria .gallery-copy small {
  color: #526859;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.page-galeria .gallery-copy strong {
  color: #293f32;
  font-size: 1.05rem;
}
.page-galeria .gallery figure:first-child .gallery-copy small,
.page-galeria .gallery figure:first-child .gallery-copy strong {
  color: #f4f5e9;
}
.page-galeria .gallery figure:first-child .gallery-copy strong {
  font-size: clamp(1.45rem, 2.4vw, 2rem);
}

/* Inscrições: valores do primeiro lote e fluxo de pagamento. */
.page-inscricoes .price-list li {
  align-items: center;
}
.page-inscricoes .price-list span {
  color: #34493b;
  font-weight: 650;
}
.registration-payment-section {
  position: relative;
  isolation: isolate;
  width: min(1360px, calc(100% - 48px));
  margin: 48px auto;
  padding-block: 54px;
  border: 1px solid #677a694d;
  border-radius: 34px;
  color: #f4f4e9;
  background:
    radial-gradient(ellipse at 100% 0, #9a9b7140, transparent 60%),
    radial-gradient(ellipse at 0 100%, #72928728, transparent 56%),
    linear-gradient(120deg, #344941, #394b40);
  box-shadow:
    0 20px 50px #263e2214,
    inset 0 1px #ffffff18;
}
.registration-payment-section::before {
  content: "";
  position: absolute;
  right: 28px;
  top: 24px;
  width: 170px;
  height: 100px;
  background: radial-gradient(circle, #d6dfb734 1.5px, transparent 2px) 0 0 / 28px 28px;
  mask-image: linear-gradient(140deg, transparent, #000);
  pointer-events: none;
  z-index: -1;
}
.registration-payment-card {
  padding: clamp(28px, 4vw, 42px);
  color: #f4f4e9;
  border-color: #8b9c7757;
  background: linear-gradient(120deg, #40574a80, #31463b80);
  box-shadow:
    inset 0 1px #ffffff20,
    0 18px 38px #16261920;
}
.registration-payment-card h2 {
  color: #f7f3e7;
  font-size: clamp(1.65rem, 2.4vw, 2rem);
}
.registration-payment-card > p {
  max-width: 920px;
  color: #edf0e4;
}
.registration-payment-card .payment-lead {
  margin-bottom: 10px;
  color: #f5e4cb;
  font-size: clamp(1.05rem, 1.6vw, 1.18rem);
  font-weight: 700;
}
.payment-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: payment-step;
}
.payment-steps li {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 15px;
  align-items: start;
  min-width: 0;
  padding: 20px;
  border: 1px solid #aabd9a42;
  border-radius: 18px;
  color: #f0f2e7;
  background: #ffffff0b;
  counter-increment: payment-step;
}
.payment-steps li::before {
  content: counter(payment-step, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #f5f8e6;
  border-radius: 50%;
  color: #304738;
  background: #dce5d1;
  font-weight: 700;
}

/* Submissão: downloads diretos dos dois documentos oficiais. */
.norms-card .document-downloads {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.norms-card .document-downloads .button {
  min-width: 0;
  height: 100%;
  padding-inline: 16px;
  text-align: center;
}

@media (max-width: 960px) {
  .schedule-days,
  .commission-grid {
    grid-template-columns: 1fr;
  }
  .commission-grid {
    display: flex;
    flex-direction: column;
  }
  .commission-column {
    display: contents;
  }
  .commission-card {
    order: var(--mobile-order);
  }
  .commission-card--wide .member-list {
    grid-template-columns: 1fr;
  }
  .page-galeria .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 280px repeat(2, 160px);
  }
  .page-galeria .gallery figure:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .payment-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .program-overview h2 {
    min-height: 0;
  }
  .program-sab-status,
  .program-pending-row,
  .schedule-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .schedule-heading p {
    text-align: left;
  }
  .registration-payment-section {
    width: calc(100% - 24px);
    margin-block: 30px;
    padding-block: 28px;
    border-radius: 26px;
  }
  .registration-payment-section > .container {
    width: calc(100% - 32px);
  }
  .payment-steps,
  .norms-card .document-downloads {
    grid-template-columns: 1fr;
  }
  .schedule-item {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .schedule-item time {
    color: #31533e;
  }
  .page-galeria .gallery {
    grid-template-columns: 1fr;
    grid-template-rows: 240px repeat(4, 145px);
    gap: 14px;
  }
  .page-galeria .gallery figure:first-child {
    grid-column: auto;
  }
  .gallery-section {
    padding-block: 36px 48px;
  }
}
/* Estado encerrado da submissão e inscrições nos minicursos confirmados. */
.badge-closed {
  color: #74371f;
  background: #f1dfd2;
  border-color: #d8ab8d;
}
.submission-closed-notice {
  display: grid;
  gap: 10px;
  max-width: 780px;
  margin-inline: auto;
  padding: 26px;
  color: #f7f4e9;
  text-align: center;
  background: #ffffff0a;
  border: 1px solid #dbe5cd3b;
  border-radius: 20px;
}
.submission-closed-notice .eyebrow {
  margin-bottom: 0;
  color: #d9e3ce;
}
.submission-closed-notice h2,
.submission-closed-notice p {
  margin: 0;
}
.submission-closed-notice h2 {
  color: #fff8e9;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}
.submission-closed-notice p {
  color: #e1e6d8;
}
.page-submissao-resumos .submission-actions {
  justify-content: center;
}
.page-submissao-resumos .submission-actions button.button:disabled {
  min-width: min(320px, 100%);
  color: #6b746d;
  background: #d8ddd8;
  border-color: #b8c0b9;
  cursor: not-allowed;
  opacity: 0.78;
  pointer-events: none;
  box-shadow: none;
  transform: none;
}
.banner-model-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 24px;
  padding: 28px 32px;
  background:
    radial-gradient(ellipse at 100% 0, #dce7d45c, transparent 58%), #fbfaf5;
}
.banner-model-card .eyebrow {
  margin-bottom: 10px;
}
.banner-model-card h2 {
  margin-bottom: 10px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
}
.banner-model-card p {
  margin-bottom: 0;
  color: var(--muted);
}
.banner-model-action {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
}
.banner-model-action .badge {
  margin: 0;
}
.banner-model-action .button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.72;
  pointer-events: none;
}
.program-links-single {
  grid-template-columns: minmax(0, 1fr);
}
.minicourse-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.minicourse-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 28px;
  background:
    radial-gradient(ellipse at 100% 0, #dce7d45c, transparent 58%), #fbfaf5;
}
.minicourse-card:nth-child(3n + 2) {
  background:
    radial-gradient(ellipse at 100% 0, #eadfc85e, transparent 58%), #faf8f1;
}
.minicourse-card:nth-child(3n) {
  background:
    radial-gradient(ellipse at 100% 0, #d7e3dc66, transparent 58%), #f8faf6;
}
.minicourse-card .eyebrow {
  margin-bottom: 14px;
}
.minicourse-card h2 {
  margin-bottom: 0;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
}
.minicourse-card .details {
  grid-template-columns: 92px minmax(0, 1fr);
  margin-block: 24px;
}
.minicourse-card .details dd {
  overflow-wrap: anywhere;
}
.minicourse-card .button {
  align-self: flex-start;
  margin-top: auto;
}
@media (max-width: 1050px) {
  .minicourse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .banner-model-card,
  .banner-model-action {
    align-items: stretch;
    flex-direction: column;
  }
  .banner-model-card {
    gap: 22px;
    padding: 24px;
  }
  .banner-model-action .badge {
    align-self: flex-start;
  }
  .banner-model-action .button {
    width: 100%;
  }
  .minicourse-grid {
    grid-template-columns: 1fr;
  }
  .minicourse-card {
    padding: 24px;
  }
  .minicourse-card .details {
    grid-template-columns: 84px minmax(0, 1fr);
  }
  .minicourse-card .button {
    width: 100%;
  }
}

/* Aviso global sobre as comunicações do simpósio. */
:root {
  --site-alert-height: 44px;
}
.site-alert {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  display: grid;
  place-items: center;
  min-height: var(--site-alert-height);
  padding: 7px 20px;
  color: #f8f5e9;
  text-align: center;
  background: #244c3c;
  border-bottom: 1px solid #ffffff26;
}
.site-alert p {
  margin: 0;
  font-size: clamp(0.78rem, 1.15vw, 0.9rem);
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: 0.005em;
}
.site-header {
  inset: calc(var(--site-alert-height) + 18px) 24px auto;
}
.site-main > :first-child {
  padding-top: calc(160px + var(--site-alert-height));
}
@media (max-width: 1100px) {
  .site-header {
    inset: calc(var(--site-alert-height) + 12px) 18px auto;
  }
  .site-main > :first-child {
    padding-top: calc(132px + var(--site-alert-height));
  }
  #navigation {
    max-height: calc(100dvh - var(--site-alert-height) - 110px);
  }
}
@media (max-width: 760px) {
  :root {
    --site-alert-height: 64px;
  }
  .site-alert {
    padding-inline: 12px;
  }
  .site-alert p {
    font-size: 0.76rem;
  }
  .site-header {
    inset: calc(var(--site-alert-height) + 10px) 10px auto;
  }
  .site-main > :first-child {
    padding-top: calc(115px + var(--site-alert-height));
  }
}
