/* Hero editorial: fotografia real, identidade tipográfica e conteúdo acessível. */
.event-hero {
  --event-wine: #84243f;
  --event-green: #173d37;
  --event-cream: #f8f4ec;
  --event-gold: #b78b42;
  position: relative;
  background: var(--event-cream);
  color: var(--event-green);
  overflow: clip;
}
.event-visual { position: relative; height: 245px; background: #632334; isolation: isolate; overflow: hidden; }
.event-visual::before { content: ''; position: absolute; inset: -40% -65% -20% 66%; border-radius: 50%; background: #e9dfce; z-index: -1; transform: rotate(-15deg); }
.event-live { position: absolute; z-index: 3; top: 12px; left: 0; right: 26%; margin: 0; color: #fff7eb; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .23em; text-align: center; }
.event-botanical { position: absolute; left: -45px; top: -60px; height: 430px; width: 245px; opacity: .75; transform: rotate(-12deg); z-index: -1; }
.event-orbit { position: absolute; z-index: -1; width: 350px; height: 160px; top: 130px; left: -40px; border: 1px solid #b78b4270; border-radius: 50%; transform: rotate(-25deg); }
.event-portrait { position: absolute; width: 210px; max-width: none; height: auto; top: 28px; left: 50%; transform: translateX(-54%); }
.event-photo-note { position: absolute; top: 68px; right: 13px; margin: 0; color: var(--event-green); font-family: 'Fraunces', Georgia, serif; font-size: 11px; line-height: 1.35; font-weight: 600; text-align: center; transform: rotate(-6deg); }
.event-photo-note::after { content: ''; display: block; height: 1px; margin: 8px 0 0; background: var(--event-gold); }
.event-wave { position: absolute; z-index: 2; bottom: -1px; left: 0; width: 100%; height: 45px; background: url('assets/hero-wave.svg') center / 100% 100% no-repeat; }
.event-content { position: relative; z-index: 3; margin: -17px auto 0; padding: 0 22px 30px; max-width: 620px; text-align: center; }
.event-title { color: var(--event-green); font-family: 'Fraunces', Georgia, serif; font-weight: 600; line-height: 1; letter-spacing: -.055em; margin: 0 auto 18px; }
.event-title-top { display: flex; align-items: center; justify-content: center; gap: 13px; font-family: Lato, sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .3em; line-height: 1.4; }
.event-title-top::before, .event-title-top::after { content: ''; height: 1px; width: 28px; background: var(--event-gold); }
.event-title .event-title-feature { display: table; position: relative; margin: 2px auto 6px; font-weight: 600; font-size: clamp(46px, 12.8vw, 58px); line-height: 1.08; color: var(--event-wine); letter-spacing: -.07em; }
.event-title-feature::after { content: ''; position: absolute; left: 8%; right: 0; height: 6px; bottom: -3px; border-top: 2px solid var(--event-gold); border-radius: 50%; transform: rotate(-2deg); }
.event-title-bottom { display: block; font-size: clamp(32px, 9vw, 42px); white-space: nowrap; word-spacing: .12em; }
.event-title-bottom > span { color: var(--event-wine); }
.event-description { color: #52615d; font-size: 14px; line-height: 1.5; max-width: 490px; margin: 0 auto 18px; }
.event-questions { list-style: none; padding: 0; margin: 0 auto 18px; display: grid; gap: 7px; max-width: 490px; }
.event-questions li { display: flex; align-items: center; gap: 12px; padding: 10px 13px; border: 1px solid #ded4c7; border-radius: 14px; background: #f2ece3; text-align: left; }
.event-questions svg { flex: 0 0 22px; width: 22px; height: 22px; stroke: var(--event-wine); stroke-width: 1.25; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.event-questions p { margin: 0; color: var(--event-green); font-size: 14px; line-height: 1.4; }
.event-cta { display: flex; align-items: center; justify-content: center; gap: 13px; width: 100%; max-width: 490px; min-height: 59px; padding: 17px 18px; margin: 0 auto; background: var(--event-wine); border: 1px solid var(--event-wine); border-radius: 999px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; line-height: 1.5; transition: background .2s; }
.event-cta:hover { background: #692036; }
.contract-cta { --event-wine: #632334; --event-green: #f8f4ec; border-color: #d8b879; }
.event-cta:focus-visible { outline: 3px solid var(--event-green); outline-offset: 4px; }
.event-cta svg { width: 23px; height: 23px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.event-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px 0; list-style: none; padding: 0; margin: 24px auto 0; max-width: 490px; }
.event-facts li { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 12px; line-height: 1.3; }
.event-facts li:nth-child(2n) { border-left: 1px solid #d5c8b6; }
.event-facts .fact-price { display: flex; flex-direction: column; gap: 4px; white-space: nowrap; }
.fact-price small { font-size: .85em; color: #52615d; }
.event-facts svg { width: 21px; height: 21px; flex-shrink: 0; stroke: #98702f; fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.event-hero + .chapter-strip { background: #f0e9dd; color: #38544a; border-color: #ded4c7; }
.event-hero + .chapter-strip span:nth-child(even) { color: #98702f; }
@media (min-width: 600px) and (max-width: 999px) {
  .event-visual { height: 335px; }
  .event-portrait { width: 310px; top: 38px; }
  .event-live { top: 25px; right: 0; font-size: 10px; }
  .event-visual::before { left: 67%; }
  .event-photo-note { right: 12%; top: 100px; font-size: 20px; }
  .event-botanical { width: 350px; height: 570px; }
  .event-wave { height: 65px; }
  .event-content { margin-top: -25px; }
  .event-title-top { font-size: 10px; }
  .event-description { font-size: 15px; }
  .event-questions p { font-size: 15px; }
  .event-cta { font-size: 13px; }
}
@media (min-width: 1000px) {
  .event-hero { display: grid; grid-template-columns: 46% 54%; min-height: 800px; }
  .event-visual { height: 100%; min-height: 800px; overflow: hidden; }
  .event-visual::before { display: none; }
  .event-live { top: 42px; right: 0; font-size: 11px; }
  .event-botanical { height: 820px; width: 470px; top: 0; left: -90px; }
  .event-orbit { width: 650px; height: 310px; top: 260px; left: -100px; }
  .event-portrait { width: 710px; top: 120px; left: 50%; transform: translateX(-51%); }
  .event-photo-note { top: 88px; right: auto; left: 35px; z-index: 4; color: #fff7eb; font-size: 18px; text-align: left; }
  .event-wave { width: 125px; height: 100%; left: auto; right: -1px; background-image: url('assets/hero-wave-desktop.svg'); }
  .event-content { align-self: center; width: 100%; max-width: 650px; margin: 0 auto; padding: 32px 36px; }
  .event-title { margin-bottom: 20px; }
  .event-title-top { font-size: 12px; gap: 20px; }
  .event-title-top::before, .event-title-top::after { width: 42px; }
  .event-title .event-title-feature { font-size: clamp(58px, 4.8vw, 74px); }
  .event-title-bottom { font-size: clamp(40px, 3.3vw, 52px); }
  .event-description { font-size: 14px; margin-bottom: 18px; }
  .event-questions { gap: 8px; }
  .event-questions li { padding: 11px 18px; gap: 15px; }
  .event-questions p { font-size: 15px; }
  .event-cta { min-height: 62px; font-size: 12px; }
  .event-facts { grid-template-columns: 1.15fr 1.15fr 1.25fr .75fr; gap: 0; max-width: 530px; }
  .event-facts li { gap: 6px; font-size: 11px; padding: 0 7px; }
  .event-facts li + li { border-left: 1px solid #d5c8b6; }
  .event-facts svg { width: 19px; height: 19px; }
}
@media (prefers-reduced-motion: reduce) { .event-cta { transition: none; } }

/* A mensagem principal lidera a leitura, com a marca acima. */
.event-headline { max-width: 530px; margin: 0 auto 13px; font-family: Lato, sans-serif; font-size: clamp(25px, 6.5vw, 29px); font-weight: 700; line-height: 1.18; letter-spacing: -.025em; text-wrap: pretty; }
.event-headline em { color: var(--event-wine); font-weight: 700; font-style: normal; }
.event-subtitle { max-width: 490px; margin: 0 auto 12px; color: var(--event-green); font-size: 15px; line-height: 1.45; }
.event-description strong { color: var(--event-green); }
@media (min-width: 600px) {
  .event-headline { font-size: 30px; }
  .event-subtitle { font-size: 16px; }
}
@media (min-width: 1000px) {
  .event-headline { font-size: clamp(28px, 2.3vw, 34px); }
}
