:root {
  --ink: #0f0f0f;
  --ink-soft: #181818;
  --graphite: #24201b;
  --metal: #4d4c4c;
  --line-dark: #303030;
  --line-light: #d8d5d1;
  --paper: #f5f2ef;
  --white: #ffffff;
  --muted-dark: #bcb8b4;
  --muted-light: #5f5d5a;
  --orange: #fb6e02;
  --orange-dark: #da6003;
  --display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue Condensed", Impact, sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --container: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  margin: 0;
  color: var(--ink);
  font-family: var(--body);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p,
figure,
dl,
dd {
  margin: 0;
}

h1,
h2,
h3 {
  font-family: var(--display);
  font-stretch: condensed;
  font-weight: 900;
  line-height: 1.03;
  letter-spacing: -0.025em;
}

p + p {
  margin-top: 1rem;
}

.container {
  width: min(100% - 2.5rem, var(--container));
  margin-inline: auto;
}

.dark-section {
  color: var(--white);
  background: var(--ink);
}

.light-section {
  color: var(--ink);
  background: var(--paper);
}

.hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line-dark);
}

.hero::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(112deg, transparent 49%, rgba(251, 110, 2, 0.055) 49.15%, transparent 49.5%),
    linear-gradient(112deg, transparent 68%, rgba(255, 255, 255, 0.035) 68.15%, transparent 68.5%);
  content: "";
  pointer-events: none;
}

.hero-glow {
  position: absolute;
  top: 24%;
  right: -20%;
  width: 66vw;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251, 110, 2, 0.12), transparent 66%);
  pointer-events: none;
}

.hero-shell {
  position: relative;
  z-index: 1;
  padding-block: 1.4rem 3.5rem;
}

.event-logo-wrap {
  display: block;
  width: min(100%, 600px);
  margin-bottom: 1.8rem;
}

.event-logo {
  width: 100%;
  height: auto;
}

.hero-grid {
  display: grid;
  gap: 2rem;
}

.hero-content h1 {
  max-width: 18ch;
  font-size: clamp(2.15rem, 9.4vw, 4.7rem);
}

.hero-lead {
  max-width: 65ch;
  margin-top: 1.25rem;
  color: #d6d3d0;
  font-size: 1.03rem;
  line-height: 1.62;
}

.event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-top: 1.5rem;
  color: var(--white);
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.event-meta span {
  color: var(--orange);
  font-size: 0.9em;
}

.capture-form {
  max-width: 690px;
  margin-top: 2rem;
  padding: 1.2rem;
  border: 1px solid #373431;
  border-radius: 0.5rem;
  background: rgba(29, 29, 29, 0.93);
}

.capture-form h2 {
  margin-bottom: 1rem;
  font-size: clamp(1.35rem, 5vw, 1.7rem);
}

.form-fields {
  display: grid;
  gap: 0.85rem;
}

.capture-form label {
  display: block;
}

.capture-form label span {
  display: block;
  margin-bottom: 0.33rem;
  color: #d7d4d0;
  font-size: 0.88rem;
  font-weight: 700;
}

.capture-form input {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid #55514d;
  border-radius: 0.35rem;
  outline: 0;
  background: #121212;
  color: var(--white);
  font: inherit;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.capture-form input::placeholder {
  color: #8f8c89;
}

.capture-form input:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(251, 110, 2, 0.18);
}

.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.6rem;
  margin-top: 1rem;
  padding: 0.9rem 1.15rem;
  border: 0;
  border-radius: 0.35rem;
  background: var(--orange);
  box-shadow: 0 8px 22px rgba(251, 110, 2, 0.2);
  color: #101010;
  cursor: pointer;
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.015em;
  line-height: 1.12;
  text-align: center;
  text-decoration: none;
  transition: background 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}

.cta-button:hover {
  background: #ff8121;
  box-shadow: 0 10px 28px rgba(251, 110, 2, 0.28);
  transform: translateY(-1px);
}

