@font-face{font-family:LocalSans;src:url(/fonts/sans.woff) format("woff");font-display:swap}@font-face{font-family:LocalSerif;src:url(/fonts/serif.woff) format("woff");font-display:swap}
:root {
  --wine: #681c2b;
  --wine-dark: #3b0c17;
  --gold: #c5a46d;
  --cream: #f7f2e9;
  --ink: #211c1b;
  --muted: #756b67;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: LocalSans, sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  display: block;
  width: 100%;
}
.site-header {
  height: 84px;
  padding: 0 clamp(24px, 5vw, 80px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  z-index: 10;
  inset: 0 0 auto;
  color: #fff;
  border-bottom: 1px solid #ffffff38;
}
.brand,
h1,
h2,
h3,
blockquote {
  font-family: LocalSerif, serif;
}
.brand {
  font-size: 26px;
}
.brand span {
  font-style: italic;
  color: #ead1aa;
}
.site-header nav {
  display: flex;
  gap: 36px;
  font-size: 13px;
  letter-spacing: 0.08em;
}
.header-cta {
  border: 1px solid #ffffff75;
  border-radius: 999px;
  padding: 11px 20px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.hero {
  min-height: 760px;
  height: 100vh;
  position: relative;
  background: #281014;
  color: #fff;
}
.hero > img {
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #19070be6, #1f090d91 43%, #00000014 75%),
    linear-gradient(0deg, #0f020680, transparent 40%);
}
.hero-content {
  position: absolute;
  left: clamp(24px, 9vw, 145px);
  top: 50%;
  transform: translateY(-42%);
  max-width: 650px;
}
.kicker {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.27em;
  color: #e7c994;
}
.kicker.dark {
  color: var(--wine);
}
h1,
h2,
h3 {
  margin: 0;
  font-weight: 600;
}
.hero h1 {
  font-size: clamp(64px, 8vw, 116px);
  line-height: 0.78;
  letter-spacing: -0.045em;
}
.hero-copy {
  font-family: LocalSerif, serif;
  font-size: 22px;
  line-height: 1.45;
  max-width: 520px;
  margin: 30px 0;
}
.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.button {
  display: inline-flex;
  align-items: center;
  padding: 15px 22px;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  font-weight: 700;
}
.button.primary {
  background: var(--wine);
  color: #fff;
}
.button.ghost {
  border: 1px solid #ffffff70;
  background: transparent;
  color: #fff;
}
.button.light {
  background: #fff;
  color: var(--wine-dark);
}
.section {
  padding: 120px clamp(24px, 8vw, 128px);
}
.story {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 8vw;
  align-items: center;
}
.story h2,
.music h2,
.mural-callout h2 {
  font-size: clamp(48px, 5vw, 76px);
  line-height: 0.96;
  margin: 17px 0 32px;
}
.story-copy > p:not(.kicker) {
  color: var(--muted);
  line-height: 1.85;
}
.story blockquote {
  color: var(--wine);
  font-size: 27px;
  line-height: 1.35;
  border-left: 2px solid var(--gold);
  margin: 30px 0;
  padding-left: 24px;
}
.story-image {
  margin: 0;
  position: relative;
}
.story-image img {
  height: 690px;
  object-fit: cover;
}
.story-image figcaption {
  position: absolute;
  left: -28px;
  bottom: 26px;
  background: var(--wine);
  color: #fff;
  padding: 20px 24px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.story-image figcaption span {
  display: block;
  font:
    30px LocalSerif,
    serif;
  color: #e9d3aa;
  text-transform: none;
  letter-spacing: 0;
}
.music {
  background: #241719;
  color: #fff;
}
.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 48px;
}
.section-heading h2 {
  margin-bottom: 0;
}
.section-heading > a {
  color: #d9be90;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}
.video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.video-card {
  background: #332326;
  border-radius: 5px;
  overflow: hidden;
}
.video-art {
  height: 370px;
  position: relative;
  overflow: hidden;
  border-radius: 5px 5px 0 0;
}
.video-art img {
  height: 100%;
  object-fit: cover;
  filter: brightness(0.72);
}
.play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
  color: var(--wine);
}
.video-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
}
.video-meta p {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.17em;
  color: #c6aa7d;
  margin: 0;
}
.video-meta h3 {
  font-size: 30px;
}
.video-meta > span {
  font-size: 11px;
  text-transform: uppercase;
}
.latest-wrap {
  margin-top: 70px;
  border-radius: 5px;
  overflow: hidden;
}
.latest-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.latest-card {
  background: #332326;
  border-radius: 5px;
  overflow: hidden;
}
.latest-card img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.latest-card div {
  padding: 16px;
}
.latest-card h3 {
  font-size: 21px;
  line-height: 1.05;
}
.latest-card span {
  display: block;
  margin-top: 8px;
  font-size: 10px;
  color: #d9be90;
  text-transform: uppercase;
}
.video-fallback {
  color: #b7aaa6;
}
.mural-callout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 7vw;
  align-items: center;
}
.mural-callout > div > p:not(.kicker) {
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 28px;
}
.mural-callout img {
  height: 560px;
  object-fit: cover;
}
.contact {
  background: var(--wine);
  color: #fff;
  text-align: center;
  padding: 110px 24px;
}
.contact h2 {
  font-size: clamp(50px, 6vw, 84px);
  max-width: 850px;
  line-height: 0.95;
  margin: 18px auto 24px;
}
.contact > p:not(.kicker) {
  color: #eadbd9;
  margin-bottom: 30px;
}
footer {
  min-height: 120px;
  padding: 34px clamp(24px, 5vw, 80px);
  background: #1b1113;
  color: #c9bcba;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-size: 11px;
}
.mural-header {
  position: relative;
  background: #261417;
}
.mural-hero {
  min-height: 540px;
  color: #fff;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 100px 24px;
  background:
    linear-gradient(#2e1114dc, #2e1114dc),
    url("/images/priscila-louvor.jpg") center 28% / cover;
}
.mural-hero h1 {
  font-size: clamp(64px, 9vw, 120px);
}
.mural-hero p:not(.kicker) {
  max-width: 670px;
  line-height: 1.7;
  margin: 25px auto;
}
.mural-empty {
  text-align: center;
  padding: 120px 24px;
  max-width: 800px;
  margin: auto;
}
.cross {
  font-size: 48px;
  color: var(--gold);
}
.mural-empty h2 {
  font-size: clamp(42px, 5vw, 66px);
  line-height: 1;
}
.mural-empty > p:not(.kicker) {
  color: var(--muted);
  line-height: 1.8;
  margin: 25px auto 30px;
}
@media (max-width: 850px) {
  .site-header nav {
    display: none;
  }
  .hero > img {
    object-position: 62% center;
  }
  .hero-shade {
    background:
      linear-gradient(90deg, #140509e0, #1405094d),
      linear-gradient(0deg, #1a070caa, transparent);
  }
  .section {
    padding: 82px 22px;
  }
  .story,
  .mural-callout {
    grid-template-columns: 1fr;
  }
  .story-image {
    order: -1;
  }
  .story-image img {
    height: 500px;
  }
  .video-grid {
    grid-template-columns: 1fr;
  }
  .video-art {
    height: 260px;
  }
  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .latest-grid {
    grid-template-columns: 1fr 1fr;
  }
  .mural-callout img {
    height: 390px;
    order: -1;
  }
  footer {
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 520px) {
  .site-header {
    height: 72px;
    padding: 0 18px;
  }
  .brand {
    font-size: 22px;
  }
  .header-cta {
    padding: 9px 12px;
  }
  .hero-content {
    top: auto;
    bottom: 64px;
    transform: none;
  }
  .hero h1 {
    font-size: 57px;
  }
  .story h2,
  .music h2,
  .mural-callout h2 {
    font-size: 45px;
  }
  .latest-grid {
    grid-template-columns: 1fr;
  }
  .story-image img {
    height: 430px;
  }
}

/* Interações profissionais para botões e controles */
.button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid transparent;
  cursor: pointer;
  box-shadow: 0 8px 20px rgb(20 4 9 / 16%);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.button::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(115deg, transparent 20%, rgb(255 255 255 / 32%) 48%, transparent 76%);
  transform: translateX(-130%);
  transition: transform .42s ease;
}

.button:hover {
  transform: translateY(-3px) scale(1.045);
  box-shadow: 0 14px 30px rgb(20 4 9 / 28%);
}

.button:hover::before {
  transform: translateX(130%);
}

.button:active {
  transform: translateY(1px) scale(.965);
  box-shadow: 0 4px 10px rgb(20 4 9 / 20%);
}

.button.primary:hover {
  background: #8f263b;
  border-color: #c76579;
}

.button.light:hover {
  color: var(--wine-dark);
  background: var(--gold);
  border-color: #f2d79d;
}

.button.ghost:hover {
  color: var(--wine-dark);
  background: #fff;
  border-color: #fff;
}

.carousel-controls button,
.dialog-top button,
.product-options button,
.invite-carousel-arrow,
.invite-carousel-dots button,
.photo-viewer button {
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease;
}

.carousel-controls button:hover,
.dialog-top button:hover,
.product-options button:hover,
.photo-viewer button:hover {
  color: #fff;
  background: var(--wine);
  border-color: var(--wine);
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 9px 20px rgb(60 10 24 / 24%);
}

.carousel-controls button:active,
.dialog-top button:active,
.product-options button:active,
.invite-carousel-arrow:active,
.photo-viewer button:active {
  transform: translateY(1px) scale(.92);
  box-shadow: none;
}

.invite-carousel-arrow:hover {
  color: var(--wine-dark);
  background: var(--gold);
  border-color: #fff0c9;
  transform: translateY(-50%) scale(1.12);
  box-shadow: 0 8px 24px rgb(0 0 0 / 35%);
}

.invite-carousel-arrow:active {
  transform: translateY(-50%) scale(.94);
}

.invite-carousel-dots button:hover {
  background: #fff;
  transform: scale(1.45);
  box-shadow: 0 0 0 5px rgb(255 255 255 / 14%);
}

.invite-carousel-dots button:active {
  transform: scale(.82);
}

.album-button .video-art img,
.latest-card,
.product-feature {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.album-button:hover .video-art img {
  transform: scale(1.035);
  filter: brightness(.9);
}

.album-button:active .video-art img {
  transform: scale(.985);
}

.latest-card:hover {
  transform: translateY(-5px) scale(1.02);
  background: #ffffff18;
  box-shadow: 0 14px 30px rgb(0 0 0 / 22%);
}

.latest-card:active {
  transform: translateY(1px) scale(.98);
}

.product-feature:hover {
  transform: translateY(-5px) scale(1.012);
  box-shadow: 0 24px 60px rgb(59 12 23 / 20%);
}

.product-feature:active {
  transform: translateY(1px) scale(.985);
}

.mural-photo:active {
  transform: scale(.96);
}

.button:focus-visible,
.carousel-controls button:focus-visible,
.dialog-top button:focus-visible,
.product-options button:focus-visible,
.invite-carousel-arrow:focus-visible,
.invite-carousel-dots button:focus-visible,
.latest-card:focus-visible,
.product-feature:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

@media (hover: none) {
  .button:hover,
  .latest-card:hover,
  .product-feature:hover {
    transform: none;
  }
}

/* ==================================================
   Cards e imagens
   ================================================== */

.video-card,
.latest-card,
.mural-callout {
  border-radius: 5px;
  overflow: hidden;
}

.mural-callout > div {
  min-width: 0;
}

.mural-callout img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  border-radius: 5px;
}

.video-art {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.video-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-image img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  border-radius: 5px;
}

/* Evita que textos e grids ultrapassem a tela */
.story > *,
.video-grid > *,
.mural-callout > *,
.section-heading > * {
  min-width: 0;
}

h1,
h2,
h3,
p,
blockquote {
  overflow-wrap: break-word;
}

/* Grid dos álbuns */
.video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

/* Vídeos adicionados automaticamente */
.latest-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, 250px), 1fr)
  );
  gap: 18px;
}

