:root {
  --wine: #4a0711;
  --wine-deep: #290207;
  --gold: #b88931;
  --gold-light: #d8b760;
  --ink: #301b1a;
  --muted: #74645e;
  --cream: #f8eee5;
  --white: #fffdf9;
  --line: rgba(87, 44, 34, .18);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Trebuchet MS", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--cream); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
h1, h2, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; line-height: 1.02; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 10px 16px; color: #fff; background: var(--wine); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.eyebrow { margin-bottom: 12px; color: var(--gold); font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }

.product-header { position: absolute; z-index: 20; top: 0; right: 0; left: 0; height: 86px; display: grid; grid-template-columns: 220px 1fr 220px; align-items: center; padding: 0 3vw; }
.product-logo { width: 175px; height: 66px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-logo img { width: 100%; height: 100%; object-fit: contain; }
.product-nav { display: flex; justify-content: center; gap: 38px; }
.product-nav a { padding: 8px 0; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.product-nav a::after { content: ""; display: block; height: 1px; margin-top: 4px; background: var(--gold); transform: scaleX(0); transition: transform .2s; }
.product-nav a:hover::after { transform: scaleX(1); }
.product-contact { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px; justify-self: end; padding: 10px 17px; border: 1px solid var(--gold); color: var(--wine); font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transition: color .2s, background .2s; }
.product-contact i { color: var(--gold); font-size: .95rem; }
.product-contact:hover { color: #fff; background: var(--wine); }

.product-hero { min-height: 100svh; display: grid; grid-template-columns: 53% 47%; background: linear-gradient(105deg, #ead6c5, #fff9f3 68%); }
.product-media { position: relative; min-height: 100svh; display: grid; place-items: center; overflow: hidden; padding: 0; background: linear-gradient(135deg, #f7eee6, #e8d6c6); }
.product-main-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: opacity .44s ease; }
.product-main-image.is-changing { opacity: 0; }
.product-main-image.is-hidden { animation: none; opacity: 0; }
.product-main-video { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; visibility: hidden; background: linear-gradient(135deg, #f8f2ed, #e8ddd4); transform: scale(1.018); transition: opacity .45s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1), visibility 0s .45s; }
.product-main-video.is-active { opacity: 1; visibility: visible; transform: scale(1); transition-delay: 0s; }
.product-gallery { display: none; }
.product-gallery button { position: relative; flex: 0 0 auto; width: 72px; height: 72px; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.76); cursor: pointer; background: #fff; box-shadow: 0 5px 18px rgba(48,27,26,.13); transition: transform .2s, border-color .2s; }
.product-gallery button:hover, .product-gallery button.is-active { border-color: var(--gold); transform: translateY(-3px); }
.product-gallery img { width: 100%; height: 100%; padding: 0; object-fit: cover; background: #fff; }
.gallery-play { position: absolute; inset: 50% auto auto 50%; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; color: #fff; background: rgba(74,7,17,.78); box-shadow: 0 5px 15px rgba(41,2,7,.24); transform: translate(-50%, -50%); backdrop-filter: blur(5px); }
.gallery-play i { margin-left: 1px; font-size: .58rem; }
.gallery-play .fa-pause { margin-left: 0; }

.product-copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 120px clamp(45px, 7vw, 120px) 55px; }
.product-copy::after { content: attr(data-mark); position: absolute; right: -2vw; bottom: -7vw; color: rgba(74,7,17,.025); font: 400 clamp(10rem, 21vw, 22rem)/1 var(--serif); pointer-events: none; }
.product-copy-inner { position: relative; z-index: 1; max-width: 650px; }
.product-copy h1 { margin-bottom: 18px; color: var(--wine); font-size: clamp(4rem, 7.5vw, 8.4rem); letter-spacing: -.03em; }
.product-tagline { margin-bottom: 25px; color: var(--gold); font: 400 clamp(1.15rem, 1.7vw, 1.65rem)/1.35 var(--serif); }
.product-description { color: var(--muted); font-size: .88rem; line-height: 1.78; }
.product-benefits { display: grid; grid-template-columns: repeat(3, 1fr); margin: 32px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-benefits span { min-height: 85px; display: flex; align-items: center; justify-content: center; padding: 15px 11px; border-right: 1px solid var(--line); color: var(--wine); font-size: .62rem; font-weight: 700; letter-spacing: .06em; line-height: 1.45; text-align: center; text-transform: uppercase; }
.product-benefits span:last-child { border-right: 0; }
.product-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.product-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 13px 22px; border: 1px solid var(--wine); color: #fff; background: var(--wine); font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; transition: transform .2s, color .2s, background .2s; }
.product-button:hover { transform: translateY(-2px); background: var(--wine-deep); }
.product-button.secondary { color: var(--wine); background: transparent; }
.product-button.secondary:hover { color: #fff; background: var(--wine); }
.product-note { margin: 28px 0 0; color: #927e75; font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; }

.product-details { position: relative; overflow: hidden; padding: clamp(80px, 10vw, 150px) max(5vw, 28px); background: var(--white); }
.product-details::before { content: ""; position: absolute; top: 0; right: 6vw; width: 1px; height: 74px; background: var(--gold); }
.details-intro { max-width: 760px; margin: 0 auto clamp(55px, 7vw, 92px); text-align: center; }
.details-intro h2 { margin-bottom: 22px; color: var(--wine); font-size: clamp(2.8rem, 5vw, 5.8rem); letter-spacing: -.025em; }
.details-intro p:last-child { margin-bottom: 0; color: var(--muted); font: 400 clamp(1rem, 1.5vw, 1.25rem)/1.7 var(--serif); }
.details-block { width: min(1180px, 100%); margin: 0 auto; padding: clamp(42px, 5vw, 70px) 0; border-top: 1px solid var(--line); }
.details-block:first-of-type { border-top: 0; padding-top: 0; }
.details-block-heading { display: grid; grid-template-columns: minmax(190px, .7fr) 1.3fr; gap: 50px; margin-bottom: 38px; }
.details-number { color: var(--gold); font: 400 .7rem/1 var(--serif); letter-spacing: .16em; }
.details-block h3 { margin: 0; color: var(--wine); font: 400 clamp(2rem, 3.5vw, 3.7rem)/1.08 var(--serif); }
.details-block-heading p { max-width: 650px; margin: 12px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.75; }
.details-columns { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(45px, 7vw, 105px); }
.details-columns:has(> :only-child) { grid-template-columns: 1fr; }
.details-title { margin: 0 0 20px; color: var(--gold); font-size: .67rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.benefit-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; padding: 0; list-style: none; }
.benefit-list li { position: relative; min-height: 57px; padding: 15px 4px 15px 25px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: .78rem; line-height: 1.55; }
.benefit-list li::before { content: "\f00c"; position: absolute; top: 18px; left: 0; color: var(--gold); font: 900 .64rem/1 "Font Awesome 6 Free"; }
.active-list { display: grid; gap: 13px; }
.active-card { position: relative; padding: 22px 24px 22px 50px; background: #f7eee6; }
.active-card i { position: absolute; top: 25px; left: 22px; color: var(--gold); font-size: .78rem; }
.active-card h4 { margin: 0 0 6px; color: var(--wine); font: 400 1.14rem/1.2 var(--serif); }
.active-card p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.65; }
.anvisa-note { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; padding: 16px 18px; border: 1px solid rgba(184,137,49,.38); color: var(--wine); background: #fffaf5; font-size: .68rem; font-weight: 700; letter-spacing: .025em; line-height: 1.5; }
.anvisa-note i { flex: 0 0 auto; color: var(--gold); }
.details-closing { max-width: 820px; margin: 28px auto 0; color: var(--wine); font: italic 400 clamp(1.25rem, 2vw, 1.75rem)/1.55 var(--serif); text-align: center; }

.product-videos { padding: clamp(80px, 9vw, 130px) max(5vw, 28px); background: #f5e9de; }
.product-videos-heading { max-width: 820px; margin: 0 auto clamp(42px, 5vw, 68px); text-align: center; }
.product-videos-heading h2 { margin: 0; color: var(--wine); font: 400 clamp(2.7rem, 5vw, 5.5rem)/1.04 var(--serif); letter-spacing: -.025em; }
.product-video-grid { width: min(1180px, 100%); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(22px, 3vw, 38px); margin-inline: auto; }
.product-video-card { overflow: hidden; border: 1px solid rgba(184,137,49,.35); background: #19050a; box-shadow: 0 20px 52px rgba(56,24,20,.14); }
.product-video-card video { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: contain; background: #19050a; }

.downloads-page .product-header { position: absolute; background: rgba(255,253,249,.92); backdrop-filter: blur(12px); }
.downloads-page .product-hero { display: none; }
.downloads-section { padding: clamp(80px, 9vw, 135px) max(5vw, 28px); background: var(--white); }
.downloads-page .downloads-section { min-height: calc(100svh - 76px); padding-top: clamp(145px, 13vw, 190px); }
.downloads-heading { max-width: 760px; margin: 0 auto clamp(48px, 6vw, 78px); text-align: center; }
.downloads-heading h1 { margin-bottom: 20px; color: var(--wine); font-size: clamp(2.8rem, 5vw, 5.6rem); letter-spacing: -.025em; }
.downloads-heading > p:last-child { margin: 0; color: var(--muted); font: 400 clamp(1rem, 1.4vw, 1.2rem)/1.65 var(--serif); }
.download-grid { width: min(1320px, 100%); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); margin-inline: auto; }
.download-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); background: #fbf5ef; transition: transform .3s, box-shadow .3s; }
.download-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(67,30,25,.11); }
.download-cover { aspect-ratio: 4 / 3; display: grid; place-items: center; overflow: hidden; padding: 24px; background: linear-gradient(135deg, #ead8c8, #f7eee6); }
.download-cover img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(48,27,26,.16)); }
.download-copy { flex: 1; display: flex; flex-direction: column; padding: 26px; }
.download-meta { margin-bottom: 12px; color: var(--gold); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.download-copy h2 { margin: 0 0 13px; color: var(--wine); font: 400 clamp(1.55rem, 2.1vw, 2.15rem)/1.1 var(--serif); }
.download-copy > p:not(.download-meta) { margin-bottom: 24px; color: var(--muted); font-size: .76rem; line-height: 1.65; }
.download-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: auto; }
.download-actions a { min-height: 45px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px; border: 1px solid var(--wine); color: var(--wine); font-size: .61rem; font-weight: 700; letter-spacing: .055em; text-align: center; text-transform: uppercase; transition: color .2s, background .2s; }
.download-actions a:hover { color: #fff; background: var(--wine); }

/* Movimento editorial compartilhado pelas páginas de produto. */
@keyframes product-header-arrival {
  from { opacity: 0; transform: translateY(-16px); }
  to { opacity: 1; transform: none; }
}
@keyframes product-image-arrival {
  from { opacity: 0; transform: scale(1.055); filter: saturate(.8) blur(4px); }
  to { opacity: 1; transform: scale(1); filter: none; }
}
@keyframes product-copy-arrival {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}

.product-header { animation: product-header-arrival .85s .08s cubic-bezier(.2,.7,.2,1) both; }
.product-main-image { animation: product-image-arrival 1.35s cubic-bezier(.2,.7,.2,1) both; }
.product-main-image.intro-complete { animation: none; }
.product-gallery button { animation: product-copy-arrival .65s cubic-bezier(.2,.7,.2,1) both; }
.product-gallery button:nth-child(1) { animation-delay: .55s; }
.product-gallery button:nth-child(2) { animation-delay: .66s; }
.product-gallery button:nth-child(3) { animation-delay: .77s; }
.product-gallery button:nth-child(4) { animation-delay: .88s; }
.product-gallery button:nth-child(5) { animation-delay: .99s; }
.product-copy .eyebrow { animation: product-copy-arrival .8s .3s cubic-bezier(.2,.7,.2,1) both; }
.product-copy h1 { animation: product-copy-arrival .9s .4s cubic-bezier(.2,.7,.2,1) both; }
.product-tagline { animation: product-copy-arrival .85s .52s cubic-bezier(.2,.7,.2,1) both; }
.product-description { animation: product-copy-arrival .85s .62s cubic-bezier(.2,.7,.2,1) both; }
.product-benefits { animation: product-copy-arrival .85s .72s cubic-bezier(.2,.7,.2,1) both; }
.product-actions { animation: product-copy-arrival .85s .82s cubic-bezier(.2,.7,.2,1) both; }
.product-note { animation: product-copy-arrival .85s .9s cubic-bezier(.2,.7,.2,1) both; }

.motion-reveal { opacity: 0; transform: translateY(34px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.motion-reveal.is-visible { opacity: 1; transform: none; }
.details-block.motion-reveal:nth-of-type(even) { transform: translateY(34px) translateX(14px); }
.details-block.motion-reveal:nth-of-type(even).is-visible { transform: none; }
.active-card { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, background .35s; }
.active-card:hover { z-index: 1; transform: translateY(-4px); background: #fbf3ec; box-shadow: 0 18px 35px rgba(67,30,25,.1); }
.benefit-list li::before { transition: transform .3s, color .3s; }
.benefit-list li:hover::before { color: var(--wine); transform: scale(1.2); }

.product-footer { min-height: 76px; display: grid; grid-template-columns: auto minmax(300px, 1fr) auto; align-items: center; gap: 24px; padding: 15px 3vw; color: #cdb7b2; background: var(--wine-deep); font-size: .6rem; letter-spacing: .06em; }
.product-footer-claims { color: var(--gold-light); text-align: center; text-transform: uppercase; }
.product-footer a { color: var(--gold-light); }

@media (max-width: 950px) {
  .product-header { grid-template-columns: 180px 1fr 180px; }
  .product-nav { gap: 20px; }
  .product-hero { grid-template-columns: 48% 52%; }
  .product-copy { padding-inline: 45px; }
  .product-copy h1 { font-size: 5.2rem; }
  .download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .product-header { position: fixed; height: 74px; grid-template-columns: 1fr auto; padding: 0 18px; background: rgba(251,246,240,.92); backdrop-filter: blur(12px); }
  .product-logo { width: 150px; height: 58px; }
  .product-nav { display: none; }
  .product-contact { width: 42px; height: 42px; min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 0; padding: 0; font-size: 0; line-height: 0; }
  .product-contact i { width: 18px; height: 18px; display: block; background: url("../img/whatsapp-gold.svg") center / contain no-repeat; font-size: 0; line-height: 0; letter-spacing: 0; }
  .product-contact i::before { display: none; content: none; }
  .product-hero { display: block; }
  .product-media { min-height: 0; aspect-ratio: 129 / 100; margin-top: 74px; padding: 0; }
  .product-copy { min-height: auto; padding: 62px 25px 70px; }
  .product-copy h1 { font-size: clamp(3.5rem, 17vw, 5.7rem); }
  .product-benefits { grid-template-columns: 1fr; }
  .product-benefits span { min-height: 54px; border-right: 0; border-bottom: 1px solid var(--line); }
  .product-benefits span:last-child { border-bottom: 0; }
  .product-actions { flex-direction: column; }
  .product-button { width: 100%; }
  .product-details { padding: 80px 24px; }
  .downloads-section { padding: 78px 22px; }
  .downloads-page .downloads-section { padding-top: 112px; }
  .downloads-heading { margin-bottom: 42px; text-align: left; }
  .download-grid { grid-template-columns: 1fr; gap: 22px; }
  .download-card { display: grid; grid-template-columns: minmax(115px, 34%) 1fr; }
  .download-cover { min-height: 100%; aspect-ratio: auto; padding: 15px; }
  .download-copy { padding: 22px 18px; }
  .download-actions { grid-template-columns: 1fr; }
  .details-intro { margin-bottom: 55px; text-align: left; }
  .details-block { padding: 48px 0; }
  .details-block-heading, .details-columns { grid-template-columns: 1fr; gap: 18px; }
  .details-block-heading { margin-bottom: 30px; }
  .details-columns { gap: 42px; }
  .benefit-list { grid-template-columns: 1fr; }
  .product-videos { padding: 76px 22px; }
  .product-videos-heading { margin-bottom: 35px; text-align: left; }
  .product-video-grid { grid-template-columns: 1fr; }
  .product-footer { display: flex; align-items: center; flex-direction: column; text-align: center; }
}

@media (max-width: 380px) {
  .download-card { display: flex; }
  .download-cover { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .motion-reveal { opacity: 1; transform: none; }
}