.cta-button:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: 3px;
}

.hero-photo-wrap {
  position: relative;
  height: clamp(250px, 76vw, 410px);
  overflow: hidden;
  border-bottom: 3px solid var(--orange);
  border-radius: 0.5rem 0.5rem 0 0;
}

.hero-photo-wrap::after {
  position: absolute;
  inset: auto 0 0;
  height: 34%;
  background: linear-gradient(transparent, rgba(15, 15, 15, 0.42));
  content: "";
}

.hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}

.audience {
  padding-block: 4.5rem;
}

.audience-grid {
  display: grid;
  gap: 2rem;
}

.audience h2 {
  max-width: 12ch;
  font-size: clamp(2.4rem, 10vw, 4.65rem);
}

.check-list {
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 2.3rem;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.48;
}

.check-list li::before {
  position: absolute;
  top: 0.1rem;
  left: 0;
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border-radius: 50%;
  background: var(--orange);
  color: var(--ink);
  content: "✓";
  font-size: 0.88rem;
  font-weight: 1000;
}

.audience-highlight {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line-light);
  font-family: var(--display);
  font-size: clamp(1.35rem, 5.2vw, 2rem);
  font-weight: 900;
  line-height: 1.2;
}

.context {
  position: relative;
  overflow: hidden;
  padding-block: 5rem;
  background: var(--ink-soft);
}

.context::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 7.5rem;
  height: 0.28rem;
  background: var(--orange);
  content: "";
}

.context-grid {
  display: grid;
  gap: 2.2rem;
}

.context h2 {
  max-width: 13ch;
  font-size: clamp(2.5rem, 10vw, 5.3rem);
}

.context h2 span {
  color: var(--orange);
}

.context-copy {
  max-width: 620px;
  color: #cfccca;
  font-size: 1.06rem;
}

.context-copy strong {
  color: var(--white);
  font-weight: 800;
  box-shadow: inset 0 -0.24em rgba(251, 110, 2, 0.42);
}

.event-format {
  padding-block: 5rem;
}

.section-heading h2 {
  font-size: clamp(2.55rem, 10vw, 5rem);
}

.centered-heading {
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.centered-heading p {
  max-width: 650px;
  margin: 1.2rem auto 0;
  color: var(--muted-light);
  font-size: 1.05rem;
}

.format-list {
  display: grid;
  margin-top: 3.4rem;
  border-top: 1px solid var(--line-light);
}

.format-item {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 1rem;
  padding-block: 1.55rem;
  border-bottom: 1px solid var(--line-light);
}

.line-icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border: 1px solid var(--orange);
  border-radius: 50%;
  color: var(--orange);
}

.line-icon svg {
  width: 1.6rem;
  height: 1.6rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.format-item h3 {
  padding-top: 0.35rem;
  font-size: 1.24rem;
  letter-spacing: 0.02em;
}

.format-item p {
  margin-top: 0.55rem;
  color: var(--muted-light);
  line-height: 1.55;
}

.schedule {
  position: relative;
  overflow: hidden;
  padding-block: 5rem 5.5rem;
}

.schedule::before {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 42%, rgba(251, 110, 2, 0.08), transparent 35%);
  content: "";
  pointer-events: none;
}

.schedule .container {
  position: relative;
  z-index: 1;
}

.schedule-heading {
  max-width: 760px;
  margin-bottom: 3.25rem;
}

.timeline {
  position: relative;
  display: grid;
}

.timeline::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2.2rem;
  width: 2px;
  background: linear-gradient(var(--orange), #5e2a05 90%, transparent);
  content: "";
}

.timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 4.4rem 1fr;
  gap: 1.25rem;
  padding-bottom: 3.25rem;
}

.timeline-item:last-child {
  padding-bottom: 0;
}

.timeline-marker {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: start;
  padding-block: 0.2rem 0.6rem;
  background: var(--ink);
}

