/* SELAM VAKFI - Ultra Effects */
body.is-loading { overflow: hidden; }
body.is-loaded { overflow-x: hidden; }
@media (hover:hover) and (pointer:fine) {
  body.is-loaded { cursor: auto; }
  body.is-loaded a, body.is-loaded button { cursor: pointer; }
  body.is-loaded input, body.is-loaded textarea { cursor: text; }
  body.is-loaded select { cursor: default; }
}
.preloader { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; transition: opacity .8s ease, visibility .8s ease; }
.preloader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-100%); }
.preloader__bg { position: absolute; inset: 0; background: linear-gradient(145deg,#0a3d2e,#0d5c3d,#1a7a4c); }
.preloader__inner { position: relative; z-index: 1; text-align: center; padding: 24px; }
.preloader__logo-wrap { position: relative; width: 100px; height: 100px; margin: 0 auto 24px; }
.preloader__logo { width: 100%; height: 100%; animation: preloaderPulse 2s ease-in-out infinite; }
.preloader__ring { position: absolute; inset: -12px; border: 2px solid transparent; border-top-color: #c9a227; border-right-color: rgba(201,162,39,.3); border-radius: 50%; animation: preloaderSpin 1.2s linear infinite; }
.preloader__name { display: block; font-size: 28px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.preloader__tag { display: block; font-size: 11px; color: #d4af37; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 32px; }
.preloader__bar { width: 220px; height: 3px; background: rgba(255,255,255,.15); border-radius: 4px; margin: 0 auto 12px; overflow: hidden; }
.preloader__progress { height: 100%; width: 0; background: linear-gradient(90deg,#c9a227,#e2c76b,#c9a227); background-size: 200% 100%; animation: shimmer 1.5s linear infinite; transition: width .3s ease; }
.preloader__percent { font-size: 13px; color: rgba(255,255,255,.6); }
@keyframes preloaderSpin { to { transform: rotate(360deg); } }
@keyframes preloaderPulse { 0%,100% { transform: scale(1); filter: drop-shadow(0 0 8px rgba(201,162,39,.4)); } 50% { transform: scale(1.06); filter: drop-shadow(0 0 20px rgba(201,162,39,.7)); } }
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.scroll-progress { position: fixed; top: 0; left: 0; height: 3px; width: 3%; background: linear-gradient(90deg,#c9a227,#d4af37,#2ea86a); z-index: 9999; box-shadow: 0 0 12px rgba(201,162,39,.5); transition: width 0.35s ease-out; }
body::-webkit-scrollbar-thumb { background-size: 100% 220%; animation: scrollbarShine 3s ease-in-out infinite alternate; }
@keyframes scrollbarShine { from { background-position: 0 0; } to { background-position: 0 100%; } }
.cursor-dot,.cursor-ring { position: fixed; pointer-events: none; z-index: 9998; border-radius: 50%; transform: translate(-50%,-50%); opacity: 0; transition: opacity .4s ease; }
body.is-loaded .cursor-dot,body.is-loaded .cursor-ring { opacity: 0; }
.cursor-dot { width: 8px; height: 8px; background: #c9a227; }
.cursor-ring { width: 40px; height: 40px; border: 1.5px solid rgba(201,162,39,.6); transition: width .35s cubic-bezier(.23,1,.32,1), height .35s cubic-bezier(.23,1,.32,1), border-color .3s ease, background .3s ease; }
.cursor-ring.is-hover { width: 60px; height: 60px; border-color: rgba(201,162,39,.9); background: rgba(201,162,39,.08); }
@media (hover:none),(pointer:coarse) { .cursor-dot,.cursor-ring { display: none !important; } }
.hero__particles { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.hero__orbs { position: absolute; inset: 0; overflow: hidden; z-index: 0; pointer-events: none; }
.hero__glow { position: absolute; top: 20%; left: 30%; width: 500px; height: 500px; background: radial-gradient(circle,rgba(201,162,39,.12),transparent 70%); border-radius: 50%; filter: blur(60px); animation: glowFloat 8s ease-in-out infinite; z-index: 0; }
.orb { position: absolute; border-radius: 50%; filter: blur(40px); animation: orbFloat 12s ease-in-out infinite; }
.orb--1 { width: 300px; height: 300px; background: rgba(201,162,39,.15); top: 10%; right: 10%; }
.orb--2 { width: 200px; height: 200px; background: rgba(46,168,106,.12); bottom: 20%; left: 5%; animation-delay: -4s; }
.orb--3 { width: 150px; height: 150px; background: rgba(212,175,55,.1); top: 50%; left: 50%; animation-delay: -8s; }
@keyframes orbFloat { 0%,100% { transform: translate(0,0) scale(1); } 33% { transform: translate(30px,-40px) scale(1.1); } 66% { transform: translate(-20px,20px) scale(.95); } }
@keyframes glowFloat { 0%,100% { transform: translate(0,0); opacity: .6; } 50% { transform: translate(40px,-30px); opacity: 1; } }
.hero__line { display: block; overflow: hidden; line-height: 1.15; }
.hero__word { display: inline-block; transform: translateY(110%); opacity: 0; }
.hero__word.highlight { background: linear-gradient(135deg,#d4af37,#e2c76b,#c9a227); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
@keyframes heroCardShine { 0%,42% { left: -70%; opacity: 0; } 52% { opacity: 1; } 68%,100% { left: 125%; opacity: 0; } }
@keyframes heroVerseTopFloat { 0%,100% { transform: translate3d(0,0,0) rotate(.4deg); } 28% { transform: translate3d(-12px,10px,0) rotate(-.7deg); } 64% { transform: translate3d(10px,-8px,0) rotate(.8deg); } }
@keyframes heroVerseMainFloat { 0%,100% { transform: translate(-50%,-50%) rotate(0); } 33% { transform: translate(calc(-50% + 10px),calc(-50% - 10px)) rotate(.6deg); } 68% { transform: translate(calc(-50% - 8px),calc(-50% + 8px)) rotate(-.4deg); } }
@keyframes heroVerseBottomFloat { 0%,100% { transform: translate3d(0,0,0) rotate(-.5deg); } 36% { transform: translate3d(12px,-12px,0) rotate(.8deg); } 72% { transform: translate3d(-10px,8px,0) rotate(-.6deg); } }
@keyframes heroVerseMobileFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.magnetic-btn { position: relative; overflow: hidden; }
.magnetic-btn span { position: relative; z-index: 1; }
.tilt-card { transform-style: preserve-3d; will-change: transform; transition: box-shadow .4s ease; }
.tilt-card:hover { box-shadow: 0 20px 60px rgba(0,0,0,.15); }
.glow-card { position: relative; }
.glow-card::before { content: ''; position: absolute; inset: -1px; border-radius: inherit; background: linear-gradient(135deg,rgba(201,162,39,.3),transparent,rgba(46,168,106,.2)); z-index: -1; opacity: 0; transition: opacity .5s ease; }
.glow-card:hover::before { opacity: 1; }
.reveal-up { opacity: 0; transform: translateY(60px); }
.reveal-left { opacity: 0; transform: translateX(-60px); }
.reveal-right { opacity: 0; transform: translateX(60px); }
.reveal-scale { opacity: 0; transform: scale(.85); }
.reveal-group .reveal-item { opacity: 0; transform: translateY(40px); }
.stagger-item { opacity: 0; transform: translateY(50px); }
.value-card { position: relative; overflow: hidden; }
.value-card::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle,rgba(201,162,39,.08),transparent 60%); opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.value-card:hover::after { opacity: 1; }
.value-card__icon { transition: transform .5s cubic-bezier(.23,1,.32,1); }
.value-card:hover .value-card__icon { transform: scale(1.15) rotate(5deg); }
.project-card { position: relative; overflow: hidden; }
.project-card::before { content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent); z-index: 2; transition: left .7s ease; pointer-events: none; }
.project-card:hover::before { left: 120%; }
.project-card__image { transition: transform .6s cubic-bezier(.23,1,.32,1); overflow: hidden; }
.project-card:hover .project-card__image { transform: scale(1.035); filter: saturate(1.08) contrast(1.04); }
.nav__link { position: relative; text-decoration: none; }
.nav__link::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg,#c9a227,#2ea86a);
  transform: translateX(-50%);
  transition: width .4s cubic-bezier(.23,1,.32,1), left .4s cubic-bezier(.23,1,.32,1);
  border-radius: 2px;
}
.nav__link:hover::after,
.nav__link:focus-visible::after {
  width: calc(100% - 32px);
  left: 50%;
}
.nav__link.active::after,
.nav__link.active:hover::after,
.nav__link.active:focus-visible::after {
  content: '';
  display: block;
  width: calc(100% - 32px);
  left: 50%;
  height: 2px;
}
.nav__link.active,
.nav__link.active:hover,
.nav__link.active:focus-visible {
  background: transparent;
  box-shadow: none;
  text-decoration: none;
  border-bottom: none;
}
.header {
  transform: none !important;
  opacity: 1 !important;
  transition: box-shadow var(--transition);
}
.header.is-visible {
  transform: none !important;
  opacity: 1 !important;
}
.stat:hover .stat__number { text-shadow: 0 0 20px rgba(212,175,55,.5); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { box-shadow: 0 0 0 3px rgba(34,139,82,.12), 0 4px 20px rgba(34,139,82,.08); }
.section-jump.visible { animation: scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100% { box-shadow: 0 4px 16px rgba(0,0,0,.1); } 50% { box-shadow: 0 4px 24px rgba(201,162,39,.4); } }
.toast { backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.1); }
.toast.show { animation: toastIn .5s cubic-bezier(.23,1,.32,1) forwards; }
@keyframes toastIn { 0% { opacity: 0; transform: translateX(-50%) translateY(30px) scale(.9); } 100% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
@media (max-width: 768px) {
  .reveal-left,
  .reveal-right {
    transform: translateY(44px);
  }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .preloader { display: none; }
  body.is-loading { overflow: auto; }
  .reveal-up,.reveal-left,.reveal-right,.reveal-scale,.reveal-item,.stagger-item,.hero__word { opacity: 1 !important; transform: none !important; }
}

