/* Recep Gökdemir — ortak özel stiller */
body { font-feature-settings: "ss01","cv01"; }

.grain {
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 0);
  background-size: 22px 22px;
}

.link-underline {
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1.5px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size .3s ease;
}
.link-underline:hover { background-size: 100% 1.5px; }

[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
[data-reveal].in { opacity: 1; transform: none; }

/* WhatsApp yüzen buton */
.wa-fab {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .7rem .95rem;
  border-radius: 999px;
  background: #1d5c44;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 10px 30px rgba(7,27,21,.35);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.wa-fab:hover { transform: translateY(-2px); background: #174a38; box-shadow: 0 14px 36px rgba(7,27,21,.45); }
.wa-fab .wa-text { max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; transition: max-width .35s ease, opacity .25s ease; }
.wa-fab:hover .wa-text { max-width: 12rem; opacity: 1; }
.wa-fab .wa-icon { position: relative; display: grid; place-items: center; }
.wa-pulse { position: absolute; inset: -6px; border-radius: 999px; background: rgba(201,163,90,.45); animation: waPulse 2.2s ease-out infinite; z-index: -1; }
@keyframes waPulse { 0% { transform: scale(.8); opacity: .7; } 100% { transform: scale(1.8); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { transition: none; opacity: 1; transform: none; }
  .wa-pulse { animation: none; }
}
