/* Reference: experiencia-da-festa.png, 1672 × 941. Copy: editorial document 09.
   The supplied scene is decorative; all substantive copy remains visible HTML. */
.wedding-experience,
.wedding-experience * { box-sizing: border-box; }
.wedding-experience {
  --experience-gold: #dfb456;
  position: relative;
  isolation: isolate;
  background: #100502;
  color: #f6efe0;
  scroll-margin-top: 0;
  padding-top: 72px;
}
.wedding-experience__canvas {
  position: relative;
  width: 100%;
  aspect-ratio: 1672 / 941;
  container-type: inline-size;
  font-family: Arial, "Helvetica Neue", sans-serif;
}
.wedding-experience p,
.wedding-experience h2,
.wedding-experience h3 { margin: 0; }
.wedding-experience__scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.wedding-experience__logo {
  position: absolute;
  top: 3.1cqw;
  left: 5.74%;
  width: 14.95%;
  height: auto;
  pointer-events: none;
}
.wedding-experience__header {
  position: absolute;
  top: 20.72%;
  left: 5.74%;
  width: 44%;
}
.wedding-experience .wedding-experience__eyebrow {
  color: var(--experience-gold);
  font-size: .94cqw;
  line-height: 1.25;
  letter-spacing: .36em;
  text-transform: uppercase;
  margin-bottom: 1.35cqw;
}
.wedding-experience h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 4.65cqw;
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.052em;
  text-shadow: 0 2px 15px #0005;
}
.wedding-experience h2 > span,
.wedding-experience h2 > em { display: block; }
.wedding-experience h2 em,
.wedding-experience h3 em {
  color: var(--experience-gold);
  font-weight: 400;
}
.wedding-experience .wedding-experience__intro {
  width: 67.5%;
  margin-top: 1.65cqw;
  font-size: max(15px, 1.015cqw);
  line-height: 1.37;
  letter-spacing: -.035em;
  color: #efebe5;
  text-shadow: 0 1px 6px #000;
}
.wedding-experience__benefits {
  position: absolute;
  top: 66.3%;
  left: 5.74%;
  width: 62.9%;
  display: grid;
  grid-template-columns: 29.4% 36.4% 34.2%;
}
.wedding-experience__benefit { position: relative; padding-right: 1.5cqw; }
.wedding-experience__benefit + .wedding-experience__benefit {
  border-left: 1px solid #d6ab5066;
  padding-left: 2.2cqw;
}
.wedding-experience__benefit::before {
  content: "";
  display: block;
  width: 1.65cqw;
  height: 2px;
  margin-bottom: .75cqw;
  background: var(--experience-gold);
}
.wedding-experience h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.78cqw;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.028em;
}
.wedding-experience h3 em { display: block; }
.wedding-experience__benefit p {
  margin-top: .85cqw;
  font-size: max(15px, 1.015cqw);
  line-height: 1.29;
  letter-spacing: -.035em;
  color: #efebe5;
  text-shadow: 0 1px 6px #000;
}
.wedding-experience__signature {
  position: absolute;
  right: 6.1%;
  top: 78.6%;
  color: var(--experience-gold);
  font-family: "WindSong", cursive;
  font-size: 2.65cqw;
  line-height: 1.05;
  transform: rotate(-5deg);
}
.wedding-experience__signature span {
  display: block;
  padding-left: 3.4cqw;
}
.wedding-experience__signature::after {
  content: "";
  display: block;
  width: 65%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--experience-gold) 12%, var(--experience-gold) 70%, transparent);
  margin: .6cqw 0 0 auto;
  transform: rotate(-4deg);
}
.wedding-experience__footer {
  position: absolute;
  inset: auto 3.15% 4.4%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: .61cqw;
  line-height: 1.6;
  letter-spacing: .31em;
  text-transform: uppercase;
  color: #c69a3d;
}
.wedding-experience__footer p:first-child { display: flex; align-items: center; gap: 1.25cqw; }
.wedding-experience__footer p:first-child::before,
.wedding-experience__footer p:first-child::after {
  content: "";
  width: 1.5cqw;
  height: 1px;
  background: #a77e2b77;
}
.wedding-experience__footer p:first-child::after { width: 6cqw; }
.wedding-experience__footer b { font-weight: 400; }
.wedding-experience__footer p:last-child { text-align: right; }
.wedding-experience__footer span { display: block; }

/* Shorter desktop canvases need readable paragraphs and space below them. */
@media (min-width: 1200px) and (max-width: 1439px) {
  .wedding-experience__intro { width: 71%; }
  .wedding-experience__benefit p { line-height: 1.25; }
  .wedding-experience__footer { bottom: 2.5%; }
}

/* Reflow on small screens: keep the artist prominent and let the copy set height. */
@media (max-width: 1199px) {
  .wedding-experience__canvas { aspect-ratio: auto; padding-bottom: 32px; }
  .wedding-experience__scene {
    position: relative;
    display: block;
    height: clamp(360px, 62vw, 600px);
    object-position: 64% top;
    mask-image: linear-gradient(#000 68%, transparent 100%);
  }
  .wedding-experience__logo { display: none; }
  .wedding-experience__header {
    position: relative;
    inset: auto;
    width: auto;
    max-width: 780px;
    margin: -52px auto 0;
    padding-inline: clamp(24px, 6vw, 60px);
  }
  .wedding-experience .wedding-experience__eyebrow {
    margin-bottom: 20px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .24em;
  }
  .wedding-experience h2 { font-size: clamp(37px, 7vw, 66px); line-height: 1.03; }
  .wedding-experience .wedding-experience__intro {
    width: auto;
    max-width: 590px;
    margin-top: 25px;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: -.02em;
  }
  .wedding-experience__benefits {
    position: relative;
    inset: auto;
    width: auto;
    max-width: 780px;
    margin: 38px auto 0;
    padding-inline: clamp(24px, 6vw, 60px);
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .wedding-experience__benefit,
  .wedding-experience__benefit + .wedding-experience__benefit { border: 0; padding: 0; }
  .wedding-experience__benefit::before { width: 28px; margin-bottom: 14px; }
  .wedding-experience h3 { font-size: 30px; line-height: 1.1; }
  .wedding-experience__benefit p {
    max-width: 590px;
    margin-top: 14px;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: -.02em;
  }
  .wedding-experience__signature {
    position: relative;
    inset: auto;
    width: fit-content;
    margin: 42px auto 32px !important;
    font-size: 39px;
  }
  .wedding-experience__signature span { padding-left: 40px; }
  .wedding-experience__footer {
    position: relative;
    inset: auto;
    justify-content: center;
    font-size: 8px;
    letter-spacing: .15em;
  }
  .wedding-experience__footer p:first-child { flex-wrap: wrap; justify-content: center; gap: 10px; }
  .wedding-experience__footer p:last-child,
  .wedding-experience__footer p:first-child::before,
  .wedding-experience__footer p:first-child::after { display: none; }
}