/* ==================================================
   Tablets e notebooks menores
   ================================================== */

@media (max-width: 1024px) {
  .section {
    padding: 90px 40px;
  }

  .story,
  .mural-callout {
    gap: 50px;
  }

  .story h2,
  .music h2,
  .mural-callout h2 {
    font-size: clamp(44px, 6vw, 64px);
  }
}

/* ==================================================
   Tablets e celulares
   ================================================== */

@media (max-width: 850px) {
  .section {
    padding: 72px 24px;
  }

  .story,
  .mural-callout {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
  }

  .mural-callout img {
    order: -1;
    aspect-ratio: 16 / 10;
  }

  .video-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .story-image img {
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .video-meta {
    gap: 20px;
  }
}

/* ==================================================
   Celulares
   ================================================== */

@media (max-width: 520px) {
  .section {
    padding: 60px 18px;
  }

  .story h2,
  .music h2,
  .mural-callout h2 {
    font-size: clamp(38px, 12vw, 48px);
  }

  .mural-callout img {
    aspect-ratio: 4 / 3;
  }

  .video-meta {
    padding: 20px;
    align-items: flex-start;
  }

  .video-meta h3 {
    font-size: 26px;
  }

  .video-meta > span {
    font-size: 9px;
    white-space: nowrap;
  }

  .button {
    max-width: 100%;
    justify-content: center;
    text-align: center;
  }

  footer {
    padding: 36px 18px;
  }
}

/* Celulares muito estreitos */
@media (max-width: 360px) {
  .section {
    padding-right: 14px;
    padding-left: 14px;
  }

  .video-meta {
    flex-direction: column;
  }

  .video-meta > span {
    white-space: normal;
  }
}

/* Redes sociais */

.social-links {
  display: flex;
  align-items: center;
  gap: 12px;
}

.social-links a {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 50%;
  color: #fff;
  font-size: 17px;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.social-links a:hover {
  color: var(--wine);
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
}

.social-links a:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.hero-social {
  margin-top: 28px;
}

.footer-social a {
  width: 36px;
  height: 36px;
  font-size: 14px;
}

/* Preserva textos e elementos próximos das bordas das capas */

.video-art:has(.album-cover) {
  background: #2b1a1e;
  padding: 10px;
}

.video-art img.album-cover {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
  object-position: center;
  border-radius: 3px;
  filter: none;
}

@media (max-width: 520px) {
  .social-links {
    gap: 9px;
  }

  .social-links a {
    width: 38px;
    height: 38px;
    font-size: 15px;
  }

  .hero-social {
    margin-top: 22px;
  }

  .footer-social {
    justify-content: center;
  }
}/* Players, collection and local social symbols */
button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.social-links svg{width:22px;height:22px;fill:currentColor;flex-shrink:0}.social-links{gap:18px!important}.social-links a{width:46px!important;height:46px!important;display:inline-flex;align-items:center;justify-content:center}.hero-social{width:max-content;max-width:100%}.album-button{display:block;width:100%;text-align:left;background:none;border:0;padding:0;color:inherit}.streaming-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.player-note{font-size:12px;opacity:.8;line-height:1.6}.latest-card{color:inherit;text-align:left;border:1px solid #ffffff35;background:#ffffff0c;padding:24px;border-radius:12px}.latest-play{font-size:28px;color:var(--gold)}.latest-card h3{line-height:1.5}.product-feature{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;width:100%;overflow:hidden;text-align:left;border:1px solid #d9c9b7;border-radius:18px;background:#fffaf4;color:var(--ink);padding:0;box-shadow:0 18px 50px #3b0c1710}.product-feature>img{height:380px;object-fit:contain;background:#eadfce;padding:30px}.product-copy{padding:48px}.product-copy h3{font-size:clamp(26px,4vw,48px);margin:20px 0}.product-copy p{line-height:1.8;margin-bottom:30px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}.carousel-controls button,.product-options button,.dialog-top button{border:1px solid #bca894;background:transparent;border-radius:24px;padding:10px 18px;color:inherit}.modal-open{overflow:hidden}dialog{width:min(960px,94vw);max-width:94vw;max-height:92dvh;border:0;border-radius:18px;padding:24px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#1c0713cc}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-top h2{font-size:24px;margin:0}.dialog-top button{flex-shrink:0}.video-frame{width:100%;aspect-ratio:16/9;min-height:210px;border:0;border-radius:12px}.spotify-frame{width:100%;height:380px;border:0}.text-button{padding:14px 0;border:0;background:none;color:var(--wine);text-decoration:underline}#shop-frame{width:100%;height:70dvh;border:0}.shop-page{padding:24px}.shop-page h1{font-size:32px}.shop-page h2{font-size:22px;margin-top:36px}#product-detail{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}#product-detail img{max-height:380px;object-fit:contain}#product-detail p{line-height:1.8}.product-options{display:flex;gap:12px;flex-wrap:wrap}.product-options button[aria-pressed=true]{background:var(--wine);color:white}.shop-footnote{font-size:12px;margin-top:32px;color:var(--muted)}.privacy-page{max-width:850px;margin:auto;padding:48px 24px;line-height:1.8}
@media(max-width:640px){.product-feature,#product-detail{grid-template-columns:1fr}.product-feature>img{height:260px}.product-copy{padding:26px}.product-copy h3{margin:12px 0}.product-copy p{margin-bottom:20px}.carousel-controls{gap:10px}dialog{padding:16px}.dialog-top h2{font-size:18px}.shop-page{padding:16px}#product-detail img{max-height:240px}.social-links{gap:12px!important}.video-meta{gap:12px}.video-frame{min-height:200px}.section-heading>span{display:none}}

/* Mural de fotos */
.mural-dialog{width:min(1240px,96vw);max-width:96vw;height:94dvh;max-height:94dvh}.mural-dialog .dialog-top{margin-bottom:10px}.mural-dialog #mural-frame{width:100%;height:calc(94dvh - 84px);border:0;border-radius:12px;background:var(--cream)}.mural-gallery-section{padding:72px clamp(18px,5vw,72px)}.mural-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.mural-gallery-heading h2{font-size:clamp(38px,5vw,64px)}.mural-gallery-heading>span{color:var(--muted)}.mural-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.mural-photo{border:0;padding:0;border-radius:8px;overflow:hidden;background:#e8ddd0;aspect-ratio:1/1;cursor:zoom-in}.mural-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.mural-photo:hover img{transform:scale(1.04)}.mural-photo:focus-visible{outline:4px solid var(--gold);outline-offset:3px}.mural-empty[hidden]{display:none}.photo-viewer{width:96vw;max-width:96vw;height:94dvh;max-height:94dvh;background:#160d0f;color:#fff;padding:14px}.photo-viewer::backdrop{background:#080405ee}.photo-viewer-top,.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.photo-viewer-top>div,.photo-viewer-controls{display:flex;align-items:center;gap:12px}.photo-viewer button{border:1px solid #ffffff70;background:#ffffff12;color:#fff;border-radius:999px;padding:10px 16px}.photo-viewer>img{width:100%;height:calc(94dvh - 126px);object-fit:contain;margin:10px 0}.photo-viewer-controls{justify-content:center}.photo-viewer:fullscreen{width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0}.photo-viewer:fullscreen>img{height:calc(100vh - 126px)}
.photo-viewer.is-fullscreen{position:fixed;inset:0;z-index:9999;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.photo-viewer.is-fullscreen>img{height:calc(100dvh - 126px)}
@media(max-width:640px){.mural-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;padding:10px}.mural-dialog #mural-frame{height:calc(100dvh - 68px)}.mural-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mural-gallery-section{padding:48px 14px}.mural-gallery-heading{align-items:start;flex-direction:column}.photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.photo-viewer>img{height:calc(100dvh - 126px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Publicidades no carrossel */
.product-feature > img[src*="/anuncios/"] {
  object-fit: cover;
  padding: 0;
}

.demo-advertiser-card {
  position: relative;
}

.demo-advertiser-card::after {
  content: "MODELO DE ANÚNCIO • EMPRESA FICTÍCIA";
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  padding: 8px 12px;
  border-radius: 999px;
  color: #fff;
  background: #681c2be8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.product-feature-placeholder {
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  color: #6c5846;
  background: linear-gradient(135deg, #f5eadb, #dbc3a4);
  font-family: LocalSerif, Georgia, serif;
  font-size: clamp(24px, 4vw, 42px);
}

@media (max-width: 640px) {
  .product-feature-placeholder {
    min-height: 260px;
  }
}

/* Carrossel da área de convites */
.contact {
  padding: 76px clamp(20px, 5vw, 80px);
}

.invite-layout {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 500px) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 82px);
  align-items: center;
}

.invite-copy {
  text-align: left;
}

.contact .invite-copy h2 {
  max-width: 680px;
  margin: 18px 0 24px;
  font-size: clamp(46px, 5.4vw, 76px);
}

.contact .invite-copy > p:not(.kicker) {
  margin: 0 0 30px;
  color: #eadbd9;
  line-height: 1.7;
}

.invite-carousel {
  min-width: 0;
}

.invite-carousel-viewport {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  border: 1px solid rgb(255 255 255 / 28%);
  border-radius: 18px;
  background: #160d0f;
  box-shadow: 0 22px 56px rgb(20 3 8 / 32%);
}

.invite-carousel-viewport img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  transition: opacity .25s ease;
}

.invite-carousel-viewport img.is-changing {
  opacity: .25;
}

.invite-carousel-arrow {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 55%);
  border-radius: 50%;
  color: #fff;
  background: rgb(20 5 10 / 72%);
  transform: translateY(-50%);
}

.invite-carousel-arrow:hover {
  color: var(--wine);
  background: #fff;
}

.invite-carousel-arrow.prev {
  left: 14px;
}

.invite-carousel-arrow.next {
  right: 14px;
}

.invite-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.invite-carousel-dots button {
  width: 11px;
  height: 11px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: transparent;
}

.invite-carousel-dots button[aria-current="true"] {
  background: var(--gold);
  border-color: var(--gold);
}

.invite-carousel-status {
  margin: 10px 0 0;
  color: #eadbd9;
  font-size: 12px;
  text-align: center;
}

@media (max-width: 850px) {
  .invite-layout {
    grid-template-columns: 1fr;
    width: min(600px, 100%);
  }

  .invite-copy {
    text-align: center;
  }

  .contact .invite-copy h2 {
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-width: 520px) {
  .contact {
    padding: 54px 16px;
  }

  .invite-layout {
    gap: 34px;
  }

  .contact .invite-copy h2 {
    font-size: clamp(40px, 13vw, 58px);
  }

  .invite-carousel-arrow {
    width: 40px;
    height: 40px;
  }
}

/* Ajustes finais de interação — mantidos no fim para prevalecer no site inteiro */
.invite-carousel-arrow:hover {
  color: var(--wine-dark);
  background: var(--gold);
  border-color: #fff0c9;
  transform: translateY(-50%) scale(1.12);
  box-shadow: 0 8px 24px rgb(0 0 0 / 35%);
}

.social-links a:hover {
  transform: translateY(-3px) scale(1.12);
  box-shadow: 0 9px 22px rgb(0 0 0 / 28%);
}

.social-links a:active {
  transform: translateY(1px) scale(.9);
}

body .advertiser-product {
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

body .advertiser-product:hover {
  transform: translateY(-6px) scale(1.025);
  border-color: var(--company-accent);
  box-shadow: 0 18px 38px rgb(38 20 12 / 24%);
}

body .advertiser-product:active {
  transform: translateY(1px) scale(.965);
  box-shadow: 0 5px 14px rgb(38 20 12 / 16%);
}

body .company-social-icon {
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    background-color .16s ease,
    color .16s ease;
}

body .company-social-icon:hover {
  color: #fff;
  background: var(--company-accent);
  transform: translateY(-3px) scale(1.14);
  box-shadow: 0 9px 20px color-mix(in srgb, var(--company-accent) 32%, transparent);
}

body .company-social-icon:active {
  transform: translateY(1px) scale(.88);
}

body.demo-advertiser .advertiser-product:hover,
body.demo-advertiser .advertiser-product:active {
  transform: none;
  border-color: #dccfbe;
  box-shadow: 0 10px 28px #3d2c1c10;
}
