/* ======================================
   URAZ YAPI - Hero Pattern SVG (inline)
   This file provides extra animation classes
   ====================================== */

/* Pulse ring animation */
@keyframes pulseRing {
  0%   { transform: scale(.8); opacity: 1; }
  80%, 100% { transform: scale(2.2); opacity: 0; }
}
.pulse-ring {
  position: absolute; inset: -12px;
  border: 2px solid rgba(200,169,110,.6);
  border-radius: 50%;
  animation: pulseRing 2s cubic-bezier(.455,.03,.515,.955) infinite;
}
.pulse-ring-2 { animation-delay: .5s; }

/* Float up */
@keyframes floatUp {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-14px); }
}
.float-anim { animation: floatUp 5s ease-in-out infinite; }

/* Shimmer effect */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
.shimmer-text {
  background: linear-gradient(90deg, #c8a96e 30%, #fff 50%, #c8a96e 70%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 3s linear infinite;
}

/* Counter Number */
@keyframes countUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.count-ready { animation: countUp .6s ease forwards; }

/* Slide fade in */
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-50px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(50px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-40px); }
  to   { opacity: 1; transform: translateY(0); }
}

.anim-slide-left  { animation: slideInLeft  .8s ease forwards; }
.anim-slide-right { animation: slideInRight .8s ease forwards; }
.anim-fade-up     { animation: fadeInUp     .8s ease forwards; }
.anim-fade-down   { animation: fadeInDown   .8s ease forwards; }

.anim-delay-1 { animation-delay: .15s; }
.anim-delay-2 { animation-delay: .30s; }
.anim-delay-3 { animation-delay: .45s; }
.anim-delay-4 { animation-delay: .60s; }
.anim-delay-5 { animation-delay: .75s; }

/* Rotate */
@keyframes slowRotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.rotate-anim { animation: slowRotate 20s linear infinite; }

/* Border draw */
@keyframes borderDraw {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0 0 0 0); }
}
.border-draw { animation: borderDraw 1.2s ease forwards; }

/* Particle dots (hero decoration) */
.hero-particles {
  position: absolute; inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.particle {
  position: absolute;
  width: 3px; height: 3px;
  background: var(--secondary, #c8a96e);
  border-radius: 50%;
  opacity: .4;
  animation: particleDrift var(--dur, 12s) var(--delay, 0s) ease-in-out infinite alternate;
}
@keyframes particleDrift {
  from { transform: translate(0, 0) scale(1); opacity: .2; }
  to   { transform: translate(var(--tx, 40px), var(--ty, -60px)) scale(1.6); opacity: .6; }
}

/* Hero text reveal */
.hero-reveal {
  overflow: hidden;
}
.hero-reveal span {
  display: block;
  transform: translateY(100%);
  animation: heroReveal .9s cubic-bezier(.215,.61,.355,1) forwards;
}
@keyframes heroReveal {
  to { transform: translateY(0); }
}

/* Card hover glow */
.card-glow {
  transition: box-shadow .35s ease;
}
.card-glow:hover {
  box-shadow: 0 8px 40px rgba(200,169,110,.25), 0 2px 12px rgba(0,0,0,.1);
}

/* Underline grow */
.underline-grow {
  position: relative;
  display: inline-block;
}
.underline-grow::after {
  content: '';
  position: absolute;
  bottom: -3px; left: 0;
  width: 0; height: 2px;
  background: var(--secondary, #c8a96e);
  transition: width .35s ease;
}
.underline-grow:hover::after { width: 100%; }

/* Image tilt effect */
.tilt-hover {
  transition: transform .3s ease;
  transform-style: preserve-3d;
}
.tilt-hover:hover { transform: perspective(800px) rotateX(2deg) rotateY(-4deg) scale(1.02); }

/* Skeleton loading */
@keyframes skeletonShimmer {
  from { background-position: -200% 0; }
  to   { background-position:  200% 0; }
}
.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeletonShimmer 1.5s infinite;
  border-radius: 4px;
}

/* Smooth image hover zoom */
.img-zoom-wrap { overflow: hidden; border-radius: inherit; }
.img-zoom-wrap img { transition: transform .7s cubic-bezier(.4,0,.2,1); }
.img-zoom-wrap:hover img { transform: scale(1.08); }

/* Gold badge shine */
@keyframes badgeShine {
  0%   { background-position: -100% 0; }
  100% { background-position:  200% 0; }
}
.badge-shine {
  background: linear-gradient(90deg, #c8a96e 40%, #ffe8a3 55%, #c8a96e 70%);
  background-size: 200% auto;
  animation: badgeShine 2.5s linear infinite;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ══════════════════════════════════
   PREMIUM ANIMATION ADDITIONS
══════════════════════════════════════ */

/* Building rise from ground */
@keyframes buildingRise {
  from {
    transform: translateY(110%);
    opacity: 0;
  }
  60% { opacity: 1; }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Crane arm gentle sway */
@keyframes craneSwing {
  from { transform: rotate(-4deg); }
  to   { transform: rotate(4deg); }
}

/* Skyscraper beacon blink */
@keyframes blinkPulse {
  0%, 100% { opacity: 1; r: 2.5; }
  50%       { opacity: .15; r: 1.5; }
}

/* Marquee scrolling */
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Dashboard progress bar fill */
@keyframes dashbarFill {
  from { width: 0; }
  to   { width: var(--fill, 73%); }
}

/* Floating badge hover bob */
@keyframes floatBadge {
  from { transform: translateY(0px); }
  to   { transform: translateY(-10px); }
}

/* Section number ghost text */
@keyframes ghostAppear {
  from { opacity: 0; transform: translateX(-20px); }
  to   { opacity: 1; transform: translateX(0); }
}
.ghost-num {
  font-family: var(--font-display, 'Bebas Neue', Impact, sans-serif);
  font-size: 8rem;
  color: rgba(200,169,110,.06);
  position: absolute;
  top: -20px; right: -10px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* Text gradient gold */
.text-gold {
  background: linear-gradient(135deg, #c8a96e, #ffe8a3, #a88845);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Stagger children */
.stagger-children > * { opacity: 0; animation: fadeInUp .7s ease forwards; }
.stagger-children > *:nth-child(1) { animation-delay: .0s; }
.stagger-children > *:nth-child(2) { animation-delay: .1s; }
.stagger-children > *:nth-child(3) { animation-delay: .2s; }
.stagger-children > *:nth-child(4) { animation-delay: .3s; }
.stagger-children > *:nth-child(5) { animation-delay: .4s; }
.stagger-children > *:nth-child(6) { animation-delay: .5s; }

/* Progress bar animated entry */
.progress-bar-wrap {
  background: rgba(0,0,0,.08);
  border-radius: 10px;
  overflow: hidden;
  height: 8px;
  margin: 8px 0;
}
.progress-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--secondary, #c8a96e), var(--accent, #e05c1a));
  border-radius: 10px;
  animation: dashbarFill 1.8s cubic-bezier(.4,0,.2,1) 0.5s both;
}

/* Neon gold glow */
.glow-gold {
  text-shadow:
    0 0 10px rgba(200,169,110,.6),
    0 0 30px rgba(200,169,110,.3),
    0 0 60px rgba(200,169,110,.15);
}

/* Vertical text accent */
.vertical-tag {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--secondary, #c8a96e);
  opacity: .7;
}