.day-number {
  color: var(--orange);
  font-family: var(--display);
  font-size: 2.55rem;
  font-weight: 900;
  line-height: 1;
}

.day-date {
  margin-top: 0.35rem;
  color: #bebbb8;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.11em;
}

.timeline-content h3 {
  max-width: 19ch;
  font-size: clamp(1.7rem, 6.5vw, 2.55rem);
}

.timeline-content > p {
  max-width: 54ch;
  margin-top: 0.9rem;
  color: #c8c5c2;
  line-height: 1.55;
}

.timeline-content .takeaway {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid #373431;
  color: #e0ddda;
  font-size: 0.96rem;
}

.timeline-content .takeaway strong {
  color: var(--orange);
}

.about {
  padding-block: 5rem;
}

.about-grid {
  display: grid;
  gap: 2.5rem;
}

.about-photo-wrap {
  position: relative;
  max-height: 580px;
  overflow: hidden;
  border-radius: 0.5rem;
  background: #dedbd7;
}

.about-photo-wrap::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 34%;
  height: 0.32rem;
  background: var(--orange);
  content: "";
}

.about-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}

.about-content h2 {
  font-size: clamp(2.7rem, 10vw, 5rem);
}

.about-story {
  max-width: 680px;
  margin-top: 1.4rem;
  color: #4f4c49;
}

.authority-stats {
  display: grid;
  margin-top: 2rem;
  border-top: 1px solid var(--line-light);
}

.authority-stats > div {
  padding-block: 1.05rem;
  border-bottom: 1px solid var(--line-light);
}

.authority-stats dt {
  color: var(--orange-dark);
  font-family: var(--display);
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.1;
}

.authority-stats dd {
  margin-top: 0.25rem;
  color: var(--muted-light);
  font-size: 0.93rem;
  line-height: 1.45;
}

.about-closing {
  margin-top: 2rem;
  padding-left: 1rem;
  border-left: 4px solid var(--orange);
  font-family: var(--display);
  font-size: clamp(1.35rem, 5vw, 1.85rem);
  font-weight: 900;
  line-height: 1.24;
}

.final-cta {
  position: relative;
  overflow: hidden;
  padding-block: 5rem;
  text-align: center;
}

.final-cta::before,
.final-cta::after {
  position: absolute;
  width: 22rem;
  height: 0.22rem;
  background: var(--orange);
  content: "";
  opacity: 0.7;
  transform: rotate(-9deg);
}

.final-cta::before {
  top: 3rem;
  left: -11rem;
}

.final-cta::after {
  right: -11rem;
  bottom: 3rem;
}

.final-cta-content {
  position: relative;
  z-index: 1;
}

.final-cta h2 {
  max-width: 950px;
  margin-inline: auto;
  font-size: clamp(2.7rem, 10vw, 5.6rem);
}

.final-cta p {
  max-width: 710px;
  margin: 1.4rem auto 0;
  color: #ccc9c6;
  font-size: 1.05rem;
}

