/* R3: local refinements; desktop composition and copy remain the approved base. */
.hero-primary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #D9AF9D;
  box-shadow: 0 4px 14px rgba(27,21,20,.16), inset 0 1px rgba(255,255,255,.28);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
  touch-action: manipulation;
}
.hero-primary:hover {
  transform: none;
  border-color: #E7C7B9;
  box-shadow: 0 6px 18px rgba(27,21,20,.2), inset 0 1px rgba(255,255,255,.38);
}
.hero-primary > * { position: relative; z-index: 1; }
.hero-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-110%) skewX(-18deg);
  background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.17) 50%, transparent 80%);
  pointer-events: none;
}
.cta-arrow { flex-shrink: 0; transition: transform .3s cubic-bezier(.2,.6,.3,1); }
.menu-video-toggle {
  min-height: 44px;
  text-align: left;
  color: var(--color-terracotta);
  font-size: .8rem;
  text-decoration: underline;
  text-underline-offset: 4px;
  padding: .4rem 0;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hero-primary:hover::before { transform: translateX(110%) skewX(-18deg); transition: transform .65s ease; }
  .hero-primary:hover .cta-arrow { transform: translateX(2px); }
}
@media (max-width: 767px) {
  .hero-content { text-align: center; margin-inline: auto; max-width: 370px; }
  .hero-tag { justify-content: center; }
  .hero-lead { margin-inline: auto; max-width: 340px; }
  .hero-cta-group { align-items: center; }
  .hero-trust-badges { justify-content: center; }
  .hero-primary { min-height: 52px; }
  .hero-primary:active { transform: scale(.985); box-shadow: 0 2px 8px rgba(27,21,20,.2); }
  .hero-primary:hover { background: linear-gradient(135deg,#E0A96D 0%,#C58F7C 100%); }
  .hero-section .video-toggle { display: none !important; }
  .hero-overlay {
    background: linear-gradient(180deg, rgba(27,21,20,.3) 0%, rgba(27,21,20,.02) 25%, rgba(27,21,20,.08) 44%, rgba(27,21,20,.84) 65%, rgba(27,21,20,.96) 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-primary::before { display: none; }
  .hero-primary:active, .hero-primary:hover .cta-arrow { transform: none; }
}
