:root { --navy:#0A2A43; --ocean:#0E6BA8; --turq:#2BB3C0; --teal:#0E9AA7; }

html { scrollbar-width: thin; scrollbar-color: rgba(14,154,167,.6) transparent; }

/* Lenis — Lenis çalışırken native smooth scroll kapalı olmalı */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

body { background:#fff; color:var(--navy); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
::selection { background:rgba(43,179,192,.25); }

/* ---------- typography ---------- */
.script-lg { font-family:'Ephesis', cursive; line-height:1.05; }
.eyebrow   { font-family:'Ephesis', cursive; font-size:clamp(1.6rem,2.4vw,2.1rem); color:var(--teal); }
.h-display { letter-spacing:-0.01em; }
.kicker    { letter-spacing:.32em; text-transform:uppercase; font-weight:500; }

/* ---------- glass ---------- */
.glass {
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid rgba(255,255,255,.65);
}
.glass-dark {
  background:rgba(10,42,67,.35);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border:1px solid rgba(255,255,255,.22);
}

/* ---------- buttons ---------- */
.btn { position:relative; overflow:hidden; transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s, background-color .35s, color .35s; will-change:transform; }
.btn::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform:translateX(-120%); transition:transform .7s ease; }
.btn:hover { transform:translateY(-2px); box-shadow:0 16px 34px -14px rgba(14,107,168,.55); }
.btn:hover::after { transform:translateX(120%); }
.btn:active { transform:translateY(0); }

/* ---------- cards ---------- */
.card-lift { transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s; will-change:transform; }
.card-lift:hover { transform:translateY(-8px); box-shadow:0 40px 80px -32px rgba(10,42,67,.32); }
.img-zoom img { transition:transform 1.1s cubic-bezier(.22,1,.36,1); will-change:transform; }
.img-zoom:hover img { transform:scale(1.06); }

/* ---------- nav ---------- */
#nav { transition:background-color .45s ease, box-shadow .45s ease, padding .45s ease; }
/* Menü kaydırıldığında (ve iç sayfalarda) lacivert kalır — beyaz logo ve
   beyaz menü yazıları her zaman net görünür. */
#nav.scrolled { background:rgba(10,42,67,.90); backdrop-filter:blur(16px) saturate(1.4); -webkit-backdrop-filter:blur(16px) saturate(1.4); box-shadow:0 10px 40px -18px rgba(10,42,67,.5); }

.site-logo { display:block; }
.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; left:0; bottom:-6px; height:1.5px; width:100%; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .4s cubic-bezier(.22,1,.36,1); }
.nav-link:hover::after, .nav-link[aria-current="page"]::after { transform:scaleX(1); transform-origin:left; }

/* ---------- floating ---------- */
@keyframes floaty { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-14px) } }
@keyframes floaty-s { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-8px) } }
.floaty   { animation:floaty 7s ease-in-out infinite; }
.floaty-s { animation:floaty-s 5s ease-in-out infinite; }

/* ---------- image reveal ---------- */
.reveal-img { clip-path:inset(0 0 100% 0); }
.reveal-img.no-anim { clip-path:none; }

/* ---------- destination slider ---------- */
#dest-track { scroll-snap-type:x mandatory; scrollbar-width:none; }
#dest-track::-webkit-scrollbar { display:none; }
.dest-card { scroll-snap-align:center; }

/* ---------- stars ---------- */
.star { color:#F4B23E; }

/* ---------- preloader ---------- */
#loader { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; background:#fff; transition:opacity .8s ease, visibility .8s; }
#loader.done { opacity:0; visibility:hidden; }
.loader-wave { stroke-dasharray:240; stroke-dashoffset:240; animation:drawwave 1.6s ease forwards infinite alternate; }
@keyframes drawwave { to { stroke-dashoffset:0; } }

/* route line */
.route-path { stroke-dasharray:6 10; }

/* focus */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline:2px solid var(--teal); outline-offset:3px; border-radius:6px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  html { scroll-behavior:auto; }
  .reveal-img { clip-path:none; }
}