.final-meta {
  margin-top: 1.6rem;
  color: var(--white);
  font-family: var(--display);
  font-size: 1.12rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.final-meta span {
  margin-inline: 0.25rem;
  color: var(--orange);
}

.final-button {
  max-width: 500px;
  margin: 1.8rem auto 0;
}

@media (min-width: 700px) {
  .container {
    width: min(100% - 4rem, var(--container));
  }

  .hero-shell {
    padding-block: 1.9rem 4.8rem;
  }

  .event-logo-wrap {
    margin-bottom: 2.4rem;
  }

  .form-fields {
    grid-template-columns: repeat(3, 1fr);
  }

  .format-item {
    grid-template-columns: 4rem 1fr;
    gap: 1.25rem;
  }

  .line-icon {
    width: 3.6rem;
    height: 3.6rem;
  }

  .authority-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .authority-stats > div:nth-child(odd) {
    padding-right: 1.25rem;
    border-right: 1px solid var(--line-light);
  }

  .authority-stats > div:nth-child(even) {
    padding-left: 1.25rem;
  }
}

@media (min-width: 960px) {
  .hero-shell {
    min-height: 860px;
    padding-block: 2rem 4rem;
  }

  .event-logo-wrap {
    width: 540px;
    margin-bottom: 1.6rem;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    gap: 3rem;
    align-items: stretch;
  }

  .hero-content {
    position: relative;
    z-index: 2;
  }

  .hero-content h1 {
    font-size: clamp(3.6rem, 5.15vw, 4.85rem);
  }

  .capture-form {
    margin-top: 1.7rem;
  }

  .hero-photo-wrap {
    height: auto;
    min-height: 645px;
    margin-top: -2.2rem;
    border-bottom-width: 4px;
    border-radius: 0.6rem 0.6rem 0 0;
  }

  .hero-photo {
    object-position: 49% center;
  }

  .audience,
  .context,
  .event-format,
  .about,
  .final-cta {
    padding-block: 7rem;
  }

  .audience-grid {
    grid-template-columns: minmax(320px, 0.8fr) minmax(420px, 1.2fr);
    gap: 7rem;
    align-items: center;
  }

  .check-list li {
    font-size: 1.12rem;
  }

  .context-grid {
    grid-template-columns: minmax(400px, 1fr) minmax(420px, 0.8fr);
    gap: 7rem;
    align-items: center;
  }

  .context-copy {
    font-size: 1.12rem;
  }

  .format-list {
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--line-light);
  }

  .format-item {
    grid-template-columns: 1fr;
    padding: 2rem;
    border-right: 1px solid var(--line-light);
    border-bottom: 0;
  }

  .format-item:first-child {
    padding-left: 0;
  }

  .format-item:last-child {
    padding-right: 0;
    border-right: 0;
  }

  .schedule {
    padding-block: 7rem 7.5rem;
  }

  .schedule-heading {
    margin-bottom: 4.4rem;
  }

  .timeline {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
  }

  .timeline::before {
    top: 3.25rem;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 2px;
    background: linear-gradient(90deg, var(--orange), #6b3006 90%, transparent);
  }

  .timeline-item {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    padding-bottom: 0;
  }

  .timeline-marker {
    width: max-content;
    min-width: 5.2rem;
    align-items: flex-start;
    padding-right: 0.8rem;
  }

  .day-number {
    font-size: 3.5rem;
  }

  .timeline-content h3 {
    min-height: 4.7em;
    font-size: clamp(1.8rem, 2.25vw, 2.5rem);
  }

  .timeline-content > p {
    font-size: 0.98rem;
  }

  .about-grid {
    grid-template-columns: minmax(340px, 0.78fr) minmax(520px, 1.22fr);
    gap: 5.5rem;
    align-items: center;
  }

  .about-photo-wrap {
    height: 720px;
    max-height: none;
  }
}

/* Refinamento mobile-first — setembro/2026 */
body { overflow-x: hidden; }
#capture-form { scroll-margin-top: 1rem; }
.hero-content h1 span { color: var(--orange); }
.schedule-button { max-width: 520px; margin: 2.5rem auto 0; }

@media (max-width: 699px) {
  .container { width: min(100% - 2rem, var(--container)); }
  .hero-shell { padding-block: 1.1rem 2.9rem; }
  .event-logo-wrap { width: min(94%, 520px); margin-bottom: 1.15rem; }
  .hero-grid { gap: 1.15rem; }
  .hero-content { display: contents; }
  .hero-content h1 { order: -5; max-width: 19ch; font-size: clamp(1.82rem, 8vw, 2.6rem); line-height: 1.08; overflow-wrap: normal; }
  .hero-lead { order: -4; margin-top: 0; line-height: 1.56; }
  .event-meta { order: -3; margin-top: 0; }
  .hero-photo-wrap { order: -2; height: clamp(220px, 64vw, 350px); margin-top: 0.15rem; }
  .capture-form { order: -1; margin-top: 0; }

  .audience { padding-block: 3.4rem; }
  .audience-grid { gap: 1.45rem; }
  .audience h2 { font-size: clamp(2rem, 8.5vw, 3rem); }
  .audience-highlight { margin-top: 1.45rem; padding-top: 1rem; }

  .context { padding-block: 3.9rem; }
  .context-grid { gap: 1.6rem; }
  .context h2 { font-size: clamp(2.05rem, 8.5vw, 3.15rem); line-height: 1.07; }
  .context-copy p + p { margin-top: 1.15rem; }

  .event-format { padding-block: 3.9rem; }
  .section-heading h2 { font-size: clamp(2.05rem, 8.25vw, 3.1rem); line-height: 1.07; }
  .format-list { margin-top: 2.3rem; }
  .format-item { gap: 0.9rem; padding-block: 1.3rem; }
  .format-item h3 { padding-top: 0.18rem; }
  .format-item p { margin-top: 0.4rem; }

  .schedule { padding-block: 4.4rem 4.8rem; }
  .schedule-heading { margin-bottom: 3rem; }
  .schedule-heading h2 { font-size: clamp(2.45rem, 10vw, 3.5rem); }
  .timeline-item { padding-bottom: 4rem; }
  .timeline-content h3 { font-size: clamp(1.55rem, 6vw, 2.25rem); line-height: 1.08; }

  .about { padding-block: 3.9rem; }
  .about-grid { gap: 1.85rem; }
  .about-content h2 { font-size: clamp(2.25rem, 8.75vw, 3.25rem); }
  .about-story { margin-top: 1rem; }
  .authority-stats { margin-top: 1.5rem; }
  .about-closing { margin-top: 1.5rem; }

  .final-cta { padding-block: 3.9rem; }
  .final-cta h2 { font-size: clamp(2.15rem, 8.25vw, 3.25rem); line-height: 1.07; }
  .final-cta p { margin-top: 1rem; }
  .final-meta { margin-top: 1.2rem; }
  .final-button { margin-top: 1.3rem; }
}

@media (max-width: 359px) {
  .container { width: min(100% - 1.5rem, var(--container)); }
  .event-logo-wrap { width: 92%; }
  .hero-content h1 { font-size: 1.72rem; }
  .capture-form { padding: 1rem; }
  .timeline-item { grid-template-columns: 3.8rem minmax(0, 1fr); gap: 0.8rem; }
  .timeline::before { left: 1.9rem; }
  .day-number { font-size: 2.2rem; }
  .day-date { font-size: 0.7rem; letter-spacing: 0.08em; }
}

@media (min-width: 700px) {
  .schedule-button { margin-top: 3.25rem; }
}

@media (min-width: 960px) {
  .schedule-heading h2 { font-size: clamp(4rem, 5vw, 5.35rem); }
  .schedule-button { margin-top: 4rem; }
}

@media (min-width: 1220px) {
  .hero-grid {
    grid-template-columns: 1.16fr 0.84fr;
  }

  .hero-photo-wrap {
    min-height: 660px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Revisão desktop: regras anteriores e mobile aprovado preservados. */
@media (min-width: 1024px) {
  .hero-shell { min-height: 0; padding-block: 1.4rem 3rem; }
  .event-logo-wrap { width: 430px; margin-bottom: 1rem; }
  .hero-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 2rem;
    align-items: start;
  }
  .hero-content h1 {
    max-width: none;
    font-size: clamp(2.85rem, 3.8vw, 3.65rem);
    line-height: 1.06;
  }
  .hero-lead { margin-top: 1rem; }
  .hero .event-meta { margin-top: 1rem; }
  .hero .capture-form { margin-top: 1.1rem; }
  .hero-photo-wrap {
    height: auto;
    min-height: 0;
    margin-top: 0;
  }
  .hero-photo { height: auto; object-fit: contain; }

  .context-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(3rem, 5vw, 5rem);
  }
  .context h2 {
    max-width: 17ch;
    font-size: clamp(3.5rem, 4.65vw, 4.4rem);
    line-height: 1.07;
  }
  .context-copy { font-size: 1.2rem; line-height: 1.75; }

  .timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 3rem;
    row-gap: 3.5rem;
  }
  .timeline::before { display: none; }
  .timeline-item {
    grid-template-rows: auto 1fr;
    align-content: start;
    gap: 1.5rem;
  }
  .timeline-item::before {
    position: absolute;
    top: 3.25rem;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--orange), #6b3006);
    content: "";
  }
  .timeline-item:nth-child(odd)::before { right: -3rem; }
  .timeline-content h3 {
    max-width: none;
    min-height: 0;
    font-size: clamp(2rem, 2.5vw, 2.5rem);
    line-height: 1.1;
  }
  .timeline-content > p { font-size: 1.075rem; line-height: 1.65; }
  .timeline-content .takeaway { font-size: 1.05rem; line-height: 1.65; }
  .schedule-button { display: flex; }

  .about-grid {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(3rem, 5vw, 5.5rem);
  }
  .about-story { font-size: 1.075rem; line-height: 1.75; }
  .authority-stats dd { font-size: 1rem; line-height: 1.6; }

  .final-cta { padding-block: 5rem; }
  .final-cta h2 { max-width: 1040px; font-size: 4.9rem; line-height: 1.05; }
  .final-cta p { margin-top: 1.1rem; }
  .final-meta { margin-top: 1.2rem; }
  .final-button { margin-top: 1.3rem; }
}

