/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #000; }
::-webkit-scrollbar-thumb { background: #fedf3c; }
::selection { background: #fedf3c; color: #000; }

/* ===== FONTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }

/* ===== SCROLL ANIMATIONS ===== */
[data-animate] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-duration: 0.6s;
}
[data-animate="up"]    { transform: translateY(24px); }
[data-animate="right"] { transform: translateX(30px); }
[data-animate="left"]  { transform: translateX(-20px); }
[data-animate="fade"]  {}
[data-animate].visible { opacity: 1; transform: none; }
[data-delay="1"] { transition-delay: 0.1s; }
[data-delay="2"] { transition-delay: 0.2s; }
[data-delay="3"] { transition-delay: 0.3s; }
[data-delay="4"] { transition-delay: 0.4s; }
[data-delay="5"] { transition-delay: 0.5s; }
[data-delay="6"] { transition-delay: 0.6s; }
[data-delay="7"] { transition-delay: 0.7s; }
[data-delay="8"] { transition-delay: 0.8s; }

/* ===== HERO TEXT REVEAL ===== */
.hero-reveal-wrap { overflow: hidden; display: block; }
.hero-reveal { display: block; transform: translateY(100%); transition: transform 0.9s cubic-bezier(0.22,1,0.36,1); }
.hero-ready .hero-reveal { transform: translateY(0); }
.hero-ready [data-hd="1"] .hero-reveal { transition-delay: 0.5s; }
.hero-ready [data-hd="2"] .hero-reveal { transition-delay: 0.65s; }
.hero-ready [data-hd="3"] .hero-reveal { transition-delay: 0.8s; }
.hero-ready .hero-label { opacity: 1; transform: none; }
.hero-label { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s; }
.hero-ready .hero-stats { opacity: 1; transform: none; }
.hero-stats { opacity: 0; transform: translateY(24px); transition: opacity 0.8s ease 1.6s, transform 0.8s ease 1.6s; }
.hero-ready .hero-ctas { opacity: 1; transform: none; }
.hero-ctas { opacity: 0; transform: translateY(20px); transition: opacity 0.7s ease 1.3s, transform 0.7s ease 1.3s; }
.hero-ready .hero-sub { opacity: 1; transform: none; }
.hero-sub { opacity: 0; transform: translateY(20px); transition: opacity 0.7s ease 1.1s, transform 0.7s ease 1.1s; }
.top-line { transform-origin: left; transform: scaleX(0); transition: transform 1.4s cubic-bezier(0.22,1,0.36,1) 0.1s; }
.hero-ready .top-line { transform: scaleX(1); }

/* ===== 3D FLIP CARDS ===== */
.flip-card { perspective: 1200px; cursor: pointer; }
.flip-card-inner {
  position: relative; width: 100%; height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);
}
.flip-card:hover .flip-card-inner,
.flip-card.flipped .flip-card-inner { transform: rotateY(180deg); }
.flip-card-front, .flip-card-back {
  position: absolute; inset: 0;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.flip-card-back { transform: rotateY(180deg); }

/* ===== NAVBAR ===== */
#navbar { transition: background-color 0.3s ease; }
#navbar.scrolled { background-color: rgba(0,0,0,0.95); backdrop-filter: blur(8px); }
#mobile-menu { max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94); }

/* ===== ACCORDION ===== */
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.45s cubic-bezier(0.25,0.46,0.45,0.94); }
.accordion-content.open { max-height: 1000px; }

/* ===== MODALS ===== */
.modal-overlay {
  position: fixed; inset: 0; z-index: 50;
  display: flex; align-items: center; justify-content: center; padding: 1.5rem;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
}
.modal-overlay.open { opacity: 1; pointer-events: all; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.8); backdrop-filter: blur(4px); }
.modal-box { position: relative; transform: translateY(24px) scale(0.96); transition: transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94); }
.modal-overlay.open .modal-box { transform: translateY(0) scale(1); }

/* ===== LIGHTBOX ===== */
#lightbox { position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,0.97); display: none; flex-direction: column; }
#lightbox.open { display: flex; }

/* ===== CHAT WIDGET ===== */
#chat-widget {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 40;
  display: flex; flex-direction: column; align-items: flex-end; gap: 0.75rem;
  opacity: 0; transform: translateY(40px) scale(0.8); pointer-events: none;
  transition: opacity 0.4s, transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
#chat-widget.visible { opacity: 1; transform: none; pointer-events: all; }
#chat-bubble { display: none; animation: bubbleIn 0.2s ease forwards; }
#chat-bubble.open { display: block; }
@keyframes bubbleIn { from { opacity:0; transform: translateY(8px) scale(0.95); } to { opacity:1; transform: none; } }
@keyframes ping { 75%,100% { transform: scale(2); opacity: 0; } }
.chat-ping { animation: ping 1.5s cubic-bezier(0,0,0.2,1) infinite; }

/* ===== PARALLAX SHAPES ===== */
.parallax-shape { position: absolute; pointer-events: none; will-change: transform; }

/* ===== FILTERS ===== */
.filter-btn.active { background-color: #fedf3c; color: #000; border-color: #fedf3c; }

/* ===== PROSE BLOG ===== */
.prose-blog h2 { font-size:1.5rem; font-weight:900; margin:2rem 0 1rem; color:#fff; }
.prose-blog h3 { font-size:1.25rem; font-weight:700; margin:1.5rem 0 0.75rem; color:#fff; }
.prose-blog p { margin-bottom:1rem; color:#8d8d8d; line-height:1.75; }
.prose-blog a { color:#fedf3c; text-decoration:underline; }
.prose-blog ul, .prose-blog ol { margin:1rem 0 1rem 1.5rem; }
.prose-blog li { margin-bottom:0.5rem; color:#8d8d8d; }
.prose-blog img { max-width:100%; height:auto; margin:2rem 0; }
.prose-blog blockquote { border-left:3px solid #fedf3c; padding-left:1rem; margin:1.5rem 0; font-style:italic; color:#8d8d8d; }

/* ===== UTILITIES ===== */
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.tracking-tighter { letter-spacing: -0.05em; }

/* ===== TESTIMONIALS ===== */
.testimonial-slide { display: none; }
.testimonial-slide.active { display: grid; }
