.page-home { background: #fffdfa; }
.home-section { padding: 92px 0; }
.home-heading { max-width: 790px; margin: 0 auto 48px; text-align: center; }
.home-heading > p:last-child { max-width: 660px; margin-inline: auto; color: var(--muted); }

/* Hero: fundo completo apenas no desktop. */
.home-hero {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: stretch;
  isolation: isolate;
  overflow: hidden;
  background-color: #efe5d9;
  background-image:
    linear-gradient(90deg, rgba(251,247,241,.99) 0%, rgba(251,247,241,.96) 31%, rgba(251,247,241,.74) 49%, rgba(251,247,241,.1) 74%, rgba(251,247,241,.02) 100%),
    url("../images/v11/home/hero.webp");
  background-position: center, right top;
  background-repeat: no-repeat;
  background-size: cover, cover;
}
.home-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 130px;
  background: linear-gradient(180deg, transparent, rgba(45,30,18,.14));
  pointer-events: none;
}
.hero-content { flex: 0 0 auto; display: flex; align-items: center; padding-block: 70px 88px; }
.hero-copy { width: min(730px, 59%); padding-left: 0; }
.hero-copy h1 { max-width: 730px; margin-bottom: 24px; font-size: clamp(3.35rem, 4.4vw, 4.65rem); color: #2a211b; letter-spacing: -.025em; }
.hero-copy h1 span, .hero-copy h1 em { display: block; }
.hero-copy h1 em { color: var(--gold-dark); font-weight: 500; }
.hero-lead { max-width: 620px; color: #554a42; font-size: 1rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 27px 0 35px; }
.hero-mobile-visual { display: none; }
.hero-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.hero-benefits li { min-width: 0; display: flex; align-items: center; gap: 10px; padding-top: 14px; border-top: 1px solid rgba(117,69,14,.19); }
.benefit-icon { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; color: var(--gold-dark); background: rgba(255,253,250,.78); border: 1px solid rgba(117,69,14,.2); border-radius: 50%; }
.benefit-icon img { width: 19px; height: 19px; }
.hero-benefits strong, .hero-benefits small { display: block; line-height: 1.35; }
.hero-benefits strong { font-size: .69rem; }
.hero-benefits small { margin-top: 3px; color: var(--muted); font-size: .58rem; }

/* Eventos */
.events-section { background: var(--white); }
.events-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.home-event-card { position: relative; min-width: 0; display: flex; flex-direction: column; color: inherit; background: #fff; border: 1px solid rgba(117,69,14,.15); border-radius: 22px; box-shadow: 0 12px 34px rgba(49,32,19,.07); text-decoration: none; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.home-event-card:hover, .home-event-card:focus-visible { transform: translateY(-5px); border-color: rgba(161,102,28,.38); box-shadow: 0 22px 50px rgba(49,32,19,.12); }
.event-image { width: 100%; aspect-ratio: 4 / 3; background: #eadfd3; overflow: hidden; }
.event-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s cubic-bezier(.2,.75,.3,1); }
.event-image img.focus-top { object-position: center 12%; }
.event-image img.focus-formatura { object-position: center 2%; }
.home-event-card:hover .event-image img, .home-event-card:focus-visible .event-image img { transform: scale(1.025); }
.event-icon { position: absolute; top: calc((100% - 190px) * .75 - 36px); left: 22px; width: 72px; height: 72px; display: grid; place-items: center; color: #fff; background: var(--gold-dark); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 9px 22px rgba(35,23,15,.2); line-height: 1; }
.event-icon img { width: 33px; height: 33px; filter: brightness(0) invert(1); }
.event-content { position: relative; min-height: 190px; display: flex; flex-direction: column; padding: 43px 22px 22px; }
.event-number { position: absolute; top: 17px; right: 21px; color: #b8aa9d; font-size: .61rem; letter-spacing: .16em; }
.event-content h3 { margin-bottom: 8px; font-size: 1.75rem; }
.event-content p { flex: 1; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-dark); font-size: .68rem; font-weight: 700; }
.text-link b { transition: transform .2s ease; }
.home-event-card:hover .text-link b { transform: translateX(4px); }

/* Como funciona */
.how-section { background: linear-gradient(180deg, var(--paper), #f6eee5); }
.home-steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.home-steps::before { content: ""; position: absolute; top: 44px; left: 11%; right: 11%; height: 1px; background: linear-gradient(90deg, transparent, rgba(161,102,28,.36), transparent); }
.home-steps li { position: relative; min-height: 225px; padding: 27px 23px 25px; text-align: center; background: rgba(255,253,250,.88); border: 1px solid rgba(117,69,14,.14); border-radius: 21px; }
.step-icon { position: relative; z-index: 1; width: 74px; height: 74px; display: grid; place-items: center; margin: 0 auto 22px; color: #fff; background: var(--gold-dark); border: 7px solid #f8f1e9; border-radius: 50%; box-shadow: 0 8px 18px rgba(117,69,14,.16); }
.step-icon img { width: 32px; height: 32px; filter: brightness(0) invert(1); }
.home-steps h3 { margin-bottom: 9px; font-size: 1.55rem; }
.home-steps p { color: var(--muted); font-size: .75rem; line-height: 1.55; }

/* Galeria com fotografias públicas do acervo Prismatic. */
.gallery-section { background: #fff; }
.gallery-layout { display: grid; grid-template-columns: minmax(270px,.74fr) minmax(0,1.26fr); gap: 72px; align-items: center; }
.gallery-copy { max-width: 430px; }
.gallery-copy > p:not(.eyebrow) { color: var(--muted); }
.gallery-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 26px; }
.instagram-link { display: inline-flex; align-items: center; gap: 7px; color: #6d516d; font-size: .72rem; font-weight: 700; text-decoration: none; }
.instagram-link:hover { color: #9a386f; }
.home-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(14px,2vw,24px); min-height: 0; padding: 30px 12px 34px 0; align-items: start; isolation: isolate; }
.gallery-polaroid { position: relative; width: auto; margin: 0; padding: 10px 10px 35px; background: #fff; border: 1px solid rgba(44,30,18,.11); box-shadow: 0 18px 40px rgba(40,28,18,.11); transition: transform .28s ease, box-shadow .28s ease; }
.gallery-polaroid img { display: block; width: 100%; aspect-ratio: 1.06 / 1; object-fit: cover; object-position: center; filter: saturate(.86) contrast(.97); }
.gallery-polaroid figcaption { position: absolute; inset: auto 12px 9px; color: #5d5148; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1rem; text-align: center; }
.gallery-polaroid:hover { z-index: 8; box-shadow: 0 26px 55px rgba(40,28,18,.16); }
.gallery-one { z-index: 1; transform: rotate(-1.2deg); }
.gallery-two { z-index: 2; margin-top: 46px; transform: rotate(1deg); }
.gallery-three { z-index: 3; margin-top: -34px; margin-left: 24px; transform: rotate(.8deg); }
.gallery-four { z-index: 2; margin-top: 10px; margin-right: 18px; transform: rotate(-1deg); }
.gallery-four img { object-position: center 58%; }
.gallery-one:hover { transform: rotate(-.4deg) translateY(-4px); }
.gallery-two:hover { transform: rotate(.3deg) translateY(-4px); }
.gallery-three:hover { transform: rotate(.2deg) translateY(-4px); }
.gallery-four:hover { transform: rotate(-.3deg) translateY(-4px); }

/* Prova social */
.trust-section { background: var(--paper); }
.client-logos { display: grid; grid-template-columns: repeat(6, minmax(110px, 1fr)); align-items: center; gap: 26px; padding: 34px 0 10px; border-top: 1px solid rgba(117,69,14,.15); border-bottom: 1px solid rgba(117,69,14,.15); }
.client-logos > * { justify-self: center; max-width: 150px; color: #625951; opacity: .68; filter: grayscale(1); transition: opacity .2s ease, filter .2s ease; }
.client-logos > *:hover { opacity: 1; filter: none; }
.client-logos img { width: 118px; height: 72px; object-fit: contain; object-position: center; filter: grayscale(1); }
.client-logos img:hover { filter: none; }
.client-wordmark { display: block; text-align: center; font-weight: 600; line-height: 1.1; }
.client-wordmark.novo { color: #0d5ba5; font-size: .95rem; text-transform: lowercase; }
.client-wordmark.recanto, .client-wordmark.mirante { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.55rem; }
.client-wordmark.espaco { font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase; }
.client-wordmark.buffet { font-size: .83rem; letter-spacing: .07em; text-transform: uppercase; }
.trust-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:34px 0 10px; border-top:1px solid rgba(117,69,14,.15); border-bottom:1px solid rgba(117,69,14,.15); }
.trust-pillars article { padding:24px; text-align:center; }
.trust-pillars img { width:34px; height:34px; margin-bottom:14px; opacity:.78; }
.trust-pillars h3 { margin-bottom:7px; font-size:1.55rem; }
.trust-pillars p { margin:0; color:var(--muted); font-size:.76rem; }

.testimonials-section { background: #fff; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.testimonial-grid article { min-height: 205px; padding: 28px; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; }
.testimonial-grid article.featured { color: #fff; background: #2a211b; border-color: #2a211b; transform: translateY(-9px); }
.testimonial-grid article > span { color: var(--gold); font-size: .64rem; font-weight: 700; letter-spacing: .14em; }
.testimonial-grid h3 { margin-top: 23px; font-size: 1.8rem; }
.testimonial-grid p { color: var(--muted); font-size: .8rem; }
.testimonial-grid .featured p { color: #d8cec4; }

/* CTA: imagem alinhada ao topo e texto sempre branco. */
.home-cta { position: relative; min-height: 510px; display: flex; align-items: center; color: #fff; background-color: #241b17; background-image: linear-gradient(90deg, rgba(22,16,13,.94) 0%, rgba(22,16,13,.78) 45%, rgba(22,16,13,.28) 100%), url("../images/v11/casamentos/noivos.webp"); background-position: center, center top; background-size: cover; background-repeat: no-repeat; }
.home-cta-content { padding-block: 76px; }
.home-cta-content > * { max-width: 650px; }
.home-cta .eyebrow { color: #fff; }
.home-cta h2 { color: #fff; }
.home-cta p:not(.eyebrow) { color: #e8dfd7; }

@media (max-width: 1120px) {
  .events-grid { grid-template-columns: repeat(2,1fr); }
  .event-icon { top: auto; bottom: 158px; }
  .gallery-layout { gap: 42px; }
  .client-logos { grid-template-columns: repeat(3,1fr); }
  .trust-pillars { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
  .home-section { padding: 82px 0; }
  .home-hero { min-height: 0; display: block; background: linear-gradient(180deg, var(--paper), #fff); }
  .home-hero::after { display: none; }
  .hero-content { display: block; padding-block: 62px 72px; }
  .hero-copy { width: 100%; max-width: 720px; margin-inline: auto; padding-left: 0; }
  .hero-copy h1 { font-size: clamp(3rem, 11vw, 4.8rem); }
  .hero-mobile-visual { display: block; margin: 28px 0; overflow: hidden; background: #e9dfd4; border-radius: 22px; }
  .hero-mobile-visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
  .hero-benefits { margin-top: 32px; }
  .home-steps { grid-template-columns: repeat(2,1fr); }
  .home-steps::before { display: none; }
  .gallery-layout { grid-template-columns: 1fr; }
  .gallery-copy { max-width: 680px; }
  .home-gallery { width: min(100%,700px); min-height: 0; margin-inline: auto; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .testimonial-grid article.featured { transform: none; }
}

@media (max-width: 620px) {
  .home-section { padding: 68px 0; }
  .home-heading { margin-bottom: 34px; }
  .hero-content { padding-block: 45px 58px; }
  .hero-copy h1 { font-size: clamp(2.75rem, 14vw, 4.05rem); }
  .hero-actions { align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .hero-benefits { grid-template-columns: 1fr; gap: 9px; }
  .hero-benefits li { padding: 10px 0; }
  .events-grid, .home-steps, .client-logos { grid-template-columns: 1fr; }
  .event-image { aspect-ratio: 16 / 11; }
  .event-icon { bottom: 158px; left: 20px; }
  .home-steps li { min-height: 0; }
  .client-logos { grid-template-columns: repeat(2,1fr); }
  .home-gallery { gap: 12px; padding: 16px 0 20px; }
  .gallery-polaroid { width: auto; padding: 7px 7px 29px; }
  .gallery-polaroid figcaption { inset: auto 8px 7px; font-size: .84rem; }
  .gallery-one { margin-top: 0; }
  .gallery-two { margin-top: 28px; }
  .gallery-three { margin-top: -18px; margin-left: 10px; }
  .gallery-four { margin-top: 8px; margin-right: 6px; }
  .gallery-actions { align-items: flex-start; flex-direction: column; }
  .home-cta { min-height: 520px; background-position: center, 58% top; }
}

@media (prefers-reduced-motion: reduce) {
  .home-event-card, .event-image img, .gallery-polaroid { transition: none; }
  .home-event-card:hover, .home-event-card:focus-visible, .gallery-polaroid:hover { transform: none; }
}
