html { scroll-behavior: smooth; }
body { margin: 0; background: #10140F; }
a { color: #C9A356; }
a:hover { color: #E8C87E; }

@keyframes tickerScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes marqueePulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation: none !important; }
}

/* ---- hover states (from design style-hover attributes) ---- */
.navlink:hover { color: var(--gold, #D9AE5F) !important; }
.btn-gold:hover { background: #E8C87E !important; color: #10140F !important; }
.btn-hero:hover { box-shadow: 0 0 64px rgba(217,174,95,0.6) !important; }
.link-underline:hover { color: var(--gold, #D9AE5F) !important; }
.card-aud:hover { transform: translateY(-6px); box-shadow: 0 28px 56px -24px rgba(23,26,21,0.35); border-color: #3E5C43 !important; }
.tile-inv { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.tile-inv:hover { transform: translateY(-5px); box-shadow: 0 24px 48px -22px rgba(23,26,21,0.3); }
.co-cell:hover { background: rgba(217,174,95,0.07); }
.faq-q:hover { color: #3E5C43; }

/* ---- quote form fields ---- */
.qf {
  box-sizing: border-box; min-width: 0; width: 100%;
  font-family: Figtree, sans-serif; font-size: 15px; padding: 13px 15px;
  border: 1px solid rgba(217,174,95,0.3); border-radius: 9px;
  background: rgba(244,242,234,0.06); color: #F4F2EA;
}
.qf::placeholder { color: #8F8B79; }
.qf:focus { outline: 2px solid rgba(217,174,95,0.5); outline-offset: 0; }
.qf.qf-error { border-color: #C96A56; }

/* ---- responsive ---- */
@media (max-width: 860px) {
  .topnav { display: none !important; }
  .hide-mobile { display: none !important; }
}
@media (max-width: 760px) {
  .grid-2col { grid-template-columns: 1fr !important; }
  .sticky-col { position: static !important; }
}

/* =============================================================
   IMAGE SLOTS — when a generated/real photo is ready, add a rule
   here. The placeholder pattern + label hide automatically when
   a background-image is set via the [data-slot] rules below.
   Example:
   [data-slot="inv-tents"] { background: url("assets/img/inv-tents.jpg") center / cover no-repeat !important; }
   [data-slot="inv-tents"] .slot-label { display: none; }
   ============================================================= */

[data-slot="hero-before"] { background: url("assets/img/hero-before.jpg") center / cover no-repeat !important; }
[data-slot="hero-before"] .slot-label { display: none; }
[data-slot="hero-after"] { background: url("assets/img/hero-after-v2.jpg") center / cover no-repeat !important; }
[data-slot="hero-after"] .slot-label { display: none; }

[data-slot="reveal-lot-before"] { background: url("assets/img/reveal-lot-before.jpg") center / cover no-repeat !important; }
[data-slot="reveal-lot-before"] .slot-label { display: none; }
[data-slot="reveal-lot-after"] { background: url("assets/img/reveal-lot-after.jpg") center / cover no-repeat !important; }
[data-slot="reveal-lot-after"] .slot-label { display: none; }
[data-slot="reveal-yard-before"] { background: url("assets/img/reveal-yard-before.jpg") center / cover no-repeat !important; }
[data-slot="reveal-yard-before"] .slot-label { display: none; }
[data-slot="reveal-yard-after"] { background: url("assets/img/reveal-yard-after.jpg") center / cover no-repeat !important; }
[data-slot="reveal-yard-after"] .slot-label { display: none; }

[data-slot="inv-tents"] { background: url("assets/img/inv-tents.jpg") center / cover no-repeat !important; }
[data-slot="inv-tents"] .slot-label { display: none; }
[data-slot="inv-tables"] { background: url("assets/img/inv-tables.jpg") center / cover no-repeat !important; }
[data-slot="inv-tables"] .slot-label { display: none; }
[data-slot="inv-hmu"] { background: url("assets/img/inv-hmu.jpg") center / cover no-repeat !important; }
[data-slot="inv-hmu"] .slot-label { display: none; }
[data-slot="inv-greenroom"] { background: url("assets/img/inv-greenroom.jpg") center / cover no-repeat !important; }
[data-slot="inv-greenroom"] .slot-label { display: none; }
[data-slot="inv-climate"] { background: url("assets/img/inv-climate.jpg") center / cover no-repeat !important; }
[data-slot="inv-climate"] .slot-label { display: none; }
[data-slot="inv-power"] { background: url("assets/img/inv-power.jpg") center / cover no-repeat !important; }
[data-slot="inv-power"] .slot-label { display: none; }
[data-slot="inv-restroom"] { background: url("assets/img/inv-restroom.jpg") center / cover no-repeat !important; }
[data-slot="inv-restroom"] .slot-label { display: none; }
[data-slot="inv-catering"] { background: url("assets/img/inv-catering.jpg") center / cover no-repeat !important; }
[data-slot="inv-catering"] .slot-label { display: none; }