/* Hero compacto e tipografia limitada exclusivamente ao desktop. */
@media (min-width: 1024px) {
  .hero { overflow: visible; }
  .hero-glow { right: 0; width: 45%; }
  .hero-shell {
    width: min(100% - 4rem, 1280px);
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
    column-gap: 2rem;
    row-gap: 0.5rem;
    padding-block: 0.75rem 1rem;
  }
  .event-logo-wrap { grid-column: 1; grid-row: 1; width: 260px; margin: 0; }
  .hero-grid { display: contents; }
  .hero-content { grid-column: 1; grid-row: 2; }
  .hero-content h1 { max-width: none; font-size: 2.25rem; line-height: 1.06; }
  .hero-lead { max-width: none; margin-top: 0.5rem; font-size: 1rem; line-height: 1.45; }
  .hero .event-meta { margin-top: 0.5rem; line-height: 1.5; }
  .hero .capture-form { max-width: none; margin-top: 0.625rem; padding: 0.75rem; }
  .capture-form h2 { margin-bottom: 0.5rem; font-size: 1.375rem; }
  .form-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.625rem; }
  .capture-form label { min-width: 0; }
  .capture-form label span { margin-bottom: 0.25rem; }
  .capture-form input { min-height: 2.75rem; padding: 0.5rem 0.625rem; font-size: 1rem; line-height: 1.5; }
  .capture-form .cta-button { min-height: 2.875rem; margin-top: 0.625rem; padding-block: 0.625rem; }
  .hero-photo-wrap { grid-column: 2; grid-row: 1 / 3; align-self: center; width: 100%; height: auto; min-height: 0; margin: 0; }
  .hero-photo { width: 100%; height: auto; object-fit: contain; }
  .audience h2, .context h2, .section-heading h2, .about-content h2 {
    max-width: none; font-size: 2.125rem; line-height: 1.1;
  }
  .final-cta h2 { max-width: 950px; font-size: 2.375rem; line-height: 1.1; }
  .timeline-content h3 { font-size: 1.5rem; line-height: 1.15; }
  .hero h1 br, .audience h2 br, .context h2 br, .section-heading h2 br,
  .about-content h2 br, .final-cta h2 br, .timeline-content h3 br { display: none; }
}
