.scroll-progress {
  position: fixed;
  inset: 0 auto auto 0;
  width: 0;
  height: 3px;
  z-index: 100;
  background: linear-gradient(90deg, #b98232, #f3d48a, #5cbf74);
  box-shadow: 0 0 18px #d7b66b99;
}

.nav {
  position: fixed;
  top: 0;
  transition: height .35s ease, background .35s ease, box-shadow .35s ease;
}
.nav.scrolled {
  height: 70px;
  background: rgba(3, 27, 20, .96);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .22);
}
.nav a { transition: color .2s ease, opacity .2s ease, transform .2s ease; }
.nav nav > a:not(.nav-cta):hover { color: var(--gold); transform: translateY(-2px); }
.nav-cta { transition: background .25s ease, color .25s ease, transform .25s ease !important; }
.nav-cta:hover { background: var(--gold); color: var(--green); transform: translateY(-2px); }

.hero-media img {
  scale: 1.07;
  transform: translate3d(0, var(--hero-shift, 0px), 0);
  will-change: transform;
}
.hero-copy::before {
  content: "";
  display: block;
  width: 58px;
  height: 2px;
  margin-bottom: 22px;
  background: var(--gold);
  transform-origin: left;
  animation: line-in 1s .15s both;
}
.hero .eyebrow { animation: hero-in .7s .12s both; }
.hero h1 { animation: hero-in .85s .22s both; }
.hero .lead { animation: hero-in .85s .34s both; }
.hero-actions { animation: hero-in .85s .46s both; }
.hero .gold { position: relative; overflow: hidden; }
.hero .gold::after {
  content: "";
  position: absolute;
  inset: 0;
  translate: -130% 0;
  background: linear-gradient(105deg, transparent 30%, #fff8 50%, transparent 70%);
  animation: button-shine 4.5s 1.6s infinite;
}
.scroll-note span { display: inline-block; animation: bob 1.5s ease-in-out infinite; }

.marquee {
  position: relative;
  overflow: hidden;
  background: var(--gold);
  color: #08251c;
  border-block: 1px solid #f6dc9a;
  padding: 15px 0;
}
.marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  white-space: nowrap;
  font: 700 clamp(.64rem, 2.6vw, .8rem) Manrope, sans-serif;
  letter-spacing: clamp(.07em, .6vw, .16em);
  animation: marquee-flow 14s linear infinite;
  will-change: transform;
}
.marquee-group { display: flex; align-items: center; flex: none; gap: clamp(18px, 4vw, 40px); padding-right: clamp(18px, 4vw, 40px); }
@keyframes marquee-flow { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
.marquee i { font-style: normal; color: #fff6d5; }
.marquee::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 26%;
  translate: -180% 0;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent);
  animation: band-shine 4.8s ease-in-out infinite;
  pointer-events: none;
}

.motion-ready .reveal-on-scroll {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  transition: opacity .75s cubic-bezier(.2,.75,.2,1), transform .85s cubic-bezier(.2,.75,.2,1);
  transition-delay: var(--delay, 0ms);
}
.motion-ready .reveal-on-scroll.from-left { transform: translate3d(-55px, 0, 0); }
.motion-ready .reveal-on-scroll.from-right { transform: translate3d(55px, 0, 0); }
.motion-ready .reveal-on-scroll.in-view { opacity: 1; transform: translate3d(0, 0, 0); }
.drink-card.reveal-on-scroll::before { opacity: .2; transform: scale(.92); transition: opacity .8s ease, transform 1s cubic-bezier(.2,.75,.2,1); }
.drink-card.reveal-on-scroll.in-view::before { opacity: 1; transform: scale(1); }
.drink-card { isolation: isolate; }
.drink-card > * { position: relative; z-index: 2; }
.drink-card::after {
  background: linear-gradient(125deg, transparent 30%, rgba(255,255,255,.08) 48%, transparent 62%);
  translate: -120% 0;
  transition: translate .75s ease;
}
.drink-card:hover::after { translate: 120% 0; }
.service-list article { transition: padding-left .35s ease, background .35s ease; }
.service-list article:hover { padding-left: 18px; background: linear-gradient(90deg, rgba(215,182,107,.12), transparent 72%); }
.quote form { box-shadow: 0 28px 70px rgba(0,0,0,.24); }
.quote input, .quote select { transition: border-color .25s ease, padding-left .25s ease; }
.quote input:focus, .quote select:focus { padding-left: 8px; }

.floating-whatsapp {
  position: fixed;
  z-index: 80;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 9px 9px 18px;
  border: 1px solid #d7b66b99;
  border-radius: 999px;
  background: rgba(5, 44, 32, .94);
  color: #fff;
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  font-size: .86rem;
  font-weight: 600;
  transition: transform .25s ease, background .25s ease;
}
.floating-whatsapp b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--green);
}
.floating-whatsapp:hover { transform: translateY(-4px); background: #0b523d; }

@keyframes hero-in { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }
@keyframes line-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes bob { 50% { transform: translateY(7px); } }
@keyframes button-shine { 0%,65% { translate: -130% 0; } 88%,100% { translate: 130% 0; } }
@keyframes band-shine { 0%, 58% { translate: -180% 0; } 100% { translate: 500% 0; } }

@media (max-width: 850px) {
  .floating-whatsapp { padding: 8px 8px 8px 15px; right: 12px; bottom: 12px; }
  .service-list article:hover { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .marquee-track { animation-duration: 30s !important; animation-iteration-count: infinite !important; }
  .motion-ready .reveal-on-scroll { opacity: 1; transform: none; }
  .hero-media img { transform: none; }
}

/* Carregamento personalizado JIM */
.jim-loader{position:fixed;inset:0;z-index:3000;display:grid;place-content:center;justify-items:center;gap:16px;padding:24px;background:radial-gradient(circle at 50% 35%,#0c4937,#031c15 65%);color:#f5ead0;text-align:center;transition:opacity .4s ease,visibility .4s ease}.jim-loader img{width:min(245px,62vw);filter:drop-shadow(0 18px 40px #0008);animation:loader-rise .7s ease both}.jim-loader p{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.loader-dots{display:flex;gap:8px}.loader-dots i{width:7px;height:7px;border-radius:50%;background:#d7b66b;animation:loader-dot 1s ease-in-out infinite}.loader-dots i:nth-child(2){animation-delay:.14s}.loader-dots i:nth-child(3){animation-delay:.28s}.loading{overflow:hidden}.loader-done .jim-loader{opacity:0;visibility:hidden;pointer-events:none}@keyframes loader-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes loader-dot{0%,100%{opacity:.28;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}

.floating-whatsapp.is-hidden{opacity:0;visibility:hidden;transform:translateY(130%);pointer-events:none}
@media(max-width:520px){.floating-whatsapp{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px);font-size:.82rem}.floating-whatsapp b{width:32px;height:32px}}

/* Loader v33: logo integrada ao fundo, sem efeito de adesivo. */
.jim-loader{background:linear-gradient(160deg,#073426 0%,#031f17 58%,#021810 100%)}
.jim-loader img{width:min(220px,56vw);filter:none;opacity:.96;animation:loader-natural .9s ease-out both}
@keyframes loader-natural{from{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:.96;transform:scale(1) translateY(0)}}
