/* enhance.css — premium layer (Jordon-approved design direction, 2026-10-20)
   Surgical: adds motion + conversion elements without touching existing layout. */

:root {
  --enh-navy: #0D1B4C;
  --enh-gold: #C8A24A;
}

/* --- Hover-lift on interactive cards/links (subtle, premium) --- */
a.btn-gold, a.btn-outline, .card, [data-reveal] {
  transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.3, 1), box-shadow 0.3s ease;
}
@media (hover:hover) and (pointer:fine) {
  a.btn-gold:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(200,162,74,0.35); }
  .card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(13,27,76,0.18); }
}

/* --- Line-mask text reveal (headings) — hidden ONLY when JS is active (html.js class), no-JS fallback safe --- */
.line-reveal { display: block; overflow: hidden; padding-bottom: 0.08em; }
html.js .line-reveal > span { display: block; transform: translateY(112%); transition: transform 0.9s cubic-bezier(0.2, 0.6, 0.3, 1); will-change: transform; }
.line-reveal.in-view > span, html.js .line-reveal.in-view > span { transform: translateY(0); }

/* --- AI badge (hero differentiator) --- */
.ai-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px; margin-bottom: 24px;
  border: 1px solid var(--enh-gold); border-radius: 999px;
  background: rgba(200,162,74,0.12); color: #fff;
  font-size: 0.85rem; font-weight: 600; letter-spacing: 0.03em;
  text-decoration: none; cursor: pointer;
}
.ai-badge:hover { background: rgba(200,162,74,0.22); transform: translateY(-2px); }
.ai-badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--enh-gold); animation: ai-pulse 2s ease-in-out infinite; }
@keyframes ai-pulse { 0%,100% { opacity: 1; transform: scale(1);} 50% { opacity: 0.5; transform: scale(0.8);} }

/* --- Sticky mobile CTA bar (mobile only) --- */
.sticky-cta-mobile { display: none; }
@media (max-width: 768px) {
  .sticky-cta-mobile {
    display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(13,27,76,0.95); backdrop-filter: blur(8px);
    border-top: 1px solid rgba(200,162,74,0.3); gap: 10px;
  }
  .sticky-cta-mobile a { flex: 1; text-align: center; padding: 12px 8px; font-weight: 700; font-size: 0.9rem; border-radius: 6px; text-decoration: none; }
  .sticky-cta-mobile .cta-call { background: var(--enh-gold); color: #0D1B4C; }
  .sticky-cta-mobile .cta-quote { border: 2px solid var(--enh-gold); color: #fff; padding: 10px 8px; }
}

/* --- Reduced motion: kill all enhancement animations, keep content visible --- */
@media (prefers-reduced-motion: reduce) {
  .line-reveal > span { transform: none !important; transition: none !important; }
  .ai-badge .dot { animation: none; }
  a.btn-gold:hover, .card:hover { transform: none; box-shadow: none; }
}
