/* ---------- Neon exclusivity banner ---------- */
.neon-bar { background:#0a0a0a; overflow:hidden; position:relative; min-height:104px; display:flex; align-items:center; justify-content:center; padding:0.5rem 1rem; }
.neon-bar__slide {
  position:absolute; opacity:0; text-align:center; font-family: var(--font-heading); font-weight:700;
  font-size:1.5rem; line-height:1.35; letter-spacing:0.02em; color:#fff2c4;
  text-shadow: 0 0 6px #C9A227, 0 0 18px #C9A227, 0 0 36px #C9A227, 0 0 60px #a8841c;
  transition: opacity 1.2s ease; padding: 0 1rem;
}
.neon-bar__slide--active { opacity:1; position:relative; animation: neon-flicker 3.5s infinite; }
@keyframes neon-flicker { 0%,100% { opacity:1; } 92% { opacity:1; } 93% { opacity:0.6; } 94% { opacity:1; } }

.neon-bar__slide.neon-pink { color:#ffd6f0; text-shadow: 0 0 6px #ff4dd8, 0 0 18px #ff4dd8, 0 0 36px #ff4dd8, 0 0 60px #d61ea3; }
.neon-bar__slide.neon-blue { color:#cfe0ff; text-shadow: 0 0 6px #3d7bff, 0 0 18px #3d7bff, 0 0 36px #3d7bff, 0 0 60px #1a4fd6; }
.neon-bar__slide.neon-orange { color:#ffe0c2; text-shadow: 0 0 6px #ff9d33, 0 0 18px #ff9d33, 0 0 36px #ff9d33, 0 0 60px #d6790f; }
.neon-bar__slide.neon-emerald { color:#c8ffe0; text-shadow: 0 0 6px #2be87a, 0 0 18px #2be87a, 0 0 36px #2be87a, 0 0 60px #1ab857; }
.neon-bar__slide.neon-gold { color:#fff2c4; text-shadow: 0 0 6px #C9A227, 0 0 18px #C9A227, 0 0 36px #C9A227, 0 0 60px #a8841c; }
.neon-bar__slide.neon-cyan { color:#d6fff2; text-shadow: 0 0 6px #4dffb8, 0 0 18px #4dffb8, 0 0 36px #4dffb8, 0 0 60px #1ed687; }

/* ---------- Neon scrolling ticker (Option B, runs beneath the crossfade) ---------- */
.neon-bar--multi { padding: 28px 0; background:#0a0a0a; overflow:hidden; }
.neon-bar__track {
  display:inline-block; white-space:nowrap; font-family: var(--font-heading); font-weight:700; font-size:1.5rem; letter-spacing:0.03em;
  animation: neon-scroll 42s linear infinite;
  color:#d6fbff; text-shadow: 0 0 5px #4dd8ff, 0 0 15px #4dd8ff, 0 0 30px #1ea3d6;
}
.neon-bar__track .neon-pink { color:#ffd6f0; text-shadow: 0 0 5px #ff4dd8, 0 0 15px #ff4dd8, 0 0 30px #d61ea3; }
.neon-bar__track .neon-blue { color:#cfe0ff; text-shadow: 0 0 5px #3d7bff, 0 0 15px #3d7bff, 0 0 30px #1a4fd6; }
.neon-bar__track .neon-orange { color:#ffe0c2; text-shadow: 0 0 5px #ff9d33, 0 0 15px #ff9d33, 0 0 30px #d6790f; }
.neon-bar__track .neon-emerald { color:#c8ffe0; text-shadow: 0 0 5px #2be87a, 0 0 15px #2be87a, 0 0 30px #1ab857; }
@keyframes neon-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ---------- Header ---------- */
.site-header { background: var(--color-charcoal); position: sticky; top: 0; z-index: 100; }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1.25rem; gap: 1rem; }
.site-header__inner--no-logo { justify-content: space-between; }
.site-logo img { max-height: 48px; }
.site-logo__text { color: var(--color-offwhite); font-family: var(--font-heading); font-weight: 700; font-size: 1.1rem; letter-spacing: 0.02em; }

.site-nav__list { list-style: none; display: flex; gap: 1.5rem; margin: 0; padding: 0; }
.site-nav__list a { color: var(--color-slate-light); font-family: var(--font-heading); font-weight: 500; font-size: 0.95rem; }
.site-nav__list a:hover { color: var(--color-gold); }

.header-contact { display: flex; align-items: center; gap: 1rem; }
.header-contact__item { color: var(--color-offwhite); font-size: 1.1rem; display: flex; align-items: center; gap: 0.4em; }
.header-contact__item:hover { color: var(--color-gold); }

.mobile-menu-toggle { display: none; background: none; border: none; color: var(--color-offwhite); font-size: 1.5rem; cursor: pointer; }

@media (max-width: 860px) {
  .site-nav { display: none; }
  .mobile-menu-toggle { display: block; }
}

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 620px; display: flex; align-items: center; overflow: hidden; }
.hero__slides { position: absolute; inset: 0; }
.hero__slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.2s ease-in-out; }
.hero__slide--active { opacity: 1; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(34,35,37,0.75) 0%, rgba(34,35,37,0.55) 50%, rgba(34,35,37,0.85) 100%); }
.hero__content { position: relative; z-index: 2; padding: 3rem 1.25rem; max-width: 900px; margin: 0 auto; }
.hero__content--centered { text-align: center; }
.hero__content h1 { color: var(--color-offwhite); }
.hero__headline-gold { color: var(--color-gold); font-weight: 700; text-shadow: 0 2px 10px rgba(0,0,0,0.6); }
.hero__subhead { color: var(--color-slate-light); font-size: 1.1rem; max-width: 620px; margin-left: auto; margin-right: auto; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; justify-content: center; }

.hero__brand-row { display:flex; align-items:center; justify-content:center; gap:2.5rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.hero__logo { width: 150px; height: auto; margin: 0; filter: drop-shadow(0 4px 14px rgba(0,0,0,0.5)); }
.hero__contact-item { display:flex; align-items:center; gap:0.5rem; font-family: var(--font-heading); font-weight:700; font-size:1.5rem; white-space:nowrap; }
.hero__contact-item i { font-size:1.3rem; }
.hero__contact-item--phone { color:#c8ffe0; text-shadow: 0 0 6px #2be87a, 0 0 18px #2be87a, 0 0 36px #2be87a, 0 0 55px #1ab857; }
.hero__contact-item--email { color:#cfe0ff; text-shadow: 0 0 6px #3d7bff, 0 0 18px #3d7bff, 0 0 36px #3d7bff, 0 0 55px #1a4fd6; font-size:1.25rem; }

@media (max-width: 720px) {
  .hero__brand-row { gap:1rem; }
  .hero__contact-item { font-size:1.1rem; }
  .hero__contact-item--email { font-size:0.95rem; }
  .hero__logo { order:-1; flex-basis:100%; margin-bottom:0.5rem; }
}

/* ---------- Owner montage ---------- */
.owner-montage { padding: 3rem 0 0; background: var(--color-offwhite); }
.owner-montage__img { width: 100%; border-radius: 12px; display: block; }

/* ---------- Section heading ---------- */
.section-heading { text-align: center; margin-bottom: 0.5rem; }
.results__intro { text-align: center; color: var(--color-charcoal-light); margin-bottom: 2rem; }

/* ---------- Services ---------- */
.services { padding: 4rem 0; position: relative; background-size: cover; background-position: center; }
.services__heading-row { display: flex; align-items: center; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.services__title { margin: 0; }
.services__badge-group { display: flex; gap: 0.7rem; align-items: center; }
.services__badge-group .platform-chip { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; background: rgba(250,250,249,0.95); border-radius: 10px; box-shadow: 0 3px 10px rgba(0,0,0,0.15); }

@media (max-width: 620px) {
  .services__heading-row { gap: 1rem; }
  .services__badge-group .platform-chip { width: 42px; height: 42px; }
}

.services__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 2rem; }
.service-card {
  position: relative; background-size: cover; background-position: center;
  border-radius: 12px; padding: 1.75rem 1.25rem; min-height: 260px;
  display: flex; flex-direction: column; justify-content: flex-end;
  color: var(--color-offwhite);
}
.service-card__platform-icons { position: absolute; top: 1.25rem; left: 1.25rem; right: 1.25rem; display: flex; gap: 0.7rem; align-items: center; flex-wrap: wrap; }
.service-card__platform-icons .platform-chip { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; background: rgba(250,250,249,0.95); border-radius: 10px; box-shadow: 0 3px 10px rgba(0,0,0,0.35); }
.service-card__icon { font-size:1.6rem; color:var(--color-gold); margin-bottom:.5rem; }
.service-card h3 { color: var(--color-gold); font-weight: 700; font-size: 1.05rem; text-transform: uppercase; letter-spacing: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.service-card p { color: var(--color-slate-light); font-size: 0.9rem; margin: 0; }

@media (max-width: 960px) { .services__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .services__grid { grid-template-columns: 1fr; } }

/* ---------- Local search copy ---------- */
.local-search { padding: 3rem 0; background: var(--color-card-bg); text-align: center; }
.local-search__copy { max-width: 780px; margin: 0 auto; color: var(--color-charcoal); }
.local-search__copy em { color: var(--color-red); font-style: normal; font-weight: 600; }

/* ---------- Exclusivity band ---------- */
.exclusivity { background: var(--color-charcoal); padding: 3.5rem 0; text-align: center; }
.exclusivity__icon { font-size: 2.5rem; color: var(--color-gold); margin-bottom: 0.75rem; }
.exclusivity h2 { color: var(--color-gold); }
.exclusivity p { color: var(--color-slate-light); max-width: 640px; margin: 0 auto; }

/* ---------- Results carousel ---------- */
.results { padding: 4rem 0; background: var(--color-offwhite); }
.results-carousel { position: relative; max-width: 900px; margin: 0 auto; }
.results-carousel__track { position: relative; border-radius: 12px; overflow: hidden; border: 1px solid #e5e3dc; background: #fff; min-height: 340px; }
.results-carousel__slide { display: none; }
.results-carousel__slide--active { display: block; }
.results-carousel__slide img { width: 100%; display: block; }
.results-carousel__caption { text-align: center; padding: 0.75rem; font-family: var(--font-heading); font-weight: 600; color: var(--color-gold); background: var(--color-charcoal); }
.results-carousel__arrow { position: absolute; top: 40%; transform: translateY(-50%); background: rgba(34,35,37,0.75); color: var(--color-offwhite); border: none; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; }
.results-carousel__arrow--prev { left: 12px; }
.results-carousel__arrow--next { right: 12px; }
.results-carousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 1rem; }
.results-carousel__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--color-slate); border: none; cursor: pointer; padding: 0; }
.results-carousel__dot--active { background: var(--color-gold); }

/* ---------- Testimonials ---------- */
.testimonials { padding: 4rem 0; background: var(--color-card-bg); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.testimonial-card { background: var(--color-offwhite); border-radius: 12px; padding: 1.5rem; margin: 0; border-left: 4px solid var(--color-red); }
.testimonial-card p { font-style: italic; margin-bottom: 0.75rem; }
.testimonial-card footer { font-size: 0.85rem; color: var(--color-charcoal-light); font-weight: 600; }

@media (max-width: 860px) { .testimonials__grid { grid-template-columns: 1fr; } }

/* ---------- Consultation CTA + form ---------- */
.consult-cta { padding: 4rem 0; background: var(--color-charcoal); }
.consult-cta__inner { display: grid; grid-template-columns: 0.85fr 1.4fr; gap: 3rem; align-items: center; }
.consult-cta__text h2 { color: var(--color-gold); font-size: 2.4rem; }
.consult-cta__text p { color: var(--color-slate-light); font-size: 1.15rem; }
.consult-cta__contact-links { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 1rem; }
.consult-cta__checklist { list-style: none; margin: 2rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.consult-cta__checklist li { color: var(--color-slate-light); font-size: 1.05rem; display: flex; align-items: flex-start; gap: 0.6rem; }
.consult-cta__checklist i { color: var(--color-gold); font-size: 1.2rem; margin-top: 0.15rem; flex-shrink: 0; }
.consult-form { background: var(--color-offwhite); border-radius: 12px; padding: 2rem; display: flex; flex-direction: column; gap: 1.1rem; }
.consult-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.consult-form label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.95rem; font-weight: 600; color: var(--color-charcoal); }
.consult-form input, .consult-form textarea {
  font-family: var(--font-body); font-size: 1rem; padding: 0.75rem 0.85rem;
  border: 1px solid #d8d5cc; border-radius: 6px; font-weight: 400;
}
.consult-form__submit { align-self: flex-start; margin-top: 0.3rem; font-size: 1.05rem; padding: 0.9em 1.7em; }
.consult-form__note { font-size: 0.8rem; color: var(--color-slate); margin: 0; }

@media (max-width: 860px) {
  .consult-cta__inner { grid-template-columns: 1fr; }
  .consult-form__row { grid-template-columns: 1fr; }
}

/* ---------- Footer ---------- */
.site-footer { background: var(--color-charcoal); color: var(--color-slate-light); padding: 3rem 0 1rem; }
.site-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--color-charcoal-light); }
.site-logo__text--footer { color: var(--color-offwhite); font-family: var(--font-heading); font-weight: 700; font-size: 1.1rem; }
.site-footer__tagline { font-size: 0.9rem; margin-top: 0.5rem; max-width: 260px; }
.site-footer__nav-list { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; margin: 0; padding: 0; }
.site-footer__nav-list a { color: var(--color-slate-light); }
.site-footer__social { display: flex; flex-direction: column; gap: 0.6rem; }
.site-footer__social-label { font-size: 0.9rem; color: var(--color-slate-light); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.site-footer__social-icons { display: flex; gap: 1.1rem; flex-wrap: wrap; }
.site-footer__social-icons a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--color-charcoal-light); border-radius: 8px; transition: background 0.15s ease; }
.site-footer__social-icons a:hover { background: var(--color-gold); }
.site-footer__social-icons i { font-size: 22px; color: var(--color-slate-light); }
.site-footer__social-icons a:hover i { color: var(--color-charcoal); }
.site-footer__contact { display: flex; flex-direction: column; gap: 0.5rem; }
.site-footer__contact a { color: var(--color-slate-light); display: flex; align-items: center; gap: 0.4em; }
.site-footer__bottom { padding-top: 1.25rem; font-size: 0.8rem; text-align: center; color: var(--color-slate); }

/* ---------- Sticky mobile contact bar ---------- */
.sticky-contact-bar { display: none; }
@media (max-width: 860px) {
  .sticky-contact-bar {
    display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
    background: var(--color-charcoal); border-top: 1px solid var(--color-charcoal-light);
  }
  .sticky-contact-bar__item {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 0.6rem 0; color: var(--color-offwhite); font-size: 0.7rem;
    background: none; border: none; cursor: pointer; font-family: var(--font-body);
  }
  .sticky-contact-bar__item i { font-size: 1.2rem; }
  .sticky-contact-bar__item--chat { color: var(--color-gold); }
  body { padding-bottom: 60px; }
}

/* ---------- Generic page ---------- */
.page-content { padding: 3rem 0; max-width: 820px; margin: 0 auto; }
